@taiga-ui/core 4.52.0-canary.ec0802b → 4.52.0-canary.efbd0d4

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 (274) hide show
  1. package/classes/accessors.d.ts +1 -1
  2. package/components/calendar/calendar-sheet.component.d.ts +1 -1
  3. package/{pipes/calendar-sheet → components/calendar}/calendar-sheet.pipe.d.ts +2 -2
  4. package/components/calendar/calendar-spin.component.d.ts +1 -0
  5. package/components/calendar/calendar-year.component.d.ts +1 -1
  6. package/components/calendar/calendar.options.d.ts +9 -0
  7. package/components/calendar/index.d.ts +3 -0
  8. package/{pipes/order-week-days → components/calendar}/order-week-days.pipe.d.ts +1 -1
  9. package/components/data-list/data-list.component.d.ts +2 -4
  10. package/components/data-list/data-list.d.ts +3 -4
  11. package/components/data-list/data-list.tokens.d.ts +1 -23
  12. package/components/data-list/index.d.ts +3 -4
  13. package/components/data-list/option-content.directive.d.ts +14 -0
  14. package/components/data-list/option-with-value.directive.d.ts +9 -0
  15. package/components/data-list/option.directive.d.ts +19 -0
  16. package/components/icon/icon.component.d.ts +2 -2
  17. package/components/index.d.ts +2 -2
  18. package/components/input/index.d.ts +2 -0
  19. package/components/input/input.d.ts +5 -0
  20. package/components/input/input.directive.d.ts +29 -0
  21. package/components/label/label.directive.d.ts +1 -1
  22. package/components/link/index.d.ts +0 -1
  23. package/components/link/link.directive.d.ts +8 -6
  24. package/components/notification/notification.component.d.ts +1 -1
  25. package/components/notification/notification.directive.d.ts +1 -1
  26. package/components/notification/notification.options.d.ts +4 -3
  27. package/components/notification/notification.service.d.ts +1 -1
  28. package/components/root/root.component.d.ts +1 -1
  29. package/components/scrollbar/scroll-ref.directive.d.ts +2 -0
  30. package/components/scrollbar/scrollbar.component.d.ts +1 -5
  31. package/components/spin-button/spin-button.component.d.ts +1 -1
  32. package/components/textfield/index.d.ts +0 -1
  33. package/components/textfield/textfield-multi/textfield-item.component.d.ts +3 -2
  34. package/components/textfield/textfield-multi/textfield-multi.component.d.ts +8 -13
  35. package/components/textfield/textfield.component.d.ts +20 -32
  36. package/components/textfield/textfield.d.ts +2 -3
  37. package/directives/group/group.directive.d.ts +7 -7
  38. package/directives/index.d.ts +0 -5
  39. package/directives/items-handlers/items-handlers.directive.d.ts +5 -9
  40. package/directives/items-handlers/items-handlers.tokens.d.ts +4 -4
  41. package/fesm2022/taiga-ui-core-classes.mjs +8 -10
  42. package/fesm2022/taiga-ui-core-classes.mjs.map +1 -1
  43. package/fesm2022/taiga-ui-core-components-button.mjs +7 -7
  44. package/fesm2022/taiga-ui-core-components-button.mjs.map +1 -1
  45. package/fesm2022/taiga-ui-core-components-calendar.mjs +135 -26
  46. package/fesm2022/taiga-ui-core-components-calendar.mjs.map +1 -1
  47. package/fesm2022/taiga-ui-core-components-cell.mjs +7 -7
  48. package/fesm2022/taiga-ui-core-components-cell.mjs.map +1 -1
  49. package/fesm2022/taiga-ui-core-components-data-list.mjs +98 -233
  50. package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
  51. package/fesm2022/taiga-ui-core-components-error.mjs +12 -11
  52. package/fesm2022/taiga-ui-core-components-error.mjs.map +1 -1
  53. package/fesm2022/taiga-ui-core-components-expand.mjs +3 -3
  54. package/fesm2022/taiga-ui-core-components-icon.mjs +9 -9
  55. package/fesm2022/taiga-ui-core-components-icon.mjs.map +1 -1
  56. package/fesm2022/taiga-ui-core-components-input.mjs +103 -0
  57. package/fesm2022/taiga-ui-core-components-input.mjs.map +1 -0
  58. package/fesm2022/taiga-ui-core-components-label.mjs +11 -13
  59. package/fesm2022/taiga-ui-core-components-label.mjs.map +1 -1
  60. package/fesm2022/taiga-ui-core-components-link.mjs +13 -24
  61. package/fesm2022/taiga-ui-core-components-link.mjs.map +1 -1
  62. package/fesm2022/taiga-ui-core-components-loader.mjs +4 -4
  63. package/fesm2022/taiga-ui-core-components-loader.mjs.map +1 -1
  64. package/fesm2022/taiga-ui-core-components-notification.mjs +27 -29
  65. package/fesm2022/taiga-ui-core-components-notification.mjs.map +1 -1
  66. package/fesm2022/taiga-ui-core-components-root.mjs +7 -9
  67. package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
  68. package/fesm2022/taiga-ui-core-components-scrollbar.mjs +42 -48
  69. package/fesm2022/taiga-ui-core-components-scrollbar.mjs.map +1 -1
  70. package/fesm2022/taiga-ui-core-components-spin-button.mjs +6 -6
  71. package/fesm2022/taiga-ui-core-components-spin-button.mjs.map +1 -1
  72. package/fesm2022/taiga-ui-core-components-textfield.mjs +99 -254
  73. package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
  74. package/fesm2022/{taiga-ui-core-directives-title.mjs → taiga-ui-core-components-title.mjs} +8 -8
  75. package/fesm2022/{taiga-ui-core-directives-title.mjs.map → taiga-ui-core-components-title.mjs.map} +1 -1
  76. package/fesm2022/taiga-ui-core-components.mjs +2 -2
  77. package/fesm2022/taiga-ui-core-directives-appearance.mjs +16 -15
  78. package/fesm2022/taiga-ui-core-directives-appearance.mjs.map +1 -1
  79. package/fesm2022/taiga-ui-core-directives-date-format.mjs +3 -3
  80. package/fesm2022/taiga-ui-core-directives-group.mjs +20 -28
  81. package/fesm2022/taiga-ui-core-directives-group.mjs.map +1 -1
  82. package/fesm2022/taiga-ui-core-directives-icons.mjs +12 -11
  83. package/fesm2022/taiga-ui-core-directives-icons.mjs.map +1 -1
  84. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs +16 -37
  85. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs.map +1 -1
  86. package/fesm2022/taiga-ui-core-directives-number-format.mjs +3 -3
  87. package/fesm2022/taiga-ui-core-directives.mjs +0 -5
  88. package/fesm2022/taiga-ui-core-directives.mjs.map +1 -1
  89. package/fesm2022/taiga-ui-core-pipes-format-number.mjs +5 -8
  90. package/fesm2022/taiga-ui-core-pipes-format-number.mjs.map +1 -1
  91. package/fesm2022/taiga-ui-core-pipes.mjs +0 -7
  92. package/fesm2022/taiga-ui-core-pipes.mjs.map +1 -1
  93. package/fesm2022/{taiga-ui-core-directives-alert.mjs → taiga-ui-core-portals-alert.mjs} +12 -12
  94. package/fesm2022/taiga-ui-core-portals-alert.mjs.map +1 -0
  95. package/fesm2022/taiga-ui-core-portals-dialog.mjs +158 -0
  96. package/fesm2022/taiga-ui-core-portals-dialog.mjs.map +1 -0
  97. package/fesm2022/{taiga-ui-core-directives-dropdown.mjs → taiga-ui-core-portals-dropdown.mjs} +160 -264
  98. package/fesm2022/taiga-ui-core-portals-dropdown.mjs.map +1 -0
  99. package/fesm2022/{taiga-ui-core-directives-hint.mjs → taiga-ui-core-portals-hint.mjs} +62 -61
  100. package/fesm2022/taiga-ui-core-portals-hint.mjs.map +1 -0
  101. package/fesm2022/taiga-ui-core-portals-modal.mjs +89 -0
  102. package/fesm2022/taiga-ui-core-portals-modal.mjs.map +1 -0
  103. package/fesm2022/{taiga-ui-core-directives-popup.mjs → taiga-ui-core-portals-popup.mjs} +11 -11
  104. package/fesm2022/taiga-ui-core-portals-popup.mjs.map +1 -0
  105. package/fesm2022/taiga-ui-core-portals.mjs +11 -0
  106. package/fesm2022/taiga-ui-core-portals.mjs.map +1 -0
  107. package/fesm2022/taiga-ui-core-services.mjs +15 -79
  108. package/fesm2022/taiga-ui-core-services.mjs.map +1 -1
  109. package/fesm2022/taiga-ui-core-tokens.mjs +34 -49
  110. package/fesm2022/taiga-ui-core-tokens.mjs.map +1 -1
  111. package/fesm2022/taiga-ui-core-utils-format.mjs +1 -23
  112. package/fesm2022/taiga-ui-core-utils-format.mjs.map +1 -1
  113. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs +19 -19
  114. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs.map +1 -1
  115. package/fesm2022/taiga-ui-core.mjs +1 -1
  116. package/index.d.ts +1 -1
  117. package/package.json +62 -87
  118. package/pipes/format-number/format-number.pipe.d.ts +1 -1
  119. package/pipes/index.d.ts +0 -7
  120. package/{components → portals}/dialog/dialog.service.d.ts +1 -1
  121. package/{directives → portals}/dropdown/dropdown-hover.directive.d.ts +5 -10
  122. package/{directives → portals}/dropdown/dropdown-manual.directive.d.ts +2 -2
  123. package/portals/dropdown/dropdown-open.directive.d.ts +30 -0
  124. package/{directives → portals}/dropdown/dropdown-options.directive.d.ts +0 -4
  125. package/{directives → portals}/dropdown/dropdown-position-sided.directive.d.ts +3 -3
  126. package/{directives → portals}/dropdown/dropdown-position.directive.d.ts +4 -4
  127. package/{directives → portals}/dropdown/dropdown-selection.directive.d.ts +4 -5
  128. package/{directives → portals}/dropdown/dropdown.bindings.d.ts +0 -1
  129. package/{directives → portals}/dropdown/dropdown.d.ts +1 -2
  130. package/{directives → portals}/dropdown/dropdown.directive.d.ts +5 -6
  131. package/{directives → portals}/dropdown/index.d.ts +0 -1
  132. package/{directives → portals}/hint/hint-position.directive.d.ts +3 -3
  133. package/{directives → portals}/hint/hint.directive.d.ts +1 -1
  134. package/portals/index.d.ts +6 -0
  135. package/services/index.d.ts +0 -3
  136. package/styles/components/appearance.less +5 -0
  137. package/styles/components/button.less +10 -20
  138. package/styles/components/icon.less +11 -0
  139. package/styles/components/icons.less +2 -1
  140. package/styles/components/label.less +3 -12
  141. package/styles/components/link.less +8 -24
  142. package/styles/components/notification.less +21 -22
  143. package/styles/components/textfield.less +129 -211
  144. package/styles/components/title.less +8 -8
  145. package/styles/mixins/appearance.less +9 -25
  146. package/styles/mixins/appearance.scss +8 -24
  147. package/styles/mixins/date-picker.less +1 -1
  148. package/styles/mixins/picker.less +1 -1
  149. package/styles/mixins/picker.scss +1 -1
  150. package/styles/mixins/slider.less +1 -1
  151. package/styles/mixins/slider.scss +2 -3
  152. package/styles/taiga-ui-local.less +0 -1
  153. package/styles/taiga-ui-local.scss +0 -1
  154. package/styles/taiga-ui-theme.less +0 -1
  155. package/styles/theme/appearance/outline.less +9 -18
  156. package/styles/theme/appearance/primary.less +2 -4
  157. package/styles/theme/appearance/secondary.less +6 -14
  158. package/styles/theme/appearance/status.less +0 -4
  159. package/styles/theme/appearance/table.less +36 -35
  160. package/styles/theme/appearance/textfield.less +30 -27
  161. package/styles/theme/appearance.less +0 -1
  162. package/styles/theme/variables.less +16 -17
  163. package/tokens/breakpoint.d.ts +4 -0
  164. package/tokens/common-icons.d.ts +2 -0
  165. package/tokens/icons.d.ts +0 -4
  166. package/tokens/index.d.ts +1 -4
  167. package/types/index.d.ts +0 -2
  168. package/types/point.d.ts +1 -1
  169. package/types/size.d.ts +0 -11
  170. package/utils/format/index.d.ts +0 -1
  171. package/utils/miscellaneous/font-scaling.d.ts +2 -1
  172. package/utils/miscellaneous/get-duration.d.ts +2 -0
  173. package/utils/miscellaneous/index.d.ts +1 -1
  174. package/animations/animations.d.ts +0 -109
  175. package/animations/index.d.ts +0 -1
  176. package/components/data-list/data-list.directive.d.ts +0 -7
  177. package/components/data-list/option/option-content.d.ts +0 -16
  178. package/components/data-list/option/option-legacy.component.d.ts +0 -24
  179. package/components/data-list/option/option.directive.d.ts +0 -26
  180. package/components/link/link.options.d.ts +0 -10
  181. package/components/textfield/textfield.directive.d.ts +0 -35
  182. package/directives/dropdown/dropdown-open-legacy.directive.d.ts +0 -12
  183. package/directives/dropdown/dropdown-open.directive.d.ts +0 -33
  184. package/fesm2022/taiga-ui-core-animations.mjs +0 -370
  185. package/fesm2022/taiga-ui-core-animations.mjs.map +0 -1
  186. package/fesm2022/taiga-ui-core-components-dialog.mjs +0 -158
  187. package/fesm2022/taiga-ui-core-components-dialog.mjs.map +0 -1
  188. package/fesm2022/taiga-ui-core-components-modal.mjs +0 -89
  189. package/fesm2022/taiga-ui-core-components-modal.mjs.map +0 -1
  190. package/fesm2022/taiga-ui-core-directives-alert.mjs.map +0 -1
  191. package/fesm2022/taiga-ui-core-directives-dropdown.mjs.map +0 -1
  192. package/fesm2022/taiga-ui-core-directives-hint.mjs.map +0 -1
  193. package/fesm2022/taiga-ui-core-directives-popup.mjs.map +0 -1
  194. package/fesm2022/taiga-ui-core-pipes-auto-color.mjs +0 -24
  195. package/fesm2022/taiga-ui-core-pipes-auto-color.mjs.map +0 -1
  196. package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs +0 -93
  197. package/fesm2022/taiga-ui-core-pipes-calendar-sheet.mjs.map +0 -1
  198. package/fesm2022/taiga-ui-core-pipes-flag.mjs +0 -31
  199. package/fesm2022/taiga-ui-core-pipes-flag.mjs.map +0 -1
  200. package/fesm2022/taiga-ui-core-pipes-format-date.mjs +0 -27
  201. package/fesm2022/taiga-ui-core-pipes-format-date.mjs.map +0 -1
  202. package/fesm2022/taiga-ui-core-pipes-initials.mjs +0 -28
  203. package/fesm2022/taiga-ui-core-pipes-initials.mjs.map +0 -1
  204. package/fesm2022/taiga-ui-core-pipes-month.mjs +0 -29
  205. package/fesm2022/taiga-ui-core-pipes-month.mjs.map +0 -1
  206. package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs +0 -35
  207. package/fesm2022/taiga-ui-core-pipes-order-week-days.mjs.map +0 -1
  208. package/pipes/auto-color/auto-color.pipe.d.ts +0 -7
  209. package/pipes/auto-color/index.d.ts +0 -1
  210. package/pipes/calendar-sheet/index.d.ts +0 -1
  211. package/pipes/calendar-sheet/utils.d.ts +0 -20
  212. package/pipes/flag/flag.pipe.d.ts +0 -14
  213. package/pipes/flag/index.d.ts +0 -1
  214. package/pipes/format-date/format-date.pipe.d.ts +0 -9
  215. package/pipes/format-date/index.d.ts +0 -1
  216. package/pipes/initials/index.d.ts +0 -1
  217. package/pipes/initials/initials.pipe.d.ts +0 -7
  218. package/pipes/month/index.d.ts +0 -1
  219. package/pipes/month/month.pipe.d.ts +0 -10
  220. package/pipes/order-week-days/index.d.ts +0 -1
  221. package/services/breakpoint.service.d.ts +0 -16
  222. package/services/dark-theme.service.d.ts +0 -10
  223. package/services/format-date.service.d.ts +0 -8
  224. package/styles/mixins/wrapper.less +0 -64
  225. package/styles/mixins/wrapper.scss +0 -61
  226. package/styles/theme/appearance/opposite.less +0 -17
  227. package/styles/theme/wrapper.less +0 -211
  228. package/tokens/day-type-handler.d.ts +0 -7
  229. package/tokens/first-day-of-week.d.ts +0 -5
  230. package/tokens/scroll-ref.d.ts +0 -2
  231. package/tokens/spin-icons.d.ts +0 -6
  232. package/types/range-state.d.ts +0 -4
  233. package/types/value-content-context.d.ts +0 -4
  234. package/utils/format/string-hash-to-hsl.d.ts +0 -6
  235. package/utils/miscellaneous/to-animation-options.d.ts +0 -4
  236. /package/{directives → components}/title/index.d.ts +0 -0
  237. /package/{directives → components}/title/title.directive.d.ts +0 -0
  238. /package/{directives → portals}/alert/alert.directive.d.ts +0 -0
  239. /package/{directives → portals}/alert/alert.service.d.ts +0 -0
  240. /package/{directives → portals}/alert/index.d.ts +0 -0
  241. /package/{components → portals}/dialog/dialog.component.d.ts +0 -0
  242. /package/{components → portals}/dialog/dialog.directive.d.ts +0 -0
  243. /package/{components → portals}/dialog/dialog.factory.d.ts +0 -0
  244. /package/{components → portals}/dialog/dialog.options.d.ts +0 -0
  245. /package/{components → portals}/dialog/dialog.providers.d.ts +0 -0
  246. /package/{components → portals}/dialog/index.d.ts +0 -0
  247. /package/{directives → portals}/dropdown/dropdown-content.directive.d.ts +0 -0
  248. /package/{directives → portals}/dropdown/dropdown-context.directive.d.ts +0 -0
  249. /package/{directives → portals}/dropdown/dropdown-hover.options.d.ts +0 -0
  250. /package/{directives → portals}/dropdown/dropdown-limit-width.d.ts +0 -0
  251. /package/{directives → portals}/dropdown/dropdown.component.d.ts +0 -0
  252. /package/{directives → portals}/dropdown/dropdown.driver.d.ts +0 -0
  253. /package/{directives → portals}/dropdown/dropdown.providers.d.ts +0 -0
  254. /package/{directives → portals}/dropdown/with-dropdown-open.directive.d.ts +0 -0
  255. /package/{directives → portals}/hint/hint-describe.directive.d.ts +0 -0
  256. /package/{directives → portals}/hint/hint-driver.directive.d.ts +0 -0
  257. /package/{directives → portals}/hint/hint-host.directive.d.ts +0 -0
  258. /package/{directives → portals}/hint/hint-hover.directive.d.ts +0 -0
  259. /package/{directives → portals}/hint/hint-manual.directive.d.ts +0 -0
  260. /package/{directives → portals}/hint/hint-options.directive.d.ts +0 -0
  261. /package/{directives → portals}/hint/hint-overflow.directive.d.ts +0 -0
  262. /package/{directives → portals}/hint/hint-pointer.directive.d.ts +0 -0
  263. /package/{directives → portals}/hint/hint-unstyled.component.d.ts +0 -0
  264. /package/{directives → portals}/hint/hint.component.d.ts +0 -0
  265. /package/{directives → portals}/hint/hint.d.ts +0 -0
  266. /package/{directives → portals}/hint/hint.providers.d.ts +0 -0
  267. /package/{directives → portals}/hint/index.d.ts +0 -0
  268. /package/{components → portals}/modal/index.d.ts +0 -0
  269. /package/{components → portals}/modal/modal.component.d.ts +0 -0
  270. /package/{components → portals}/modal/modal.service.d.ts +0 -0
  271. /package/{directives → portals}/popup/index.d.ts +0 -0
  272. /package/{directives → portals}/popup/popup.directive.d.ts +0 -0
  273. /package/{directives → portals}/popup/popup.service.d.ts +0 -0
  274. /package/{directives → portals}/popup/popups.component.d.ts +0 -0
