@taiga-ui/kit 4.52.0-canary.34c26c6 → 4.52.0-canary.38dfc57

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 (258) hide show
  1. package/components/avatar/avatar.directive.d.ts +15 -0
  2. package/components/avatar/avatar.options.d.ts +1 -4
  3. package/components/avatar/index.d.ts +1 -1
  4. package/components/badge/badge.directive.d.ts +1 -1
  5. package/components/calendar-month/calendar-month.options.d.ts +1 -1
  6. package/components/checkbox/checkbox.component.d.ts +7 -18
  7. package/components/checkbox/checkbox.options.d.ts +5 -9
  8. package/components/files/file/file.options.d.ts +1 -1
  9. package/components/index.d.ts +0 -1
  10. package/components/input-chip/input-chip.options.d.ts +1 -1
  11. package/components/input-color/input-color.component.d.ts +2 -2
  12. package/components/input-color/input-color.options.d.ts +1 -1
  13. package/components/input-date/input-date.options.d.ts +1 -1
  14. package/components/input-number/input-number.options.d.ts +1 -1
  15. package/components/input-phone/input-phone.options.d.ts +1 -1
  16. package/components/input-time/input-time.component.d.ts +1 -1
  17. package/components/input-time/input-time.options.d.ts +1 -1
  18. package/components/like/like.component.d.ts +4 -11
  19. package/components/like/like.options.d.ts +3 -4
  20. package/components/line-clamp/line-clamp.component.d.ts +6 -10
  21. package/components/pager/pager.component.d.ts +1 -1
  22. package/components/push/push.component.d.ts +1 -1
  23. package/components/radio/radio.component.d.ts +7 -8
  24. package/components/radio/radio.directive.d.ts +2 -2
  25. package/components/radio/radio.options.d.ts +2 -5
  26. package/components/segmented/segmented.component.d.ts +1 -3
  27. package/components/switch/switch.component.d.ts +7 -19
  28. package/components/switch/switch.options.d.ts +4 -8
  29. package/components/textarea/textarea.options.d.ts +1 -1
  30. package/directives/copy/copy.directive.d.ts +1 -2
  31. package/directives/copy/copy.options.d.ts +2 -2
  32. package/directives/highlight/highlight.directive.d.ts +1 -3
  33. package/directives/index.d.ts +0 -1
  34. package/directives/password/password.options.d.ts +1 -1
  35. package/directives/tooltip/tooltip.options.d.ts +1 -4
  36. package/fesm2022/taiga-ui-kit-components-accordion.mjs +14 -15
  37. package/fesm2022/taiga-ui-kit-components-accordion.mjs.map +1 -1
  38. package/fesm2022/taiga-ui-kit-components-action-bar.mjs +7 -7
  39. package/fesm2022/taiga-ui-kit-components-action-bar.mjs.map +1 -1
  40. package/fesm2022/taiga-ui-kit-components-avatar.mjs +74 -82
  41. package/fesm2022/taiga-ui-kit-components-avatar.mjs.map +1 -1
  42. package/fesm2022/taiga-ui-kit-components-badge-notification.mjs +3 -3
  43. package/fesm2022/taiga-ui-kit-components-badge-notification.mjs.map +1 -1
  44. package/fesm2022/taiga-ui-kit-components-badge.mjs +9 -8
  45. package/fesm2022/taiga-ui-kit-components-badge.mjs.map +1 -1
  46. package/fesm2022/taiga-ui-kit-components-badged-content.mjs +7 -7
  47. package/fesm2022/taiga-ui-kit-components-badged-content.mjs.map +1 -1
  48. package/fesm2022/taiga-ui-kit-components-block.mjs +7 -7
  49. package/fesm2022/taiga-ui-kit-components-block.mjs.map +1 -1
  50. package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs +7 -9
  51. package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs.map +1 -1
  52. package/fesm2022/taiga-ui-kit-components-button-loading.mjs +3 -4
  53. package/fesm2022/taiga-ui-kit-components-button-loading.mjs.map +1 -1
  54. package/fesm2022/taiga-ui-kit-components-calendar-month.mjs +5 -7
  55. package/fesm2022/taiga-ui-kit-components-calendar-month.mjs.map +1 -1
  56. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs +7 -7
  57. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs.map +1 -1
  58. package/fesm2022/taiga-ui-kit-components-carousel.mjs +18 -20
  59. package/fesm2022/taiga-ui-kit-components-carousel.mjs.map +1 -1
  60. package/fesm2022/taiga-ui-kit-components-checkbox.mjs +19 -76
  61. package/fesm2022/taiga-ui-kit-components-checkbox.mjs.map +1 -1
  62. package/fesm2022/taiga-ui-kit-components-chip.mjs +16 -9
  63. package/fesm2022/taiga-ui-kit-components-chip.mjs.map +1 -1
  64. package/fesm2022/taiga-ui-kit-components-combo-box.mjs +3 -3
  65. package/fesm2022/taiga-ui-kit-components-combo-box.mjs.map +1 -1
  66. package/fesm2022/taiga-ui-kit-components-comment.mjs +6 -6
  67. package/fesm2022/taiga-ui-kit-components-comment.mjs.map +1 -1
  68. package/fesm2022/taiga-ui-kit-components-compass.mjs +3 -3
  69. package/fesm2022/taiga-ui-kit-components-compass.mjs.map +1 -1
  70. package/fesm2022/taiga-ui-kit-components-confirm.mjs +8 -8
  71. package/fesm2022/taiga-ui-kit-components-confirm.mjs.map +1 -1
  72. package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs +8 -9
  73. package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs.map +1 -1
  74. package/fesm2022/taiga-ui-kit-components-drawer.mjs +4 -4
  75. package/fesm2022/taiga-ui-kit-components-drawer.mjs.map +1 -1
  76. package/fesm2022/taiga-ui-kit-components-elastic-container.mjs +7 -7
  77. package/fesm2022/taiga-ui-kit-components-elastic-container.mjs.map +1 -1
  78. package/fesm2022/taiga-ui-kit-components-files.mjs +28 -38
  79. package/fesm2022/taiga-ui-kit-components-files.mjs.map +1 -1
  80. package/fesm2022/taiga-ui-kit-components-filter.mjs +5 -14
  81. package/fesm2022/taiga-ui-kit-components-filter.mjs.map +1 -1
  82. package/fesm2022/taiga-ui-kit-components-floating-container.mjs +6 -6
  83. package/fesm2022/taiga-ui-kit-components-floating-container.mjs.map +1 -1
  84. package/fesm2022/taiga-ui-kit-components-input-chip.mjs +11 -13
  85. package/fesm2022/taiga-ui-kit-components-input-chip.mjs.map +1 -1
  86. package/fesm2022/taiga-ui-kit-components-input-color.mjs +9 -11
  87. package/fesm2022/taiga-ui-kit-components-input-color.mjs.map +1 -1
  88. package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs +5 -5
  89. package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs.map +1 -1
  90. package/fesm2022/taiga-ui-kit-components-input-date-range.mjs +3 -3
  91. package/fesm2022/taiga-ui-kit-components-input-date-range.mjs.map +1 -1
  92. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs +7 -8
  93. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs.map +1 -1
  94. package/fesm2022/taiga-ui-kit-components-input-date.mjs +13 -14
  95. package/fesm2022/taiga-ui-kit-components-input-date.mjs.map +1 -1
  96. package/fesm2022/taiga-ui-kit-components-input-inline.mjs +5 -5
  97. package/fesm2022/taiga-ui-kit-components-input-inline.mjs.map +1 -1
  98. package/fesm2022/taiga-ui-kit-components-input-month-range.mjs +5 -5
  99. package/fesm2022/taiga-ui-kit-components-input-month-range.mjs.map +1 -1
  100. package/fesm2022/taiga-ui-kit-components-input-month.mjs +10 -11
  101. package/fesm2022/taiga-ui-kit-components-input-month.mjs.map +1 -1
  102. package/fesm2022/taiga-ui-kit-components-input-number.mjs +19 -19
  103. package/fesm2022/taiga-ui-kit-components-input-number.mjs.map +1 -1
  104. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs +6 -9
  105. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs.map +1 -1
  106. package/fesm2022/taiga-ui-kit-components-input-phone.mjs +3 -3
  107. package/fesm2022/taiga-ui-kit-components-input-phone.mjs.map +1 -1
  108. package/fesm2022/taiga-ui-kit-components-input-pin.mjs +4 -4
  109. package/fesm2022/taiga-ui-kit-components-input-pin.mjs.map +1 -1
  110. package/fesm2022/taiga-ui-kit-components-input-range.mjs +6 -14
  111. package/fesm2022/taiga-ui-kit-components-input-range.mjs.map +1 -1
  112. package/fesm2022/taiga-ui-kit-components-input-slider.mjs +6 -6
  113. package/fesm2022/taiga-ui-kit-components-input-slider.mjs.map +1 -1
  114. package/fesm2022/taiga-ui-kit-components-input-time.mjs +13 -13
  115. package/fesm2022/taiga-ui-kit-components-input-time.mjs.map +1 -1
  116. package/fesm2022/taiga-ui-kit-components-input-year.mjs +5 -5
  117. package/fesm2022/taiga-ui-kit-components-input-year.mjs.map +1 -1
  118. package/fesm2022/taiga-ui-kit-components-items-with-more.mjs +16 -16
  119. package/fesm2022/taiga-ui-kit-components-items-with-more.mjs.map +1 -1
  120. package/fesm2022/taiga-ui-kit-components-like.mjs +40 -33
  121. package/fesm2022/taiga-ui-kit-components-like.mjs.map +1 -1
  122. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs +31 -37
  123. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs.map +1 -1
  124. package/fesm2022/taiga-ui-kit-components-message.mjs +6 -6
  125. package/fesm2022/taiga-ui-kit-components-message.mjs.map +1 -1
  126. package/fesm2022/taiga-ui-kit-components-multi-select.mjs +34 -32
  127. package/fesm2022/taiga-ui-kit-components-multi-select.mjs.map +1 -1
  128. package/fesm2022/taiga-ui-kit-components-notification-middle.mjs +12 -12
  129. package/fesm2022/taiga-ui-kit-components-notification-middle.mjs.map +1 -1
  130. package/fesm2022/taiga-ui-kit-components-pager.mjs +7 -7
  131. package/fesm2022/taiga-ui-kit-components-pager.mjs.map +1 -1
  132. package/fesm2022/taiga-ui-kit-components-pagination.mjs +5 -5
  133. package/fesm2022/taiga-ui-kit-components-pagination.mjs.map +1 -1
  134. package/fesm2022/taiga-ui-kit-components-pdf-viewer.mjs +10 -10
  135. package/fesm2022/taiga-ui-kit-components-pdf-viewer.mjs.map +1 -1
  136. package/fesm2022/taiga-ui-kit-components-pin.mjs +7 -7
  137. package/fesm2022/taiga-ui-kit-components-pin.mjs.map +1 -1
  138. package/fesm2022/taiga-ui-kit-components-preview-dialog.mjs +10 -10
  139. package/fesm2022/taiga-ui-kit-components-preview-dialog.mjs.map +1 -1
  140. package/fesm2022/taiga-ui-kit-components-preview.mjs +32 -34
  141. package/fesm2022/taiga-ui-kit-components-preview.mjs.map +1 -1
  142. package/fesm2022/taiga-ui-kit-components-progress.mjs +24 -24
  143. package/fesm2022/taiga-ui-kit-components-progress.mjs.map +1 -1
  144. package/fesm2022/taiga-ui-kit-components-pulse.mjs +3 -3
  145. package/fesm2022/taiga-ui-kit-components-pulse.mjs.map +1 -1
  146. package/fesm2022/taiga-ui-kit-components-push.mjs +17 -17
  147. package/fesm2022/taiga-ui-kit-components-push.mjs.map +1 -1
  148. package/fesm2022/taiga-ui-kit-components-radio-list.mjs +5 -6
  149. package/fesm2022/taiga-ui-kit-components-radio-list.mjs.map +1 -1
  150. package/fesm2022/taiga-ui-kit-components-radio.mjs +34 -39
  151. package/fesm2022/taiga-ui-kit-components-radio.mjs.map +1 -1
  152. package/fesm2022/taiga-ui-kit-components-range.mjs +7 -7
  153. package/fesm2022/taiga-ui-kit-components-range.mjs.map +1 -1
  154. package/fesm2022/taiga-ui-kit-components-rating.mjs +4 -4
  155. package/fesm2022/taiga-ui-kit-components-rating.mjs.map +1 -1
  156. package/fesm2022/taiga-ui-kit-components-routable-dialog.mjs +3 -3
  157. package/fesm2022/taiga-ui-kit-components-routable-dialog.mjs.map +1 -1
  158. package/fesm2022/taiga-ui-kit-components-segmented.mjs +6 -6
  159. package/fesm2022/taiga-ui-kit-components-segmented.mjs.map +1 -1
  160. package/fesm2022/taiga-ui-kit-components-select.mjs +15 -15
  161. package/fesm2022/taiga-ui-kit-components-select.mjs.map +1 -1
  162. package/fesm2022/taiga-ui-kit-components-slider.mjs +17 -17
  163. package/fesm2022/taiga-ui-kit-components-slider.mjs.map +1 -1
  164. package/fesm2022/taiga-ui-kit-components-slides.mjs +6 -6
  165. package/fesm2022/taiga-ui-kit-components-slides.mjs.map +1 -1
  166. package/fesm2022/taiga-ui-kit-components-status.mjs +6 -6
  167. package/fesm2022/taiga-ui-kit-components-status.mjs.map +1 -1
  168. package/fesm2022/taiga-ui-kit-components-stepper.mjs +11 -11
  169. package/fesm2022/taiga-ui-kit-components-stepper.mjs.map +1 -1
  170. package/fesm2022/taiga-ui-kit-components-switch.mjs +19 -65
  171. package/fesm2022/taiga-ui-kit-components-switch.mjs.map +1 -1
  172. package/fesm2022/taiga-ui-kit-components-tabs.mjs +21 -23
  173. package/fesm2022/taiga-ui-kit-components-tabs.mjs.map +1 -1
  174. package/fesm2022/taiga-ui-kit-components-textarea.mjs +14 -15
  175. package/fesm2022/taiga-ui-kit-components-textarea.mjs.map +1 -1
  176. package/fesm2022/taiga-ui-kit-components-tiles.mjs +12 -12
  177. package/fesm2022/taiga-ui-kit-components-tiles.mjs.map +1 -1
  178. package/fesm2022/taiga-ui-kit-components-tree.mjs +31 -39
  179. package/fesm2022/taiga-ui-kit-components-tree.mjs.map +1 -1
  180. package/fesm2022/taiga-ui-kit-components.mjs +0 -1
  181. package/fesm2022/taiga-ui-kit-components.mjs.map +1 -1
  182. package/fesm2022/taiga-ui-kit-directives-button-close.mjs +3 -3
  183. package/fesm2022/taiga-ui-kit-directives-button-close.mjs.map +1 -1
  184. package/fesm2022/taiga-ui-kit-directives-button-group.mjs +6 -6
  185. package/fesm2022/taiga-ui-kit-directives-button-group.mjs.map +1 -1
  186. package/fesm2022/taiga-ui-kit-directives-button-select.mjs +3 -3
  187. package/fesm2022/taiga-ui-kit-directives-button-select.mjs.map +1 -1
  188. package/fesm2022/taiga-ui-kit-directives-chevron.mjs +7 -7
  189. package/fesm2022/taiga-ui-kit-directives-chevron.mjs.map +1 -1
  190. package/fesm2022/taiga-ui-kit-directives-connected.mjs +6 -6
  191. package/fesm2022/taiga-ui-kit-directives-connected.mjs.map +1 -1
  192. package/fesm2022/taiga-ui-kit-directives-copy.mjs +11 -12
  193. package/fesm2022/taiga-ui-kit-directives-copy.mjs.map +1 -1
  194. package/fesm2022/taiga-ui-kit-directives-data-list-dropdown-manager.mjs +3 -3
  195. package/fesm2022/taiga-ui-kit-directives-data-list-dropdown-manager.mjs.map +1 -1
  196. package/fesm2022/taiga-ui-kit-directives-fade.mjs +6 -6
  197. package/fesm2022/taiga-ui-kit-directives-fade.mjs.map +1 -1
  198. package/fesm2022/taiga-ui-kit-directives-fluid-typography.mjs +3 -3
  199. package/fesm2022/taiga-ui-kit-directives-fluid-typography.mjs.map +1 -1
  200. package/fesm2022/taiga-ui-kit-directives-highlight.mjs +3 -3
  201. package/fesm2022/taiga-ui-kit-directives-highlight.mjs.map +1 -1
  202. package/fesm2022/taiga-ui-kit-directives-lazy-loading.mjs +6 -7
  203. package/fesm2022/taiga-ui-kit-directives-lazy-loading.mjs.map +1 -1
  204. package/fesm2022/taiga-ui-kit-directives-password.mjs +6 -6
  205. package/fesm2022/taiga-ui-kit-directives-password.mjs.map +1 -1
  206. package/fesm2022/taiga-ui-kit-directives-present.mjs +3 -3
  207. package/fesm2022/taiga-ui-kit-directives-present.mjs.map +1 -1
  208. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs +6 -6
  209. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs.map +1 -1
  210. package/fesm2022/taiga-ui-kit-directives-shimmer.mjs +6 -6
  211. package/fesm2022/taiga-ui-kit-directives-shimmer.mjs.map +1 -1
  212. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs +6 -6
  213. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs.map +1 -1
  214. package/fesm2022/taiga-ui-kit-directives-tooltip.mjs +7 -7
  215. package/fesm2022/taiga-ui-kit-directives-tooltip.mjs.map +1 -1
  216. package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs +3 -3
  217. package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs.map +1 -1
  218. package/fesm2022/taiga-ui-kit-directives-unmask-handler.mjs +3 -3
  219. package/fesm2022/taiga-ui-kit-directives-unmask-handler.mjs.map +1 -1
  220. package/fesm2022/taiga-ui-kit-directives.mjs +0 -1
  221. package/fesm2022/taiga-ui-kit-directives.mjs.map +1 -1
  222. package/fesm2022/taiga-ui-kit-pipes-emails.mjs +3 -3
  223. package/fesm2022/taiga-ui-kit-pipes-emails.mjs.map +1 -1
  224. package/fesm2022/taiga-ui-kit-pipes-field-error.mjs +6 -6
  225. package/fesm2022/taiga-ui-kit-pipes-field-error.mjs.map +1 -1
  226. package/fesm2022/taiga-ui-kit-pipes-filter-by-input.mjs +3 -3
  227. package/fesm2022/taiga-ui-kit-pipes-filter-by-input.mjs.map +1 -1
  228. package/fesm2022/taiga-ui-kit-pipes-hide-selected.mjs +3 -3
  229. package/fesm2022/taiga-ui-kit-pipes-hide-selected.mjs.map +1 -1
  230. package/fesm2022/taiga-ui-kit-pipes-sort-countries.mjs +3 -3
  231. package/fesm2022/taiga-ui-kit-pipes-sort-countries.mjs.map +1 -1
  232. package/fesm2022/taiga-ui-kit-pipes-stringify-content.mjs +3 -3
  233. package/fesm2022/taiga-ui-kit-pipes-stringify-content.mjs.map +1 -1
  234. package/fesm2022/taiga-ui-kit-pipes-stringify.mjs +3 -3
  235. package/fesm2022/taiga-ui-kit-pipes-stringify.mjs.map +1 -1
  236. package/fesm2022/taiga-ui-kit-tokens.mjs.map +1 -1
  237. package/fesm2022/taiga-ui-kit-utils.mjs.map +1 -1
  238. package/package.json +1 -9
  239. package/styles/components/avatar.less +188 -0
  240. package/styles/components/badge.less +3 -18
  241. package/styles/components/block.less +1 -1
  242. package/styles/components/checkbox.less +16 -15
  243. package/styles/components/chip.less +1 -3
  244. package/styles/components/like.less +15 -17
  245. package/styles/components/pin.less +3 -6
  246. package/styles/components/radio.less +1 -1
  247. package/styles/components/switch.less +11 -11
  248. package/tokens/input-date-options.d.ts +1 -1
  249. package/components/avatar/avatar.component.d.ts +0 -15
  250. package/components/input-password/index.d.ts +0 -2
  251. package/components/input-password/input-password.component.d.ts +0 -16
  252. package/components/input-password/input-password.options.d.ts +0 -24
  253. package/directives/icon-badge/icon-badge.directive.d.ts +0 -9
  254. package/directives/icon-badge/index.d.ts +0 -1
  255. package/fesm2022/taiga-ui-kit-components-input-password.mjs +0 -96
  256. package/fesm2022/taiga-ui-kit-components-input-password.mjs.map +0 -1
  257. package/fesm2022/taiga-ui-kit-directives-icon-badge.mjs +0 -47
  258. package/fesm2022/taiga-ui-kit-directives-icon-badge.mjs.map +0 -1
