ngx-tethys 17.0.0-next.1 → 17.0.0-next.3

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 (745) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/action/action.component.d.ts +3 -3
  3. package/action/action.module.d.ts +1 -1
  4. package/action/actions.component.d.ts +5 -5
  5. package/affix/affix.component.d.ts +3 -3
  6. package/affix/affix.module.d.ts +1 -1
  7. package/alert/alert.component.d.ts +3 -3
  8. package/alert/alert.module.d.ts +1 -1
  9. package/anchor/anchor-link.component.d.ts +5 -5
  10. package/anchor/anchor.component.d.ts +9 -9
  11. package/anchor/anchor.module.d.ts +1 -1
  12. package/arrow-switcher/arrow-switcher.component.d.ts +3 -3
  13. package/arrow-switcher/module.d.ts +1 -1
  14. package/autocomplete/autocomplete.component.d.ts +9 -9
  15. package/autocomplete/autocomplete.trigger.directive.d.ts +6 -6
  16. package/autocomplete/module.d.ts +1 -1
  17. package/autocomplete/overlay/autocomplete-container.component.d.ts +3 -3
  18. package/autocomplete/overlay/autocomplete-ref.d.ts +4 -4
  19. package/autocomplete/overlay/autocomplete.service.d.ts +5 -5
  20. package/avatar/avatar-list/avatar-list.component.d.ts +6 -6
  21. package/avatar/avatar.component.d.ts +3 -3
  22. package/avatar/avatar.module.d.ts +1 -1
  23. package/back-top/back-top.component.d.ts +3 -3
  24. package/back-top/back-top.module.d.ts +1 -1
  25. package/badge/badge.component.d.ts +3 -3
  26. package/badge/badge.module.d.ts +1 -1
  27. package/breadcrumb/breadcrumb-item.component.d.ts +3 -3
  28. package/breadcrumb/breadcrumb.component.d.ts +3 -3
  29. package/breadcrumb/module.d.ts +1 -1
  30. package/button/button-group.component.d.ts +3 -3
  31. package/button/button-icon.component.d.ts +3 -3
  32. package/button/button.component.d.ts +3 -3
  33. package/button/button.module.d.ts +1 -1
  34. package/calendar/calendar-header.component.d.ts +3 -3
  35. package/calendar/calendar.component.d.ts +3 -3
  36. package/calendar/module.d.ts +1 -1
  37. package/card/card.component.d.ts +3 -3
  38. package/card/card.module.d.ts +1 -1
  39. package/card/content.component.d.ts +3 -3
  40. package/card/header.component.d.ts +3 -3
  41. package/carousel/carousel.component.d.ts +3 -3
  42. package/carousel/engine/carousel-base.d.ts +3 -3
  43. package/carousel/engine/carousel-fade.d.ts +2 -2
  44. package/carousel/engine/carousel-noop.d.ts +2 -2
  45. package/carousel/engine/carousel-slide.d.ts +2 -2
  46. package/carousel/module.d.ts +1 -1
  47. package/cascader/cascader.component.d.ts +3 -3
  48. package/cascader/module.d.ts +1 -1
  49. package/checkbox/checkbox.component.d.ts +3 -3
  50. package/checkbox/module.d.ts +1 -1
  51. package/collapse/collapse-item.component.d.ts +5 -5
  52. package/collapse/collapse.component.d.ts +7 -7
  53. package/collapse/module.d.ts +1 -1
  54. package/color-picker/color-picker-custom-panel.component.d.ts +3 -3
  55. package/color-picker/color-picker-panel.component.d.ts +6 -6
  56. package/color-picker/color-picker.component.d.ts +3 -3
  57. package/color-picker/module.d.ts +1 -1
  58. package/color-picker/parts/alpha/alpha.component.d.ts +3 -3
  59. package/color-picker/parts/hue/hue.component.d.ts +3 -3
  60. package/color-picker/parts/indicator/indicator.component.d.ts +3 -3
  61. package/color-picker/parts/inputs/inputs.component.d.ts +3 -3
  62. package/color-picker/parts/saturation/saturation.component.d.ts +3 -3
  63. package/comment/comment.component.d.ts +3 -3
  64. package/comment/comment.module.d.ts +1 -1
  65. package/date-picker/abstract-picker.component.d.ts +2 -2
  66. package/date-picker/base-picker.component.d.ts +5 -5
  67. package/date-picker/date-picker.component.d.ts +4 -4
  68. package/date-picker/date-picker.module.d.ts +1 -1
  69. package/date-picker/lib/calendar/calendar-footer.component.d.ts +3 -3
  70. package/date-picker/lib/date/date-header.component.d.ts +3 -3
  71. package/date-picker/lib/date/date-table-cell.component.d.ts +3 -3
  72. package/date-picker/lib/date/date-table.component.d.ts +3 -3
  73. package/date-picker/lib/date-carousel/date-carousel.component.d.ts +3 -3
  74. package/date-picker/lib/decade/decade-header.component.d.ts +3 -3
  75. package/date-picker/lib/decade/decade-table.component.d.ts +3 -3
  76. package/date-picker/lib/lib-packer.module.d.ts +1 -1
  77. package/date-picker/lib/month/month-header.component.d.ts +3 -3
  78. package/date-picker/lib/month/month-table.component.d.ts +3 -3
  79. package/date-picker/lib/popups/date-popup.component.d.ts +4 -4
  80. package/date-picker/lib/popups/inner-popup.component.d.ts +3 -3
  81. package/date-picker/lib/quarter/quarter-table.component.d.ts +3 -3
  82. package/date-picker/lib/year/year-header.component.d.ts +3 -3
  83. package/date-picker/lib/year/year-table.component.d.ts +3 -3
  84. package/date-picker/month-picker.component.d.ts +4 -4
  85. package/date-picker/picker.component.d.ts +3 -3
  86. package/date-picker/quarter-picker.component.d.ts +4 -4
  87. package/date-picker/range-picker.component.d.ts +4 -4
  88. package/date-picker/week-picker.component.d.ts +4 -4
  89. package/date-picker/year-picker.component.d.ts +4 -4
  90. package/date-range/date-range.component.d.ts +3 -3
  91. package/date-range/module.d.ts +1 -1
  92. package/date-range/optional-dates/optional-dates.component.d.ts +3 -3
  93. package/dialog/body/dialog-body.component.d.ts +3 -3
  94. package/dialog/confirm/confirm.component.d.ts +4 -4
  95. package/dialog/dialog-container.component.d.ts +3 -3
  96. package/dialog/dialog-ref.d.ts +4 -4
  97. package/dialog/dialog.module.d.ts +1 -1
  98. package/dialog/dialog.service.d.ts +5 -5
  99. package/dialog/footer/dialog-footer.component.d.ts +3 -3
  100. package/dialog/header/dialog-header.component.d.ts +5 -5
  101. package/dialog/index.d.ts +1 -1
  102. package/divider/divider.component.d.ts +3 -3
  103. package/divider/divider.module.d.ts +1 -1
  104. package/dot/dot.component.d.ts +3 -3
  105. package/dot/dot.module.d.ts +1 -1
  106. package/dropdown/dropdown-menu.component.d.ts +6 -6
  107. package/dropdown/dropdown-submenu.component.d.ts +3 -3
  108. package/dropdown/module.d.ts +1 -1
  109. package/empty/empty.component.d.ts +3 -3
  110. package/empty/empty.module.d.ts +1 -1
  111. package/esm2022/action/action.component.mjs +10 -10
  112. package/esm2022/action/action.module.mjs +7 -7
  113. package/esm2022/action/actions.component.mjs +7 -7
  114. package/esm2022/affix/affix.component.mjs +7 -7
  115. package/esm2022/affix/affix.module.mjs +5 -5
  116. package/esm2022/alert/alert.component.mjs +8 -8
  117. package/esm2022/alert/alert.module.mjs +6 -6
  118. package/esm2022/anchor/anchor-link.component.mjs +7 -7
  119. package/esm2022/anchor/anchor.component.mjs +11 -11
  120. package/esm2022/anchor/anchor.module.mjs +7 -7
  121. package/esm2022/arrow-switcher/arrow-switcher.component.mjs +13 -13
  122. package/esm2022/arrow-switcher/module.mjs +6 -6
  123. package/esm2022/autocomplete/autocomplete.component.mjs +13 -13
  124. package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +2 -2
  125. package/esm2022/autocomplete/module.mjs +10 -10
  126. package/esm2022/autocomplete/overlay/autocomplete-container.component.mjs +5 -5
  127. package/esm2022/autocomplete/overlay/autocomplete-ref.mjs +1 -1
  128. package/esm2022/autocomplete/overlay/autocomplete.service.mjs +4 -4
  129. package/esm2022/avatar/avatar-list/avatar-list.component.mjs +8 -8
  130. package/esm2022/avatar/avatar.component.mjs +11 -11
  131. package/esm2022/avatar/avatar.module.mjs +7 -7
  132. package/esm2022/back-top/back-top.component.mjs +8 -8
  133. package/esm2022/back-top/back-top.module.mjs +6 -6
  134. package/esm2022/badge/badge.component.mjs +10 -10
  135. package/esm2022/badge/badge.module.mjs +5 -5
  136. package/esm2022/breadcrumb/breadcrumb-item.component.mjs +7 -7
  137. package/esm2022/breadcrumb/breadcrumb.component.mjs +8 -8
  138. package/esm2022/breadcrumb/module.mjs +7 -7
  139. package/esm2022/button/button-group.component.mjs +5 -5
  140. package/esm2022/button/button-icon.component.mjs +9 -9
  141. package/esm2022/button/button.component.mjs +9 -9
  142. package/esm2022/button/button.module.mjs +8 -8
  143. package/esm2022/calendar/calendar-header.component.mjs +8 -8
  144. package/esm2022/calendar/calendar.component.mjs +8 -8
  145. package/esm2022/calendar/module.mjs +11 -11
  146. package/esm2022/card/card.component.mjs +8 -8
  147. package/esm2022/card/card.module.mjs +7 -7
  148. package/esm2022/card/content.component.mjs +5 -5
  149. package/esm2022/card/header.component.mjs +5 -5
  150. package/esm2022/carousel/carousel.component.mjs +13 -13
  151. package/esm2022/carousel/engine/carousel-base.mjs +1 -1
  152. package/esm2022/carousel/engine/carousel-fade.mjs +1 -1
  153. package/esm2022/carousel/engine/carousel-noop.mjs +1 -1
  154. package/esm2022/carousel/engine/carousel-slide.mjs +1 -1
  155. package/esm2022/carousel/module.mjs +5 -5
  156. package/esm2022/cascader/cascader-li.component.mjs +6 -6
  157. package/esm2022/cascader/cascader-search-option.component.mjs +7 -16
  158. package/esm2022/cascader/cascader.component.mjs +22 -22
  159. package/esm2022/cascader/module.mjs +7 -7
  160. package/esm2022/checkbox/checkbox.component.mjs +8 -8
  161. package/esm2022/checkbox/module.mjs +5 -5
  162. package/esm2022/collapse/collapse-item.component.mjs +11 -11
  163. package/esm2022/collapse/collapse.component.mjs +6 -6
  164. package/esm2022/collapse/module.mjs +7 -7
  165. package/esm2022/color-picker/color-picker-custom-panel.component.mjs +11 -11
  166. package/esm2022/color-picker/color-picker-panel.component.mjs +10 -10
  167. package/esm2022/color-picker/color-picker.component.mjs +3 -3
  168. package/esm2022/color-picker/module.mjs +25 -25
  169. package/esm2022/color-picker/parts/alpha/alpha.component.mjs +5 -5
  170. package/esm2022/color-picker/parts/hue/hue.component.mjs +5 -5
  171. package/esm2022/color-picker/parts/indicator/indicator.component.mjs +5 -5
  172. package/esm2022/color-picker/parts/inputs/inputs.component.mjs +7 -7
  173. package/esm2022/color-picker/parts/saturation/saturation.component.mjs +5 -5
  174. package/esm2022/comment/comment.component.mjs +7 -7
  175. package/esm2022/comment/comment.module.mjs +7 -7
  176. package/esm2022/date-picker/abstract-picker.component.mjs +4 -4
  177. package/esm2022/date-picker/abstract-picker.directive.mjs +3 -3
  178. package/esm2022/date-picker/base-picker.component.mjs +8 -8
  179. package/esm2022/date-picker/date-picker.component.mjs +12 -12
  180. package/esm2022/date-picker/date-picker.module.mjs +44 -44
  181. package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +10 -10
  182. package/esm2022/date-picker/lib/date/date-header.component.mjs +7 -7
  183. package/esm2022/date-picker/lib/date/date-table-cell.component.mjs +5 -5
  184. package/esm2022/date-picker/lib/date/date-table.component.mjs +7 -7
  185. package/esm2022/date-picker/lib/date-carousel/date-carousel.component.mjs +11 -11
  186. package/esm2022/date-picker/lib/decade/decade-header.component.mjs +7 -7
  187. package/esm2022/date-picker/lib/decade/decade-table.component.mjs +5 -5
  188. package/esm2022/date-picker/lib/lib-packer.module.mjs +79 -79
  189. package/esm2022/date-picker/lib/month/month-header.component.mjs +7 -7
  190. package/esm2022/date-picker/lib/month/month-table.component.mjs +5 -5
  191. package/esm2022/date-picker/lib/popups/date-popup.component.mjs +15 -15
  192. package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +23 -23
  193. package/esm2022/date-picker/lib/quarter/quarter-table.component.mjs +5 -5
  194. package/esm2022/date-picker/lib/year/year-header.component.mjs +7 -7
  195. package/esm2022/date-picker/lib/year/year-table.component.mjs +5 -5
  196. package/esm2022/date-picker/month-picker.component.mjs +12 -12
  197. package/esm2022/date-picker/picker.component.mjs +8 -8
  198. package/esm2022/date-picker/quarter-picker.component.mjs +12 -12
  199. package/esm2022/date-picker/range-picker.component.mjs +12 -12
  200. package/esm2022/date-picker/week-picker.component.mjs +12 -12
  201. package/esm2022/date-picker/year-picker.component.mjs +12 -12
  202. package/esm2022/date-range/date-range.component.mjs +13 -13
  203. package/esm2022/date-range/module.mjs +10 -10
  204. package/esm2022/date-range/optional-dates/optional-dates.component.mjs +7 -7
  205. package/esm2022/dialog/body/dialog-body.component.mjs +5 -5
  206. package/esm2022/dialog/confirm/confirm.component.mjs +10 -18
  207. package/esm2022/dialog/dialog-container.component.mjs +5 -5
  208. package/esm2022/dialog/dialog-ref.mjs +1 -1
  209. package/esm2022/dialog/dialog.module.mjs +22 -22
  210. package/esm2022/dialog/dialog.service.mjs +4 -4
  211. package/esm2022/dialog/footer/dialog-footer.component.mjs +6 -6
  212. package/esm2022/dialog/header/dialog-header.component.mjs +11 -11
  213. package/esm2022/dialog/index.mjs +2 -2
  214. package/esm2022/divider/divider.component.mjs +7 -7
  215. package/esm2022/divider/divider.module.mjs +5 -5
  216. package/esm2022/dot/dot.component.mjs +5 -5
  217. package/esm2022/dot/dot.module.mjs +5 -5
  218. package/esm2022/dropdown/dropdown-menu.component.mjs +9 -9
  219. package/esm2022/dropdown/dropdown-submenu.component.mjs +5 -5
  220. package/esm2022/dropdown/module.mjs +15 -15
  221. package/esm2022/empty/empty.component.mjs +8 -8
  222. package/esm2022/empty/empty.module.mjs +6 -6
  223. package/esm2022/flexible-text/flexible-text.component.mjs +7 -7
  224. package/esm2022/flexible-text/flexible-text.module.mjs +5 -5
  225. package/esm2022/form/form-group-error/form-group-error.component.mjs +8 -8
  226. package/esm2022/form/form-group.component.mjs +8 -8
  227. package/esm2022/form/from-group-footer/form-group-footer.component.mjs +5 -5
  228. package/esm2022/form/module.mjs +18 -18
  229. package/esm2022/grid/module.mjs +6 -6
  230. package/esm2022/grid/thy-grid-item.component.mjs +5 -5
  231. package/esm2022/grid/thy-grid.component.mjs +4 -4
  232. package/esm2022/guider/guider-hint/guider-hint.component.mjs +6 -6
  233. package/esm2022/guider/guider.module.mjs +6 -24
  234. package/esm2022/icon/icon.component.mjs +8 -8
  235. package/esm2022/icon/icon.module.mjs +5 -5
  236. package/esm2022/icon/index.mjs +2 -2
  237. package/esm2022/image/image-group.component.mjs +5 -5
  238. package/esm2022/image/image.directive.mjs +3 -3
  239. package/esm2022/image/image.service.mjs +3 -3
  240. package/esm2022/image/module.mjs +9 -9
  241. package/esm2022/image/preview/image-preview-ref.mjs +1 -1
  242. package/esm2022/image/preview/image-preview.component.mjs +10 -21
  243. package/esm2022/input/input-count.component.mjs +7 -7
  244. package/esm2022/input/input-group.component.mjs +5 -5
  245. package/esm2022/input/input-search.component.mjs +9 -9
  246. package/esm2022/input/input.component.mjs +10 -10
  247. package/esm2022/input/module.mjs +16 -16
  248. package/esm2022/input-number/input-number.component.mjs +14 -14
  249. package/esm2022/input-number/module.mjs +6 -6
  250. package/esm2022/layout/content-main.component.mjs +5 -5
  251. package/esm2022/layout/content-section.component.mjs +5 -5
  252. package/esm2022/layout/content.component.mjs +5 -5
  253. package/esm2022/layout/header.component.mjs +7 -7
  254. package/esm2022/layout/layout.component.mjs +5 -5
  255. package/esm2022/layout/layout.module.mjs +48 -48
  256. package/esm2022/layout/sidebar-content.component.mjs +5 -5
  257. package/esm2022/layout/sidebar-footer.component.mjs +5 -5
  258. package/esm2022/layout/sidebar-header.component.mjs +5 -5
  259. package/esm2022/layout/sidebar.component.mjs +15 -24
  260. package/esm2022/list/list-item-meta.component.mjs +7 -7
  261. package/esm2022/list/list-item.component.mjs +5 -5
  262. package/esm2022/list/list.component.mjs +6 -6
  263. package/esm2022/list/list.module.mjs +9 -26
  264. package/esm2022/list/selection/selection-list.mjs +12 -12
  265. package/esm2022/list/selection/selection.interface.mjs +1 -1
  266. package/esm2022/loading/loading.component.mjs +7 -7
  267. package/esm2022/loading/loading.module.mjs +5 -5
  268. package/esm2022/mention/mention.directive.mjs +3 -3
  269. package/esm2022/mention/mention.module.mjs +5 -24
  270. package/esm2022/mention/suggestions/suggestions.component.mjs +9 -9
  271. package/esm2022/menu/divider/menu-divider.component.mjs +5 -5
  272. package/esm2022/menu/group/menu-group.component.mjs +13 -13
  273. package/esm2022/menu/item/action/menu-item-action.component.mjs +6 -6
  274. package/esm2022/menu/item/icon/menu-item-icon.component.mjs +5 -5
  275. package/esm2022/menu/item/menu-item.component.mjs +7 -7
  276. package/esm2022/menu/item/name/menu-item-name.component.mjs +6 -6
  277. package/esm2022/menu/menu.component.mjs +6 -6
  278. package/esm2022/menu/menu.module.mjs +25 -39
  279. package/esm2022/message/message-container.component.mjs +7 -7
  280. package/esm2022/message/message.component.mjs +7 -7
  281. package/esm2022/message/message.service.mjs +3 -3
  282. package/esm2022/message/module.mjs +7 -7
  283. package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +7 -7
  284. package/esm2022/nav/icon-nav/icon-nav.component.mjs +5 -5
  285. package/esm2022/nav/nav.component.mjs +11 -11
  286. package/esm2022/nav/nav.module.mjs +14 -14
  287. package/esm2022/notify/module.mjs +7 -7
  288. package/esm2022/notify/notify-container.component.mjs +7 -7
  289. package/esm2022/notify/notify.component.mjs +7 -7
  290. package/esm2022/notify/notify.service.mjs +3 -3
  291. package/esm2022/pagination/pagination.component.mjs +20 -30
  292. package/esm2022/pagination/pagination.module.mjs +6 -25
  293. package/esm2022/popover/body/popover-body.component.mjs +5 -5
  294. package/esm2022/popover/header/popover-header.component.mjs +7 -7
  295. package/esm2022/popover/module.mjs +13 -13
  296. package/esm2022/popover/popover-container.component.mjs +5 -5
  297. package/esm2022/popover/popover-ref.mjs +1 -1
  298. package/esm2022/popover/popover.service.mjs +4 -4
  299. package/esm2022/progress/progress-circle.component.mjs +8 -8
  300. package/esm2022/progress/progress-strip.component.mjs +6 -6
  301. package/esm2022/progress/progress.component.mjs +15 -15
  302. package/esm2022/progress/progress.module.mjs +7 -7
  303. package/esm2022/property/module.mjs +7 -7
  304. package/esm2022/property/properties.component.mjs +6 -6
  305. package/esm2022/property/property-item.component.mjs +11 -11
  306. package/esm2022/property-operation/group/property-operation-group.component.mjs +5 -5
  307. package/esm2022/property-operation/module.mjs +7 -23
  308. package/esm2022/property-operation/property-operation.component.mjs +14 -14
  309. package/esm2022/radio/button/radio-button.component.mjs +8 -8
  310. package/esm2022/radio/group/radio-group.component.mjs +8 -8
  311. package/esm2022/radio/module.mjs +7 -7
  312. package/esm2022/radio/radio.component.mjs +9 -9
  313. package/esm2022/rate/module.mjs +7 -7
  314. package/esm2022/rate/rate-item.component.mjs +9 -9
  315. package/esm2022/rate/rate.component.mjs +13 -13
  316. package/esm2022/resizable/module.mjs +6 -6
  317. package/esm2022/resizable/resize-handle.component.mjs +6 -6
  318. package/esm2022/resizable/resize-handles.component.mjs +8 -8
  319. package/esm2022/result/result.component.mjs +5 -5
  320. package/esm2022/result/result.module.mjs +5 -5
  321. package/esm2022/segment/segment-item.component.mjs +8 -8
  322. package/esm2022/segment/segment.component.mjs +12 -12
  323. package/esm2022/segment/segment.module.mjs +7 -7
  324. package/esm2022/segment/segment.token.mjs +1 -1
  325. package/esm2022/select/custom-select/custom-select.component.mjs +37 -37
  326. package/esm2022/select/index.mjs +3 -3
  327. package/esm2022/select/module.mjs +10 -10
  328. package/esm2022/select/native-select/native-select.component.mjs +103 -0
  329. package/esm2022/shared/option/group/option-group.component.mjs +11 -11
  330. package/esm2022/shared/option/list-option/list-option.component.mjs +8 -8
  331. package/esm2022/shared/option/module.mjs +10 -37
  332. package/esm2022/shared/option/option-group.component.mjs +5 -5
  333. package/esm2022/shared/option/option.component.mjs +8 -8
  334. package/esm2022/shared/option/option.token.mjs +1 -1
  335. package/esm2022/shared/option/options-container.component.mjs +5 -5
  336. package/esm2022/shared/select/module.mjs +6 -6
  337. package/esm2022/shared/select/select-control/select-control.component.mjs +15 -15
  338. package/esm2022/skeleton/module.mjs +9 -26
  339. package/esm2022/skeleton/skeleton-circle.component.mjs +9 -9
  340. package/esm2022/skeleton/skeleton-rectangle.component.mjs +11 -11
  341. package/esm2022/skeleton/skeleton.component.mjs +6 -6
  342. package/esm2022/skeleton/stylized/bullet-list.component.mjs +14 -14
  343. package/esm2022/skeleton/stylized/list.component.mjs +12 -12
  344. package/esm2022/skeleton/stylized/paragraph.component.mjs +14 -14
  345. package/esm2022/slide/slide-body/slide-body-section.component.mjs +5 -5
  346. package/esm2022/slide/slide-body/slide-body.component.mjs +5 -5
  347. package/esm2022/slide/slide-container.component.mjs +5 -5
  348. package/esm2022/slide/slide-footer/slide-footer.component.mjs +5 -5
  349. package/esm2022/slide/slide-header/slide-header.component.mjs +8 -8
  350. package/esm2022/slide/slide-layout/slide-layout.component.mjs +5 -5
  351. package/esm2022/slide/slide-ref.service.mjs +4 -4
  352. package/esm2022/slide/slide.module.mjs +23 -35
  353. package/esm2022/slide/slide.service.mjs +4 -4
  354. package/esm2022/slider/slider.component.mjs +12 -12
  355. package/esm2022/slider/slider.module.mjs +5 -5
  356. package/esm2022/space/space.component.mjs +6 -6
  357. package/esm2022/space/space.module.mjs +5 -5
  358. package/esm2022/statistic/statistic.component.mjs +5 -5
  359. package/esm2022/statistic/statistic.module.mjs +5 -5
  360. package/esm2022/stepper/step-header.component.mjs +8 -8
  361. package/esm2022/stepper/step.component.mjs +5 -5
  362. package/esm2022/stepper/stepper-button.directive.mjs +6 -6
  363. package/esm2022/stepper/stepper.component.mjs +15 -15
  364. package/esm2022/stepper/stepper.module.mjs +7 -19
  365. package/esm2022/strength/strength.component.mjs +7 -7
  366. package/esm2022/strength/strength.module.mjs +5 -5
  367. package/esm2022/switch/switch.component.mjs +8 -8
  368. package/esm2022/switch/switch.module.mjs +5 -5
  369. package/esm2022/table/table-skeleton.component.mjs +12 -12
  370. package/esm2022/table/table.component.mjs +34 -34
  371. package/esm2022/table/table.module.mjs +10 -10
  372. package/esm2022/tabs/tab-content.component.mjs +5 -5
  373. package/esm2022/tabs/tab.component.mjs +6 -6
  374. package/esm2022/tabs/tabs.component.mjs +12 -12
  375. package/esm2022/tabs/tabs.module.mjs +8 -8
  376. package/esm2022/tag/tag.component.mjs +6 -6
  377. package/esm2022/tag/tag.module.mjs +6 -6
  378. package/esm2022/tag/tags.component.mjs +5 -5
  379. package/esm2022/time-picker/inner/inner-time-picker.component.mjs +6 -6
  380. package/esm2022/time-picker/time-picker-panel.component.mjs +12 -12
  381. package/esm2022/time-picker/time-picker.component.mjs +17 -17
  382. package/esm2022/time-picker/time-picker.module.mjs +7 -7
  383. package/esm2022/timeline/timeline-item.component.mjs +5 -5
  384. package/esm2022/timeline/timeline.component.mjs +8 -8
  385. package/esm2022/timeline/timeline.module.mjs +6 -6
  386. package/esm2022/tooltip/tooltip-ref.mjs +3 -3
  387. package/esm2022/tooltip/tooltip.component.mjs +5 -5
  388. package/esm2022/tooltip/tooltip.module.mjs +4 -4
  389. package/esm2022/transfer/transfer-list.component.mjs +7 -18
  390. package/esm2022/transfer/transfer.component.mjs +9 -9
  391. package/esm2022/transfer/transfer.module.mjs +10 -10
  392. package/esm2022/tree/tree-node.component.mjs +5 -5
  393. package/esm2022/tree/tree.component.mjs +17 -17
  394. package/esm2022/tree/tree.module.mjs +7 -7
  395. package/esm2022/tree-select/module.mjs +9 -9
  396. package/esm2022/tree-select/tree-select.component.mjs +29 -29
  397. package/esm2022/typography/module.mjs +6 -6
  398. package/esm2022/typography/text/text.component.mjs +7 -7
  399. package/esm2022/upload/file-select.component.mjs +8 -8
  400. package/esm2022/upload/module.mjs +5 -5
  401. package/esm2022/version.mjs +2 -2
  402. package/esm2022/vote/vote.component.mjs +10 -10
  403. package/esm2022/vote/vote.module.mjs +6 -6
  404. package/fesm2022/ngx-tethys-action.mjs +19 -19
  405. package/fesm2022/ngx-tethys-action.mjs.map +1 -1
  406. package/fesm2022/ngx-tethys-affix.mjs +10 -10
  407. package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
  408. package/fesm2022/ngx-tethys-alert.mjs +12 -12
  409. package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
  410. package/fesm2022/ngx-tethys-anchor.mjs +20 -20
  411. package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
  412. package/fesm2022/ngx-tethys-arrow-switcher.mjs +17 -17
  413. package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
  414. package/fesm2022/ngx-tethys-autocomplete.mjs +26 -26
  415. package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
  416. package/fesm2022/ngx-tethys-avatar.mjs +21 -21
  417. package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
  418. package/fesm2022/ngx-tethys-back-top.mjs +12 -12
  419. package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
  420. package/fesm2022/ngx-tethys-badge.mjs +13 -13
  421. package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
  422. package/fesm2022/ngx-tethys-breadcrumb.mjs +17 -17
  423. package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
  424. package/fesm2022/ngx-tethys-button.mjs +24 -24
  425. package/fesm2022/ngx-tethys-button.mjs.map +1 -1
  426. package/fesm2022/ngx-tethys-calendar.mjs +22 -22
  427. package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
  428. package/fesm2022/ngx-tethys-card.mjs +19 -19
  429. package/fesm2022/ngx-tethys-card.mjs.map +1 -1
  430. package/fesm2022/ngx-tethys-carousel.mjs +16 -16
  431. package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
  432. package/fesm2022/ngx-tethys-cascader.mjs +35 -44
  433. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  434. package/fesm2022/ngx-tethys-checkbox.mjs +11 -11
  435. package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
  436. package/fesm2022/ngx-tethys-collapse.mjs +19 -19
  437. package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
  438. package/fesm2022/ngx-tethys-color-picker.mjs +54 -54
  439. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  440. package/fesm2022/ngx-tethys-comment.mjs +12 -12
  441. package/fesm2022/ngx-tethys-comment.mjs.map +1 -1
  442. package/fesm2022/ngx-tethys-date-picker.mjs +248 -248
  443. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  444. package/fesm2022/ngx-tethys-date-range.mjs +24 -24
  445. package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
  446. package/fesm2022/ngx-tethys-dialog.mjs +48 -56
  447. package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
  448. package/fesm2022/ngx-tethys-divider.mjs +10 -10
  449. package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
  450. package/fesm2022/ngx-tethys-dot.mjs +8 -8
  451. package/fesm2022/ngx-tethys-dot.mjs.map +1 -1
  452. package/fesm2022/ngx-tethys-dropdown.mjs +25 -25
  453. package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
  454. package/fesm2022/ngx-tethys-empty.mjs +12 -12
  455. package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
  456. package/fesm2022/ngx-tethys-flexible-text.mjs +10 -10
  457. package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
  458. package/fesm2022/ngx-tethys-form.mjs +33 -33
  459. package/fesm2022/ngx-tethys-form.mjs.map +1 -1
  460. package/fesm2022/ngx-tethys-grid.mjs +11 -11
  461. package/fesm2022/ngx-tethys-grid.mjs.map +1 -1
  462. package/fesm2022/ngx-tethys-guider.mjs +10 -28
  463. package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
  464. package/fesm2022/ngx-tethys-icon.mjs +11 -11
  465. package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
  466. package/fesm2022/ngx-tethys-image.mjs +22 -33
  467. package/fesm2022/ngx-tethys-image.mjs.map +1 -1
  468. package/fesm2022/ngx-tethys-input-number.mjs +18 -18
  469. package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
  470. package/fesm2022/ngx-tethys-input.mjs +37 -37
  471. package/fesm2022/ngx-tethys-input.mjs.map +1 -1
  472. package/fesm2022/ngx-tethys-layout.mjs +86 -95
  473. package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
  474. package/fesm2022/ngx-tethys-list.mjs +31 -48
  475. package/fesm2022/ngx-tethys-list.mjs.map +1 -1
  476. package/fesm2022/ngx-tethys-loading.mjs +10 -10
  477. package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
  478. package/fesm2022/ngx-tethys-mention.mjs +13 -32
  479. package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
  480. package/fesm2022/ngx-tethys-menu.mjs +58 -72
  481. package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
  482. package/fesm2022/ngx-tethys-message.mjs +17 -17
  483. package/fesm2022/ngx-tethys-message.mjs.map +1 -1
  484. package/fesm2022/ngx-tethys-nav.mjs +30 -30
  485. package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
  486. package/fesm2022/ngx-tethys-notify.mjs +17 -17
  487. package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
  488. package/fesm2022/ngx-tethys-pagination.mjs +24 -53
  489. package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
  490. package/fesm2022/ngx-tethys-popover.mjs +26 -26
  491. package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
  492. package/fesm2022/ngx-tethys-progress.mjs +28 -28
  493. package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
  494. package/fesm2022/ngx-tethys-property-operation.mjs +22 -38
  495. package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
  496. package/fesm2022/ngx-tethys-property.mjs +19 -19
  497. package/fesm2022/ngx-tethys-property.mjs.map +1 -1
  498. package/fesm2022/ngx-tethys-radio.mjs +23 -23
  499. package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
  500. package/fesm2022/ngx-tethys-rate.mjs +24 -24
  501. package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
  502. package/fesm2022/ngx-tethys-resizable.mjs +15 -15
  503. package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
  504. package/fesm2022/ngx-tethys-result.mjs +8 -8
  505. package/fesm2022/ngx-tethys-result.mjs.map +1 -1
  506. package/fesm2022/ngx-tethys-segment.mjs +22 -22
  507. package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
  508. package/fesm2022/ngx-tethys-select.mjs +58 -58
  509. package/fesm2022/ngx-tethys-select.mjs.map +1 -1
  510. package/fesm2022/ngx-tethys-shared.mjs +52 -79
  511. package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
  512. package/fesm2022/ngx-tethys-skeleton.mjs +57 -74
  513. package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
  514. package/fesm2022/ngx-tethys-slide.mjs +48 -60
  515. package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
  516. package/fesm2022/ngx-tethys-slider.mjs +15 -15
  517. package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
  518. package/fesm2022/ngx-tethys-space.mjs +9 -9
  519. package/fesm2022/ngx-tethys-space.mjs.map +1 -1
  520. package/fesm2022/ngx-tethys-statistic.mjs +8 -8
  521. package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
  522. package/fesm2022/ngx-tethys-stepper.mjs +31 -43
  523. package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
  524. package/fesm2022/ngx-tethys-strength.mjs +10 -10
  525. package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
  526. package/fesm2022/ngx-tethys-switch.mjs +11 -11
  527. package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
  528. package/fesm2022/ngx-tethys-table.mjs +51 -51
  529. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  530. package/fesm2022/ngx-tethys-tabs.mjs +23 -23
  531. package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
  532. package/fesm2022/ngx-tethys-tag.mjs +13 -13
  533. package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
  534. package/fesm2022/ngx-tethys-time-picker.mjs +35 -35
  535. package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
  536. package/fesm2022/ngx-tethys-timeline.mjs +14 -14
  537. package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
  538. package/fesm2022/ngx-tethys-tooltip.mjs +8 -8
  539. package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
  540. package/fesm2022/ngx-tethys-transfer.mjs +21 -32
  541. package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
  542. package/fesm2022/ngx-tethys-tree-select.mjs +36 -36
  543. package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
  544. package/fesm2022/ngx-tethys-tree.mjs +26 -26
  545. package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
  546. package/fesm2022/ngx-tethys-typography.mjs +11 -11
  547. package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
  548. package/fesm2022/ngx-tethys-upload.mjs +11 -11
  549. package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
  550. package/fesm2022/ngx-tethys-vote.mjs +14 -14
  551. package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
  552. package/fesm2022/ngx-tethys.mjs +1 -1
  553. package/fesm2022/ngx-tethys.mjs.map +1 -1
  554. package/flexible-text/flexible-text.component.d.ts +3 -3
  555. package/flexible-text/flexible-text.module.d.ts +1 -1
  556. package/form/form-group-error/form-group-error.component.d.ts +3 -3
  557. package/form/form-group.component.d.ts +3 -3
  558. package/form/from-group-footer/form-group-footer.component.d.ts +3 -3
  559. package/form/module.d.ts +1 -1
  560. package/grid/module.d.ts +1 -1
  561. package/grid/thy-grid-item.component.d.ts +4 -4
  562. package/grid/thy-grid.component.d.ts +2 -2
  563. package/guider/guider-hint/guider-hint.component.d.ts +3 -3
  564. package/guider/guider.module.d.ts +1 -1
  565. package/icon/icon.component.d.ts +3 -3
  566. package/icon/icon.module.d.ts +1 -1
  567. package/icon/index.d.ts +1 -1
  568. package/image/image-group.component.d.ts +3 -3
  569. package/image/module.d.ts +1 -1
  570. package/image/preview/image-preview-ref.d.ts +4 -4
  571. package/image/preview/image-preview.component.d.ts +4 -4
  572. package/input/input-count.component.d.ts +5 -5
  573. package/input/input-group.component.d.ts +4 -4
  574. package/input/input-search.component.d.ts +3 -3
  575. package/input/input.component.d.ts +3 -3
  576. package/input/module.d.ts +1 -1
  577. package/input-number/input-number.component.d.ts +3 -3
  578. package/input-number/module.d.ts +1 -1
  579. package/layout/content-main.component.d.ts +3 -3
  580. package/layout/content-section.component.d.ts +3 -3
  581. package/layout/content.component.d.ts +3 -3
  582. package/layout/header.component.d.ts +3 -3
  583. package/layout/layout.component.d.ts +3 -3
  584. package/layout/layout.module.d.ts +1 -1
  585. package/layout/sidebar-content.component.d.ts +3 -3
  586. package/layout/sidebar-footer.component.d.ts +3 -3
  587. package/layout/sidebar-header.component.d.ts +3 -3
  588. package/layout/sidebar.component.d.ts +3 -3
  589. package/list/list-item-meta.component.d.ts +3 -3
  590. package/list/list-item.component.d.ts +3 -3
  591. package/list/list.component.d.ts +3 -3
  592. package/list/list.module.d.ts +1 -1
  593. package/list/selection/selection-list.d.ts +9 -9
  594. package/list/selection/selection.interface.d.ts +4 -4
  595. package/loading/loading.component.d.ts +3 -3
  596. package/loading/loading.module.d.ts +1 -1
  597. package/mention/mention.directive.d.ts +2 -2
  598. package/mention/mention.module.d.ts +1 -1
  599. package/mention/suggestions/suggestions.component.d.ts +3 -3
  600. package/menu/divider/menu-divider.component.d.ts +3 -3
  601. package/menu/group/menu-group.component.d.ts +3 -3
  602. package/menu/item/action/menu-item-action.component.d.ts +3 -3
  603. package/menu/item/icon/menu-item-icon.component.d.ts +3 -3
  604. package/menu/item/menu-item.component.d.ts +3 -3
  605. package/menu/item/name/menu-item-name.component.d.ts +3 -3
  606. package/menu/menu.component.d.ts +3 -3
  607. package/menu/menu.module.d.ts +1 -1
  608. package/message/message-container.component.d.ts +3 -3
  609. package/message/message.component.d.ts +3 -3
  610. package/message/message.service.d.ts +2 -2
  611. package/message/module.d.ts +1 -1
  612. package/nav/icon-nav/icon-nav-link.directive.d.ts +3 -3
  613. package/nav/icon-nav/icon-nav.component.d.ts +3 -3
  614. package/nav/nav.component.d.ts +3 -3
  615. package/nav/nav.module.d.ts +1 -1
  616. package/notify/module.d.ts +1 -1
  617. package/notify/notify-container.component.d.ts +3 -3
  618. package/notify/notify.component.d.ts +3 -3
  619. package/notify/notify.service.d.ts +2 -2
  620. package/package.json +134 -134
  621. package/pagination/pagination.component.d.ts +3 -3
  622. package/pagination/pagination.module.d.ts +1 -1
  623. package/popover/body/popover-body.component.d.ts +3 -3
  624. package/popover/header/popover-header.component.d.ts +3 -3
  625. package/popover/module.d.ts +1 -1
  626. package/popover/popover-container.component.d.ts +3 -3
  627. package/popover/popover-ref.d.ts +4 -4
  628. package/popover/popover.service.d.ts +5 -5
  629. package/progress/progress-circle.component.d.ts +3 -3
  630. package/progress/progress-strip.component.d.ts +4 -4
  631. package/progress/progress.component.d.ts +6 -6
  632. package/progress/progress.module.d.ts +1 -1
  633. package/property/module.d.ts +1 -1
  634. package/property/properties.component.d.ts +3 -3
  635. package/property/property-item.component.d.ts +5 -5
  636. package/property-operation/group/property-operation-group.component.d.ts +3 -3
  637. package/property-operation/module.d.ts +1 -1
  638. package/property-operation/property-operation.component.d.ts +3 -3
  639. package/radio/button/radio-button.component.d.ts +6 -6
  640. package/radio/group/radio-group.component.d.ts +7 -7
  641. package/radio/module.d.ts +1 -1
  642. package/radio/radio.component.d.ts +6 -6
  643. package/rate/module.d.ts +1 -1
  644. package/rate/rate-item.component.d.ts +3 -3
  645. package/rate/rate.component.d.ts +3 -3
  646. package/resizable/module.d.ts +1 -1
  647. package/resizable/resize-handle.component.d.ts +3 -3
  648. package/resizable/resize-handles.component.d.ts +3 -3
  649. package/result/result.component.d.ts +3 -3
  650. package/result/result.module.d.ts +1 -1
  651. package/schematics/dependencies.js +1 -1
  652. package/schematics/ng-update/data/class-names.js +740 -4
  653. package/schematics/ng-update/update-17/index.spec.js +1 -1
  654. package/schematics/version.d.ts +1 -1
  655. package/schematics/version.js +1 -1
  656. package/segment/segment-item.component.d.ts +3 -3
  657. package/segment/segment.component.d.ts +7 -7
  658. package/segment/segment.module.d.ts +1 -1
  659. package/segment/segment.token.d.ts +3 -3
  660. package/select/custom-select/custom-select.component.d.ts +17 -17
  661. package/select/index.d.ts +2 -2
  662. package/select/module.d.ts +2 -2
  663. package/select/{select.component.d.ts → native-select/native-select.component.d.ts} +4 -4
  664. package/select/{custom-select/styles → styles}/custom-select.scss +1 -1
  665. package/select/{custom-select/styles → styles}/mixin.scss +2 -2
  666. package/select/styles/select.scss +4 -4
  667. package/shared/option/group/option-group.component.d.ts +5 -5
  668. package/shared/option/list-option/list-option.component.d.ts +3 -3
  669. package/shared/option/module.d.ts +1 -1
  670. package/shared/option/option-group.component.d.ts +3 -3
  671. package/shared/option/option.component.d.ts +6 -6
  672. package/shared/option/option.token.d.ts +7 -7
  673. package/shared/option/options-container.component.d.ts +3 -3
  674. package/shared/select/module.d.ts +1 -1
  675. package/shared/select/select-control/select-control.component.d.ts +3 -3
  676. package/shared/select/select-control/select-control.scss +1 -1
  677. package/skeleton/module.d.ts +1 -1
  678. package/skeleton/skeleton-circle.component.d.ts +5 -5
  679. package/skeleton/skeleton-rectangle.component.d.ts +5 -5
  680. package/skeleton/skeleton.component.d.ts +3 -3
  681. package/skeleton/stylized/bullet-list.component.d.ts +3 -3
  682. package/skeleton/stylized/list.component.d.ts +3 -3
  683. package/skeleton/stylized/paragraph.component.d.ts +3 -3
  684. package/slide/slide-body/slide-body-section.component.d.ts +3 -3
  685. package/slide/slide-body/slide-body.component.d.ts +3 -3
  686. package/slide/slide-container.component.d.ts +3 -3
  687. package/slide/slide-footer/slide-footer.component.d.ts +3 -3
  688. package/slide/slide-header/slide-header.component.d.ts +3 -3
  689. package/slide/slide-layout/slide-layout.component.d.ts +3 -3
  690. package/slide/slide-ref.service.d.ts +4 -4
  691. package/slide/slide.module.d.ts +1 -1
  692. package/slide/slide.service.d.ts +5 -5
  693. package/slider/slider.component.d.ts +3 -3
  694. package/slider/slider.module.d.ts +1 -1
  695. package/space/space.component.d.ts +3 -3
  696. package/space/space.module.d.ts +1 -1
  697. package/statistic/statistic.component.d.ts +3 -3
  698. package/statistic/statistic.module.d.ts +1 -1
  699. package/stepper/step-header.component.d.ts +3 -3
  700. package/stepper/step.component.d.ts +4 -4
  701. package/stepper/stepper-button.directive.d.ts +3 -3
  702. package/stepper/stepper.component.d.ts +10 -10
  703. package/stepper/stepper.module.d.ts +1 -1
  704. package/strength/strength.component.d.ts +3 -3
  705. package/strength/strength.module.d.ts +1 -1
  706. package/styles/index.scss +1 -1
  707. package/styles/mixins/index.scss +1 -1
  708. package/switch/switch.component.d.ts +3 -3
  709. package/switch/switch.module.d.ts +1 -1
  710. package/table/table-skeleton.component.d.ts +3 -3
  711. package/table/table.component.d.ts +3 -3
  712. package/table/table.module.d.ts +1 -1
  713. package/tabs/tab-content.component.d.ts +3 -3
  714. package/tabs/tab.component.d.ts +3 -3
  715. package/tabs/tabs.component.d.ts +7 -7
  716. package/tabs/tabs.module.d.ts +1 -1
  717. package/tag/tag.component.d.ts +3 -3
  718. package/tag/tag.module.d.ts +1 -1
  719. package/tag/tags.component.d.ts +3 -3
  720. package/time-picker/inner/inner-time-picker.component.d.ts +3 -3
  721. package/time-picker/time-picker-panel.component.d.ts +3 -3
  722. package/time-picker/time-picker.component.d.ts +3 -3
  723. package/time-picker/time-picker.module.d.ts +1 -1
  724. package/timeline/timeline-item.component.d.ts +3 -3
  725. package/timeline/timeline.component.d.ts +6 -6
  726. package/timeline/timeline.module.d.ts +1 -1
  727. package/tooltip/tooltip.component.d.ts +3 -3
  728. package/tooltip/tooltip.module.d.ts +1 -1
  729. package/transfer/transfer-list.component.d.ts +3 -3
  730. package/transfer/transfer.component.d.ts +3 -3
  731. package/transfer/transfer.module.d.ts +1 -1
  732. package/tree/tree.component.d.ts +3 -3
  733. package/tree/tree.module.d.ts +1 -1
  734. package/tree-select/module.d.ts +1 -1
  735. package/tree-select/tree-select.component.d.ts +8 -8
  736. package/typography/module.d.ts +1 -1
  737. package/typography/text/text.component.d.ts +3 -3
  738. package/upload/file-select.component.d.ts +3 -3
  739. package/upload/module.d.ts +1 -1
  740. package/vote/vote.component.d.ts +3 -3
  741. package/vote/vote.module.d.ts +1 -1
  742. package/divider/examples/color/color.component.scss +0 -5
  743. package/divider/examples/deeper/deeper.component.scss +0 -5
  744. package/divider/examples/with-text/with-text.component.scss +0 -5
  745. package/esm2022/select/select.component.mjs +0 -103
