@taiga-ui/kit 4.52.0-canary.932d3ef → 4.52.0-canary.9fae831
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/avatar/avatar.directive.d.ts +4 -3
- package/components/checkbox/checkbox.component.d.ts +7 -18
- package/components/checkbox/checkbox.options.d.ts +5 -9
- package/components/confirm/confirm.component.d.ts +1 -0
- package/components/confirm/confirm.service.d.ts +2 -1
- package/components/index.d.ts +0 -1
- package/components/input-color/input-color.component.d.ts +2 -2
- package/components/like/like.component.d.ts +4 -11
- package/components/like/like.options.d.ts +2 -3
- package/components/pager/pager.component.d.ts +1 -1
- package/components/push/push.component.d.ts +1 -1
- package/components/radio/radio.component.d.ts +7 -8
- package/components/radio/radio.directive.d.ts +2 -2
- package/components/radio/radio.options.d.ts +2 -5
- package/components/rating/rating.component.d.ts +5 -5
- package/components/rating/rating.options.d.ts +5 -3
- package/components/switch/switch.component.d.ts +7 -19
- package/components/switch/switch.options.d.ts +4 -8
- package/directives/copy/copy.directive.d.ts +1 -2
- package/directives/copy/copy.options.d.ts +1 -1
- package/fesm2022/taiga-ui-kit-components-avatar.mjs +12 -13
- package/fesm2022/taiga-ui-kit-components-avatar.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-badge.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-badge.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-checkbox.mjs +18 -75
- package/fesm2022/taiga-ui-kit-components-checkbox.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-chip.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-chip.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-confirm.mjs +7 -7
- package/fesm2022/taiga-ui-kit-components-confirm.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-chip.mjs +10 -5
- package/fesm2022/taiga-ui-kit-components-input-chip.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-color.mjs +4 -6
- package/fesm2022/taiga-ui-kit-components-input-color.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-date.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-input-date.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-month-range.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-input-month-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-month.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-input-month.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-pin.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-input-pin.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-range.mjs +4 -4
- package/fesm2022/taiga-ui-kit-components-input-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-time.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-input-time.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-year.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-input-year.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-like.mjs +38 -31
- package/fesm2022/taiga-ui-kit-components-like.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-multi-select.mjs +1 -1
- package/fesm2022/taiga-ui-kit-components-multi-select.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-pager.mjs +3 -3
- package/fesm2022/taiga-ui-kit-components-pager.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-pagination.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-pagination.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-pin.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-pin.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-push.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-push.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-radio.mjs +29 -34
- package/fesm2022/taiga-ui-kit-components-radio.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-rating.mjs +15 -19
- package/fesm2022/taiga-ui-kit-components-rating.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-select.mjs +1 -1
- package/fesm2022/taiga-ui-kit-components-select.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-switch.mjs +18 -64
- package/fesm2022/taiga-ui-kit-components-switch.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-tabs.mjs +5 -5
- package/fesm2022/taiga-ui-kit-components-tabs.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components.mjs +0 -1
- package/fesm2022/taiga-ui-kit-components.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-copy.mjs +4 -6
- package/fesm2022/taiga-ui-kit-directives-copy.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-password.mjs +3 -3
- package/fesm2022/taiga-ui-kit-directives-password.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs +1 -2
- package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-pipes.mjs +0 -1
- package/fesm2022/taiga-ui-kit-pipes.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-tokens.mjs +1 -6
- package/fesm2022/taiga-ui-kit-tokens.mjs.map +1 -1
- package/package.json +9 -17
- package/pipes/index.d.ts +0 -1
- package/styles/components/avatar.less +188 -0
- package/styles/components/checkbox.less +13 -11
- package/styles/components/like.less +4 -9
- package/styles/components/pin.less +3 -6
- package/styles/components/switch.less +8 -8
- package/tokens/index.d.ts +0 -1
- package/components/input-password/index.d.ts +0 -2
- package/components/input-password/input-password.component.d.ts +0 -16
- package/components/input-password/input-password.options.d.ts +0 -24
- package/fesm2022/taiga-ui-kit-components-input-password.mjs +0 -95
- package/fesm2022/taiga-ui-kit-components-input-password.mjs.map +0 -1
- package/fesm2022/taiga-ui-kit-pipes-field-error.mjs +0 -147
- package/fesm2022/taiga-ui-kit-pipes-field-error.mjs.map +0 -1
- package/pipes/field-error/field-error-content-pipe.d.ts +0 -14
- package/pipes/field-error/field-error-pipe.d.ts +0 -29
- package/pipes/field-error/index.d.ts +0 -2
- package/tokens/validation-errors.d.ts +0 -5
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@taiga-ui/kit",
|
|
3
|
-
"version": "4.52.0-canary.
|
|
3
|
+
"version": "4.52.0-canary.9fae831",
|
|
4
4
|
"description": "Taiga UI Angular main components kit",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|
|
@@ -177,10 +177,6 @@
|
|
|
177
177
|
"types": "./components/input-number/index.d.ts",
|
|
178
178
|
"default": "./fesm2022/taiga-ui-kit-components-input-number.mjs"
|
|
179
179
|
},
|
|
180
|
-
"./components/input-password": {
|
|
181
|
-
"types": "./components/input-password/index.d.ts",
|
|
182
|
-
"default": "./fesm2022/taiga-ui-kit-components-input-password.mjs"
|
|
183
|
-
},
|
|
184
180
|
"./components/input-phone": {
|
|
185
181
|
"types": "./components/input-phone/index.d.ts",
|
|
186
182
|
"default": "./fesm2022/taiga-ui-kit-components-input-phone.mjs"
|
|
@@ -317,14 +313,14 @@
|
|
|
317
313
|
"types": "./components/tabs/index.d.ts",
|
|
318
314
|
"default": "./fesm2022/taiga-ui-kit-components-tabs.mjs"
|
|
319
315
|
},
|
|
320
|
-
"./components/tiles": {
|
|
321
|
-
"types": "./components/tiles/index.d.ts",
|
|
322
|
-
"default": "./fesm2022/taiga-ui-kit-components-tiles.mjs"
|
|
323
|
-
},
|
|
324
316
|
"./components/textarea": {
|
|
325
317
|
"types": "./components/textarea/index.d.ts",
|
|
326
318
|
"default": "./fesm2022/taiga-ui-kit-components-textarea.mjs"
|
|
327
319
|
},
|
|
320
|
+
"./components/tiles": {
|
|
321
|
+
"types": "./components/tiles/index.d.ts",
|
|
322
|
+
"default": "./fesm2022/taiga-ui-kit-components-tiles.mjs"
|
|
323
|
+
},
|
|
328
324
|
"./components/tree": {
|
|
329
325
|
"types": "./components/tree/index.d.ts",
|
|
330
326
|
"default": "./fesm2022/taiga-ui-kit-components-tree.mjs"
|
|
@@ -409,10 +405,6 @@
|
|
|
409
405
|
"types": "./pipes/emails/index.d.ts",
|
|
410
406
|
"default": "./fesm2022/taiga-ui-kit-pipes-emails.mjs"
|
|
411
407
|
},
|
|
412
|
-
"./pipes/field-error": {
|
|
413
|
-
"types": "./pipes/field-error/index.d.ts",
|
|
414
|
-
"default": "./fesm2022/taiga-ui-kit-pipes-field-error.mjs"
|
|
415
|
-
},
|
|
416
408
|
"./pipes/filter-by-input": {
|
|
417
409
|
"types": "./pipes/filter-by-input/index.d.ts",
|
|
418
410
|
"default": "./fesm2022/taiga-ui-kit-pipes-filter-by-input.mjs"
|
|
@@ -443,10 +435,10 @@
|
|
|
443
435
|
"@angular/core": ">=19.0.0",
|
|
444
436
|
"@angular/forms": ">=19.0.0",
|
|
445
437
|
"@angular/router": ">=19.0.0",
|
|
446
|
-
"@maskito/angular": "^3.
|
|
447
|
-
"@maskito/core": "^3.
|
|
448
|
-
"@maskito/kit": "^3.
|
|
449
|
-
"@maskito/phone": "^3.
|
|
438
|
+
"@maskito/angular": "^3.11.0",
|
|
439
|
+
"@maskito/core": "^3.11.0",
|
|
440
|
+
"@maskito/kit": "^3.11.0",
|
|
441
|
+
"@maskito/phone": "^3.11.0",
|
|
450
442
|
"@ng-web-apis/common": "^4.12.0",
|
|
451
443
|
"@ng-web-apis/intersection-observer": "^4.12.0",
|
|
452
444
|
"@ng-web-apis/mutation-observer": "^4.12.0",
|
package/pipes/index.d.ts
CHANGED
|
@@ -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
|
+
}
|
|
@@ -11,11 +11,11 @@
|
|
|
11
11
|
* data-size — size (default: 'm') ('s' | 'm')
|
|
12
12
|
*
|
|
13
13
|
* @vars
|
|
14
|
-
* --t-
|
|
15
|
-
* --t-
|
|
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,19 +32,21 @@
|
|
|
32
32
|
flex-shrink: 0;
|
|
33
33
|
|
|
34
34
|
&::before {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
position: absolute;
|
|
36
|
+
block-size: 100%;
|
|
37
|
+
inline-size: 100%;
|
|
38
38
|
font-size: 1rem;
|
|
39
|
-
|
|
40
|
-
mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg"></svg>') no-repeat center /
|
|
41
|
-
calc(~'min(1em, 100%)' + 10 * var(--tui-stroke-width, 0.125rem)) ~'min(1em, 100%)' padding-box;
|
|
39
|
+
mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg"></svg>');
|
|
42
40
|
transform: scale(0);
|
|
43
41
|
transition:
|
|
44
42
|
transform var(--tui-duration) ease-in-out,
|
|
45
43
|
mask 0s var(--tui-duration) ease-in-out;
|
|
46
44
|
}
|
|
47
45
|
|
|
46
|
+
&::after {
|
|
47
|
+
display: none;
|
|
48
|
+
}
|
|
49
|
+
|
|
48
50
|
&:disabled._readonly {
|
|
49
51
|
opacity: 1;
|
|
50
52
|
pointer-events: none;
|
|
@@ -53,7 +55,7 @@
|
|
|
53
55
|
&:checked,
|
|
54
56
|
&:indeterminate {
|
|
55
57
|
&::before {
|
|
56
|
-
mask-image: var(--t-
|
|
58
|
+
mask-image: var(--t-icon-start);
|
|
57
59
|
transform: scale(1);
|
|
58
60
|
transition:
|
|
59
61
|
transform var(--tui-duration) ease-in-out,
|
|
@@ -63,7 +65,7 @@
|
|
|
63
65
|
}
|
|
64
66
|
|
|
65
67
|
&:indeterminate::before {
|
|
66
|
-
mask-image: var(--t-
|
|
68
|
+
mask-image: var(--t-icon-end);
|
|
67
69
|
}
|
|
68
70
|
|
|
69
71
|
&[data-size='s'] {
|
|
@@ -11,12 +11,12 @@
|
|
|
11
11
|
* data-size — size (default: 'm') ('s' | 'm')
|
|
12
12
|
*
|
|
13
13
|
* @vars
|
|
14
|
-
* --t-icon-color
|
|
15
|
-
* --t-
|
|
16
|
-
* --t-
|
|
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
|
|
@@ -34,16 +34,11 @@
|
|
|
34
34
|
&::after {
|
|
35
35
|
.fullsize();
|
|
36
36
|
|
|
37
|
-
content: '';
|
|
38
|
-
background: currentColor;
|
|
39
37
|
font-size: 1.25rem;
|
|
40
|
-
mask: var(--t-unchecked-icon) no-repeat center /
|
|
41
|
-
calc(~'min(1em, 100%)' + 10 * var(--tui-stroke-width, 0.125rem)) ~'min(1em, 100%)' padding-box;
|
|
42
38
|
transition-property: transform, opacity;
|
|
43
39
|
}
|
|
44
40
|
|
|
45
41
|
&::after {
|
|
46
|
-
mask-image: var(--t-checked-icon);
|
|
47
42
|
opacity: 0;
|
|
48
43
|
color: var(--t-icon-color, inherit);
|
|
49
44
|
transform: scale(0);
|
|
@@ -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
|
|
|
@@ -11,10 +11,10 @@
|
|
|
11
11
|
* data-size — size (default: 'm') ('s' | 'm')
|
|
12
12
|
*
|
|
13
13
|
* @vars
|
|
14
|
-
* --t-
|
|
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
|
|
@@ -69,7 +69,6 @@
|
|
|
69
69
|
|
|
70
70
|
&::before,
|
|
71
71
|
&::after {
|
|
72
|
-
content: '';
|
|
73
72
|
position: absolute;
|
|
74
73
|
block-size: 100%;
|
|
75
74
|
inline-size: 1.5rem;
|
|
@@ -77,10 +76,6 @@
|
|
|
77
76
|
}
|
|
78
77
|
|
|
79
78
|
&::before {
|
|
80
|
-
display: var(--t-checked-icon, none);
|
|
81
|
-
background: currentColor;
|
|
82
|
-
mask: var(--t-checked-icon) no-repeat center / calc(~'min(1em, 100%)' + 10 * var(--tui-stroke-width, 0.125rem))
|
|
83
|
-
~'min(1em, 100%)' padding-box;
|
|
84
79
|
font-size: 1rem;
|
|
85
80
|
inline-size: 1.375rem;
|
|
86
81
|
transform: translateX(-1.5rem);
|
|
@@ -88,11 +83,16 @@
|
|
|
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
|
-
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
&:not([data-icon-start])::after {
|
|
95
|
+
outline-offset: 20rem;
|
|
96
96
|
}
|
|
97
97
|
|
|
98
98
|
&:invalid:not([data-mode]),
|
package/tokens/index.d.ts
CHANGED
|
@@ -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,95 +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.15", ngImport: i0, type: TuiInputPassword, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
54
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", 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:not([tuiBadge])", inputs: ["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.15", ngImport: i0, type: TuiInputPassword, decorators: [{
|
|
66
|
-
type: Component,
|
|
67
|
-
args: [{
|
|
68
|
-
selector: 'input[tuiInputPassword]',
|
|
69
|
-
imports: [TuiIcon, TuiTextfieldContent, TuiTooltip],
|
|
70
|
-
template: `
|
|
71
|
-
<tui-icon
|
|
72
|
-
*tuiTextfieldContent
|
|
73
|
-
[icon]="icon()"
|
|
74
|
-
[style.border]="size() === 's' ? null : 'none'"
|
|
75
|
-
[tuiTooltip]="text()"
|
|
76
|
-
(click)="hidden.set(!hidden())"
|
|
77
|
-
(mousedown.capture.prevent.stop)="el.focus()"
|
|
78
|
-
/>
|
|
79
|
-
`,
|
|
80
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
81
|
-
providers: [tuiFallbackValueProvider('')],
|
|
82
|
-
hostDirectives: [TuiWithTextfield],
|
|
83
|
-
host: {
|
|
84
|
-
ngSkipHydration: 'true',
|
|
85
|
-
'[type]': 'hidden() ? "password" : "text"',
|
|
86
|
-
},
|
|
87
|
-
}]
|
|
88
|
-
}] });
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* Generated bundle index. Do not edit.
|
|
92
|
-
*/
|
|
93
|
-
|
|
94
|
-
export { TUI_INPUT_PASSWORD_DEFAULT_OPTIONS, TUI_INPUT_PASSWORD_OPTIONS, TuiInputPassword, tuiInputPasswordOptionsProvider };
|
|
95
|
-
//# sourceMappingURL=taiga-ui-kit-components-input-password.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-input-password.mjs","sources":["../../../projects/kit/components/input-password/input-password.options.ts","../../../projects/kit/components/input-password/input-password.component.ts","../../../projects/kit/components/input-password/taiga-ui-kit-components-input-password.ts"],"sourcesContent":["import {InjectionToken, type Provider} from '@angular/core';\nimport {type TuiStringHandler} from '@taiga-ui/cdk/types';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\n\n/**\n * @deprecated use {@link TuiPassword} with {@link TuiTextfield}\n */\nexport interface TuiInputPasswordOptions {\n readonly icons: Readonly<{\n hide: TuiStringHandler<TuiSizeL | TuiSizeS> | string;\n show: TuiStringHandler<TuiSizeL | TuiSizeS> | string;\n }>;\n}\n\n/**\n * @deprecated use {@link TuiPassword} with {@link TuiTextfield}\n */\nexport const TUI_INPUT_PASSWORD_DEFAULT_OPTIONS: TuiInputPasswordOptions = {\n icons: {\n hide: '@tui.eye-off',\n show: '@tui.eye',\n },\n};\n\n/**\n * @deprecated use {@link TuiPassword} with {@link TuiTextfield}\n */\nexport const TUI_INPUT_PASSWORD_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_INPUT_PASSWORD_OPTIONS' : '',\n {\n factory: () => TUI_INPUT_PASSWORD_DEFAULT_OPTIONS,\n },\n);\n\n/**\n * @deprecated use {@link TuiPassword} with {@link TuiTextfield}\n */\nexport function tuiInputPasswordOptionsProvider(\n options: Partial<TuiInputPasswordOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_INPUT_PASSWORD_OPTIONS,\n options,\n TUI_INPUT_PASSWORD_DEFAULT_OPTIONS,\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n signal,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {tuiFallbackValueProvider} from '@taiga-ui/cdk/tokens';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {\n TUI_TEXTFIELD_OPTIONS,\n TuiTextfieldContent,\n TuiWithTextfield,\n} from '@taiga-ui/core/components/textfield';\nimport {TuiTooltip} from '@taiga-ui/kit/directives';\nimport {TUI_PASSWORD_TEXTS} from '@taiga-ui/kit/tokens';\n\nimport {TUI_INPUT_PASSWORD_OPTIONS} from './input-password.options';\n\n/**\n * @deprecated use {@link TuiPassword} with {@link TuiTextfield}\n */\n@Component({\n selector: 'input[tuiInputPassword]',\n imports: [TuiIcon, TuiTextfieldContent, TuiTooltip],\n template: `\n <tui-icon\n *tuiTextfieldContent\n [icon]=\"icon()\"\n [style.border]=\"size() === 's' ? null : 'none'\"\n [tuiTooltip]=\"text()\"\n (click)=\"hidden.set(!hidden())\"\n (mousedown.capture.prevent.stop)=\"el.focus()\"\n />\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiFallbackValueProvider('')],\n hostDirectives: [TuiWithTextfield],\n host: {\n ngSkipHydration: 'true',\n '[type]': 'hidden() ? \"password\" : \"text\"',\n },\n})\nexport class TuiInputPassword {\n private readonly options = inject(TUI_INPUT_PASSWORD_OPTIONS);\n private readonly texts = toSignal(inject(TUI_PASSWORD_TEXTS), {\n initialValue: ['', ''] as const,\n });\n\n protected readonly el = tuiInjectElement<HTMLInputElement>();\n protected readonly size = inject(TUI_TEXTFIELD_OPTIONS).size;\n protected readonly hidden = signal(true);\n protected readonly text = computed(() =>\n this.hidden() ? this.texts()[0] : this.texts()[1],\n );\n\n protected readonly icon = computed((size = this.size()) => {\n const icon = this.hidden() ? this.options.icons.show : this.options.icons.hide;\n\n return tuiIsString(icon) ? icon : icon(size);\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|