@taiga-ui/core 4.52.0-canary.40b6993 → 4.52.0-canary.49575ff

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 (87) hide show
  1. package/components/input/input.d.ts +1 -1
  2. package/components/notification/notification.directive.d.ts +1 -1
  3. package/components/root/root.component.d.ts +1 -1
  4. package/fesm2022/taiga-ui-core-components-button.mjs +2 -2
  5. package/fesm2022/taiga-ui-core-components-button.mjs.map +1 -1
  6. package/fesm2022/taiga-ui-core-components-calendar.mjs +4 -4
  7. package/fesm2022/taiga-ui-core-components-cell.mjs +2 -2
  8. package/fesm2022/taiga-ui-core-components-cell.mjs.map +1 -1
  9. package/fesm2022/taiga-ui-core-components-data-list.mjs +2 -2
  10. package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
  11. package/fesm2022/taiga-ui-core-components-error.mjs +2 -2
  12. package/fesm2022/taiga-ui-core-components-icon.mjs +2 -2
  13. package/fesm2022/taiga-ui-core-components-icon.mjs.map +1 -1
  14. package/fesm2022/taiga-ui-core-components-input.mjs +3 -2
  15. package/fesm2022/taiga-ui-core-components-input.mjs.map +1 -1
  16. package/fesm2022/taiga-ui-core-components-label.mjs +2 -2
  17. package/fesm2022/taiga-ui-core-components-label.mjs.map +1 -1
  18. package/fesm2022/taiga-ui-core-components-link.mjs +2 -2
  19. package/fesm2022/taiga-ui-core-components-link.mjs.map +1 -1
  20. package/fesm2022/taiga-ui-core-components-loader.mjs +2 -2
  21. package/fesm2022/taiga-ui-core-components-notification.mjs +6 -6
  22. package/fesm2022/taiga-ui-core-components-notification.mjs.map +1 -1
  23. package/fesm2022/taiga-ui-core-components-root.mjs +4 -6
  24. package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
  25. package/fesm2022/taiga-ui-core-components-spin-button.mjs +2 -2
  26. package/fesm2022/taiga-ui-core-components-textfield.mjs +11 -9
  27. package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
  28. package/fesm2022/taiga-ui-core-components-title.mjs +2 -2
  29. package/fesm2022/taiga-ui-core-components-title.mjs.map +1 -1
  30. package/fesm2022/taiga-ui-core-directives-appearance.mjs +2 -2
  31. package/fesm2022/taiga-ui-core-directives-appearance.mjs.map +1 -1
  32. package/fesm2022/taiga-ui-core-directives-group.mjs +2 -2
  33. package/fesm2022/taiga-ui-core-directives-group.mjs.map +1 -1
  34. package/fesm2022/taiga-ui-core-directives-icons.mjs +2 -2
  35. package/fesm2022/taiga-ui-core-directives-icons.mjs.map +1 -1
  36. package/fesm2022/taiga-ui-core-portals-dialog.mjs +3 -3
  37. package/fesm2022/taiga-ui-core-portals-dialog.mjs.map +1 -1
  38. package/fesm2022/taiga-ui-core-portals-dropdown.mjs +14 -30
  39. package/fesm2022/taiga-ui-core-portals-dropdown.mjs.map +1 -1
  40. package/fesm2022/taiga-ui-core-portals-hint.mjs +14 -12
  41. package/fesm2022/taiga-ui-core-portals-hint.mjs.map +1 -1
  42. package/fesm2022/taiga-ui-core-portals-modal.mjs +2 -2
  43. package/fesm2022/taiga-ui-core-portals-modal.mjs.map +1 -1
  44. package/fesm2022/taiga-ui-core-services.mjs +5 -30
  45. package/fesm2022/taiga-ui-core-services.mjs.map +1 -1
  46. package/fesm2022/taiga-ui-core-tokens.mjs +29 -15
  47. package/fesm2022/taiga-ui-core-tokens.mjs.map +1 -1
  48. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs +13 -4
  49. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs.map +1 -1
  50. package/package.json +41 -41
  51. package/portals/dropdown/dropdown-options.directive.d.ts +0 -4
  52. package/portals/hint/hint-position.directive.d.ts +2 -2
  53. package/portals/hint/hint.directive.d.ts +1 -1
  54. package/services/index.d.ts +0 -1
  55. package/styles/components/button.less +10 -20
  56. package/styles/components/icon.less +11 -0
  57. package/styles/components/icons.less +2 -1
  58. package/styles/components/label.less +3 -12
  59. package/styles/components/link.less +1 -2
  60. package/styles/components/notification.less +21 -22
  61. package/styles/components/textfield.less +27 -63
  62. package/styles/components/title.less +8 -8
  63. package/styles/mixins/appearance.less +8 -24
  64. package/styles/mixins/appearance.scss +8 -24
  65. package/styles/mixins/date-picker.less +1 -1
  66. package/styles/mixins/picker.less +1 -1
  67. package/styles/mixins/picker.scss +1 -1
  68. package/styles/mixins/slider.less +1 -1
  69. package/styles/mixins/slider.scss +1 -1
  70. package/styles/taiga-ui-local.less +0 -1
  71. package/styles/taiga-ui-local.scss +0 -1
  72. package/styles/taiga-ui-theme.less +0 -1
  73. package/styles/theme/appearance/outline.less +9 -18
  74. package/styles/theme/appearance/primary.less +2 -4
  75. package/styles/theme/appearance/secondary.less +6 -14
  76. package/styles/theme/appearance/status.less +0 -4
  77. package/styles/theme/appearance/table.less +38 -31
  78. package/styles/theme/appearance.less +0 -1
  79. package/styles/theme/variables.less +18 -17
  80. package/tokens/breakpoint.d.ts +4 -0
  81. package/tokens/index.d.ts +1 -0
  82. package/utils/miscellaneous/font-scaling.d.ts +2 -1
  83. package/services/breakpoint.service.d.ts +0 -16
  84. package/styles/mixins/wrapper.less +0 -64
  85. package/styles/mixins/wrapper.scss +0 -61
  86. package/styles/theme/appearance/opposite.less +0 -17
  87. package/styles/theme/wrapper.less +0 -211
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @name Notification
5
- * @selector tui-notification, [tuiNotification]
5
+ * @selector [tuiNotification]
6
6
  *