@@ -364,7 +364,7 @@ const iconSuffixMap = {
364
364
  * @name thy-icon,[thy-icon]
365
365
  * @order 10
366
366
  */
367
- class ThyIconComponent {
367
+ class ThyIcon {
368
368
  constructor(render, elementRef, iconRegistry) {
369
369
  this.render = render;
370
370
  this.elementRef = elementRef;
@@ -505,22 +505,22 @@ class ThyIconComponent {
505
505
  const titleElement = svg.querySelector('title');
506
506
  titleElement && titleElement.remove();
507
507
  }
508
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyIconComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: ThyIconRegistry }], target: i0.ɵɵFactoryTarget.Component }); }
509
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: ThyIconComponent, isStandalone: true, selector: "thy-icon, [thy-icon]", inputs: { iconType: ["thyIconType", "iconType"], iconTwotoneColor: ["thyTwotoneColor", "iconTwotoneColor"], iconName: ["thyIconName", "iconName"], iconRotate: ["thyIconRotate", "iconRotate"], iconSet: ["thyIconSet", "iconSet"], iconLegging: ["thyIconLegging", "iconLegging"], iconLinearGradient: ["thyIconLinearGradient", "iconLinearGradient"] }, host: { properties: { "class.thy-icon-legging": "this.iconLegging" }, classAttribute: "thy-icon" }, usesOnChanges: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
508
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyIcon, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: ThyIconRegistry }], target: i0.ɵɵFactoryTarget.Component }); }
509
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: ThyIcon, isStandalone: true, selector: "thy-icon, [thy-icon]", inputs: { iconType: ["thyIconType", "iconType"], iconTwotoneColor: ["thyTwotoneColor", "iconTwotoneColor"], iconName: ["thyIconName", "iconName"], iconRotate: ["thyIconRotate", "iconRotate"], iconSet: ["thyIconSet", "iconSet"], iconLegging: ["thyIconLegging", "iconLegging"], iconLinearGradient: ["thyIconLinearGradient", "iconLinearGradient"] }, host: { properties: { "class.thy-icon-legging": "this.iconLegging" }, classAttribute: "thy-icon" }, usesOnChanges: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
510
510
  }