@@ -0,0 +1,188 @@
1
+ @import '@taiga-ui/core/styles/taiga-ui-local.less';
2
+
3
+ /**
4
+ * @name Avatar
5
+ * @selector [tuiAvatar]
6
+ *
7
+ * @description
8
+ * An avatar component which can be used with icons, text or images
9
+ * and is applicable to static elements as well as buttons and links
10
+ *
11
+ * @attributes
12
+ * data-size — size (default: 'l') ('xs' | 's' | 'm' | 'l' | 'xl' | 'xxl')
13
+ * data-shape — shape (default: 'round') ('round' | 'square')
14
+ *
15
+ * @example
16
+ * <span tuiAvatar tuiIcons style="--t-icon-start: url('icon.svg')"></span>
17
+ * <button tuiAvatar>
18
+ * <img src="path/to/image" alt="Avatar" />
19
+ * </button>
20
+ *
21
+ * @see-also
22
+ * Icons, Icon, Appearance
23
+ */
24
+ [tuiAvatar] {
25
+ --t-size: var(--tui-height-l);
26
+ --t-radius: 0.75rem;
27
+ --t-corner-offset: calc((var(--t-radius) * 1.4142 - var(--t-radius)) * 1 / 1.4142);
28
+
29
+ position: relative;
30
+ display: inline-flex;
31
+ flex-shrink: 0;
32
+ inline-size: var(--t-size);
33
+ block-size: var(--t-size);
34
+ align-items: center;
35
+ justify-content: center;
36
+ white-space: nowrap;
37
+ border-radius: var(--t-radius);
38
+ border: none;
39
+ background: var(--tui-background-neutral-1);
40
+ color: var(--tui-text-secondary);
41
+ vertical-align: middle;
42
+ box-sizing: border-box;
43
+ padding: 0.25rem;
44
+ font: var(--tui-font-text-l);
45
+ font-weight: bold;
46
+ opacity: 0.999; // Kick in hardware rendering layer to avoid artifacts on the edges
47
+
48
+ &::before {
49
+ inline-size: auto;
50
+ block-size: auto;
51
+ }
52
+
53
+ &:not(._initials)::before {
54
+ position: absolute;
55
+ inset: 0;
56
+ font-size: calc(var(--t-size) * 0.6);
57
+ }
58
+
59
+ &[data-size='xs'] {
60
+ --t-size: var(--tui-height-xs);
61
+ --t-radius: 0.5rem;
62
+
63
+ font: var(--tui-font-text-ui-xs);
64
+ font-size: 0.5625rem;
65
+
66
+ &._initials::before {
67
+ font: var(--tui-font-text-ui-xs);
68
+ font-weight: bold;
69
+ }
70
+ }
71
+
72
+ &[data-size='s'] {
73
+ --t-size: var(--tui-height-s);
74
+ --t-radius: 0.5rem;
75
+
76
+ font: var(--tui-font-text-ui-xs);
77
+ font-weight: bold;
78
+
79
+ &._initials::before {
80
+ font: var(--tui-font-text-s);
81
+ font-weight: bold;
82
+ }
83
+ }
84
+
85
+ &[data-size='m'] {
86
+ --t-size: calc(var(--tui-height-m) - 0.25rem);
87
+ --t-radius: 0.75rem;
88
+
89
+ font: var(--tui-font-text-ui-m);
90
+ font-weight: bold;
91
+
92
+ &._initials::before {
93
+ font: var(--tui-font-text-m);
94
+ font-weight: bold;
95
+ }
96
+ }
97
+
98
+ &[data-size='xl'] {
99
+ --t-size: 5rem;
100
+ --t-radius: 0.75rem;
101
+
102
+ font: var(--tui-font-heading-4);
103
+
104
+ &._initials::before {
105
+ font: var(--tui-font-heading-3);
106
+ }
107
+ }
108
+
109
+ &[data-size='xxl'] {
110
+ --t-size: 6rem;
111
+ --t-radius: 1rem;
112
+
113
+ font: var(--tui-font-heading-3);
114
+
115
+ &._initials::before {
116
+ font: var(--tui-font-heading-3);
117
+ }
118
+ }
119
+
120
+ &[data-size='xxxl'] {
121
+ --t-size: 8rem;
122
+ --t-radius: 1.25rem;
123
+
124
+ font: var(--tui-font-heading-3);
125
+
126
+ &._initials::before {
127
+ font: var(--tui-font-heading-2);
128
+ }
129
+ }
130
+
131
+ &:not([data-shape='square']) {
132
+ --t-radius: calc(var(--t-size) / 2);
133
+ }
134
+
135
+ &._initials {
136
+ &::before {
137
+ content: attr(data-icon-start);
138
+ mask: none;
139
+ background: none;
140
+ font: var(--tui-font-heading-6);
141
+ }
142
+ }
143
+
144
+ &._badge {
145
+ mask: radial-gradient(
146
+ circle at calc(100% - var(--t-corner-offset)) calc(100% - var(--t-corner-offset)),
147
+ black 0.23rem,
148
+ transparent 0.25rem,
149
+ transparent 0.375rem,
150
+ black 0.39rem
151
+ );
152
+ mask-clip: no-clip;
153
+
154
+ &::after {
155
+ content: '';
156
+ position: absolute;
157
+ top: calc(100% - var(--t-corner-offset));
158
+ left: calc(100% - var(--t-corner-offset));
159
+ display: block;
160
+ inline-size: 0.55rem;
161
+ block-size: 0.55rem;
162
+ border-radius: 100%;
163
+ background: var(--t-badge);
164
+ transform: translate3d(-50%, -50%, 0);
165
+ }
166
+ }
167
+
168
+ &._fallback {
169
+ img,
170
+ video {
171
+ display: none;
172
+ }
173
+ }
174
+
175
+ img,
176
+ video,
177
+ picture {
178
+ .fullsize();
179
+
180
+ object-fit: cover;
181
+ box-sizing: border-box;
182
+ border-radius: inherit;
183
+ }
184
+
185
+ &:has(img, video):not(._fallback) {
186
+ background: none;
187
+ }
188
+ }
@@ -120,23 +120,8 @@ img[tuiBadge] {
120
120
  inline-size: var(--t-size);
121
121
  }
