@taiga-ui/core 4.52.0-canary.763e67d → 4.52.0-canary.7c53ccc

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 (79) hide show
  1. package/components/input/input.directive.d.ts +1 -2
  2. package/components/notification/notification.directive.d.ts +2 -2
  3. package/components/root/root.component.d.ts +1 -1
  4. package/components/textfield/textfield-multi/textfield-multi.component.d.ts +1 -2
  5. package/components/textfield/textfield.component.d.ts +6 -6
  6. package/directives/appearance/appearance.directive.d.ts +1 -1
  7. package/directives/appearance/appearance.options.d.ts +1 -2
  8. package/fesm2022/taiga-ui-core-components-button.mjs +2 -2
  9. package/fesm2022/taiga-ui-core-components-button.mjs.map +1 -1
  10. package/fesm2022/taiga-ui-core-components-calendar.mjs +6 -10
  11. package/fesm2022/taiga-ui-core-components-calendar.mjs.map +1 -1
  12. package/fesm2022/taiga-ui-core-components-cell.mjs +2 -2
  13. package/fesm2022/taiga-ui-core-components-cell.mjs.map +1 -1
  14. package/fesm2022/taiga-ui-core-components-data-list.mjs +2 -2
  15. package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
  16. package/fesm2022/taiga-ui-core-components-error.mjs +2 -2
  17. package/fesm2022/taiga-ui-core-components-icon.mjs +2 -2
  18. package/fesm2022/taiga-ui-core-components-icon.mjs.map +1 -1
  19. package/fesm2022/taiga-ui-core-components-input.mjs +3 -4
  20. package/fesm2022/taiga-ui-core-components-input.mjs.map +1 -1
  21. package/fesm2022/taiga-ui-core-components-label.mjs +2 -2
  22. package/fesm2022/taiga-ui-core-components-label.mjs.map +1 -1
  23. package/fesm2022/taiga-ui-core-components-link.mjs +2 -2
  24. package/fesm2022/taiga-ui-core-components-link.mjs.map +1 -1
  25. package/fesm2022/taiga-ui-core-components-loader.mjs +2 -2
  26. package/fesm2022/taiga-ui-core-components-notification.mjs +6 -6
  27. package/fesm2022/taiga-ui-core-components-notification.mjs.map +1 -1
  28. package/fesm2022/taiga-ui-core-components-root.mjs +4 -6
  29. package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
  30. package/fesm2022/taiga-ui-core-components-scrollbar.mjs +2 -2
  31. package/fesm2022/taiga-ui-core-components-scrollbar.mjs.map +1 -1
  32. package/fesm2022/taiga-ui-core-components-spin-button.mjs +2 -2
  33. package/fesm2022/taiga-ui-core-components-textfield.mjs +16 -18
  34. package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
  35. package/fesm2022/taiga-ui-core-components-title.mjs +2 -2
  36. package/fesm2022/taiga-ui-core-components-title.mjs.map +1 -1
  37. package/fesm2022/taiga-ui-core-directives-appearance.mjs.map +1 -1
  38. package/fesm2022/taiga-ui-core-directives-icons.mjs +2 -2
  39. package/fesm2022/taiga-ui-core-directives-icons.mjs.map +1 -1
  40. package/fesm2022/taiga-ui-core-portals-dialog.mjs +2 -2
  41. package/fesm2022/taiga-ui-core-portals-dialog.mjs.map +1 -1
  42. package/fesm2022/taiga-ui-core-portals-dropdown.mjs +11 -27
  43. package/fesm2022/taiga-ui-core-portals-dropdown.mjs.map +1 -1
  44. package/fesm2022/taiga-ui-core-portals-hint.mjs +17 -74
  45. package/fesm2022/taiga-ui-core-portals-hint.mjs.map +1 -1
  46. package/fesm2022/taiga-ui-core-portals-modal.mjs +2 -2
  47. package/fesm2022/taiga-ui-core-portals-modal.mjs.map +1 -1
  48. package/fesm2022/taiga-ui-core-services.mjs +5 -30
  49. package/fesm2022/taiga-ui-core-services.mjs.map +1 -1
  50. package/fesm2022/taiga-ui-core-tokens.mjs +29 -15
  51. package/fesm2022/taiga-ui-core-tokens.mjs.map +1 -1
  52. package/package.json +29 -29
  53. package/portals/dropdown/dropdown-options.directive.d.ts +0 -4
  54. package/portals/hint/hint-options.directive.d.ts +1 -20
  55. package/portals/hint/hint-position.directive.d.ts +3 -3
  56. package/portals/hint/hint.d.ts +1 -2
  57. package/portals/hint/hint.directive.d.ts +1 -1
  58. package/services/index.d.ts +0 -1
  59. package/styles/components/button.less +9 -19
  60. package/styles/components/icon.less +11 -0
  61. package/styles/components/icons.less +2 -1
  62. package/styles/components/label.less +3 -12
  63. package/styles/components/link.less +1 -2
  64. package/styles/components/notification.less +27 -61
  65. package/styles/components/textfield.less +123 -172
  66. package/styles/components/title.less +8 -8
  67. package/styles/mixins/date-picker.less +1 -1
  68. package/styles/mixins/picker.less +1 -1
  69. package/styles/mixins/picker.scss +1 -1
  70. package/styles/mixins/slider.less +4 -10
  71. package/styles/mixins/slider.scss +23 -21
  72. package/styles/theme/appearance/table.less +9 -15
  73. package/styles/theme/appearance/textfield.less +30 -27
  74. package/styles/theme/variables.less +16 -17
  75. package/styles/variables/media.less +13 -18
  76. package/styles/variables/media.scss +13 -13
  77. package/tokens/breakpoint.d.ts +4 -0
  78. package/tokens/index.d.ts +1 -0
  79. package/services/breakpoint.service.d.ts +0 -16
