groovinads-ui 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 (66) hide show
  1. package/.babelrc +3 -0
  2. package/.storybook/main.js +19 -0
  3. package/.storybook/preview.js +13 -0
  4. package/.yarn/install-state.gz +0 -0
  5. package/.yarn/releases/yarn-4.1.1.cjs +893 -0
  6. package/.yarnrc.yml +3 -0
  7. package/package.json +40 -0
  8. package/src/components/Button/Button.jsx +104 -0
  9. package/src/components/Button/index.jsx +3 -0
  10. package/src/index.jsx +3 -0
  11. package/src/scss/abstracts/_borders-radius.scss +6 -0
  12. package/src/scss/abstracts/_colors.scss +33 -0
  13. package/src/scss/abstracts/_fonts.scss +8 -0
  14. package/src/scss/abstracts/_helpers.scss +7 -0
  15. package/src/scss/abstracts/_media-queries.scss +6 -0
  16. package/src/scss/abstracts/_mixins.scss +143 -0
  17. package/src/scss/abstracts/_spinner-duration.scss +1 -0
  18. package/src/scss/abstracts/_variables.scss +2 -0
  19. package/src/scss/animations/_alertToUp.scss +10 -0
  20. package/src/scss/animations/_aurora.scss +17 -0
  21. package/src/scss/animations/_colors.scss +15 -0
  22. package/src/scss/animations/_dash.scss +13 -0
  23. package/src/scss/animations/_fadeCopyFromLeft.scss +10 -0
  24. package/src/scss/animations/_goAndBack.scss +8 -0
  25. package/src/scss/animations/_inputUp.scss +10 -0
  26. package/src/scss/animations/_shake.scss +22 -0
  27. package/src/scss/animations/_showIn.scss +8 -0
  28. package/src/scss/animations/_showMenu.scss +12 -0
  29. package/src/scss/animations/_statusLine.scss +9 -0
  30. package/src/scss/animations/_toDown.scss +8 -0
  31. package/src/scss/animations/_toastFromLeft.scss +10 -0
  32. package/src/scss/animations/_toastFromRight.scss +10 -0
  33. package/src/scss/base/_base.scss +14 -0
  34. package/src/scss/base/_typography.scss +188 -0
  35. package/src/scss/components/_alerts.scss +115 -0
  36. package/src/scss/components/_breadcrumb.scss +30 -0
  37. package/src/scss/components/_buttons.scss +808 -0
  38. package/src/scss/components/_checks.scss +105 -0
  39. package/src/scss/components/_dropdown-deck.scss +115 -0
  40. package/src/scss/components/_dropdowns.scss +131 -0
  41. package/src/scss/components/_img-404.scss +6 -0
  42. package/src/scss/components/_inputs.scss +279 -0
  43. package/src/scss/components/_login-source.scss +19 -0
  44. package/src/scss/components/_modals.scss +89 -0
  45. package/src/scss/components/_nav-tabs.scss +38 -0
  46. package/src/scss/components/_pills.scss +88 -0
  47. package/src/scss/components/_radio.scss +102 -0
  48. package/src/scss/components/_shadows.scss +18 -0
  49. package/src/scss/components/_spinner.scss +20 -0
  50. package/src/scss/components/_status-icon.scss +61 -0
  51. package/src/scss/components/_switch.scss +77 -0
  52. package/src/scss/components/_tabulator.scss +386 -0
  53. package/src/scss/components/_textareas.scss +22 -0
  54. package/src/scss/components/_toast.scss +129 -0
  55. package/src/scss/custom/_campaign-id.scss +56 -0
  56. package/src/scss/custom/_img-not-found.scss +7 -0
  57. package/src/scss/custom/_modal-edit.scss +10 -0
  58. package/src/scss/index.jsx +0 -0
  59. package/src/scss/index.scss +9 -0
  60. package/src/scss/layout/_aurora.scss +39 -0
  61. package/src/scss/layout/_authentication.scss +65 -0
  62. package/src/scss/layout/_footer.scss +21 -0
  63. package/src/scss/layout/_main.scss +41 -0
  64. package/src/scss/layout/_navbar.scss +64 -0
  65. package/src/scss/views/_skeleton.scss +266 -0
  66. package/src/stories/Button.stories.jsx +11 -0