511
511
  __decorate([
512
512
  InputNumber(),
513
513
  __metadata("design:type", Number)
514
- ], ThyIconComponent.prototype, "iconRotate", void 0);
514
+ ], ThyIcon.prototype, "iconRotate", void 0);
515
515
  __decorate([
516
516
  InputBoolean(),
517
517
  __metadata("design:type", Boolean)
518
- ], ThyIconComponent.prototype, "iconLegging", void 0);
518
+ ], ThyIcon.prototype, "iconLegging", void 0);
519
519
  __decorate([
520
520
  InputBoolean(),
521
521
  __metadata("design:type", Boolean)
522
- ], ThyIconComponent.prototype, "iconLinearGradient", void 0);
523
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyIconComponent, decorators: [{
522
+ ], ThyIcon.prototype, "iconLinearGradient", void 0);
523
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyIcon, decorators: [{
524
524
  type: Component,
525
525
  args: [{
526
526
  selector: 'thy-icon, [thy-icon]',
@@ -560,15 +560,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
560
560
 
561
561
  class ThyIconModule {
562
562
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
563
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.2", ngImport: i0, type: ThyIconModule, imports: [ThyIconComponent, CommonModule, FormsModule, HttpClientModule], exports: [ThyIconComponent] }); }
563
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.2", ngImport: i0, type: ThyIconModule, imports: [ThyIcon, CommonModule, FormsModule, HttpClientModule], exports: [ThyIcon] }); }
564
564
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyIconModule, imports: [CommonModule, FormsModule, HttpClientModule] }); }
565
565
  }
566
566
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyIconModule, decorators: [{
567
567
  type: NgModule,
568
568
  args: [{
569
569
  declarations: [],
570
- imports: [ThyIconComponent, CommonModule, FormsModule, HttpClientModule],
571
- exports: [ThyIconComponent]
570
+ imports: [ThyIcon, CommonModule, FormsModule, HttpClientModule],
571
+ exports: [ThyIcon]
572
572
  }]
573
573
  }] });