@@ -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
 
@@ -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,9 +15,9 @@
15
15
  --t-offset: calc(@thumb / 2);
16
16
 
17
17
  display: flex;
18
- font: var(--tui-font-text-s);
19
- margin-inline-start: var(--t-offset);
20
- margin-inline-end: var(--t-offset);
18
+ font: var(--tui-font-body-s);
19
+ color: var(--tui-text-secondary);
20
+ margin: 0.25rem var(--t-offset) 0;
21
21
 
22
22
  & > * {
23
23
  position: relative;
@@ -25,21 +25,15 @@
25
25
  text-align: center;
26
26
 
27
27
  &:first-child {
28
- left: calc(-1 * var(--t-offset));
29
28
  inset-inline-start: calc(-1 * var(--t-offset));
30
29
  flex: 1;
31
30
  text-align: start;
32
31
  }
33
32
 
34
33
  &:last-child {
35
- right: calc(-1 * var(--t-offset));
34
+ inset-inline-end: calc(-1 * var(--t-offset));
36
35
  flex: 1;
37
36
  text-align: end;
38
-
39
- @supports (inset-inline-end: 0) {
40
- right: unset;
41
- inset-inline-end: calc(-1 * var(--t-offset));
42
- }
43
37
  }
44
38
  }
45
39
 