122
122
 
123
- tui-icon[tuiBadge] {
124
- --t-margin: 0 !important;
123
+ tui-icon[tuiBadge]::before {
124
+ .fullsize();
125
125
 
126
- mask: none;
127
- block-size: var(--t-size);
128
- inline-size: var(--t-size);
129
-
130
- &[data-size='s']::after {
131
- mask-size: 0.625rem;
132
- }
133
-
134
- &[data-size='m']::after {
135
- mask-size: 0.75rem;
136
- }
137
-
138
- &[data-size='l']::after,
139
- &[data-size='xl']::after {
140
- mask-size: 1rem;
141
- }
126
+ --t-margin: 0;
142
127
  }
@@ -94,7 +94,7 @@
94
94
  padding: 0;
95
95
  }
96
96
 
97
- tui-avatar {
97
+ [tuiAvatar] {
98
98
  margin: -0.25rem;
99
99
  }
100
100
 
@@ -11,11 +11,11 @@
11
11
  * data-size — size (default: 'm') ('s' | 'm')
12
12
  *
13
13
  * @vars
14
- * --t-checked-icon — checkmark icon
15
- * --t-indeterminate-icon — indeterminate state icon
14
+ * --t-icon-start — checkmark icon
15
+ * --t-icon-end — indeterminate state icon
16
16
  *
17
17
  * @example
18
- * <input type="checkbox" tuiCheckbox />
18
+ * <input type="checkbox" tuiCheckbox tuiIcons tuiAppearance data-appearance='secondary' />
19
19
  *
20
20
  * @see-also
21
21
  * Switch, Radio, Appearance
@@ -32,20 +32,21 @@
32
32
  flex-shrink: 0;
33
33
 
34
34
  &::before {
35
- .fullsize(absolute, inset);
36
-
37
- content: '';
38
- inline-size: 1rem;
39
- block-size: 1rem;
40
- margin: auto;
41
- background: currentColor;
42
- mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg"></svg>') center/100%;
35
+ position: absolute;
36
+ block-size: 100%;
37
+ inline-size: 100%;
38
+ font-size: 1rem;
39
+ mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg"></svg>');
43
40
  transform: scale(0);
44
41
  transition:
45
42
  transform var(--tui-duration) ease-in-out,
46
43
  mask 0s var(--tui-duration) ease-in-out;
47
44
  }
48
45
 
46
+ &::after {
47
+ display: none;
48
+ }
49
+
49
50
  &:disabled._readonly {
50
51
  opacity: 1;
51
52
  pointer-events: none;
@@ -54,16 +55,17 @@
54
55
  &:checked,
55
56
  &:indeterminate {
56
57
  &::before {
57
- mask-image: var(--t-checked-icon);
58
+ mask-image: var(--t-icon-start);
58
59
  transform: scale(1);
59
60
  transition:
60
61
  transform var(--tui-duration) ease-in-out,
61
62
  mask 0s ease-in-out;
63
+ transition-duration: inherit;
62
64
  }
63
65
  }
64
66
 
65
67
  &:indeterminate::before {
66
- mask-image: var(--t-indeterminate-icon);
68
+ mask-image: var(--t-icon-end);
67
69
  }
68
70
 
69
71
  &[data-size='s'] {
@@ -71,8 +73,7 @@
71
73
  --t-radius: var(--tui-radius-xs);
72
74
 
73
75
  &::before {
74
- inline-size: 0.875rem;
75
- block-size: 0.875rem;
76
+ font-size: 0.875rem;
76
77
  }
77
78
  }
78
79
 
@@ -88,7 +88,7 @@ tui-chip,
88
88
  }
89
89
 
90
90
  & > img,
91
- tui-avatar {
91
+ [tuiAvatar] {
92
92
  inline-size: 1.5rem;
93
93
  margin-inline-start: -0.375rem;
94
94
  }
@@ -115,8 +115,6 @@ tui-chip,
115
115
  }
116
116
  }
