ngx-tethys 19.0.16 → 19.1.0-next.1

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 (322) hide show
  1. package/CHANGELOG.md +31 -11
  2. package/README.md +0 -1
  3. package/action/action.component.d.ts +14 -23
  4. package/action/actions.component.d.ts +5 -7
  5. package/affix/affix.component.d.ts +9 -13
  6. package/alert/alert.component.d.ts +1 -1
  7. package/anchor/anchor-link.component.d.ts +8 -8
  8. package/anchor/anchor.component.d.ts +15 -21
  9. package/arrow-switcher/arrow-switcher.component.d.ts +15 -22
  10. package/autocomplete/autocomplete.component.d.ts +10 -17
  11. package/autocomplete/autocomplete.trigger.directive.d.ts +10 -18
  12. package/avatar/avatar-list/avatar-list.component.d.ts +8 -14
  13. package/avatar/avatar.component.d.ts +25 -39
  14. package/back-top/back-top.component.d.ts +9 -12
  15. package/badge/badge.component.d.ts +19 -59
  16. package/breadcrumb/breadcrumb.component.d.ts +15 -20
  17. package/button/button-group.component.d.ts +5 -12
  18. package/button/button-icon.component.d.ts +14 -27
  19. package/button/button.component.d.ts +17 -26
  20. package/calendar/calendar-header.component.d.ts +9 -8
  21. package/calendar/calendar.component.d.ts +16 -16
  22. package/card/card.component.d.ts +5 -11
  23. package/card/content.component.d.ts +3 -8
  24. package/card/header.component.d.ts +7 -8
  25. package/carousel/carousel.component.d.ts +22 -27
  26. package/cascader/cascader-li.component.d.ts +13 -21
  27. package/cascader/cascader-search-option.component.d.ts +8 -16
  28. package/cascader/cascader.component.d.ts +58 -80
  29. package/checkbox/checkbox.component.d.ts +2 -5
  30. package/collapse/collapse-item.component.d.ts +12 -19
  31. package/collapse/collapse.component.d.ts +6 -12
  32. package/collapse/collapse.token.d.ts +3 -3
  33. package/color-picker/color-picker-custom-panel.component.d.ts +5 -5
  34. package/color-picker/color-picker-panel.component.d.ts +7 -11
  35. package/color-picker/color-picker.component.d.ts +19 -35
  36. package/color-picker/parts/alpha/alpha.component.d.ts +8 -8
  37. package/color-picker/parts/hue/hue.component.d.ts +6 -6
  38. package/color-picker/parts/indicator/indicator.component.d.ts +4 -3
  39. package/color-picker/parts/inputs/inputs.component.d.ts +9 -9
  40. package/color-picker/parts/saturation/saturation.component.d.ts +9 -9
  41. package/comment/comment.component.d.ts +4 -5
  42. package/copy/copy.directive.d.ts +8 -9
  43. package/date-picker/abstract-picker.component.d.ts +8 -7
  44. package/date-picker/lib/calendar/calendar-footer.component.d.ts +2 -1
  45. package/date-picker/lib/popups/inner-popup.component.d.ts +2 -1
  46. package/date-picker/picker.component.d.ts +2 -1
  47. package/date-range/date-range.component.d.ts +2 -2
  48. package/dialog/body/dialog-body.component.d.ts +2 -6
  49. package/dialog/confirm/confirm.component.d.ts +2 -2
  50. package/dialog/footer/dialog-footer.component.d.ts +6 -9
  51. package/dialog/header/dialog-header.component.d.ts +9 -11
  52. package/divider/divider.component.d.ts +12 -16
  53. package/dot/dot.component.d.ts +5 -13
  54. package/drag-drop/drag-handle.directive.d.ts +2 -1
  55. package/drag-drop/drag.directive.d.ts +2 -1
  56. package/drag-drop/drop-container.directive.d.ts +2 -1
  57. package/dropdown/dropdown-active.directive.d.ts +4 -5
  58. package/dropdown/dropdown-menu-item.directive.d.ts +7 -14
  59. package/dropdown/dropdown-menu.component.d.ts +6 -12
  60. package/dropdown/dropdown-submenu.component.d.ts +2 -4
  61. package/dropdown/dropdown.directive.d.ts +14 -24
  62. package/empty/empty.component.d.ts +21 -27
  63. package/fesm2022/ngx-tethys-action.mjs +63 -101
  64. package/fesm2022/ngx-tethys-action.mjs.map +1 -1
  65. package/fesm2022/ngx-tethys-affix.mjs +40 -41
  66. package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
  67. package/fesm2022/ngx-tethys-anchor.mjs +91 -118
  68. package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
  69. package/fesm2022/ngx-tethys-arrow-switcher.mjs +51 -77
  70. package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
  71. package/fesm2022/ngx-tethys-autocomplete.mjs +69 -103
  72. package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
  73. package/fesm2022/ngx-tethys-avatar.mjs +117 -162
  74. package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
  75. package/fesm2022/ngx-tethys-back-top.mjs +33 -46
  76. package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
  77. package/fesm2022/ngx-tethys-badge.mjs +104 -208
  78. package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
  79. package/fesm2022/ngx-tethys-breadcrumb.mjs +66 -70
  80. package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
  81. package/fesm2022/ngx-tethys-button.mjs +225 -322
  82. package/fesm2022/ngx-tethys-button.mjs.map +1 -1
  83. package/fesm2022/ngx-tethys-calendar.mjs +85 -87
  84. package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
  85. package/fesm2022/ngx-tethys-card.mjs +72 -77
  86. package/fesm2022/ngx-tethys-card.mjs.map +1 -1
  87. package/fesm2022/ngx-tethys-carousel.mjs +83 -99
  88. package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
  89. package/fesm2022/ngx-tethys-cascader.mjs +313 -468
  90. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  91. package/fesm2022/ngx-tethys-checkbox.mjs +10 -17
  92. package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
  93. package/fesm2022/ngx-tethys-collapse.mjs +66 -71
  94. package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
  95. package/fesm2022/ngx-tethys-color-picker.mjs +187 -246
  96. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  97. package/fesm2022/ngx-tethys-comment.mjs +16 -10
  98. package/fesm2022/ngx-tethys-comment.mjs.map +1 -1
  99. package/fesm2022/ngx-tethys-copy.mjs +25 -28
  100. package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
  101. package/fesm2022/ngx-tethys-dialog.mjs +81 -82
  102. package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
  103. package/fesm2022/ngx-tethys-divider.mjs +49 -58
  104. package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
  105. package/fesm2022/ngx-tethys-dot.mjs +45 -68
  106. package/fesm2022/ngx-tethys-dot.mjs.map +1 -1
  107. package/fesm2022/ngx-tethys-dropdown.mjs +155 -203
  108. package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
  109. package/fesm2022/ngx-tethys-empty.mjs +107 -95
  110. package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
  111. package/fesm2022/ngx-tethys-flexible-text.mjs +67 -86
  112. package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
  113. package/fesm2022/ngx-tethys-form.mjs +161 -200
  114. package/fesm2022/ngx-tethys-form.mjs.map +1 -1
  115. package/fesm2022/ngx-tethys-fullscreen.mjs +21 -23
  116. package/fesm2022/ngx-tethys-fullscreen.mjs.map +1 -1
  117. package/fesm2022/ngx-tethys-grid.mjs +161 -158
  118. package/fesm2022/ngx-tethys-grid.mjs.map +1 -1
  119. package/fesm2022/ngx-tethys-i18n.mjs +25 -25
  120. package/fesm2022/ngx-tethys-i18n.mjs.map +1 -1
  121. package/fesm2022/ngx-tethys-icon.mjs +44 -59
  122. package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
  123. package/fesm2022/ngx-tethys-image.mjs +40 -36
  124. package/fesm2022/ngx-tethys-image.mjs.map +1 -1
  125. package/fesm2022/ngx-tethys-input-number.mjs +101 -114
  126. package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
  127. package/fesm2022/ngx-tethys-input.mjs +268 -271
  128. package/fesm2022/ngx-tethys-input.mjs.map +1 -1
  129. package/fesm2022/ngx-tethys-list.mjs +1 -1
  130. package/fesm2022/ngx-tethys-list.mjs.map +1 -1
  131. package/fesm2022/ngx-tethys-loading.mjs +17 -35
  132. package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
  133. package/fesm2022/ngx-tethys-mention.mjs +52 -74
  134. package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
  135. package/fesm2022/ngx-tethys-menu.mjs +106 -179
  136. package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
  137. package/fesm2022/ngx-tethys-nav.mjs +169 -201
  138. package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
  139. package/fesm2022/ngx-tethys-pagination.mjs +230 -294
  140. package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
  141. package/fesm2022/ngx-tethys-popover.mjs +67 -70
  142. package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
  143. package/fesm2022/ngx-tethys-progress.mjs +194 -246
  144. package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
  145. package/fesm2022/ngx-tethys-property.mjs +99 -113
  146. package/fesm2022/ngx-tethys-property.mjs.map +1 -1
  147. package/fesm2022/ngx-tethys-radio.mjs +60 -76
  148. package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
  149. package/fesm2022/ngx-tethys-rate.mjs +115 -157
  150. package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
  151. package/fesm2022/ngx-tethys-resizable.mjs +111 -157
  152. package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
  153. package/fesm2022/ngx-tethys-result.mjs +46 -28
  154. package/fesm2022/ngx-tethys-result.mjs.map +1 -1
  155. package/fesm2022/ngx-tethys-segment.mjs +84 -103
  156. package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
  157. package/fesm2022/ngx-tethys-skeleton.mjs +339 -342
  158. package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
  159. package/fesm2022/ngx-tethys-slide.mjs +37 -56
  160. package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
  161. package/fesm2022/ngx-tethys-slider.mjs +75 -108
  162. package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
  163. package/fesm2022/ngx-tethys-space.mjs +25 -51
  164. package/fesm2022/ngx-tethys-space.mjs.map +1 -1
  165. package/fesm2022/ngx-tethys-statistic.mjs +114 -151
  166. package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
  167. package/fesm2022/ngx-tethys-stepper.mjs +74 -107
  168. package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
  169. package/fesm2022/ngx-tethys-strength.mjs +52 -66
  170. package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
  171. package/fesm2022/ngx-tethys-switch.mjs +80 -140
  172. package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
  173. package/fesm2022/ngx-tethys-table.mjs +1 -1
  174. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  175. package/fesm2022/ngx-tethys-tabs.mjs +69 -87
  176. package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
  177. package/fesm2022/ngx-tethys-tag.mjs +42 -64
  178. package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
  179. package/fesm2022/ngx-tethys-timeline.mjs +104 -129
  180. package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
  181. package/fesm2022/ngx-tethys-transfer.mjs +98 -119
  182. package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
  183. package/fesm2022/ngx-tethys-tree-select.mjs +2 -4
  184. package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
  185. package/fesm2022/ngx-tethys-tree.mjs +281 -401
  186. package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
  187. package/fesm2022/ngx-tethys-typography.mjs +36 -33
  188. package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
  189. package/fesm2022/ngx-tethys-upload.mjs +93 -132
  190. package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
  191. package/fesm2022/ngx-tethys-util.mjs.map +1 -1
  192. package/fesm2022/ngx-tethys-vote.mjs +53 -99
  193. package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
  194. package/fesm2022/ngx-tethys-watermark.mjs +36 -40
  195. package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
  196. package/fesm2022/ngx-tethys.mjs +1 -1
  197. package/fesm2022/ngx-tethys.mjs.map +1 -1
  198. package/flexible-text/flexible-text.component.d.ts +9 -15
  199. package/form/form-group-error/form-group-error.component.d.ts +2 -3
  200. package/form/form-group-label.directive.d.ts +2 -1
  201. package/form/form-group.component.d.ts +17 -24
  202. package/form/form-submit.directive.d.ts +2 -2
  203. package/form/form.directive.d.ts +6 -8
  204. package/form/from-group-footer/form-group-footer.component.d.ts +2 -2
  205. package/form/validator/confirm-validator.directive.d.ts +2 -2
  206. package/form/validator/unique-validator.directive.d.ts +2 -2
  207. package/fullscreen/fullscreen.component.d.ts +7 -7
  208. package/grid/flex.d.ts +13 -20
  209. package/grid/thy-col.directive.d.ts +6 -9
  210. package/grid/thy-grid-item.component.d.ts +3 -4
  211. package/grid/thy-grid.component.d.ts +11 -12
  212. package/grid/thy-row.directive.d.ts +11 -14
  213. package/icon/icon.component.d.ts +10 -17
  214. package/image/image.directive.d.ts +10 -12
  215. package/image/image.token.d.ts +5 -5
  216. package/input/input-count.component.d.ts +4 -5
  217. package/input/input-group.component.d.ts +20 -20
  218. package/input/input-search.component.d.ts +15 -20
  219. package/input/input.component.d.ts +20 -21
  220. package/input/input.directive.d.ts +4 -6
  221. package/input-number/input-number.component.d.ts +21 -29
  222. package/layout/header.component.d.ts +4 -9
  223. package/layout/sidebar-header.component.d.ts +2 -1
  224. package/layout/sidebar.component.d.ts +8 -7
  225. package/list/list.component.d.ts +2 -1
  226. package/list/selection/selection-list.d.ts +4 -3
  227. package/loading/loading.component.d.ts +4 -10
  228. package/mention/mention.directive.d.ts +6 -7
  229. package/mention/suggestions/suggestions.component.d.ts +8 -9
  230. package/menu/group/menu-group.component.d.ts +16 -33
  231. package/menu/item/action/menu-item-action.component.d.ts +7 -8
  232. package/menu/item/icon/menu-item-icon.component.d.ts +2 -2
  233. package/menu/item/menu-item.component.d.ts +4 -4
  234. package/menu/item/name/menu-item-name.component.d.ts +2 -3
  235. package/menu/menu.component.d.ts +3 -7
  236. package/nav/icon-nav/icon-nav-link.directive.d.ts +3 -7
  237. package/nav/icon-nav/icon-nav.component.d.ts +3 -8
  238. package/nav/nav-ink-bar.directive.d.ts +4 -6
  239. package/nav/nav-item.directive.d.ts +7 -10
  240. package/nav/nav.component.d.ts +20 -48
  241. package/package.json +1 -1
  242. package/pagination/pagination.component.d.ts +48 -109
  243. package/popover/header/popover-header.component.d.ts +7 -6
  244. package/popover/popover.directive.d.ts +11 -18
  245. package/progress/progress-circle.component.d.ts +35 -26
  246. package/progress/progress-strip.component.d.ts +10 -14
  247. package/progress/progress.component.d.ts +16 -26
  248. package/property/examples/single/single.component.scss +6 -0
  249. package/property/properties.component.d.ts +6 -15
  250. package/property/property-item.component.d.ts +22 -34
  251. package/property/styles/properties.scss +124 -52
  252. package/property-operation/property-operation.component.d.ts +6 -5
  253. package/radio/button/radio-button.component.d.ts +2 -2
  254. package/radio/group/radio-group.component.d.ts +13 -16
  255. package/radio/radio.component.d.ts +2 -2
  256. package/radio/radio.token.d.ts +2 -2
  257. package/rate/rate-item.component.d.ts +8 -10
  258. package/rate/rate.component.d.ts +20 -30
  259. package/resizable/resizable.directive.d.ts +18 -36
  260. package/resizable/resize-handle.component.d.ts +6 -6
  261. package/resizable/resize-handles.component.d.ts +5 -8
  262. package/result/result.component.d.ts +9 -10
  263. package/schematics/version.d.ts +1 -1
  264. package/schematics/version.js +1 -1
  265. package/segment/segment-item.component.d.ts +9 -14
  266. package/segment/segment.component.d.ts +11 -14
  267. package/segment/segment.token.d.ts +4 -3
  268. package/select/custom-select/custom-select.component.d.ts +11 -10
  269. package/select/native-select/native-select.component.d.ts +2 -1
  270. package/shared/base-form-check.component.d.ts +3 -2
  271. package/shared/directives/thy-autofocus.directive.d.ts +3 -2
  272. package/shared/directives/thy-scroll.directive.d.ts +2 -1
  273. package/shared/directives/thy-show.d.ts +2 -1
  274. package/shared/option/group/option-group.component.d.ts +2 -1
  275. package/shared/option/list-option/list-option.component.d.ts +2 -7
  276. package/shared/option/option.component.d.ts +2 -1
  277. package/shared/select/select-control/select-control.component.d.ts +7 -6
  278. package/skeleton/skeleton-circle.component.d.ts +16 -19
  279. package/skeleton/skeleton-rectangle.component.d.ts +20 -23
  280. package/skeleton/skeleton.component.d.ts +5 -6
  281. package/skeleton/stylized/bullet-list.component.d.ts +11 -13
  282. package/skeleton/stylized/list.component.d.ts +10 -12
  283. package/skeleton/stylized/paragraph.component.d.ts +12 -14
  284. package/slide/slide-body/slide-body-section.component.d.ts +2 -5
  285. package/slide/slide-header/slide-header.component.d.ts +6 -9
  286. package/slider/slider.component.d.ts +17 -24
  287. package/space/space.component.d.ts +10 -16
  288. package/statistic/statistic.component.d.ts +35 -40
  289. package/stepper/step-header.component.d.ts +6 -10
  290. package/stepper/step.component.d.ts +6 -6
  291. package/stepper/stepper.component.d.ts +15 -20
  292. package/strength/strength.component.d.ts +8 -13
  293. package/switch/switch.component.d.ts +24 -35
  294. package/table/table-column.component.d.ts +6 -5
  295. package/table/table-skeleton.component.d.ts +3 -10
  296. package/table/table.component.d.ts +11 -10
  297. package/tabs/tab-content.component.d.ts +4 -4
  298. package/tabs/tab.component.d.ts +4 -5
  299. package/tabs/tabs.component.d.ts +13 -15
  300. package/tag/tag.component.d.ts +10 -16
  301. package/time-picker/time-picker-panel.component.d.ts +3 -2
  302. package/time-picker/time-picker.component.d.ts +6 -5
  303. package/timeline/timeline-item.component.d.ts +9 -13
  304. package/timeline/timeline.component.d.ts +13 -17
  305. package/tooltip/tooltip.directive.d.ts +3 -2
  306. package/transfer/transfer-list.component.d.ts +15 -15
  307. package/transfer/transfer.component.d.ts +20 -23
  308. package/tree/tree-abstract.d.ts +5 -5
  309. package/tree/tree-node.component.d.ts +24 -46
  310. package/tree/tree.class.d.ts +4 -4
  311. package/tree/tree.component.d.ts +47 -74
  312. package/tree/tree.service.d.ts +3 -4
  313. package/tree-select/tree-select.component.d.ts +10 -9
  314. package/typography/bg-color.directive.d.ts +3 -3
  315. package/typography/text/text.component.d.ts +2 -2
  316. package/typography/text-color.directive.d.ts +3 -3
  317. package/upload/file-drop.directive.d.ts +9 -11
  318. package/upload/file-select-base.d.ts +6 -10
  319. package/upload/file-select.component.d.ts +10 -20
  320. package/util/helpers/helpers.d.ts +2 -1
  321. package/vote/vote.component.d.ts +13 -32
  322. package/watermark/watermark.directive.d.ts +7 -9
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-tethys-dropdown.mjs","sources":["../../../src/dropdown/dropdown-menu.component.ts","../../../src/dropdown/dropdown.directive.ts","../../../src/dropdown/dropdown-menu-item.directive.ts","../../../src/dropdown/dropdown-submenu.component.ts","../../../src/dropdown/dropdown-active.directive.ts","../../../src/dropdown/module.ts","../../../src/dropdown/ngx-tethys-dropdown.ts"],"sourcesContent":["import { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Directive,\n HostBinding,\n Input,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { InputCssPixel } from 'ngx-tethys/core';\nimport { SafeAny } from 'ngx-tethys/types';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nexport type ThyDropdownMenuDividerType = 'default' | 'crossing' | '';\n\nexport const THY_DROPDOWN_DEFAULT_WIDTH = '240px';\n\n/**\n * @private\n */\n@Directive()\nexport class ThyDropdownAbstractMenu {\n @HostBinding('class.thy-dropdown-menu') addDropdownMenuClass = true;\n}\n\n/**\n * 下拉菜单组件\n * @name thy-dropdown-menu\n * @order 20\n */\n@Component({\n selector: 'thy-dropdown-menu',\n template: `\n @if (thyImmediateRender) {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n }\n <ng-template #dropdownMenu>\n <div class=\"thy-dropdown-menu\" [style.width]=\"thyWidth\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </ng-template>\n <ng-template #content>\n <ng-content></ng-content>\n </ng-template>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.thy-dropdown-menu]': 'thyImmediateRender',\n '[style.width]': \"thyImmediateRender ? thyWidth : ''\"\n },\n imports: [NgTemplateOutlet]\n})\nexport class ThyDropdownMenuComponent {\n get template() {\n return this.templateRef;\n }\n\n @ViewChild('dropdownMenu', { static: true }) templateRef!: TemplateRef<SafeAny>;\n\n /**\n * 设置菜单宽度\n * @default 240px\n */\n @Input()\n @InputCssPixel()\n thyWidth: number | string = THY_DROPDOWN_DEFAULT_WIDTH;\n\n /**\n * 是否直接渲染 dropdown-menu 中的元素\n * @default false\n */\n @Input({ transform: coerceBooleanProperty }) thyImmediateRender = false;\n\n constructor() {}\n}\n\n/**\n * 下拉菜单分组\n * @name thy-dropdown-menu-group\n * @order 50\n */\n@Component({\n selector: 'thy-dropdown-menu-group',\n template: `\n <div class=\"dropdown-menu-group-title\">{{ title }}</div>\n <ng-content></ng-content>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'dropdown-menu-group'\n }\n})\nexport class ThyDropdownMenuGroup {\n title: string;\n\n /**\n * 分组标题\n */\n @Input()\n set thyTitle(value: string) {\n this.title = value;\n }\n\n constructor() {}\n}\n\n/**\n * 下拉菜单分割线\n * @name thy-dropdown-menu-divider\n */\n@Component({\n selector: 'thy-dropdown-menu-divider',\n template: ` <!-- <div class=\"dropdown-menu-divider-title\">{{ title }}</div> --> `,\n host: {\n class: 'dropdown-menu-divider'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ThyDropdownMenuDivider {\n constructor() {}\n}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { ComponentType, OverlayRef } from '@angular/cdk/overlay';\nimport { Platform } from '@angular/cdk/platform';\nimport {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n OnInit,\n Output,\n TemplateRef,\n ViewContainerRef,\n numberAttribute,\n inject\n} from '@angular/core';\nimport { ComponentTypeOrTemplateRef, ThyOverlayDirectiveBase, ThyOverlayTrigger, ThyPlacement } from 'ngx-tethys/core';\nimport { ThyPopover, ThyPopoverConfig, ThyPopoverRef } from 'ngx-tethys/popover';\nimport { SafeAny } from 'ngx-tethys/types';\nimport { coerceArray, coerceBooleanProperty, helpers, isFunction, isTemplateRef } from 'ngx-tethys/util';\nimport { ThyDropdownMenuComponent } from './dropdown-menu.component';\n\nexport type ThyDropdownTrigger = 'click' | 'hover';\n\ntype ThyDropdownMenu = ThyDropdownMenuComponent | TemplateRef<SafeAny> | ComponentType<SafeAny>;\n\n/**\n * thyDropdown 触发下拉菜单指令\n * @name thyDropdown\n * @order 10\n */\n@Directive({\n selector: `[thyDropdown]`,\n host: {\n class: 'thy-dropdown'\n }\n})\nexport class ThyDropdownDirective extends ThyOverlayDirectiveBase implements OnInit {\n private viewContainerRef = inject(ViewContainerRef);\n private popover = inject(ThyPopover);\n\n menu!: ThyDropdownMenu;\n\n private popoverRef: ThyPopoverRef<unknown>;\n\n private innerPanelClassList: string[] = ['thy-dropdown-pane'];\n\n popoverOpened = false;\n\n /**\n * Dropdown 下拉菜单,支持 thy-dropdown-menu 组件、TemplateRef 和自定义菜单组件\n */\n @Input() set thyDropdownMenu(menu: ThyDropdownMenu) {\n this.menu = menu;\n }\n\n /**\n * Dropdown 下拉菜单组件,和 thyDropdownMenu 参与相同,快捷传下拉菜单组件参数\n */\n @Input() set thyDropdown(menu: ThyDropdownMenu) {\n this.menu = menu;\n }\n\n /**\n * 下拉菜单触发方式\n * @type 'hover' | 'focus' | 'click' | string\n * @default click\n */\n @Input() set thyTrigger(value: ThyOverlayTrigger | string) {\n this.trigger = value as ThyOverlayTrigger;\n }\n\n /**\n * 打开延迟毫秒\n * @default 100\n */\n @Input({ transform: numberAttribute })\n set thyShowDelay(value: number) {\n this.showDelay = value;\n }\n\n /**\n * 关闭延迟毫秒\n * @default 100\n */\n @Input({ transform: numberAttribute })\n set thyHideDelay(value: number) {\n this.hideDelay = value;\n }\n\n /**\n * 弹出菜单后的当前触发元素的激活样式类\n */\n @Input() thyActiveClass: string = 'thy-dropdown-origin-active';\n\n /**\n * 弹出框的参数,底层使用 Popover 组件, 默认为`{ placement: \"bottomLeft\", insideClosable: true, minWidth: \"240px\", outsideClosable: true }`\n * @default { placement: \"bottomLeft\", insideClosable: true, minWidth: \"240px\", outsideClosable: true }\n */\n @Input() thyPopoverOptions: Pick<ThyPopoverConfig, 'placement' | 'height' | 'insideClosable' | 'minWidth' | 'outsideClosable'>;\n\n /**\n * 弹出框的显示位置,会覆盖 thyPopoverOptions 中的 placement,`top` | `topLeft` | `topRight` | `bottom` | `bottomLeft` | `bottomRight` | `left` | `leftTop` | `leftBottom` | `right` | `rightTop` | `rightBottom`\n * @default bottomLeft\n */\n @Input() thyPlacement: ThyPlacement;\n\n /**\n * 点击 dropdown-menu 内部是否关闭弹出框,会覆盖 thyPopoverOptions 中的 insideClosable\n * @default true\n */\n @Input({ transform: coerceBooleanProperty }) thyMenuInsideClosable: boolean;\n\n /**\n * 弹出框 overlay panel 的类名\n * @type string | string[]\n */\n @Input() set thyPanelClass(value: string | string[]) {\n this.innerPanelClassList = this.innerPanelClassList.concat(coerceArray(value));\n }\n\n get thyPanelClass() {\n return this.innerPanelClassList;\n }\n\n /**\n * 菜单 Active 事件,打开菜单返回 true,关闭返回 false\n */\n @Output() thyActiveChange = new EventEmitter<boolean>();\n\n constructor() {\n const elementRef = inject(ElementRef);\n const platform = inject(Platform);\n const focusMonitor = inject(FocusMonitor);\n const ngZone = inject(NgZone);\n const changeDetectorRef = inject(ChangeDetectorRef);\n\n super(elementRef, platform, focusMonitor, ngZone, true, changeDetectorRef);\n }\n\n ngOnInit() {\n this.initialize();\n }\n\n createOverlay(): OverlayRef {\n let componentTypeOrTemplateRef: ComponentTypeOrTemplateRef<SafeAny>;\n if (this.menu && this.menu instanceof ThyDropdownMenuComponent) {\n componentTypeOrTemplateRef = this.menu.templateRef;\n } else if (isFunction(this.menu) || isTemplateRef(this.menu)) {\n componentTypeOrTemplateRef = this.menu as ComponentTypeOrTemplateRef<SafeAny>;\n }\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!componentTypeOrTemplateRef) {\n throw new Error(`thyDropdownMenu is required`);\n }\n }\n\n const { placement, height, insideClosable, outsideClosable, minWidth } = Object.assign(\n { placement: 'bottomLeft', insideClosable: true, outsideClosable: true },\n this.thyPopoverOptions\n );\n const config: ThyPopoverConfig = {\n origin: this.elementRef.nativeElement,\n hasBackdrop: false,\n viewContainerRef: this.viewContainerRef,\n offset: 0,\n panelClass: this.thyPanelClass,\n placement: this.thyPlacement ? this.thyPlacement : placement,\n height,\n outsideClosable,\n insideClosable: helpers.isUndefined(this.thyMenuInsideClosable) ? insideClosable : this.thyMenuInsideClosable,\n minWidth,\n originActiveClass: this.thyActiveClass\n };\n this.popoverRef = this.popover.open(componentTypeOrTemplateRef, config);\n this.popoverRef.afterOpened().subscribe(() => {\n this.thyActiveChange.emit(true);\n });\n this.popoverRef.afterClosed().subscribe(() => {\n this.popoverOpened = false;\n this.thyActiveChange.emit(false);\n });\n\n return this.popoverRef.getOverlayRef();\n }\n\n show(delay: number = this.showDelay) {\n if (this.hideTimeoutId) {\n clearTimeout(this.hideTimeoutId);\n this.hideTimeoutId = null;\n }\n\n if (this.disabled || (this.overlayRef && this.overlayRef.hasAttached())) {\n return;\n }\n if (this.trigger !== 'hover') {\n delay = 0;\n }\n\n this.showTimeoutId = setTimeout(() => {\n const overlayRef = this.createOverlay();\n this.overlayRef = overlayRef;\n this.popoverOpened = true;\n this.showTimeoutId = null;\n this.markForCheck();\n }, delay);\n }\n\n hide(delay: number = this.hideDelay) {\n if (this.showTimeoutId) {\n clearTimeout(this.showTimeoutId);\n this.showTimeoutId = null;\n }\n\n this.hideTimeoutId = setTimeout(() => {\n if (this.popoverRef) {\n this.popoverRef.close();\n }\n this.hideTimeoutId = null;\n this.markForCheck();\n }, delay);\n }\n}\n","import { Directive, HostBinding, Input, HostListener, ElementRef, OnInit, inject } from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime, shareReplay } from 'rxjs/operators';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nexport type ThyDropdownMenuItemType = 'default' | 'danger' | 'success' | '';\n\n/**\n * 菜单项\n * @name thyDropdownMenuItem\n * @order 30\n */\n@Directive({\n selector: '[thyDropdownMenuItem]'\n})\nexport class ThyDropdownMenuItemDirective implements OnInit {\n private elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n @HostBinding('class.dropdown-menu-item') className = true;\n\n @HostBinding('class.dropdown-menu-item--disabled') disabled = false;\n\n @HostBinding('class.dropdown-menu-item--danger') danger = false;\n\n @HostBinding('class.dropdown-menu-item--success') success = false;\n\n /**\n * 菜单项类型\n * @type 'default' | 'danger' | 'success' | ''\n * @default default\n */\n @Input()\n set thyType(value: ThyDropdownMenuItemType) {\n this[value] = true;\n }\n\n /**\n * 菜单项是否处于禁用状态\n * @default false\n */\n @Input({ transform: coerceBooleanProperty })\n set thyDisabled(value: boolean) {\n this.disabled = value;\n }\n\n @HostListener('click', ['$event'])\n onClick(event: Event): void {\n if (this.disabled) {\n event.stopPropagation();\n event.preventDefault();\n }\n }\n\n private hostRenderer = useHostRenderer();\n\n ngOnInit() {}\n\n updateClass(classes: string[]) {\n this.hostRenderer.updateClass(classes);\n }\n\n getElement() {\n return this.elementRef.nativeElement;\n }\n\n bindMouseenterEvent() {\n return fromEvent(this.elementRef.nativeElement, 'mouseenter').pipe(debounceTime(100), shareReplay());\n }\n}\n\n/**\n * 设置为菜单项图标\n * @name thyDropdownMenuItemIcon\n */\n@Directive({\n selector: '[thyDropdownMenuItemIcon]'\n})\nexport class ThyDropdownMenuItemIconDirective {\n @HostBinding('class.icon') className = true;\n\n constructor() {}\n}\n\n/**\n * 设置为菜单项名称\n * @name thyDropdownMenuItemName\n */\n@Directive({\n selector: '[thyDropdownMenuItemName]'\n})\nexport class ThyDropdownMenuItemNameDirective {\n @HostBinding('class.name') className = true;\n\n constructor() {}\n}\n\n/**\n * 设置为菜单项名称后的补充信息\n * @name thyDropdownMenuItemMeta\n */\n@Directive({\n selector: '[thyDropdownMenuItemMeta]'\n})\nexport class ThyDropdownMenuItemMetaDirective {\n @HostBinding('class.meta') className = true;\n\n constructor() {}\n}\n\n/**\n * 设置为菜单项的描述\n * @name thyDropdownMenuItemDesc\n */\n@Directive({\n selector: '[thyDropdownMenuItemDesc]'\n})\nexport class ThyDropdownMenuItemDescDirective {\n @HostBinding('class.desc') className = true;\n\n constructor() {}\n}\n\n/**\n * 菜单项的后置扩展图标,用于显示是否选中或者子菜单示意\n * @name thyDropdownMenuItemExtendIcon\n */\n@Directive({\n selector: '[thyDropdownMenuItemExtendIcon]'\n})\nexport class ThyDropdownMenuItemExtendIconDirective {\n @HostBinding('class.extend-icon') className = true;\n\n constructor() {}\n}\n\n/**\n * 菜单项是否激活指令\n * @name thyDropdownMenuItemActive\n * @order 70\n */\n@Directive({\n selector: '[thyDropdownMenuItemActive]'\n})\nexport class ThyDropdownMenuItemActiveDirective {\n /**\n * 是否激活\n * @type boolean | string\n * @default false\n */\n @HostBinding('class.active')\n @Input({ transform: coerceBooleanProperty })\n thyDropdownMenuItemActive: boolean;\n\n constructor() {}\n}\n","import { getElementOffset } from 'ngx-tethys/util';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, Input, OnInit, inject } from '@angular/core';\n\nimport { ThyDropdownMenuItemDirective } from './dropdown-menu-item.directive';\n\nexport type ThyDropdownSubmenuDirection = 'left' | 'right' | 'auto';\n\ntype InnerDropdownSubmenuDirection = ThyDropdownSubmenuDirection | 'leftBottom' | 'rightBottom';\n\nconst SUBMENU_CLASS_PREFIX = 'dropdown-submenu';\n\n/**\n * 下拉子菜单\n * @name thy-dropdown-submenu,[thyDropdownSubmenu]\n * @order 40\n */\n@Component({\n selector: '[thyDropdownSubmenu],thy-dropdown-submenu',\n template: '<ng-content></ng-content>',\n host: {\n class: 'dropdown-submenu'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ThyDropdownSubmenu implements OnInit {\n private dropdownMenuItem = inject(ThyDropdownMenuItemDirective);\n private elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n private readonly destroyRef = inject(DestroyRef);\n\n private direction: InnerDropdownSubmenuDirection = 'right';\n\n /**\n * 菜单方向\n * @type left | right | auto\n * @default right\n */\n @Input() set thyDirection(value: ThyDropdownSubmenuDirection) {\n this.direction = value;\n }\n\n ngOnInit(): void {\n let direction = this.direction || 'right';\n this.updateClassByDirection(direction);\n this.dropdownMenuItem\n .bindMouseenterEvent()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n if (this.direction === 'auto') {\n const element = this.dropdownMenuItem.getElement();\n const offset = getElementOffset(element);\n if (document.documentElement.clientWidth < offset.left + offset.width + offset.width) {\n direction = 'left';\n } else {\n direction = 'right';\n }\n this.updateClassByDirection(direction);\n }\n this.updateVerticalDirection(direction);\n });\n }\n\n private updateClassByDirection(direction: InnerDropdownSubmenuDirection) {\n this.dropdownMenuItem.updateClass([`${SUBMENU_CLASS_PREFIX}-${direction}`]);\n }\n\n private updateVerticalDirection(direction: InnerDropdownSubmenuDirection) {\n const submenuItems = this.elementRef.nativeElement.querySelectorAll('.dropdown-menu-item');\n if (submenuItems.length) {\n let submenuItemHeight = 0;\n submenuItems.forEach(item => (submenuItemHeight += item.clientHeight));\n if (\n document.documentElement.clientHeight - this.dropdownMenuItem.getElement().getBoundingClientRect().bottom <\n submenuItemHeight\n ) {\n direction = direction === 'left' ? 'leftBottom' : 'rightBottom';\n this.updateClassByDirection(direction);\n } else {\n this.updateClassByDirection(direction);\n }\n }\n }\n}\n","import { ContentChildren, Directive, ElementRef, Input, QueryList, AfterContentInit, OnInit, inject } from '@angular/core';\nimport { coerceArray } from 'ngx-tethys/util';\nimport { mergeMap, startWith } from 'rxjs/operators';\nimport { ThyDropdownDirective } from './dropdown.directive';\nimport { useHostRenderer } from '@tethys/cdk/dom';\n\n/**\n * 跟踪 Dropdown 菜单是否被打开处于激活状态,允许指定一个或多个CSS类,以便在菜单打开状态时添加到元素中\n * @name thyDropdownActive\n * @order 60\n */\n@Directive({\n selector: '[thyDropdownActive]'\n})\nexport class ThyDropdownActiveDirective implements OnInit, AfterContentInit {\n private elementRef = inject(ElementRef);\n private trigger = inject(ThyDropdownDirective, { optional: true });\n\n classes: string[];\n\n private hostRenderer = useHostRenderer();\n\n /**\n * 设置 Active 样式类,可以是一个或多个CSS类\n * @type string[] | string\n */\n @Input()\n set thyDropdownActive(data: string[] | string) {\n this.classes = coerceArray(data).filter(c => !!c);\n }\n\n /**\n * @private\n */\n @ContentChildren(ThyDropdownDirective, { descendants: true }) triggers!: QueryList<ThyDropdownDirective>;\n\n ngOnInit(): void {}\n\n ngAfterContentInit(): void {\n this.triggers.changes\n .pipe(\n startWith(this.triggers.toArray()),\n mergeMap((triggers: ThyDropdownDirective[]) => {\n const result = triggers.map(item => {\n return item.thyActiveChange;\n });\n this.trigger && result.push(this.trigger.thyActiveChange);\n return result;\n }),\n mergeMap(result => {\n return result;\n })\n )\n .subscribe(active => {\n this.update(active);\n });\n }\n\n update(active: boolean) {\n this.classes.forEach(className => {\n if (active) {\n this.hostRenderer.addClass(className);\n } else {\n this.hostRenderer.removeClass(className);\n }\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyPopoverModule } from 'ngx-tethys/popover';\nimport { ThyDropdownDirective } from './dropdown.directive';\nimport { ThyDropdownMenuComponent, ThyDropdownMenuDivider, ThyDropdownMenuGroup } from './dropdown-menu.component';\nimport {\n ThyDropdownMenuItemDirective,\n ThyDropdownMenuItemNameDirective,\n ThyDropdownMenuItemIconDirective,\n ThyDropdownMenuItemMetaDirective,\n ThyDropdownMenuItemDescDirective,\n ThyDropdownMenuItemExtendIconDirective,\n ThyDropdownMenuItemActiveDirective\n} from './dropdown-menu-item.directive';\nimport { ThyDropdownSubmenu } from './dropdown-submenu.component';\nimport { ThyDropdownActiveDirective } from './dropdown-active.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n ThyPopoverModule,\n ThyDropdownDirective,\n ThyDropdownActiveDirective,\n ThyDropdownMenuComponent,\n ThyDropdownSubmenu,\n ThyDropdownMenuGroup,\n ThyDropdownMenuDivider,\n ThyDropdownMenuItemDirective,\n ThyDropdownMenuItemNameDirective,\n ThyDropdownMenuItemIconDirective,\n ThyDropdownMenuItemMetaDirective,\n ThyDropdownMenuItemDescDirective,\n ThyDropdownMenuItemExtendIconDirective,\n ThyDropdownMenuItemActiveDirective\n ],\n exports: [\n ThyDropdownDirective,\n ThyDropdownActiveDirective,\n ThyDropdownMenuComponent,\n ThyDropdownSubmenu,\n ThyDropdownMenuGroup,\n ThyDropdownMenuDivider,\n ThyDropdownMenuItemDirective,\n ThyDropdownMenuItemNameDirective,\n ThyDropdownMenuItemIconDirective,\n ThyDropdownMenuItemMetaDirective,\n ThyDropdownMenuItemDescDirective,\n ThyDropdownMenuItemExtendIconDirective,\n ThyDropdownMenuItemActiveDirective\n ]\n})\nexport class ThyDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngx-tethys-dropdown.mjs","sources":["../../../src/dropdown/dropdown-menu.component.ts","../../../src/dropdown/dropdown.directive.ts","../../../src/dropdown/dropdown-menu-item.directive.ts","../../../src/dropdown/dropdown-submenu.component.ts","../../../src/dropdown/dropdown-active.directive.ts","../../../src/dropdown/module.ts","../../../src/dropdown/ngx-tethys-dropdown.ts"],"sourcesContent":["import { coerceCssPixelValue } from '@angular/cdk/coercion';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Directive,\n HostBinding,\n TemplateRef,\n ViewEncapsulation,\n input,\n viewChild\n} from '@angular/core';\nimport { SafeAny } from 'ngx-tethys/types';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\n\nexport type ThyDropdownMenuDividerType = 'default' | 'crossing' | '';\n\nexport const THY_DROPDOWN_DEFAULT_WIDTH = '240px';\n\n/**\n * @private\n */\n@Directive()\nexport class ThyDropdownAbstractMenu {\n @HostBinding('class.thy-dropdown-menu') addDropdownMenuClass = true;\n}\n\n/**\n * 下拉菜单组件\n * @name thy-dropdown-menu\n * @order 20\n */\n@Component({\n selector: 'thy-dropdown-menu',\n template: `\n @if (thyImmediateRender()) {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n }\n <ng-template #dropdownMenu>\n <div class=\"thy-dropdown-menu\" [style.width]=\"thyWidth()\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n </ng-template>\n <ng-template #content>\n <ng-content></ng-content>\n </ng-template>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.thy-dropdown-menu]': 'thyImmediateRender()',\n '[style.width]': \"thyImmediateRender() ? thyWidth() : ''\"\n },\n imports: [NgTemplateOutlet]\n})\nexport class ThyDropdownMenuComponent {\n readonly templateRef = viewChild.required<TemplateRef<SafeAny>>('dropdownMenu');\n\n /**\n * 设置菜单宽度\n */\n readonly thyWidth = input(THY_DROPDOWN_DEFAULT_WIDTH, { transform: coerceCssPixelValue });\n\n /**\n * 是否直接渲染 dropdown-menu 中的元素\n */\n readonly thyImmediateRender = input(false, { transform: coerceBooleanProperty });\n\n constructor() {}\n}\n\n/**\n * 下拉菜单分组\n * @name thy-dropdown-menu-group\n * @order 50\n */\n@Component({\n selector: 'thy-dropdown-menu-group',\n template: `\n <div class=\"dropdown-menu-group-title\">{{ thyTitle() }}</div>\n <ng-content></ng-content>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'dropdown-menu-group'\n }\n})\nexport class ThyDropdownMenuGroup {\n /**\n * 分组标题\n */\n readonly thyTitle = input<string>();\n\n constructor() {}\n}\n\n/**\n * 下拉菜单分割线\n * @name thy-dropdown-menu-divider\n */\n@Component({\n selector: 'thy-dropdown-menu-divider',\n template: ` <!-- <div class=\"dropdown-menu-divider-title\">{{ title }}</div> --> `,\n host: {\n class: 'dropdown-menu-divider'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ThyDropdownMenuDivider {\n constructor() {}\n}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { ComponentType, OverlayRef } from '@angular/cdk/overlay';\nimport { Platform } from '@angular/cdk/platform';\nimport {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n EventEmitter,\n NgZone,\n OnInit,\n Output,\n Signal,\n TemplateRef,\n ViewContainerRef,\n computed,\n effect,\n inject,\n input,\n numberAttribute\n} from '@angular/core';\nimport { ComponentTypeOrTemplateRef, ThyOverlayDirectiveBase, ThyOverlayTrigger, ThyPlacement } from 'ngx-tethys/core';\nimport { ThyPopover, ThyPopoverConfig, ThyPopoverRef } from 'ngx-tethys/popover';\nimport { SafeAny } from 'ngx-tethys/types';\nimport { coerceArray, coerceBooleanProperty, helpers, isFunction, isTemplateRef, isUndefinedOrNull } from 'ngx-tethys/util';\nimport { ThyDropdownMenuComponent } from './dropdown-menu.component';\n\nexport type ThyDropdownTrigger = 'click' | 'hover';\n\ntype ThyDropdownMenu = ThyDropdownMenuComponent | TemplateRef<SafeAny> | ComponentType<SafeAny>;\n\n/**\n * thyDropdown 触发下拉菜单指令\n * @name thyDropdown\n * @order 10\n */\n@Directive({\n selector: `[thyDropdown]`,\n host: {\n class: 'thy-dropdown'\n }\n})\nexport class ThyDropdownDirective extends ThyOverlayDirectiveBase implements OnInit {\n private viewContainerRef = inject(ViewContainerRef);\n private popover = inject(ThyPopover);\n\n readonly menu: Signal<ThyDropdownMenu> = computed(() => {\n return (this.thyDropdownMenu() || this.thyDropdown())!;\n });\n\n private popoverRef: ThyPopoverRef<unknown>;\n\n popoverOpened = false;\n\n /**\n * Dropdown 下拉菜单,支持 thy-dropdown-menu 组件、TemplateRef 和自定义菜单组件\n */\n readonly thyDropdownMenu = input<ThyDropdownMenu>();\n\n /**\n * Dropdown 下拉菜单组件,和 thyDropdownMenu 参与相同,快捷传下拉菜单组件参数\n */\n readonly thyDropdown = input<ThyDropdownMenu>();\n\n /**\n * 下拉菜单触发方式\n * @type 'hover' | 'focus' | 'click' | string\n * @default click\n */\n readonly thyTrigger = input<ThyOverlayTrigger | string>('click');\n\n /**\n * 打开延迟毫秒\n */\n readonly thyShowDelay = input(100, { transform: numberAttribute });\n\n /**\n * 关闭延迟毫秒\n */\n readonly thyHideDelay = input(100, { transform: numberAttribute });\n\n /**\n * 弹出菜单后的当前触发元素的激活样式类\n */\n readonly thyActiveClass = input<string, string>('thy-dropdown-origin-active', {\n transform: (value: string) => value || 'thy-dropdown-origin-active'\n });\n\n /**\n * 弹出框的参数,底层使用 Popover 组件, 默认为`{ placement: \"bottomLeft\", insideClosable: true, minWidth: \"240px\", outsideClosable: true }`\n */\n readonly thyPopoverOptions =\n input<Pick<ThyPopoverConfig, 'placement' | 'height' | 'insideClosable' | 'minWidth' | 'outsideClosable'>>();\n\n /**\n * 弹出框的显示位置,会覆盖 thyPopoverOptions 中的 placement,`top` | `topLeft` | `topRight` | `bottom` | `bottomLeft` | `bottomRight` | `left` | `leftTop` | `leftBottom` | `right` | `rightTop` | `rightBottom`\n */\n readonly thyPlacement = input<ThyPlacement, ThyPlacement>('bottomLeft', { transform: (value: ThyPlacement) => value || 'bottomLeft' });\n\n /**\n * 点击 dropdown-menu 内部是否关闭弹出框,会覆盖 thyPopoverOptions 中的 insideClosable\n */\n readonly thyMenuInsideClosable = input(true, { transform: coerceBooleanProperty });\n\n /**\n * 弹出框 overlay panel 的类名\n * @type string | string[]\n */\n readonly thyPanelClass = input<string | string[], string | string[]>(['thy-dropdown-pane'], {\n transform: (value: string | string[]) =>\n (!isUndefinedOrNull(value) && ['thy-dropdown-pane'].concat(coerceArray(value))) || ['thy-dropdown-pane']\n });\n\n /**\n * 菜单 Active 事件,打开菜单返回 true,关闭返回 false\n */\n @Output() thyActiveChange = new EventEmitter<boolean>();\n\n constructor() {\n const elementRef = inject(ElementRef);\n const platform = inject(Platform);\n const focusMonitor = inject(FocusMonitor);\n const ngZone = inject(NgZone);\n const changeDetectorRef = inject(ChangeDetectorRef);\n\n super(elementRef, platform, focusMonitor, ngZone, true, changeDetectorRef);\n\n // TODO: 以下为 overlay 基类中参数,之后需统一修改\n effect(() => {\n this.trigger = (this.thyTrigger() || 'click') as ThyOverlayTrigger;\n });\n effect(() => {\n this.hideDelay = this.thyHideDelay() ?? 100;\n });\n effect(() => {\n this.showDelay = this.thyShowDelay() ?? 100;\n });\n }\n\n ngOnInit() {\n this.initialize();\n }\n\n createOverlay(): OverlayRef {\n let componentTypeOrTemplateRef: ComponentTypeOrTemplateRef<SafeAny>;\n const menu = this.menu();\n if (menu && menu instanceof ThyDropdownMenuComponent) {\n componentTypeOrTemplateRef = menu?.templateRef();\n } else if (isFunction(menu) || isTemplateRef(menu)) {\n componentTypeOrTemplateRef = menu as ComponentTypeOrTemplateRef<SafeAny>;\n }\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!componentTypeOrTemplateRef) {\n throw new Error(`thyDropdownMenu is required`);\n }\n }\n\n const { placement, height, insideClosable, outsideClosable, minWidth } = Object.assign(\n { placement: 'bottomLeft', insideClosable: true, outsideClosable: true },\n this.thyPopoverOptions()\n );\n const thyPlacement = this.thyPlacement();\n const thyMenuInsideClosable = this.thyMenuInsideClosable();\n const config: ThyPopoverConfig = {\n origin: this.elementRef.nativeElement,\n hasBackdrop: false,\n viewContainerRef: this.viewContainerRef,\n offset: 0,\n panelClass: this.thyPanelClass(),\n placement: thyPlacement ? thyPlacement : placement,\n height,\n outsideClosable,\n insideClosable: helpers.isUndefined(thyMenuInsideClosable) ? insideClosable : thyMenuInsideClosable,\n minWidth,\n originActiveClass: this.thyActiveClass()\n };\n this.popoverRef = this.popover.open(componentTypeOrTemplateRef, config);\n this.popoverRef.afterOpened().subscribe(() => {\n this.thyActiveChange.emit(true);\n });\n this.popoverRef.afterClosed().subscribe(() => {\n this.popoverOpened = false;\n this.thyActiveChange.emit(false);\n });\n\n return this.popoverRef.getOverlayRef();\n }\n\n show(delay: number = this.showDelay) {\n if (this.hideTimeoutId) {\n clearTimeout(this.hideTimeoutId);\n this.hideTimeoutId = null;\n }\n\n if (this.disabled || (this.overlayRef && this.overlayRef.hasAttached())) {\n return;\n }\n if (this.trigger !== 'hover') {\n delay = 0;\n }\n\n this.showTimeoutId = setTimeout(() => {\n const overlayRef = this.createOverlay();\n this.overlayRef = overlayRef;\n this.popoverOpened = true;\n this.showTimeoutId = null;\n this.markForCheck();\n }, delay);\n }\n\n hide(delay: number = this.hideDelay) {\n if (this.showTimeoutId) {\n clearTimeout(this.showTimeoutId);\n this.showTimeoutId = null;\n }\n\n this.hideTimeoutId = setTimeout(() => {\n if (this.popoverRef) {\n this.popoverRef.close();\n }\n this.hideTimeoutId = null;\n this.markForCheck();\n }, delay);\n }\n}\n","import { Directive, ElementRef, HostBinding, HostListener, OnInit, computed, inject, input } from '@angular/core';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { coerceBooleanProperty } from 'ngx-tethys/util';\nimport { fromEvent } from 'rxjs';\nimport { debounceTime, shareReplay } from 'rxjs/operators';\n\nexport type ThyDropdownMenuItemType = 'default' | 'danger' | 'success' | '';\n\n/**\n * 菜单项\n * @name thyDropdownMenuItem\n * @order 30\n */\n@Directive({\n selector: '[thyDropdownMenuItem]',\n host: {\n class: 'dropdown-menu-item',\n '[class.dropdown-menu-item--disabled]': `thyDisabled()`,\n '[class.dropdown-menu-item--danger]': 'danger()',\n '[class.dropdown-menu-item--success]': 'success()'\n }\n})\nexport class ThyDropdownMenuItemDirective implements OnInit {\n private elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n readonly danger = computed(() => this.thyType() === 'danger' || false);\n\n readonly success = computed(() => this.thyType() === 'success' || false);\n\n /**\n * 菜单项类型\n * @type 'default' | 'danger' | 'success' | ''\n */\n readonly thyType = input<ThyDropdownMenuItemType>('default');\n\n /**\n * 菜单项是否处于禁用状态\n */\n readonly thyDisabled = input(false, { transform: coerceBooleanProperty });\n\n @HostListener('click', ['$event'])\n onClick(event: Event): void {\n if (this.thyDisabled()) {\n event.stopPropagation();\n event.preventDefault();\n }\n }\n\n private hostRenderer = useHostRenderer();\n\n ngOnInit() {}\n\n updateClass(classes: string[]) {\n this.hostRenderer.updateClass(classes);\n }\n\n getElement() {\n return this.elementRef.nativeElement;\n }\n\n bindMouseenterEvent() {\n return fromEvent(this.elementRef.nativeElement, 'mouseenter').pipe(debounceTime(100), shareReplay());\n }\n}\n\n/**\n * 设置为菜单项图标\n * @name thyDropdownMenuItemIcon\n */\n@Directive({\n selector: '[thyDropdownMenuItemIcon]'\n})\nexport class ThyDropdownMenuItemIconDirective {\n @HostBinding('class.icon') className = true;\n\n constructor() {}\n}\n\n/**\n * 设置为菜单项名称\n * @name thyDropdownMenuItemName\n */\n@Directive({\n selector: '[thyDropdownMenuItemName]'\n})\nexport class ThyDropdownMenuItemNameDirective {\n @HostBinding('class.name') className = true;\n\n constructor() {}\n}\n\n/**\n * 设置为菜单项名称后的补充信息\n * @name thyDropdownMenuItemMeta\n */\n@Directive({\n selector: '[thyDropdownMenuItemMeta]'\n})\nexport class ThyDropdownMenuItemMetaDirective {\n @HostBinding('class.meta') className = true;\n\n constructor() {}\n}\n\n/**\n * 设置为菜单项的描述\n * @name thyDropdownMenuItemDesc\n */\n@Directive({\n selector: '[thyDropdownMenuItemDesc]'\n})\nexport class ThyDropdownMenuItemDescDirective {\n @HostBinding('class.desc') className = true;\n\n constructor() {}\n}\n\n/**\n * 菜单项的后置扩展图标,用于显示是否选中或者子菜单示意\n * @name thyDropdownMenuItemExtendIcon\n */\n@Directive({\n selector: '[thyDropdownMenuItemExtendIcon]'\n})\nexport class ThyDropdownMenuItemExtendIconDirective {\n @HostBinding('class.extend-icon') className = true;\n\n constructor() {}\n}\n\n/**\n * 菜单项是否激活指令\n * @name thyDropdownMenuItemActive\n * @order 70\n */\n@Directive({\n selector: '[thyDropdownMenuItemActive]',\n host: {\n '[class.active]': `thyDropdownMenuItemActive()`\n }\n})\nexport class ThyDropdownMenuItemActiveDirective {\n /**\n * 是否激活\n * @type boolean | string\n */\n readonly thyDropdownMenuItemActive = input(false, { transform: coerceBooleanProperty });\n\n constructor() {}\n}\n","import { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { getElementOffset } from 'ngx-tethys/util';\n\nimport { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, OnInit, inject, input } from '@angular/core';\n\nimport { ThyDropdownMenuItemDirective } from './dropdown-menu-item.directive';\n\nexport type ThyDropdownSubmenuDirection = 'left' | 'right' | 'auto';\n\ntype InnerDropdownSubmenuDirection = ThyDropdownSubmenuDirection | 'leftBottom' | 'rightBottom';\n\nconst SUBMENU_CLASS_PREFIX = 'dropdown-submenu';\n\n/**\n * 下拉子菜单\n * @name thy-dropdown-submenu,[thyDropdownSubmenu]\n * @order 40\n */\n@Component({\n selector: '[thyDropdownSubmenu],thy-dropdown-submenu',\n template: '<ng-content></ng-content>',\n host: {\n class: 'dropdown-submenu'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ThyDropdownSubmenu implements OnInit {\n private dropdownMenuItem = inject(ThyDropdownMenuItemDirective);\n private elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n private readonly destroyRef = inject(DestroyRef);\n\n /**\n * 菜单方向\n * @type left | right | auto\n */\n readonly thyDirection = input<ThyDropdownSubmenuDirection, ThyDropdownSubmenuDirection>('right', {\n transform: (value: ThyDropdownSubmenuDirection) => {\n return value || 'right';\n }\n });\n\n ngOnInit(): void {\n let direction = this.thyDirection();\n this.updateClassByDirection(direction);\n this.dropdownMenuItem\n .bindMouseenterEvent()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n if (this.thyDirection() === 'auto') {\n const element = this.dropdownMenuItem.getElement();\n const offset = getElementOffset(element);\n if (document.documentElement.clientWidth < offset.left + offset.width + offset.width) {\n direction = 'left';\n } else {\n direction = 'right';\n }\n this.updateClassByDirection(direction);\n }\n this.updateVerticalDirection(direction);\n });\n }\n\n private updateClassByDirection(direction: InnerDropdownSubmenuDirection) {\n this.dropdownMenuItem.updateClass([`${SUBMENU_CLASS_PREFIX}-${direction}`]);\n }\n\n private updateVerticalDirection(direction: InnerDropdownSubmenuDirection) {\n const submenuItems = this.elementRef.nativeElement.querySelectorAll('.dropdown-menu-item');\n if (submenuItems.length) {\n let submenuItemHeight = 0;\n submenuItems.forEach(item => (submenuItemHeight += item.clientHeight));\n if (\n document.documentElement.clientHeight - this.dropdownMenuItem.getElement().getBoundingClientRect().bottom <\n submenuItemHeight\n ) {\n direction = direction === 'left' ? 'leftBottom' : 'rightBottom';\n this.updateClassByDirection(direction);\n } else {\n this.updateClassByDirection(direction);\n }\n }\n }\n}\n","import { AfterContentInit, ContentChildren, Directive, OnInit, QueryList, Signal, computed, inject, input } from '@angular/core';\nimport { useHostRenderer } from '@tethys/cdk/dom';\nimport { coerceArray } from 'ngx-tethys/util';\nimport { mergeMap, startWith } from 'rxjs';\nimport { ThyDropdownDirective } from './dropdown.directive';\n\n/**\n * 跟踪 Dropdown 菜单是否被打开处于激活状态,允许指定一个或多个CSS类,以便在菜单打开状态时添加到元素中\n * @name thyDropdownActive\n * @order 60\n */\n@Directive({\n selector: '[thyDropdownActive]'\n})\nexport class ThyDropdownActiveDirective implements OnInit, AfterContentInit {\n private trigger = inject(ThyDropdownDirective, { optional: true });\n\n readonly classes: Signal<string[]> = computed(() => {\n return coerceArray(this.thyDropdownActive()).filter(c => !!c);\n });\n\n private hostRenderer = useHostRenderer();\n\n /**\n * 设置 Active 样式类,可以是一个或多个CSS类\n * @type string[] | string\n */\n readonly thyDropdownActive = input<string[] | string>();\n\n /**\n * @private\n */\n @ContentChildren(ThyDropdownDirective, { descendants: true }) triggers!: QueryList<ThyDropdownDirective>;\n\n ngOnInit(): void {}\n\n ngAfterContentInit(): void {\n this.triggers.changes\n .pipe(\n startWith(this.triggers.toArray()),\n mergeMap((triggers: ThyDropdownDirective[]) => {\n const result = triggers.map(item => {\n return item.thyActiveChange;\n });\n this.trigger && result.push(this.trigger.thyActiveChange);\n return result;\n }),\n mergeMap(result => {\n return result;\n })\n )\n .subscribe(active => {\n this.update(active);\n });\n }\n\n update(active: boolean) {\n this.classes().forEach(className => {\n if (active) {\n this.hostRenderer.addClass(className);\n } else {\n this.hostRenderer.removeClass(className);\n }\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ThyPopoverModule } from 'ngx-tethys/popover';\nimport { ThyDropdownDirective } from './dropdown.directive';\nimport { ThyDropdownMenuComponent, ThyDropdownMenuDivider, ThyDropdownMenuGroup } from './dropdown-menu.component';\nimport {\n ThyDropdownMenuItemDirective,\n ThyDropdownMenuItemNameDirective,\n ThyDropdownMenuItemIconDirective,\n ThyDropdownMenuItemMetaDirective,\n ThyDropdownMenuItemDescDirective,\n ThyDropdownMenuItemExtendIconDirective,\n ThyDropdownMenuItemActiveDirective\n} from './dropdown-menu-item.directive';\nimport { ThyDropdownSubmenu } from './dropdown-submenu.component';\nimport { ThyDropdownActiveDirective } from './dropdown-active.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n ThyPopoverModule,\n ThyDropdownDirective,\n ThyDropdownActiveDirective,\n ThyDropdownMenuComponent,\n ThyDropdownSubmenu,\n ThyDropdownMenuGroup,\n ThyDropdownMenuDivider,\n ThyDropdownMenuItemDirective,\n ThyDropdownMenuItemNameDirective,\n ThyDropdownMenuItemIconDirective,\n ThyDropdownMenuItemMetaDirective,\n ThyDropdownMenuItemDescDirective,\n ThyDropdownMenuItemExtendIconDirective,\n ThyDropdownMenuItemActiveDirective\n ],\n exports: [\n ThyDropdownDirective,\n ThyDropdownActiveDirective,\n ThyDropdownMenuComponent,\n ThyDropdownSubmenu,\n ThyDropdownMenuGroup,\n ThyDropdownMenuDivider,\n ThyDropdownMenuItemDirective,\n ThyDropdownMenuItemNameDirective,\n ThyDropdownMenuItemIconDirective,\n ThyDropdownMenuItemMetaDirective,\n ThyDropdownMenuItemDescDirective,\n ThyDropdownMenuItemExtendIconDirective,\n ThyDropdownMenuItemActiveDirective\n ]\n})\nexport class ThyDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -2,12 +2,12 @@ import { ThyIcon, ThyIconModule } from 'ngx-tethys/icon';
2
2
  import { ThySharedModule } from 'ngx-tethys/shared';
3
3
  import { NgClass, NgTemplateOutlet, CommonModule } from '@angular/common';
4
4
  import * as i0 from '@angular/core';
5
- import { Injectable, inject, ElementRef, NgZone, ContentChild, Input, Component, NgModule } from '@angular/core';
6
- import { ThyTranslate } from 'ngx-tethys/core';
5
+ import { Injectable, inject, ElementRef, NgZone, input, contentChild, computed, effect, Component, NgModule } from '@angular/core';
7
6
  import { useHostRenderer } from '@tethys/cdk/dom';
7
+ import { ThyTranslate } from 'ngx-tethys/core';
8
8
  import { DomSanitizer } from '@angular/platform-browser';
9
- import { coerceBooleanProperty } from 'ngx-tethys/util';
10
9
  import { injectLocale } from 'ngx-tethys/i18n';
10
+ import { coerceBooleanProperty } from 'ngx-tethys/util';
11
11
 
12
12
  /**
13
13
  * @deprecated
@@ -266,51 +266,109 @@ class ThyEmpty {
266
266
  this.ngZone = inject(NgZone);
267
267
  this.sanitizer = inject(DomSanitizer);
268
268
  this.locale = injectLocale('empty');
269
- this.size = 'md';
270
- this._initialized = false;
269
+ /**
270
+ * 显示文本提示信息。同时传入 thyMessage,thyTranslationKey,thyEntityName,thyEntityNameTranslateKey 时优先级最高
271
+ * @default 暂无数据
272
+ */
273
+ this.thyMessage = input();
274
+ /**
275
+ * 已废弃。显示文本提示信息多语言 Key。同时传入 thyTranslationKey,thyEntityName,thyEntityNameTranslateKey 时优先级最高
276
+ * @deprecated
277
+ */
278
+ this.thyTranslationKey = input();
279
+ /**
280
+ * 已废弃。显示文本提示信息多语言 Key 的 Values。传入 thyTranslationKey 后,传入这个才会生效
281
+ * @deprecated
282
+ */
283
+ this.thyTranslationValues = input();
284
+ /**
285
+ * 已废弃。显示默认提示信息,替换默认提示信息的目标对象,比如:没有 {thyEntityName}。同时传入 thyEntityName,thyEntityNameTranslateKey 时优先级较高
286
+ * @deprecated
287
+ */
288
+ this.thyEntityName = input();
289
+ /**
290
+ * 已废弃。thyEntityName 的多语言 Key。thyMessage,thyTranslationKey,thyEntityName 均未传入时才会生效
291
+ * @deprecated
292
+ */
293
+ this.thyEntityNameTranslateKey = input();
294
+ /**
295
+ * 提示图标名
296
+ */
297
+ this.thyIconName = input();
298
+ /**
299
+ * 大小
300
+ * @type sm | md | lg
301
+ * @default md
302
+ */
303
+ this.thySize = input('md');
304
+ /**
305
+ * 距上距离
306
+ */
307
+ this.thyMarginTop = input();
308
+ /**
309
+ * 是否自动根据父容器计算高度,垂直居中
310
+ * @default false
311
+ */
312
+ this.thyTopAuto = input(false, { transform: coerceBooleanProperty });
313
+ /**
314
+ * 自动计算高度垂直居中(即 thyTopAuto 为 true)时,支持传入自定义父容器
315
+ */
316
+ this.thyContainer = input();
317
+ /**
318
+ * 提示图片链接
319
+ */
320
+ this.thyImageUrl = input();
321
+ this.thyImageLoading = input();
322
+ this.thyImageFetchPriority = input();
323
+ /**
324
+ * 显示文本描述
325
+ */
326
+ this.thyDescription = input();
271
327
  this.hostRenderer = useHostRenderer();
272
- }
273
- /**
274
- * 大小
275
- * @type sm | md | lg
276
- * @default md
277
- */
278
- set thySize(value) {
279
- this.size = value;
280
- if (this._initialized) {
328
+ /**
329
+ * 除提示图片,文本外的其他信息传入模板
330
+ * @type TemplateRef
331
+ */
332
+ this.extraTemplateRef = contentChild('extra');
333
+ this.presetSvg = computed(() => {
334
+ let presetSvg = this.thyIconName() ? PRESET_SVG[this.thyIconName()] : PRESET_SVG.default;
335
+ return presetSvg ? this.sanitizer.bypassSecurityTrustHtml(presetSvg) : '';
336
+ });
337
+ this.displayText = computed(() => {
338
+ if (this.thyMessage()) {
339
+ return this.thyMessage();
340
+ }
341
+ else if (this.thyTranslationKey()) {
342
+ return this.thyTranslate.instant(this.thyTranslationKey(), this.thyTranslationValues());
343
+ }
344
+ else if (this.thyEntityName()) {
345
+ return this.thyTranslate.instant(this.thyEmptyConfig.noResultWithTargetTranslateKey, {
346
+ target: this.thyEntityName()
347
+ });
348
+ }
349
+ else if (this.thyEntityNameTranslateKey()) {
350
+ return this.thyTranslate.instant(this.thyEmptyConfig.noResultWithTargetTranslateKey, {
351
+ target: this.thyTranslate.instant(this.thyEntityNameTranslateKey())
352
+ });
353
+ }
354
+ else if (this.thyTranslate.instant(this.thyEmptyConfig.noResultTranslateKey) !== 'common.tips.NO_RESULT') {
355
+ return this.thyTranslate.instant(this.thyEmptyConfig.noResultTranslateKey);
356
+ }
357
+ else {
358
+ return this.locale().noDataText;
359
+ }
360
+ });
361
+ effect(() => {
281
362
  this.updateClass();
282
- }
283
- }
284
- get displayText() {
285
- if (this.thyMessage) {
286
- return this.thyMessage;
287
- }
288
- else if (this.thyTranslationKey) {
289
- return this.thyTranslate.instant(this.thyTranslationKey, this.thyTranslationValues);
290
- }
291
- else if (this.thyEntityName) {
292
- return this.thyTranslate.instant(this.thyEmptyConfig.noResultWithTargetTranslateKey, {
293
- target: this.thyEntityName
294
- });
295
- }
296
- else if (this.thyEntityNameTranslateKey) {
297
- return this.thyTranslate.instant(this.thyEmptyConfig.noResultWithTargetTranslateKey, {
298
- target: this.thyTranslate.instant(this.thyEntityNameTranslateKey)
299
- });
300
- }
301
- else if (this.thyTranslate.instant(this.thyEmptyConfig.noResultTranslateKey) !== 'common.tips.NO_RESULT') {
302
- return this.thyTranslate.instant(this.thyEmptyConfig.noResultTranslateKey);
303
- }
304
- else {
305
- return this.locale().noDataText;
306
- }
363
+ });
307
364
  }
308
365
  _calculatePosition() {
309
- const sizeOptions = sizeMap[this.thySize || 'md'];
366
+ const sizeOptions = sizeMap[this.thySize() || 'md'];
310
367
  let marginTop = null;
311
- if (this.thyTopAuto) {
368
+ if (this.thyTopAuto()) {
312
369
  // 选择参考父容器居中
313
- const containerElement = this.thyContainer ? this.thyContainer.nativeElement : this.elementRef.nativeElement.parentElement;
370
+ const thyContainer = this.thyContainer();
371
+ const containerElement = thyContainer ? thyContainer.nativeElement : this.elementRef.nativeElement.parentElement;
314
372
  // containerElement.height;
315
373
  let emptyStateHeight = this.elementRef.nativeElement.offsetHeight;
316
374
  // 高度没有自动计算出来使用默认值
@@ -324,8 +382,9 @@ class ThyEmpty {
324
382
  }
325
383
  }
326
384
  else {
327
- if (this.thyMarginTop) {
328
- marginTop = this.thyMarginTop;
385
+ const thyMarginTop = this.thyMarginTop();
386
+ if (thyMarginTop) {
387
+ marginTop = thyMarginTop;
329
388
  }
330
389
  else {
331
390
  marginTop = 0; // sizeOptions.defaultMarginTop;
@@ -335,13 +394,8 @@ class ThyEmpty {
335
394
  this.hostRenderer.setStyle('marginTop', marginTop + 'px');
336
395
  }
337
396
  }
338
- ngOnInit() {
339
- this.updateClass();
340
- this._initialized = true;
341
- this.setPresetSvg(this.thyIconName);
342
- }
343
397
  updateClass() {
344
- const classList = sizeClassMap[this.size] || sizeClassMap['md'];
398
+ const classList = sizeClassMap[this.thySize() || 'md'];
345
399
  if (classList) {
346
400
  this.hostRenderer.updateClass(classList);
347
401
  }
@@ -353,55 +407,13 @@ class ThyEmpty {
353
407
  }, 50);
354
408
  });
355
409
  }
356
- ngOnChanges(changes) {
357
- if (changes.thyIconName && changes.thyIconName.currentValue && !changes.thyIconName.firstChange) {
358
- this.setPresetSvg(changes.thyIconName.currentValue);
359
- }
360
- }
361
- setPresetSvg(icon) {
362
- this.presetSvg = '';
363
- let presetSvg = icon ? PRESET_SVG[icon] : PRESET_SVG.default;
364
- this.presetSvg = presetSvg ? this.sanitizer.bypassSecurityTrustHtml(presetSvg) : '';
365
- }
366
410
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyEmpty, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
367
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.8", type: ThyEmpty, isStandalone: true, selector: "thy-empty", inputs: { thyMessage: "thyMessage", thyTranslationKey: "thyTranslationKey", thyTranslationValues: "thyTranslationValues", thyEntityName: "thyEntityName", thyEntityNameTranslateKey: "thyEntityNameTranslateKey", thyIconName: "thyIconName", thySize: "thySize", thyMarginTop: "thyMarginTop", thyTopAuto: ["thyTopAuto", "thyTopAuto", coerceBooleanProperty], thyContainer: "thyContainer", thyImageUrl: "thyImageUrl", thyImageLoading: "thyImageLoading", thyImageFetchPriority: "thyImageFetchPriority", thyDescription: "thyDescription" }, queries: [{ propertyName: "extraTemplateRef", first: true, predicate: ["extra"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"thy-empty-icon\">\n @if (thyImageUrl) {\n <img\n [src]=\"thyImageUrl\"\n [attr.loading]=\"thyImageLoading\"\n [attr.fetchpriority]=\"thyImageFetchPriority\"\n class=\"empty-img\"\n />\n } @else {\n @if (presetSvg) {\n <div [innerHTML]=\"presetSvg\"></div>\n } @else {\n @if (thyIconName) {\n <thy-icon class=\"empty-icon\" [thyIconName]=\"thyIconName\"></thy-icon>\n }\n }\n }\n</div>\n\n<div [ngClass]=\"{ 'thy-empty-text': !thyDescription, 'thy-empty-text-with-extra': thyDescription }\">\n {{ displayText }}\n</div>\n\n@if (thyDescription) {\n <div class=\"thy-empty-description\">\n {{ thyDescription }}\n </div>\n}\n\n@if (extraTemplateRef) {\n <div class=\"thy-empty-extra\">\n <ng-template [ngTemplateOutlet]=\"extraTemplateRef\"></ng-template>\n </div>\n}\n", dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
411
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.8", type: ThyEmpty, isStandalone: true, selector: "thy-empty", inputs: { thyMessage: { classPropertyName: "thyMessage", publicName: "thyMessage", isSignal: true, isRequired: false, transformFunction: null }, thyTranslationKey: { classPropertyName: "thyTranslationKey", publicName: "thyTranslationKey", isSignal: true, isRequired: false, transformFunction: null }, thyTranslationValues: { classPropertyName: "thyTranslationValues", publicName: "thyTranslationValues", isSignal: true, isRequired: false, transformFunction: null }, thyEntityName: { classPropertyName: "thyEntityName", publicName: "thyEntityName", isSignal: true, isRequired: false, transformFunction: null }, thyEntityNameTranslateKey: { classPropertyName: "thyEntityNameTranslateKey", publicName: "thyEntityNameTranslateKey", isSignal: true, isRequired: false, transformFunction: null }, thyIconName: { classPropertyName: "thyIconName", publicName: "thyIconName", isSignal: true, isRequired: false, transformFunction: null }, thySize: { classPropertyName: "thySize", publicName: "thySize", isSignal: true, isRequired: false, transformFunction: null }, thyMarginTop: { classPropertyName: "thyMarginTop", publicName: "thyMarginTop", isSignal: true, isRequired: false, transformFunction: null }, thyTopAuto: { classPropertyName: "thyTopAuto", publicName: "thyTopAuto", isSignal: true, isRequired: false, transformFunction: null }, thyContainer: { classPropertyName: "thyContainer", publicName: "thyContainer", isSignal: true, isRequired: false, transformFunction: null }, thyImageUrl: { classPropertyName: "thyImageUrl", publicName: "thyImageUrl", isSignal: true, isRequired: false, transformFunction: null }, thyImageLoading: { classPropertyName: "thyImageLoading", publicName: "thyImageLoading", isSignal: true, isRequired: false, transformFunction: null }, thyImageFetchPriority: { classPropertyName: "thyImageFetchPriority", publicName: "thyImageFetchPriority", isSignal: true, isRequired: false, transformFunction: null }, thyDescription: { classPropertyName: "thyDescription", publicName: "thyDescription", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "extraTemplateRef", first: true, predicate: ["extra"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"thy-empty-icon\">\n @if (thyImageUrl()) {\n <img\n [src]=\"thyImageUrl()\"\n [attr.loading]=\"thyImageLoading()\"\n [attr.fetchpriority]=\"thyImageFetchPriority()\"\n class=\"empty-img\"\n />\n } @else {\n @if (presetSvg()) {\n <div [innerHTML]=\"presetSvg()\"></div>\n } @else {\n @if (thyIconName()) {\n <thy-icon class=\"empty-icon\" [thyIconName]=\"thyIconName()\"></thy-icon>\n }\n }\n }\n</div>\n\n<div [ngClass]=\"{ 'thy-empty-text': !thyDescription(), 'thy-empty-text-with-extra': thyDescription() }\">\n {{ displayText() }}\n</div>\n\n@if (thyDescription()) {\n <div class=\"thy-empty-description\">\n {{ thyDescription() }}\n </div>\n}\n\n@if (extraTemplateRef()) {\n <div class=\"thy-empty-extra\">\n <ng-template [ngTemplateOutlet]=\"extraTemplateRef()\"></ng-template>\n </div>\n}\n", dependencies: [{ kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
368
412
  }
369
413
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyEmpty, decorators: [{
370
414
  type: Component,
371
- args: [{ selector: 'thy-empty', imports: [ThyIcon, NgClass, NgTemplateOutlet], template: "<div class=\"thy-empty-icon\">\n @if (thyImageUrl) {\n <img\n [src]=\"thyImageUrl\"\n [attr.loading]=\"thyImageLoading\"\n [attr.fetchpriority]=\"thyImageFetchPriority\"\n class=\"empty-img\"\n />\n } @else {\n @if (presetSvg) {\n <div [innerHTML]=\"presetSvg\"></div>\n } @else {\n @if (thyIconName) {\n <thy-icon class=\"empty-icon\" [thyIconName]=\"thyIconName\"></thy-icon>\n }\n }\n }\n</div>\n\n<div [ngClass]=\"{ 'thy-empty-text': !thyDescription, 'thy-empty-text-with-extra': thyDescription }\">\n {{ displayText }}\n</div>\n\n@if (thyDescription) {\n <div class=\"thy-empty-description\">\n {{ thyDescription }}\n </div>\n}\n\n@if (extraTemplateRef) {\n <div class=\"thy-empty-extra\">\n <ng-template [ngTemplateOutlet]=\"extraTemplateRef\"></ng-template>\n </div>\n}\n" }]
372
- }], propDecorators: { thyMessage: [{
373
- type: Input
374
- }], thyTranslationKey: [{
375
- type: Input
376
- }], thyTranslationValues: [{
377
- type: Input
378
- }], thyEntityName: [{
379
- type: Input
380
- }], thyEntityNameTranslateKey: [{
381
- type: Input
382
- }], thyIconName: [{
383
- type: Input
384
- }], thySize: [{
385
- type: Input
386
- }], thyMarginTop: [{
387
- type: Input
388
- }], thyTopAuto: [{
389
- type: Input,
390
- args: [{ transform: coerceBooleanProperty }]
391
- }], thyContainer: [{
392
- type: Input
393
- }], thyImageUrl: [{
394
- type: Input
395
- }], thyImageLoading: [{
396
- type: Input
397
- }], thyImageFetchPriority: [{
398
- type: Input
399
- }], thyDescription: [{
400
- type: Input
401
- }], extraTemplateRef: [{
402
- type: ContentChild,
403
- args: ['extra']
404
- }] } });
415
+ args: [{ selector: 'thy-empty', imports: [ThyIcon, NgClass, NgTemplateOutlet], template: "<div class=\"thy-empty-icon\">\n @if (thyImageUrl()) {\n <img\n [src]=\"thyImageUrl()\"\n [attr.loading]=\"thyImageLoading()\"\n [attr.fetchpriority]=\"thyImageFetchPriority()\"\n class=\"empty-img\"\n />\n } @else {\n @if (presetSvg()) {\n <div [innerHTML]=\"presetSvg()\"></div>\n } @else {\n @if (thyIconName()) {\n <thy-icon class=\"empty-icon\" [thyIconName]=\"thyIconName()\"></thy-icon>\n }\n }\n }\n</div>\n\n<div [ngClass]=\"{ 'thy-empty-text': !thyDescription(), 'thy-empty-text-with-extra': thyDescription() }\">\n {{ displayText() }}\n</div>\n\n@if (thyDescription()) {\n <div class=\"thy-empty-description\">\n {{ thyDescription() }}\n </div>\n}\n\n@if (extraTemplateRef()) {\n <div class=\"thy-empty-extra\">\n <ng-template [ngTemplateOutlet]=\"extraTemplateRef()\"></ng-template>\n </div>\n}\n" }]
416
+ }], ctorParameters: () => [] });
405
417
 
406
418
  class ThyEmptyModule {
407
419
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: ThyEmptyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }