@taiga-ui/styles 4.71.1 → 5.0.0-canary.2da416d

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 (71) hide show
  1. package/components/appearance.less +51 -0
  2. package/components/avatar.less +192 -0
  3. package/components/badge.less +127 -0
  4. package/components/block.less +118 -0
  5. package/components/button.less +135 -0
  6. package/components/checkbox.less +84 -0
  7. package/components/chip.less +131 -0
  8. package/components/comment.less +63 -0
  9. package/components/compass.less +49 -0
  10. package/components/group.less +172 -0
  11. package/components/icon.less +83 -0
  12. package/components/icons.less +79 -0
  13. package/components/label.less +51 -0
  14. package/components/like.less +67 -0
  15. package/components/link.less +69 -0
  16. package/components/message.less +33 -0
  17. package/components/notification.less +181 -0
  18. package/components/pin.less +164 -0
  19. package/components/progress-bar.less +117 -0
  20. package/components/radio.less +59 -0
  21. package/components/status.less +40 -0
  22. package/components/switch.less +104 -0
  23. package/components/textfield.less +362 -0
  24. package/components/title.less +80 -0
  25. package/components/toast.less +44 -0
  26. package/mixins/appearance.less +56 -0
  27. package/mixins/appearance.scss +57 -0
  28. package/mixins/browsers.less +23 -0
  29. package/mixins/browsers.scss +23 -0
  30. package/mixins/date-picker.less +152 -0
  31. package/mixins/date-picker.scss +152 -0
  32. package/mixins/miscellaneous.less +168 -0
  33. package/mixins/miscellaneous.scss +162 -0
  34. package/mixins/slider.less +67 -0
  35. package/mixins/slider.scss +67 -0
  36. package/package.json +9 -2
  37. package/taiga-ui-fonts.less +4 -0
  38. package/taiga-ui-theme.less +4 -0
  39. package/theme/appearance/accent.less +14 -0
  40. package/theme/appearance/action.less +38 -0
  41. package/theme/appearance/flat.less +23 -0
  42. package/theme/appearance/floating.less +21 -0
  43. package/theme/appearance/glass.less +30 -0
  44. package/theme/appearance/outline.less +78 -0
  45. package/theme/appearance/primary.less +48 -0
  46. package/theme/appearance/secondary.less +77 -0
  47. package/theme/appearance/status.less +125 -0
  48. package/theme/appearance/table.less +68 -0
  49. package/theme/appearance/textfield.less +80 -0
  50. package/theme/appearance.less +12 -0
  51. package/theme/palette.less +161 -0
  52. package/theme/variables.less +71 -0
  53. package/utils.less +6 -0
  54. package/utils.scss +6 -0
  55. package/variables/media.less +23 -0
  56. package/variables/media.scss +23 -0
  57. package/basic/keyframes.less +0 -19
  58. package/basic/main.less +0 -80
  59. package/markup/tui-container.less +0 -64
  60. package/markup/tui-form.less +0 -145
  61. package/markup/tui-island.less +0 -200
  62. package/markup/tui-list.less +0 -136
  63. package/markup/tui-mobile-only.less +0 -5
  64. package/markup/tui-required.less +0 -13
  65. package/markup/tui-row.less +0 -139
  66. package/markup/tui-skeleton.less +0 -43
  67. package/markup/tui-space.less +0 -52
  68. package/markup/tui-table.less +0 -184
  69. package/markup/tui-text.less +0 -61
  70. package/project.json +0 -35
  71. package/taiga-ui-global.less +0 -14
