@taiga-ui/styles 3.0.0-rc.1

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,29 @@
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: 0;
14
+ }
15
+
16
+ to {
17
+ opacity: 1;
18
+ }
19
+ }
20
+
21
+ @keyframes tuiSkeletonVibe {
22
+ from {
23
+ opacity: 1;
24
+ }
25
+
26
+ to {
27
+ opacity: 0.5;
28
+ }
29
+ }
@@ -0,0 +1,73 @@
1
+ html {
2
+ height: 100%;
3
+ /* stylelint-disable-next-line */
4
+ font-size: 16px;
5
+ }
6
+
7
+ body {
8
+ .text-basic();
9
+ height: 100%;
10
+ min-height: 100%;
11
+ text-rendering: optimizeLegibility;
12
+ -webkit-font-smoothing: antialiased;
13
+ -moz-osx-font-smoothing: grayscale;
14
+ }
15
+
16
+ html,
17
+ body {
18
+ -webkit-overflow-scrolling: touch;
19
+ }
20
+
21
+ ul,
22
+ ol {
23
+ list-style: none;
24
+ padding: 0;
25
+ margin: 0;
26
+ }
27
+
28
+ table {
29
+ border-collapse: collapse;
30
+ border-spacing: 0;
31
+ }
32
+
33
+ input,
34
+ button,
35
+ select,
36
+ textarea {
37
+ font-family: inherit;
38
+ color: inherit;
39
+ }
40
+
41
+ hr {
42
+ margin: 0;
43
+ height: 1px;
44
+ border: none;
45
+ background: var(--tui-base-03);
46
+ }
47
+
48
+ iframe {
49
+ border: none;
50
+ }
51
+
52
+ // Resolve bug with use elements in IE11
53
+ // https://stackoverflow.com/questions/30653533/ie-11-crashes-when-using-dynamic-svg-elements
54
+ svg use {
55
+ pointer-events: none;
56
+ }
57
+
58
+ html,
59
+ .tui-zero-scrollbar {
60
+ .scrollbar-hidden();
61
+ }
62
+
63
+ ::selection {
64
+ background-color: var(--tui-selection);
65
+ }
66
+
67
+ ::-ms-clear {
68
+ display: none;
69
+ }
70
+
71
+ ::-ms-reveal {
72
+ display: none;
73
+ }
@@ -0,0 +1,64 @@
1
+ // width - conscious choice
2
+ /* stylelint-disable order/order */
3
+ .tui-container {
4
+ margin-right: auto;
5
+ margin-left: auto;
6
+
7
+ &.tui-container_adaptive {
8
+ @media @tui-desktop-lg-min {
9
+ width: 69rem;
10
+ }
11
+
12
+ @media @tui-desktop {
13
+ width: 51.5rem;
14
+ }
15
+
16
+ @media @tui-mobile {
17
+ width: 100%;
18
+ padding: 0 1rem;
19
+ box-sizing: border-box;
20
+ }
21
+ }
22
+
23
+ @media @tui-desktop-lg-min {
24
+ width: 69rem;
25
+ }
26
+
27
+ @media @tui-desktop {
28
+ width: 51.5rem;
29
+ padding: 0 3rem;
30
+ }
31
+
32
+ &_menu {
33
+ @media @tui-desktop-lg-min {
34
+ width: 69rem;
35
+ }
36
+
37
+ @media @tui-desktop-interval {
38
+ width: 51.5rem;
39
+ }
40
+
41
+ @media @tui-mobile {
42
+ width: auto;
43
+ padding: 0 1rem;
44
+ box-sizing: border-box;
45
+ }
46
+ }
47
+
48
+ &_fullwidth {
49
+ width: 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
+ width: 69rem;
61
+ }
62
+ }
63
+ }
64
+ /* stylelint-enable order/order */
@@ -0,0 +1,142 @@
1
+ @fields-space: @space * 5;
2
+ @fields-space-mobile: @space * 4;
3
+ @fields-space-large: @space * 8;
4
+ @fields-space-large-mobile: @space * 6;
5
+
6
+ .tui-form {
7
+ /* stylelint-disable */
8
+ &__header {
9
+ font: var(--tui-font-heading-5);
10
+ margin-top: @fields-space-large;
11
+ margin-bottom: @fields-space;
12
+
13
+ @media @tui-mobile {
14
+ font: var(--tui-font-text-l);
15
+ font-weight: bold;
16
+ margin-bottom: @fields-space-mobile;
17
+ }
18
+
19
+ &_margin-top_none {
20
+ margin-top: 0;
21
+ }
22
+
23
+ &_margin-bottom_none {
24
+ margin-bottom: 0;
25
+ }
26
+
27
+ &_margin-bottom_small {
28
+ margin-bottom: @fields-space - @space;
29
+
30
+ @media @tui-mobile {
31
+ margin-bottom: @fields-space-mobile - @space;
32
+ }
33
+ }
34
+ }
35
+ /* stylelint-enable */
36
+
37
+ &__row {
38
+ margin-top: @fields-space;
39
+
40
+ &:first-child {
41
+ margin-top: 0;
42
+ }
43
+
44
+ &_multi-fields {
45
+ display: flex;
46
+
47
+ @media @tui-mobile {
48
+ flex-wrap: wrap;
49
+ }
50
+ }
51
+
52
+ &_half-width {
53
+ width: ~'calc(50% - (@{fields-space} / 2))';
54
+
55
+ @media @tui-mobile {
56
+ width: 100%;
57
+ }
58
+ }
59
+
60
+ &_checkboxes {
61
+ display: flex;
62
+ flex-wrap: wrap;
63
+ }
64
+
65
+ @media @tui-mobile {
66
+ margin-top: @fields-space-mobile;
67
+ }
68
+ }
69
+
70
+ &__multi-field {
71
+ flex: 1 1 0;
72
+ min-width: 0;
73
+ margin-left: @fields-space;
74
+
75
+ &:first-child {
76
+ margin-left: 0;
77
+ }
78
+
79
+ @media @tui-mobile {
80
+ flex-basis: 100%;
81
+ margin-top: @fields-space-mobile;
82
+ margin-left: 0;
83
+
84
+ &:first-child {
85
+ margin-top: 0;
86
+ }
87
+ }
88
+ }
89
+
90
+ &__field-note {
91
+ font: var(--tui-font-text-s);
92
+ margin-top: @space;
93
+ color: var(--tui-text-02);
94
+ }
95
+
96
+ &__field-checkbox {
97
+ margin-top: @space * 2;
98
+ }
99
+
100
+ &__checkbox {
101
+ flex: ~'1 1 calc(50% - 0.625rem)';
102
+
103
+ &:nth-child(even) {
104
+ margin-left: 1.25rem;
105
+ }
106
+
107
+ &:nth-child(n + 3) {
108
+ margin-top: 1rem;
109
+ }
110
+ }
111
+
112
+ &__buttons {
113
+ display: flex;
114
+ margin-top: @fields-space-large;
115
+
116
+ &_align_end {
117
+ justify-content: flex-end;
118
+ }
119
+
120
+ &_align_center {
121
+ justify-content: center;
122
+ }
123
+
124
+ @media @tui-mobile {
125
+ flex-direction: column;
126
+ margin-top: @fields-space-large-mobile;
127
+ }
128
+ }
129
+
130
+ &__button {
131
+ margin-left: @space * 3;
132
+
133
+ &:first-child {
134
+ margin-left: 0;
135
+ }
136
+
137
+ @media @tui-mobile {
138
+ margin-top: @space * 2;
139
+ margin-left: 0;
140
+ }
141
+ }
142
+ }
@@ -0,0 +1,178 @@
1
+ @padding: 1rem;
2
+ @padding-large: 1.25rem;
3
+
4
+ .tui-island {
5
+ position: relative;
6
+ border-radius: var(--tui-radius-l);
7
+ background-color: var(--tui-base-01);
8
+ word-wrap: break-word;
9
+ text-decoration: none;
10
+ color: var(--tui-text-01);
11
+ outline: none;
12
+ box-sizing: content-box;
13
+
14
+ &:not(&_hoverable):before {
15
+ .fullsize();
16
+ content: '';
17
+ box-sizing: border-box;
18
+ border: 1px solid var(--tui-base-03);
19
+ border-radius: inherit;
20
+ pointer-events: none;
21
+ }
22
+
23
+ &:after {
24
+ content: '';
25
+ display: table;
26
+ clear: both;
27
+ }
28
+
29
+ &:focus,
30
+ &:hover:focus {
31
+ &:before {
32
+ border-color: var(--tui-focus);
33
+ }
34
+ }
35
+
36
+ &_transparent {
37
+ background-color: transparent;
38
+ }
39
+
40
+ &_hoverable {
41
+ .hoverable-with-shadow();
42
+ background: var(--tui-elevation-02);
43
+ }
44
+
45
+ &_size_s {
46
+ font: var(--tui-font-text-s);
47
+ padding: @padding;
48
+ }
49
+
50
+ &_size_m {
51
+ font: var(--tui-font-text-m);
52
+ padding: @padding;
53
+ }
54
+
55
+ &_size_l {
56
+ font: var(--tui-font-text-m);
57
+ padding: @padding-large;
58
+ }
59
+
60
+ &_text-align_left {
61
+ text-align: left;
62
+ }
63
+
64
+ &_text-align_center {
65
+ text-align: center;
66
+ }
67
+
68
+ &_text-align_right {
69
+ text-align: right;
70
+ }
71
+
72
+ &__content {
73
+ display: flex;
74
+ justify-content: space-between;
75
+
76
+ .tui-island_text-align_center & {
77
+ display: block;
78
+ }
79
+
80
+ & > * {
81
+ min-width: 0;
82
+ }
83
+ }
84
+
85
+ &__category {
86
+ font-size: 0.6875rem;
87
+ line-height: 1rem;
88
+ text-transform: uppercase;
89
+ letter-spacing: 0.075em;
90
+ margin: 0 0 @space * 2;
91
+ color: var(--tui-text-02);
92
+
93
+ .tui-island_size_l & {
94
+ margin: 0 0 @space * 3;
95
+ }
96
+ }
97
+
98
+ &__title {
99
+ font: var(--tui-font-text-m);
100
+ margin: 0 0 @space * 2;
101
+
102
+ .tui-island_size_m & {
103
+ font: var(--tui-font-heading-6);
104
+ margin: 0 0 @space * 3;
105
+ }
106
+
107
+ .tui-island_size_l & {
108
+ font: var(--tui-font-heading-6);
109
+ }
110
+ }
111
+
112
+ &__paragraph {
113
+ margin: 0;
114
+ color: var(--tui-text-02);
115
+
116
+ &_link.tui-island__paragraph {
117
+ margin-top: @space * 4;
118
+
119
+ .tui-island_size_l & {
120
+ margin: @space * 4 0 0;
121
+ }
122
+ }
123
+
124
+ &_button.tui-island__paragraph {
125
+ margin-top: @space * 5;
126
+
127
+ .tui-island_size_l & {
128
+ margin: @space * 5 0 0;
129
+ }
130
+ }
131
+ }
132
+
133
+ &__figure {
134
+ display: flex;
135
+ justify-content: center;
136
+ order: 1;
137
+ flex-shrink: 0;
138
+ margin: 0 0 0 @space * 4;
139
+
140
+ .tui-island_size_l & {
141
+ margin-left: @space * 9;
142
+ }
143
+
144
+ .tui-island_text-align_center & {
145
+ margin: 0 0 @space * 3 0;
146
+ }
147
+ }
148
+
149
+ &__carousel-controls {
150
+ display: flex;
151
+ padding-bottom: 1rem;
152
+ margin-bottom: 1rem;
153
+ border-bottom: 1px solid var(--tui-base-03);
154
+ white-space: nowrap;
155
+ }
156
+
157
+ &__carousel-pages {
158
+ margin-left: auto;
159
+ color: var(--tui-text-02);
160
+ }
161
+
162
+ &__carousel-button {
163
+ margin-right: @space * 2;
164
+ }
165
+
166
+ .tui-island &__footer-button {
167
+ display: block;
168
+ width: ~'calc(100% + 1.875rem);'; // margin compensation
169
+ margin: @padding calc(-1rem + 1px) calc(-1rem + 1px); // 1px is compensations of border
170
+ border-top: 1px solid var(--tui-base-03);
171
+ border-radius: 0 0 var(--tui-radius-l) var(--tui-radius-l);
172
+ }
173
+
174
+ .tui-island_size_l &__footer-button {
175
+ width: ~'calc(100% + 2.375rem);'; // margin compensation
176
+ margin: @padding-large calc(-1.25rem + 1px) calc(-1.25rem + 1px); // 1px is compensations of border
177
+ }
178
+ }
@@ -0,0 +1,133 @@
1
+ .tui-list {
2
+ font: var(--tui-font-text-m);
3
+ list-style-type: none;
4
+ color: var(--tui-text-01);
5
+
6
+ &_large {
7
+ font: var(--tui-font-text-l);
8
+ }
9
+
10
+ &_small,
11
+ &_extra-small {
12
+ font: var(--tui-font-text-s);
13
+ }
14
+
15
+ &_nested {
16
+ margin: 0.75rem 0 0.75rem 1.25rem;
17
+ color: var(--tui-text-02);
18
+
19
+ .tui-list_large & {
20
+ margin-left: 0.75rem;
21
+ }
22
+
23
+ .tui-list_small & {
24
+ margin-top: 0.5rem;
25
+ margin-bottom: 0.5rem;
26
+ }
27
+ }
28
+
29
+ &_ordered {
30
+ counter-reset: counter;
31
+ }
32
+
33
+ &__item {
34
+ position: relative;
35
+ padding-left: @space * 6;
36
+ word-wrap: break-word;
37
+ margin-top: @space * 3;
38
+
39
+ &:first-child {
40
+ margin-top: 0;
41
+ }
42
+
43
+ &:before {
44
+ content: '';
45
+ position: absolute;
46
+ left: 0;
47
+ top: 0.5rem;
48
+ width: 0.5rem;
49
+ height: 0.5rem;
50
+ border-radius: 100%;
51
+ background-color: var(--tui-primary);
52
+
53
+ .tui-list_large > & {
54
+ top: 0.5rem;
55
+ }
56
+
57
+ .tui-list_small > & {
58
+ top: 0.3125rem;
59
+ }
60
+ }
61
+
62
+ .tui-list_extra-small > & {
63
+ margin-top: @space * 2;
64
+ }
65
+
66
+ .tui-list_linear & {
67
+ padding-left: @space * 7;
68
+
69
+ &:before {
70
+ content: '\2014';
71
+ left: 0;
72
+ top: auto;
73
+ width: auto;
74
+ height: auto;
75
+ background-color: transparent;
76
+ }
77
+ }
78
+
79
+ .tui-list_ordered & {
80
+ padding-left: @space * 5;
81
+
82
+ &:before {
83
+ content: counter(counter) '.';
84
+ left: 0;
85
+ top: auto;
86
+ counter-increment: counter;
87
+ width: auto;
88
+ height: auto;
89
+ color: var(--tui-text-03);
90
+ background-color: transparent;
91
+ }
92
+ }
93
+
94
+ .tui-list_triangle > & {
95
+ padding-left: @space * 7;
96
+
97
+ &:before {
98
+ content: '\25E4'; // represent symbol '◤'
99
+ left: 0;
100
+ top: 1px;
101
+ width: auto;
102
+ height: auto;
103
+ background-color: transparent;
104
+ color: var(--tui-base-06);
105
+ font-size: 0.75rem;
106
+ }
107
+ }
108
+ }
109
+
110
+ &__item-title {
111
+ font: var(--tui-font-heading-5);
112
+ margin: 0;
113
+
114
+ .tui-list_small & {
115
+ line-height: 1.25rem;
116
+ font-weight: bold;
117
+ }
118
+ }
119
+
120
+ &__description {
121
+ margin: @space * 2 0 0;
122
+ color: var(--tui-text-02);
123
+
124
+ .tui-list_small & {
125
+ margin-top: @space;
126
+ }
127
+
128
+ .tui-list_large & {
129
+ line-height: 1.75rem;
130
+ margin-top: @space * 3;
131
+ }
132
+ }
133
+ }
@@ -0,0 +1,5 @@
1
+ @media not @tui-mobile {
2
+ .tui-mobile-only {
3
+ display: none !important;
4
+ }
5
+ }
@@ -0,0 +1,242 @@
1
+ // @bad TODO: 3.0 remove
2
+ [data-tui-background='primary'] {
3
+ background-color: var(--tui-primary);
4
+ }
5
+
6
+ [data-tui-background='secondary'] {
7
+ background-color: var(--tui-info-fill);
8
+ }
9
+
10
+ [data-tui-background='success'] {
11
+ background-color: var(--tui-success-fill);
12
+ }
13
+
14
+ [data-tui-background='error'] {
15
+ background-color: var(--tui-error-fill);
16
+ }
17
+
18
+ [data-tui-background='support-mustard'],
19
+ [data-tui-background='support-01'] {
20
+ background-color: var(--tui-support-01);
21
+ }
22
+
23
+ [data-tui-background='support-texas'],
24
+ [data-tui-background='support-02'] {
25
+ background-color: var(--tui-support-02);
26
+ }
27
+
28
+ [data-tui-background='support-tan'],
29
+ [data-tui-background='support-03'] {
30
+ background-color: var(--tui-support-03);
31
+ }
32
+
33
+ [data-tui-background='support-salmon'],
34
+ [data-tui-background='support-04'] {
35
+ background-color: var(--tui-support-04);
36
+ }
37
+
38
+ [data-tui-background='support-sienna'],
39
+ [data-tui-background='support-05'] {
40
+ background-color: var(--tui-support-05);
41
+ }
42
+
43
+ [data-tui-background='support-bittersweet'],
44
+ [data-tui-background='support-06'] {
45
+ background-color: var(--tui-support-06);
46
+ }
47
+
48
+ [data-tui-background='support-pinkie'],
49
+ [data-tui-background='support-07'] {
50
+ background-color: var(--tui-support-07);
51
+ }
52
+
53
+ [data-tui-background='support-charm'],
54
+ [data-tui-background='support-08'] {
55
+ background-color: var(--tui-support-08);
56
+ }
57
+
58
+ [data-tui-background='support-amethyst'],
59
+ [data-tui-background='support-09'] {
60
+ background-color: var(--tui-support-09);
61
+ }
62
+
63
+ [data-tui-background='support-helio'],
64
+ [data-tui-background='support-10'] {
65
+ background-color: var(--tui-support-10);
66
+ }
67
+
68
+ [data-tui-background='support-lilac'],
69
+ [data-tui-background='support-11'] {
70
+ background-color: var(--tui-support-11);
71
+ }
72
+
73
+ [data-tui-background='support-malibu'],
74
+ [data-tui-background='support-12'] {
75
+ background-color: var(--tui-support-12);
76
+ }
77
+
78
+ [data-tui-background='support-havelock'],
79
+ [data-tui-background='support-13'] {
80
+ background-color: var(--tui-support-13);
81
+ }
82
+
83
+ [data-tui-background='support-picton'],
84
+ [data-tui-background='support-14'] {
85
+ background-color: var(--tui-support-14);
86
+ }
87
+
88
+ [data-tui-background='support-mint'],
89
+ [data-tui-background='support-15'] {
90
+ background-color: var(--tui-support-15);
91
+ }
92
+
93
+ [data-tui-background='support-fountain'],
94
+ [data-tui-background='support-16'] {
95
+ background-color: var(--tui-support-16);
96
+ }
97
+
98
+ [data-tui-background='support-puertorico'],
99
+ [data-tui-background='support-17'] {
100
+ background-color: var(--tui-support-17);
101
+ }
102
+
103
+ [data-tui-background='support-bay'],
104
+ [data-tui-background='support-18'] {
105
+ background-color: var(--tui-support-18);
106
+ }
107
+
108
+ [data-tui-background='support-forest'],
109
+ [data-tui-background='support-19'] {
110
+ background-color: var(--tui-support-19);
111
+ }
112
+
113
+ [data-tui-background='support-york'],
114
+ [data-tui-background='support-20'] {
115
+ background-color: var(--tui-support-20);
116
+ }
117
+
118
+ [data-tui-background='support-feijoa'],
119
+ [data-tui-background='support-21'] {
120
+ background-color: var(--tui-support-21);
121
+ }
122
+
123
+ [data-tui-color='primary'] {
124
+ color: var(--tui-primary);
125
+ }
126
+
127
+ [data-tui-color='secondary'] {
128
+ color: var(--tui-info-fill);
129
+ }
130
+
131
+ [data-tui-color='success'] {
132
+ color: var(--tui-success-fill);
133
+ }
134
+
135
+ [data-tui-color='error'] {
136
+ color: var(--tui-error-fill);
137
+ }
138
+
139
+ [data-tui-color='support-mustard'],
140
+ [data-tui-color='support-01'] {
141
+ color: var(--tui-support-01);
142
+ }
143
+
144
+ [data-tui-color='support-texas'],
145
+ [data-tui-color='support-02'] {
146
+ color: var(--tui-support-02);
147
+ }
148
+
149
+ [data-tui-color='support-tan'],
150
+ [data-tui-color='support-03'] {
151
+ color: var(--tui-support-03);
152
+ }
153
+
154
+ [data-tui-color='support-salmon'],
155
+ [data-tui-color='support-04'] {
156
+ color: var(--tui-support-04);
157
+ }
158
+
159
+ [data-tui-color='support-sienna'],
160
+ [data-tui-color='support-05'] {
161
+ color: var(--tui-support-05);
162
+ }
163
+
164
+ [data-tui-color='support-bittersweet'],
165
+ [data-tui-color='support-06'] {
166
+ color: var(--tui-support-06);
167
+ }
168
+
169
+ [data-tui-color='support-pinkie'],
170
+ [data-tui-color='support-07'] {
171
+ color: var(--tui-support-07);
172
+ }
173
+
174
+ [data-tui-color='support-charm'],
175
+ [data-tui-color='support-08'] {
176
+ color: var(--tui-support-08);
177
+ }
178
+
179
+ [data-tui-color='support-amethyst'],
180
+ [data-tui-color='support-09'] {
181
+ color: var(--tui-support-09);
182
+ }
183
+
184
+ [data-tui-color='support-helio'],
185
+ [data-tui-color='support-10'] {
186
+ color: var(--tui-support-10);
187
+ }
188
+
189
+ [data-tui-color='support-lilac'],
190
+ [data-tui-color='support-11'] {
191
+ color: var(--tui-support-11);
192
+ }
193
+
194
+ [data-tui-color='support-malibu'],
195
+ [data-tui-color='support-12'] {
196
+ color: var(--tui-support-12);
197
+ }
198
+
199
+ [data-tui-color='support-havelock'],
200
+ [data-tui-color='support-13'] {
201
+ color: var(--tui-support-13);
202
+ }
203
+
204
+ [data-tui-color='support-picton'],
205
+ [data-tui-color='support-14'] {
206
+ color: var(--tui-support-14);
207
+ }
208
+
209
+ [data-tui-color='support-mint'],
210
+ [data-tui-color='support-15'] {
211
+ color: var(--tui-support-15);
212
+ }
213
+
214
+ [data-tui-color='support-fountain'],
215
+ [data-tui-color='support-16'] {
216
+ color: var(--tui-support-16);
217
+ }
218
+
219
+ [data-tui-color='support-puertorico'],
220
+ [data-tui-color='support-17'] {
221
+ color: var(--tui-support-17);
222
+ }
223
+
224
+ [data-tui-color='support-bay'],
225
+ [data-tui-color='support-18'] {
226
+ color: var(--tui-support-18);
227
+ }
228
+
229
+ [data-tui-color='support-forest'],
230
+ [data-tui-color='support-19'] {
231
+ color: var(--tui-support-19);
232
+ }
233
+
234
+ [data-tui-color='support-york'],
235
+ [data-tui-color='support-20'] {
236
+ color: var(--tui-support-20);
237
+ }
238
+
239
+ [data-tui-color='support-feijoa'],
240
+ [data-tui-color='support-21'] {
241
+ color: var(--tui-support-21);
242
+ }
@@ -0,0 +1,13 @@
1
+ .tui-required {
2
+ &:after {
3
+ content: '*';
4
+ }
5
+
6
+ &_float:after {
7
+ position: absolute;
8
+ }
9
+
10
+ &_spacing:after {
11
+ content: '\0000a0*';
12
+ }
13
+ }
@@ -0,0 +1,139 @@
1
+ @space-small: 0.5rem;
2
+ @space-normal: 1.25rem;
3
+ @space-large: 1.5rem;
4
+
5
+ /* stylelint-disable order/order */
6
+ .generate-columns(@infix, @n, @padding, @i: 1) when (@i =< @n) {
7
+ &_@{infix}-@{i} {
8
+ width: (@i * 100% / @n);
9
+ padding-left: @padding;
10
+ padding-right: @padding;
11
+ box-sizing: border-box;
12
+ }
13
+
14
+ .generate-columns(@infix, @n, @padding, (@i + 1));
15
+ }
16
+
17
+ .generate-offset-columns(@infix, @n, @i: 1) when (@i =< @n) {
18
+ &_@{infix}-@{i} {
19
+ margin-left: (@i * 100% / @n);
20
+ }
21
+
22
+ .generate-offset-columns(@infix, @n, (@i + 1));
23
+ }
24
+
25
+ .generate-sme-columns(@n, @padding, @i: 1) when (@i =< @n) {
26
+ &_@{i} {
27
+ width: (@i * 100% / @n);
28
+ padding-left: @padding;
29
+ padding-right: @padding;
30
+ box-sizing: border-box;
31
+ }
32
+
33
+ .generate-sme-columns(@n, @padding, (@i + 1));
34
+ }
35
+
36
+ .generate-sme-offset-columns(@n, @i: 1) when (@i =< @n) {
37
+ &_@{i} {
38
+ margin-left: (@i * 100% / @n);
39
+ }
40
+
41
+ .generate-sme-offset-columns(@n, (@i + 1));
42
+ }
43
+ /* stylelint-enable order/order */
44
+
45
+ .tui-row {
46
+ display: flex;
47
+ flex-wrap: wrap;
48
+
49
+ &_align_center {
50
+ align-items: center;
51
+ }
52
+
53
+ &_align_start {
54
+ align-items: flex-start;
55
+ }
56
+
57
+ &_align_end {
58
+ align-items: flex-end;
59
+ }
60
+
61
+ &_adaptive.tui-row {
62
+ @media @tui-desktop-lg-min {
63
+ margin-left: -@space-large;
64
+ margin-right: -@space-large;
65
+ }
66
+
67
+ @media @tui-desktop {
68
+ margin-left: -@space-normal;
69
+ margin-right: -@space-normal;
70
+ }
71
+
72
+ @media @tui-mobile {
73
+ margin-left: -@space-small;
74
+ margin-right: -@space-small;
75
+ }
76
+ }
77
+
78
+ &_temporary.tui-row {
79
+ margin-left: -@space-normal;
80
+ margin-right: -@space-normal;
81
+ }
82
+
83
+ @media @tui-desktop-lg-min {
84
+ margin-left: -@space-large;
85
+ margin-right: -@space-large;
86
+ }
87
+
88
+ @media @tui-desktop {
89
+ margin-left: -@space-normal;
90
+ margin-right: -@space-normal;
91
+ }
92
+ }
93
+
94
+ .tui-col {
95
+ .generate-sme-columns(12, @space-normal);
96
+ .generate-columns(md, 12, @space-normal);
97
+
98
+ &_stretch {
99
+ display: flex;
100
+ }
101
+
102
+ .tui-row_adaptive & {
103
+ @media @tui-desktop-lg-min {
104
+ .generate-columns(lg, 12, @space-large);
105
+ }
106
+
107
+ @media @tui-desktop {
108
+ .generate-columns(md, 12, @space-normal);
109
+ }
110
+
111
+ @media @tui-mobile {
112
+ .generate-columns(xs, 12, @space-small);
113
+ }
114
+ }
115
+
116
+ .tui-row_temporary & {
117
+ .generate-sme-columns(12, @space-normal);
118
+ }
119
+
120
+ @media @tui-desktop-lg-min {
121
+ .generate-sme-columns(12, @space-large);
122
+ }
123
+ }
124
+
125
+ .tui-col-offset {
126
+ .generate-sme-offset-columns(12);
127
+
128
+ @media @tui-mobile-interval {
129
+ .generate-offset-columns(xs, 12);
130
+ }
131
+
132
+ @media @tui-desktop {
133
+ .generate-offset-columns(md, 12);
134
+ }
135
+
136
+ @media @tui-desktop-lg-min {
137
+ .generate-offset-columns(lg, 12);
138
+ }
139
+ }
@@ -0,0 +1,40 @@
1
+ .tui-skeleton {
2
+ position: relative;
3
+ color: transparent !important;
4
+ background: transparent !important;
5
+ pointer-events: none;
6
+ user-select: none;
7
+
8
+ &:after {
9
+ .fullsize();
10
+ content: '';
11
+ background-color: var(--tui-clear-hover);
12
+ animation: tuiSkeletonVibe ease-in-out 1s infinite alternate;
13
+ }
14
+
15
+ &_light:after {
16
+ background-color: fade(#fff, 24%);
17
+ }
18
+
19
+ &_rounded:after {
20
+ border-radius: inherit;
21
+ }
22
+
23
+ &_short:after {
24
+ width: 40%;
25
+ }
26
+
27
+ &_center:after {
28
+ .center-left();
29
+ width: 40%;
30
+ }
31
+
32
+ &_text:before {
33
+ content: '\a0';
34
+ }
35
+
36
+ & * {
37
+ opacity: 0;
38
+ visibility: hidden;
39
+ }
40
+ }
@@ -0,0 +1,52 @@
1
+ @sizes: 16;
2
+
3
+ .generate-space(@direction, @i: 0) when (@i =< @sizes) {
4
+ .generate-space(@direction, @i + 1);
5
+
6
+ &_@{direction}-@{i} {
7
+ & when (@direction = all) {
8
+ margin: @space * @i;
9
+ }
10
+
11
+ & when (@direction = top) {
12
+ margin-top: @space * @i;
13
+ }
14
+
15
+ & when (@direction = bottom) {
16
+ margin-bottom: @space * @i;
17
+ }
18
+
19
+ & when (@direction = vertical) {
20
+ margin-top: @space * @i;
21
+ margin-bottom: @space * @i;
22
+ }
23
+
24
+ & when (@direction = left) {
25
+ margin-left: @space * @i;
26
+ }
27
+
28
+ & when (@direction = right) {
29
+ margin-right: @space * @i;
30
+ }
31
+
32
+ & when (@direction = horizontal) {
33
+ margin-right: @space * @i;
34
+ margin-left: @space * @i;
35
+ }
36
+ }
37
+ }
38
+
39
+ .tui-space {
40
+ .generate-space(all);
41
+ .generate-space(top);
42
+ .generate-space(bottom);
43
+ .generate-space(vertical);
44
+ .generate-space(left);
45
+ .generate-space(right);
46
+ .generate-space(horizontal);
47
+
48
+ &_auto {
49
+ margin-left: auto;
50
+ margin-right: auto;
51
+ }
52
+ }
@@ -0,0 +1,179 @@
1
+ @height-cell-large: 5rem;
2
+
3
+ .tui-table {
4
+ width: 100%;
5
+
6
+ &_layout_fixed {
7
+ table-layout: fixed;
8
+ }
9
+
10
+ &__tr {
11
+ .transition(background);
12
+ outline: none;
13
+
14
+ &:not(&_hover_disabled):hover {
15
+ background: var(--tui-base-02);
16
+ }
17
+
18
+ &:not(&_border_none) {
19
+ border-bottom: 1px solid var(--tui-base-03);
20
+ }
21
+
22
+ &_border_top {
23
+ border-top: 1px solid var(--tui-base-03);
24
+ }
25
+
26
+ &_cursor_pointer {
27
+ cursor: pointer;
28
+ }
29
+ }
30
+
31
+ &__th {
32
+ .text-overflow();
33
+ font: var(--tui-font-text-s);
34
+ padding: 0.5rem 1rem;
35
+ vertical-align: middle;
36
+ height: 2.5rem;
37
+ color: var(--tui-text-02);
38
+ background: inherit;
39
+
40
+ &_font-size_l,
41
+ .tui-table_font-size_l & {
42
+ font: var(--tui-font-text-m);
43
+ }
44
+ }
45
+
46
+ &__td {
47
+ font: var(--tui-font-text-m);
48
+ padding: 1rem 1rem 0.875rem;
49
+ vertical-align: top;
50
+ word-wrap: break-word;
51
+ height: 3.4375rem;
52
+ color: var(--tui-text-01);
53
+ background: inherit;
54
+
55
+ &_size_l,
56
+ .tui-table_size_l & {
57
+ height: @height-cell-large - 0.0625rem;
58
+ }
59
+
60
+ &_font-size_l,
61
+ .tui-table_font-size_l & {
62
+ font: var(--tui-font-text-l);
63
+ }
64
+
65
+ &_font-size_s,
66
+ .tui-table_font-size_s & {
67
+ font: var(--tui-font-text-s);
68
+ }
69
+
70
+ &_align_center {
71
+ vertical-align: middle;
72
+ }
73
+ }
74
+
75
+ &__td,
76
+ &__th {
77
+ box-sizing: border-box;
78
+ text-align: left;
79
+
80
+ .tui-table_size_l &:before {
81
+ width: 1rem;
82
+ border-top-left-radius: 1rem;
83
+ border-bottom-left-radius: 1rem;
84
+ }
85
+
86
+ &_first:before,
87
+ &_last:before {
88
+ content: '';
89
+ position: absolute;
90
+ top: 0;
91
+ width: 0.75rem;
92
+ height: 100%;
93
+ background: inherit;
94
+ border-top-left-radius: 0.75rem;
95
+ border-bottom-left-radius: 0.75rem;
96
+ }
97
+
98
+ &_first {
99
+ position: relative;
100
+ padding-left: 0;
101
+ overflow: visible;
102
+
103
+ &:before {
104
+ right: 100%;
105
+ }
106
+ }
107
+
108
+ &_last {
109
+ position: relative;
110
+ padding-right: 0;
111
+ overflow: visible;
112
+
113
+ &:before {
114
+ left: 100%;
115
+ transform: scaleX(-1);
116
+ }
117
+ }
118
+
119
+ &_text_center {
120
+ text-align: center;
121
+ }
122
+
123
+ &_text_right {
124
+ text-align: right;
125
+ }
126
+
127
+ &_text_overflow {
128
+ .text-overflow();
129
+ }
130
+ }
131
+
132
+ &__subtext {
133
+ font: var(--tui-font-text-s);
134
+ margin: @space 0 0 0;
135
+ color: var(--tui-text-03);
136
+ }
137
+
138
+ &__sort {
139
+ .clearbtn();
140
+ .transition(color);
141
+ position: relative;
142
+ display: inline-flex;
143
+ align-items: center;
144
+ outline: none;
145
+ cursor: pointer;
146
+
147
+ &:hover {
148
+ color: var(--tui-text-01);
149
+ }
150
+
151
+ &_active {
152
+ color: var(--tui-link);
153
+
154
+ &:hover {
155
+ color: var(--tui-link-hover);
156
+ }
157
+ }
158
+ }
159
+
160
+ &__sort-icon {
161
+ .center-top();
162
+ left: 100%;
163
+ margin-left: (@space / 2);
164
+ width: 1rem;
165
+ height: 1rem;
166
+ flex-shrink: 0;
167
+ opacity: 0;
168
+
169
+ .tui-table__sort_active &,
170
+ .tui-table__sort:hover & {
171
+ .transition(transform);
172
+ opacity: 1;
173
+ }
174
+
175
+ .tui-table__sort_active.tui-table__sort_up & {
176
+ transform: rotate(180deg) translateY(50%);
177
+ }
178
+ }
179
+ }
@@ -0,0 +1,64 @@
1
+ .tui-text {
2
+ &_h1 {
3
+ font: var(--tui-font-heading-1);
4
+ }
5
+
6
+ &_h2 {
7
+ font: var(--tui-font-heading-2);
8
+ }
9
+
10
+ &_h3 {
11
+ font: var(--tui-font-heading-3);
12
+ }
13
+
14
+ &_h4 {
15
+ font: var(--tui-font-heading-4);
16
+ }
17
+
18
+ &_h5 {
19
+ font: var(--tui-font-heading-5);
20
+ }
21
+
22
+ &_h6 {
23
+ font: var(--tui-font-heading-6);
24
+ }
25
+
26
+ &_body-xl {
27
+ font: var(--tui-font-text-xl);
28
+ }
29
+
30
+ &_body-l {
31
+ font: var(--tui-font-text-l);
32
+ }
33
+
34
+ &_body-l-2 {
35
+ font: var(--tui-font-text-l);
36
+ line-height: 1.25rem;
37
+ }
38
+
39
+ &_body-m {
40
+ font: var(--tui-font-text-m);
41
+ }
42
+
43
+ &_body-m-2 {
44
+ font: var(--tui-font-text-m);
45
+ line-height: 1.25rem;
46
+ }
47
+
48
+ &_body-s {
49
+ font: var(--tui-font-text-s);
50
+ }
51
+
52
+ &_body-s-2 {
53
+ font: var(--tui-font-text-s);
54
+ line-height: 1rem;
55
+ }
56
+
57
+ &_body-xs {
58
+ font: var(--tui-font-text-xs);
59
+ }
60
+
61
+ &_bold {
62
+ font-weight: bold;
63
+ }
64
+ }
package/package.json ADDED
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "@taiga-ui/styles",
3
+ "version": "3.0.0-rc.1",
4
+ "description": "Global Styles for Taiga UI"
5
+ }
@@ -0,0 +1,14 @@
1
+ @import 'basic/keyframes.less';
2
+ @import 'basic/main.less';
3
+ @import 'markup/tui-container.less';
4
+ @import 'markup/tui-form.less';
5
+ @import 'markup/tui-island.less';
6
+ @import 'markup/tui-list.less';
7
+ @import 'markup/tui-mobile-only.less';
8
+ @import 'markup/tui-palette.less';
9
+ @import 'markup/tui-required.less';
10
+ @import 'markup/tui-row.less';
11
+ @import 'markup/tui-skeleton.less';
12
+ @import 'markup/tui-space.less';
13
+ @import 'markup/tui-table.less';
14
+ @import 'markup/tui-text.less';