@taiga-ui/styles 5.17.0 → 5.18.0

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.
@@ -0,0 +1,133 @@
1
+ .tui-theme-dark() {
2
+ // Backgrounds
3
+ --tui-background-base: #222;
4
+ --tui-background-base-alt: #333;
5
+ --tui-background-neutral-1: rgba(255, 255, 255, 0.08);
6
+ --tui-background-neutral-1-hover: rgba(255, 255, 255, 0.16);
7
+ --tui-background-neutral-1-pressed: rgba(255, 255, 255, 0.24);
8
+ --tui-background-neutral-2: rgba(255, 255, 255, 0.24);
9
+ --tui-background-neutral-2-hover: rgba(255, 255, 255, 0.32);
10
+ --tui-background-neutral-2-pressed: rgba(255, 255, 255, 0.4);
11
+ --tui-background-accent-opposite: #fff;
12
+ --tui-background-accent-opposite-hover: #f6f6f6;
13
+ --tui-background-accent-opposite-pressed: #ededed;
14
+ --tui-background-elevation-1: #292929;
15
+ --tui-background-elevation-2: #2f2f2f;
16
+ --tui-background-elevation-3: #373737;
17
+ // Other
18
+ --tui-service-autofill-background: rgb(85, 74, 42);
19
+ --tui-border-normal: rgba(255, 255, 255, 0.14);
20
+ --tui-border-hover: rgba(255, 255, 255, 0.6);
21
+ --tui-border-focus: rgba(255, 255, 255, 0.64);
22
+ // Statuses
23
+ --tui-status-negative: #ff4d4d;
24
+ --tui-status-negative-pale: rgba(255, 77, 77, 0.24);
25
+ --tui-status-negative-pale-hover: rgba(255, 77, 77, 0.32);
26
+ --tui-status-positive: rgb(74, 201, 155);
27
+ --tui-status-positive-pale: rgba(74, 201, 155, 0.32);
28
+ --tui-status-positive-pale-hover: rgba(74, 201, 155, 0.4);
29
+ --tui-status-warning: rgb(255, 199, 0);
30
+ --tui-status-warning-pale: rgba(255, 199, 0, 0.32);
31
+ --tui-status-warning-pale-hover: rgba(255, 199, 0, 0.4);
32
+ --tui-status-info: rgb(112, 182, 246);
33
+ --tui-status-info-pale: rgba(112, 182, 246, 0.32);
34
+ --tui-status-info-pale-hover: rgba(112, 182, 246, 0.4);
35
+ --tui-status-neutral: rgb(149, 155, 164);
36
+ // Text
37
+ --tui-text-primary: rgba(255, 255, 255, 1);
38
+ --tui-text-secondary: rgba(255, 255, 255, 0.72);
39
+ --tui-text-tertiary: rgba(255, 255, 255, 0.6);
40
+ --tui-text-action: #6788ff;
41
+ --tui-text-action-hover: #526ed3;
42
+ --tui-text-positive: #44c596;
43
+ --tui-text-positive-hover: #3aa981;
44
+ --tui-text-negative: #ff4d4d;
45
+ --tui-text-negative-hover: #f66;
46
+ }
47
+
48
+ .tui-theme-light() {
49
+ // Backgrounds
50
+ --tui-background-base: #fff;
51
+ --tui-background-base-alt: #f6f6f6;
52
+ --tui-background-neutral-1: rgba(0, 0, 0, 0.04);
53
+ --tui-background-neutral-1-hover: rgba(0, 0, 0, 0.08);
54
+ --tui-background-neutral-1-pressed: rgba(0, 0, 0, 0.12);
55
+ --tui-background-neutral-2: rgba(0, 0, 0, 0.08);
56
+ --tui-background-neutral-2-hover: rgba(0, 0, 0, 0.1);
57
+ --tui-background-neutral-2-pressed: rgba(0, 0, 0, 0.14);
58
+ --tui-background-accent-1: #526ed3;
59
+ --tui-background-accent-1-hover: #6c86e2;
60
+ --tui-background-accent-1-pressed: #314692;
61
+ --tui-background-accent-2: #ff7043;
62
+ --tui-background-accent-2-hover: #ff9a94;
63
+ --tui-background-accent-2-pressed: #e7716a;
64
+ --tui-background-accent-opposite: #000;
65
+ --tui-background-accent-opposite-hover: #333;
66
+ --tui-background-accent-opposite-pressed: #808080;
67
+ --tui-background-elevation-1: #fff;
68
+ --tui-background-elevation-2: #fff;
69
+ --tui-background-elevation-3: #fff;
70
+ // Other
71
+ --tui-service-autofill-background: #fff5c0;
72
+ --tui-service-selection-background: rgba(112, 182, 246, 0.12);
73
+ --tui-service-backdrop: rgba(0, 0, 0, 0.75);
74
+ --tui-border-normal: rgba(0, 0, 0, 0.1);
75
+ --tui-border-hover: rgba(0, 0, 0, 0.16);
76
+ --tui-border-focus: rgba(51, 51, 51, 0.64);
77
+ // Statuses
78
+ --tui-status-negative: #ff291a;
79
+ --tui-status-negative-pale: rgba(245, 34, 34, 0.08);
80
+ --tui-status-negative-pale-hover: rgba(245, 34, 34, 0.16);
81
+ --tui-status-positive: rgba(74, 201, 155, 1);
82
+ --tui-status-positive-pale: rgba(74, 201, 155, 0.12);
83
+ --tui-status-positive-pale-hover: rgba(74, 201, 155, 0.24);
84
+ --tui-status-warning: rgba(255, 199, 0, 1);
85
+ --tui-status-warning-pale: rgba(255, 199, 0, 0.12);
86
+ --tui-status-warning-pale-hover: rgba(255, 199, 0, 0.24);
87
+ --tui-status-info: rgba(112, 182, 246, 1);
88
+ --tui-status-info-pale: rgba(112, 182, 246, 0.12);
89
+ --tui-status-info-pale-hover: rgba(112, 182, 246, 0.24);
90
+ --tui-status-neutral: rgb(121, 129, 140);
91
+ // Text
92
+ --tui-text-primary: rgba(27, 31, 59, 1);
93
+ --tui-text-secondary: rgba(27, 31, 59, 0.65);
94
+ --tui-text-tertiary: rgba(27, 31, 59, 0.4);
95
+ --tui-text-primary-on-accent-1: #fff;
96
+ --tui-text-primary-on-accent-2: #fff;
97
+ --tui-text-action: #4c66c3;
98
+ --tui-text-action-hover: #6c86e2;
99
+ --tui-text-positive: #3aa981;
100
+ --tui-text-positive-hover: #7ac5aa;
101
+ --tui-text-negative: #ff291a;
102
+ --tui-text-negative-hover: #ff4d4d;
103
+ // Charts
104
+ --tui-chart-categorical-00: var(--tui-background-accent-1);
105
+ --tui-chart-categorical-01: #ea97c4;
106
+ --tui-chart-categorical-02: #a0c5df;
107
+ --tui-chart-categorical-03: #fee797;
108
+ --tui-chart-categorical-04: #b0b0b0;
109
+ --tui-chart-categorical-05: #e29398;
110
+ --tui-chart-categorical-06: #b8474e;
111
+ --tui-chart-categorical-07: #fcc068;
112
+ --tui-chart-categorical-08: #ff8a00;
113
+ --tui-chart-categorical-09: #dab3f9;
114
+ --tui-chart-categorical-10: #7b439e;
115
+ --tui-chart-categorical-11: #8dda71;
116
+ --tui-chart-categorical-12: #fcbb14;
117
+ --tui-chart-categorical-13: #a8cef1;
118
+ --tui-chart-categorical-14: #bd65a4;
119
+ --tui-chart-categorical-15: #7fd7cc;
120
+ --tui-chart-categorical-16: #2fad96;
121
+ --tui-chart-categorical-17: #d4aca2;
122
+ --tui-chart-categorical-18: #9d6f64;
123
+ --tui-chart-categorical-19: #d2e9a2;
124
+ --tui-chart-categorical-20: #aadc42;
125
+ --tui-chart-categorical-21: #3682db;
126
+ --tui-chart-categorical-22: #34b41f;
127
+ // Shadows
128
+ --tui-shadow-small: 0 0.25rem 1.25rem rgba(0, 0, 0, 0.1);
129
+ --tui-shadow-small-hover: 0 1rem 2.5rem rgba(0, 0, 0, 0.14);
130
+ --tui-shadow-medium: 0 0.375rem 2rem rgba(0, 0, 0, 0.12);
131
+ --tui-shadow-medium-hover: 0 1.25rem 4rem rgba(0, 0, 0, 0.18);
132
+ --tui-shadow-popup: 0 1.25rem 3rem rgba(0, 0, 0, 0.2);
133
+ }
@@ -0,0 +1,65 @@
1
+ .tui-theme-variables() {
2
+ // Fonts
3
+ --tui-typography-family-text: 'Manrope', system-ui, sans-serif;
4
+ --tui-typography-family-display: 'Manrope', system-ui, sans-serif;
5
+ --tui-font-offset: calc(var(--t-font-offset, 0) * 1px);
6
+ --tui-font-scale: calc((22 + var(--t-font-offset, 0)) / 22);
7
+ // Heading
8
+ --tui-typography-heading-h1: bold calc(var(--tui-font-offset) + 3.125rem) / calc(56 / 50) var(--tui-typography-family-display);
9
+ --tui-typography-heading-h2: bold calc(var(--tui-font-offset) + 2.75rem) / calc(48 / 44) var(--tui-typography-family-display);
10
+ --tui-typography-heading-h3: bold calc(var(--tui-font-offset) + 2.25rem) / calc(40 / 36) var(--tui-typography-family-display);
11
+ --tui-typography-heading-h4: bold calc(var(--tui-font-offset) + 1.75rem) / calc(32 / 28) var(--tui-typography-family-display);
12
+ --tui-typography-heading-h5: bold calc(var(--tui-font-offset) + 1.5rem) / calc(28 / 24) var(--tui-typography-family-display);
13
+ --tui-typography-heading-h6: bold calc(var(--tui-font-offset) + 1.25rem) / calc(24 / 20) var(--tui-typography-family-display);
14
+ // Body
15
+ --tui-typography-body-l: normal calc(var(--tui-font-offset) + 1.0625rem) / calc(28 / 17) var(--tui-typography-family-text);
16
+ --tui-typography-body-m: normal calc(var(--tui-font-offset) + 1rem) / calc(24 / 16) var(--tui-typography-family-text);
17
+ --tui-typography-body-s: normal calc(var(--tui-font-offset) + 0.875rem) / calc(20 / 14) var(--tui-typography-family-text);
18
+ --tui-typography-body-xs: normal calc(var(--tui-font-offset) + 0.75rem) / calc(16 / 12) var(--tui-typography-family-text);
19
+ // Reduced
20
+ --tui-typography-ui-l: normal calc(var(--tui-font-offset) + 1.0625rem) / calc(24 / 17) var(--tui-typography-family-text);
21
+ --tui-typography-ui-m: normal calc(var(--tui-font-offset) + 1rem) / calc(20 / 16) var(--tui-typography-family-text);
22
+ --tui-typography-ui-s: normal calc(var(--tui-font-offset) + 0.875rem) / calc(16 / 14) var(--tui-typography-family-text);
23
+ --tui-typography-ui-xs: normal calc(var(--tui-font-offset) + 0.75rem) / calc(15 / 12) var(--tui-typography-family-text);
24
+ --tui-typography-ui-2xs: normal calc(var(--tui-font-offset) + 0.6875rem) / calc(12 / 11) var(--tui-typography-family-text);
25
+ // Radii
26
+ --tui-radius-xs: 0.25rem;
27
+ --tui-radius-s: 0.5rem;
28
+ --tui-radius-m: 0.625rem;
29
+ --tui-radius-l: 0.75rem;
30
+ --tui-radius-xl: 1.5rem;
31
+ // Sizes
32
+ --tui-height-xs: 1.5rem;
33
+ --tui-height-s: 2rem;
34
+ --tui-height-m: 2.75rem;
35
+ --tui-height-l: 3.5rem;
36
+ // Input padding
37
+ --tui-padding-s: 0.625rem;
38
+ --tui-padding-m: 0.75rem;
39
+ --tui-padding-l: 1rem;
40
+ // Misc
41
+ --tui-stroke-width: 0.125rem;
42
+ --tui-duration: 0.3s;
43
+ --tui-disabled-opacity: 0.56;
44
+ --tui-lh: 1.4em;
45
+ // logical
46
+ --tui-inline-start: left;
47
+ --tui-inline-end: right;
48
+ --tui-inline: 1;
49
+
50
+ @supports (font-size: 1lh) {
51
+ --tui-lh: 1lh;
52
+ }
53
+
54
+ // TODO: drop in v6
55
+ --tui-duration-slowest: calc(var(--tui-duration) / 0.429);
56
+ --tui-duration-slow: calc(var(--tui-duration) / 0.6);
57
+ --tui-duration-fast: calc(var(--tui-duration) / 2);
58
+ --tui-duration-fastest: calc(var(--tui-duration) / 4);
59
+ }
60
+
61
+ .tui-theme-rtl() {
62
+ --tui-inline-start: right;
63
+ --tui-inline-end: left;
64
+ --tui-inline: -1;
65
+ }
@@ -0,0 +1,67 @@
1
+ @import (once) '@taiga-ui/design-tokens/angular/mixins/animation.less';
2
+ @import (once) '@taiga-ui/design-tokens/angular/mixins/shadow.less';
3
+ @import 'theme/variables.less';
4
+ @import 'theme/palette.less';
5
+
6
+ // Scoped counterpart of `taiga-ui-theme.less`. Call it inside your own selector to keep
7
+ // the theme out of `:root` / `:host`, e.g. when several micro frontends share a page:
8
+ //
9
+ // [my-app] {
10
+ // .taiga-ui-theme();
11
+ // }
12
+ .taiga-ui-theme() {
13
+ .tui-animation();
14
+ .tui-shadow-light();
15
+ .tui-theme-variables();
16
+
17
+ &[dir='rtl'],
18
+ [dir='rtl'] & {
19
+ .tui-theme-rtl();
20
+ }
21
+
22
+ @media screen {
23
+ & {
24
+ .tui-theme-light();
25
+ }
26
+
27
+ &[tuiTheme='light'],
28
+ & [tuiTheme='light'] {
29
+ color-scheme: light;
30
+
31
+ .tui-theme-light();
32
+ }
33
+
34
+ &[tuiTheme='dark'],
35
+ & [tuiTheme='dark'] {
36
+ color-scheme: dark;
37
+
38
+ .tui-theme-dark();
39
+ }
40
+ }
41
+
42
+ @media print {
43
+ &,
44
+ &[tuiTheme],
45
+ & [tuiTheme] {
46
+ color-scheme: light;
47
+
48
+ .tui-theme-light();
49
+ }
50
+ }
51
+
52
+ @import '../theme/appearance.less';
53
+ @import '../theme/appearance/textfield.less';
54
+
55
+ // `tuiTheme` can sit on the scoping element itself, which the selectors above do not cover
56
+ &[tuiTheme='dark'] [tuiAppearance][data-appearance='textfield'] {
57
+ background-color: var(--tui-background-neutral-1);
58
+
59
+ .appearance-hover({
60
+ background-color: var(--tui-background-neutral-1-hover);
61
+ });
62
+
63
+ .appearance-focus({
64
+ background-color: transparent !important;
65
+ });
66
+ }
67
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/styles",
3
- "version": "5.17.0",
3
+ "version": "5.18.0",
4
4
  "description": "Framework-agnostic package with styles for Taiga UI",
5
5
  "repository": {
6
6
  "type": "git",
@@ -25,6 +25,6 @@
25
25
  "./*": "./*"
26
26
  },
27
27
  "peerDependencies": {
28
- "@taiga-ui/design-tokens": "~0.310.0"
28
+ "@taiga-ui/design-tokens": "~0.312.0"
29
29
  }
30
30
  }