@@ -4,7 +4,7 @@
4
4
  .picker(@itemSize) {
5
5
  :host {
6
6
  display: block;
7
- font: var(--tui-font-text-m);
7
+ font: var(--tui-font-body-m);
8
8
  }
9
9
 
10
10
  .t-row {
@@ -4,7 +4,7 @@
4
4
  @mixin picker($itemSize) {
5
5
  :host {
6
6
  display: block;
7
- font: var(--tui-font-text-m);
7
+ font: var(--tui-font-body-m);
8
8
  }
9
9
 
10
10
  .t-row {
@@ -15,7 +15,7 @@
15
15
  --t-offset: calc(@thumb / 2);
16
16
 
17
17
  display: flex;
18
- font: var(--tui-font-text-s);
18
+ font: var(--tui-font-body-s);
19
19
  margin-inline-start: var(--t-offset);
20
20
  margin-inline-end: var(--t-offset);
21
21
 
@@ -17,7 +17,7 @@ $track-inset: (
17
17
  --t-offset: calc($thumb / 2);
18
18
 
19
19
  display: flex;
20
- font: var(--tui-font-text-s);
20
+ font: var(--tui-font-body-s);
21
21
  margin-inline-start: var(--t-offset);
22
22
  margin-inline-end: var(--t-offset);
23
23
 
@@ -60,12 +60,11 @@ $track-inset: (
60
60
  --t-offset: calc(var(--tui-radius-l) / 2 + $thumb / 2);
61
61
  }
62
62
 
63
- tui-input-range:not([new]) + &, /* TODO(v5): delete */
64
63
  tui-range + & {
65
64
  --t-offset: $thumb;
66
65
  }
67
66
 
68
- tui-input-range[new] + & {
67
+ tui-input-range + & {
69
68
  --t-offset: calc(map-get($track-inset, $input-size) + $thumb);
70
69
  }
71
70
  }
@@ -3,6 +3,5 @@
3
3
  @import 'mixins/mixins.less';
4
4
  @import 'mixins/picker.less';
5
5
  @import 'mixins/slider.less';
6
- @import 'mixins/wrapper.less';
7
6
  @import 'mixins/appearance.less';
8
7
  @import 'variables/media.less';
@@ -2,6 +2,5 @@
2
2
  @import 'mixins/mixins.scss';
3
3
  @import 'mixins/picker.scss';
4
4
  @import 'mixins/slider.scss';
5
- @import 'mixins/wrapper.scss';
6
5
  @import 'mixins/appearance.scss';
7
6
  @import 'variables/media.scss';
@@ -1,5 +1,4 @@
1
1
  @import 'theme/variables.less';
2
2
  @import 'theme/palette.less';
3
3
  @import 'theme/appearance.less';
4
- @import 'theme/wrapper.less';
5
4
  @import 'theme/appearance/textfield.less';
@@ -2,9 +2,7 @@
2
2
 
3
3
  [tuiAppearance][data-appearance='outline'],
4
4
  [tuiAppearance][data-appearance='outline-destructive'],
5
- [tuiAppearance][data-appearance='outline-grayscale'],
6
- /* TODO @deprecated remove in v5 */
7
- [tuiAppearance][data-appearance='whiteblock'] {
5
+ [tuiAppearance][data-appearance='outline-grayscale'] {
8
6
  --t-bs: var(--tui-border-normal);
9
7
 
10
8
  color: var(--tui-text-action);
@@ -25,17 +23,14 @@
25
23
  });
26
24
  }
27
25
 
28
- &:invalid:not([data-mode]),
29
- &[data-mode~='invalid'],
30
- &.tui-invalid:not([data-mode]) {
26
+ .appearance-invalid({
31
27
  box-shadow: inset 0 0 0 1px var(--tui-status-negative-pale-hover);
32
- }
33
28
 
34
- &:checked:invalid:not([data-mode]),
35
- &[data-mode~='checked'][data-mode~='invalid'],
36
- &:checked.tui-invalid:not([data-mode]) {
37
- box-shadow: inset 0 0 0 2px var(--tui-status-negative);
38
- }
29
+ &:checked,
30
+ &[data-mode~='checked'] {
31
+ box-shadow: inset 0 0 0 2px var(--tui-status-negative);
32
+ }
33
+ });
39
34
 
40
35
  .appearance-hover({
41
36
  cursor: pointer;
@@ -48,9 +43,7 @@
48
43
  });
49
44
  }
50
45
 
51
- [tuiAppearance][data-appearance='outline-grayscale'],
52
- /* TODO @deprecated remove in v5 */
53
- [tuiAppearance][data-appearance='whiteblock'] {
46
+ [tuiAppearance][data-appearance='outline-grayscale'] {
54
47
  color: var(--tui-text-primary);
55
48
  }
56
49
 
@@ -60,9 +53,7 @@
60
53
 
61
54
  [tuiAppearance][data-appearance='icon'],
62
55
  [tuiAppearance][data-appearance='outline-grayscale'],
63
- [tuiAppearance][data-appearance='floating'],
64
- /* TODO @deprecated remove in v5 */
65
- [tuiAppearance][data-appearance='whiteblock'] {
56
+ [tuiAppearance][data-appearance='floating'] {
66
57
  color: var(--tui-text-primary);
67
58
 
68
59
  &::before,
@@ -6,11 +6,9 @@
6
6
  background: var(--t-bg);
7
7
  color: var(--tui-text-primary-on-accent-1);
8
8
 
9
- &:invalid:not([data-mode]),
10
- &[data-mode~='invalid'],
11
- &.tui-invalid:not([data-mode]) {
9
+ .appearance-invalid({
12
10
  background: var(--tui-status-negative);
13
- }
11
+ });
14
12
 
15
13
  .appearance-hover({
16
14
  --t-bg: var(--tui-background-accent-1-hover);
@@ -2,9 +2,7 @@
2
2
 
3
3
  [tuiAppearance][data-appearance='secondary'],
4
4
  [tuiAppearance][data-appearance='secondary-destructive'],
5
- [tuiAppearance][data-appearance='secondary-grayscale'],
6
- /* TODO @deprecated remove in v5 */
7
- [tuiAppearance][data-appearance='destructive'] {
5
+ [tuiAppearance][data-appearance='secondary-grayscale'] {
8
6
  background: var(--tui-background-neutral-1);
9
7
  color: var(--tui-text-action);
10
8
 
@@ -30,9 +28,7 @@
30
28
  background: var(--tui-background-accent-1-pressed);
31
29
  });
32
30
 
33
- &:invalid:not([data-mode]),
34
- &[data-mode~='invalid'],
35
- &.tui-invalid:not([data-mode]) {
31
+ .appearance-invalid({
36
32
  background: var(--tui-status-negative);
37
33
  color: #fff;
38
34
 
@@ -45,12 +41,10 @@
45
41
  background: var(--tui-status-negative);
46
42
  color: #fff;
47
43
  });
48
- }
44
+ });
49
45
  }
50
46
 
51
- &:invalid:not([data-mode]),
52
- &[data-mode~='invalid'],
53
- &.tui-invalid:not([data-mode]) {
47
+ .appearance-invalid({
54
48
  color: var(--tui-text-negative);
55
49
  background: var(--tui-status-negative-pale);
56
50
 
@@ -63,12 +57,10 @@
63
57
  color: var(--tui-text-negative-hover);
64
58
  background: var(--tui-status-negative-pale-hover);
65
59
  });
66
- }
60
+ });
67
61
  }
68
62
 
69
- [tuiAppearance][data-appearance='secondary-destructive'],
70
- /* TODO @deprecated remove in v5 */
71
- [tuiAppearance][data-appearance='destructive'] {
63
+ [tuiAppearance][data-appearance='secondary-destructive'] {
72
64
  color: var(--tui-text-negative);
73
65
  }
74
66
 
@@ -1,7 +1,5 @@
1
1
  @import '@taiga-ui/core/styles/taiga-ui-local.less';
2
2
 
3
- [tuiAppearance][data-appearance='error'], /* TODO @deprecated remove in v5 */
4
- [tuiAppearance][data-appearance='success'], /* TODO @deprecated remove in v5 */
5
3
  [tuiAppearance][data-appearance='negative'],
6
4
  [tuiAppearance][data-appearance='positive'],
7
5
  [tuiAppearance][data-appearance='warning'],
@@ -16,7 +14,6 @@
16
14
  }
17
15
  }
18
16
 
19
- [tuiAppearance][data-appearance='error'], /* TODO @deprecated remove in v5 */
20
17
  [tuiAppearance][data-appearance='negative'] {
21
18
  --t-bg: var(--tui-status-negative-pale);
22
19
 
@@ -39,7 +36,6 @@
39
36
  }
40
37
  }
