@aristobyte-ui/button 1.0.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.
Files changed (81) hide show
  1. package/@types/index.d.ts +4 -0
  2. package/@types/styles/scss-modules.d.ts +4 -0
  3. package/assets/svg/i_Copy.svg +1 -0
  4. package/assets/svg/i_Error.svg +1 -0
  5. package/assets/svg/i_Info.svg +1 -0
  6. package/assets/svg/i_Success.svg +1 -0
  7. package/assets/svg/i_Warning.svg +1 -0
  8. package/components/Button/Button.module.scss +875 -0
  9. package/components/Button/index.tsx +93 -0
  10. package/components/ButtonGroup/ButtonGroup.module.scss +66 -0
  11. package/components/ButtonGroup/index.tsx +55 -0
  12. package/components/index.ts +2 -0
  13. package/dist/components/Anchor/index.js +28 -0
  14. package/dist/components/Button/index.js +35 -0
  15. package/dist/components/ButtonGroup/index.js +16 -0
  16. package/dist/components/CodeBlock/index.js +33 -0
  17. package/dist/components/CodeBlock/types.js +1 -0
  18. package/dist/components/Dropdown/index.js +73 -0
  19. package/dist/components/DropdownOption/index.js +13 -0
  20. package/dist/components/MessageBox/index.js +19 -0
  21. package/dist/components/Radio/index.js +10 -0
  22. package/dist/components/RadioGroup/index.js +21 -0
  23. package/dist/components/Spinner/index.js +6 -0
  24. package/dist/components/Switch/index.js +15 -0
  25. package/dist/components/TabSwitchWithSlidingIndicator/index.js +10 -0
  26. package/dist/components/index.js +12 -0
  27. package/dist/index.js +1 -0
  28. package/dist/tsconfig.tsbuildinfo +1 -0
  29. package/dist/types/components/Anchor/index.d.ts +6 -0
  30. package/dist/types/components/Anchor/index.d.ts.map +1 -0
  31. package/dist/types/components/Button/index.d.ts +15 -0
  32. package/dist/types/components/Button/index.d.ts.map +1 -0
  33. package/dist/types/components/ButtonGroup/index.d.ts +13 -0
  34. package/dist/types/components/ButtonGroup/index.d.ts.map +1 -0
  35. package/dist/types/components/CodeBlock/index.d.ts +11 -0
  36. package/dist/types/components/CodeBlock/index.d.ts.map +1 -0
  37. package/dist/types/components/CodeBlock/types.d.ts +3 -0
  38. package/dist/types/components/CodeBlock/types.d.ts.map +1 -0
  39. package/dist/types/components/Dropdown/index.d.ts +14 -0
  40. package/dist/types/components/Dropdown/index.d.ts.map +1 -0
  41. package/dist/types/components/DropdownOption/index.d.ts +12 -0
  42. package/dist/types/components/DropdownOption/index.d.ts.map +1 -0
  43. package/dist/types/components/MessageBox/index.d.ts +14 -0
  44. package/dist/types/components/MessageBox/index.d.ts.map +1 -0
  45. package/dist/types/components/Radio/index.d.ts +17 -0
  46. package/dist/types/components/Radio/index.d.ts.map +1 -0
  47. package/dist/types/components/RadioGroup/index.d.ts +18 -0
  48. package/dist/types/components/RadioGroup/index.d.ts.map +1 -0
  49. package/dist/types/components/Spinner/index.d.ts +9 -0
  50. package/dist/types/components/Spinner/index.d.ts.map +1 -0
  51. package/dist/types/components/Switch/index.d.ts +18 -0
  52. package/dist/types/components/Switch/index.d.ts.map +1 -0
  53. package/dist/types/components/TabSwitchWithSlidingIndicator/index.d.ts +9 -0
  54. package/dist/types/components/TabSwitchWithSlidingIndicator/index.d.ts.map +1 -0
  55. package/dist/types/components/index.d.ts +3 -0
  56. package/dist/types/components/index.d.ts.map +1 -0
  57. package/dist/types/index.d.ts +2 -0
  58. package/dist/types/index.d.ts.map +1 -0
  59. package/dist/types/utils/Portal.d.ts +5 -0
  60. package/dist/types/utils/Portal.d.ts.map +1 -0
  61. package/dist/types/utils/icons.d.ts +8 -0
  62. package/dist/types/utils/icons.d.ts.map +1 -0
  63. package/dist/types/utils/index.d.ts +3 -0
  64. package/dist/types/utils/index.d.ts.map +1 -0
  65. package/dist/types/utils/ripple.d.ts +9 -0
  66. package/dist/types/utils/ripple.d.ts.map +1 -0
  67. package/dist/utils/Portal.js +12 -0
  68. package/dist/utils/icons.js +12 -0
  69. package/dist/utils/index.js +2 -0
  70. package/dist/utils/ripple.js +38 -0
  71. package/eslint.config.mjs +2 -0
  72. package/index.ts +1 -0
  73. package/package.json +44 -0
  74. package/styles/_settings.scss +179 -0
  75. package/tsconfig.json +11 -0
  76. package/turbo/generators/config.ts +30 -0
  77. package/turbo/generators/templates/component.hbs +8 -0
  78. package/utils/Portal.tsx +17 -0
  79. package/utils/icons.ts +13 -0
  80. package/utils/index.ts +2 -0
  81. package/utils/ripple.tsx +54 -0