117
117
 
118
- &[tuiAppearance][data-appearance='error'], /* TODO @deprecated remove in v5 */
119
- &[tuiAppearance][data-appearance='success'], /* TODO @deprecated remove in v5 */
120
118
  &[tuiAppearance][data-appearance='negative'],
121
119
  &[tuiAppearance][data-appearance='positive'],
122
120
  &[tuiAppearance][data-appearance='warning'],
@@ -11,23 +11,20 @@
11
11
  * data-size — size (default: 'm') ('s' | 'm')
12
12
  *
13
13
  * @vars
14
- * --t-icon-color - custom color for `:checked` state
15
- * --t-unchecked-icon — default state icon
16
- * --t-checked-icon — checkmark icon
14
+ * --t-icon-color custom color for `:checked` state
15
+ * --t-icon-start — default state icon
16
+ * --t-icon-end — checkmark icon
17
17
  *
18
18
  * @example
19
- * <input tuiLike />
19
+ * <input tuiLike tuiIcons tuiAppearance data-appearance="secondary" />
20
20
  *
21
21
  * @see-also
22
22
  * Checkbox, Switch, Radio, Appearance
23
23
  */
24
24
  [tuiLike] {
25
- --t-size: var(--tui-height-m);
26
- --t-border-width: 0.75rem;
27
-
28
- inline-size: var(--t-size);
29
- block-size: var(--t-size);
30
- border: var(--t-border-width) transparent solid;
25
+ inline-size: 1em;
26
+ block-size: 1em;
27
+ font-size: var(--tui-height-m);
31
28
  border-radius: 100%;
32
29
  cursor: pointer;
33
30
  margin: 0;
@@ -36,15 +33,12 @@
36
33
  &::before,
37
34
  &::after {
38
35
  .fullsize();
39
- .transition(~'transform, opacity');
40
36
 
41
- content: '';
42
- background: currentColor;
43
- mask: var(--t-unchecked-icon) no-repeat center/contain;
37
+ font-size: 1.25rem;
38
+ transition-property: transform, opacity;
44
39
  }
45
40
 
46
41
  &::after {
47
- mask-image: var(--t-checked-icon);
48
42
  opacity: 0;
49
43
  color: var(--t-icon-color, inherit);
50
44
  transform: scale(0);
@@ -63,7 +57,11 @@
63
57
  }
64
58
 
65
59
  &[data-size='s'] {
66
- --t-size: var(--tui-height-s);
67
- --t-border-width: 0.5rem;
60
+ font-size: var(--tui-height-s);
61
+
62
+ &::before,
63
+ &::after {
64
+ font-size: 1rem;
65
+ }
68
66
  }
69
67
  }