7
7
  * @description
8
8
  * A colored rounded block of information with optional icon, title, subtitle and actions
@@ -11,17 +11,16 @@
11
11
  * data-size — size (default: 'l') ('s' | 'm' | 'l')
12
12
  *
13
13
  * @example
14
- * <tui-notification tuiAppearance data-appearance="negative">
14
+ * <div tuiNotification tuiAppearance data-appearance="negative">
15
15
  * <span tuiTitle>
16
16
  * Error
17
17
  * <span tuiSubtitle>Something went wrong</span>
18
18
  * </span>
19
- * </tui-notification>
19
+ * </div>
20
20
  *
21
21
  * @see-also
22
22
  * Icons, Appearance
23
23
  */
24
- tui-notification,
25
24
  [tuiNotification] {
26
25
  .button-clear();
27
26
 
@@ -30,7 +29,7 @@ tui-notification,
30
29
  max-block-size: 100%;
31
30
  color: var(--tui-text-primary);
32
31
  padding: 1rem;
33
- font: var(--tui-font-text-m);
32
+ font: var(--tui-font-body-m);
34
33
  line-height: 1.5rem;
35
34
  border-radius: var(--tui-radius-l);
36
35
  box-sizing: border-box;
@@ -39,14 +38,18 @@ tui-notification,
39
38
  border-inline-start: var(--t-start) solid transparent;
40
39
  border-inline-end: var(--t-end) solid transparent;
41
40
 
41
+ .interactive({
42
+ cursor: pointer;
43
+ });
44
+
42
45
  --t-start: 0;
43
46
  --t-end: 0;
44
47
 
45
- &[style*='--t-icon-start:'] {
48
+ &[data-icon-start] {
46
49
  --t-start: 2rem;
47
50
  }
48
51
 
49
- &[style*='--t-icon-end:'] {
52
+ &[data-icon-end] {
50
53
  --t-end: 1.5rem;
51
54
  }
52
55
 
@@ -74,11 +77,11 @@ tui-notification,
74
77
 
75
78
  &[data-size='s'] {
76
79
  padding: 0.375rem 0.625rem;
77
- font: var(--tui-font-text-s);
80
+ font: var(--tui-font-body-s);
78
81
  line-height: 1.25rem;
79
82
  border-radius: var(--tui-radius-m);
80
83
 
81
- &[style*='--t-icon-start:'] {
84
+ &[data-icon-start] {
82
85
  --t-start: 1.5rem;
83
86
  }
84
87
 
@@ -103,12 +106,12 @@ tui-notification,
103
106
  }
104
107
 
105
108
  [tuiTitle] {
106
- font: var(--tui-font-text-s);
109
+ font: var(--tui-font-body-s);
107
110
  font-weight: bold;
108
111
  }
109
112
 
110
113
  [tuiSubtitle] {
111
- font: var(--tui-font-text-s);
114
+ font: var(--tui-font-body-s);
112
115
  }
113
116
 
114
117
  [tuiSubtitle] + * {
@@ -129,11 +132,11 @@ tui-notification,
129
132
 
130
133
  &[data-size='m'] {
131
134
  padding: 0.75rem;
132
- font: var(--tui-font-text-s);
135
+ font: var(--tui-font-body-s);
133
136
  line-height: 1.25rem;
134
137
  border-radius: var(--tui-radius-m);
135
138
 
136
- &[style*='--t-icon-start:'] {
139
+ &[data-icon-start] {
137
140
  --t-start: 1.625rem;
138
141
  }
139
142
 
@@ -157,12 +160,12 @@ tui-notification,
157
160
  }
158
161
 
159
162
  [tuiTitle] {
160
- font: var(--tui-font-text-ui-m);
163
+ font: var(--tui-font-ui-m);
161
164
  font-weight: bold;
162
165
  }
163
166
 
164
167
  [tuiSubtitle] {
165
- font: var(--tui-font-text-s);
168
+ font: var(--tui-font-body-s);
166
169
  }
167
170
 
168
171
  [tuiSubtitle] + * {
@@ -183,19 +186,19 @@ tui-notification,
183
186
 
184
187
  [tuiTitle] {
185
188
  gap: 0.125rem;
186
- font: var(--tui-font-text-ui-l);
189
+ font: var(--tui-font-ui-l);
187
190
  font-weight: bold;
188
191
  }
189
192
 
190
193
  [tuiSubtitle] {
191
- font: var(--tui-font-text-m);
194
+ font: var(--tui-font-body-m);
192
195
 
193
196
  + * {
194
197
  display: flex;
195
198
  align-items: center;
196
199
  gap: 1.25rem;
197
200
  margin-block-start: 0.625rem;
198
- font: var(--tui-font-text-s);
201
+ font: var(--tui-font-body-s);
199
202
  }
200
203
  }
201
204
 
@@ -212,7 +215,3 @@ tui-notification,
212
215
  }
213
216
  }
214
217
  }
215
-
216
- [tuiNotification] {
217
- cursor: pointer;
218
- }
@@ -7,7 +7,7 @@ tui-textfield {
7
7
  --t-height: var(--tui-height-l);
8
8
  --t-padding: var(--tui-padding-l);
9
9
  --t-label-y: -0.75rem;
10
- --t-label-font: var(--tui-font-text-s);
10
+ --t-label-font: var(--tui-font-body-s);
11
11
  --t-end: ~'0rem';
12
12
  --t-start: ~'0rem';
13
13
 
@@ -19,7 +19,7 @@ tui-textfield {
19
19
  min-block-size: var(--t-height);
20
20
  padding: 0 var(--t-padding);
21
21
  border-radius: var(--tui-radius-l);
22
- font: var(--tui-font-text-ui-m);
22
+ font: var(--tui-font-ui-m);
23
23
  line-height: 1.25rem;
24
24
  box-sizing: border-box;
25
25
  gap: 0 0.25rem;
@@ -30,11 +30,11 @@ tui-textfield {
30
30
  color: var(--tui-text-tertiary);
31
31
  }
32
32
 
33
- &[style*='--t-icon-start:'] {
33
+ &[data-icon-start] {
34
34
  --t-start: 2.25rem;
35
35
  }
36
36
 
37
- &[style*='--t-icon-end:'] {
37
+ &[data-icon-end] {
38
38
  --t-end: 2.25rem;
39
39
  }
40
40
 
@@ -42,8 +42,7 @@ tui-textfield {
42
42
  position: relative;
43
43
  block-size: auto;
44
44
  align-self: stretch;
45
- border-inline-start: var(--t-padding) solid transparent;
46
- border-inline-end: var(--t-padding) solid transparent;
45
+ border-inline: var(--t-padding) solid transparent;
47
46
  margin: 0 calc(-1 * var(--t-padding));
48
47
  }
49
48
 
@@ -80,8 +79,7 @@ tui-textfield {
80
79
  font: inherit;
81
80
  resize: none;
82
81
  outline: none;
83
- padding-block-start: 1.125rem;
84
- padding-block-end: 1.125rem;
82
+ padding-block: 1.125rem;
85
83
  color: var(--tui-text-primary);
86
84
 
87
85
  &[inputmode='none'] {
@@ -95,34 +93,31 @@ tui-textfield {
95
93
 
96
94
  border-radius: var(--tui-radius-m);
97
95
  gap: 0;
98
- font: var(--tui-font-text-ui-s);
96
+ font: var(--tui-font-ui-s);
99
97
  line-height: 1rem;
100
98
 
101
- &[style*='--t-icon-start:'] {
99
+ &[data-icon-start] {
102
100
  --t-start: 1.25rem;
103
101
  }
104
102
 
105
- &[style*='--t-icon-end:'] {
103
+ &[data-icon-end] {
106
104
  --t-end: 1.25rem;
107
105
  }
108
106
 
109
107
  &::before {
110
- margin-inline-end: 0.5rem;
111
- margin-inline-start: -0.125rem;
108
+ margin-inline: -0.125rem 0.5rem;
112
109
  font-size: 1rem;
113
110
  }
114
111
 
115
112
  &::after {
116
- margin-inline-end: calc(-0.125rem - var(--t-padding));
117
- margin-inline-start: calc(0.625rem - var(--t-padding));
113
+ margin-inline: calc(0.625rem - var(--t-padding)) calc(-0.125rem - var(--t-padding));
118
114
  font-size: 1rem;
119
115
  }
120
116
 
121
117
  input,
122
118
  select,
123
119
  textarea {
124
- padding-block-start: 0.5rem;
125
- padding-block-end: 0.5rem;
120
+ padding-block: 0.5rem;
126
121
  }
127
122
 
128
123
  & > .t-content {
@@ -133,36 +128,33 @@ tui-textfield {
133
128
  &[data-size='m'] {
134
129
  --t-height: var(--tui-height-m);
135
130
  --t-padding: var(--tui-padding-m);
136
- --t-label-font: var(--tui-font-text-xs);
131
+ --t-label-font: var(--tui-font-body-xs);
137
132
  --t-label-y: -0.5625rem;
138
133
 
139
134
  border-radius: var(--tui-radius-m);
140
- font: var(--tui-font-text-ui-s);
135
+ font: var(--tui-font-ui-s);
141
136
  line-height: 1rem;
142
137
 
143
- &[style*='--t-icon-start:'] {
138
+ &[data-icon-start] {
144
139
  --t-start: 1.75rem;
145
140
  }
146
141
 
147
- &[style*='--t-icon-end:'] {
142
+ &[data-icon-end] {
148
143
  --t-end: 1.75rem;
149
144
  }
150
145
 
151
146
  &::before {
152
- margin-inline-start: -0.125rem;
153
- margin-inline-end: 0.125rem;
147
+ margin-inline: -0.125rem 0.125rem;
154
148
  }
155
149
 
156
150
  &::after {
157
- margin-inline-start: calc(0.25rem - var(--t-padding));
158
- margin-inline-end: calc(-0.125rem - var(--t-padding));
151
+ margin-inline: calc(0.25rem - var(--t-padding)) calc(-0.125rem - var(--t-padding));
159
152
  }
160
153
 
161
154
  input,
162
155
  select,
163
156
  textarea {
164
- padding-block-start: 0.875rem;
165
- padding-block-end: 0.875rem;
157
+ padding-block: 0.875rem;
166
158
  }
167
159
 
168
160
  & > .t-content {
@@ -211,36 +203,12 @@ tui-textfield {
211
203
  opacity: var(--tui-disabled-opacity);
212
204
  }
213
205
 
214
- &:has(label:not(:empty)) {
215
- & > .t-template,
216
- input:not([type='range']),
217
- select:defined,
218
- textarea:defined {
219
- padding-block-start: calc(var(--t-height) / 3);
220
- padding-block-end: 0;
221
- }
222
- }
223
-
224
- &:not([data-focus='true']):has(label:not(:empty)) {
225
- & > .t-template,
226
- input:not([type='range']),
227
- select:defined,
228
- textarea:defined {
229
- &::placeholder,
230
- &._empty {
231
- color: transparent;
232
- }
233
- }
234
- }
235
-
236
- // TODO: Fallback until Safari 15.4
237
206
  &._with-label {
238
207
  & > .t-template,
239
208
  input:not([type='range']),
240
209
  select:defined,
241
210
  textarea:defined {
242
- padding-block-start: calc(var(--t-height) / 3);
243
- padding-block-end: 0;
211
+ padding-block: calc(var(--t-height) / 3) 0;
244
212
  }
245
213
  }
246
214
 
@@ -268,8 +236,12 @@ tui-textfield {
268
236
  border-width: 0;
269
237
  overscroll-behavior: none;
270
238
  // StackBlitz changes "0rem" to "0" breaking calc
271
- padding-inline-start: calc(var(--t-start, ~'0rem') + var(--t-padding));
272
- padding-inline-end: calc(var(--t-end, ~'0rem') + var(--t-side) + var(--t-padding));
239
+ padding-inline: calc(var(--t-start, ~'0rem') + var(--t-padding))
240
+ calc(var(--t-end, ~'0rem') + var(--t-side, ~'0rem') + var(--t-padding));
241
+
242
+ &:disabled {
243
+ animation: tuiPresent 1s infinite;
244
+ }
273
245
  }
274
246
 
275
247
  & > .t-template {
@@ -338,14 +310,6 @@ tui-textfield {
338
310
  }
339
311
  });
340
312
  }
341
-
342
- // @deprecated remove in v5
343
- .ios-only({
344
- &._ios-fix {
345
- position: fixed;
346
- left: 1000rem;
347
- }
348
- });
349
313
  }
350
314
 
351
315
  // Increasing specificity to override all other styles
@@ -423,7 +387,7 @@ tui-textfield {
423
387
  }
424
388
 
425
389
  & > .t-filler:defined {
426
- pointer-events: none;
390
+ pointer-events: none !important;
427
391
  color: var(--tui-text-tertiary);
428
392
  opacity: 1;
429
393
  }
@@ -26,32 +26,32 @@
26
26
  text-align: start;
27
27
  gap: 0.25rem;
28
28
  margin: 0;
29
- font: var(--tui-font-text-ui-m);
29
+ font: var(--tui-font-ui-m);
30
30
 
31
31
  &[data-size='s'] {
32
32
  gap: 0.125rem;
33
- font: var(--tui-font-text-s);
33
+ font: var(--tui-font-body-s);
34
34
 
35
35
  [tuiSubtitle] {
36
- font: var(--tui-font-text-xs);
36
+ font: var(--tui-font-body-xs);
37
37
  }
38
38
  }
39
39
 
40
40
  &[data-size='m'] {
41
41
  gap: 0.125rem;
42
- font: var(--tui-font-heading-5);
42
+ font: var(--tui-font-heading-h5);
43
43
 
44
44
  [tuiSubtitle] {
45
- font: var(--tui-font-text-m);
45
+ font: var(--tui-font-body-m);
46
46
  }
47
47
  }
48
48
 
49
49
  &[data-size='l'] {
50
50
  gap: 0.5rem;
51
- font: var(--tui-font-heading-3);
51
+ font: var(--tui-font-heading-h3);
52
52
 
53
53
  [tuiSubtitle] {
54
- font: var(--tui-font-text-m);
54
+ font: var(--tui-font-body-m);
55
55
  }
56
56
  }
57
57
 
@@ -67,7 +67,7 @@
67
67
  }
68
68
 
69
69
  [tuiSubtitle] {
70
- font: var(--tui-font-text-ui-s);
70
+ font: var(--tui-font-ui-s);
71
71
  margin: 0;
72
72
  }
73
73
 
@@ -12,14 +12,6 @@
12
12
  &[data-state='hover'] {
13
13
  @content();
14
14
  }
15
-
16
- /* @deprecated TODO remove in v5 */
17
- @media @tui-mouse {
18
- &[tuiWrapper]:hover:not(._no-hover),
19
- &[tuiWrapper][data-state='hover'] {
20
- @content();
21
- }
22
- }
23
15
  }
24
16
 
25
17
  .appearance-active(@content) {
@@ -32,13 +24,6 @@
32
24
  &[data-state='active'] {
33
25
  @content();
34
26
  }
35
-
36
- /* @deprecated TODO remove in v5 */
37
- &[tuiWrapper]:active:not(._no-active),
38
- &[tuiWrapper][data-state='active'],
39
- &[tuiWrapper][data-state='active']:hover {
40
- @content();
41
- }
42
27
  }
43
28
 
44
29
  .appearance-disabled(@content) {
@@ -46,12 +31,6 @@
46
31
  &[data-state='disabled'] {
47
32
  @content();
48
33
  }
49
-
50
- /* @deprecated TODO remove in v5 */
51
- &[tuiWrapper]:disabled:not([data-state]),
52
- &[tuiWrapper][data-state='disabled'] {
53
- @content();
54
- }
55
34
  }
56
35
 
57
36
  .appearance-focus(@content) {
@@ -62,10 +41,15 @@
62
41
  &[data-focus='true'] {
63
42
  @content();
64
43
  }
44
+ }
65
45
 
66
- /* @deprecated TODO remove in v5 */
67
- &[tuiWrapper]:not(._focused):has(:focus-visible),
68
- &[tuiWrapper]._focused {
46
+ .appearance-invalid(@content) {
47
+ &:is([data-mode~='invalid'], .tui-invalid, :invalid):not(
48
+ [data-mode~='readonly'],
49
+ [data-mode~='valid'],
50
+ [data-state='disabled'],
51
+ :disabled
52
+ ) {
69
53
  @content();
70
54
  }
71
55
  }
@@ -13,14 +13,6 @@
13
13
  &[data-state='hover'] {
14
14
  @content;
15
15
  }
16
-
17
- /* @deprecated TODO remove in v5 */
18
- @media ($tui-mouse) {
19
- &[tuiWrapper]:hover:not(._no-hover),
20
- &[tuiWrapper][data-state='hover'] {
21
- @content;
22
- }
23
- }
24
16
  }
25
17
 
26
18
  @mixin appearance-active {
@@ -33,13 +25,6 @@
33
25
  &[data-state='active'] {
34
26
  @content;
35
27
  }
36
-
37
- /* @deprecated TODO remove in v5 */
38
- &[tuiWrapper]:active:not(._no-active),
39
- &[tuiWrapper][data-state='active'],
40
- &[tuiWrapper][data-state='active']:hover {
41
- @content;
42
- }
43
28
  }
44
29
 
45
30
  @mixin appearance-disabled {
@@ -47,12 +32,6 @@
47
32
  &[data-state='disabled'] {
48
33
  @content;
49
34
  }
50
-
51
- /* @deprecated TODO remove in v5 */
52
- &[tuiWrapper]:disabled:not([data-state]),
53
- &[tuiWrapper][data-state='disabled'] {
54
- @content;
55
- }
56
35
  }
57
36
 
58
37
  @mixin appearance-focus {
@@ -63,10 +42,15 @@
63
42
  &[data-focus='true'] {
64
43
  @content;
65
44
  }
45
+ }
66
46
 
67
- /* @deprecated TODO remove in v5 */
68
- &[tuiWrapper]:not(._focused):has(:focus-visible),
69
- &[tuiWrapper]._focused {
47
+ @mixin appearance-invalid {
48
+ &:is([data-mode~='invalid'], .tui-invalid, :invalid):not(
49
+ [data-mode~='readonly'],
50
+ [data-mode~='valid'],
51
+ [data-state='disabled'],
52
+ :disabled
53
+ ) {
70
54
  @content;
71
55
  }
72
56
  }
@@ -4,7 +4,7 @@
4
4
  .t-row {
5
5
  display: flex;
6
6
  justify-content: flex-start;
7
- font: var(--tui-font-text-m);
7
+ font: var(--tui-font-body-m);
8
8
 
9
9
  &:first-child {
10
10
  justify-content: flex-end;
@@ -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
 
@@ -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);