574
574
 
@@ -576,5 +576,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
576
576
  * Generated bundle index. Do not edit.
577
577
  */
578
578
 
579
- export { ThyIconComponent, ThyIconModule, ThyIconRegistry, setPrintErrorWhenIconNotFound };
579
+ export { ThyIcon, ThyIconModule, ThyIconRegistry, setPrintErrorWhenIconNotFound };
580
580
  //# sourceMappingURL=ngx-tethys-icon.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-tethys-icon.mjs","sources":["../../../src/icon/config.ts","../../../src/icon/icon-registry.ts","../../../src/icon/icon.component.ts","../../../src/icon/icon.module.ts","../../../src/icon/ngx-tethys-icon.ts"],"sourcesContent":["let printErrorWhenNotFound = true;\n\nexport function setPrintErrorWhenIconNotFound(value: boolean) {\n printErrorWhenNotFound = value;\n}\n\nexport function getWhetherPrintErrorWhenIconNotFound() {\n return printErrorWhenNotFound;\n}\n","import { forkJoin, Observable, of, throwError } from 'rxjs';\nimport { catchError, finalize, map, share, tap } from 'rxjs/operators';\n\nimport { DOCUMENT } from '@angular/common';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { Inject, Injectable, SecurityContext } from '@angular/core';\nimport { DomSanitizer, SafeHtml, SafeResourceUrl } from '@angular/platform-browser';\nimport { isString } from 'ngx-tethys/util';\n\nclass SvgIconConfig {\n url: SafeResourceUrl | null;\n svgElement: SVGElement | null;\n\n constructor(data: SafeResourceUrl | SVGElement) {\n // Note that we can't use `instanceof SVGElement` here,\n // because it'll break during server-side rendering.\n if (data && !!(data as any).nodeName) {\n this.svgElement = data as SVGElement;\n } else {\n this.url = data as SafeResourceUrl;\n }\n }\n}\n\nexport type IconMode = 'font' | 'svg';\n\nexport type SvgResourceUrl = SafeResourceUrl | string;\n\nexport type SvgHtml = SafeHtml | string;\n\n/**\n * @order 20\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class ThyIconRegistry {\n private defaultFontSetClass = 'wt-icon';\n private internalIconMode: IconMode = 'svg';\n private svgIconConfigs = new Map<string, SvgIconConfig>();\n private svgIconSetConfigs = new Map<string, SvgIconConfig[]>();\n private inProgressUrlFetches = new Map<string, Observable<string>>();\n\n public get iconMode() {\n return this.internalIconMode;\n }\n\n constructor(private sanitizer: DomSanitizer, private httpClient: HttpClient, @Inject(DOCUMENT) private document: any) {}\n\n private getIconNameNotFoundError(iconName: string): Error {\n return Error(`Unable to find icon with the name \"${iconName}\"`);\n }\n\n private getIconFailedToSanitizeLiteralError(literal: SvgHtml): Error {\n return Error(\n `The literal provided to ThyIconRegistry was not trusted as safe HTML by ` +\n `Angular's DomSanitizer. Attempted literal was \"${literal}\".`\n );\n }\n\n private internalAddSvgIconSet(namespace: string, config: SvgIconConfig): this {\n const configNamespace = this.svgIconSetConfigs.get(namespace);\n\n if (configNamespace) {\n configNamespace.push(config);\n } else {\n this.svgIconSetConfigs.set(namespace, [config]);\n }\n\n return this;\n }\n\n private cloneSvg(svg: SVGElement): SVGElement {\n return svg.cloneNode(true) as SVGElement;\n }\n\n private fetchUrl(safeUrl: SafeResourceUrl | null): Observable<string> {\n if (safeUrl == null) {\n throw Error(`Cannot fetch icon from URL \"${safeUrl}\".`);\n }\n\n const url = this.sanitizer.sanitize(SecurityContext.RESOURCE_URL, safeUrl);\n\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && !url) {\n throw new Error(\n `The URL provided to ThyIconRegistry was not trusted as a resource URL ` +\n `via Angular's DomSanitizer. Attempted URL was \"${url}\".`\n );\n }\n\n // Store in-progress fetches to avoid sending a duplicate request for a URL when there is\n // already a request in progress for that URL. It's necessary to call share() on the\n // Observable returned by http.get() so that multiple subscribers don't cause multiple XHRs.\n const inProgressFetch = this.inProgressUrlFetches.get(url);\n\n if (inProgressFetch) {\n return inProgressFetch;\n } else {\n // TODO(jelbourn): for some reason, the `finalize` operator \"loses\" the generic type on the\n // Observable. Figure out why and fix it.\n const req = this.httpClient.get(url, { responseType: 'text' }).pipe(\n finalize(() => this.inProgressUrlFetches.delete(url)),\n share()\n );\n\n this.inProgressUrlFetches.set(url, req);\n return req;\n }\n }\n\n private toSvgElement(element: Element): SVGElement {\n const svg = this.svgElementFromString('<svg></svg>');\n\n for (let i = 0; i < element.childNodes.length; i++) {\n if (element.childNodes[i].nodeType === this.document.ELEMENT_NODE) {\n svg.appendChild(element.childNodes[i].cloneNode(true));\n }\n }\n\n return svg;\n }\n\n private extractSvgIconFromIconSet(iconSet: SVGElement, iconName: string): SVGElement | null {\n // Use the `id=\"iconName\"` syntax in order to escape special\n // characters in the ID (versus using the #iconName syntax).\n const iconSource = iconSet.querySelector(`[id=\"${iconName}\"]`);\n\n if (!iconSource) {\n return null;\n }\n\n // Clone the element and remove the ID to prevent multiple elements from being added\n // to the page with the same ID.\n const iconElement = iconSource.cloneNode(true) as Element;\n iconElement.removeAttribute('id');\n\n // If the icon node is itself an <svg> node, clone and return it directly. If not, set it as\n // the content of a new <svg> node.\n if (iconElement.nodeName.toLowerCase() === 'svg') {\n return this.setSvgAttributes(iconElement as SVGElement);\n }\n\n // If the node is a <symbol>, it won't be rendered so we have to convert it into <svg>. Note\n // that the same could be achieved by referring to it via <use href=\"#id\">, however the <use>\n // tag is problematic on Firefox, because it needs to include the current page path.\n if (iconElement.nodeName.toLowerCase() === 'symbol') {\n return this.setSvgAttributes(this.toSvgElement(iconElement));\n }\n\n // createElement('SVG') doesn't work as expected; the DOM ends up with\n // the correct nodes, but the SVG content doesn't render. Instead we\n // have to create an empty SVG node using innerHTML and append its content.\n // Elements created using DOMParser.parseFromString have the same problem.\n // http://stackoverflow.com/questions/23003278/svg-innerhtml-in-firefox-can-not-display\n const svg = this.svgElementFromString('<svg></svg>');\n // Clone the node so we don't remove it from the parent icon set element.\n svg.appendChild(iconElement);\n\n return this.setSvgAttributes(svg);\n }\n\n private extractIconWithNameFromIconSetConfigs(iconName: string, iconSetConfigs: SvgIconConfig[]): SVGElement | null {\n // Iterate backwards, so icon sets added later have precedence.\n for (let i = iconSetConfigs.length - 1; i >= 0; i--) {\n const config = iconSetConfigs[i];\n if (config.svgElement) {\n const foundIcon = this.extractSvgIconFromIconSet(config.svgElement, iconName);\n if (foundIcon) {\n return foundIcon;\n }\n }\n }\n return null;\n }\n\n private svgElementFromString(str: string): SVGElement {\n const div = this.document.createElement('DIV');\n div.innerHTML = str;\n const svg = div.querySelector('svg') as SVGElement;\n\n if (!svg) {\n throw Error('<svg> tag not found');\n }\n\n return svg;\n }\n\n private setSvgAttributes(svg: SVGElement): SVGElement {\n svg.setAttribute('fit', '');\n svg.setAttribute('height', '1em');\n svg.setAttribute('width', '1em');\n svg.setAttribute('preserveAspectRatio', 'xMidYMid meet');\n svg.setAttribute('focusable', 'false'); // Disable IE11 default behavior to make SVGs focusable.\n return svg;\n }\n\n private createSvgElementForSingleIcon(responseText: string): SVGElement {\n const svg = this.svgElementFromString(responseText);\n this.setSvgAttributes(svg);\n return svg;\n }\n\n private loadSvgIconFromConfig(config: SvgIconConfig): Observable<SVGElement> {\n return this.fetchUrl(config.url).pipe(map(svgText => this.createSvgElementForSingleIcon(svgText)));\n }\n\n private loadSvgIconSetFromConfig(config: SvgIconConfig): Observable<SVGElement> {\n // If the SVG for this icon set has already been parsed, do nothing.\n if (config.svgElement) {\n return of(config.svgElement);\n }\n\n return this.fetchUrl(config.url).pipe(\n map(svgText => {\n // It is possible that the icon set was parsed and cached by an earlier request, so parsing\n // only needs to occur if the cache is yet unset.\n if (!config.svgElement) {\n config.svgElement = this.svgElementFromString(svgText);\n }\n\n return config.svgElement;\n })\n );\n }\n\n private getSvgFromConfig(config: SvgIconConfig): Observable<SVGElement> {\n if (config.svgElement) {\n // We already have the SVG element for this icon, return a copy.\n return of(this.cloneSvg(config.svgElement));\n } else {\n // Fetch the icon from the config's URL, cache it, and return a copy.\n return this.loadSvgIconFromConfig(config).pipe(\n tap(svg => (config.svgElement = svg)),\n map(svg => this.cloneSvg(svg))\n );\n }\n }\n\n private getSvgFromIconSetConfigs(name: string, iconSetConfigs: SvgIconConfig[]): Observable<SVGElement> {\n // For all the icon set SVG elements we've fetched, see if any contain an icon with the\n // requested name.\n const namedIcon = this.extractIconWithNameFromIconSetConfigs(name, iconSetConfigs);\n\n if (namedIcon) {\n // We could cache namedIcon in svgIconConfigs, but since we have to make a copy every\n // time anyway, there's probably not much advantage compared to just always extracting\n // it from the icon set.\n return of(namedIcon);\n }\n\n // Not found in any cached icon sets. If there are icon sets with URLs that we haven't\n // fetched, fetch them now and look for iconName in the results.\n const iconSetFetchRequests: Observable<SVGElement | null>[] = iconSetConfigs\n .filter(iconSetConfig => !iconSetConfig.svgElement)\n .map(iconSetConfig => {\n return this.loadSvgIconSetFromConfig(iconSetConfig).pipe(\n catchError((err: HttpErrorResponse): Observable<SVGElement | null> => {\n const url = this.sanitizer.sanitize(SecurityContext.RESOURCE_URL, iconSetConfig.url);\n\n // Swallow errors fetching individual URLs so the\n // combined Observable won't necessarily fail.\n console.error(`Loading icon set URL: ${url} failed: ${err.message}`);\n return of(null);\n })\n );\n });\n\n // Fetch all the icon set URLs. When the requests complete, every IconSet should have a\n // cached SVG element (unless the request failed), and we can check again for the icon.\n return forkJoin(iconSetFetchRequests).pipe(\n map(() => {\n const foundIcon = this.extractIconWithNameFromIconSetConfigs(name, iconSetConfigs);\n\n if (!foundIcon) {\n throw this.getIconNameNotFoundError(name);\n }\n\n return foundIcon;\n })\n );\n }\n\n private internalAddSvgIconConfig(namespace: string, iconName: string, config: SvgIconConfig): this {\n this.svgIconConfigs.set(this.buildIconKey(namespace, iconName), config);\n return this;\n }\n\n public buildIconKey(namespace: string, name: string) {\n return namespace + ':' + name;\n }\n\n public splitIconName(iconName: string): [string, string] {\n if (!iconName) {\n return ['', ''];\n }\n const parts = iconName.split(':');\n switch (parts.length) {\n case 1:\n return ['', parts[0]]; // Use default namespace.\n case 2:\n return <[string, string]>parts;\n default:\n throw Error(`Invalid icon name: \"${iconName}\"`);\n }\n }\n\n public addSvgIconSetInNamespace(namespace: string, url: SvgResourceUrl): this {\n url = isString(url) ? this.sanitizer.bypassSecurityTrustResourceUrl(url) : url;\n return this.internalAddSvgIconSet(namespace, new SvgIconConfig(url));\n }\n\n /**\n * 添加SVG图标集,添加到默认命名空间\n */\n public addSvgIconSet(url: SvgResourceUrl): this {\n return this.addSvgIconSetInNamespace('', url);\n }\n\n public addSvgIconSetLiteralInNamespace(namespace: string, literal: SafeHtml): this {\n const sanitizedLiteral = this.sanitizer.sanitize(SecurityContext.HTML, literal);\n\n if (!sanitizedLiteral) {\n throw this.getIconFailedToSanitizeLiteralError(literal);\n }\n\n const svgElement = this.svgElementFromString(sanitizedLiteral);\n return this.internalAddSvgIconSet(namespace, new SvgIconConfig(svgElement));\n }\n\n public addSvgIconSetLiteral(literal: SafeHtml): this {\n return this.addSvgIconSetLiteralInNamespace('', literal);\n }\n\n /**\n * @description.en-us Registers an icon by URL in the specified namespace.\n * @description 添加单个SVG图标到指定的命名空间\n * @param namespace Namespace in which the icon should be registered.\n * @param iconName Name under which the icon should be registered.\n * @param url\n */\n public addSvgIconInNamespace(namespace: string, iconName: string, url: SvgResourceUrl): this {\n url = isString(url) ? this.sanitizer.bypassSecurityTrustResourceUrl(url) : url;\n return this.internalAddSvgIconConfig(namespace, iconName, new SvgIconConfig(url));\n }\n\n /**\n * @description.en-us Registers an icon by URL in the default namespace.\n * @description 添加单个SVG图标\n * @param iconName Name under which the icon should be registered.\n * @param url\n */\n public addSvgIcon(iconName: string, url: SvgResourceUrl): this {\n return this.addSvgIconInNamespace('', iconName, url);\n }\n\n /**\n * @description.en-us Registers an icon using an HTML string in the default namespace.\n * @description 添加单个SVG图标字符串,直接传入 SVG HTML 字符串\n * @param iconName Name under which the icon should be registered.\n * @param literal SVG source of the icon.\n */\n public addSvgIconLiteral(iconName: string, literal: SvgHtml): this {\n return this.addSvgIconLiteralInNamespace('', iconName, literal);\n }\n\n /**\n * @description.en-us Registers an icon using an HTML string in the specified namespace.\n * @description 添加单个SVG图标字符串到指定的命名空间,直接传入 SVG HTML 字符串\n * @param namespace Namespace in which the icon should be registered.\n * @param iconName Name under which the icon should be registered.\n * @param literal SVG source of the icon.\n */\n public addSvgIconLiteralInNamespace(namespace: string, iconName: string, literal: SvgHtml): this {\n literal = isString(literal) ? this.sanitizer.bypassSecurityTrustHtml(literal) : literal;\n const sanitizedLiteral = this.sanitizer.sanitize(SecurityContext.HTML, literal);\n\n if (!sanitizedLiteral) {\n throw this.getIconFailedToSanitizeLiteralError(literal);\n }\n\n const svgElement = this.createSvgElementForSingleIcon(sanitizedLiteral);\n return this.internalAddSvgIconConfig(namespace, iconName, new SvgIconConfig(svgElement));\n }\n\n public getDefaultFontSetClass() {\n return this.defaultFontSetClass;\n }\n\n public getFontSetClassByAlias(fontSet: string) {\n return fontSet;\n }\n\n /**\n * 获取某个图标\n */\n public getSvgIcon(name: string, namespace: string = ''): Observable<SVGElement> {\n // Return (copy of) cached icon if possible.\n const key = this.buildIconKey(namespace, name);\n const config = this.svgIconConfigs.get(key);\n\n if (config) {\n return this.getSvgFromConfig(config);\n }\n\n // See if we have any icon sets registered for the namespace.\n const iconSetConfigs = this.svgIconSetConfigs.get(namespace);\n\n if (iconSetConfigs) {\n return this.getSvgFromIconSetConfigs(name, iconSetConfigs);\n }\n\n return throwError(this.getIconNameNotFoundError(key));\n }\n\n public setIconMode(mode: IconMode) {\n this.internalIconMode = mode;\n }\n}\n","import { InputBoolean, InputNumber } from 'ngx-tethys/core';\nimport { take } from 'rxjs/operators';\nimport { useHostRenderer } from '@tethys/cdk/dom';\n\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n Renderer2,\n SimpleChanges,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { getWhetherPrintErrorWhenIconNotFound } from './config';\nimport { ThyIconRegistry } from './icon-registry';\n\nconst iconSuffixMap = {\n fill: 'fill',\n twotone: 'tt'\n};\n\n/**\n * 图标组件\n * @name thy-icon,[thy-icon]\n * @order 10\n */\n@Component({\n selector: 'thy-icon, [thy-icon]',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n host: {\n class: 'thy-icon'\n }\n})\nexport class ThyIconComponent implements OnInit, OnChanges {\n private initialized = false;\n\n /**\n * 图标的类型\n * @type outline | fill | twotone\n */\n @Input('thyIconType') iconType: 'outline' | 'fill' | 'twotone' = 'outline';\n\n @Input('thyTwotoneColor') iconTwotoneColor: string;\n\n /**\n * 图标的名字\n */\n @Input('thyIconName') iconName: string;\n\n /**\n * 图标的旋转角度\n * @default 0\n */\n @Input('thyIconRotate') @InputNumber() iconRotate: number;\n\n @Input('thyIconSet') iconSet: string;\n\n /**\n * 图标打底色,镂空的图标,会透过颜色来\n * @default false\n */\n @HostBinding(`class.thy-icon-legging`)\n @Input('thyIconLegging')\n @InputBoolean()\n iconLegging: boolean;\n\n @Input('thyIconLinearGradient')\n @InputBoolean()\n iconLinearGradient: boolean;\n\n private hostRenderer = useHostRenderer();\n\n constructor(private render: Renderer2, private elementRef: ElementRef, private iconRegistry: ThyIconRegistry) {}\n\n ngOnInit() {\n this.updateClasses();\n this.initialized = true;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (this.initialized) {\n if (\n changes['iconName'] ||\n changes['iconSet'] ||\n changes['iconTwotoneColor'] ||\n changes['iconType'] ||\n changes['iconLinearGradient']\n ) {\n this.updateClasses();\n } else if (changes['iconRotate']) {\n this.setStyleRotate();\n }\n }\n }\n\n private updateClasses() {\n const [namespace, iconName] = this.iconRegistry.splitIconName(this.iconName);\n if (iconName) {\n if (this.iconRegistry.iconMode === 'svg') {\n this.iconRegistry\n .getSvgIcon(this.buildIconNameByType(iconName), namespace)\n .pipe(take(1))\n .subscribe(\n svg => {\n this.setSvgElement(svg);\n },\n (error: Error) => {\n if (getWhetherPrintErrorWhenIconNotFound()) {\n console.error(`Error retrieving icon: ${error.message}`);\n }\n }\n );\n this.hostRenderer.updateClass([`thy-icon${namespace ? `-${namespace}` : ``}-${this.buildIconNameByType(iconName)}`]);\n } else {\n const fontSetClass = this.iconSet\n ? this.iconRegistry.getFontSetClassByAlias(this.iconSet)\n : this.iconRegistry.getDefaultFontSetClass();\n this.hostRenderer.updateClass([fontSetClass, `${fontSetClass}-${this.iconName}`]);\n }\n }\n }\n\n private setStyleRotate() {\n if (this.iconRotate !== undefined) {\n this.render.setStyle(this.elementRef.nativeElement.querySelector('svg'), 'transform', `rotate(${this.iconRotate}deg)`);\n }\n }\n\n //#region svg element\n\n private setSvgElement(svg: SVGElement) {\n this.clearSvgElement();\n\n // Workaround for IE11 and Edge ignoring `style` tags inside dynamically-created SVGs.\n // See: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/10898469/\n // Do this before inserting the element into the DOM, in order to avoid a style recalculation.\n const styleTags = svg.querySelectorAll('style') as NodeListOf<HTMLStyleElement>;\n\n for (let i = 0; i < styleTags.length; i++) {\n styleTags[i].textContent += ' ';\n }\n\n if (this.iconType === 'twotone') {\n const allPaths = svg.querySelectorAll('path');\n if (allPaths.length > 1) {\n allPaths.forEach((child, index: number) => {\n if (child.getAttribute('id').includes('secondary-color')) {\n child.setAttribute('fill', this.iconTwotoneColor);\n }\n });\n }\n }\n\n // Note: we do this fix here, rather than the icon registry, because the\n // references have to point to the URL at the time that the icon was created.\n // if (this._location) {\n // const path = this._location.getPathname();\n // this._previousPath = path;\n // this._cacheChildrenWithExternalReferences(svg);\n // this._prependPathToReferences(path);\n // }\n if (this.iconLinearGradient) {\n this.setBaseUrl(svg);\n this.clearTitleElement(svg);\n }\n\n this.elementRef.nativeElement.appendChild(svg);\n this.setStyleRotate();\n }\n\n private clearSvgElement() {\n const layoutElement: HTMLElement = this.elementRef.nativeElement;\n let childCount = layoutElement.childNodes.length;\n\n // if (this._elementsWithExternalReferences) {\n // this._elementsWithExternalReferences.clear();\n // }\n\n // Remove existing non-element child nodes and SVGs, and add the new SVG element. Note that\n // we can't use innerHTML, because IE will throw if the element has a data binding.\n while (childCount--) {\n const child = layoutElement.childNodes[childCount];\n\n // 1 corresponds to Node.ELEMENT_NODE. We remove all non-element nodes in order to get rid\n // of any loose text nodes, as well as any SVG elements in order to remove any old icons.\n if (child.nodeType !== 1 || child.nodeName.toLowerCase() === 'svg') {\n layoutElement.removeChild(child);\n }\n }\n }\n\n //#endregion\n\n private buildIconNameByType(iconName: string) {\n if (this.iconType && ['fill', 'twotone'].indexOf(this.iconType) >= 0) {\n const suffix = iconSuffixMap[this.iconType];\n return iconName.includes(`-${suffix}`) ? iconName : `${iconName}-${suffix}`;\n } else {\n return iconName;\n }\n }\n\n /**\n * Support Safari SVG LinearGradient.\n * @param svg\n */\n private setBaseUrl(svg: SVGElement) {\n const styleElements = svg.querySelectorAll('style');\n styleElements.forEach((n: HTMLElement) => {\n if (n.style.cssText.includes('url')) {\n n.style.fill = n.style.fill.replace('url(\"', 'url(\"' + location.pathname);\n }\n if (n.style.cssText.includes('clip-path')) {\n n.style.clipPath = n.style.clipPath.replace('url(\"', 'url(\"' + location.pathname);\n }\n });\n }\n\n private clearTitleElement(svg: SVGElement) {\n const titleElement = svg.querySelector('title');\n titleElement && titleElement.remove();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { ThyIconComponent } from './icon.component';\nimport { HttpClientModule } from '@angular/common/http';\n\n@NgModule({\n declarations: [],\n imports: [ThyIconComponent, CommonModule, FormsModule, HttpClientModule],\n exports: [ThyIconComponent]\n})\nexport class ThyIconModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.ThyIconRegistry"],"mappings":"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"}
