@taiga-ui/core 5.0.0-canary.7f0a2ac → 5.0.0-canary.8b0b9ac

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 (34) hide show
  1. package/fesm2022/taiga-ui-core-components-button.mjs +2 -2
  2. package/fesm2022/taiga-ui-core-components-button.mjs.map +1 -1
  3. package/fesm2022/taiga-ui-core-components-cell.mjs +2 -2
  4. package/fesm2022/taiga-ui-core-components-cell.mjs.map +1 -1
  5. package/fesm2022/taiga-ui-core-components-icon.mjs +2 -2
  6. package/fesm2022/taiga-ui-core-components-icon.mjs.map +1 -1
  7. package/fesm2022/taiga-ui-core-components-label.mjs +3 -3
  8. package/fesm2022/taiga-ui-core-components-link.mjs +2 -2
  9. package/fesm2022/taiga-ui-core-components-link.mjs.map +1 -1
  10. package/fesm2022/taiga-ui-core-components-notification.mjs +2 -2
  11. package/fesm2022/taiga-ui-core-components-root.mjs +1 -1
  12. package/fesm2022/taiga-ui-core-components-textfield.mjs +7 -5
  13. package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
  14. package/fesm2022/taiga-ui-core-components-title.mjs +3 -3
  15. package/fesm2022/taiga-ui-core-directives-appearance.mjs +3 -3
  16. package/fesm2022/taiga-ui-core-directives-group.mjs +3 -3
  17. package/fesm2022/taiga-ui-core-directives-icons.mjs +3 -3
  18. package/fesm2022/taiga-ui-core-directives-icons.mjs.map +1 -1
  19. package/fesm2022/taiga-ui-core-portals-hint.mjs +2 -2
  20. package/fesm2022/taiga-ui-core-portals-hint.mjs.map +1 -1
  21. package/fesm2022/taiga-ui-core-portals-modal.mjs +2 -2
  22. package/fesm2022/taiga-ui-core-portals-modal.mjs.map +1 -1
  23. package/fesm2022/taiga-ui-core-tokens.mjs +1 -1
  24. package/fesm2022/taiga-ui-core-tokens.mjs.map +1 -1
  25. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs.map +1 -1
  26. package/package.json +17 -17
  27. package/styles/components/button.less +1 -0
  28. package/styles/components/icon.less +1 -1
  29. package/styles/components/icons.less +2 -2
  30. package/styles/components/link.less +1 -1
  31. package/styles/components/textfield.less +32 -27
  32. package/styles/theme/appearance/floating.less +3 -3
  33. package/styles/theme/variables.less +6 -2
  34. package/utils/miscellaneous/font-scaling.d.ts +2 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/core",
3
- "version": "5.0.0-canary.7f0a2ac",
3
+ "version": "5.0.0-canary.8b0b9ac",
4
4
  "description": "Core library for creating Angular components and applications using Taiga UI",
5
5
  "keywords": [
6
6
  "angular",
@@ -38,6 +38,10 @@
38
38
  "types": "./directives/index.d.ts",
39
39
  "default": "./fesm2022/taiga-ui-core-directives.mjs"
40
40
  },
41
+ "./pipes": {
42
+ "types": "./pipes/index.d.ts",
43
+ "default": "./fesm2022/taiga-ui-core-pipes.mjs"
44
+ },
41
45
  "./portals": {
42
46
  "types": "./portals/index.d.ts",
43
47
  "default": "./fesm2022/taiga-ui-core-portals.mjs"
@@ -46,10 +50,6 @@
46
50
  "types": "./services/index.d.ts",
47
51
  "default": "./fesm2022/taiga-ui-core-services.mjs"
48
52
  },
49
- "./pipes": {
50
- "types": "./pipes/index.d.ts",
51
- "default": "./fesm2022/taiga-ui-core-pipes.mjs"
52
- },
53
53
  "./tokens": {
54
54
  "types": "./tokens/index.d.ts",
55
55
  "default": "./fesm2022/taiga-ui-core-tokens.mjs"
@@ -78,14 +78,14 @@
78
78
  "types": "./components/data-list/index.d.ts",
79
79
  "default": "./fesm2022/taiga-ui-core-components-data-list.mjs"
80
80
  },
81
- "./components/expand": {
82
- "types": "./components/expand/index.d.ts",
83
- "default": "./fesm2022/taiga-ui-core-components-expand.mjs"
84
- },
85
81
  "./components/error": {
86
82
  "types": "./components/error/index.d.ts",
87
83
  "default": "./fesm2022/taiga-ui-core-components-error.mjs"
88
84
  },
