@taiga-ui/core 4.31.0 → 4.32.0-canary.67993cb
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.
- package/components/data-list/data-list.tokens.d.ts +6 -0
- package/components/data-list/option/option-content.d.ts +8 -0
- package/components/fullscreen/fullscreen.component.d.ts +14 -0
- package/components/fullscreen/index.d.ts +1 -0
- package/components/index.d.ts +1 -0
- package/components/root/root.component.d.ts +6 -2
- package/components/textfield/index.d.ts +1 -0
- package/components/textfield/select-like.directive.d.ts +2 -0
- package/components/textfield/textfield-accessor.d.ts +6 -0
- package/components/textfield/textfield-auxiliary.d.ts +1 -1
- package/components/textfield/textfield.component.d.ts +13 -11
- package/components/textfield/textfield.directive.d.ts +4 -1
- package/directives/dropdown/dropdown-open.directive.d.ts +3 -2
- package/directives/index.d.ts +1 -0
- package/directives/items-handlers/index.d.ts +2 -0
- package/directives/items-handlers/items-handlers.directive.d.ts +18 -0
- package/directives/items-handlers/items-handlers.tokens.d.ts +13 -0
- package/directives/popup/index.d.ts +1 -0
- package/directives/popup/popups.component.d.ts +6 -0
- package/esm2022/components/data-list/data-list.component.mjs +19 -4
- package/esm2022/components/data-list/data-list.tokens.mjs +1 -1
- package/esm2022/components/data-list/option/option-content.mjs +26 -1
- package/esm2022/components/dialog/dialog-close.service.mjs +7 -4
- package/esm2022/components/dialog/dialog.component.mjs +3 -3
- package/esm2022/components/fullscreen/fullscreen.component.mjs +67 -0
- package/esm2022/components/fullscreen/index.mjs +2 -0
- package/esm2022/components/fullscreen/taiga-ui-core-components-fullscreen.mjs +5 -0
- package/esm2022/components/index.mjs +2 -1
- package/esm2022/components/link/link.directive.mjs +2 -2
- package/esm2022/components/root/root.component.mjs +32 -12
- package/esm2022/components/textfield/index.mjs +2 -1
- package/esm2022/components/textfield/select-like.directive.mjs +18 -3
- package/esm2022/components/textfield/select.directive.mjs +6 -6
- package/esm2022/components/textfield/textfield-accessor.mjs +6 -0
- package/esm2022/components/textfield/textfield-auxiliary.mjs +1 -1
- package/esm2022/components/textfield/textfield.component.mjs +29 -27
- package/esm2022/components/textfield/textfield.directive.mjs +7 -3
- package/esm2022/directives/appearance/appearance.directive.mjs +2 -2
- package/esm2022/directives/dropdown/dropdown-open.directive.mjs +16 -9
- package/esm2022/directives/hint/hint.component.mjs +4 -4
- package/esm2022/directives/index.mjs +2 -1
- package/esm2022/directives/items-handlers/index.mjs +3 -0
- package/esm2022/directives/items-handlers/items-handlers.directive.mjs +63 -0
- package/esm2022/directives/items-handlers/items-handlers.tokens.mjs +26 -0
- package/esm2022/directives/items-handlers/taiga-ui-core-directives-items-handlers.mjs +5 -0
- package/esm2022/directives/popup/index.mjs +2 -1
- package/esm2022/directives/popup/popups.component.mjs +20 -0
- package/fesm2022/taiga-ui-core-components-data-list.mjs +41 -5
- package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-dialog.mjs +8 -5
- package/fesm2022/taiga-ui-core-components-dialog.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-fullscreen.mjs +73 -0
- package/fesm2022/taiga-ui-core-components-fullscreen.mjs.map +1 -0
- package/fesm2022/taiga-ui-core-components-link.mjs +2 -2
- package/fesm2022/taiga-ui-core-components-link.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-root.mjs +31 -11
- package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components-textfield.mjs +58 -36
- package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-components.mjs +1 -0
- package/fesm2022/taiga-ui-core-components.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives-appearance.mjs +2 -2
- package/fesm2022/taiga-ui-core-directives-appearance.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives-dropdown.mjs +14 -7
- package/fesm2022/taiga-ui-core-directives-dropdown.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives-hint.mjs +3 -3
- package/fesm2022/taiga-ui-core-directives-hint.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives-items-handlers.mjs +91 -0
- package/fesm2022/taiga-ui-core-directives-items-handlers.mjs.map +1 -0
- package/fesm2022/taiga-ui-core-directives-popup.mjs +18 -3
- package/fesm2022/taiga-ui-core-directives-popup.mjs.map +1 -1
- package/fesm2022/taiga-ui-core-directives.mjs +1 -0
- package/fesm2022/taiga-ui-core-directives.mjs.map +1 -1
- package/package.json +16 -4
- package/styles/components/appearance.less +1 -1
- package/styles/components/link.less +14 -2
- package/styles/components/textfield.less +80 -29
- package/styles/theme/appearance/table.less +1 -1
- package/styles/theme/palette.less +2 -2
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
@import '@taiga-ui/core/styles/taiga-ui-local.less';
|
|
2
2
|
|
|
3
3
|
tui-textfield {
|
|
4
|
+
.scrollbar-hidden();
|
|
4
5
|
.transition(color);
|
|
5
6
|
|
|
6
7
|
--t-height: var(--tui-height-l);
|
|
@@ -8,16 +9,16 @@ tui-textfield {
|
|
|
8
9
|
|
|
9
10
|
position: relative;
|
|
10
11
|
display: flex;
|
|
12
|
+
flex-wrap: wrap;
|
|
11
13
|
align-items: center;
|
|
12
|
-
pointer-events: none;
|
|
13
14
|
cursor: pointer;
|
|
14
|
-
block-size: var(--t-height);
|
|
15
|
+
min-block-size: var(--t-height);
|
|
15
16
|
color: var(--tui-text-tertiary);
|
|
16
17
|
padding: 0 var(--t-padding);
|
|
17
18
|
border-radius: var(--tui-radius-l);
|
|
18
|
-
font: var(--tui-font-text-m);
|
|
19
|
+
font: var(--tui-font-text-ui-m);
|
|
19
20
|
box-sizing: border-box;
|
|
20
|
-
gap: 0.25rem;
|
|
21
|
+
gap: 0 0.25rem;
|
|
21
22
|
|
|
22
23
|
&[style*='--t-icon-start:'] {
|
|
23
24
|
--t-left: 2.25rem;
|
|
@@ -27,13 +28,40 @@ tui-textfield {
|
|
|
27
28
|
--t-right: 2.25rem;
|
|
28
29
|
}
|
|
29
30
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
&::-webkit-resizer {
|
|
32
|
+
border: 0.25rem solid transparent;
|
|
33
|
+
inline-size: 0.5rem;
|
|
34
|
+
block-size: 0.5rem;
|
|
35
|
+
box-sizing: content-box;
|
|
36
|
+
color: var(--tui-text-tertiary);
|
|
37
|
+
background: linear-gradient(
|
|
38
|
+
-45deg,
|
|
39
|
+
transparent,
|
|
40
|
+
transparent 0.125rem,
|
|
41
|
+
currentColor 0.125rem,
|
|
42
|
+
currentColor 0.1875rem,
|
|
43
|
+
transparent 0.1875rem,
|
|
44
|
+
transparent 0.25rem,
|
|
45
|
+
currentColor 0.25rem,
|
|
46
|
+
currentColor 0.3125rem,
|
|
47
|
+
transparent 0.35rem
|
|
48
|
+
);
|
|
49
|
+
background-clip: content-box;
|
|
50
|
+
}
|
|
33
51
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
52
|
+
label,
|
|
53
|
+
.t-content,
|
|
54
|
+
.t-template {
|
|
55
|
+
pointer-events: none;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
input,
|
|
59
|
+
select,
|
|
60
|
+
textarea {
|
|
61
|
+
font: var(--tui-font-text-ui-m);
|
|
62
|
+
resize: none;
|
|
63
|
+
padding-block-start: 1.125rem;
|
|
64
|
+
padding-block-end: 1.125rem;
|
|
37
65
|
}
|
|
38
66
|
|
|
39
67
|
&[data-size='s'] {
|
|
@@ -42,7 +70,7 @@ tui-textfield {
|
|
|
42
70
|
|
|
43
71
|
border-radius: var(--tui-radius-m);
|
|
44
72
|
gap: 0;
|
|
45
|
-
font: var(--tui-font-text-s);
|
|
73
|
+
font: var(--tui-font-text-ui-s);
|
|
46
74
|
|
|
47
75
|
&[style*='--t-icon-start:'] {
|
|
48
76
|
--t-left: 1.25rem;
|
|
@@ -63,8 +91,11 @@ tui-textfield {
|
|
|
63
91
|
}
|
|
64
92
|
|
|
65
93
|
input,
|
|
66
|
-
select
|
|
67
|
-
|
|
94
|
+
select,
|
|
95
|
+
textarea {
|
|
96
|
+
font: var(--tui-font-text-ui-s);
|
|
97
|
+
padding-block-start: 0.5rem;
|
|
98
|
+
padding-block-end: 0.5rem;
|
|
68
99
|
}
|
|
69
100
|
|
|
70
101
|
.t-content {
|
|
@@ -77,7 +108,7 @@ tui-textfield {
|
|
|
77
108
|
--t-padding: var(--tui-padding-m);
|
|
78
109
|
|
|
79
110
|
border-radius: var(--tui-radius-m);
|
|
80
|
-
font: var(--tui-font-text-s);
|
|
111
|
+
font: var(--tui-font-text-ui-s);
|
|
81
112
|
|
|
82
113
|
&[style*='--t-icon-start:'] {
|
|
83
114
|
--t-left: 1.75rem;
|
|
@@ -96,8 +127,11 @@ tui-textfield {
|
|
|
96
127
|
}
|
|
97
128
|
|
|
98
129
|
input,
|
|
99
|
-
select
|
|
100
|
-
|
|
130
|
+
select,
|
|
131
|
+
textarea {
|
|
132
|
+
font: var(--tui-font-text-ui-s);
|
|
133
|
+
padding-block-start: 0.875rem;
|
|
134
|
+
padding-block-end: 0.875rem;
|
|
101
135
|
}
|
|
102
136
|
|
|
103
137
|
.t-content {
|
|
@@ -108,6 +142,7 @@ tui-textfield {
|
|
|
108
142
|
/*
|
|
109
143
|
TODO: refactor to the following way after Chrome 105+ & Safari 15.4+
|
|
110
144
|
&:hover:has(input:not(:read-only)),
|
|
145
|
+
&:hover:has(textarea:not(:read-only)),
|
|
111
146
|
&:hover:has(select:not([data-mode='readonly'])) {
|
|
112
147
|
color: var(--tui-text-secondary);
|
|
113
148
|
}
|
|
@@ -116,6 +151,7 @@ tui-textfield {
|
|
|
116
151
|
color: var(--tui-text-secondary);
|
|
117
152
|
|
|
118
153
|
&:has(input:read-only),
|
|
154
|
+
&:has(textarea:read-only),
|
|
119
155
|
&:has(select[data-mode~='readonly']) {
|
|
120
156
|
color: var(--tui-text-tertiary);
|
|
121
157
|
}
|
|
@@ -141,9 +177,11 @@ tui-textfield {
|
|
|
141
177
|
|
|
142
178
|
&:has(label:not(:empty)) {
|
|
143
179
|
.t-template,
|
|
144
|
-
input:
|
|
145
|
-
select:defined
|
|
146
|
-
|
|
180
|
+
input:not([type='range']),
|
|
181
|
+
select:defined,
|
|
182
|
+
textarea:defined {
|
|
183
|
+
padding-block-start: calc(var(--t-height) / 3);
|
|
184
|
+
padding-block-end: 0;
|
|
147
185
|
|
|
148
186
|
&::placeholder,
|
|
149
187
|
&._empty {
|
|
@@ -155,9 +193,11 @@ tui-textfield {
|
|
|
155
193
|
// TODO: Fallback until Safari 15.4
|
|
156
194
|
&._with-label {
|
|
157
195
|
.t-template,
|
|
158
|
-
input:
|
|
159
|
-
select:defined
|
|
196
|
+
input:not([type='range']),
|
|
197
|
+
select:defined,
|
|
198
|
+
textarea:defined {
|
|
160
199
|
padding-top: calc(var(--t-height) / 3);
|
|
200
|
+
padding-block-end: 0;
|
|
161
201
|
|
|
162
202
|
&::placeholder,
|
|
163
203
|
&._empty {
|
|
@@ -168,16 +208,16 @@ tui-textfield {
|
|
|
168
208
|
|
|
169
209
|
.t-template,
|
|
170
210
|
input:defined,
|
|
171
|
-
select:defined
|
|
211
|
+
select:defined,
|
|
212
|
+
textarea:defined {
|
|
172
213
|
.fullsize();
|
|
173
214
|
|
|
174
215
|
appearance: none;
|
|
175
216
|
box-sizing: border-box;
|
|
176
217
|
border-radius: inherit;
|
|
177
|
-
padding: inherit;
|
|
178
218
|
border: none;
|
|
179
|
-
text-indent: var(--t-left, 0);
|
|
180
219
|
// StackBlitz changes "0rem" to "0" breaking calc
|
|
220
|
+
padding-inline-start: calc(var(--t-left, ~'0rem') + var(--t-padding));
|
|
181
221
|
padding-inline-end: calc(var(--t-right, ~'0rem') + var(--t-side) + var(--t-padding));
|
|
182
222
|
}
|
|
183
223
|
|
|
@@ -187,13 +227,15 @@ tui-textfield {
|
|
|
187
227
|
color: var(--tui-text-primary);
|
|
188
228
|
}
|
|
189
229
|
|
|
190
|
-
&._with-template input:
|
|
191
|
-
&._with-template select
|
|
230
|
+
&._with-template input:not([type='range']),
|
|
231
|
+
&._with-template select,
|
|
232
|
+
&._with-template textarea {
|
|
192
233
|
color: transparent !important;
|
|
193
234
|
}
|
|
194
235
|
|
|
195
|
-
input:
|
|
196
|
-
select:defined
|
|
236
|
+
input:not([type='range']),
|
|
237
|
+
select:defined,
|
|
238
|
+
textarea:defined {
|
|
197
239
|
pointer-events: auto;
|
|
198
240
|
background: transparent;
|
|
199
241
|
|
|
@@ -252,14 +294,17 @@ tui-textfield {
|
|
|
252
294
|
});
|
|
253
295
|
}
|
|
254
296
|
|
|
255
|
-
|
|
297
|
+
// Increasing specificity to override all other styles
|
|
298
|
+
[tuiLabel][tuiLabel][tuiLabel] {
|
|
256
299
|
.transition(all);
|
|
257
300
|
.text-overflow();
|
|
258
301
|
|
|
259
302
|
position: relative;
|
|
260
303
|
display: block;
|
|
261
304
|
flex: 1;
|
|
305
|
+
align-self: flex-start;
|
|
262
306
|
font-size: inherit;
|
|
307
|
+
line-height: var(--t-height);
|
|
263
308
|
}
|
|
264
309
|
|
|
265
310
|
label:defined,
|
|
@@ -272,6 +317,11 @@ tui-textfield {
|
|
|
272
317
|
cursor: pointer;
|
|
273
318
|
}
|
|
274
319
|
|
|
320
|
+
select option:not(:disabled) {
|
|
321
|
+
// In Windows OS native options inherit color of host <select>
|
|
322
|
+
color: var(--tui-text-primary);
|
|
323
|
+
}
|
|
324
|
+
|
|
275
325
|
button,
|
|
276
326
|
a {
|
|
277
327
|
pointer-events: auto;
|
|
@@ -279,6 +329,7 @@ tui-textfield {
|
|
|
279
329
|
|
|
280
330
|
.t-content {
|
|
281
331
|
display: flex;
|
|
332
|
+
block-size: var(--t-height);
|
|
282
333
|
align-items: center;
|
|
283
334
|
gap: inherit;
|
|
284
335
|
margin-inline-start: auto;
|
|
@@ -17,7 +17,7 @@ TODO: remove :not([tuiWrapper]) after legacy controls deletion
|
|
|
17
17
|
background: transparent;
|
|
18
18
|
border: none;
|
|
19
19
|
outline: none;
|
|
20
|
-
|
|
20
|
+
border-bottom: calc(var(--t-row-height) - var(--t-height)) solid transparent;
|
|
21
21
|
|
|
22
22
|
&:not(._empty) {
|
|
23
23
|
color: var(--tui-text-primary);
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
--tui-background-accent-opposite-hover: #f6f6f6;
|
|
13
13
|
--tui-background-accent-opposite-pressed: #ededed;
|
|
14
14
|
--tui-background-elevation-1: #292929;
|
|
15
|
-
--tui-background-elevation-2: #
|
|
16
|
-
--tui-background-elevation-3: #
|
|
15
|
+
--tui-background-elevation-2: #2f2f2f;
|
|
16
|
+
--tui-background-elevation-3: #373737;
|
|
17
17
|
// Other
|
|
18
18
|
--tui-service-autofill-background: rgb(85, 74, 42);
|
|
19
19
|
--tui-border-normal: rgba(255, 255, 255, 0.14);
|