@@ -17,9 +17,9 @@ $track-inset: (
17
17
  --t-offset: calc($thumb / 2);
18
18
 
19
19
  display: flex;
20
- font: var(--tui-font-text-s);
21
- margin-inline-start: var(--t-offset);
22
- margin-inline-end: var(--t-offset);
20
+ font: var(--tui-font-body-s);
21
+ color: var(--tui-text-secondary);
22
+ margin: 0.25rem var(--t-offset) 0;
23
23
 
24
24
  & > * {
25
25
  position: relative;
@@ -27,44 +27,46 @@ $track-inset: (
27
27
  text-align: center;
28
28
 
29
29
  &:first-child {
30
- left: calc(-1 * var(--t-offset));
31
30
  inset-inline-start: calc(-1 * var(--t-offset));
32
31
  flex: 1;
33
32
  text-align: start;
34
33
  }
35
34
 
36
35
  &:last-child {
37
- right: calc(-1 * var(--t-offset));
36
+ inset-inline-end: calc(-1 * var(--t-offset));
38
37
  flex: 1;
39
38
  text-align: end;
40
-
41
- @supports (inset-inline-end: 0) {
42
- right: unset;
43
- inset-inline-end: calc(-1 * var(--t-offset));
44
- }
45
39
  }
46
40
  }
47
41
 
48
- /* TODO(v5): delete */
49
- tui-input-slider + & {
50
- margin-inline-start: calc(var(--tui-radius-m) / 2 + var(--t-offset));
42
+ tui-range + & {
43
+ --t-offset: $thumb;
51
44
  }
52
45
 
53
46
  /* TODO: add :has([tuiInputSlider]) */
54
- tui-textfield + & {
55
- --t-offset: calc(var(--tui-radius-m) / 2 + $thumb / 2);
47
+ tui-textfield[data-size='l'] + & {
48
+ --t-offset: calc(map-get($track-inset, 'l') + $thumb / 2);
56
49
  }
57
50
 
58
51
  /* TODO: add :has([tuiInputSlider]) */
59
- tui-textfield[data-size='l'] + & {
60
- --t-offset: calc(var(--tui-radius-l) / 2 + $thumb / 2);
52
+ tui-textfield[data-size='m'] + & {
53
+ --t-offset: calc(map-get($track-inset, 'm') + $thumb / 2);
61
54
  }
62
55
 
63
- tui-range + & {
64
- --t-offset: $thumb;
56
+ /* TODO: add :has([tuiInputSlider]) */
57
+ tui-textfield[data-size='s'] + & {
58
+ --t-offset: calc(map-get($track-inset, 's') + $thumb / 2);
59
+ }
60
+
61
+ tui-input-range[data-size='l'] + & {
62
+ --t-offset: calc(map-get($track-inset, 'l') + $thumb);
63
+ }
64
+
65
+ tui-input-range[data-size='m'] + & {
66
+ --t-offset: calc(map-get($track-inset, 'm') + $thumb);
65
67
  }
66
68
 
67
- tui-input-range + & {
68
- --t-offset: calc(map-get($track-inset, $input-size) + $thumb);
69
+ tui-input-range[data-size='s'] + & {
70
+ --t-offset: calc(map-get($track-inset, 's') + $thumb);
69
71
  }
70
72
  }
@@ -1,23 +1,19 @@
1
1
  @import '@taiga-ui/core/styles/taiga-ui-local.less';
2
2
 
3
3
  [tuiAppearance][data-appearance='table'] {
4
- block-size: auto;
4
+ min-block-size: calc(100% + 1px);
5
5
  border-radius: 0 !important;
6
6
  background: transparent;
7
7
  color: var(--tui-text-primary);
8
8
  border: none;
9
9
  outline: none;
10
- border-block-end: calc(var(--t-row-height) - var(--t-height)) solid transparent;
10
+ margin: -1px -1px 0;
11
+ overflow: hidden;
11
12
 
12
- &:is(tui-textfield[multi]),
13
- &:is(tui-input-card-group) {
14
- min-block-size: 100%;
15
- border-block-end: 0;
16
- }
17
-
18
- &:is(textarea) {
19
- block-size: 100%;
20
- border-block-end: 0;
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;
21
17
  }
22
18
 
23
19
  &::before,
@@ -39,8 +35,7 @@
39
35
  }
40
36
 
41
37
  .appearance-focus({
42
- outline-offset: -1px;
43
- 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;
44
39
  });
45
40
 
46
41
  .appearance-invalid({
@@ -67,8 +62,7 @@
67
62
 
68
63
  .appearance-focus({
69
64
  background-color: transparent;
70
- outline-offset: 0;
71
- outline: 0.0625rem solid var(--tui-status-negative);
65
+ border-image: conic-gradient(var(--tui-status-negative) 0 0) 1 / 1px / 0 0 1px;
72
66
  });
73
67
  });
74
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
 
@@ -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) / calc(50 / 56) var(--tui-font-heading);
9
- --tui-font-heading-2: bold calc(var(--tui-font-offset) + 2.75rem) / calc(48 / 44) var(--tui-font-heading);
10
- --tui-font-heading-3: bold calc(var(--tui-font-offset) + 2.25rem) / calc(40 / 36) var(--tui-font-heading);
11
- --tui-font-heading-4: bold calc(var(--tui-font-offset) + 1.75rem) / calc(32 / 28) var(--tui-font-heading);
12
- --tui-font-heading-5: bold calc(var(--tui-font-offset) + 1.5rem) / calc(28 / 24) var(--tui-font-heading);
13
- --tui-font-heading-6: bold calc(var(--tui-font-offset) + 1.25rem) / calc(24 / 20) 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) / calc(28 / 19) var(--tui-font-text);
16
- --tui-font-text-l: normal calc(var(--tui-font-offset) + 1.0625rem) / calc(28 / 17) var(--tui-font-text);
17
- --tui-font-text-m: normal calc(var(--tui-font-offset) + 1rem) / calc(24 / 16) var(--tui-font-text);
18
- --tui-font-text-s: normal calc(var(--tui-font-offset) + 0.8125rem) / calc(20 / 13) var(--tui-font-text);
19
- --tui-font-text-xs: normal calc(var(--tui-font-offset) + 0.6875rem) / calc(16 / 11) 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) / calc(24 / 17) var(--tui-font-text);
22
- --tui-font-text-ui-m: normal calc(var(--tui-font-offset) + 1rem) / calc(20 / 16) var(--tui-font-text);
23
- --tui-font-text-ui-s: normal calc(var(--tui-font-offset) + 0.8125rem) / calc(16 / 13) var(--tui-font-text);
24
- --tui-font-text-ui-xs: normal calc(var(--tui-font-offset) + 0.6875rem) / calc(13 / 11) 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;
@@ -1,26 +1,21 @@
1
- /*
2
- Every max-width of breakpoint is equal:
3
- next min-width - 60% from 1px (1/16 * 0.6 = 0.0375)
4
- */
5
-
6
1
  @tui-media-retina: ~'(-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi)';
7
- @tui-media-retina-mobile: ~'(-webkit-min-device-pixel-ratio: 2) and (max-width: 37.4625em), (min-resolution: 192dpi) and (max-width: 37.4625em)';
8
- @tui-media-retina-tablet: ~'(-webkit-min-device-pixel-ratio: 2) and (max-width: 63.9625em), (min-resolution: 192dpi) and (max-width: 63.9625em)';
9
- @tui-media-retina-desktop: ~'(-webkit-min-device-pixel-ratio: 2) and (max-width: 84.9625em), (min-resolution: 192dpi) and (max-width: 84.9625em)';
2
+ @tui-media-retina-mobile: ~'(-webkit-min-device-pixel-ratio: 2) and (max-width: 599.4px), (min-resolution: 192dpi) and (max-width: 599.4px)';
3
+ @tui-media-retina-tablet: ~'(-webkit-min-device-pixel-ratio: 2) and (max-width: 1023.4px), (min-resolution: 192dpi) and (max-width: 1023.4px)';
4
+ @tui-media-retina-desktop: ~'(-webkit-min-device-pixel-ratio: 2) and (max-width: 1359.4px), (min-resolution: 192dpi) and (max-width: 1359.4px)';
10
5
 
11
- @tui-mobile: ~'screen and (max-width: 47.9625em)';
12
- @tui-mobile-min: ~'screen and (min-width: 22.5em)';
13
- @tui-mobile-interval: ~'(min-width: 22.5em) and (max-width: 47.9625em)';
6
+ @tui-mobile: ~'screen and (max-width: 767.4px)';
7
+ @tui-mobile-min: ~'screen and (min-width: 360px)';
8
+ @tui-mobile-interval: ~'(min-width: 360px) and (max-width: 767.4px)';
14
9
 
15
- @tui-tablet: ~'screen and (max-width: 63.9625em)';
16
- @tui-tablet-min: ~'screen and (min-width: 48em)';
17
- @tui-tablet-interval: ~'(min-width: 48em) and (max-width: 63.9625em)';
10
+ @tui-tablet: ~'screen and (max-width: 1023.4px)';
11
+ @tui-tablet-min: ~'screen and (min-width: 768px)';
12
+ @tui-tablet-interval: ~'(min-width: 768px) and (max-width: 1023.4px)';
18
13
 
19
- @tui-desktop: ~'screen and (max-width: 79.9625em)';
20
- @tui-desktop-min: ~'screen and (min-width: 64em)';
21
- @tui-desktop-interval: ~'(min-width: 64em) and (max-width: 79.9625em)';
14
+ @tui-desktop: ~'screen and (max-width: 1279.4px)';
15
+ @tui-desktop-min: ~'screen and (min-width: 1024px)';
16
+ @tui-desktop-interval: ~'(min-width: 1024px) and (max-width: 1279.4px)';
22
17
 
23
- @tui-desktop-lg-min: ~'screen and (min-width: 80em)';
18
+ @tui-desktop-lg-min: ~'screen and (min-width: 1280px)';
24
19
 
25
20
  @tui-touch: ~'(hover: none) and (pointer: coarse)';
26
21
  @tui-stylus: ~'(hover: none) and (pointer: fine)';
@@ -1,21 +1,21 @@
1
1
  $tui-media-retina: '(-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi)';
2
- $tui-media-retina-mobile: '(-webkit-min-device-pixel-ratio: 2) and (max-width: 37.4625em), (min-resolution: 192dpi) and (max-width: 37.4625em)';
3
- $tui-media-retina-tablet: '(-webkit-min-device-pixel-ratio: 2) and (max-width: 63.9625em), (min-resolution: 192dpi) and (max-width: 63.9625em)';
4
- $tui-media-retina-desktop: '(-webkit-min-device-pixel-ratio: 2) and (max-width: 84.9625em), (min-resolution: 192dpi) and (max-width: 84.9625em)';
2
+ $tui-media-retina-mobile: '(-webkit-min-device-pixel-ratio: 2) and (max-width: 599.4px), (min-resolution: 192dpi) and (max-width: 599.4px)';
3
+ $tui-media-retina-tablet: '(-webkit-min-device-pixel-ratio: 2) and (max-width: 1023.4px), (min-resolution: 192dpi) and (max-width: 1023.4px)';
4
+ $tui-media-retina-desktop: '(-webkit-min-device-pixel-ratio: 2) and (max-width: 1359.4px), (min-resolution: 192dpi) and (max-width: 1359.4px)';
5
5
 
6
- $tui-mobile: 'screen and (max-width: 47.9625em)';
7
- $tui-mobile-min: 'screen and (min-width: 22.5em)';
8
- $tui-mobile-interval: '(min-width: 22.5em) and (max-width: 47.9625em)';
6
+ $tui-mobile: 'screen and (max-width: 767.4px)';
7
+ $tui-mobile-min: 'screen and (min-width: 360px)';
8
+ $tui-mobile-interval: '(min-width: 360px) and (max-width: 767.4px)';
9
9
 
10
- $tui-tablet: 'screen and (max-width: 63.9625em)';
11
- $tui-tablet-min: 'screen and (min-width: 48em)';
12
- $tui-tablet-interval: '(min-width: 48em) and (max-width: 63.9625em)';
10
+ $tui-tablet: 'screen and (max-width: 1023.4px)';
11
+ $tui-tablet-min: 'screen and (min-width: 768px)';
12
+ $tui-tablet-interval: '(min-width: 768px) and (max-width: 1023.4px)';
13
13
 
14
- $tui-desktop: 'screen and (max-width: 79.9625em)';
15
- $tui-desktop-min: 'screen and (min-width: 64em)';
16
- $tui-desktop-interval: '(min-width: 64em) and (max-width: 79.9625em)';
14
+ $tui-desktop: 'screen and (max-width: 1279.4px)';
15
+ $tui-desktop-min: 'screen and (min-width: 1024px)';
16
+ $tui-desktop-interval: '(min-width: 1024px) and (max-width: 1279.4px)';
17
17
 
18
- $tui-desktop-lg-min: 'screen and (min-width: 80em)';
18
+ $tui-desktop-lg-min: 'screen and (min-width: 1280px)';
19
19
 
20
20
  $tui-touch: '(hover: none) and (pointer: coarse)';
21
21
  $tui-stylus: '(hover: none) and (pointer: fine)';
@@ -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">>;
package/tokens/index.d.ts CHANGED
@@ -1,6 +1,7 @@
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';
@@ -1,16 +0,0 @@
1
- import { type TuiMedia } from '@taiga-ui/core/tokens';
2
- import { Observable } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export type TuiBreakpointMediaKey = keyof Omit<TuiMedia, 'tablet'>;
5
- /**
6
- * Service to provide the current breakpoint based on Taiga UI's media queries
7
- */
8
- export declare class TuiBreakpointService extends Observable<TuiBreakpointMediaKey | null> {
9
- private readonly media;
10
- private readonly sorted;
11
- private readonly invert;
12
- private readonly stream$;
13
- constructor();
14
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiBreakpointService, never>;
15
- static ɵprov: i0.ɵɵInjectableDeclaration<TuiBreakpointService>;
16
- }