@@ -1,142 +1,10 @@
1
- .dark() {
2
- // Backgrounds
3
- --tui-background-base: #222;
4
- --tui-background-base-alt: #333;
5
- --tui-background-neutral-1: rgba(255, 255, 255, 0.08);
6
- --tui-background-neutral-1-hover: rgba(255, 255, 255, 0.16);
7
- --tui-background-neutral-1-pressed: rgba(255, 255, 255, 0.24);
8
- --tui-background-neutral-2: rgba(255, 255, 255, 0.24);
9
- --tui-background-neutral-2-hover: rgba(255, 255, 255, 0.32);
10
- --tui-background-neutral-2-pressed: rgba(255, 255, 255, 0.4);
11
- --tui-background-accent-opposite: #fff;
12
- --tui-background-accent-opposite-hover: #f6f6f6;
13
- --tui-background-accent-opposite-pressed: #ededed;
14
- --tui-background-elevation-1: #292929;
15
- --tui-background-elevation-2: #2f2f2f;
16
- --tui-background-elevation-3: #373737;
17
- // Other
18
- --tui-service-autofill-background: rgb(85, 74, 42);
19
- --tui-border-normal: rgba(255, 255, 255, 0.14);
20
- --tui-border-hover: rgba(255, 255, 255, 0.6);
21
- --tui-border-focus: rgba(255, 255, 255, 0.64);
22
- // Statuses
23
- --tui-status-negative: #ff4d4d;
24
- --tui-status-negative-pale: rgba(255, 77, 77, 0.24);
25
- --tui-status-negative-pale-hover: rgba(255, 77, 77, 0.32);
26
- --tui-status-positive: rgb(74, 201, 155);
27
- --tui-status-positive-pale: rgba(74, 201, 155, 0.32);
28
- --tui-status-positive-pale-hover: rgba(74, 201, 155, 0.4);
29
- --tui-status-warning: rgb(255, 199, 0);
30
- --tui-status-warning-pale: rgba(255, 199, 0, 0.32);
31
- --tui-status-warning-pale-hover: rgba(255, 199, 0, 0.4);
32
- --tui-status-info: rgb(112, 182, 246);
33
- --tui-status-info-pale: rgba(112, 182, 246, 0.32);
34
- --tui-status-info-pale-hover: rgba(112, 182, 246, 0.4);
35
- --tui-status-neutral: rgb(149, 155, 164);
36
- // Text
37
- --tui-text-primary: rgba(255, 255, 255, 1);
38
- --tui-text-secondary: rgba(255, 255, 255, 0.72);
39
- --tui-text-tertiary: rgba(255, 255, 255, 0.6);
40
- --tui-text-action: #6788ff;
41
- --tui-text-action-hover: #526ed3;
42
- --tui-text-positive: #44c596;
43
- --tui-text-positive-hover: #3aa981;
44
- --tui-text-negative: #ff4d4d;
45
- --tui-text-negative-hover: #f66;
46
- }
47
-
48
- .light() {
49
- // Backgrounds
50
- --tui-background-base: #fff;
51
- --tui-background-base-alt: #f6f6f6;
52
- --tui-background-neutral-1: rgba(0, 0, 0, 0.04);
53
- --tui-background-neutral-1-hover: rgba(0, 0, 0, 0.08);
54
- --tui-background-neutral-1-pressed: rgba(0, 0, 0, 0.12);
55
- --tui-background-neutral-2: rgba(0, 0, 0, 0.08);
56
- --tui-background-neutral-2-hover: rgba(0, 0, 0, 0.1);
57
- --tui-background-neutral-2-pressed: rgba(0, 0, 0, 0.14);
58
- --tui-background-accent-1: #526ed3;
59
- --tui-background-accent-1-hover: #6c86e2;
60
- --tui-background-accent-1-pressed: #314692;
61
- --tui-background-accent-2: #ff7043;
62
- --tui-background-accent-2-hover: #ff9a94;
63
- --tui-background-accent-2-pressed: #e7716a;
64
- --tui-background-accent-opposite: #000;
65
- --tui-background-accent-opposite-hover: #333;
66
- --tui-background-accent-opposite-pressed: #808080;
67
- --tui-background-elevation-1: #fff;
68
- --tui-background-elevation-2: #fff;
69
- --tui-background-elevation-3: #fff;
70
- // Other
71
- --tui-service-autofill-background: #fff5c0;
72
- --tui-service-selection-background: rgba(112, 182, 246, 0.12);
73
- --tui-service-backdrop: rgba(0, 0, 0, 0.75);
74
- --tui-border-normal: rgba(0, 0, 0, 0.1);
75
- --tui-border-hover: rgba(0, 0, 0, 0.16);
76
- --tui-border-focus: rgba(51, 51, 51, 0.64);
77
- // Statuses
78
- --tui-status-negative: #ff291a;
79
- --tui-status-negative-pale: rgba(245, 34, 34, 0.08);
80
- --tui-status-negative-pale-hover: rgba(245, 34, 34, 0.16);
81
- --tui-status-positive: rgba(74, 201, 155, 1);
82
- --tui-status-positive-pale: rgba(74, 201, 155, 0.12);
83
- --tui-status-positive-pale-hover: rgba(74, 201, 155, 0.24);
84
- --tui-status-warning: rgba(255, 199, 0, 1);
85
- --tui-status-warning-pale: rgba(255, 199, 0, 0.12);
86
- --tui-status-warning-pale-hover: rgba(255, 199, 0, 0.24);
87
- --tui-status-info: rgba(112, 182, 246, 1);
88
- --tui-status-info-pale: rgba(112, 182, 246, 0.12);
89
- --tui-status-info-pale-hover: rgba(112, 182, 246, 0.24);
90
- --tui-status-neutral: rgb(121, 129, 140);
91
- // Text
92
- --tui-text-primary: rgba(27, 31, 59, 1);
93
- --tui-text-secondary: rgba(27, 31, 59, 0.65);
94
- --tui-text-tertiary: rgba(27, 31, 59, 0.4);
95
- --tui-text-primary-on-accent-1: #fff;
96
- --tui-text-primary-on-accent-2: #fff;
97
- --tui-text-action: #4c66c3;
98
- --tui-text-action-hover: #6c86e2;
99
- --tui-text-positive: #3aa981;
100
- --tui-text-positive-hover: #7ac5aa;
101
- --tui-text-negative: #ff291a;
102
- --tui-text-negative-hover: #ff4d4d;
103
- // Charts
104
- --tui-chart-categorical-00: var(--tui-background-accent-1);
105
- --tui-chart-categorical-01: #ea97c4;
106
- --tui-chart-categorical-02: #a0c5df;
107
- --tui-chart-categorical-03: #fee797;
108
- --tui-chart-categorical-04: #b0b0b0;
109
- --tui-chart-categorical-05: #e29398;
110
- --tui-chart-categorical-06: #b8474e;
111
- --tui-chart-categorical-07: #fcc068;
112
- --tui-chart-categorical-08: #ff8a00;
113
- --tui-chart-categorical-09: #dab3f9;
114
- --tui-chart-categorical-10: #7b439e;
115
- --tui-chart-categorical-11: #8dda71;
116
- --tui-chart-categorical-12: #fcbb14;
117
- --tui-chart-categorical-13: #a8cef1;
118
- --tui-chart-categorical-14: #bd65a4;
119
- --tui-chart-categorical-15: #7fd7cc;
120
- --tui-chart-categorical-16: #2fad96;
121
- --tui-chart-categorical-17: #d4aca2;
122
- --tui-chart-categorical-18: #9d6f64;
123
- --tui-chart-categorical-19: #d2e9a2;
124
- --tui-chart-categorical-20: #aadc42;
125
- --tui-chart-categorical-21: #3682db;
126
- --tui-chart-categorical-22: #34b41f;
127
- // Shadows
128
- --tui-shadow-small: 0 0.25rem 1.25rem rgba(0, 0, 0, 0.1);
129
- --tui-shadow-small-hover: 0 1rem 2.5rem rgba(0, 0, 0, 0.14);
130
- --tui-shadow-medium: 0 0.375rem 2rem rgba(0, 0, 0, 0.12);
131
- --tui-shadow-medium-hover: 0 1.25rem 4rem rgba(0, 0, 0, 0.18);
132
- --tui-shadow-popup: 0 1.25rem 3rem rgba(0, 0, 0, 0.2);
133
- }
1
+ @import '../mixins/theme/palette.less';
134
2
 
