ecabs-components 1.1.84 → 1.1.85

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.
@@ -1,272 +1,281 @@
1
- .btn {
2
- @include fontSize($font-size-base);
3
-
4
- border: 0;
5
- min-width: calc-rem(111px);
6
- min-height: calc-rem(42px);
7
- width: max-content;
8
- padding: calc-rem(8px 24px);
9
- font-weight: $font-weight-semibold;
10
- line-height: $base-line-height;
11
-
12
- &:after {
13
- @extend %pseudos;
14
-
15
- border: 1px solid transparent;
16
- top: 0;
17
- right: 0;
18
- bottom: 0;
19
- left: 0;
20
- border-radius: $border-radius-large;
21
- }
22
-
23
- &:hover {
24
- transition: filter $trans-duration-style;
25
- }
26
-
27
- // #Basic
28
- @include m(basic) {
29
- background-color: transparent;
30
- color: var(--color-gray-500);
31
-
32
- &:hover {
33
- background-color: transparent;
34
- color: color-mix(in srgb, var(--color-gray-500), black 30%);
35
- }
36
-
37
- @include m(outline) {
38
- background-color: transparent;
39
- border-color: var(--color-gray-500);
40
- color: var(--color-gray-500);
41
-
42
- &:after {
43
- border-color: var(--color-gray-500);
44
- }
45
-
46
- &:hover {
47
- background-color: var(--color-gray-50);
48
- color: color-mix(in srgb, var(--color-gray-500), black 30%);
49
- }
50
- }
51
-
52
- @include m(link) {
53
- @extend .btn--basic--outline;
54
-
55
- &:after {
56
- border-color: transparent;
57
- }
58
-
59
- &:hover {
60
- background-color: transparent;
61
- }
62
- }
63
- }
64
-
65
- // #Primary
66
- @include m(primary) {
67
- background-color: var(--color-brand-dark);
68
- color: var(--color-white);
69
-
70
- &:hover {
71
- background-color: rgba(var(--color-brand-dark-rgb), .88);
72
- }
73
-
74
- @include m(outline) {
75
- background-color: transparent;
76
- border-color: var(--color-brand-dark);
77
- color: var(--color-brand-dark);
78
-
79
- &:after {
80
- border-color: var(--color-brand-dark);
81
- }
82
-
83
- &:hover {
84
- background-color: var(--color-gray-50);
85
- }
86
- }
87
-
88
- @include m(link) {
89
- @extend .btn--primary--outline;
90
-
91
- &:after {
92
- border-color: transparent;
93
- }
94
-
95
- &:hover {
96
- background-color: var(--color-gray-50);
97
- }
98
- }
99
- }
100
-
101
- /* #Secondary */
102
- @include m(secondary) {
103
- background-color: var(--color-brand-light);
104
- color: var(--color-white);
105
-
106
- &:hover {
107
- background-color: rgba(var(--color-brand-light-rgb), .88);
108
- }
109
-
110
- @include m(outline) {
111
- background-color: transparent;
112
- border-color: var(--color-brand-light);
113
- color: var(--color-brand-light);
114
-
115
- &:after {
116
- border-color: var(--color-brand-light);
117
- }
118
-
119
- &:hover {
120
- background-color: var(--color-gray-50);
121
- }
122
- }
123
-
124
- @include m(link) {
125
- @extend .btn--secondary--outline;
126
-
127
- &:after {
128
- border-color: transparent;
129
- }
130
- }
131
- }
132
-
133
- /* #Warn */
134
- @include m(warn) {
135
- background-color: var(--color-error);
136
- color: var(--color-white);
137
-
138
- &:hover {
139
- background-color: rgba(var(--color-error-rgb), .88);
140
- }
141
-
142
- @include m(outline) {
143
- background-color: transparent;
144
- border-color: var(--color-error);
145
- color: var(--color-error);
146
-
147
- &:after {
148
- border-color: var(--color-error);
149
- }
150
-
151
- &:hover {
152
- background-color: var(--color-gray-50);
153
- }
154
- }
155
-
156
- @include m(link) {
157
- @extend .btn--warn--outline;
158
-
159
- &:after {
160
- border-color: transparent;
161
- }
162
- }
163
- }
164
-
165
- /* #Success */
166
- @include m(success) {
167
- background-color: var(--color-success--opacity);
168
- color: var(--color-success);
169
-
170
- &:hover {
171
- background-color: rgba(var(--color-success-rgb), .88);
172
- }
173
-
174
- @include m(outline) {
175
- background-color: transparent;
176
- border-color: var(--color-success);
177
- color: var(--color-success);
178
-
179
- &:after {
180
- border-color: var(--color-success);
181
- }
182
-
183
- &:hover {
184
- background-color: var(--color-gray-50);
185
- }
186
- }
187
-
188
- @include m(link) {
189
- @extend .btn--warn--outline;
190
-
191
- &:after {
192
- border-color: transparent;
193
- }
194
- }
195
- }
196
-
197
- /* #Group */
198
- @include e(group) {
199
- display: flex;
200
- width: 100%;
201
- align-items: center;
202
- column-gap: 1rem;
203
-
204
- @include media-q(small) {
205
- display: flex;
206
- flex-direction: column;
207
- gap: 1.2rem;
208
- }
209
-
210
- margin-top: 1.2rem;
211
-
212
- // Button group
213
- @include m(item) {
214
- @include media-q(small) {
215
- width: 100%;
216
- margin-right: 0;
217
- }
218
-
219
- min-width: calc-rem(100);
220
-
221
- &:last-of-type {
222
- margin-right: 0;
223
- }
224
- }
225
- }
226
-
227
- /* #Disabled */
228
- @include e(disabled) {
229
- background-color: var(--color-gray-300);
230
- color: var(--color-gray-400);
231
- cursor: not-allowed;
232
- pointer-events: none;
233
- user-select: none;
234
-
235
- @include m(outline) {
236
- @extend .btn__disabled;
237
-
238
- background-color: transparent;
239
-
240
- &:after {
241
- border-color: var(--color-gray-300);
242
- }
243
- }
244
- }
245
-
246
- /* prevent hover state from persisting when disabled */
247
- &:disabled:hover,
248
- &.loading:hover {
249
- background-color: var(--color-gray-300);
250
- color: var(--color-gray-400);
251
- box-shadow: none;
252
- }
253
-
254
- /* #Icon */
255
- @include e(with-icon) {
256
- @include m(wrapper) {
257
- display: flex;
258
- align-items: center;
259
- justify-content: center;
260
-
261
- i, .mat-icon {
262
- display: inline-block;
263
- margin-right: .6rem;
264
- }
265
- }
266
- }
267
-
268
- /* #Large */
269
- @include m(lg) {
270
- padding: calc-rem(16 24);
271
- }
272
- }
1
+ .btn {
2
+ @include fontSize($font-size-base);
3
+
4
+ border: 0;
5
+ min-width: calc-rem(111px);
6
+ min-height: calc-rem(42px);
7
+ width: max-content;
8
+ padding: calc-rem(8px 24px);
9
+ font-weight: $font-weight-semibold;
10
+ line-height: $base-line-height;
11
+
12
+ &:after {
13
+ @extend %pseudos;
14
+
15
+ border: 1px solid transparent;
16
+ top: 0;
17
+ right: 0;
18
+ bottom: 0;
19
+ left: 0;
20
+ border-radius: $border-radius-large;
21
+ }
22
+
23
+ &:hover {
24
+ transition: filter $trans-duration-style;
25
+ }
26
+
27
+ // #Basic
28
+ @include m(basic) {
29
+ background-color: transparent;
30
+ color: var(--color-gray-500);
31
+
32
+ &:hover {
33
+ background-color: transparent;
34
+ color: color-mix(in srgb, var(--color-gray-500), black 30%);
35
+ }
36
+
37
+ @include m(outline) {
38
+ background-color: transparent;
39
+ border-color: var(--color-gray-500);
40
+ color: var(--color-gray-500);
41
+
42
+ &:after {
43
+ border-color: var(--color-gray-500);
44
+ }
45
+
46
+ &:hover {
47
+ background-color: var(--color-gray-50);
48
+ color: color-mix(in srgb, var(--color-gray-500), black 30%);
49
+ }
50
+ }
51
+
52
+ @include m(link) {
53
+ @extend .btn--basic--outline;
54
+
55
+ &:after {
56
+ border-color: transparent;
57
+ }
58
+
59
+ &:hover {
60
+ background-color: transparent;
61
+ }
62
+ }
63
+ }
64
+
65
+ // #Primary
66
+ @include m(primary) {
67
+ background-color: var(--color-brand-dark);
68
+ color: var(--color-white);
69
+
70
+ &:hover {
71
+ background-color: rgba(var(--color-brand-dark-rgb), .88);
72
+ }
73
+
74
+ @include m(outline) {
75
+ background-color: transparent;
76
+ border-color: var(--color-brand-dark);
77
+ color: var(--color-brand-dark);
78
+
79
+ &:after {
80
+ border-color: var(--color-brand-dark);
81
+ }
82
+
83
+ &:hover {
84
+ background-color: var(--color-gray-50);
85
+ }
86
+ }
87
+
88
+ @include m(link) {
89
+ @extend .btn--primary--outline;
90
+
91
+ &:after {
92
+ border-color: transparent;
93
+ }
94
+
95
+ &:hover {
96
+ background-color: var(--color-gray-50);
97
+ }
98
+ }
99
+ }
100
+
101
+ /* #Secondary */
102
+ @include m(secondary) {
103
+ background-color: var(--color-brand-light);
104
+ color: var(--color-white);
105
+
106
+ &:hover {
107
+ background-color: rgba(var(--color-brand-light-rgb), .88);
108
+ }
109
+
110
+ @include m(outline) {
111
+ background-color: transparent;
112
+ border-color: var(--color-brand-light);
113
+ color: var(--color-brand-light);
114
+
115
+ &:after {
116
+ border-color: var(--color-brand-light);
117
+ }
118
+
119
+ &:hover {
120
+ background-color: var(--color-gray-50);
121
+ }
122
+ }
123
+
124
+ @include m(link) {
125
+ @extend .btn--secondary--outline;
126
+
127
+ &:after {
128
+ border-color: transparent;
129
+ }
130
+ }
131
+ }
132
+
133
+ /* #Warn */
134
+ @include m(warn) {
135
+ background-color: var(--color-error);
136
+ color: var(--color-white);
137
+
138
+ &:hover {
139
+ background-color: rgba(var(--color-error-rgb), .88);
140
+ }
141
+
142
+ @include m(outline) {
143
+ background-color: transparent;
144
+ border-color: var(--color-error);
145
+ color: var(--color-error);
146
+
147
+ &:after {
148
+ border-color: var(--color-error);
149
+ }
150
+
151
+ &:hover {
152
+ background-color: var(--color-gray-50);
153
+ }
154
+ }
155
+
156
+ @include m(link) {
157
+ @extend .btn--warn--outline;
158
+
159
+ &:after {
160
+ border-color: transparent;
161
+ }
162
+ }
163
+ }
164
+
165
+ /* #Success */
166
+ @include m(success) {
167
+ background-color: var(--color-success--opacity);
168
+ color: var(--color-success);
169
+
170
+ &:hover {
171
+ background-color: rgba(var(--color-success-rgb), .88);
172
+ }
173
+
174
+ @include m(outline) {
175
+ background-color: transparent;
176
+ border-color: var(--color-success);
177
+ color: var(--color-success);
178
+
179
+ &:after {
180
+ border-color: var(--color-success);
181
+ }
182
+
183
+ &:hover {
184
+ background-color: var(--color-gray-50);
185
+ }
186
+ }
187
+
188
+ @include m(link) {
189
+ @extend .btn--warn--outline;
190
+
191
+ &:after {
192
+ border-color: transparent;
193
+ }
194
+ }
195
+ }
196
+
197
+ /* #Group */
198
+ @include e(group) {
199
+ display: flex;
200
+ width: 100%;
201
+ align-items: center;
202
+ column-gap: 1rem;
203
+
204
+ @include media-q(small) {
205
+ display: flex;
206
+ flex-direction: column;
207
+ gap: 1.2rem;
208
+ }
209
+
210
+ margin-top: 1.2rem;
211
+
212
+ // Button group
213
+ @include m(item) {
214
+ @include media-q(small) {
215
+ width: 100%;
216
+ margin-right: 0;
217
+ }
218
+
219
+ min-width: calc-rem(100);
220
+
221
+ &:last-of-type {
222
+ margin-right: 0;
223
+ }
224
+ }
225
+ }
226
+
227
+ /* #Disabled */
228
+ @include e(disabled) {
229
+ background-color: var(--color-gray-300);
230
+ color: var(--color-gray-400);
231
+ cursor: not-allowed;
232
+ pointer-events: none;
233
+ user-select: none;
234
+
235
+ @include m(outline) {
236
+ @extend .btn__disabled;
237
+
238
+ background-color: transparent;
239
+
240
+ &:after {
241
+ border-color: var(--color-gray-300);
242
+ }
243
+ }
244
+ }
245
+
246
+ /* prevent hover state from persisting when disabled */
247
+ &:disabled:hover,
248
+ &.loading:hover {
249
+ background-color: var(--color-gray-300);
250
+ color: var(--color-gray-400);
251
+ box-shadow: none;
252
+ }
253
+
254
+ /* #Icon */
255
+ @include e(with-icon) {
256
+ @include m(wrapper) {
257
+ display: flex;
258
+ align-items: center;
259
+ justify-content: center;
260
+ gap: .6rem;
261
+ }
262
+ }
263
+
264
+ /* #Large */
265
+ @include m(lg) {
266
+ padding: calc-rem(16px 24px);
267
+ }
268
+
269
+ /* #Sizes */
270
+ @include m(small) {
271
+ @include btn-size(32px, 90px, 12px, 12px, 18px);
272
+ }
273
+
274
+ @include m(medium) {
275
+ @include btn-size(40px, 120px, 16px, 14px, 21px);
276
+ }
277
+
278
+ @include m(large) {
279
+ @include btn-size(48px, 140px, 20px, 16px, 24px);
280
+ }
281
+ }