1
+ {"version":3,"file":"ngx-tethys-icon.mjs","sources":["../../../src/icon/config.ts","../../../src/icon/icon-registry.ts","../../../src/icon/icon.component.ts","../../../src/icon/icon.module.ts","../../../src/icon/ngx-tethys-icon.ts"],"sourcesContent":["let printErrorWhenNotFound = true;\n\nexport function setPrintErrorWhenIconNotFound(value: boolean) {\n printErrorWhenNotFound = value;\n}\n\nexport function getWhetherPrintErrorWhenIconNotFound() {\n return printErrorWhenNotFound;\n}\n","import { forkJoin, Observable, of, throwError } from 'rxjs';\nimport { catchError, finalize, map, share, tap } from 'rxjs/operators';\n\nimport { DOCUMENT } from '@angular/common';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { Inject, Injectable, SecurityContext } from '@angular/core';\nimport { DomSanitizer, SafeHtml, SafeResourceUrl } from '@angular/platform-browser';\nimport { isString } from 'ngx-tethys/util';\n\nclass SvgIconConfig {\n url: SafeResourceUrl | null;\n svgElement: SVGElement | null;\n\n constructor(data: SafeResourceUrl | SVGElement) {\n // Note that we can't use `instanceof SVGElement` here,\n // because it'll break during server-side rendering.\n if (data && !!(data as any).nodeName) {\n this.svgElement = data as SVGElement;\n } else {\n this.url = data as SafeResourceUrl;\n }\n }\n}\n\nexport type IconMode = 'font' | 'svg';\n\nexport type SvgResourceUrl = SafeResourceUrl | string;\n\nexport type SvgHtml = SafeHtml | string;\n\n/**\n * @order 20\n */\n@Injectable({\n providedIn: 'root'\n})\nexport class ThyIconRegistry {\n private defaultFontSetClass = 'wt-icon';\n private internalIconMode: IconMode = 'svg';\n private svgIconConfigs = new Map<string, SvgIconConfig>();\n private svgIconSetConfigs = new Map<string, SvgIconConfig[]>();\n private inProgressUrlFetches = new Map<string, Observable<string>>();\n\n public get iconMode() {\n return this.internalIconMode;\n }\n\n constructor(private sanitizer: DomSanitizer, private httpClient: HttpClient, @Inject(DOCUMENT) private document: any) {}\n\n private getIconNameNotFoundError(iconName: string): Error {\n return Error(`Unable to find icon with the name \"${iconName}\"`);\n }\n\n private getIconFailedToSanitizeLiteralError(literal: SvgHtml): Error {\n return Error(\n `The literal provided to ThyIconRegistry was not trusted as safe HTML by ` +\n `Angular's DomSanitizer. Attempted literal was \"${literal}\".`\n );\n }\n\n private internalAddSvgIconSet(namespace: string, config: SvgIconConfig): this {\n const configNamespace = this.svgIconSetConfigs.get(namespace);\n\n if (configNamespace) {\n configNamespace.push(config);\n } else {\n this.svgIconSetConfigs.set(namespace, [config]);\n }\n\n return this;\n }\n\n private cloneSvg(svg: SVGElement): SVGElement {\n return svg.cloneNode(true) as SVGElement;\n }\n\n private fetchUrl(safeUrl: SafeResourceUrl | null): Observable<string> {\n if (safeUrl == null) {\n throw Error(`Cannot fetch icon from URL \"${safeUrl}\".`);\n }\n\n const url = this.sanitizer.sanitize(SecurityContext.RESOURCE_URL, safeUrl);\n\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && !url) {\n throw new Error(\n `The URL provided to ThyIconRegistry was not trusted as a resource URL ` +\n `via Angular's DomSanitizer. Attempted URL was \"${url}\".`\n );\n }\n\n // Store in-progress fetches to avoid sending a duplicate request for a URL when there is\n // already a request in progress for that URL. It's necessary to call share() on the\n // Observable returned by http.get() so that multiple subscribers don't cause multiple XHRs.\n const inProgressFetch = this.inProgressUrlFetches.get(url);\n\n if (inProgressFetch) {\n return inProgressFetch;\n } else {\n // TODO(jelbourn): for some reason, the `finalize` operator \"loses\" the generic type on the\n // Observable. Figure out why and fix it.\n const req = this.httpClient.get(url, { responseType: 'text' }).pipe(\n finalize(() => this.inProgressUrlFetches.delete(url)),\n share()\n );\n\n this.inProgressUrlFetches.set(url, req);\n return req;\n }\n }\n\n private toSvgElement(element: Element): SVGElement {\n const svg = this.svgElementFromString('<svg></svg>');\n\n for (let i = 0; i < element.childNodes.length; i++) {\n if (element.childNodes[i].nodeType === this.document.ELEMENT_NODE) {\n svg.appendChild(element.childNodes[i].cloneNode(true));\n }\n }\n\n return svg;\n }\n\n private extractSvgIconFromIconSet(iconSet: SVGElement, iconName: string): SVGElement | null {\n // Use the `id=\"iconName\"` syntax in order to escape special\n // characters in the ID (versus using the #iconName syntax).\n const iconSource = iconSet.querySelector(`[id=\"${iconName}\"]`);\n\n if (!iconSource) {\n return null;\n }\n\n // Clone the element and remove the ID to prevent multiple elements from being added\n // to the page with the same ID.\n const iconElement = iconSource.cloneNode(true) as Element;\n iconElement.removeAttribute('id');\n\n // If the icon node is itself an <svg> node, clone and return it directly. If not, set it as\n // the content of a new <svg> node.\n if (iconElement.nodeName.toLowerCase() === 'svg') {\n return this.setSvgAttributes(iconElement as SVGElement);\n }\n\n // If the node is a <symbol>, it won't be rendered so we have to convert it into <svg>. Note\n // that the same could be achieved by referring to it via <use href=\"#id\">, however the <use>\n // tag is problematic on Firefox, because it needs to include the current page path.\n if (iconElement.nodeName.toLowerCase() === 'symbol') {\n return this.setSvgAttributes(this.toSvgElement(iconElement));\n }\n\n // createElement('SVG') doesn't work as expected; the DOM ends up with\n // the correct nodes, but the SVG content doesn't render. Instead we\n // have to create an empty SVG node using innerHTML and append its content.\n // Elements created using DOMParser.parseFromString have the same problem.\n // http://stackoverflow.com/questions/23003278/svg-innerhtml-in-firefox-can-not-display\n const svg = this.svgElementFromString('<svg></svg>');\n // Clone the node so we don't remove it from the parent icon set element.\n svg.appendChild(iconElement);\n\n return this.setSvgAttributes(svg);\n }\n\n private extractIconWithNameFromIconSetConfigs(iconName: string, iconSetConfigs: SvgIconConfig[]): SVGElement | null {\n // Iterate backwards, so icon sets added later have precedence.\n for (let i = iconSetConfigs.length - 1; i >= 0; i--) {\n const config = iconSetConfigs[i];\n if (config.svgElement) {\n const foundIcon = this.extractSvgIconFromIconSet(config.svgElement, iconName);\n if (foundIcon) {\n return foundIcon;\n }\n }\n }\n return null;\n }\n\n private svgElementFromString(str: string): SVGElement {\n const div = this.document.createElement('DIV');\n div.innerHTML = str;\n const svg = div.querySelector('svg') as SVGElement;\n\n if (!svg) {\n throw Error('<svg> tag not found');\n }\n\n return svg;\n }\n\n private setSvgAttributes(svg: SVGElement): SVGElement {\n svg.setAttribute('fit', '');\n svg.setAttribute('height', '1em');\n svg.setAttribute('width', '1em');\n svg.setAttribute('preserveAspectRatio', 'xMidYMid meet');\n svg.setAttribute('focusable', 'false'); // Disable IE11 default behavior to make SVGs focusable.\n return svg;\n }\n\n private createSvgElementForSingleIcon(responseText: string): SVGElement {\n const svg = this.svgElementFromString(responseText);\n this.setSvgAttributes(svg);\n return svg;\n }\n\n private loadSvgIconFromConfig(config: SvgIconConfig): Observable<SVGElement> {\n return this.fetchUrl(config.url).pipe(map(svgText => this.createSvgElementForSingleIcon(svgText)));\n }\n\n private loadSvgIconSetFromConfig(config: SvgIconConfig): Observable<SVGElement> {\n // If the SVG for this icon set has already been parsed, do nothing.\n if (config.svgElement) {\n return of(config.svgElement);\n }\n\n return this.fetchUrl(config.url).pipe(\n map(svgText => {\n // It is possible that the icon set was parsed and cached by an earlier request, so parsing\n // only needs to occur if the cache is yet unset.\n if (!config.svgElement) {\n config.svgElement = this.svgElementFromString(svgText);\n }\n\n return config.svgElement;\n })\n );\n }\n\n private getSvgFromConfig(config: SvgIconConfig): Observable<SVGElement> {\n if (config.svgElement) {\n // We already have the SVG element for this icon, return a copy.\n return of(this.cloneSvg(config.svgElement));\n } else {\n // Fetch the icon from the config's URL, cache it, and return a copy.\n return this.loadSvgIconFromConfig(config).pipe(\n tap(svg => (config.svgElement = svg)),\n map(svg => this.cloneSvg(svg))\n );\n }\n }\n\n private getSvgFromIconSetConfigs(name: string, iconSetConfigs: SvgIconConfig[]): Observable<SVGElement> {\n // For all the icon set SVG elements we've fetched, see if any contain an icon with the\n // requested name.\n const namedIcon = this.extractIconWithNameFromIconSetConfigs(name, iconSetConfigs);\n\n if (namedIcon) {\n // We could cache namedIcon in svgIconConfigs, but since we have to make a copy every\n // time anyway, there's probably not much advantage compared to just always extracting\n // it from the icon set.\n return of(namedIcon);\n }\n\n // Not found in any cached icon sets. If there are icon sets with URLs that we haven't\n // fetched, fetch them now and look for iconName in the results.\n const iconSetFetchRequests: Observable<SVGElement | null>[] = iconSetConfigs\n .filter(iconSetConfig => !iconSetConfig.svgElement)\n .map(iconSetConfig => {\n return this.loadSvgIconSetFromConfig(iconSetConfig).pipe(\n catchError((err: HttpErrorResponse): Observable<SVGElement | null> => {\n const url = this.sanitizer.sanitize(SecurityContext.RESOURCE_URL, iconSetConfig.url);\n\n // Swallow errors fetching individual URLs so the\n // combined Observable won't necessarily fail.\n console.error(`Loading icon set URL: ${url} failed: ${err.message}`);\n return of(null);\n })\n );\n });\n\n // Fetch all the icon set URLs. When the requests complete, every IconSet should have a\n // cached SVG element (unless the request failed), and we can check again for the icon.\n return forkJoin(iconSetFetchRequests).pipe(\n map(() => {\n const foundIcon = this.extractIconWithNameFromIconSetConfigs(name, iconSetConfigs);\n\n if (!foundIcon) {\n throw this.getIconNameNotFoundError(name);\n }\n\n return foundIcon;\n })\n );\n }\n\n private internalAddSvgIconConfig(namespace: string, iconName: string, config: SvgIconConfig): this {\n this.svgIconConfigs.set(this.buildIconKey(namespace, iconName), config);\n return this;\n }\n\n public buildIconKey(namespace: string, name: string) {\n return namespace + ':' + name;\n }\n\n public splitIconName(iconName: string): [string, string] {\n if (!iconName) {\n return ['', ''];\n }\n const parts = iconName.split(':');\n switch (parts.length) {\n case 1:\n return ['', parts[0]]; // Use default namespace.\n case 2:\n return <[string, string]>parts;\n default:\n throw Error(`Invalid icon name: \"${iconName}\"`);\n }\n }\n\n public addSvgIconSetInNamespace(namespace: string, url: SvgResourceUrl): this {\n url = isString(url) ? this.sanitizer.bypassSecurityTrustResourceUrl(url) : url;\n return this.internalAddSvgIconSet(namespace, new SvgIconConfig(url));\n }\n\n /**\n * 添加SVG图标集,添加到默认命名空间\n */\n public addSvgIconSet(url: SvgResourceUrl): this {\n return this.addSvgIconSetInNamespace('', url);\n }\n\n public addSvgIconSetLiteralInNamespace(namespace: string, literal: SafeHtml): this {\n const sanitizedLiteral = this.sanitizer.sanitize(SecurityContext.HTML, literal);\n\n if (!sanitizedLiteral) {\n throw this.getIconFailedToSanitizeLiteralError(literal);\n }\n\n const svgElement = this.svgElementFromString(sanitizedLiteral);\n return this.internalAddSvgIconSet(namespace, new SvgIconConfig(svgElement));\n }\n\n public addSvgIconSetLiteral(literal: SafeHtml): this {\n return this.addSvgIconSetLiteralInNamespace('', literal);\n }\n\n /**\n * @description.en-us Registers an icon by URL in the specified namespace.\n * @description 添加单个SVG图标到指定的命名空间\n * @param namespace Namespace in which the icon should be registered.\n * @param iconName Name under which the icon should be registered.\n * @param url\n */\n public addSvgIconInNamespace(namespace: string, iconName: string, url: SvgResourceUrl): this {\n url = isString(url) ? this.sanitizer.bypassSecurityTrustResourceUrl(url) : url;\n return this.internalAddSvgIconConfig(namespace, iconName, new SvgIconConfig(url));\n }\n\n /**\n * @description.en-us Registers an icon by URL in the default namespace.\n * @description 添加单个SVG图标\n * @param iconName Name under which the icon should be registered.\n * @param url\n */\n public addSvgIcon(iconName: string, url: SvgResourceUrl): this {\n return this.addSvgIconInNamespace('', iconName, url);\n }\n\n /**\n * @description.en-us Registers an icon using an HTML string in the default namespace.\n * @description 添加单个SVG图标字符串,直接传入 SVG HTML 字符串\n * @param iconName Name under which the icon should be registered.\n * @param literal SVG source of the icon.\n */\n public addSvgIconLiteral(iconName: string, literal: SvgHtml): this {\n return this.addSvgIconLiteralInNamespace('', iconName, literal);\n }\n\n /**\n * @description.en-us Registers an icon using an HTML string in the specified namespace.\n * @description 添加单个SVG图标字符串到指定的命名空间,直接传入 SVG HTML 字符串\n * @param namespace Namespace in which the icon should be registered.\n * @param iconName Name under which the icon should be registered.\n * @param literal SVG source of the icon.\n */\n public addSvgIconLiteralInNamespace(namespace: string, iconName: string, literal: SvgHtml): this {\n literal = isString(literal) ? this.sanitizer.bypassSecurityTrustHtml(literal) : literal;\n const sanitizedLiteral = this.sanitizer.sanitize(SecurityContext.HTML, literal);\n\n if (!sanitizedLiteral) {\n throw this.getIconFailedToSanitizeLiteralError(literal);\n }\n\n const svgElement = this.createSvgElementForSingleIcon(sanitizedLiteral);\n return this.internalAddSvgIconConfig(namespace, iconName, new SvgIconConfig(svgElement));\n }\n\n public getDefaultFontSetClass() {\n return this.defaultFontSetClass;\n }\n\n public getFontSetClassByAlias(fontSet: string) {\n return fontSet;\n }\n\n /**\n * 获取某个图标\n */\n public getSvgIcon(name: string, namespace: string = ''): Observable<SVGElement> {\n // Return (copy of) cached icon if possible.\n const key = this.buildIconKey(namespace, name);\n const config = this.svgIconConfigs.get(key);\n\n if (config) {\n return this.getSvgFromConfig(config);\n }\n\n // See if we have any icon sets registered for the namespace.\n const iconSetConfigs = this.svgIconSetConfigs.get(namespace);\n\n if (iconSetConfigs) {\n return this.getSvgFromIconSetConfigs(name, iconSetConfigs);\n }\n\n return throwError(this.getIconNameNotFoundError(key));\n }\n\n public setIconMode(mode: IconMode) {\n this.internalIconMode = mode;\n }\n}\n","import { InputBoolean, InputNumber } from 'ngx-tethys/core';\nimport { take } from 'rxjs/operators';\nimport { useHostRenderer } from '@tethys/cdk/dom';\n\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n Renderer2,\n SimpleChanges,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { getWhetherPrintErrorWhenIconNotFound } from './config';\nimport { ThyIconRegistry } from './icon-registry';\n\nconst iconSuffixMap = {\n fill: 'fill',\n twotone: 'tt'\n};\n\n/**\n * 图标组件\n * @name thy-icon,[thy-icon]\n * @order 10\n */\n@Component({\n selector: 'thy-icon, [thy-icon]',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n host: {\n class: 'thy-icon'\n }\n})\nexport class ThyIcon implements OnInit, OnChanges {\n private initialized = false;\n\n /**\n * 图标的类型\n * @type outline | fill | twotone\n */\n @Input('thyIconType') iconType: 'outline' | 'fill' | 'twotone' = 'outline';\n\n @Input('thyTwotoneColor') iconTwotoneColor: string;\n\n /**\n * 图标的名字\n */\n @Input('thyIconName') iconName: string;\n\n /**\n * 图标的旋转角度\n * @default 0\n */\n @Input('thyIconRotate') @InputNumber() iconRotate: number;\n\n @Input('thyIconSet') iconSet: string;\n\n /**\n * 图标打底色,镂空的图标,会透过颜色来\n * @default false\n */\n @HostBinding(`class.thy-icon-legging`)\n @Input('thyIconLegging')\n @InputBoolean()\n iconLegging: boolean;\n\n @Input('thyIconLinearGradient')\n @InputBoolean()\n iconLinearGradient: boolean;\n\n private hostRenderer = useHostRenderer();\n\n constructor(private render: Renderer2, private elementRef: ElementRef, private iconRegistry: ThyIconRegistry) {}\n\n ngOnInit() {\n this.updateClasses();\n this.initialized = true;\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (this.initialized) {\n if (\n changes['iconName'] ||\n changes['iconSet'] ||\n changes['iconTwotoneColor'] ||\n changes['iconType'] ||\n changes['iconLinearGradient']\n ) {\n this.updateClasses();\n } else if (changes['iconRotate']) {\n this.setStyleRotate();\n }\n }\n }\n\n private updateClasses() {\n const [namespace, iconName] = this.iconRegistry.splitIconName(this.iconName);\n if (iconName) {\n if (this.iconRegistry.iconMode === 'svg') {\n this.iconRegistry\n .getSvgIcon(this.buildIconNameByType(iconName), namespace)\n .pipe(take(1))\n .subscribe(\n svg => {\n this.setSvgElement(svg);\n },\n (error: Error) => {\n if (getWhetherPrintErrorWhenIconNotFound()) {\n console.error(`Error retrieving icon: ${error.message}`);\n }\n }\n );\n this.hostRenderer.updateClass([`thy-icon${namespace ? `-${namespace}` : ``}-${this.buildIconNameByType(iconName)}`]);\n } else {\n const fontSetClass = this.iconSet\n ? this.iconRegistry.getFontSetClassByAlias(this.iconSet)\n : this.iconRegistry.getDefaultFontSetClass();\n this.hostRenderer.updateClass([fontSetClass, `${fontSetClass}-${this.iconName}`]);\n }\n }\n }\n\n private setStyleRotate() {\n if (this.iconRotate !== undefined) {\n this.render.setStyle(this.elementRef.nativeElement.querySelector('svg'), 'transform', `rotate(${this.iconRotate}deg)`);\n }\n }\n\n //#region svg element\n\n private setSvgElement(svg: SVGElement) {\n this.clearSvgElement();\n\n // Workaround for IE11 and Edge ignoring `style` tags inside dynamically-created SVGs.\n // See: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/10898469/\n // Do this before inserting the element into the DOM, in order to avoid a style recalculation.\n const styleTags = svg.querySelectorAll('style') as NodeListOf<HTMLStyleElement>;\n\n for (let i = 0; i < styleTags.length; i++) {\n styleTags[i].textContent += ' ';\n }\n\n if (this.iconType === 'twotone') {\n const allPaths = svg.querySelectorAll('path');\n if (allPaths.length > 1) {\n allPaths.forEach((child, index: number) => {\n if (child.getAttribute('id').includes('secondary-color')) {\n child.setAttribute('fill', this.iconTwotoneColor);\n }\n });\n }\n }\n\n // Note: we do this fix here, rather than the icon registry, because the\n // references have to point to the URL at the time that the icon was created.\n // if (this._location) {\n // const path = this._location.getPathname();\n // this._previousPath = path;\n // this._cacheChildrenWithExternalReferences(svg);\n // this._prependPathToReferences(path);\n // }\n if (this.iconLinearGradient) {\n this.setBaseUrl(svg);\n this.clearTitleElement(svg);\n }\n\n this.elementRef.nativeElement.appendChild(svg);\n this.setStyleRotate();\n }\n\n private clearSvgElement() {\n const layoutElement: HTMLElement = this.elementRef.nativeElement;\n let childCount = layoutElement.childNodes.length;\n\n // if (this._elementsWithExternalReferences) {\n // this._elementsWithExternalReferences.clear();\n // }\n\n // Remove existing non-element child nodes and SVGs, and add the new SVG element. Note that\n // we can't use innerHTML, because IE will throw if the element has a data binding.\n while (childCount--) {\n const child = layoutElement.childNodes[childCount];\n\n // 1 corresponds to Node.ELEMENT_NODE. We remove all non-element nodes in order to get rid\n // of any loose text nodes, as well as any SVG elements in order to remove any old icons.\n if (child.nodeType !== 1 || child.nodeName.toLowerCase() === 'svg') {\n layoutElement.removeChild(child);\n }\n }\n }\n\n //#endregion\n\n private buildIconNameByType(iconName: string) {\n if (this.iconType && ['fill', 'twotone'].indexOf(this.iconType) >= 0) {\n const suffix = iconSuffixMap[this.iconType];\n return iconName.includes(`-${suffix}`) ? iconName : `${iconName}-${suffix}`;\n } else {\n return iconName;\n }\n }\n\n /**\n * Support Safari SVG LinearGradient.\n * @param svg\n */\n private setBaseUrl(svg: SVGElement) {\n const styleElements = svg.querySelectorAll('style');\n styleElements.forEach((n: HTMLElement) => {\n if (n.style.cssText.includes('url')) {\n n.style.fill = n.style.fill.replace('url(\"', 'url(\"' + location.pathname);\n }\n if (n.style.cssText.includes('clip-path')) {\n n.style.clipPath = n.style.clipPath.replace('url(\"', 'url(\"' + location.pathname);\n }\n });\n }\n\n private clearTitleElement(svg: SVGElement) {\n const titleElement = svg.querySelector('title');\n titleElement && titleElement.remove();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { ThyIcon } from './icon.component';\nimport { HttpClientModule } from '@angular/common/http';\n\n@NgModule({\n declarations: [],\n imports: [ThyIcon, CommonModule, FormsModule, HttpClientModule],\n exports: [ThyIcon]\n})\nexport class ThyIconModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.ThyIconRegistry"],"mappings":"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"}
@@ -12,11 +12,11 @@ import * as i2 from 'ngx-tethys/fullscreen';
12
12
  import { ThyCopyDirective, ThyCopyModule } from 'ngx-tethys/copy';