41
38
 
42
- [tuiAppearance][data-appearance='success'], /* TODO @deprecated remove in v5 */
43
39
  [tuiAppearance][data-appearance='positive'] {
44
40
  --t-bg: var(--tui-status-positive-pale);
45
41
 
@@ -1,47 +1,49 @@
1
1
  @import '@taiga-ui/core/styles/taiga-ui-local.less';
2
2
 
3
- /*
4
- TODO: remove :not([tuiWrapper]) after legacy controls deletion
5
- */
6
- [tuiAppearance][data-appearance='table']:not([tuiWrapper]) {
7
- content: '';
8
- position: fixed;
9
- /* TODO: Use inset: -1px after Safari 14+ support */
10
- top: -1px;
11
- bottom: -1px;
12
- left: -1px;
13
- right: -1px;
14
- inline-size: auto;
15
- block-size: auto;
16
- border-radius: 0;
3
+ [tuiAppearance][data-appearance='table'] {
4
+ min-block-size: calc(100% + 1px);
5
+ border-radius: 0 !important;
17
6
  background: transparent;
7
+ color: var(--tui-text-primary);
18
8
  border: none;
19
9
  outline: none;
20
- border-block-end: calc(var(--t-row-height) - var(--t-height)) solid transparent;
10
+ margin: -1px -1px 0;
11
+ overflow: hidden;
21
12
 
22
- &:not(._empty) {
23
- color: var(--tui-text-primary);
13
+ &:not(tui-textfield[multi], tui-input-card-group) [tuiInput]:not(textarea) {
14
+ block-size: var(--t-height);
15
+ border-block-end: 100rem solid transparent;
16
+ box-sizing: content-box;
24
17
  }
25
18
 
26
- .appearance-hover({
27
- &[data-focus='false'] {
28
- background-color: var(--tui-background-neutral-1);
29
- }
30
- });
19
+ &::before,
20
+ &::after {
21
+ color: var(--tui-text-tertiary);
22
+ }
23
+
24
+ &:not([data-mode~='readonly']) {
25
+ .appearance-hover({
26
+ &[data-focus='false'] {
27
+ background-color: var(--tui-background-neutral-1);
28
+ }
29
+
30
+ &::before,
31
+ &::after {
32
+ color: var(--tui-text-secondary);
33
+ }
34
+ });
35
+ }
31
36
 
32
37
  .appearance-focus({
33
- outline-offset: -0.125rem;
34
- outline: 0.125rem solid var(--tui-border-focus);
38
+ border-image: conic-gradient(var(--tui-border-focus) 0 0) 1 / 0.125rem / 0 0 1px;
35
39
  });
36
40
 
37
- &:invalid:not([data-mode]),
38
- &[data-mode~='invalid'],
39
- &.tui-invalid:not([data-mode]) {
40
- background-origin: border-box;
41
- background-position: top right;
42
- background-repeat: no-repeat;
43
- background-image: linear-gradient(to top right, transparent 0% 50%, var(--tui-status-negative) 50% 100%);
44
- background-size: 0.5rem 0.5rem;
41
+ .appearance-invalid({
42
+ background:
43
+ linear-gradient(to top right, transparent 0% 50%, var(--tui-status-negative) 50% 100%)
44
+ top right / 0.5rem 0.5rem
45
+ no-repeat
46
+ border-box;
45
47
 
46
48
  &[data-focus='false'] {
47
49
  background-color: var(--tui-status-negative-pale);
@@ -60,8 +62,7 @@ TODO: remove :not([tuiWrapper]) after legacy controls deletion
60
62
 
61
63
  .appearance-focus({
62
64
  background-color: transparent;
63
- outline-offset: -0.0625rem;
64
- outline: 0.0625rem solid var(--tui-status-negative);
65
+ border-image: conic-gradient(var(--tui-status-negative) 0 0) 1 / 1px / 0 0 1px;
65
66
  });
66
- }
67
+ });
67
68
  }
@@ -1,39 +1,32 @@
1
1
  @import '@taiga-ui/core/styles/taiga-ui-local.less';
2
2
 
3
3
  [tuiAppearance][data-appearance='textfield'] {
4
- .transition(~'box-shadow, background-color, outline-color, border-color');
4
+ .transition(~'box-shadow, background-color, outline-color, border-color, color');
5
5
 
6
6
  --t-shadow: 0 0.125rem 0.1875rem rgba(0, 0, 0, 0.1);
7
7
 
8
8
  background-color: var(--tui-background-base);
9
- color: var(--tui-text-primary);
9
+ color: var(--tui-text-tertiary);
10
10
  box-shadow: var(--t-shadow);
11
11
  outline: 1px solid var(--tui-border-normal);
12
12
  outline-offset: -1px;
13
13
  border-width: 0;
14
14
 
15
- // TODO: Remove tuiWrapper hack in v5
16
- &:not([tuiWrapper])::before,
17
- &:not([tuiWrapper])::after {
18
- transition-property: color, transform;
19
- color: var(--tui-text-tertiary);
15
+ &:is(input, textarea, select) {
16
+ color: var(--tui-text-primary) !important;
20
17
  }
21
18
 
22
- .appearance-hover({
23
- --t-shadow: 0 0.125rem 0.3125rem rgba(0, 0, 0, 0.16);
19
+ &::before,
20
+ &::after {
21
+ transition-property: transform;
22
+ }
24
23
 
25
- &:not([tuiWrapper]):before,
26
- &:not([tuiWrapper]):after {
24
+ &:not([data-mode~='readonly']) {
25
+ .appearance-hover({
26
+ --t-shadow: 0 0.125rem 0.3125rem rgba(0, 0, 0, 0.16);
27
27
  color: var(--tui-text-secondary);
28
- }
29
- });
30
-
31
- .appearance-active({
32
- &:not([tuiWrapper]):before,
33
- &:not([tuiWrapper]):after {
34
- color: var(--tui-text-primary);
35
- }
36
- });
28
+ });
29
+ }
37
30
 
38
31
  .appearance-focus({
39
32
  box-shadow: none;
@@ -45,25 +38,35 @@
45
38
  box-shadow: none;
46
39
  });
47
40
 
48
- &[data-mode~='invalid'][data-mode~='invalid'],
49
- &:invalid:not([data-mode]),
50
- &.tui-invalid:not([data-mode]) {
41
+ .appearance-invalid({
51
42
  outline-color: var(--tui-status-negative);
52
- }
43
+ });
53
44
 
54
45
  &[data-mode~='readonly'],
55
- input&:read-only:not([data-mode]) {
46
+ &[data-state='disabled'],
47
+ &:disabled,
48
+ &._disabled {
56
49
  background: transparent !important;
57
50
  box-shadow: none !important;
58
51
  outline-color: var(--tui-border-normal) !important;
59
52
  }
60
53
 
61
- &[chrome-autofilled], /* Chrome on IOS */
62
- &:-webkit-autofill {
54
+ [tuiInput][chrome-autofilled], /* Chrome on IOS */
55
+ [tuiInput]:-webkit-autofill,
56
+ &[tuiInput][chrome-autofilled], /* Chrome on IOS */
57
+ &[tuiInput]:-webkit-autofill {
63
58
  -webkit-text-fill-color: var(--tui-text-primary) !important;
64
59
  caret-color: var(--tui-text-primary) !important;
65
60
  box-shadow: 0 0 0 100rem var(--tui-service-autofill-background) inset !important;
66
61
  transition: background-color 600000s 0s;
62
+ clip-path: inset(0.125rem round calc(var(--tui-radius-m) - 0.125rem));
63
+ }
64
+
65
+ &[data-size='l'] [tuiInput][chrome-autofilled], /* Chrome on IOS */
66
+ &[data-size='l'] [tuiInput]:-webkit-autofill,
67
+ &[data-size='l'][tuiInput][chrome-autofilled], /* Chrome on IOS */
68
+ &[data-size='l'][tuiInput]:-webkit-autofill {
69
+ clip-path: inset(0.125rem round calc(var(--tui-radius-l) - 0.125rem));
67
70
  }
68
71
  }
69
72
 
@@ -3,7 +3,6 @@
3
3
  @import 'appearance/flat.less';
4
4
  @import 'appearance/floating.less';
5
5
  @import 'appearance/glass.less';
6
- @import 'appearance/opposite.less';
7
6
  @import 'appearance/outline.less';
8
7
  @import 'appearance/primary.less';
9
8
  @import 'appearance/secondary.less';
@@ -1,27 +1,26 @@
1
1
  &:root,
2
2
  &:host {
3
3
  // Fonts
4
- --tui-font-heading: 'Manrope', system-ui, sans-serif;
5
- --tui-font-text: 'Manrope', system-ui, sans-serif;
4
+ --tui-font-family-text: 'Manrope', system-ui, sans-serif;
5
+ --tui-font-family-display: 'Manrope', system-ui, sans-serif;
6
6
  --tui-font-offset: ~'0rem';
7
7
  // Heading
8
- --tui-font-heading-1: bold calc(var(--tui-font-offset) + 3.125rem) / 3.5rem var(--tui-font-heading);
9
- --tui-font-heading-2: bold calc(var(--tui-font-offset) + 2.75rem) / 3rem var(--tui-font-heading);
10
- --tui-font-heading-3: bold calc(var(--tui-font-offset) + 2.25rem) / 2.5rem var(--tui-font-heading);
11
- --tui-font-heading-4: bold calc(var(--tui-font-offset) + 1.75rem) / 2rem var(--tui-font-heading);
12
- --tui-font-heading-5: bold calc(var(--tui-font-offset) + 1.5rem) / 1.75rem var(--tui-font-heading);
13
- --tui-font-heading-6: bold calc(var(--tui-font-offset) + 1.25rem) / 1.5rem var(--tui-font-heading);
8
+ --tui-font-heading-h1: bold calc(var(--tui-font-offset) + 3.125rem) / calc(50 / 56) var(--tui-font-family-display);
9
+ --tui-font-heading-h2: bold calc(var(--tui-font-offset) + 2.75rem) / calc(48 / 44) var(--tui-font-family-display);
10
+ --tui-font-heading-h3: bold calc(var(--tui-font-offset) + 2.25rem) / calc(40 / 36) var(--tui-font-family-display);
11
+ --tui-font-heading-h4: bold calc(var(--tui-font-offset) + 1.75rem) / calc(32 / 28) var(--tui-font-family-display);
12
+ --tui-font-heading-h5: bold calc(var(--tui-font-offset) + 1.5rem) / calc(28 / 24) var(--tui-font-family-display);
13
+ --tui-font-heading-h6: bold calc(var(--tui-font-offset) + 1.25rem) / calc(24 / 20) var(--tui-font-family-display);
14
14
  // Body
15
- --tui-font-text-xl: normal calc(var(--tui-font-offset) + 1.1875rem) / 1.75rem var(--tui-font-text);
16
- --tui-font-text-l: normal calc(var(--tui-font-offset) + 1.0625rem) / 1.75rem var(--tui-font-text);
17
- --tui-font-text-m: normal calc(var(--tui-font-offset) + 1rem) / 1.5rem var(--tui-font-text);
18
- --tui-font-text-s: normal calc(var(--tui-font-offset) + 0.8125rem) / 1.25rem var(--tui-font-text);
19
- --tui-font-text-xs: normal calc(var(--tui-font-offset) + 0.6875rem) / 1rem var(--tui-font-text);
15
+ --tui-font-body-l: normal calc(var(--tui-font-offset) + 1.0625rem) / calc(28 / 17) var(--tui-font-family-text);
16
+ --tui-font-body-m: normal calc(var(--tui-font-offset) + 1rem) / calc(24 / 16) var(--tui-font-family-text);
17
+ --tui-font-body-s: normal calc(var(--tui-font-offset) + 0.8125rem) / calc(20 / 13) var(--tui-font-family-text);
18
+ --tui-font-body-xs: normal calc(var(--tui-font-offset) + 0.6875rem) / calc(16 / 11) var(--tui-font-family-text);
20
19
  // Reduced
21
- --tui-font-text-ui-l: normal calc(var(--tui-font-offset) + 1.0625rem) / 1.5rem var(--tui-font-text);
22
- --tui-font-text-ui-m: normal calc(var(--tui-font-offset) + 1rem) / 1.25rem var(--tui-font-text);
23
- --tui-font-text-ui-s: normal calc(var(--tui-font-offset) + 0.8125rem) / 1rem var(--tui-font-text);
24
- --tui-font-text-ui-xs: normal calc(var(--tui-font-offset) + 0.6875rem) / 0.8125rem var(--tui-font-text);
20
+ --tui-font-ui-l: normal calc(var(--tui-font-offset) + 1.0625rem) / calc(24 / 17) var(--tui-font-family-text);
21
+ --tui-font-ui-m: normal calc(var(--tui-font-offset) + 1rem) / calc(20 / 16) var(--tui-font-family-text);
22
+ --tui-font-ui-s: normal calc(var(--tui-font-offset) + 0.8125rem) / calc(16 / 13) var(--tui-font-family-text);
23
+ --tui-font-ui-xs: normal calc(var(--tui-font-offset) + 0.6875rem) / calc(13 / 11) var(--tui-font-family-text);
25
24
  // Radii
26
25
  --tui-radius-xs: 0.25rem;
27
26
  --tui-radius-s: 0.5rem;
@@ -0,0 +1,4 @@
1
+ import { InjectionToken, type Signal } from '@angular/core';
2
+ import { type TuiMedia } from './media';
3
+ export type TuiBreakpointMediaKey = keyof Omit<TuiMedia, 'tablet'>;
4
+ export declare const TUI_BREAKPOINT: InjectionToken<Signal<"desktopLarge" | "desktopSmall" | "mobile">>;
@@ -5,5 +5,7 @@ export interface TuiCommonIcons {
5
5
  readonly more: string;
6
6
  readonly search: string;
7
7
  readonly ellipsis: string;
8
+ readonly decrement: string;
9
+ readonly increment: string;
8
10
  }
9
11
  export declare const TUI_COMMON_ICONS: import("@angular/core").InjectionToken<TuiCommonIcons>, tuiCommonIconsProvider: (item: Partial<TuiCommonIcons> | (() => Partial<TuiCommonIcons>)) => import("@angular/core").FactoryProvider;
package/tokens/icons.d.ts CHANGED
@@ -1,7 +1,3 @@
1
1
  import { type FactoryProvider, InjectionToken } from '@angular/core';
2
2
  export declare const TUI_ICON_REGISTRY: InjectionToken<Record<string, string>>;
3
- /**
4
- * @deprecated: use {@link TUI_ICON_REGISTRY}
5
- */
6
- export declare const TUI_ICON_STARTS: InjectionToken<Record<string, string>>;
7
3
  export declare function tuiIconsProvider(icons: Record<string, string>): FactoryProvider;
package/tokens/index.d.ts CHANGED
@@ -1,11 +1,10 @@
1
1
  export * from './animations-speed';
2
2
  export * from './assets-path';
3
3
  export * from './auxiliary';
4
+ export * from './breakpoint';
4
5
  export * from './common-icons';
5
6
  export * from './dark-mode';
6
7
  export * from './date-format';
7
- export * from './day-type-handler';
8
- export * from './first-day-of-week';
9
8
  export * from './i18n';
10
9
  export * from './icon';
11
10
  export * from './icon-resolver';
@@ -13,9 +12,7 @@ export * from './icons';
13
12
  export * from './media';
14
13
  export * from './number-format';
15
14
  export * from './reduced-motion';
16
- export * from './scroll-ref';
17
15
  export * from './selection-stream';
18
- export * from './spin-icons';
19
16
  export * from './theme';
20
17
  export * from './validation-errors';
21
18
  export * from './viewport';
package/types/index.d.ts CHANGED
@@ -2,6 +2,4 @@ export type * from './direction';
2
2
  export type * from './interactive-state';
3
3
  export type * from './orientation';
4
4
  export type * from './point';
5
- export type * from './range-state';
6
5
  export type * from './size';
7
- export type * from './value-content-context';
package/types/point.d.ts CHANGED
@@ -1 +1 @@
1
- export type TuiPoint = Readonly<[number, number]>;
1
+ export type TuiPoint = Readonly<[x: number, y: number]>;
package/types/size.d.ts CHANGED
@@ -1,14 +1,3 @@
1
- /**
2
- * Various sizes for components
3
- *
4
- * 'xxs' - extra extra small
5
- * 'xs' - extra small
6
- * 's' - small
7
- * 'm' - medium (typically default)
8
- * 'l' - large
9
- * 'xl' - extra large
10
- * 'xxl' - extra extra large
11
- */
12
1
  export type TuiSizeM = 'm';
13
2
  export type TuiSizeS = TuiSizeM | 's';
14
3
  export type TuiSizeL = TuiSizeM | 'l';
@@ -1,4 +1,3 @@
1
1
  export * from './format-number';
2
2
  export * from './get-fractional-part-padded';
3
3
  export * from './number-to-string-without-exp';
4
- export * from './string-hash-to-hsl';
@@ -1,2 +1,3 @@
1
- import { type Provider } from '@angular/core';
1
+ import { InjectionToken, type Provider, type WritableSignal } from '@angular/core';
2
+ export declare const TUI_FONT_OFFSET: InjectionToken<WritableSignal<number>>;
2
3
  export declare function tuiEnableFontScaling(): Provider;
@@ -0,0 +1,2 @@
1
+ export declare const TUI_ANIMATIONS_DEFAULT_DURATION = 300;
2
+ export declare function tuiGetDuration(speed: number): number;
@@ -1,7 +1,7 @@
1
1
  export * from './font-scaling';
2
+ export * from './get-duration';
2
3
  export * from './is-editing-key';
3
4
  export * from './is-obscured';
4
5
  export * from './override-options';
5
6
  export * from './provide-taiga';
6
7
  export * from './size-bigger';
7
- export * from './to-animation-options';