135
3
  @media screen {
136
4
  [tuiTheme='dark'] {
137
5
  color-scheme: dark;
138
6
 
139
- .dark();
7
+ .tui-theme-dark();
140
8
  }
141
9
 
142
10
  [tuiTheme='light'] {
@@ -146,7 +14,7 @@
146
14
  &:root,
147
15
  :host,
148
16
  [tuiTheme='light'] {
149
- .light();
17
+ .tui-theme-light();
150
18
  }
151
19
  }
152
20
 
@@ -156,6 +24,6 @@
156
24
  [tuiTheme] {
157
25
  color-scheme: light;
158
26
 
159
- .light();
27
+ .tui-theme-light();
160
28
  }
161
29
  }
@@ -1,69 +1,13 @@
1
1
  @import (inline, once) '@taiga-ui/design-tokens/palette/animation.css';
2
2
  @import (inline, once) '@taiga-ui/design-tokens/palette/shadow.css';
3
3
 
4
+ @import '../mixins/theme/variables.less';
5
+
4
6
  &:root,
5
7
  &:host {
6
- // Fonts
7
- --tui-typography-family-text: 'Manrope', system-ui, sans-serif;
8
- --tui-typography-family-display: 'Manrope', system-ui, sans-serif;
9
- --tui-font-offset: calc(var(--t-font-offset, 0) * 1px);
10
- --tui-font-scale: calc((22 + var(--t-font-offset, 0)) / 22);
11
- // Heading
12
- --tui-typography-heading-h1: bold calc(var(--tui-font-offset) + 3.125rem) / calc(56 / 50) var(--tui-typography-family-display);
13
- --tui-typography-heading-h2: bold calc(var(--tui-font-offset) + 2.75rem) / calc(48 / 44) var(--tui-typography-family-display);
14
- --tui-typography-heading-h3: bold calc(var(--tui-font-offset) + 2.25rem) / calc(40 / 36) var(--tui-typography-family-display);
15
- --tui-typography-heading-h4: bold calc(var(--tui-font-offset) + 1.75rem) / calc(32 / 28) var(--tui-typography-family-display);
16
- --tui-typography-heading-h5: bold calc(var(--tui-font-offset) + 1.5rem) / calc(28 / 24) var(--tui-typography-family-display);
17
- --tui-typography-heading-h6: bold calc(var(--tui-font-offset) + 1.25rem) / calc(24 / 20) var(--tui-typography-family-display);
18
- // Body
19
- --tui-typography-body-l: normal calc(var(--tui-font-offset) + 1.0625rem) / calc(28 / 17) var(--tui-typography-family-text);
20
- --tui-typography-body-m: normal calc(var(--tui-font-offset) + 1rem) / calc(24 / 16) var(--tui-typography-family-text);
21
- --tui-typography-body-s: normal calc(var(--tui-font-offset) + 0.875rem) / calc(20 / 14) var(--tui-typography-family-text);
22
- --tui-typography-body-xs: normal calc(var(--tui-font-offset) + 0.75rem) / calc(16 / 12) var(--tui-typography-family-text);
23
- // Reduced
24
- --tui-typography-ui-l: normal calc(var(--tui-font-offset) + 1.0625rem) / calc(24 / 17) var(--tui-typography-family-text);
25
- --tui-typography-ui-m: normal calc(var(--tui-font-offset) + 1rem) / calc(20 / 16) var(--tui-typography-family-text);
26
- --tui-typography-ui-s: normal calc(var(--tui-font-offset) + 0.875rem) / calc(16 / 14) var(--tui-typography-family-text);
27
- --tui-typography-ui-xs: normal calc(var(--tui-font-offset) + 0.75rem) / calc(15 / 12) var(--tui-typography-family-text);
28
- --tui-typography-ui-2xs: normal calc(var(--tui-font-offset) + 0.6875rem) / calc(12 / 11) var(--tui-typography-family-text);
29
- // Radii
30
- --tui-radius-xs: 0.25rem;
31
- --tui-radius-s: 0.5rem;
32
- --tui-radius-m: 0.625rem;
33
- --tui-radius-l: 0.75rem;
34
- --tui-radius-xl: 1.5rem;
35
- // Sizes
36
- --tui-height-xs: 1.5rem;
37
- --tui-height-s: 2rem;
38
- --tui-height-m: 2.75rem;
39
- --tui-height-l: 3.5rem;
40
- // Input padding
41
- --tui-padding-s: 0.625rem;
42
- --tui-padding-m: 0.75rem;
43
- --tui-padding-l: 1rem;
44
- // Misc
45
- --tui-stroke-width: 0.125rem;
46
- --tui-duration: 0.3s;
47
- --tui-disabled-opacity: 0.56;
48
- --tui-lh: 1.4em;
49
- // logical
50
- --tui-inline-start: left;
51
- --tui-inline-end: right;
52
- --tui-inline: 1;
53
-
54
- @supports (font-size: 1lh) {
55
- --tui-lh: 1lh;
56
- }
57
-
58
- // TODO: drop in v6
59
- --tui-duration-slowest: calc(var(--tui-duration) / 0.429);
60
- --tui-duration-slow: calc(var(--tui-duration) / 0.6);
61
- --tui-duration-fast: calc(var(--tui-duration) / 2);
62
- --tui-duration-fastest: calc(var(--tui-duration) / 4);
8
+ .tui-theme-variables();
63
9
  }
64
10
 
65
11
  [dir='rtl'] {
66
- --tui-inline-start: right;
67
- --tui-inline-end: left;
68
- --tui-inline: -1;
12
+ .tui-theme-rtl();
69
13
  }