85
+ "./components/expand": {
86
+ "types": "./components/expand/index.d.ts",
87
+ "default": "./fesm2022/taiga-ui-core-components-expand.mjs"
88
+ },
89
89
  "./components/icon": {
90
90
  "types": "./components/icon/index.d.ts",
91
91
  "default": "./fesm2022/taiga-ui-core-components-icon.mjs"
@@ -138,14 +138,14 @@
138
138
  "types": "./directives/button-x/index.d.ts",
139
139
  "default": "./fesm2022/taiga-ui-core-directives-button-x.mjs"
140
140
  },
141
- "./directives/group": {
142
- "types": "./directives/group/index.d.ts",
143
- "default": "./fesm2022/taiga-ui-core-directives-group.mjs"
144
- },
145
141
  "./directives/date-format": {
146
142
  "types": "./directives/date-format/index.d.ts",
147
143
  "default": "./fesm2022/taiga-ui-core-directives-date-format.mjs"
148
144
  },
145
+ "./directives/group": {
146
+ "types": "./directives/group/index.d.ts",
147
+ "default": "./fesm2022/taiga-ui-core-directives-group.mjs"
148
+ },
149
149
  "./directives/icons": {
150
150
  "types": "./directives/icons/index.d.ts",
151
151
  "default": "./fesm2022/taiga-ui-core-directives-icons.mjs"
@@ -158,6 +158,10 @@
158
158
  "types": "./directives/number-format/index.d.ts",
159
159
  "default": "./fesm2022/taiga-ui-core-directives-number-format.mjs"
160
160
  },
161
+ "./pipes/format-number": {
162
+ "types": "./pipes/format-number/index.d.ts",
163
+ "default": "./fesm2022/taiga-ui-core-pipes-format-number.mjs"
164
+ },
161
165
  "./portals/alert": {
162
166
  "types": "./portals/alert/index.d.ts",
163
167
  "default": "./fesm2022/taiga-ui-core-portals-alert.mjs"
@@ -182,10 +186,6 @@
182
186
  "types": "./portals/popup/index.d.ts",
183
187
  "default": "./fesm2022/taiga-ui-core-portals-popup.mjs"
184
188
  },
