@wizco/fenixds-core 1.0.21 → 1.0.22

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.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@wizco/fenixds-core",
3
3
  "description": "Fenix design system é um produto da Wiz com ativos de design e código de front-end para ajudar as equipes na criação dos seus produtos.",
4
- "version": "1.0.21",
4
+ "version": "1.0.22",
5
5
  "private": false,
6
6
  "sideEffects": false,
7
7
  "author": "Raul Melo Fernandez",
package/styles/core.css CHANGED
@@ -379,6 +379,8 @@
379
379
  background-repeat: no-repeat;
380
380
  background-size: 1000px 100%; }
381
381
 
382
+ button.wco-btn,
383
+ a.wco-btn,
382
384
  button.btn,
383
385
  a.btn {
384
386
  font-size: var(--btn-size, 16px);
@@ -398,13 +400,19 @@ a.btn {
398
400
  cursor: pointer;
399
401
  text-decoration: none;
400
402
  font-family: var(--wco-font-family); }
403
+ button.wco-btn:focus-visible,
404
+ a.wco-btn:focus-visible,
401
405
  button.btn:focus-visible,
402
406
  a.btn:focus-visible {
403
407
  outline: 2px solid var(--btn-focus, var(--textBtn)); }
408
+ button.wco-btn:not([class*=" bg-"]),
409
+ a.wco-btn:not([class*=" bg-"]),
404
410
  button.btn:not([class*=" bg-"]),
405
411
  a.btn:not([class*=" bg-"]) {
406
412
  background-color: var(--bgBtn);
407
413
  color: var(--textBtn); }
414
+ button.wco-btn:disabled:not(.btn-loading),
415
+ a.wco-btn:disabled:not(.btn-loading),
408
416
  button.btn:disabled:not(.btn-loading),
409
417
  a.btn:disabled:not(.btn-loading) {
410
418
  text-decoration: none;
@@ -412,16 +420,26 @@ a.btn {
412
420
  --textBtn: var(--wco-color-neutral-900);
413
421
  pointer-events: none;
414
422
  opacity: 0.4; }
415
- button.btn:not(:disabled):hover, button.btn:not(.btn-loading):hover,
423
+ button.wco-btn:not(:disabled):hover, button.wco-btn:not(.btn-loading):hover,
424
+ a.wco-btn:not(:disabled):hover,
425
+ a.wco-btn:not(.btn-loading):hover,
426
+ button.btn:not(:disabled):hover,
427
+ button.btn:not(.btn-loading):hover,
416
428
  a.btn:not(:disabled):hover,
417
429
  a.btn:not(.btn-loading):hover {
418
430
  transform: scale(1);
419
431
  box-shadow: var(--wco-shadow-level-1); }
420
- button.btn:not(:disabled):active, button.btn:not(.btn-loading):active,
432
+ button.wco-btn:not(:disabled):active, button.wco-btn:not(.btn-loading):active,
433
+ a.wco-btn:not(:disabled):active,
434
+ a.wco-btn:not(.btn-loading):active,
435
+ button.btn:not(:disabled):active,
436
+ button.btn:not(.btn-loading):active,
421
437
  a.btn:not(:disabled):active,
422
438
  a.btn:not(.btn-loading):active {
423
439
  transform: scale(0.99) translateY(0.5px);
424
440
  box-shadow: var(--wco-shadow-level-0); }
441
+ button.wco-btn:not([class*=" btn-loading"]):after,
442
+ a.wco-btn:not([class*=" btn-loading"]):after,
425
443
  button.btn:not([class*=" btn-loading"]):after,
426
444
  a.btn:not([class*=" btn-loading"]):after {
427
445
  content: "";
@@ -434,129 +452,191 @@ a.btn {
434
452
  filter: contrast(100px);
435
453
  opacity: 0.1;
436
454
  transition: all 300ms ease; }
455
+ button.wco-btn.btn-primary,
456
+ a.wco-btn.btn-primary,
437
457
  button.btn.btn-primary,
438
458
  a.btn.btn-primary {
439
459
  --bgBtn: var(--wco-color-primary-600);
440
460
  --textBtn: var(--wco-color-primary-text);
441
461
  --btn-focus: var(--wco-color-primary-900); }
462
+ button.wco-btn.btn-primary:hover:not(.btn-outline),
463
+ a.wco-btn.btn-primary:hover:not(.btn-outline),
442
464
  button.btn.btn-primary:hover:not(.btn-outline),
443
465
  a.btn.btn-primary:hover:not(.btn-outline) {
444
466
  --bgBtn: var(--wco-color-primary-700);
445
467
  --textBtn: var(--wco-color-primary-50); }
468
+ button.wco-btn.btn-primary:active:not(.btn-outline),
469
+ a.wco-btn.btn-primary:active:not(.btn-outline),
446
470
  button.btn.btn-primary:active:not(.btn-outline),
447
471
  a.btn.btn-primary:active:not(.btn-outline) {
448
472
  --bgBtn: var(--wco-color-primary-700);
449
473
  --textBtn: var(--wco-color-primary-50); }
474
+ button.wco-btn.btn-primary.btn-outline,
475
+ a.wco-btn.btn-primary.btn-outline,
450
476
  button.btn.btn-primary.btn-outline,
451
477
  a.btn.btn-primary.btn-outline {
452
478
  background-color: transparent;
453
479
  --textBtn: var(--wco-color-primary-600);
454
480
  --btn-focus: var(--wco-color-primary-600); }
481
+ button.wco-btn.btn-primary.btn-outline:hover,
482
+ a.wco-btn.btn-primary.btn-outline:hover,
455
483
  button.btn.btn-primary.btn-outline:hover,
456
484
  a.btn.btn-primary.btn-outline:hover {
457
485
  background-color: var(--wco-color-primary-50);
458
486
  --textBtn: var(--wco-color-primary-700);
459
487
  --bgBtn: var(--wco-color-primary-700); }
488
+ button.wco-btn.btn-primary.btn-outline:active,
489
+ a.wco-btn.btn-primary.btn-outline:active,
460
490
  button.btn.btn-primary.btn-outline:active,
461
491
  a.btn.btn-primary.btn-outline:active {
462
492
  background-color: var(--wco-color-primary-50); }
493
+ button.wco-btn.btn-primary.btn-basic,
494
+ a.wco-btn.btn-primary.btn-basic,
463
495
  button.btn.btn-primary.btn-basic,
464
496
  a.btn.btn-primary.btn-basic {
465
497
  box-shadow: none;
466
498
  --bgBtn: transparent;
467
499
  --textBtn: var(--wco-color-primary-600); }
500
+ button.wco-btn.btn-primary.btn-basic:hover,
501
+ a.wco-btn.btn-primary.btn-basic:hover,
468
502
  button.btn.btn-primary.btn-basic:hover,
469
503
  a.btn.btn-primary.btn-basic:hover {
470
504
  --textBtn: var(--wco-color-primary-700);
471
505
  --bgBtn: var(--wco-color-primary-50); }
472
- button.btn.btn-primary.btn-basic:focus-visible, button.btn.btn-primary.btn-basic:active,
506
+ button.wco-btn.btn-primary.btn-basic:focus-visible, button.wco-btn.btn-primary.btn-basic:active,
507
+ a.wco-btn.btn-primary.btn-basic:focus-visible,
508
+ a.wco-btn.btn-primary.btn-basic:active,
509
+ button.btn.btn-primary.btn-basic:focus-visible,
510
+ button.btn.btn-primary.btn-basic:active,
473
511
  a.btn.btn-primary.btn-basic:focus-visible,
474
512
  a.btn.btn-primary.btn-basic:active {
475
513
  --textBtn: var(--wco-color-primary-900);
476
514
  --bgBtn: var(--wco-color-primary-100); }
515
+ button.wco-btn.btn-secondary,
516
+ a.wco-btn.btn-secondary,
477
517
  button.btn.btn-secondary,
478
518
  a.btn.btn-secondary {
479
519
  --bgBtn: var(--wco-color-secondary-100);
480
520
  --textBtn: var(--wco-color-secondary-900);
481
521
  --btn-focus: var(--wco-color-secondary-900); }
522
+ button.wco-btn.btn-secondary:hover:not(.btn-outline),
523
+ a.wco-btn.btn-secondary:hover:not(.btn-outline),
482
524
  button.btn.btn-secondary:hover:not(.btn-outline),
483
525
  a.btn.btn-secondary:hover:not(.btn-outline) {
484
526
  --bgBtn: var(--wco-color-secondary-50);
485
527
  --textBtn: var(--wco-color-secondary-900);
486
528
  box-shadow: none; }
529
+ button.wco-btn.btn-secondary:active:not(.btn-outline),
530
+ a.wco-btn.btn-secondary:active:not(.btn-outline),
487
531
  button.btn.btn-secondary:active:not(.btn-outline),
488
532
  a.btn.btn-secondary:active:not(.btn-outline) {
489
533
  --bgBtn: var(--wco-color-secondary-50);
490
534
  --textBtn: var(--wco-color-secondary-900); }
535
+ button.wco-btn.btn-secondary.btn-outline,
536
+ a.wco-btn.btn-secondary.btn-outline,
491
537
  button.btn.btn-secondary.btn-outline,
492
538
  a.btn.btn-secondary.btn-outline {
493
539
  background-color: transparent;
494
540
  --textBtn: var(--wco-color-secondary-600);
495
541
  --btn-focus: var(--wco-color-secondary-600); }
542
+ button.wco-btn.btn-secondary.btn-outline:hover,
543
+ a.wco-btn.btn-secondary.btn-outline:hover,
496
544
  button.btn.btn-secondary.btn-outline:hover,
497
545
  a.btn.btn-secondary.btn-outline:hover {
498
546
  background-color: var(--wco-color-secondary-50); }
547
+ button.wco-btn.btn-secondary.btn-outline:active,
548
+ a.wco-btn.btn-secondary.btn-outline:active,
499
549
  button.btn.btn-secondary.btn-outline:active,
500
550
  a.btn.btn-secondary.btn-outline:active {
501
551
  background-color: var(--wco-color-secondary-100); }
552
+ button.wco-btn.btn-secondary.btn-basic,
553
+ a.wco-btn.btn-secondary.btn-basic,
502
554
  button.btn.btn-secondary.btn-basic,
503
555
  a.btn.btn-secondary.btn-basic {
504
556
  box-shadow: none;
505
557
  --bgBtn: transparent;
506
558
  --textBtn: var(--wco-color-secondary-600); }
559
+ button.wco-btn.btn-secondary.btn-basic:hover,
560
+ a.wco-btn.btn-secondary.btn-basic:hover,
507
561
  button.btn.btn-secondary.btn-basic:hover,
508
562
  a.btn.btn-secondary.btn-basic:hover {
509
563
  --textBtn: var(--wco-color-secondary-700);
510
564
  --bgBtn: var(--wco-color-secondary-50); }
511
- button.btn.btn-secondary.btn-basic:focus-visible, button.btn.btn-secondary.btn-basic:active,
565
+ button.wco-btn.btn-secondary.btn-basic:focus-visible, button.wco-btn.btn-secondary.btn-basic:active,
566
+ a.wco-btn.btn-secondary.btn-basic:focus-visible,
567
+ a.wco-btn.btn-secondary.btn-basic:active,
568
+ button.btn.btn-secondary.btn-basic:focus-visible,
569
+ button.btn.btn-secondary.btn-basic:active,
512
570
  a.btn.btn-secondary.btn-basic:focus-visible,
513
571
  a.btn.btn-secondary.btn-basic:active {
514
572
  --textBtn: var(--wco-color-secondary-900);
515
573
  --bgBtn: var(--wco-color-secondary-100); }
574
+ button.wco-btn.btn-link,
575
+ a.wco-btn.btn-link,
516
576
  button.btn.btn-link,
517
577
  a.btn.btn-link {
518
578
  background-color: transparent;
519
579
  --textBtn: var(--wco-color-primary-600);
520
580
  text-decoration: underline; }
581
+ button.wco-btn.btn-link:hover:not(.btn-outline),
582
+ a.wco-btn.btn-link:hover:not(.btn-outline),
521
583
  button.btn.btn-link:hover:not(.btn-outline),
522
584
  a.btn.btn-link:hover:not(.btn-outline) {
523
585
  --textBtn: var(--wco-color-primary-700);
524
586
  box-shadow: none; }
587
+ button.wco-btn.btn-link:active:not(.btn-outline),
588
+ a.wco-btn.btn-link:active:not(.btn-outline),
525
589
  button.btn.btn-link:active:not(.btn-outline),
526
590
  a.btn.btn-link:active:not(.btn-outline) {
527
591
  background-color: var(--wco-color-primary-100);
528
592
  --bgBtn: var(--wco-color-primary-900);
529
593
  --textBtn: var(--wco-color-primary-900);
530
594
  box-shadow: none; }
595
+ button.wco-btn.btn-link.btn-outline,
596
+ a.wco-btn.btn-link.btn-outline,
531
597
  button.btn.btn-link.btn-outline,
532
598
  a.btn.btn-link.btn-outline {
533
599
  border: 0px solid transparent; }
600
+ button.wco-btn.btn-full,
601
+ a.wco-btn.btn-full,
534
602
  button.btn.btn-full,
535
603
  a.btn.btn-full {
536
604
  width: 100%;
537
605
  min-width: max-content; }
606
+ button.wco-btn.btn-md,
607
+ a.wco-btn.btn-md,
538
608
  button.btn.btn-md,
539
609
  a.btn.btn-md {
540
610
  --btn-min-h: 40px; }
611
+ button.wco-btn.btn-sm,
612
+ a.wco-btn.btn-sm,
541
613
  button.btn.btn-sm,
542
614
  a.btn.btn-sm {
543
615
  --btn-min-h: 32px;
544
616
  --btn-size: 14px;
545
617
  --btn-padding: 4px 16px; }
618
+ button.wco-btn.btn-outline,
619
+ a.wco-btn.btn-outline,
546
620
  button.btn.btn-outline,
547
621
  a.btn.btn-outline {
548
622
  border: 2px solid var(--bgBtn); }
623
+ button.wco-btn.btn-outline:disabled,
624
+ a.wco-btn.btn-outline:disabled,
549
625
  button.btn.btn-outline:disabled,
550
626
  a.btn.btn-outline:disabled {
551
627
  background-color: transparent;
552
628
  --textBtn: var(--wco-color-neutral-50);
553
629
  --bgBtn: var(--wco-color-neutral-700); }
630
+ button.wco-btn.btn-loading,
631
+ a.wco-btn.btn-loading,
554
632
  button.btn.btn-loading,
555
633
  a.btn.btn-loading {
556
634
  position: relative;
557
635
  overflow: hidden;
558
636
  pointer-events: none;
559
637
  cursor: none; }
638
+ button.wco-btn.btn-loading:before,
639
+ a.wco-btn.btn-loading:before,
560
640
  button.btn.btn-loading:before,
561
641
  a.btn.btn-loading:before {
562
642
  position: absolute;
@@ -564,6 +644,8 @@ a.btn {
564
644
  left: 0;
565
645
  width: 0%;
566
646
  height: 100%; }
647
+ button.wco-btn.btn-loading:before,
648
+ a.wco-btn.btn-loading:before,
567
649
  button.btn.btn-loading:before,
568
650
  a.btn.btn-loading:before {
569
651
  content: "";
@@ -574,20 +656,28 @@ a.btn {
574
656
  @keyframes loadingButton {
575
657
  to {
576
658
  width: 100%; } }
659
+ button.wco-btn.btn-icon,
660
+ a.wco-btn.btn-icon,
577
661
  button.btn.btn-icon,
578
662
  a.btn.btn-icon {
579
663
  --btn-padding: 4px;
580
664
  min-height: var(--btn-min-h, 48px);
581
665
  min-width: var(--btn-min-h, 48px); }
666
+ button.wco-btn.btn.btn-notification,
667
+ a.wco-btn.btn.btn-notification,
582
668
  button.btn.btn.btn-notification,
583
669
  a.btn.btn.btn-notification {
584
670
  --btn-notification-size: var(--wco-spacing-xxs);
585
671
  --btn-notification-time: 2s;
586
672
  --btn-notification-count: infinite;
587
673
  --btn-notification-color: var(--bgBtn); }
674
+ button.wco-btn.btn.btn-notification:not(.btn-outline):before,
675
+ a.wco-btn.btn.btn-notification:not(.btn-outline):before,
588
676
  button.btn.btn.btn-notification:not(.btn-outline):before,
589
677
  a.btn.btn.btn-notification:not(.btn-outline):before {
590
678
  outline: 2px solid var(--textBtn); }
679
+ button.wco-btn.btn.btn-notification:before,
680
+ a.wco-btn.btn.btn-notification:before,
591
681
  button.btn.btn.btn-notification:before,
592
682
  a.btn.btn.btn-notification:before {
593
683
  content: "";
@@ -648,11 +738,15 @@ a.btn {
648
738
  position: relative;
649
739
  accent-color: var(--wco-input-color-text);
650
740
  transition: box-shadow 300ms ease-in-out, border-color 300ms ease-in-out; }
741
+ .wco-form-field:has(input:required) label::after,
651
742
  .wco-form-field:has(select:required) label::after,
743
+ .wco-form-field:has(textarea:required) label::after,
652
744
  .wco-form-field input:required + label::after,
653
745
  .wco-form-field textarea:required + label::after,
654
746
  .wco-form-field input:invalid:not(:placeholder-shown):required + label,
747
+ .form-field:has(input:required) label::after,
655
748
  .form-field:has(select:required) label::after,
749
+ .form-field:has(textarea:required) label::after,
656
750
  .form-field input:required + label::after,
657
751
  .form-field textarea:required + label::after,
658
752
  .form-field input:invalid:not(:placeholder-shown):required + label {
@@ -734,39 +828,6 @@ a.btn {
734
828
  --input-border: 1px solid var(--input-color-error);
735
829
  --input-shadow: 0px 2px 0px 1px var(--input-color-error);
736
830
  color: var(--input-color-error); }
737
- .wco-form-field .form-field__input.input-sm,
738
- .wco-form-field .form-field__textarea.input-sm,
739
- .wco-form-field input.input-sm,
740
- .wco-form-field textarea.input-sm,
741
- .wco-form-field select.input-sm,
742
- .form-field .form-field__input.input-sm,
743
- .form-field .form-field__textarea.input-sm,
744
- .form-field input.input-sm,
745
- .form-field textarea.input-sm,
746
- .form-field select.input-sm {
747
- height: 32px; }
748
- .wco-form-field .form-field__input.input-md,
749
- .wco-form-field .form-field__textarea.input-md,
750
- .wco-form-field input.input-md,
751
- .wco-form-field textarea.input-md,
752
- .wco-form-field select.input-md,
753
- .form-field .form-field__input.input-md,
754
- .form-field .form-field__textarea.input-md,
755
- .form-field input.input-md,
756
- .form-field textarea.input-md,
757
- .form-field select.input-md {
758
- height: 40px; }
759
- .wco-form-field .form-field__input.input-lg,
760
- .wco-form-field .form-field__textarea.input-lg,
761
- .wco-form-field input.input-lg,
762
- .wco-form-field textarea.input-lg,
763
- .wco-form-field select.input-lg,
764
- .form-field .form-field__input.input-lg,
765
- .form-field .form-field__textarea.input-lg,
766
- .form-field input.input-lg,
767
- .form-field textarea.input-lg,
768
- .form-field select.input-lg {
769
- height: 48px; }
770
831
  .wco-form-field label,
771
832
  .form-field label {
772
833
  position: absolute;
@@ -853,23 +914,33 @@ a.btn {
853
914
  --wco-input-color-text: var(--wco-color-neutral-900, #e00707);
854
915
  --wco-input-shadow: inset 0px 0px 0px 1px var(--wco-input-color-outline); }
855
916
  .wco-form-field textarea ~ label,
856
- .form-field textarea ~ label {
917
+ .wco-form-field:has(textarea) label,
918
+ .form-field textarea ~ label,
919
+ .form-field:has(textarea) label {
857
920
  top: 16px;
858
921
  transform: translateY(0); }
922
+ .wco-form-field:has(input:focus) label,
859
923
  .wco-form-field:has(select) label,
924
+ .wco-form-field:has(textarea:focus) label,
860
925
  .wco-form-field textarea:focus + label,
861
- .wco-form-field input:focus + label,
862
926
  .wco-form-field .readonly + label,
927
+ .form-field:has(input:focus) label,
863
928
  .form-field:has(select) label,
929
+ .form-field:has(textarea:focus) label,
864
930
  .form-field textarea:focus + label,
865
- .form-field input:focus + label,
866
931
  .form-field .readonly + label {
867
932
  color: var(--wco-input-color-label);
868
933
  top: 0;
869
934
  transform: translateY(-50%) translateX(-10px) scale(0.9) !important; }
935
+ .wco-form-field:has(input:not(:placeholder-shown)) label,
936
+ .wco-form-field:has(select:not(:placeholder-shown)) label,
937
+ .wco-form-field:has(textarea:not(:placeholder-shown)) label,
870
938
  .wco-form-field textarea:not(:placeholder-shown) + label,
871
939
  .wco-form-field input:not(:placeholder-shown) + label,
872
940
  .wco-form-field .readonly + label,
941
+ .form-field:has(input:not(:placeholder-shown)) label,
942
+ .form-field:has(select:not(:placeholder-shown)) label,
943
+ .form-field:has(textarea:not(:placeholder-shown)) label,
873
944
  .form-field textarea:not(:placeholder-shown) + label,
874
945
  .form-field input:not(:placeholder-shown) + label,
875
946
  .form-field .readonly + label {
@@ -881,33 +952,58 @@ a.btn {
881
952
  .form-field textarea:not(:focus)::placeholder,
882
953
  .form-field input:not(:focus)::placeholder {
883
954
  opacity: 0; }
955
+ .wco-form-field > i:first-child,
884
956
  .wco-form-field > span:first-child,
957
+ .form-field > i:first-child,
885
958
  .form-field > span:first-child {
886
959
  position: absolute;
887
960
  top: 50%;
888
961
  left: 12px;
889
962
  transform: translateY(-50%);
890
- color: var(--wco-input-color-icon); }
963
+ color: var(--wco-input-color-icon);
964
+ width: fit-content; }
965
+ .wco-form-field:has(input):has(i:first-child) label,
966
+ .wco-form-field:has(input):has(span:first-child) label,
891
967
  .wco-form-field > span ~ .form-field__input + label,
892
968
  .wco-form-field > span ~ .form-field__select + label,
969
+ .form-field:has(input):has(i:first-child) label,
970
+ .form-field:has(input):has(span:first-child) label,
893
971
  .form-field > span ~ .form-field__input + label,
894
972
  .form-field > span ~ .form-field__select + label {
895
973
  margin-left: 44px; }
974
+ .wco-form-field:has(input):has(i:first-child) input,
975
+ .wco-form-field:has(input):has(span:first-child) input,
896
976
  .wco-form-field > span ~ .form-field__select,
897
977
  .wco-form-field > span ~ .form-field__input,
978
+ .form-field:has(input):has(i:first-child) input,
979
+ .form-field:has(input):has(span:first-child) input,
898
980
  .form-field > span ~ .form-field__select,
899
981
  .form-field > span ~ .form-field__input {
900
982
  padding-left: 44px; }
983
+ .wco-form-field:has(input):has(i:last-child) input,
984
+ .wco-form-field:has(input):has(span:last-child) input,
985
+ .form-field:has(input):has(i:last-child) input,
986
+ .form-field:has(input):has(span:last-child) input {
987
+ padding-right: 44px; }
988
+ .wco-form-field:has(input):has(i:last-child) i,
989
+ .wco-form-field:has(input):has(span:last-child) span,
901
990
  .wco-form-field > .form-field__select + label + span,
902
991
  .wco-form-field > .form-field__input + label + span,
992
+ .form-field:has(input):has(i:last-child) i,
993
+ .form-field:has(input):has(span:last-child) span,
903
994
  .form-field > .form-field__select + label + span,
904
995
  .form-field > .form-field__input + label + span {
996
+ width: fit-content;
905
997
  position: absolute;
906
998
  top: 50%;
907
999
  right: 12px;
908
1000
  transform: translateY(-50%); }
1001
+ .wco-form-field:has(input):has(i:last-child) i::before,
1002
+ .wco-form-field:has(input):has(span:last-child) span::before,
909
1003
  .wco-form-field > .form-field__select + label + span::before,
910
1004
  .wco-form-field > .form-field__input + label + span::before,
1005
+ .form-field:has(input):has(i:last-child) i::before,
1006
+ .form-field:has(input):has(span:last-child) span::before,
911
1007
  .form-field > .form-field__select + label + span::before,
912
1008
  .form-field > .form-field__input + label + span::before {
913
1009
  content: '';
@@ -924,6 +1020,11 @@ a.btn {
924
1020
  .wco-form-field.form--lg,
925
1021
  .form-field.form--lg {
926
1022
  --wco-input-min-height: 48px; }
1023
+ .wco-form-field:has(input) input,
1024
+ .form-field:has(input) input {
1025
+ min-height: var(--wco-input-min-height);
1026
+ padding-top: 0;
1027
+ padding-bottom: 0; }
927
1028
  .wco-form-field:has(select) label,
928
1029
  .form-field:has(select) label {
929
1030
  z-index: 1; }
@@ -978,6 +1079,7 @@ a.btn {
978
1079
  transform: translateY(-50%);
979
1080
  width: 30px; }
980
1081
 
1082
+ label.wco-form-radio, .wco-form-radio,
981
1083
  label.form-radio, .form-radio {
982
1084
  --accent-color: var(--wco-color-primary-700);
983
1085
  --radio-size: 16px;
@@ -986,13 +1088,16 @@ label.form-radio, .form-radio {
986
1088
  justify-content: center;
987
1089
  align-items: center;
988
1090
  gap: var(--radio-gap); }
1091
+ label.wco-form-radio label, .wco-form-radio label,
989
1092
  label.form-radio label, .form-radio label {
990
1093
  display: inline-flex;
991
1094
  justify-content: center;
992
1095
  align-items: center;
993
1096
  gap: var(--radio-gap); }
1097
+ label.wco-form-radio input[type="radio"], .wco-form-radio input[type="radio"],
994
1098
  label.form-radio input[type="radio"], .form-radio input[type="radio"] {
995
1099
  display: none; }
1100
+ label.wco-form-radio input[type="radio"] ~ .radio, .wco-form-radio input[type="radio"] ~ .radio,
996
1101
  label.form-radio input[type="radio"] ~ .radio, .form-radio input[type="radio"] ~ .radio {
997
1102
  height: var(--radio-size);
998
1103
  width: var(--radio-size);
@@ -1000,6 +1105,7 @@ label.form-radio, .form-radio {
1000
1105
  position: relative;
1001
1106
  border-radius: 50%;
1002
1107
  border: 1px solid var(--wco-color-neutral-500); }
1108
+ label.wco-form-radio input[type="radio"] ~ .radio::before, .wco-form-radio input[type="radio"] ~ .radio::before,
1003
1109
  label.form-radio input[type="radio"] ~ .radio::before, .form-radio input[type="radio"] ~ .radio::before {
1004
1110
  content: "";
1005
1111
  position: absolute;
@@ -1011,23 +1117,30 @@ label.form-radio, .form-radio {
1011
1117
  border-radius: 50%;
1012
1118
  transition: box-shadow 300ms ease-in-out;
1013
1119
  box-shadow: inset 0px 0px 0px 0px var(--accent-color); }
1120
+ label.wco-form-radio input[type="radio"]:checked ~ .radio, .wco-form-radio input[type="radio"]:checked ~ .radio,
1014
1121
  label.form-radio input[type="radio"]:checked ~ .radio, .form-radio input[type="radio"]:checked ~ .radio {
1015
1122
  border: 1px solid var(--accent-color); }
1123
+ label.wco-form-radio input[type="radio"]:checked ~ .radio::before, .wco-form-radio input[type="radio"]:checked ~ .radio::before,
1016
1124
  label.form-radio input[type="radio"]:checked ~ .radio::before, .form-radio input[type="radio"]:checked ~ .radio::before {
1017
1125
  box-shadow: inset 0px 0px 12px 12px var(--accent-color); }
1126
+ label.wco-form-radio .label, .wco-form-radio .label,
1018
1127
  label.form-radio .label, .form-radio .label {
1019
1128
  color: var(--wco-color-primary-700);
1020
1129
  font-size: var(--wco-font-size-xs);
1021
1130
  font-weight: 400; }
1131
+ label.wco-form-radio input[type="radio"]:disabled ~ .radio, .wco-form-radio input[type="radio"]:disabled ~ .radio,
1022
1132
  label.form-radio input[type="radio"]:disabled ~ .radio, .form-radio input[type="radio"]:disabled ~ .radio {
1023
1133
  --accent-color: var(--wco-color-neutral-600);
1024
1134
  background-color: var(--wco-color-neutral-100est); }
1135
+ label.wco-form-radio input[type="radio"]:checked:disabled ~ .radio, .wco-form-radio input[type="radio"]:checked:disabled ~ .radio,
1025
1136
  label.form-radio input[type="radio"]:checked:disabled ~ .radio, .form-radio input[type="radio"]:checked:disabled ~ .radio {
1026
1137
  --accent-color: var(--wco-color-neutral-600);
1027
1138
  border: 1px solid var(--wco-color-neutral-600); }
1139
+ label.wco-form-radio input[type="radio"]:checked:disabled ~ .radio::before, .wco-form-radio input[type="radio"]:checked:disabled ~ .radio::before,
1028
1140
  label.form-radio input[type="radio"]:checked:disabled ~ .radio::before, .form-radio input[type="radio"]:checked:disabled ~ .radio::before {
1029
1141
  box-shadow: inset 0px 0px 12px 12px var(--wco-color-neutral-600); }
1030
1142
 
1143
+ label.wco-form-check, .wco-form-check,
1031
1144
  label.form-check, .form-check {
1032
1145
  --wco-checkbox-default-color-label: var(--wco-color-neutral-900);
1033
1146
  --wco-checkbox-default-color-iconunchecked: var(--wco-color-neutral-500);
@@ -1047,15 +1160,19 @@ label.form-check, .form-check {
1047
1160
  justify-content: center;
1048
1161
  align-items: center;
1049
1162
  gap: var(--wco-checkbox-checkbox-gap); }
1163
+ label.wco-form-check.form--readonly, .wco-form-check.form--readonly,
1050
1164
  label.form-check.form--readonly, .form-check.form--readonly {
1051
1165
  pointer-events: none; }
1166
+ label.wco-form-check label, .wco-form-check label,
1052
1167
  label.form-check label, .form-check label {
1053
1168
  display: inline-flex;
1054
1169
  justify-content: center;
1055
1170
  align-items: center;
1056
1171
  gap: var(--wco-checkbox-checkbox-gap); }
1172
+ label.wco-form-check input[type="checkbox"], .wco-form-check input[type="checkbox"],
1057
1173
  label.form-check input[type="checkbox"], .form-check input[type="checkbox"] {
1058
1174
  display: none; }
1175
+ label.wco-form-check input[type="checkbox"] ~ .check, .wco-form-check input[type="checkbox"] ~ .check,
1059
1176
  label.form-check input[type="checkbox"] ~ .check, .form-check input[type="checkbox"] ~ .check {
1060
1177
  height: var(--wco-checkbox-checkbox-size);
1061
1178
  width: var(--wco-checkbox-checkbox-size);
@@ -1063,6 +1180,7 @@ label.form-check, .form-check {
1063
1180
  position: relative;
1064
1181
  border-radius: var(--wco-checkbox-checkbox-radius);
1065
1182
  border: 2px solid var(--wco-checkbox-default-color-iconunchecked); }
1183
+ label.wco-form-check input[type="checkbox"] ~ .check::before, .wco-form-check input[type="checkbox"] ~ .check::before,
1066
1184
  label.form-check input[type="checkbox"] ~ .check::before, .form-check input[type="checkbox"] ~ .check::before {
1067
1185
  content: "";
1068
1186
  position: absolute;
@@ -1077,20 +1195,25 @@ label.form-check, .form-check {
1077
1195
  opacity: 0;
1078
1196
  transition: background-size 100ms linear;
1079
1197
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 -3 12 15' fill='white' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.00009 6.77988L1.68676 4.46655C1.42676 4.20655 1.00676 4.20655 0.746758 4.46655C0.486758 4.72655 0.486758 5.14655 0.746758 5.40655L3.53342 8.19322C3.79342 8.45322 4.21342 8.45322 4.47342 8.19322L11.5268 1.13988C11.7868 0.879883 11.7868 0.459883 11.5268 0.199883C11.2668 -0.0601172 10.8468 -0.0601172 10.5868 0.199883L4.00009 6.77988Z' fill='%23F9F7F7'/%3E%3C/svg%3E%0A"); }
1198
+ label.wco-form-check input[type="checkbox"]:checked ~ .check, .wco-form-check input[type="checkbox"]:checked ~ .check,
1080
1199
  label.form-check input[type="checkbox"]:checked ~ .check, .form-check input[type="checkbox"]:checked ~ .check {
1081
1200
  border: 2px solid var(--wco-checkbox-default-color-iconchecked);
1082
1201
  background-color: var(--wco-checkbox-default-color-iconchecked); }
1202
+ label.wco-form-check input[type="checkbox"]:checked ~ .check::before, .wco-form-check input[type="checkbox"]:checked ~ .check::before,
1083
1203
  label.form-check input[type="checkbox"]:checked ~ .check::before, .form-check input[type="checkbox"]:checked ~ .check::before {
1084
1204
  opacity: 1;
1085
1205
  background-size: 100%; }
1206
+ label.wco-form-check .label, .wco-form-check .label,
1086
1207
  label.form-check .label, .form-check .label {
1087
1208
  color: var(--wco-checkbox-default-color-label);
1088
1209
  font-size: var(--wco-font-size-xs);
1089
1210
  font-family: var(--wco-font-family);
1090
1211
  font-weight: 400;
1091
1212
  letter-spacing: 0.4px; }
1213
+ label.wco-form-check:hover:has(input[type="checkbox"]:not(:checked):not(:disabled)) .check, .wco-form-check:hover:has(input[type="checkbox"]:not(:checked):not(:disabled)) .check,
1092
1214
  label.form-check:hover:has(input[type="checkbox"]:not(:checked):not(:disabled)) .check, .form-check:hover:has(input[type="checkbox"]:not(:checked):not(:disabled)) .check {
1093
1215
  border: 2px solid var(--wco-checkbox-default-color-iconchecked); }
1216
+ label.wco-form-check:hover:has(input[type="checkbox"]:not(:disabled)) .check::after, .wco-form-check:hover:has(input[type="checkbox"]:not(:disabled)) .check::after,
1094
1217
  label.form-check:hover:has(input[type="checkbox"]:not(:disabled)) .check::after, .form-check:hover:has(input[type="checkbox"]:not(:disabled)) .check::after {
1095
1218
  background-color: var(--wco-checkbox-hover-color-bg);
1096
1219
  content: '';
@@ -1104,6 +1227,7 @@ label.form-check, .form-check {
1104
1227
  z-index: -1;
1105
1228
  transition: transform 300ms ease-in-out;
1106
1229
  animation: introScaleCheckboxWco 300ms ease-in-out forwards; }
1230
+ label.wco-form-check:hover:has(input[type="checkbox"]:not(:disabled)) .label, .wco-form-check:hover:has(input[type="checkbox"]:not(:disabled)) .label,
1107
1231
  label.form-check:hover:has(input[type="checkbox"]:not(:disabled)) .label, .form-check:hover:has(input[type="checkbox"]:not(:disabled)) .label {
1108
1232
  cursor: pointer; }
1109
1233
 
@@ -1114,20 +1238,27 @@ label.form-check, .form-check {
1114
1238
  transform: translate(-50%, -50%) scale(1.1); }
1115
1239
  100% {
1116
1240
  transform: translate(-50%, -50%) scale(1); } }
1241
+ label.wco-form-check:has(input[type="checkbox"]:disabled), .wco-form-check:has(input[type="checkbox"]:disabled),
1117
1242
  label.form-check:has(input[type="checkbox"]:disabled), .form-check:has(input[type="checkbox"]:disabled) {
1118
1243
  opacity: 0.3; }
1244
+ label.wco-form-check input[type="checkbox"]:disabled ~ .check, .wco-form-check input[type="checkbox"]:disabled ~ .check,
1119
1245
  label.form-check input[type="checkbox"]:disabled ~ .check, .form-check input[type="checkbox"]:disabled ~ .check {
1120
1246
  border: 2px solid var(--wco-checkbox-disabled-color-iconchecked);
1121
1247
  background-color: var(--wco-color-neutral-50); }
1248
+ label.wco-form-check input[type="checkbox"]:disabled ~ .label, .wco-form-check input[type="checkbox"]:disabled ~ .label,
1122
1249
  label.form-check input[type="checkbox"]:disabled ~ .label, .form-check input[type="checkbox"]:disabled ~ .label {
1123
1250
  color: var(--wco-checkbox-disabled-color-label); }
1251
+ label.wco-form-check input[type="checkbox"]:checked:disabled ~ .check, .wco-form-check input[type="checkbox"]:checked:disabled ~ .check,
1124
1252
  label.form-check input[type="checkbox"]:checked:disabled ~ .check, .form-check input[type="checkbox"]:checked:disabled ~ .check {
1125
1253
  --accent-color: var(--wco-color-neutral-600);
1126
1254
  border: 2px solid var(--wco-color-neutral-600);
1127
1255
  background-color: var(--wco-checkbox-disabled-color-iconchecked); }
1256
+ label.wco-form-check input[type="checkbox"]:checked:disabled ~ .label, .wco-form-check input[type="checkbox"]:checked:disabled ~ .label,
1128
1257
  label.form-check input[type="checkbox"]:checked:disabled ~ .label, .form-check input[type="checkbox"]:checked:disabled ~ .label {
1129
1258
  color: var(--wco-checkbox-disabled-color-label); }
1130
- label.form-check.form--error, label.form-check.form-field--error, .form-check.form--error, .form-check.form-field--error {
1259
+ label.wco-form-check.form--error, label.wco-form-check.form-field--error, .wco-form-check.form--error, .wco-form-check.form-field--error,
1260
+ label.form-check.form--error,
1261
+ label.form-check.form-field--error, .form-check.form--error, .form-check.form-field--error {
1131
1262
  --wco-checkbox-default-color-label: var(--wco-color-danger-900);
1132
1263
  --wco-checkbox-default-color-iconunchecked: var(--wco-color-danger-600);
1133
1264
  --wco-checkbox-default-color-iconchecked: var(--wco-color-danger-600); }
@@ -1,3 +1,5 @@
1
+ button.wco-btn,
2
+ a.wco-btn,
1
3
  button.btn,
2
4
  a.btn {
3
5
  font-size: var(--btn-size, 16px);
@@ -29,7 +29,9 @@
29
29
  accent-color: var(--wco-input-color-text);
30
30
  transition: box-shadow 300ms ease-in-out, border-color 300ms ease-in-out;
31
31
  // input Invalid
32
+ &:has(input:required) label::after,
32
33
  &:has(select:required) label::after,
34
+ &:has(textarea:required) label::after,
33
35
  input:required+label::after,
34
36
  textarea:required+label::after,
35
37
  input:invalid:not(:placeholder-shown):required+label{
@@ -72,17 +74,6 @@
72
74
  --input-shadow: 0px 2px 0px 1px var(--input-color-error);
73
75
  color: var(--input-color-error);
74
76
  }
75
-
76
- // sizes
77
- &.input-sm {
78
- height: 32px;
79
- }
80
- &.input-md {
81
- height: 40px;
82
- }
83
- &.input-lg {
84
- height: 48px;
85
- }
86
77
  }
87
78
 
88
79
  label {
@@ -173,15 +164,18 @@
173
164
  }
174
165
 
175
166
 
176
- textarea~label {
167
+ textarea ~ label,
168
+ &:has(textarea) label
169
+ {
177
170
  top: 16px;
178
171
  transform: translateY(0);
179
172
  }
180
173
 
181
174
 
175
+ &:has(input:focus) label,
182
176
  &:has(select) label,
177
+ &:has(textarea:focus) label,
183
178
  textarea:focus+label,
184
- input:focus+label,
185
179
  .readonly+label
186
180
  {
187
181
  color: var(--wco-input-color-label);
@@ -189,8 +183,11 @@
189
183
  transform: translateY(-50%) translateX(-10px) scale(0.9) !important;
190
184
  }
191
185
 
192
- textarea:not(:placeholder-shown)+label,
193
- input:not(:placeholder-shown)+label,
186
+ &:has(input:not(:placeholder-shown)) label,
187
+ &:has(select:not(:placeholder-shown)) label,
188
+ &:has(textarea:not(:placeholder-shown)) label,
189
+ textarea:not(:placeholder-shown)+ label,
190
+ input:not(:placeholder-shown)+ label,
194
191
  .readonly+label
195
192
  {
196
193
  top: 0;
@@ -198,6 +195,7 @@
198
195
  font-weight: 500;
199
196
  }
200
197
 
198
+
201
199
  textarea:not(:focus)::placeholder,
202
200
  input:not(:focus)::placeholder {
203
201
  opacity: 0;
@@ -205,24 +203,39 @@
205
203
 
206
204
 
207
205
  /// Input com ícone no inicio
206
+ > i:first-child,
208
207
  > span:first-child {
209
208
  position: absolute;
210
209
  top: 50%;
211
210
  left: 12px;
212
211
  transform: translateY(-50%);
213
212
  color: var(--wco-input-color-icon);
213
+ width: fit-content;
214
214
  }
215
+
216
+ &:has(input):has(i:first-child) label,
217
+ &:has(input):has(span:first-child) label,
215
218
  > span ~ .form-field__input + label,
216
219
  > span ~ .form-field__select + label {
217
220
  margin-left: 44px;
218
221
  }
222
+ &:has(input):has(i:first-child) input,
223
+ &:has(input):has(span:first-child) input,
219
224
  > span ~ .form-field__select,
220
225
  > span ~ .form-field__input {
221
226
  padding-left: 44px;
222
227
  }
223
228
 
229
+ &:has(input):has(i:last-child) input,
230
+ &:has(input):has(span:last-child) input {
231
+ padding-right: 44px;
232
+ }
233
+
234
+ &:has(input):has(i:last-child) i,
235
+ &:has(input):has(span:last-child) span,
224
236
  > .form-field__select + label + span,
225
237
  > .form-field__input + label + span {
238
+ width: fit-content;
226
239
  position: absolute;
227
240
  top: 50%;
228
241
  right: 12px;
@@ -250,6 +263,17 @@
250
263
  --wco-input-min-height: 48px;
251
264
  }
252
265
 
266
+ ///////////////////
267
+ /// Input text ////
268
+ ///////////////////
269
+ &:has(input) {
270
+ input {
271
+ min-height: var(--wco-input-min-height);
272
+ padding-top: 0;
273
+ padding-bottom: 0;
274
+ }
275
+ }
276
+
253
277
  ///////////
254
278
  /// Select
255
279
  ///////////
@@ -323,7 +347,9 @@
323
347
  ///////////
324
348
  /// RADIO
325
349
  ///////////
326
- label.form-radio, .form-radio {
350
+ label.wco-form-radio, .wco-form-radio,
351
+ label.form-radio, .form-radio
352
+ {
327
353
  --accent-color: var(--wco-color-primary-700);
328
354
  --radio-size: 16px;
329
355
  --radio-gap: 8px;
@@ -396,6 +422,7 @@ label.form-radio, .form-radio {
396
422
 
397
423
  /// Checkbox
398
424
  ///////////
425
+ label.wco-form-check, .wco-form-check,
399
426
  label.form-check, .form-check {
400
427
  --wco-checkbox-default-color-label: var(--wco-color-neutral-900);
401
428
  --wco-checkbox-default-color-iconunchecked: var(--wco-color-neutral-500);