@@ -64,8 +64,7 @@ tui-pin,
64
64
  background: var(--tui-background-base);
65
65
  }
66
66
 
67
- > tui-icon,
68
- > tui-svg {
67
+ > tui-icon {
69
68
  .transition(~'width, height');
70
69
 
71
70
  font-size: 1.25rem;
@@ -84,8 +83,7 @@ tui-pin,
84
83
  padding: 0.125rem;
85
84
  }
86
85
 
87
- > tui-icon,
88
- > tui-svg {
86
+ > tui-icon {
89
87
  font-size: 2.125rem;
90
88
  }
91
89
 
@@ -113,8 +111,7 @@ tui-pin,
113
111
  padding: 0.125rem;
114
112
  }
115
113
 
116
- > tui-icon,
117
- > tui-svg {
114
+ > tui-icon {
118
115
  font-size: 2.125rem;
119
116
  }
120
117
 
@@ -35,13 +35,13 @@
35
35
 
36
36
  &::before {
37
37
  .fullsize(absolute, inset);
38
- .transition(transform);
39
38
 
40
39
  content: '';
41
40
  margin: auto;
42
41
  border-radius: 100%;
43
42
  background: currentColor;
44
43
  transform: scale(0);
44
+ transition-property: transform;
45
45
  }
46
46
 
47
47
  &:checked::before {
@@ -11,10 +11,10 @@
11
11
  * data-size — size (default: 'm') ('s' | 'm')
12
12
  *
13
13
  * @vars
14
- * --t-checked-icon — checkmark icon
14
+ * --t-icon-start — checkmark icon
15
15
  *
16
16
  * @example
17
- * <input type="checkbox" tuiSwitch />
17
+ * <input type="checkbox" tuiSwitch tuiAppearance data-appearance="primary" />
18
18
  *
19
19
  * @see-also
20
20
  * Checkbox, Radio
@@ -38,7 +38,7 @@
38
38
  &::before {
39
39
  inline-size: 1.125rem;
40
40
  transform: translateX(-1rem);
41
- mask-size: 0.75rem;
41
+ font-size: 0.75rem;
42
42
  }
43
43
 
44
44
  &::after {
@@ -69,30 +69,30 @@
69
69
 
70
70
  &::before,
71
71
  &::after {
72
- .transition(transform);
73
-
74
- content: '';
75
72
  position: absolute;
76
73
  block-size: 100%;
77
74
  inline-size: 1.5rem;
75
+ transition-property: transform;
78
76
  }
79
77
 
80
78
  &::before {
81
- display: var(--t-checked-icon, none);
82
- background: currentColor;
83
- mask: var(--t-checked-icon) no-repeat center;
84
- mask-size: 1rem;
79
+ font-size: 1rem;
85
80
  inline-size: 1.375rem;
86
81
  transform: translateX(-1.5rem);
87
82
  }
88
83
 
89
84
  &::after {
90
85
  right: 0;
86
+ display: block;
91
87
  border-radius: 100%;
88
+ background: none;
92
89
  transform: scale(0.33333);
93
90
  box-shadow: -4.5rem 0 0 0.75rem var(--tui-background-base);
94
91
  outline: 0.375rem solid var(--tui-background-neutral-2-pressed);
95
- outline-offset: var(--t-checked-icon, 20rem);
92
+ }
93
+
94
+ &:not([data-icon-start])::after {
95
+ outline-offset: 20rem;
96
96
  }
97
97
 
98
98
  &:invalid:not([data-mode]),
@@ -12,4 +12,4 @@ export declare const TUI_INPUT_DATE_DEFAULT_OPTIONS: TuiInputDateOptions;
12
12
  /**
13
13
  * Default parameters for InputDate component
14
14
  */
15
- export declare const TUI_INPUT_DATE_OPTIONS: import("@angular/core").InjectionToken<TuiInputDateOptions>, tuiInputDateOptionsProvider: (item: Partial<TuiInputDateOptions> | import("@angular/core").ProviderToken<Partial<TuiInputDateOptions>> | (() => Partial<TuiInputDateOptions>)) => import("@angular/core").FactoryProvider;
15
+ export declare const TUI_INPUT_DATE_OPTIONS: import("@angular/core").InjectionToken<TuiInputDateOptions>, tuiInputDateOptionsProvider: (item: Partial<TuiInputDateOptions> | (() => Partial<TuiInputDateOptions>)) => import("@angular/core").FactoryProvider;
@@ -1,15 +0,0 @@
1
- import { type SafeResourceUrl } from '@angular/platform-browser';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@taiga-ui/core/directives/appearance";
4
- import * as i2 from "@taiga-ui/core/directives/icons";
5
- export declare class TuiAvatar {
6
- private readonly options;
7
- size: "m" | "s" | "xs" | "l" | "xl" | "xxl";
8
- round: boolean;
9
- src?: SafeResourceUrl | string | null;
10
- protected get value(): SafeResourceUrl | string;
11
- protected get svg(): boolean;
12
- protected get type(): 'content' | 'icon' | 'img' | 'text';
13
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiAvatar, never>;
14
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiAvatar, "tui-avatar,button[tuiAvatar],a[tuiAvatar]", never, { "size": { "alias": "size"; "required": false; }; "round": { "alias": "round"; "required": false; }; "src": { "alias": "src"; "required": false; }; }, {}, never, ["*"], true, [{ directive: typeof i1.TuiWithAppearance; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiIcons; inputs: { "iconStart": "src"; }; outputs: {}; }]>;
15
- }
@@ -1,2 +0,0 @@
1
- export * from './input-password.component';
2
- export * from './input-password.options';
@@ -1,16 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "@taiga-ui/core/components/textfield";
3
- /**
4
- * @deprecated use {@link TuiPassword} with {@link TuiTextfield}
5
- */
6
- export declare class TuiInputPassword {
7
- private readonly options;
8
- private readonly texts;
9
- protected readonly el: HTMLInputElement;
10
- protected readonly size: import("@angular/core").WritableSignal<"m" | "l" | "s">;
11
- protected readonly hidden: import("@angular/core").WritableSignal<boolean>;
12
- protected readonly text: import("@angular/core").Signal<string>;
13
- protected readonly icon: import("@angular/core").Signal<string>;
14
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputPassword, never>;
15
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiInputPassword, "input[tuiInputPassword]", never, {}, {}, never, never, true, [{ directive: typeof i1.TuiWithTextfield; inputs: {}; outputs: {}; }]>;
16
- }
@@ -1,24 +0,0 @@
1
- import { InjectionToken, type Provider } from '@angular/core';
2
- import { type TuiStringHandler } from '@taiga-ui/cdk/types';
3
- import { type TuiSizeL, type TuiSizeS } from '@taiga-ui/core/types';
4
- /**
5
- * @deprecated use {@link TuiPassword} with {@link TuiTextfield}
6
- */
7
- export interface TuiInputPasswordOptions {
8
- readonly icons: Readonly<{
9
- hide: TuiStringHandler<TuiSizeL | TuiSizeS> | string;
10
- show: TuiStringHandler<TuiSizeL | TuiSizeS> | string;
11
- }>;
12
- }
13
- /**
14
- * @deprecated use {@link TuiPassword} with {@link TuiTextfield}
15
- */
16
- export declare const TUI_INPUT_PASSWORD_DEFAULT_OPTIONS: TuiInputPasswordOptions;
17
- /**
18
- * @deprecated use {@link TuiPassword} with {@link TuiTextfield}
19
- */
20
- export declare const TUI_INPUT_PASSWORD_OPTIONS: InjectionToken<TuiInputPasswordOptions>;
21
- /**
22
- * @deprecated use {@link TuiPassword} with {@link TuiTextfield}
23
- */
24
- export declare function tuiInputPasswordOptionsProvider(options: Partial<TuiInputPasswordOptions>): Provider;
@@ -1,9 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- export declare class TuiIconBadge {
3
- private readonly icon;
4
- protected readonly nothing: undefined;
5
- protected readonly badgeSrc: import("@angular/core").WritableSignal<string | null>;
6
- set badge(icon: string);
7
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiIconBadge, never>;
8
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiIconBadge, "tui-icon[badge]", never, { "badge": { "alias": "badge"; "required": false; }; }, {}, never, never, true, never>;
9
- }
@@ -1 +0,0 @@
1
- export * from './icon-badge.directive';
@@ -1,96 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, signal, computed, ChangeDetectionStrategy, Component } from '@angular/core';
3
- import { toSignal } from '@angular/core/rxjs-interop';
4
- import { tuiFallbackValueProvider } from '@taiga-ui/cdk/tokens';
5
- import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
6
- import { tuiProvideOptions, tuiIsString } from '@taiga-ui/cdk/utils/miscellaneous';
7
- import { TuiIcon } from '@taiga-ui/core/components/icon';
8
- import * as i1 from '@taiga-ui/core/components/textfield';
9
- import { TUI_TEXTFIELD_OPTIONS, TuiTextfieldContent, TuiWithTextfield } from '@taiga-ui/core/components/textfield';
10
- import { TuiTooltip } from '@taiga-ui/kit/directives';
11
- import { TUI_PASSWORD_TEXTS } from '@taiga-ui/kit/tokens';
12
-
13
- /**
14
- * @deprecated use {@link TuiPassword} with {@link TuiTextfield}
15
- */
16
- const TUI_INPUT_PASSWORD_DEFAULT_OPTIONS = {
17
- icons: {
18
- hide: '@tui.eye-off',
19
- show: '@tui.eye',
20
- },
21
- };
22
- /**
23
- * @deprecated use {@link TuiPassword} with {@link TuiTextfield}
24
- */
25
- const TUI_INPUT_PASSWORD_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_INPUT_PASSWORD_OPTIONS' : '', {
26
- factory: () => TUI_INPUT_PASSWORD_DEFAULT_OPTIONS,
27
- });
28
- /**
29
- * @deprecated use {@link TuiPassword} with {@link TuiTextfield}
30
- */
31
- function tuiInputPasswordOptionsProvider(options) {
32
- return tuiProvideOptions(TUI_INPUT_PASSWORD_OPTIONS, options, TUI_INPUT_PASSWORD_DEFAULT_OPTIONS);
33
- }
34
-
35
- /**
36
- * @deprecated use {@link TuiPassword} with {@link TuiTextfield}
37
- */
38
- class TuiInputPassword {
39
- constructor() {
40
- this.options = inject(TUI_INPUT_PASSWORD_OPTIONS);
41
- this.texts = toSignal(inject(TUI_PASSWORD_TEXTS), {
42
- initialValue: ['', ''],
43
- });
44
- this.el = tuiInjectElement();
45
- this.size = inject(TUI_TEXTFIELD_OPTIONS).size;
46
- this.hidden = signal(true);
47
- this.text = computed(() => this.hidden() ? this.texts()[0] : this.texts()[1]);
48
- this.icon = computed((size = this.size()) => {
49
- const icon = this.hidden() ? this.options.icons.show : this.options.icons.hide;
50
- return tuiIsString(icon) ? icon : icon(size);
51
- });
52
- }
53
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiInputPassword, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
54
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.9", type: TuiInputPassword, isStandalone: true, selector: "input[tuiInputPassword]", host: { attributes: { "ngSkipHydration": "true" }, properties: { "type": "hidden() ? \"password\" : \"text\"" } }, providers: [tuiFallbackValueProvider('')], hostDirectives: [{ directive: i1.TuiWithTextfield }], ngImport: i0, template: `
55
- <tui-icon
56
- *tuiTextfieldContent
57
- [icon]="icon()"
58
- [style.border]="size() === 's' ? null : 'none'"
59
- [tuiTooltip]="text()"
60
- (click)="hidden.set(!hidden())"
61
- (mousedown.capture.prevent.stop)="el.focus()"
62
- />
63
- `, isInline: true, dependencies: [{ kind: "component", type: TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: TuiTextfieldContent, selector: "ng-template[tuiTextfieldContent]" }, { kind: "directive", type: TuiTooltip, selector: "tui-icon[tuiTooltip]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
64
- }
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiInputPassword, decorators: [{
66
- type: Component,
67
- args: [{
68
- standalone: true,
69
- selector: 'input[tuiInputPassword]',
70
- imports: [TuiIcon, TuiTextfieldContent, TuiTooltip],
71
- template: `
72
- <tui-icon
73
- *tuiTextfieldContent
74
- [icon]="icon()"
75
- [style.border]="size() === 's' ? null : 'none'"
76
- [tuiTooltip]="text()"
77
- (click)="hidden.set(!hidden())"
78
- (mousedown.capture.prevent.stop)="el.focus()"
79
- />
80
- `,
81
- changeDetection: ChangeDetectionStrategy.OnPush,
82
- providers: [tuiFallbackValueProvider('')],
83
- hostDirectives: [TuiWithTextfield],
84
- host: {
85
- ngSkipHydration: 'true',
86
- '[type]': 'hidden() ? "password" : "text"',
87
- },
88
- }]
89
- }] });
90
-
91
- /**
92
- * Generated bundle index. Do not edit.
93
- */
94
-
95
- export { TUI_INPUT_PASSWORD_DEFAULT_OPTIONS, TUI_INPUT_PASSWORD_OPTIONS, TuiInputPassword, tuiInputPasswordOptionsProvider };
96
- //# sourceMappingURL=taiga-ui-kit-components-input-password.mjs.map