185
- "./pipes/format-number": {
186
- "types": "./pipes/format-number/index.d.ts",
187
- "default": "./fesm2022/taiga-ui-core-pipes-format-number.mjs"
188
- },
189
189
  "./utils/dom": {
190
190
  "types": "./utils/dom/index.d.ts",
191
191
  "default": "./fesm2022/taiga-ui-core-utils-dom.mjs"
@@ -125,6 +125,7 @@
125
125
  [tuiIconButton]:where(*&) {
126
126
  gap: 0;
127
127
  inline-size: var(--t-size);
128
+ min-inline-size: var(--t-size);
128
129
  font-size: 0 !important;
129
130
  padding: 0;
130
131
 
@@ -30,7 +30,7 @@ tui-icon:where(*&) {
30
30
  border: 0 solid transparent;
31
31
  vertical-align: middle;
32
32
  box-sizing: border-box;
33
- mask: var(--t-icon-bg) no-repeat center / calc(100% + 10 * var(--tui-stroke-width, 0.125rem)) 100%;
33
+ mask: var(--t-icon-bg) no-repeat center / calc(100% + 10 * var(--tui-stroke-width)) 100%;
34
34
  zoom: ~'calc(100% * (min(max(var(--tui-font-offset) - 10px, 0px), 1px) / 0.8px))';
35
35
 
36
36
  @media @tui-mouse {
@@ -37,14 +37,14 @@
37
37
  &::before {
38
38
  display: var(--t-icon-start);
39
39
  mask:
40
- var(--t-icon-start) no-repeat center / calc(~'min(1em, 100%)' + 10 * var(--tui-stroke-width, 0.125rem))
40
+ var(--t-icon-start) no-repeat center / calc(~'min(1em, 100%)' + 10 * var(--tui-stroke-width))
41
41
  ~'min(1em, 100%)',
42
42
  100% padding-box;
43
43
  }
44
44
 
45
45
  &::after {
46
46
  display: var(--t-icon-end);
47
- mask: var(--t-icon-end) no-repeat center / calc(~'min(1em, 100%)' + 10 * var(--tui-stroke-width, 0.125rem))
47
+ mask: var(--t-icon-end) no-repeat center / calc(~'min(1em, 100%)' + 10 * var(--tui-stroke-width))
48
48
  ~'min(1em, 100%)' padding-box;
49
49
  }
50
50
 
@@ -45,7 +45,7 @@
45
45
  font-size: 0;
46
46
  line-height: 0;
47
47
  box-sizing: border-box;
48
- mask-size: calc(100% + 10 * var(--tui-stroke-width, 0.125rem)) 100%;
48
+ mask-size: calc(100% + 10 * var(--tui-stroke-width)) 100%;
49
49
  transition: none;
50
50
  }
51
51
 
@@ -10,6 +10,7 @@ tui-textfield:where(*&) {
10
10
  --t-label-font: var(--tui-font-body-s);
11
11
  --t-end: ~'0rem';
12
12
  --t-start: ~'0rem';
13
+ --t-side: ~'0rem';
13
14
 
14
15
  position: relative;
15
16
  display: flex;
@@ -21,7 +22,6 @@ tui-textfield:where(*&) {
21
22
  font: var(--tui-font-ui-m);
22
23
  line-height: 1.25rem;
23
24
  box-sizing: border-box;
24
- gap: 0 0.25rem;
25
25
  isolation: isolate;
26
26
 
27
27
  &[tuiAppearance] {
@@ -39,27 +39,29 @@ tui-textfield:where(*&) {
39
39
  }
40
40
 
41
41
  &[data-icon-start] {
42
- --t-start: 2.25rem;
42
+ --t-start: 2.5rem;
43
43
  }
44
44
 
45
45
  &[data-icon-end] {
46
- --t-end: 2.25rem;
46
+ --t-end: 1.75rem;
47
47
  }
48
48
 
49
49
  &[tuiIcons] {
50
50
  &::before {
51
51
  z-index: 1;
52
52
  block-size: var(--t-height);
53
- margin-inline-end: 0.5rem;
53
+ inline-size: 1.5rem;
54
+ margin-inline-end: 1rem;
54
55
  pointer-events: none;
55
56
  }
56
57
 
57
58
  &::after {
58
59
  position: relative;
59
60
  block-size: var(--t-height);
61
+ inline-size: calc(1.5rem + 2 * var(--t-padding));
60
62
  cursor: pointer;
61
- border-inline: var(--t-padding) solid transparent;
62
- margin: 0 calc(-1 * var(--t-padding));
63
+ margin-inline-start: calc(0.25rem - var(--t-padding));
64
+ margin-inline-end: calc(-1 * var(--t-padding));
63
65
  }
64
66
  }
65
67
 
@@ -95,31 +97,34 @@ tui-textfield:where(*&) {
95
97
  --t-padding: var(--tui-padding-s);
96
98
 
97
99
  border-radius: var(--tui-radius-m);
98
- gap: 0;
99
100
  font: var(--tui-font-ui-s);
100
101
  line-height: 1rem;
101
102
 
102
103
  &[data-icon-start] {
103
- --t-start: 1.25rem;
104
+ --t-start: 1.5rem;
104
105
  }
105
106
 
106
107
  &[data-icon-end] {
107
- --t-end: 1.25rem;
108
+ --t-end: 1.5rem;
108
109
  }
109
110
 
110
111
  &::before {
111
- margin-inline: -0.125rem 0.5rem;
112
112
  font-size: 1rem;
113
+ margin-inline: -0.25rem 0.25rem;
113
114
  }
114
115
 
115
116
  &::after {
116
- margin-inline-start: calc(0.625rem - var(--t-padding));
117
- margin-inline-end: calc(-0.125rem - var(--t-padding));
117
+ inline-size: calc(0.75rem + 2 * var(--t-padding));
118
+ margin-inline: 0 -0.5rem;
118
119
  font-size: 1rem;
119
120
  }
120
121
 
121
122
  & > .t-content {
122
- margin-inline-end: -0.375rem;
123
+ gap: 0;
124
+
125
+ > *:last-child {
126
+ margin-inline-end: -0.25rem;
127
+ }
123
128
  }
124
129
  }
125
130
 
@@ -134,7 +139,7 @@ tui-textfield:where(*&) {
134
139
  line-height: 1rem;
135
140
 
136
141
  &[data-icon-start] {
137
- --t-start: 1.75rem;
142
+ --t-start: 1.875rem;
138
143
  }
139
144
 
140
145
  &[data-icon-end] {
@@ -142,15 +147,15 @@ tui-textfield:where(*&) {
142
147
  }
143
148
 
144
149
  &::before {
145
- margin-inline: -0.125rem 0.125rem;
150
+ margin-inline: -0.125rem 0.5rem;
146
151
  }
147
152
 
148
153
  &::after {
149
- margin-inline-start: calc(0.25rem - var(--t-padding));
150
- margin-inline-end: calc(-0.125rem - var(--t-padding));
154
+ inline-size: calc(1.25rem + 2 * var(--t-padding));
155
+ margin-inline-start: calc(0.5rem - var(--t-padding));
151
156
  }
152
157
 
153
- & > .t-content {
158
+ & > .t-content > *:last-child {
154
159
  margin-inline-end: -0.125rem;
155
160
  }
156
161
  }
@@ -209,9 +214,10 @@ tui-textfield:where(*&) {
209
214
  border-radius: inherit;
210
215
  border-width: 0;
211
216
  overscroll-behavior: none;
212
- // StackBlitz changes "0rem" to "0" breaking calc
213
- padding-inline-start: calc(var(--t-start, ~'0rem') + var(--t-padding));
214
- padding-inline-end: calc(var(--t-end, ~'0rem') + var(--t-side, ~'0rem') + var(--t-padding));
217
+ padding-inline-start: calc(var(--t-start) + var(--t-padding));
218
+ padding-inline-end: calc(var(--t-end) + var(--t-side) + var(--t-padding));
219
+ white-space: nowrap;
220
+ overflow: hidden;
215
221
 
216
222
  &:is(input, textarea):read-only ~ .t-filler {
217
223
  display: none;
@@ -225,12 +231,11 @@ tui-textfield:where(*&) {
225
231
  &[inputmode='none'] {
226
232
  caret-color: transparent;
227
233
  }
228
- }
229
234
 
230
- & > .t-template {
231
- display: flex;
232
- block-size: 100%;
233
- align-items: center;
235
+ &::-webkit-inner-spin-button,
236
+ &::-webkit-outer-spin-button {
237
+ appearance: none;
238
+ }
234
239
  }
235
240
 
236
241
  &._with-template [tuiInput]:first-of-type {
@@ -300,7 +305,7 @@ tui-textfield:where(*&) {
300
305
  display: flex;
301
306
  block-size: var(--t-height);
302
307
  align-items: center;
303
- gap: inherit;
308
+ gap: 0.25rem;
304
309
  margin-inline-start: auto;
305
310
  isolation: isolate;
306
311
  border-radius: inherit;
@@ -3,7 +3,7 @@
3
3
  [tuiAppearance][data-appearance='floating'] {
4
4
  background: var(--tui-background-elevation-2);
5
5
  color: var(--tui-text-primary);
6
- box-shadow: 0 0.25rem 1.25rem rgba(0, 0, 0, 0.1);
6
+ box-shadow: var(--tui-shadow-small);
7
7
 
8
8
  &::before,
9
9
  &::after {
@@ -11,11 +11,11 @@
11
11
  }
12
12
 
13
13
  .appearance-hover({
14
- box-shadow: 0 0.875rem 2.625rem rgba(0, 0, 0, 0.14);
14
+ box-shadow: var(--tui-shadow-small-hover);
15
15
  });
16
16
 
17
17
  .appearance-active({
18
18
  background: var(--tui-background-base-alt);
19
- box-shadow: 0 0.25rem 1.25rem rgba(0, 0, 0, 0.1);
19
+ box-shadow: var(--tui-shadow-small);
20
20
  });
21
21
  }
@@ -1,3 +1,6 @@
1
+ @import (inline, once) '@taiga-ui/design-tokens/palette/animation.css';
2
+ @import (inline, once) '@taiga-ui/design-tokens/palette/shadow.css';
3
+
1
4
  &:root,
2
5
  &:host {
3
6
  // Fonts
@@ -14,12 +17,12 @@
14
17
  // Body
15
18
  --tui-font-body-l: normal calc(var(--tui-font-offset) + 1.0625rem) / calc(28 / 17) var(--tui-font-family-text);
16
19
  --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);
20
+ --tui-font-body-s: normal calc(var(--tui-font-offset) + 0.875rem) / calc(20 / 14) var(--tui-font-family-text);
18
21
  --tui-font-body-xs: normal calc(var(--tui-font-offset) + 0.6875rem) / calc(16 / 11) var(--tui-font-family-text);
19
22
  // Reduced
20
23
  --tui-font-ui-l: normal calc(var(--tui-font-offset) + 1.0625rem) / calc(24 / 17) var(--tui-font-family-text);
21
24
  --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);
25
+ --tui-font-ui-s: normal calc(var(--tui-font-offset) + 0.875rem) / calc(16 / 14) var(--tui-font-family-text);
23
26
  --tui-font-ui-xs: normal calc(var(--tui-font-offset) + 0.6875rem) / calc(13 / 11) var(--tui-font-family-text);
24
27
  // Radii
25
28
  --tui-radius-xs: 0.25rem;
@@ -37,6 +40,7 @@
37
40
  --tui-padding-m: 0.75rem;
38
41
  --tui-padding-l: 1rem;
39
42
  // Misc
43
+ --tui-stroke-width: 0.125rem;
40
44
  --tui-duration: 0.3s;
41
45
  --tui-disabled-opacity: 0.56;
42
46
  }
@@ -1,3 +1,3 @@
1
- import { InjectionToken, type Provider, type WritableSignal } from '@angular/core';
2
- export declare const TUI_FONT_OFFSET: InjectionToken<WritableSignal<number>>;
1
+ import { InjectionToken, type Provider, type Signal } from '@angular/core';
2
+ export declare const TUI_FONT_OFFSET: InjectionToken<Signal<number>>;
3
3
  export declare function tuiEnableFontScaling(): Provider;