13
13
  import * as i3 from 'ngx-tethys/notify';
14
14
  import * as i4 from '@angular/platform-browser';
15
- import { ThyDividerComponent, ThyDividerModule } from 'ngx-tethys/divider';
16
- import { ThyIconComponent, ThyIconModule } from 'ngx-tethys/icon';
17
- import { ThyLoadingComponent, ThyLoadingModule } from 'ngx-tethys/loading';
15
+ import { ThyDivider, ThyDividerModule } from 'ngx-tethys/divider';
16
+ import { ThyIcon, ThyIconModule } from 'ngx-tethys/icon';
17
+ import { ThyLoading, ThyLoadingModule } from 'ngx-tethys/loading';
18
18
  import { CdkDrag, DragDropModule } from '@angular/cdk/drag-drop';
19
- import { ThyActionComponent, ThyActionsComponent, ThyActionModule } from 'ngx-tethys/action';
19
+ import { ThyAction, ThyActions, ThyActionModule } from 'ngx-tethys/action';
20
20
  import { ThyTooltipDirective, ThyTooltipModule } from 'ngx-tethys/tooltip';
21
21
  import { LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';
22
22
  import { PortalModule } from '@angular/cdk/portal';
@@ -25,7 +25,7 @@ import { PortalModule } from '@angular/cdk/portal';
25
25
  * 图片分组,提供 thyImageGroup 指令和 thy-image-group 标签两种使用方式
26
26
  * @name thy-image-group,[thyImageGroup]
27
27
  */
28
- class ThyImageGroupComponent {
28
+ class ThyImageGroup {
29
29
  constructor(injector, element) {
30
30
  this.injector = injector;
31
31
  this.element = element;
@@ -37,10 +37,10 @@ class ThyImageGroupComponent {
37
37
  removeImage(index) {
38
38
  this.images.splice(index, 1);
39
39
  }
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyImageGroupComponent, deps: [{ token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
41
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: ThyImageGroupComponent, isStandalone: true, selector: "thy-image-group, [thyImageGroup]", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyImageGroup, deps: [{ token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
41
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: ThyImageGroup, isStandalone: true, selector: "thy-image-group, [thyImageGroup]", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
42
42
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyImageGroupComponent, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyImageGroup, decorators: [{
44
44
  type: Component,
45
45
  args: [{
46
46
  selector: 'thy-image-group, [thyImageGroup]',
@@ -94,7 +94,7 @@ const VERTICAL_SPACE = 96 + 106; // top: 96px; bottom: 106px
94
94
  * @name thy-image-preview
95
95
  * @order 20
96
96
  */
97
- class ThyImagePreviewComponent extends mixinUnsubscribe(MixinBase) {
97
+ class ThyImagePreview extends mixinUnsubscribe(MixinBase) {
98
98
  get previewImage() {
99
99
  const image = this.images[this.previewIndex];
100
100
  if (image.size) {
@@ -453,26 +453,15 @@ class ThyImagePreviewComponent extends mixinUnsubscribe(MixinBase) {
453
453
  ngOnDestroy() {
454
454
  super.ngOnDestroy();
455
455
  }
456
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyImagePreviewComponent, deps: [{ token: i1.ThyDialog }, { token: i2.ThyFullscreen }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i3.ThyNotifyService }, { token: i0.ElementRef }, { token: i4.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
457
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: ThyImagePreviewComponent, isStandalone: true, selector: "thy-image-preview", outputs: { downloadClicked: "downloadClicked" }, host: { properties: { "class.thy-image-preview-moving": "isDragging" }, classAttribute: "thy-image-preview-wrap" }, viewQueries: [{ propertyName: "imageRef", first: true, predicate: ["imgRef"], descendants: true }, { propertyName: "imagePreviewWrapper", first: true, predicate: ["imagePreviewWrapper"], descendants: true, static: true }], exportAs: ["thyImagePreview"], usesInheritance: true, ngImport: i0, template: "<div class=\"thy-image-preview\" [class.thy-image-preview-fullscreen]=\"isFullScreen\">\n <div class=\"thy-image-preview-header pl-10 pr-8\" *ngIf=\"!isFullScreen\">\n <div class=\"thy-image-preview-header-info\">\n <p class=\"thy-image-name text-truncate\" [thyTooltipDisabled]=\"previewImage?.name?.length < 32\" [thyTooltip]=\"previewImage?.name\">\n {{ previewImage?.name }}\n </p>\n <span class=\"thy-image-size\"> {{ previewImage?.size }}</span>\n </div>\n <a thyAction thyIcon=\"close\" thyTooltip=\"\u9000\u51FA\u9884\u89C8\" href=\"javascript:;\" (click)=\"thyDialog.close()\"></a>\n </div>\n <a\n class=\"thy-image-preview-exit-fullscreen\"\n *ngIf=\"isFullScreen\"\n thyAction\n thyIcon=\"close\"\n thyTooltip=\"\u9000\u51FA\u9884\u89C8\"\n href=\"javascript:;\"\n (click)=\"thyFullscreen.exit()\"\n thyTooltip=\"\u9000\u51FA\u5168\u5C4F\"\n ></a>\n <div\n class=\"thy-image-preview-img-wrapper\"\n #imagePreviewWrapper\n cdkDrag\n [class.thy-image-preview-inside]=\"isInsideScreen\"\n [style.transform]=\"previewImageWrapperTransform\"\n [cdkDragFreeDragPosition]=\"position\"\n (cdkDragReleased)=\"dragReleased()\"\n >\n <ng-container *ngFor=\"let image of images; index as imageIndex\">\n <img\n #imgRef\n *ngIf=\"previewIndex === imageIndex && isLoadingDone\"\n class=\"thy-image-preview-img\"\n [src]=\"image.objectURL || image.src\"\n [style.transform]=\"previewImageTransform\"\n />\n </ng-container>\n <thy-loading [thyDone]=\"isLoadingDone\"></thy-loading>\n </div>\n\n <ng-container *ngIf=\"images.length > 1 && !isFullScreen\">\n <div\n class=\"thy-image-preview-switch-left\"\n [thyTooltipDisabled]=\"previewIndex <= 0\"\n thyTooltip=\"\u4E0A\u4E00\u5F20\"\n [class.thy-image-preview-switch-left-disabled]=\"previewIndex <= 0\"\n (click)=\"prev()\"\n >\n <thy-icon thyIconName=\"angle-left-bold\"></thy-icon>\n </div>\n <div\n class=\"thy-image-preview-switch-right\"\n thyTooltip=\"\u4E0B\u4E00\u5F20\"\n [thyTooltipDisabled]=\"previewIndex >= images.length - 1\"\n [class.thy-image-preview-switch-right-disabled]=\"previewIndex >= images.length - 1\"\n (click)=\"next()\"\n >\n <thy-icon thyIconName=\"angle-right-bold\"> </thy-icon>\n </div>\n </ng-container>\n <thy-actions thySize=\"xs\" class=\"thy-image-preview-operations py-3 px-4\" *ngIf=\"!isFullScreen\">\n <ng-container *ngFor=\"let option of previewOperations; let i = index\">\n <a\n *ngIf=\"!['original-scale', 'fit-screen', 'copyLink'].includes(option.type) || currentImageMode === option.type\"\n href=\"javascript:;\"\n thyAction\n [thyActionIcon]=\"option.icon\"\n [thyTooltip]=\"option.name\"\n [thyTooltipOffset]=\"13\"\n (click)=\"option.action(previewImage)\"\n ></a>\n <span class=\"mr-2\" *ngIf=\"option?.type === 'zoom-out'\"> {{ (zoom * 100).toFixed(0) + '%' }} </span>\n <thy-divider class=\"ml-2\" [thyVertical]=\"true\" *ngIf=\"option?.type === 'rotate-right'\"></thy-divider>\n <a\n *ngIf=\"option.type === 'copyLink'\"\n href=\"javascript:;\"\n thyAction\n [thyCopyTips]=\"option.name\"\n [thyActionIcon]=\"option.icon\"\n [thyCopyTipsOffset]=\"13\"\n (thyCopy)=\"copyLink($event)\"\n [thyCopyContent]=\"previewImageOriginSrc\"\n [thyShowNotify]=\"false\"\n ></a>\n </ng-container>\n <thy-divider [thyVertical]=\"true\"></thy-divider>\n <span class=\"thy-image-preview-operations-text\"> {{ previewIndex + 1 }} / {{ images.length }} </span>\n </thy-actions>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "component", type: ThyActionComponent, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ThyLoadingComponent, selector: "thy-loading", inputs: ["thyDone", "thyTip", "thyIsMask"] }, { kind: "component", type: ThyIconComponent, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyActionsComponent, selector: "thy-actions", inputs: ["thySize"] }, { kind: "component", type: ThyDividerComponent, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }, { kind: "directive", type: ThyCopyDirective, selector: "[thyCopy]", inputs: ["thyCopySuccessText", "thyCopyTips", "thyCopyTipsOffset", "thyCopyContent", "thyShowNotify"], outputs: ["thyCopy"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
456
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyImagePreview, deps: [{ token: i1.ThyDialog }, { token: i2.ThyFullscreen }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i3.ThyNotifyService }, { token: i0.ElementRef }, { token: i4.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
457
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: ThyImagePreview, isStandalone: true, selector: "thy-image-preview", outputs: { downloadClicked: "downloadClicked" }, host: { properties: { "class.thy-image-preview-moving": "isDragging" }, classAttribute: "thy-image-preview-wrap" }, viewQueries: [{ propertyName: "imageRef", first: true, predicate: ["imgRef"], descendants: true }, { propertyName: "imagePreviewWrapper", first: true, predicate: ["imagePreviewWrapper"], descendants: true, static: true }], exportAs: ["thyImagePreview"], usesInheritance: true, ngImport: i0, template: "<div class=\"thy-image-preview\" [class.thy-image-preview-fullscreen]=\"isFullScreen\">\n <div class=\"thy-image-preview-header pl-10 pr-8\" *ngIf=\"!isFullScreen\">\n <div class=\"thy-image-preview-header-info\">\n <p class=\"thy-image-name text-truncate\" [thyTooltipDisabled]=\"previewImage?.name?.length < 32\" [thyTooltip]=\"previewImage?.name\">\n {{ previewImage?.name }}\n </p>\n <span class=\"thy-image-size\"> {{ previewImage?.size }}</span>\n </div>\n <a thyAction thyIcon=\"close\" thyTooltip=\"\u9000\u51FA\u9884\u89C8\" href=\"javascript:;\" (click)=\"thyDialog.close()\"></a>\n </div>\n <a\n class=\"thy-image-preview-exit-fullscreen\"\n *ngIf=\"isFullScreen\"\n thyAction\n thyIcon=\"close\"\n thyTooltip=\"\u9000\u51FA\u9884\u89C8\"\n href=\"javascript:;\"\n (click)=\"thyFullscreen.exit()\"\n thyTooltip=\"\u9000\u51FA\u5168\u5C4F\"\n ></a>\n <div\n class=\"thy-image-preview-img-wrapper\"\n #imagePreviewWrapper\n cdkDrag\n [class.thy-image-preview-inside]=\"isInsideScreen\"\n [style.transform]=\"previewImageWrapperTransform\"\n [cdkDragFreeDragPosition]=\"position\"\n (cdkDragReleased)=\"dragReleased()\"\n >\n <ng-container *ngFor=\"let image of images; index as imageIndex\">\n <img\n #imgRef\n *ngIf=\"previewIndex === imageIndex && isLoadingDone\"\n class=\"thy-image-preview-img\"\n [src]=\"image.objectURL || image.src\"\n [style.transform]=\"previewImageTransform\"\n />\n </ng-container>\n <thy-loading [thyDone]=\"isLoadingDone\"></thy-loading>\n </div>\n\n <ng-container *ngIf=\"images.length > 1 && !isFullScreen\">\n <div\n class=\"thy-image-preview-switch-left\"\n [thyTooltipDisabled]=\"previewIndex <= 0\"\n thyTooltip=\"\u4E0A\u4E00\u5F20\"\n [class.thy-image-preview-switch-left-disabled]=\"previewIndex <= 0\"\n (click)=\"prev()\"\n >\n <thy-icon thyIconName=\"angle-left-bold\"></thy-icon>\n </div>\n <div\n class=\"thy-image-preview-switch-right\"\n thyTooltip=\"\u4E0B\u4E00\u5F20\"\n [thyTooltipDisabled]=\"previewIndex >= images.length - 1\"\n [class.thy-image-preview-switch-right-disabled]=\"previewIndex >= images.length - 1\"\n (click)=\"next()\"\n >\n <thy-icon thyIconName=\"angle-right-bold\"> </thy-icon>\n </div>\n </ng-container>\n <thy-actions thySize=\"xs\" class=\"thy-image-preview-operations py-3 px-4\" *ngIf=\"!isFullScreen\">\n <ng-container *ngFor=\"let option of previewOperations; let i = index\">\n <a\n *ngIf=\"!['original-scale', 'fit-screen', 'copyLink'].includes(option.type) || currentImageMode === option.type\"\n href=\"javascript:;\"\n thyAction\n [thyActionIcon]=\"option.icon\"\n [thyTooltip]=\"option.name\"\n [thyTooltipOffset]=\"13\"\n (click)=\"option.action(previewImage)\"\n ></a>\n <span class=\"mr-2\" *ngIf=\"option?.type === 'zoom-out'\"> {{ (zoom * 100).toFixed(0) + '%' }} </span>\n <thy-divider class=\"ml-2\" [thyVertical]=\"true\" *ngIf=\"option?.type === 'rotate-right'\"></thy-divider>\n <a\n *ngIf=\"option.type === 'copyLink'\"\n href=\"javascript:;\"\n thyAction\n [thyCopyTips]=\"option.name\"\n [thyActionIcon]=\"option.icon\"\n [thyCopyTipsOffset]=\"13\"\n (thyCopy)=\"copyLink($event)\"\n [thyCopyContent]=\"previewImageOriginSrc\"\n [thyShowNotify]=\"false\"\n ></a>\n </ng-container>\n <thy-divider [thyVertical]=\"true\"></thy-divider>\n <span class=\"thy-image-preview-operations-text\"> {{ previewIndex + 1 }} / {{ images.length }} </span>\n </thy-actions>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { kind: "component", type: ThyAction, selector: "thy-action, [thyAction]", inputs: ["thyType", "thyIcon", "thyActionIcon", "thyActive", "thyActionActive", "thyTheme", "thyHoverIcon", "thyDisabled"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ThyLoading, selector: "thy-loading", inputs: ["thyDone", "thyTip", "thyIsMask"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: ThyActions, selector: "thy-actions", inputs: ["thySize"] }, { kind: "component", type: ThyDivider, selector: "thy-divider", inputs: ["thyVertical", "thyStyle", "thyColor", "thyText", "thyTextDirection", "thyDeeper"] }, { kind: "directive", type: ThyCopyDirective, selector: "[thyCopy]", inputs: ["thyCopySuccessText", "thyCopyTips", "thyCopyTipsOffset", "thyCopyContent", "thyShowNotify"], outputs: ["thyCopy"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
458
458
  }
459
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyImagePreviewComponent, decorators: [{
459
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyImagePreview, decorators: [{
460
460
  type: Component,
461
461
  args: [{ selector: 'thy-image-preview', exportAs: 'thyImagePreview', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
462
462
  class: 'thy-image-preview-wrap',
463
463
  '[class.thy-image-preview-moving]': 'isDragging'
464
- }, standalone: true, imports: [
465
- NgIf,
466
- ThyTooltipDirective,
467
- ThyActionComponent,
468
- CdkDrag,
469
- NgFor,
470
- ThyLoadingComponent,
471
- ThyIconComponent,
472
- ThyActionsComponent,
473
- ThyDividerComponent,
474
- ThyCopyDirective
475
- ], template: "<div class=\"thy-image-preview\" [class.thy-image-preview-fullscreen]=\"isFullScreen\">\n <div class=\"thy-image-preview-header pl-10 pr-8\" *ngIf=\"!isFullScreen\">\n <div class=\"thy-image-preview-header-info\">\n <p class=\"thy-image-name text-truncate\" [thyTooltipDisabled]=\"previewImage?.name?.length < 32\" [thyTooltip]=\"previewImage?.name\">\n {{ previewImage?.name }}\n </p>\n <span class=\"thy-image-size\"> {{ previewImage?.size }}</span>\n </div>\n <a thyAction thyIcon=\"close\" thyTooltip=\"\u9000\u51FA\u9884\u89C8\" href=\"javascript:;\" (click)=\"thyDialog.close()\"></a>\n </div>\n <a\n class=\"thy-image-preview-exit-fullscreen\"\n *ngIf=\"isFullScreen\"\n thyAction\n thyIcon=\"close\"\n thyTooltip=\"\u9000\u51FA\u9884\u89C8\"\n href=\"javascript:;\"\n (click)=\"thyFullscreen.exit()\"\n thyTooltip=\"\u9000\u51FA\u5168\u5C4F\"\n ></a>\n <div\n class=\"thy-image-preview-img-wrapper\"\n #imagePreviewWrapper\n cdkDrag\n [class.thy-image-preview-inside]=\"isInsideScreen\"\n [style.transform]=\"previewImageWrapperTransform\"\n [cdkDragFreeDragPosition]=\"position\"\n (cdkDragReleased)=\"dragReleased()\"\n >\n <ng-container *ngFor=\"let image of images; index as imageIndex\">\n <img\n #imgRef\n *ngIf=\"previewIndex === imageIndex && isLoadingDone\"\n class=\"thy-image-preview-img\"\n [src]=\"image.objectURL || image.src\"\n [style.transform]=\"previewImageTransform\"\n />\n </ng-container>\n <thy-loading [thyDone]=\"isLoadingDone\"></thy-loading>\n </div>\n\n <ng-container *ngIf=\"images.length > 1 && !isFullScreen\">\n <div\n class=\"thy-image-preview-switch-left\"\n [thyTooltipDisabled]=\"previewIndex <= 0\"\n thyTooltip=\"\u4E0A\u4E00\u5F20\"\n [class.thy-image-preview-switch-left-disabled]=\"previewIndex <= 0\"\n (click)=\"prev()\"\n >\n <thy-icon thyIconName=\"angle-left-bold\"></thy-icon>\n </div>\n <div\n class=\"thy-image-preview-switch-right\"\n thyTooltip=\"\u4E0B\u4E00\u5F20\"\n [thyTooltipDisabled]=\"previewIndex >= images.length - 1\"\n [class.thy-image-preview-switch-right-disabled]=\"previewIndex >= images.length - 1\"\n (click)=\"next()\"\n >\n <thy-icon thyIconName=\"angle-right-bold\"> </thy-icon>\n </div>\n </ng-container>\n <thy-actions thySize=\"xs\" class=\"thy-image-preview-operations py-3 px-4\" *ngIf=\"!isFullScreen\">\n <ng-container *ngFor=\"let option of previewOperations; let i = index\">\n <a\n *ngIf=\"!['original-scale', 'fit-screen', 'copyLink'].includes(option.type) || currentImageMode === option.type\"\n href=\"javascript:;\"\n thyAction\n [thyActionIcon]=\"option.icon\"\n [thyTooltip]=\"option.name\"\n [thyTooltipOffset]=\"13\"\n (click)=\"option.action(previewImage)\"\n ></a>\n <span class=\"mr-2\" *ngIf=\"option?.type === 'zoom-out'\"> {{ (zoom * 100).toFixed(0) + '%' }} </span>\n <thy-divider class=\"ml-2\" [thyVertical]=\"true\" *ngIf=\"option?.type === 'rotate-right'\"></thy-divider>\n <a\n *ngIf=\"option.type === 'copyLink'\"\n href=\"javascript:;\"\n thyAction\n [thyCopyTips]=\"option.name\"\n [thyActionIcon]=\"option.icon\"\n [thyCopyTipsOffset]=\"13\"\n (thyCopy)=\"copyLink($event)\"\n [thyCopyContent]=\"previewImageOriginSrc\"\n [thyShowNotify]=\"false\"\n ></a>\n </ng-container>\n <thy-divider [thyVertical]=\"true\"></thy-divider>\n <span class=\"thy-image-preview-operations-text\"> {{ previewIndex + 1 }} / {{ images.length }} </span>\n </thy-actions>\n</div>\n" }]
464
+ }, standalone: true, imports: [NgIf, ThyTooltipDirective, ThyAction, CdkDrag, NgFor, ThyLoading, ThyIcon, ThyActions, ThyDivider, ThyCopyDirective], template: "<div class=\"thy-image-preview\" [class.thy-image-preview-fullscreen]=\"isFullScreen\">\n <div class=\"thy-image-preview-header pl-10 pr-8\" *ngIf=\"!isFullScreen\">\n <div class=\"thy-image-preview-header-info\">\n <p class=\"thy-image-name text-truncate\" [thyTooltipDisabled]=\"previewImage?.name?.length < 32\" [thyTooltip]=\"previewImage?.name\">\n {{ previewImage?.name }}\n </p>\n <span class=\"thy-image-size\"> {{ previewImage?.size }}</span>\n </div>\n <a thyAction thyIcon=\"close\" thyTooltip=\"\u9000\u51FA\u9884\u89C8\" href=\"javascript:;\" (click)=\"thyDialog.close()\"></a>\n </div>\n <a\n class=\"thy-image-preview-exit-fullscreen\"\n *ngIf=\"isFullScreen\"\n thyAction\n thyIcon=\"close\"\n thyTooltip=\"\u9000\u51FA\u9884\u89C8\"\n href=\"javascript:;\"\n (click)=\"thyFullscreen.exit()\"\n thyTooltip=\"\u9000\u51FA\u5168\u5C4F\"\n ></a>\n <div\n class=\"thy-image-preview-img-wrapper\"\n #imagePreviewWrapper\n cdkDrag\n [class.thy-image-preview-inside]=\"isInsideScreen\"\n [style.transform]=\"previewImageWrapperTransform\"\n [cdkDragFreeDragPosition]=\"position\"\n (cdkDragReleased)=\"dragReleased()\"\n >\n <ng-container *ngFor=\"let image of images; index as imageIndex\">\n <img\n #imgRef\n *ngIf=\"previewIndex === imageIndex && isLoadingDone\"\n class=\"thy-image-preview-img\"\n [src]=\"image.objectURL || image.src\"\n [style.transform]=\"previewImageTransform\"\n />\n </ng-container>\n <thy-loading [thyDone]=\"isLoadingDone\"></thy-loading>\n </div>\n\n <ng-container *ngIf=\"images.length > 1 && !isFullScreen\">\n <div\n class=\"thy-image-preview-switch-left\"\n [thyTooltipDisabled]=\"previewIndex <= 0\"\n thyTooltip=\"\u4E0A\u4E00\u5F20\"\n [class.thy-image-preview-switch-left-disabled]=\"previewIndex <= 0\"\n (click)=\"prev()\"\n >\n <thy-icon thyIconName=\"angle-left-bold\"></thy-icon>\n </div>\n <div\n class=\"thy-image-preview-switch-right\"\n thyTooltip=\"\u4E0B\u4E00\u5F20\"\n [thyTooltipDisabled]=\"previewIndex >= images.length - 1\"\n [class.thy-image-preview-switch-right-disabled]=\"previewIndex >= images.length - 1\"\n (click)=\"next()\"\n >\n <thy-icon thyIconName=\"angle-right-bold\"> </thy-icon>\n </div>\n </ng-container>\n <thy-actions thySize=\"xs\" class=\"thy-image-preview-operations py-3 px-4\" *ngIf=\"!isFullScreen\">\n <ng-container *ngFor=\"let option of previewOperations; let i = index\">\n <a\n *ngIf=\"!['original-scale', 'fit-screen', 'copyLink'].includes(option.type) || currentImageMode === option.type\"\n href=\"javascript:;\"\n thyAction\n [thyActionIcon]=\"option.icon\"\n [thyTooltip]=\"option.name\"\n [thyTooltipOffset]=\"13\"\n (click)=\"option.action(previewImage)\"\n ></a>\n <span class=\"mr-2\" *ngIf=\"option?.type === 'zoom-out'\"> {{ (zoom * 100).toFixed(0) + '%' }} </span>\n <thy-divider class=\"ml-2\" [thyVertical]=\"true\" *ngIf=\"option?.type === 'rotate-right'\"></thy-divider>\n <a\n *ngIf=\"option.type === 'copyLink'\"\n href=\"javascript:;\"\n thyAction\n [thyCopyTips]=\"option.name\"\n [thyActionIcon]=\"option.icon\"\n [thyCopyTipsOffset]=\"13\"\n (thyCopy)=\"copyLink($event)\"\n [thyCopyContent]=\"previewImageOriginSrc\"\n [thyShowNotify]=\"false\"\n ></a>\n </ng-container>\n <thy-divider [thyVertical]=\"true\"></thy-divider>\n <span class=\"thy-image-preview-operations-text\"> {{ previewIndex + 1 }} / {{ images.length }} </span>\n </thy-actions>\n</div>\n" }]
476
465
  }], ctorParameters: () => [{ type: i1.ThyDialog }, { type: i2.ThyFullscreen }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i3.ThyNotifyService }, { type: i0.ElementRef }, { type: i4.DomSanitizer }], propDecorators: { downloadClicked: [{
477
466
  type: Output
478
467
  }], imageRef: [{
@@ -529,7 +518,7 @@ class ThyImageService {
529
518
  */
530
519
  preview(images, options) {
531
520
  const config = { ...this.defaultConfig, ...options };
532
- const dialogRef = this.thyDialog.open(ThyImagePreviewComponent, {
521
+ const dialogRef = this.thyDialog.open(ThyImagePreview, {
533
522
  initialState: {
534
523
  images,
535
524
  previewIndex: options?.startIndex >= 0 && options?.startIndex < images.length ? options.startIndex : 0,
@@ -598,7 +587,7 @@ class ThyImageDirective {
598
587
  while (true) {
599
588
  // 多层 thy-image-group 嵌套时,获取最外层 thy-image-group 下的所有图片
600
589
  const injector = this.parentGroup?.injector || this.injector;
601
- const parentGroup = injector.get(ThyImageGroupComponent, null, InjectFlags.SkipSelf);
590
+ const parentGroup = injector.get(ThyImageGroup, null, InjectFlags.SkipSelf);
602
591
  if (!parentGroup) {
603
592
  break;
604
593
  }
@@ -712,8 +701,8 @@ class ThyImageModule {
712
701
  ThyLoadingModule,
713
702
  ThyActionModule,
714
703
  ThyImageDirective,
715
- ThyImageGroupComponent,
716
- ThyImagePreviewComponent], exports: [ThyImageDirective, ThyImageGroupComponent, ThyImagePreviewComponent] }); }
704
+ ThyImageGroup,
705
+ ThyImagePreview], exports: [ThyImageDirective, ThyImageGroup, ThyImagePreview] }); }
717
706
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyImageModule, providers: [ThyImageService, THY_IMAGE_DEFAULT_PREVIEW_OPTIONS_PROVIDER], imports: [CommonModule,
718
707
  PortalModule,
719
708
  DragDropModule,
@@ -724,12 +713,12 @@ class ThyImageModule {
724
713
  ThyCopyModule,
725
714
  ThyLoadingModule,
726
715
  ThyActionModule,
727
- ThyImagePreviewComponent] }); }
716
+ ThyImagePreview] }); }
728
717
  }
729
718
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ThyImageModule, decorators: [{
730
719
  type: NgModule,
731
720
  args: [{
732
- exports: [ThyImageDirective, ThyImageGroupComponent, ThyImagePreviewComponent],
721
+ exports: [ThyImageDirective, ThyImageGroup, ThyImagePreview],
733
722
  imports: [
734
723
  CommonModule,
735
724
  PortalModule,
@@ -742,8 +731,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
742
731
  ThyLoadingModule,
743
732
  ThyActionModule,
744
733
  ThyImageDirective,
745
- ThyImageGroupComponent,
746
- ThyImagePreviewComponent
734
+ ThyImageGroup,
735
+ ThyImagePreview
747
736
  ],
748
737
  providers: [ThyImageService, THY_IMAGE_DEFAULT_PREVIEW_OPTIONS_PROVIDER]
749
738
  }]
@@ -753,5 +742,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImpor
753
742
  * Generated bundle index. Do not edit.
754
743
  */
755
744
 
756
- export { ThyImageDirective, ThyImageGroupComponent, ThyImageModule, ThyImagePreviewComponent, ThyImagePreviewRef, ThyImageService };
745
+ export { ThyImageDirective, ThyImageGroup, ThyImageModule, ThyImagePreview, ThyImagePreviewRef, ThyImageService };
757
746
  //# sourceMappingURL=ngx-tethys-image.mjs.map