@@ -0,0 +1,808 @@
1
+ // Use
2
+ @use '../abstracts/helpers' as h;
3
+
4
+ .btn {
5
+ @include h.font-family(h.$font-family-secondary, 1rem, h.$white, 700);
6
+ line-height: 1rem;
7
+ background-color: h.$ga-brand-midtone;
8
+ border-color: transparent;
9
+ color: h.$white;
10
+ padding: 1em 1.5em;
11
+ @include h.transition(
12
+ color background-color box-shadow transform border-color,
13
+ 0.15s,
14
+ ease-in-out
15
+ );
16
+ box-shadow: 0px 0px 0px rgba(h.$ga-brand-midtone, 35%);
17
+ transform: translateY(0);
18
+ display: flex;
19
+ flex-direction: row;
20
+ width: 100%;
21
+ align-items: center;
22
+ justify-content: center;
23
+ border-radius: h.$border-radius-sm;
24
+ gap: 0.5rem;
25
+ height: 3rem;
26
+ white-space: nowrap;
27
+
28
+ @include h.respond-to(h.$md) {
29
+ width: auto;
30
+ }
31
+
32
+ &:hover {
33
+ background-color: h.$ga-brand-midtone;
34
+ border-color: h.$ga-brand-midtone;
35
+ box-shadow: 0px 6px 16px rgba(h.$ga-brand-midtone, 35%);
36
+ transform: translateY(-0.146rem);
37
+ color: h.$white;
38
+ }
39
+
40
+ &:active,
41
+ &:first-child:active {
42
+ color: h.$white !important;
43
+ background-color: h.$ga-brand-midtone !important;
44
+ border-color: h.$ga-brand-midtone !important;
45
+ }
46
+
47
+ &:not(:has(span)) {
48
+ padding: 1em;
49
+ width: auto;
50
+ }
51
+
52
+ i,
53
+ .icon {
54
+ width: 1em;
55
+ height: 1em;
56
+ }
57
+
58
+ span,
59
+ i {
60
+ @include h.transition(color, 0.15s, ease-in-out);
61
+ }
62
+
63
+ // VARIANTS
64
+
65
+ // Secondary
66
+ &.btn-secondary {
67
+ background-color: lighten(h.$ga-brand-midtone, 50%);
68
+ border-color: lighten(h.$ga-brand-midtone, 50%);
69
+ color: h.$ga-brand-midtone;
70
+
71
+ &:hover {
72
+ transform: translate(0);
73
+ box-shadow: none;
74
+ border-color: h.$ga-brand-midtone;
75
+ background-color: h.$ga-brand-midtone;
76
+ color: h.$white;
77
+ }
78
+ }
79
+
80
+ // Terciary
81
+ &.btn-terciary {
82
+ background-color: transparent;
83
+ border-color: transparent;
84
+ color: h.$ga-brand-midtone;
85
+
86
+ .icon {
87
+ path {
88
+ fill: h.$ga-brand-midtone;
89
+ }
90
+
91
+ &.caret {
92
+ path {
93
+ fill: h.$ga-brand-midtone;
94
+ }
95
+ }
96
+ }
97
+
98
+ &:hover,
99
+ &:active,
100
+ &.show {
101
+ transform: translate(0);
102
+ box-shadow: none;
103
+ border-color: rgba(h.$ga-brand-dark, 5%);
104
+ background-color: rgba(h.$ga-brand-dark, 10%) !important;
105
+ color: h.$ga-brand-midtone !important;
106
+
107
+ span {
108
+ color: h.$ga-brand-midtone;
109
+ }
110
+
111
+ .icon {
112
+ path {
113
+ fill: h.$ga-brand-midtone;
114
+ }
115
+ }
116
+ }
117
+
118
+ &:focus {
119
+ box-shadow: 0 0 0 0.25rem rgba(h.$ga-brand-dark, 0.5);
120
+ }
121
+
122
+ &.danger {
123
+ color: h.$error;
124
+
125
+ i,
126
+ span {
127
+ color: h.$error;
128
+ }
129
+
130
+ &:hover,
131
+ &:active {
132
+ color: h.$error !important;
133
+ border-color: lighten(h.$error, 40%) !important;
134
+ background-color: lighten(h.$error, 40%) !important;
135
+
136
+ i,
137
+ span {
138
+ color: h.$error;
139
+ }
140
+ }
141
+ }
142
+ }
143
+
144
+ // Outline
145
+ &.btn-outline {
146
+ background-color: transparent;
147
+ border: 1px solid h.$ga-brand-midtone;
148
+ color: h.$ga-brand-midtone;
149
+
150
+ i,
151
+ span,
152
+ .icon {
153
+ color: h.$ga-brand-midtone;
154
+
155
+ path {
156
+ fill: h.$ga-brand-midtone;
157
+ }
158
+ }
159
+
160
+ &:hover {
161
+ transform: translate(0);
162
+ box-shadow: none;
163
+ border-color: h.$ga-brand-midtone;
164
+ background-color: lighten(h.$ga-brand-midtone, 50%);
165
+ color: h.$ga-brand-midtone;
166
+
167
+ i,
168
+ span,
169
+ .icon {
170
+ color: h.$ga-brand-midtone;
171
+
172
+ path {
173
+ fill: h.$ga-brand-midtone
174
+ }
175
+ }
176
+ }
177
+
178
+ &:active,
179
+ &.show {
180
+ border-color: h.$ga-brand-midtone !important;
181
+ background-color: h.$ga-brand-midtone !important;
182
+ color: h.$white !important;
183
+
184
+ i,
185
+ span,
186
+ .icon {
187
+ color: h.$white;
188
+
189
+ path {
190
+ fill: h.$white;
191
+ }
192
+ }
193
+ }
194
+
195
+ &.grey {
196
+ border-color: h.$grey-dark;
197
+
198
+ i,
199
+ span,
200
+ .icon {
201
+ color: h.$grey-dark;
202
+
203
+ path {
204
+ fill: h.$grey-dark;
205
+ }
206
+ }
207
+
208
+ &:hover,
209
+ &:active {
210
+ color: h.$white !important;
211
+ border-color: h.$ga-brand-midtone !important;
212
+
213
+ i,
214
+ span,
215
+ .icon {
216
+ color: h.$white;
217
+
218
+ path {
219
+ fill: h.$white;
220
+ }
221
+ }
222
+
223
+ &:hover {
224
+ background-color: h.$ga-brand-midtone;
225
+ border-color: h.$ga-brand-midtone;
226
+ color: h.$white;
227
+ }
228
+ }
229
+
230
+ &.show {
231
+ border-color: h.$ga-brand-midtone;
232
+
233
+ i,
234
+ span,
235
+ .icon {
236
+ color: h.$white;
237
+
238
+ path {
239
+ fill: h.$white;
240
+ }
241
+ }
242
+ }
243
+
244
+ &:active {
245
+ color: h.$white !important;
246
+ border-color: h.$ga-brand-midtone !important;
247
+
248
+ i,
249
+ span,
250
+ .icon {
251
+ color: h.$white;
252
+ }
253
+ }
254
+ }
255
+ }
256
+
257
+ // oAuth
258
+ &.oauth {
259
+ width: 100%;
260
+ max-width: 300px;
261
+ justify-content: flex-start;
262
+ align-items: center;
263
+ margin-bottom: 1rem;
264
+ padding: 0.5rem 1.5rem;
265
+ height: inherit;
266
+
267
+ &.google {
268
+ background-color: h.$white;
269
+ border: 1px solid h.$grey-light;
270
+ display: flex;
271
+ align-items: center;
272
+ justify-content: center;
273
+
274
+ span {
275
+ color: h.$grey-dark;
276
+ }
277
+
278
+ &:hover {
279
+ background-color: h.$white;
280
+ border: 1px solid h.$grey-light;
281
+ }
282
+ }
283
+
284
+ &.linkedin {
285
+ background-color: h.$linkedin-brand;
286
+ border: 1px solid h.$linkedin-brand;
287
+
288
+ span {
289
+ color: h.$white;
290
+ }
291
+
292
+ &:hover {
293
+ background-color: h.$linkedin-brand;
294
+ border: 1px solid h.$linkedin-brand;
295
+ }
296
+ }
297
+
298
+ &.facebook {
299
+ background-color: h.$facebook-brand;
300
+ border: 1px solid h.$facebook-brand;
301
+
302
+ span {
303
+ color: h.$white;
304
+ }
305
+
306
+ &:hover {
307
+ background-color: h.$facebook-brand;
308
+ border: 1px solid h.$facebook-brand;
309
+ }
310
+ }
311
+
312
+ &.microsoft {
313
+ background-color: h.$white;
314
+ border: 1px solid h.$microsoft-border;
315
+
316
+ span {
317
+ color: h.$microsoft-font;
318
+ }
319
+
320
+ &:hover {
321
+ background-color: h.$white;
322
+ border: 1px solid h.$microsoft-border;
323
+ }
324
+ }
325
+
326
+ &.apple {
327
+ background-color: h.$black;
328
+ border: 1px solid h.$black;
329
+
330
+ span {
331
+ color: h.$white;
332
+ }
333
+
334
+ &:hover {
335
+ background-color: h.$black;
336
+ border: 1px solid h.$black;
337
+ }
338
+ }
339
+
340
+ .logo {
341
+ width: 1.5rem;
342
+ height: 1.5rem;
343
+ margin-right: 1rem;
344
+ }
345
+ }
346
+
347
+ // Input
348
+ &.btn-input {
349
+ background-color: h.$white;
350
+ border: 1px solid h.$grey-dark;
351
+ color: h.$grey-dark;
352
+ font-weight: 400;
353
+ justify-content: space-between;
354
+ align-items: flex-start;
355
+ min-height: 3rem;
356
+ height: auto;
357
+ padding: 1em 0.75em;
358
+
359
+ &:hover,
360
+ &:active {
361
+ transform: translate(0);
362
+ box-shadow: none;
363
+ background-color: h.$white !important;
364
+ color: h.$grey-dark !important;
365
+ }
366
+
367
+ .highlighted {
368
+ font-weight: 700;
369
+ color: h.$secondary-dark;
370
+ }
371
+
372
+ &.not-validated {
373
+ border-color: h.$error;
374
+ padding-right: calc(1.5em + 0.75rem);
375
+ background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");
376
+ background-repeat: no-repeat;
377
+ background-position: right calc(0.375em + 0.1875rem) center;
378
+ background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
379
+ background-color: lighten(h.$error, 40%) !important;
380
+ border-top-right-radius: 0;
381
+
382
+ &:focus {
383
+ border-color: h.$error;
384
+ box-shadow: 0 0 0 0.25rem rgba(h.$error, 0.25);
385
+
386
+ & ~ .label {
387
+ color: h.$error;
388
+ }
389
+ }
390
+
391
+ & ~ .label {
392
+ color: h.$error;
393
+ }
394
+ }
395
+
396
+ .label {
397
+ @include h.transition(transform color top, 0.2s, cubic-bezier(0, 0, 0.2, 1));
398
+ }
399
+
400
+ .wrapper {
401
+ display: flex;
402
+ gap: 0.5rem;
403
+ flex-wrap: wrap;
404
+ }
405
+
406
+ &:has(.wrapper) {
407
+ .label {
408
+ position: absolute;
409
+ text-shadow: h.commonTextShadow(h.$white);
410
+ transform: scale(0.85)translateX(-0.5em);
411
+ top: -0.5em;
412
+ }
413
+ }
414
+
415
+ &.show {
416
+ border-color: h.$secondary-violet;
417
+ box-shadow: 0 0 0 2px h.$secondary-violet;
418
+
419
+ .label {
420
+ color: h.$secondary-violet;
421
+ }
422
+ }
423
+ }
424
+
425
+ // User
426
+ &:has(.avatar) {
427
+ padding: 0.375em;
428
+
429
+ .avatar {
430
+ border-radius: 100%;
431
+ overflow: hidden;
432
+ box-shadow: none;
433
+ @include h.transition(box-shadow, 0.15s, ease-in-out);
434
+
435
+ img {
436
+ width: 2.375em;
437
+ height: 2.375em;
438
+ }
439
+ }
440
+
441
+ span {
442
+ color: h.$grey-dark;
443
+ display: none;
444
+ max-width: 144px;
445
+
446
+ @include h.simpleEllipsisText;
447
+ @include h.transition(color, 0.15s, ease-in-out);
448
+ @include h.respond-to(h.$md) {
449
+ display: block;
450
+ }
451
+ }
452
+
453
+ &.show {
454
+ border-color: lighten(h.$ga-brand-midtone, 50%);
455
+ background-color: lighten(h.$ga-brand-midtone, 50%);
456
+
457
+ .avatar {
458
+ box-shadow: 0 0 0 3px h.$ga-brand-midtone;
459
+ }
460
+ }
461
+ }
462
+
463
+ // SIZES
464
+
465
+ // Small
466
+ &.btn-xs {
467
+ font-size: 0.875rem;
468
+ line-height: 1em;
469
+ padding: 0.75em 1.375em;
470
+ height: 2.375rem;
471
+ border-radius: h.$border-radius-xs;
472
+
473
+ &:not(:has(span)) {
474
+ padding: 0.75em;
475
+ }
476
+ }
477
+
478
+ // Large
479
+ &.btn-lg {
480
+ font-size: 1.25rem;
481
+ line-height: 1em;
482
+ padding: 1.25em 2.25em;
483
+ height: 3.75rem;
484
+ border-radius: h.$border-radius-md;
485
+
486
+ &:not(:has(span)) {
487
+ padding: 1.25em;
488
+ }
489
+ }
490
+
491
+ // STYLES
492
+
493
+ //Success
494
+ &.btn-success {
495
+ background-color: h.$success;
496
+ border-color: h.$success;
497
+
498
+ &.btn-secondary {
499
+ background-color: h.$success-bg;
500
+ border-color: h.$success-bg;
501
+ color: h.$safeSuccess;
502
+
503
+ &:hover,
504
+ &:active,
505
+ &:first-child:active {
506
+ border-color: h.$success !important;
507
+ background-color: h.$success !important;
508
+ color: h.$white !important;
509
+ }
510
+ }
511
+
512
+ &.btn-terciary {
513
+ background-color: transparent;
514
+ border-color: transparent;
515
+ color: h.$success;
516
+
517
+ .icon {
518
+ path {
519
+ fill: h.$success;
520
+ }
521
+
522
+ &.caret {
523
+ path {
524
+ fill: h.$success;
525
+ }
526
+ }
527
+ }
528
+
529
+ &:hover,
530
+ &:active,
531
+ &.show {
532
+ border-color: rgba(h.$safeSuccess, 5%) !important;
533
+ background-color: h.$success-bg !important;
534
+ color: h.$safeSuccess !important;
535
+
536
+ span {
537
+ color: h.$safeSuccess;
538
+ }
539
+
540
+ .icon {
541
+ path {
542
+ fill: h.$safeSuccess;
543
+ }
544
+ }
545
+ }
546
+
547
+ &:focus {
548
+ box-shadow: 0 0 0 0.25rem rgba(h.$safeSuccess, 0.5);
549
+ }
550
+ }
551
+
552
+ &.btn-outline {
553
+ background-color: transparent;
554
+ border: 1px solid h.$success;
555
+ color: h.$safeSuccess;
556
+
557
+ i,
558
+ span,
559
+ .icon {
560
+ color: h.$success;
561
+
562
+ path {
563
+ fill: h.$success;
564
+ }
565
+ }
566
+
567
+ &:hover,
568
+ &:active {
569
+ border-color: h.$success !important;
570
+ background-color: rgba(h.$success, 20%) !important;
571
+ color: h.$success;
572
+
573
+ i,
574
+ span,
575
+ .icon {
576
+ color: h.$success;
577
+
578
+ path {
579
+ fill: h.$success;
580
+ }
581
+ }
582
+ }
583
+ }
584
+ }
585
+
586
+ // Danger
587
+ &.btn-danger {
588
+ background-color: h.$error;
589
+ border-color: h.$error;
590
+
591
+ &.btn-secondary {
592
+ background-color: lighten(h.$error, 40%);
593
+ border-color: lighten(h.$error, 40%);
594
+ color: h.$error;
595
+
596
+ &:hover,
597
+ &:active,
598
+ &:first-child:active {
599
+ border-color: h.$error !important;
600
+ background-color: h.$error !important;
601
+ color: h.$white !important;
602
+ }
603
+ }
604
+
605
+ &.btn-terciary {
606
+ background-color: transparent;
607
+ border-color: transparent;
608
+ color: h.$error;
609
+
610
+ .icon {
611
+ path {
612
+ fill: h.$error;
613
+ }
614
+
615
+ &.caret {
616
+ path {
617
+ fill: h.$error;
618
+ }
619
+ }
620
+ }
621
+
622
+ &:hover,
623
+ &:active,
624
+ &.show {
625
+ background-color: lighten(h.$error, 40%) !important;
626
+ border-color: lighten(h.$error, 40%) !important;
627
+ color: h.$error !important;
628
+
629
+ span {
630
+ color: h.$error;
631
+ }
632
+
633
+ .icon {
634
+ path {
635
+ fill: h.$error;
636
+ }
637
+ }
638
+ }
639
+
640
+ &:focus {
641
+ box-shadow: 0 0 0 0.25rem rgba(h.$error, 0.5);
642
+ }
643
+ }
644
+
645
+ &.btn-outline {
646
+ background-color: transparent;
647
+ border: 1px solid h.$error;
648
+ color: h.$error;
649
+
650
+ i,
651
+ span,
652
+ .icon {
653
+ color: h.$error;
654
+
655
+ path {
656
+ fill: h.$error;
657
+ }
658
+ }
659
+
660
+ &:hover,
661
+ &:active {
662
+ border-color: h.$error !important;
663
+ background-color: rgba(h.$error, 20%) !important;
664
+ color: h.$error;
665
+
666
+ i,
667
+ span,
668
+ .icon {
669
+ color: h.$error;
670
+
671
+ path {
672
+ fill: h.$error;
673
+ }
674
+ }
675
+ }
676
+ }
677
+ }
678
+
679
+ // Warning
680
+ &.btn-warning {
681
+ background-color: h.$warning;
682
+ border-color: h.$warning;
683
+
684
+ &.btn-secondary {
685
+ background-color: h.$warning-bg;
686
+ border-color: h.$warning-bg;
687
+ color: h.$safeWarning;
688
+
689
+ &:hover,
690
+ &:active,
691
+ &:first-child:active {
692
+ border-color: h.$warning !important;
693
+ background-color: h.$warning !important;
694
+ color: h.$white !important;
695
+ }
696
+ }
697
+
698
+ &.btn-terciary {
699
+ background-color: transparent;
700
+ border-color: transparent;
701
+ color: h.$warning;
702
+
703
+ .icon {
704
+ path {
705
+ fill: h.$warning;
706
+ }
707
+
708
+ &.caret {
709
+ path {
710
+ fill: h.$warning;
711
+ }
712
+ }
713
+ }
714
+
715
+ &:hover,
716
+ &:active,
717
+ &.show {
718
+ border-color: rgba(h.$safeWarning, 5%) !important;
719
+ background-color: h.$warning-bg !important;
720
+ color: h.$safeWarning !important;
721
+
722
+ span {
723
+ color: h.$safeWarning;
724
+ }
725
+
726
+ .icon {
727
+ path {
728
+ fill: h.$safeWarning;
729
+ }
730
+ }
731
+ }
732
+
733
+ &:focus {
734
+ box-shadow: 0 0 0 0.25rem rgba(h.$safeWarning, 0.5);
735
+ }
736
+ }
737
+
738
+ &.btn-outline {
739
+ background-color: transparent;
740
+ border: 1px solid h.$warning;
741
+ color: h.$safeWarning;
742
+
743
+ i,
744
+ span,
745
+ .icon {
746
+ color: h.$warning;
747
+
748
+ path {
749
+ fill: h.$warning;
750
+ }
751
+ }
752
+
753
+ &:hover,
754
+ &:active {
755
+ border-color: h.$warning !important;
756
+ background-color: rgba(h.$warning, 20%) !important;
757
+ color: h.$warning;
758
+
759
+ i,
760
+ span,
761
+ .icon {
762
+ color: h.$warning;
763
+
764
+ path {
765
+ fill: h.$warning;
766
+ }
767
+ }
768
+ }
769
+ }
770
+ }
771
+
772
+ // Link
773
+ &.btn-link {
774
+ color: h.$ga-brand-light;
775
+ border-color: transparent;
776
+ background-color: transparent;
777
+ font-weight: 400;
778
+ transition-duration: 0;
779
+
780
+ &:hover,
781
+ &:active,
782
+ &:focus {
783
+ color: h.$ga-brand-midtone !important;
784
+ background-color: transparent !important;
785
+ border-color: transparent !important;
786
+ transform: none;
787
+ box-shadow: none;
788
+ }
789
+
790
+ span {
791
+ transition: none;
792
+ }
793
+ }
794
+
795
+ // PROCESSING
796
+ &.btn-processing {
797
+ pointer-events: none;
798
+ .fa-spin {
799
+ animation-duration: h.$spinner-duration;
800
+ }
801
+ }
802
+
803
+ // Disabled
804
+ &:disabled {
805
+ opacity: 0.4;
806
+ pointer-events: none;
807
+ }
808
+ }