@@ -0,0 +1,80 @@
1
+ @import '../../utils.less';
2
+
3
+ [tuiAppearance][data-appearance='textfield'] {
4
+ .transition(~'box-shadow, background-color, outline-color, border-color, color');
5
+
6
+ --t-shadow: 0 0.125rem 0.1875rem rgba(0, 0, 0, 0.1);
7
+
8
+ background-color: var(--tui-background-base);
9
+ color: var(--tui-text-tertiary);
10
+ box-shadow: var(--t-shadow);
11
+ outline: 1px solid var(--tui-border-normal);
12
+ outline-offset: -1px;
13
+ border-width: 0;
14
+
15
+ &:is(input, textarea, select) {
16
+ color: var(--tui-text-primary) !important;
17
+ }
18
+
19
+ &::before,
20
+ &::after {
21
+ transition-property: transform;
22
+ }
23
+
24
+ &:not([data-mode~='readonly']) {
25
+ .appearance-hover({
26
+ --t-shadow: 0 0.125rem 0.3125rem rgba(0, 0, 0, 0.16);
27
+ color: var(--tui-text-secondary);
28
+ });
29
+ }
30
+
31
+ .appearance-focus({
32
+ box-shadow: none;
33
+ outline: 0.125rem solid var(--tui-background-accent-1);
34
+ outline-offset: -0.125rem;
35
+ });
36
+
37
+ .appearance-disabled({
38
+ box-shadow: none;
39
+ });
40
+
41
+ .appearance-invalid({
42
+ outline-color: var(--tui-status-negative);
43
+ });
44
+
45
+ &[data-mode~='readonly'],
46
+ &[data-state='disabled'],
47
+ &:disabled,
48
+ &._disabled {
49
+ background: transparent !important;
50
+ box-shadow: none !important;
51
+ outline-color: var(--tui-border-normal) !important;
52
+ }
53
+
54
+ [tuiInput][chrome-autofilled], /* Chrome on IOS */
55
+ [tuiInput]:-webkit-autofill {
56
+ -webkit-text-fill-color: var(--tui-text-primary) !important;
57
+ caret-color: var(--tui-text-primary) !important;
58
+ box-shadow: 0 0 0 100rem var(--tui-service-autofill-background) inset !important;
59
+ transition: background-color 600000s 0s;
60
+ clip-path: inset(0.125rem round calc(var(--tui-radius-m) - 0.125rem));
61
+ }
62
+
63
+ &[data-size='l'] [tuiInput][chrome-autofilled], /* Chrome on IOS */
64
+ &[data-size='l'] [tuiInput]:-webkit-autofill {
65
+ clip-path: inset(0.125rem round calc(var(--tui-radius-l) - 0.125rem));
66
+ }
67
+ }
68
+
69
+ [tuiTheme='dark'] [tuiAppearance][data-appearance='textfield'],
70
+ [tuiTheme='dark'][tuiAppearance][data-appearance='textfield'] {
71
+ background-color: var(--tui-background-neutral-1);
72
+
73
+ .appearance-hover({
74
+ background-color: var(--tui-background-neutral-1-hover);
75
+ });
76
+
77
+ .appearance-focus({
78
+ background-color: transparent !important;
79
+ });
80
+ }
@@ -0,0 +1,12 @@
1
+ @import 'appearance/accent.less';
2
+ @import 'appearance/action.less';
3
+ @import 'appearance/flat.less';
4
+ @import 'appearance/floating.less';
5
+ @import 'appearance/glass.less';
6
+ @import 'appearance/outline.less';
7
+ @import 'appearance/primary.less';
8
+ @import 'appearance/secondary.less';
9
+ @import 'appearance/status.less';
10
+ @import 'appearance/table.less';
11
+ // Do not add it, we need it separately in proprietary theme
12
+ // @import 'appearance/textfield.less';
@@ -0,0 +1,161 @@
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: rgba(255, 140, 103, 1);
24
+ --tui-status-negative-pale: rgba(244, 87, 37, 0.32);
25
+ --tui-status-negative-pale-hover: rgba(244, 87, 37, 0.4);
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: #ff8c67;
45
+ --tui-text-negative-hover: #bb593a;
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: rgba(244, 87, 37, 1);
79
+ --tui-status-negative-pale: rgba(244, 87, 37, 0.12);
80
+ --tui-status-negative-pale-hover: rgba(244, 87, 37, 0.24);
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: #dd4c1e;
102
+ --tui-text-negative-hover: #e38163;
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
+ }
134
+
135
+ @media screen {
136
+ [tuiTheme='dark'] {
137
+ color-scheme: dark;
138
+
139
+ .dark();
140
+ }
141
+
142
+ [tuiTheme='light'] {
143
+ color-scheme: light;
144
+ }
145
+
146
+ &:root,
147
+ :host,
148
+ [tuiTheme='light'] {
149
+ .light();
150
+ }
151
+ }
152
+
153
+ @media print {
154
+ &:root,
155
+ :host,
156
+ [tuiTheme] {
157
+ color-scheme: light;
158
+
159
+ .light();
160
+ }
161
+ }
@@ -0,0 +1,71 @@
1
+ @import (inline, once) '@taiga-ui/design-tokens/palette/animation.css';
2
+ @import (inline, once) '@taiga-ui/design-tokens/palette/shadow.css';
3
+
4
+ &:root,
5
+ &: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: ~'0rem';
10
+ // Heading
11
+ --tui-typography-heading-h1: bold calc(var(--tui-font-offset) + 3.125rem) / calc(50 / 56)
12
+ var(--tui-typography-family-display);
13
+ --tui-typography-heading-h2: bold calc(var(--tui-font-offset) + 2.75rem) / calc(48 / 44)
14
+ var(--tui-typography-family-display);
15
+ --tui-typography-heading-h3: bold calc(var(--tui-font-offset) + 2.25rem) / calc(40 / 36)
16
+ var(--tui-typography-family-display);
17
+ --tui-typography-heading-h4: bold calc(var(--tui-font-offset) + 1.75rem) / calc(32 / 28)
18
+ var(--tui-typography-family-display);
19
+ --tui-typography-heading-h5: bold calc(var(--tui-font-offset) + 1.5rem) / calc(28 / 24)
20
+ var(--tui-typography-family-display);
21
+ --tui-typography-heading-h6: bold calc(var(--tui-font-offset) + 1.25rem) / calc(24 / 20)
22
+ var(--tui-typography-family-display);
23
+ // Body
24
+ --tui-typography-body-l: normal calc(var(--tui-font-offset) + 1.0625rem) / calc(28 / 17)
25
+ var(--tui-typography-family-text);
26
+ --tui-typography-body-m: normal calc(var(--tui-font-offset) + 1rem) / calc(24 / 16)
27
+ var(--tui-typography-family-text);
28
+ --tui-typography-body-s: normal calc(var(--tui-font-offset) + 0.875rem) / calc(20 / 14)
29
+ var(--tui-typography-family-text);
30
+ --tui-typography-body-xs: normal calc(var(--tui-font-offset) + 0.6875rem) / calc(16 / 11)
31
+ var(--tui-typography-family-text);
32
+ // Reduced
33
+ --tui-typography-ui-l: normal calc(var(--tui-font-offset) + 1.0625rem) / calc(24 / 17)
34
+ var(--tui-typography-family-text);
35
+ --tui-typography-ui-m: normal calc(var(--tui-font-offset) + 1rem) / calc(20 / 16) var(--tui-typography-family-text);
36
+ --tui-typography-ui-s: normal calc(var(--tui-font-offset) + 0.875rem) / calc(16 / 14)
37
+ var(--tui-typography-family-text);
38
+ --tui-typography-ui-xs: normal calc(var(--tui-font-offset) + 0.75rem) / calc(15 / 12)
39
+ var(--tui-typography-family-text);
40
+ --tui-typography-ui-2xs: normal calc(var(--tui-font-offset) + 0.6875rem) / calc(12 / 11)
41
+ var(--tui-typography-family-text);
42
+ // Radii
43
+ --tui-radius-xs: 0.25rem;
44
+ --tui-radius-s: 0.5rem;
45
+ --tui-radius-m: 0.625rem;
46
+ --tui-radius-l: 0.75rem;
47
+ --tui-radius-xl: 1.5rem;
48
+ // Sizes
49
+ --tui-height-xs: 1.5rem;
50
+ --tui-height-s: 2rem;
51
+ --tui-height-m: 2.75rem;
52
+ --tui-height-l: 3.5rem;
53
+ // Input padding
54
+ --tui-padding-s: 0.625rem;
55
+ --tui-padding-m: 0.75rem;
56
+ --tui-padding-l: 1rem;
57
+ // Misc
58
+ --tui-stroke-width: 0.125rem;
59
+ --tui-duration: 0.3s;
60
+ --tui-disabled-opacity: 0.56;
61
+ // logical
62
+ --tui-inline-start: left;
63
+ --tui-inline-end: right;
64
+ --tui-inline: 1;
65
+ }
66
+
67
+ [dir='rtl'] {
68
+ --tui-inline-start: right;
69
+ --tui-inline-end: left;
70
+ --tui-inline: -1;
71
+ }
package/utils.less ADDED
@@ -0,0 +1,6 @@
1
+ @import 'mixins/browsers.less';
2
+ @import 'mixins/date-picker.less';
3
+ @import 'mixins/miscellaneous.less';
4
+ @import 'mixins/slider.less';
5
+ @import 'mixins/appearance.less';
6
+ @import 'variables/media.less';
package/utils.scss ADDED
@@ -0,0 +1,6 @@
1
+ @import 'mixins/browsers';
2
+ @import 'mixins/date-picker';
3
+ @import 'mixins/miscellaneous';
4
+ @import 'mixins/slider';
5
+ @import 'mixins/appearance';
6
+ @import 'variables/media';
@@ -0,0 +1,23 @@
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: 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
+
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
+
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
+
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
+
18
+ @tui-desktop-lg-min: ~'screen and (min-width: 1280px)';
19
+
20
+ @tui-touch: ~'(hover: none) and (pointer: coarse)';
21
+ @tui-stylus: ~'(hover: none) and (pointer: fine)';
22
+ @tui-pointer: ~'(hover: hover) and (pointer: coarse)';
23
+ @tui-mouse: ~'(hover: hover) and (pointer: fine)';
@@ -0,0 +1,23 @@
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: 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
+
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
+
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
+
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
+
18
+ $tui-desktop-lg-min: 'screen and (min-width: 1280px)';
19
+
20
+ $tui-touch: '(hover: none) and (pointer: coarse)';
21
+ $tui-stylus: '(hover: none) and (pointer: fine)';
22
+ $tui-pointer: '(hover: hover) and (pointer: coarse)';
23
+ $tui-mouse: '(hover: hover) and (pointer: fine)';
@@ -1,19 +0,0 @@
1
- @keyframes tuiReveal {
2
- from {
3
- transform: scale(0);
4
- }
5
-
6
- to {
7
- transform: scale(1);
8
- }
9
- }
10
-
11
- @keyframes tuiFadeIn {
12
- from {
13
- opacity: var(--tui-fade-start, 0);
14
- }
15
-
16
- to {
17
- opacity: var(--tui-fade-end, 1);
18
- }
19
- }
package/basic/main.less DELETED
@@ -1,80 +0,0 @@
1
- html {
2
- block-size: 100%;
3
- /* stylelint-disable-next-line */
4
- font-size: 16px;
5
- }
6
-
7
- body {
8
- block-size: 100%;
9
- min-block-size: 100%;
10
- text-rendering: optimizeLegibility;
11
- -webkit-font-smoothing: antialiased;
12
- -moz-osx-font-smoothing: grayscale;
13
- }
14
-
15
- html,
16
- body {
17
- -webkit-overflow-scrolling: touch;
18
- }
19
-
20
- ul,
21
- ol {
22
- list-style: none;
23
- padding: 0;
24
- margin: 0;
25
- }
26
-
27
- table {
28
- border-collapse: collapse;
29
- border-spacing: 0;
30
- }
31
-
32
- input,
33
- button,
34
- select,
35
- textarea {
36
- font-family: inherit;
37
- color: inherit;
38
- }
39
-
40
- hr {
41
- margin: 0;
42
- block-size: 1px;
43
- border: none;
44
- background: var(--tui-border-normal);
45
- }
46
-
47
- iframe {
48
- border: none;
49
- }
50
-
51
- // Resolve bug with use elements in IE11
52
- // https://stackoverflow.com/questions/30653533/ie-11-crashes-when-using-dynamic-svg-elements
53
- svg use {
54
- pointer-events: none;
55
- }
56
-
57
- ::selection {
58
- background-color: var(--tui-service-selection-background);
59
- }
60
-
61
- ::-ms-clear {
62
- display: none;
63
- }
64
-
65
- ::-ms-reveal {
66
- display: none;
67
- }
68
-
69
- // @note: only safari 16+
70
- @supports (-webkit-hyphens: none) and (text-align-last: right) {
71
- /**
72
- * @descriptions:
73
- * Safari 16 has bug when for some reason,
74
- * the ::after blocks aren't removed
75
- * after the destruction of the parent class
76
- */
77
- ::after {
78
- content: none;
79
- }
80
- }
@@ -1,64 +0,0 @@
1
- // width - conscious choice
2
- /* stylelint-disable order/order */
3
- .tui-container {
4
- margin-inline-end: auto;
5
- margin-inline-start: auto;
6
-
7
- &.tui-container_adaptive {
8
- @media @tui-desktop-lg-min {
9
- inline-size: 69rem;
10
- }
11
-
12
- @media @tui-desktop {
13
- inline-size: 51.5rem;
14
- }
15
-
16
- @media @tui-mobile {
17
- inline-size: 100%;
18
- padding: 0 1rem;
19
- box-sizing: border-box;
20
- }
21
- }
22
-
23
- @media @tui-desktop-lg-min {
24
- inline-size: 69rem;
25
- }
26
-
27
- @media @tui-desktop {
28
- inline-size: 51.5rem;
29
- padding: 0 3rem;
30
- }
31
-
32
- &_menu {
33
- @media @tui-desktop-lg-min {
34
- inline-size: 69rem;
35
- }
36
-
37
- @media @tui-desktop-interval {
38
- inline-size: 51.5rem;
39
- }
40
-
41
- @media @tui-mobile {
42
- inline-size: auto;
43
- padding: 0 1rem;
44
- box-sizing: border-box;
45
- }
46
- }
47
-
48
- &_fullwidth {
49
- inline-size: auto;
50
- padding: 0 1.5rem;
51
-
52
- @media @tui-mobile {
53
- padding: 0 1rem;
54
- box-sizing: border-box;
55
- }
56
- }
57
-
58
- &_fixed {
59
- @media @tui-desktop {
60
- inline-size: 69rem;
61
- }
62
- }
63
- }
64
- /* stylelint-enable order/order */
@@ -1,145 +0,0 @@
1
- @fields-space: 1.25rem;
2
- @fields-space-mobile: 1rem;
3
- @fields-space-large: 2rem;
4
- @fields-space-large-mobile: 1.5rem;
5
-
6
- .tui-form {
7
- /* stylelint-disable */
8
- &__header {
9
- font: var(--tui-font-heading-5);
10
- margin-block-start: @fields-space-large;
11
- margin-block-end: @fields-space;
12
-
13
- @media @tui-mobile {
14
- font: var(--tui-font-text-l);
15
- font-weight: bold;
16
- margin-block-end: @fields-space-mobile;
17
- }
18
-
19
- &_margin-top_none, // TODO: drop in v5
20
- &_margin-block-start_none {
21
- margin-block-start: 0;
22
- }
23
-
24
- &_margin-bottom_none, // TODO: drop in v5
25
- &_margin-block-end_none {
26
- margin-block-end: 0;
27
- }
28
-
29
- &_margin-bottom_small, // TODO: drop in v5
30
- &_margin-block-end_small {
31
- margin-block-end: @fields-space - 0.25rem;
32
-
33
- @media @tui-mobile {
34
- margin-block-end: @fields-space-mobile - 0.25rem;
35
- }
36
- }
37
- }
38
- /* stylelint-enable */
39
-
40
- &__row {
41
- margin-block-start: @fields-space;
42
-
43
- &:first-child {
44
- margin-block-start: 0;
45
- }
46
-
47
- &_multi-fields {
48
- display: flex;
49
-
50
- @media @tui-mobile {
51
- flex-wrap: wrap;
52
- }
53
- }
54
-
55
- &_half-width {
56
- inline-size: ~'calc(50% - (@{fields-space} / 2))';
57
-
58
- @media @tui-mobile {
59
- inline-size: 100%;
60
- }
61
- }
62
-
63
- &_checkboxes {
64
- display: flex;
65
- flex-wrap: wrap;
66
- }
67
-
68
- @media @tui-mobile {
69
- margin-block-start: @fields-space-mobile;
70
- }
71
- }
72
-
73
- &__multi-field {
74
- flex: 1 1 0;
75
- min-inline-size: 0;
76
- margin-inline-start: @fields-space;
77
-
78
- &:first-child {
79
- margin-inline-start: 0;
80
- }
81
-
82
- @media @tui-mobile {
83
- flex-basis: 100%;
84
- margin-block-start: @fields-space-mobile;
85
- margin-inline-start: 0;
86
-
87
- &:first-child {
88
- margin-block-start: 0;
89
- }
90
- }
91
- }
92
-
93
- &__field-note {
94
- font: var(--tui-font-text-s);
95
- margin-block-start: 0.25rem;
96
- color: var(--tui-text-secondary);
97
- }
98
-
99
- &__field-checkbox {
100
- margin-block-start: 0.5rem;
101
- }
102
-
103
- &__checkbox {
104
- flex: ~'1 1 calc(50% - 0.625rem)';
105
-
106
- &:nth-child(even) {
107
- margin-inline-start: 1.25rem;
108
- }
109
-
110
- &:nth-child(n + 3) {
111
- margin-block-start: 1rem;
112
- }
113
- }
114
-
115
- &__buttons {
116
- display: flex;
117
- margin-block-start: @fields-space-large;
118
-
119
- &_align_end {
120
- justify-content: flex-end;
121
- }
122
-
123
- &_align_center {
124
- justify-content: center;
125
- }
126
-
127
- @media @tui-mobile {
128
- flex-direction: column;
129
- margin-block-start: @fields-space-large-mobile;
130
- }
131
- }
132
-
133
- &__button {
134
- margin-inline-start: 0.75rem;
135
-
136
- &:first-child {
137
- margin-inline-start: 0;
138
- }
139
-
140
- @media @tui-mobile {
141
- margin-block-start: 0.5rem;
142
- margin-inline-start: 0;
143
- }
144
- }
145
- }