@@ -0,0 +1,875 @@
1
+ @use "../../styles/settings" as *;
2
+
3
+ .button {
4
+ align-items: center;
5
+ border: none;
6
+ cursor: pointer;
7
+ display: flex;
8
+ font-weight: 500;
9
+ gap: 10px;
10
+ letter-spacing: 0rem;
11
+ line-height: 1.42;
12
+ overflow: hidden;
13
+ position: relative;
14
+ transition:
15
+ background-color 200ms ease,
16
+ transform 300ms ease;
17
+
18
+ &:disabled {
19
+ cursor: not-allowed;
20
+ opacity: 1;
21
+ }
22
+
23
+ &:active {
24
+ transform: scale(0.97);
25
+ }
26
+
27
+ &-variant {
28
+ &--default.button-appearance {
29
+ &--solid {
30
+ background-color: $color-default;
31
+ backdrop-filter: 8px;
32
+ color: $text-color-white;
33
+
34
+ &:hover {
35
+ background-color: $color-default-hover;
36
+ }
37
+
38
+ &:disabled {
39
+ background-color: $color-default-disabled;
40
+ color: $text-color-white-disabled;
41
+
42
+ .icon {
43
+ color: $text-color-white-disabled;
44
+ }
45
+ }
46
+
47
+ .icon {
48
+ color: $text-color-white;
49
+ }
50
+ }
51
+
52
+ &--outline {
53
+ background-color: rgba($color-default, 0.2);
54
+ backdrop-filter: 8px;
55
+ border: 1px solid $color-default;
56
+ color: $text-color-white;
57
+
58
+ &:hover {
59
+ background-color: $color-default;
60
+ }
61
+
62
+ &:disabled {
63
+ background-color: rgba($color-default-disabled, 0.2);
64
+ color: $text-color-white-disabled;
65
+
66
+ .icon {
67
+ color: $text-color-white-disabled;
68
+ }
69
+ }
70
+
71
+ .icon {
72
+ color: $text-color-white;
73
+ }
74
+ }
75
+
76
+ &--outline-dashed {
77
+ background-color: rgba($color-default, 0.2);
78
+ backdrop-filter: 8px;
79
+ border: 1px dashed $color-default;
80
+ color: $text-color-white;
81
+
82
+ &:hover {
83
+ background-color: $color-default;
84
+ }
85
+
86
+ &:disabled {
87
+ background-color: rgba($color-default-disabled, 0.2);
88
+ color: $text-color-white-disabled;
89
+
90
+ .icon {
91
+ color: $text-color-white-disabled;
92
+ }
93
+ }
94
+
95
+ .icon {
96
+ color: $text-color-white;
97
+ }
98
+ }
99
+
100
+ &--no-outline {
101
+ background-color: rgba($color-default, 0.2);
102
+ backdrop-filter: 8px;
103
+ color: $text-color-white;
104
+
105
+ &:hover {
106
+ background-color: $color-default;
107
+ }
108
+
109
+ &:disabled {
110
+ background-color: rgba($color-default-disabled, 0.2);
111
+ color: $text-color-white-disabled;
112
+
113
+ .icon {
114
+ color: $text-color-white-disabled;
115
+ }
116
+ }
117
+
118
+ .icon {
119
+ color: $text-color-white;
120
+ }
121
+ }
122
+
123
+ &--glowing {
124
+ background-color: rgba($color-default, 0.2);
125
+ backdrop-filter: 8px;
126
+ border: 1px solid $color-default;
127
+ color: $text-color-white;
128
+ box-shadow:
129
+ 0 0 8px rgba($color-default, 0.5),
130
+ 0 0 16px rgba($color-default, 0.4),
131
+ 0 0 24px rgba($color-default, 0.3);
132
+
133
+ &:hover {
134
+ background-color: $color-default;
135
+ }
136
+
137
+ &:disabled {
138
+ background-color: rgba($color-default-disabled, 0.2);
139
+ color: $text-color-white-disabled;
140
+
141
+ .icon {
142
+ color: $text-color-white-disabled;
143
+ }
144
+ }
145
+
146
+ .icon {
147
+ color: $text-color-white;
148
+ }
149
+ }
150
+ }
151
+
152
+ &--primary.button-appearance {
153
+ &--solid {
154
+ background-color: $color-primary;
155
+ backdrop-filter: 8px;
156
+ color: $text-color-white;
157
+
158
+ &:hover {
159
+ background-color: $color-primary-hover;
160
+ }
161
+
162
+ &:disabled {
163
+ background-color: $color-primary-disabled;
164
+ color: $text-color-white-disabled;
165
+
166
+ .icon {
167
+ color: $text-color-white-disabled;
168
+ }
169
+ }
170
+
171
+ .icon {
172
+ color: $text-color-white;
173
+ }
174
+ }
175
+
176
+ &--outline {
177
+ background-color: rgba($color-primary, 0.2);
178
+ backdrop-filter: 8px;
179
+ border: 1px solid $color-primary;
180
+ color: $text-color-white;
181
+
182
+ &:hover {
183
+ background-color: $color-primary;
184
+ }
185
+
186
+ &:disabled {
187
+ background-color: rgba($color-primary-disabled, 0.2);
188
+ color: $text-color-white-disabled;
189
+
190
+ .icon {
191
+ color: $text-color-white-disabled;
192
+ }
193
+ }
194
+
195
+ .icon {
196
+ color: $text-color-white;
197
+ }
198
+ }
199
+
200
+ &--outline-dashed {
201
+ background-color: rgba($color-primary, 0.2);
202
+ backdrop-filter: 8px;
203
+ border: 1px dashed $color-primary;
204
+ color: $text-color-white;
205
+
206
+ &:hover {
207
+ background-color: $color-primary;
208
+ }
209
+
210
+ &:disabled {
211
+ background-color: rgba($color-primary-disabled, 0.2);
212
+ color: $text-color-white-disabled;
213
+
214
+ .icon {
215
+ color: $text-color-white-disabled;
216
+ }
217
+ }
218
+
219
+ .icon {
220
+ color: $text-color-white;
221
+ }
222
+ }
223
+
224
+ &--no-outline {
225
+ background-color: rgba($color-primary, 0.2);
226
+ backdrop-filter: 8px;
227
+ color: $text-color-white;
228
+
229
+ &:hover {
230
+ background-color: $color-primary;
231
+ }
232
+
233
+ &:disabled {
234
+ background-color: rgba($color-primary-disabled, 0.2);
235
+ color: $text-color-white-disabled;
236
+
237
+ .icon {
238
+ color: $text-color-white-disabled;
239
+ }
240
+ }
241
+
242
+ .icon {
243
+ color: $text-color-white;
244
+ }
245
+ }
246
+
247
+ &--glowing {
248
+ background-color: rgba($color-primary, 0.2);
249
+ backdrop-filter: 8px;
250
+ border: 1px solid $color-primary;
251
+ color: $text-color-white;
252
+ box-shadow:
253
+ 0 0 8px rgba($color-primary, 0.5),
254
+ 0 0 16px rgba($color-primary, 0.4),
255
+ 0 0 24px rgba($color-primary, 0.3);
256
+
257
+ &:hover {
258
+ background-color: $color-primary;
259
+ }
260
+
261
+ &:disabled {
262
+ background-color: rgba($color-primary-disabled, 0.2);
263
+ color: $text-color-white-disabled;
264
+
265
+ .icon {
266
+ color: $text-color-white-disabled;
267
+ }
268
+ }
269
+
270
+ .icon {
271
+ color: $text-color-white;
272
+ }
273
+ }
274
+ }
275
+
276
+ &--secondary.button-appearance {
277
+ &--solid {
278
+ background-color: $color-secondary;
279
+ backdrop-filter: 8px;
280
+ color: $text-color-white;
281
+
282
+ &:hover {
283
+ background-color: $color-secondary-hover;
284
+ }
285
+
286
+ &:disabled {
287
+ background-color: $color-secondary-disabled;
288
+ color: $text-color-white-disabled;
289
+
290
+ .icon {
291
+ color: $text-color-white-disabled;
292
+ }
293
+ }
294
+
295
+ .icon {
296
+ color: $text-color-white;
297
+ }
298
+ }
299
+
300
+ &--outline {
301
+ background-color: rgba($color-secondary, 0.2);
302
+ backdrop-filter: 8px;
303
+ border: 1px solid $color-secondary;
304
+ color: $text-color-white;
305
+
306
+ &:hover {
307
+ background-color: $color-secondary;
308
+ }
309
+
310
+ &:disabled {
311
+ background-color: rgba($color-secondary-disabled, 0.2);
312
+ color: $text-color-white-disabled;
313
+
314
+ .icon {
315
+ color: $text-color-white-disabled;
316
+ }
317
+ }
318
+
319
+ .icon {
320
+ color: $text-color-white;
321
+ }
322
+ }
323
+
324
+ &--outline-dashed {
325
+ background-color: rgba($color-secondary, 0.2);
326
+ backdrop-filter: 8px;
327
+ border: 1px dashed $color-secondary;
328
+ color: $text-color-white;
329
+
330
+ &:hover {
331
+ background-color: $color-secondary;
332
+ }
333
+
334
+ &:disabled {
335
+ background-color: rgba($color-secondary-disabled, 0.2);
336
+ color: $text-color-white-disabled;
337
+
338
+ .icon {
339
+ color: $text-color-white-disabled;
340
+ }
341
+ }
342
+
343
+ .icon {
344
+ color: $text-color-white;
345
+ }
346
+ }
347
+
348
+ &--no-outline {
349
+ background-color: rgba($color-secondary, 0.2);
350
+ backdrop-filter: 8px;
351
+ color: $text-color-white;
352
+
353
+ &:hover {
354
+ background-color: $color-secondary;
355
+ }
356
+
357
+ &:disabled {
358
+ background-color: rgba($color-secondary-disabled, 0.2);
359
+ color: $text-color-white-disabled;
360
+
361
+ .icon {
362
+ color: $text-color-white-disabled;
363
+ }
364
+ }
365
+
366
+ .icon {
367
+ color: $text-color-white;
368
+ }
369
+ }
370
+
371
+ &--glowing {
372
+ background-color: rgba($color-secondary, 0.2);
373
+ backdrop-filter: 8px;
374
+ border: 1px solid $color-secondary;
375
+ color: $text-color-white;
376
+ box-shadow:
377
+ 0 0 8px rgba($color-secondary, 0.5),
378
+ 0 0 16px rgba($color-secondary, 0.4),
379
+ 0 0 24px rgba($color-secondary, 0.3);
380
+
381
+ &:hover {
382
+ background-color: $color-secondary;
383
+ }
384
+
385
+ &:disabled {
386
+ background-color: rgba($color-secondary-disabled, 0.2);
387
+ color: $text-color-white-disabled;
388
+
389
+ .icon {
390
+ color: $text-color-white-disabled;
391
+ }
392
+ }
393
+
394
+ .icon {
395
+ color: $text-color-white;
396
+ }
397
+ }
398
+ }
399
+
400
+ &--success.button-appearance {
401
+ &--solid {
402
+ background-color: $color-success;
403
+ backdrop-filter: 8px;
404
+ color: $text-color-white;
405
+
406
+ &:hover {
407
+ background-color: $color-success-hover;
408
+ }
409
+
410
+ &:disabled {
411
+ background-color: $color-success-disabled;
412
+ color: $text-color-white-disabled;
413
+
414
+ .icon {
415
+ color: $text-color-white-disabled;
416
+ }
417
+ }
418
+
419
+ .icon {
420
+ color: $text-color-white;
421
+ }
422
+ }
423
+
424
+ &--outline {
425
+ background-color: rgba($color-success, 0.2);
426
+ backdrop-filter: 8px;
427
+ border: 1px solid $color-success;
428
+ color: $text-color-white;
429
+
430
+ &:hover {
431
+ background-color: $color-success;
432
+ }
433
+
434
+ &:disabled {
435
+ background-color: rgba($color-success-disabled, 0.2);
436
+ color: $text-color-white-disabled;
437
+
438
+ .icon {
439
+ color: $text-color-white-disabled;
440
+ }
441
+ }
442
+
443
+ .icon {
444
+ color: $text-color-white;
445
+ }
446
+ }
447
+
448
+ &--outline-dashed {
449
+ background-color: rgba($color-success, 0.2);
450
+ backdrop-filter: 8px;
451
+ border: 1px dashed $color-success;
452
+ color: $text-color-white;
453
+
454
+ &:hover {
455
+ background-color: $color-success;
456
+ }
457
+
458
+ &:disabled {
459
+ background-color: rgba($color-success-disabled, 0.2);
460
+ color: $text-color-white-disabled;
461
+
462
+ .icon {
463
+ color: $text-color-white-disabled;
464
+ }
465
+ }
466
+
467
+ .icon {
468
+ color: $text-color-white;
469
+ }
470
+ }
471
+
472
+ &--no-outline {
473
+ background-color: rgba($color-success, 0.2);
474
+ backdrop-filter: 8px;
475
+ color: $text-color-white;
476
+
477
+ &:hover {
478
+ background-color: $color-success;
479
+ }
480
+
481
+ &:disabled {
482
+ background-color: rgba($color-success-disabled, 0.2);
483
+ color: $text-color-white-disabled;
484
+
485
+ .icon {
486
+ color: $text-color-white-disabled;
487
+ }
488
+ }
489
+
490
+ .icon {
491
+ color: $text-color-white;
492
+ }
493
+ }
494
+
495
+ &--glowing {
496
+ background-color: rgba($color-success, 0.2);
497
+ backdrop-filter: 8px;
498
+ border: 1px solid $color-success;
499
+ color: $text-color-white;
500
+ box-shadow:
501
+ 0 0 8px rgba($color-success, 0.5),
502
+ 0 0 16px rgba($color-success, 0.4),
503
+ 0 0 24px rgba($color-success, 0.3);
504
+
505
+ &:hover {
506
+ background-color: $color-success;
507
+ }
508
+
509
+ &:disabled {
510
+ background-color: rgba($color-success-disabled, 0.2);
511
+ color: $text-color-white-disabled;
512
+
513
+ .icon {
514
+ color: $text-color-white-disabled;
515
+ }
516
+ }
517
+
518
+ .icon {
519
+ color: $text-color-white;
520
+ }
521
+ }
522
+ }
523
+
524
+ &--error.button-appearance {
525
+ &--solid {
526
+ background-color: $color-error;
527
+ backdrop-filter: 8px;
528
+ color: $text-color-white;
529
+
530
+ &:hover {
531
+ background-color: $color-error-hover;
532
+ }
533
+
534
+ &:disabled {
535
+ background-color: $color-error-disabled;
536
+ color: $text-color-white-disabled;
537
+
538
+ .icon {
539
+ color: $text-color-white-disabled;
540
+ }
541
+ }
542
+
543
+ .icon {
544
+ color: $text-color-white;
545
+ }
546
+ }
547
+
548
+ &--outline {
549
+ background-color: rgba($color-error, 0.2);
550
+ backdrop-filter: 8px;
551
+ border: 1px solid $color-error;
552
+ color: $text-color-white;
553
+
554
+ &:hover {
555
+ background-color: $color-error;
556
+ }
557
+
558
+ &:disabled {
559
+ background-color: rgba($color-error-disabled, 0.2);
560
+ color: $text-color-white-disabled;
561
+
562
+ .icon {
563
+ color: $text-color-white-disabled;
564
+ }
565
+ }
566
+
567
+ .icon {
568
+ color: $text-color-white;
569
+ }
570
+ }
571
+
572
+ &--outline-dashed {
573
+ background-color: rgba($color-error, 0.2);
574
+ backdrop-filter: 8px;
575
+ border: 1px dashed $color-error;
576
+ color: $text-color-white;
577
+
578
+ &:hover {
579
+ background-color: $color-error;
580
+ }
581
+
582
+ &:disabled {
583
+ background-color: rgba($color-error-disabled, 0.2);
584
+ color: $text-color-white-disabled;
585
+
586
+ .icon {
587
+ color: $text-color-white-disabled;
588
+ }
589
+ }
590
+
591
+ .icon {
592
+ color: $text-color-white;
593
+ }
594
+ }
595
+
596
+ &--no-outline {
597
+ background-color: rgba($color-error, 0.2);
598
+ backdrop-filter: 8px;
599
+ color: $text-color-white;
600
+
601
+ &:hover {
602
+ background-color: $color-error;
603
+ }
604
+
605
+ &:disabled {
606
+ background-color: rgba($color-error-disabled, 0.2);
607
+ color: $text-color-white-disabled;
608
+
609
+ .icon {
610
+ color: $text-color-white-disabled;
611
+ }
612
+ }
613
+
614
+ .icon {
615
+ color: $text-color-white;
616
+ }
617
+ }
618
+
619
+ &--glowing {
620
+ background-color: rgba($color-error, 0.2);
621
+ backdrop-filter: 8px;
622
+ border: 1px solid $color-error;
623
+ color: $text-color-white;
624
+ box-shadow:
625
+ 0 0 8px rgba($color-error, 0.5),
626
+ 0 0 16px rgba($color-error, 0.4),
627
+ 0 0 24px rgba($color-error, 0.3);
628
+
629
+ &:hover {
630
+ background-color: $color-error;
631
+ }
632
+
633
+ &:disabled {
634
+ background-color: rgba($color-error-disabled, 0.2);
635
+ color: $text-color-white-disabled;
636
+
637
+ .icon {
638
+ color: $text-color-white-disabled;
639
+ }
640
+ }
641
+
642
+ .icon {
643
+ color: $text-color-white;
644
+ }
645
+ }
646
+ }
647
+
648
+ &--warning.button-appearance {
649
+ &--solid {
650
+ background-color: $color-warning;
651
+ backdrop-filter: 8px;
652
+ color: $text-color-white;
653
+
654
+ &:hover {
655
+ background-color: $color-warning-hover;
656
+ }
657
+
658
+ &:disabled {
659
+ background-color: $color-warning-disabled;
660
+ color: $text-color-white-disabled;
661
+
662
+ .icon {
663
+ color: $text-color-white-disabled;
664
+ }
665
+ }
666
+
667
+ .icon {
668
+ color: $text-color-white;
669
+ }
670
+ }
671
+
672
+ &--outline {
673
+ background-color: rgba($color-warning, 0.2);
674
+ backdrop-filter: 8px;
675
+ border: 1px solid $color-warning;
676
+ color: $text-color-white;
677
+
678
+ &:hover {
679
+ background-color: $color-warning;
680
+ }
681
+
682
+ &:disabled {
683
+ background-color: rgba($color-warning-disabled, 0.2);
684
+ color: $text-color-white-disabled;
685
+
686
+ .icon {
687
+ color: $text-color-white-disabled;
688
+ }
689
+ }
690
+
691
+ .icon {
692
+ color: $text-color-white;
693
+ }
694
+ }
695
+
696
+ &--outline-dashed {
697
+ background-color: rgba($color-warning, 0.2);
698
+ backdrop-filter: 8px;
699
+ border: 1px dashed $color-warning;
700
+ color: $text-color-white;
701
+
702
+ &:hover {
703
+ background-color: $color-warning;
704
+ }
705
+
706
+ &:disabled {
707
+ background-color: rgba($color-warning-disabled, 0.2);
708
+ color: $text-color-white-disabled;
709
+
710
+ .icon {
711
+ color: $text-color-white-disabled;
712
+ }
713
+ }
714
+
715
+ .icon {
716
+ color: $text-color-white;
717
+ }
718
+ }
719
+
720
+ &--no-outline {
721
+ background-color: rgba($color-warning, 0.2);
722
+ backdrop-filter: 8px;
723
+ color: $text-color-white;
724
+
725
+ &:hover {
726
+ background-color: $color-warning;
727
+ }
728
+
729
+ &:disabled {
730
+ background-color: rgba($color-warning-disabled, 0.2);
731
+ color: $text-color-white-disabled;
732
+
733
+ .icon {
734
+ color: $text-color-white-disabled;
735
+ }
736
+ }
737
+
738
+ .icon {
739
+ color: $text-color-white;
740
+ }
741
+ }
742
+
743
+ &--glowing {
744
+ background-color: rgba($color-warning, 0.2);
745
+ backdrop-filter: 8px;
746
+ border: 1px solid $color-warning;
747
+ color: $text-color-white;
748
+ box-shadow:
749
+ 0 0 8px rgba($color-warning, 0.5),
750
+ 0 0 16px rgba($color-warning, 0.4),
751
+ 0 0 24px rgba($color-warning, 0.3);
752
+
753
+ &:hover {
754
+ background-color: $color-warning;
755
+ }
756
+
757
+ &:disabled {
758
+ background-color: rgba($color-warning-disabled, 0.2);
759
+ color: $text-color-white-disabled;
760
+
761
+ .icon {
762
+ color: $text-color-white-disabled;
763
+ }
764
+ }
765
+
766
+ .icon {
767
+ color: $text-color-white;
768
+ }
769
+ }
770
+ }
771
+ }
772
+
773
+ &-size {
774
+ &--xsm {
775
+ font-size: 0.75rem; // 12px
776
+ line-height: 1rem; // 16px
777
+ padding: 0.25rem 0.5rem; // 4px 8px
778
+ min-height: 28px;
779
+
780
+ .spinner,
781
+ .icon {
782
+ max-height: 1rem; // 16px
783
+ max-width: 1rem; // 16px
784
+ }
785
+ }
786
+
787
+ &--sm {
788
+ font-size: 0.875rem; // 14px
789
+ line-height: 1.25rem; // 20px
790
+ padding: 0.375rem 0.75rem; // 6px 12px
791
+ min-height: 32px;
792
+
793
+ .spinner,
794
+ .icon {
795
+ max-height: 1.125rem; // 18px
796
+ max-width: 1.125rem; // 18px
797
+ }
798
+ }
799
+
800
+ &--md {
801
+ font-size: 1rem; // 16px
802
+ line-height: 1.5rem; // 24px
803
+ padding: 0.5rem 1rem; // 8px 16px
804
+ min-height: 40px;
805
+
806
+ .spinner,
807
+ .icon {
808
+ height: 1.25rem; // 20px
809
+ width: 1.25rem; // 20px
810
+ }
811
+ }
812
+
813
+ &--lg {
814
+ font-size: 1.125rem; // 18px
815
+ line-height: 1.75rem; // 28px
816
+ padding: 0.625rem 1.25rem; // 10px 20px
817
+ min-height: 44px;
818
+
819
+ .spinner,
820
+ .icon {
821
+ max-height: 1.375rem; // 22px
822
+ max-width: 1.375rem; // 22px
823
+ }
824
+ }
825
+
826
+ &--xlg {
827
+ font-size: 1.25rem; // 20px
828
+ line-height: 1.75rem; // 28px
829
+ padding: 0.75rem 1.5rem; // 12px 24px
830
+ min-height: 48px;
831
+
832
+ .spinner,
833
+ .icon {
834
+ max-height: 1.5rem; // 24px
835
+ max-width: 1.5rem; // 24px
836
+ }
837
+ }
838
+ }
839
+
840
+ &-radius {
841
+ &--none {
842
+ border-radius: 0rem; // 0px
843
+ }
844
+
845
+ &--sm {
846
+ border-radius: 0.125rem; // 2px
847
+ }
848
+
849
+ &--md {
850
+ border-radius: 0.375rem; // 6px
851
+ }
852
+
853
+ &--lg {
854
+ border-radius: 0.5rem; // 8px
855
+ }
856
+
857
+ &--full {
858
+ border-radius: 1.5rem; // 24px
859
+ }
860
+ }
861
+
862
+ .icon {
863
+ align-items: center;
864
+ display: flex;
865
+ justify-content: center;
866
+
867
+ &--right {
868
+ order: 5;
869
+ }
870
+
871
+ svg {
872
+ width: 100%;
873
+ }
874
+ }
875
+ }