@dragunio/fe-libs 0.1.4 → 0.1.6

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/dist/styles.css CHANGED
@@ -327,6 +327,10 @@ table[data-fe-table] tbody tr:hover {
327
327
  font: inherit;
328
328
  line-height: 1.25;
329
329
  }
330
+ .fe-toggle--label-top {
331
+ flex-direction: column;
332
+ align-items: flex-start;
333
+ }
330
334
  .fe-toggle__input {
331
335
  position: absolute;
332
336
  width: 1px;
@@ -347,7 +351,7 @@ table[data-fe-table] tbody tr:hover {
347
351
  border-radius: 999px;
348
352
  background: var(--fe-toggle-off);
349
353
  box-shadow: inset 0 0 0 1px rgb(16 24 40 / 8%);
350
- transition: background-color .18s ease;
354
+ transition: background-color 0.18s ease;
351
355
  }
352
356
  .fe-toggle__control::after {
353
357
  width: 18px;
@@ -356,7 +360,7 @@ table[data-fe-table] tbody tr:hover {
356
360
  background: #fff;
357
361
  box-shadow: 0 1px 2px rgb(16 24 40 / 22%);
358
362
  content: "";
359
- transition: transform .18s ease;
363
+ transition: transform 0.18s ease;
360
364
  }
361
365
  .fe-toggle__input:checked + .fe-toggle__control {
362
366
  background: var(--fe-toggle-color);
@@ -369,7 +373,7 @@ table[data-fe-table] tbody tr:hover {
369
373
  outline-offset: 2px;
370
374
  }
371
375
  .fe-toggle__input:disabled + .fe-toggle__control {
372
- opacity: .52;
376
+ opacity: 0.52;
373
377
  }
374
378
  .fe-toggle:has(.fe-toggle__input:disabled) {
375
379
  cursor: not-allowed;
@@ -507,23 +511,52 @@ table[data-fe-table] tbody tr:hover {
507
511
  }
508
512
  }
509
513
 
510
- /* packages/form-controls/src/styles.css */
511
- .fe-selection,
512
- .fe-number-input,
513
- .fe-datetime-picker,
514
- .fe-text-input,
515
- .fe-text-area {
514
+ /* packages/form-controls/src/controls/Field/style.css */
515
+ .fe-field__label {
516
+ display: inline-flex;
517
+ align-items: center;
518
+ gap: 6px;
519
+ font-size: 13px;
520
+ font-weight: 600;
521
+ }
522
+ .fe-field__required {
523
+ color: #d83d55;
524
+ }
525
+ .fe-field__info {
526
+ display: inline-grid;
527
+ width: 16px;
528
+ height: 16px;
529
+ place-items: center;
530
+ border: 1px solid #98a2b3;
531
+ border-radius: 50%;
532
+ color: #687183;
533
+ font-size: 10px;
534
+ font-style: normal;
535
+ font-weight: 800;
536
+ line-height: 1;
537
+ outline: 0;
538
+ }
539
+ .fe-field__info:focus-visible {
540
+ box-shadow: 0 0 0 3px rgba(40, 120, 240, 0.16);
541
+ }
542
+ .fe-field__message {
543
+ color: #687183;
544
+ font-size: 12px;
545
+ line-height: 1.4;
546
+ }
547
+ .fe-field__message--error {
548
+ color: #b92c43;
549
+ }
550
+
551
+ /* packages/form-controls/src/controls/Selection/style.css */
552
+ .fe-selection {
516
553
  display: grid;
517
554
  min-width: 0;
518
555
  gap: 6px;
519
- font: inherit;
520
556
  color: #20242c;
557
+ font: inherit;
521
558
  }
522
- .fe-selection__label,
523
- .fe-number-input__label,
524
- .fe-datetime-picker__label,
525
- .fe-text-input__label,
526
- .fe-text-area__label {
559
+ .fe-selection__label {
527
560
  font-size: 13px;
528
561
  font-weight: 600;
529
562
  }
@@ -532,30 +565,25 @@ table[data-fe-table] tbody tr:hover {
532
565
  width: 100%;
533
566
  min-width: 0;
534
567
  }
535
- .fe-selection__trigger,
536
- .fe-number-input input,
537
- .fe-text-input input,
538
- .fe-text-area textarea {
568
+ .fe-selection__trigger {
569
+ display: flex;
570
+ align-items: center;
539
571
  width: 100%;
540
- min-height: 42px;
572
+ min-height: 40px;
541
573
  padding: 0 13px;
542
574
  border: 1px solid #d4d8e0;
543
575
  border-radius: 12px;
576
+ outline: 0;
544
577
  background: #fff;
545
578
  color: #20242c;
546
579
  font: inherit;
547
- outline: 0;
580
+ text-align: left;
581
+ cursor: pointer;
548
582
  transition:
549
583
  border-color 0.15s,
550
584
  box-shadow 0.15s,
551
585
  background 0.15s;
552
586
  }
553
- .fe-selection__trigger {
554
- display: flex;
555
- align-items: center;
556
- text-align: left;
557
- cursor: pointer;
558
- }
559
587
  .fe-selection--clearable .fe-selection__trigger {
560
588
  padding-right: 64px;
561
589
  }
@@ -568,11 +596,7 @@ table[data-fe-table] tbody tr:hover {
568
596
  border-color: #aab0bb;
569
597
  background: #fcfdff;
570
598
  }
571
- .fe-selection__trigger:focus-visible,
572
- .fe-number-input input:focus,
573
- .fe-datetime-picker__trigger:focus-visible,
574
- .fe-text-input input:focus,
575
- .fe-text-area textarea:focus {
599
+ .fe-selection__trigger:focus-visible {
576
600
  border-color: #2878f0;
577
601
  box-shadow: 0 0 0 3px rgba(40, 120, 240, 0.16);
578
602
  }
@@ -607,12 +631,12 @@ table[data-fe-table] tbody tr:hover {
607
631
  gap: 4px;
608
632
  max-width: 100%;
609
633
  padding: 3px 7px;
634
+ overflow: hidden;
610
635
  border-radius: 7px;
611
636
  background: #e7f1ff;
612
637
  color: #1e60cc;
613
638
  font-size: 12px;
614
639
  font-weight: 600;
615
- overflow: hidden;
616
640
  text-overflow: ellipsis;
617
641
  white-space: nowrap;
618
642
  }
@@ -626,22 +650,22 @@ table[data-fe-table] tbody tr:hover {
626
650
  right: 14px;
627
651
  width: 16px;
628
652
  height: 16px;
629
- transform: translateY(-50%);
630
653
  pointer-events: none;
654
+ transform: translateY(-50%);
631
655
  }
632
656
  .fe-selection__clear {
633
657
  position: absolute;
634
658
  z-index: 1;
635
659
  top: 50%;
636
- right: 40px;
660
+ right: 32px;
637
661
  display: grid;
638
- place-items: center;
639
- width: 16px;
640
- height: 16px;
662
+ width: 32px;
663
+ height: 32px;
641
664
  margin: 0;
642
665
  padding: 0;
643
666
  border: 0;
644
667
  border-radius: 50%;
668
+ place-items: center;
645
669
  background: transparent;
646
670
  color: #697386;
647
671
  cursor: pointer;
@@ -650,9 +674,9 @@ table[data-fe-table] tbody tr:hover {
650
674
  .fe-selection__clear::before,
651
675
  .fe-selection__clear::after {
652
676
  position: absolute;
653
- top: 7px;
654
- left: 2px;
655
- width: 12px;
677
+ top: 15px;
678
+ left: 9px;
679
+ width: 14px;
656
680
  height: 2px;
657
681
  border-radius: 999px;
658
682
  background: currentColor;
@@ -767,22 +791,14 @@ table[data-fe-table] tbody tr:hover {
767
791
  font-size: 13px;
768
792
  text-align: center;
769
793
  }
770
- .fe-selection__helper,
771
- .fe-number-input__helper {
794
+ .fe-selection__helper {
772
795
  color: #687183;
773
796
  font-size: 12px;
774
797
  }
775
- .fe-selection--error .fe-selection__trigger,
776
- .fe-number-input--error input,
777
- .fe-text-input--error input,
778
- .fe-text-area--error textarea {
798
+ .fe-selection--error .fe-selection__trigger {
779
799
  border-color: #d83d55;
780
800
  }
781
- .fe-selection--error .fe-selection__helper,
782
- .fe-number-input--error .fe-number-input__helper,
783
- .fe-number-input__error,
784
- .fe-text-input__error,
785
- .fe-text-area__error {
801
+ .fe-selection--error .fe-selection__helper {
786
802
  color: #b92c43;
787
803
  }
788
804
  .fe-selection--disabled {
@@ -791,88 +807,445 @@ table[data-fe-table] tbody tr:hover {
791
807
  .fe-selection--disabled .fe-selection__trigger {
792
808
  cursor: not-allowed;
793
809
  }
810
+ @keyframes fe-selection-in {
811
+ from {
812
+ opacity: 0;
813
+ transform: translateY(-4px);
814
+ }
815
+ to {
816
+ opacity: 1;
817
+ transform: translateY(0);
818
+ }
819
+ }
820
+
821
+ /* packages/form-controls/src/controls/NumberInput/style.css */
822
+ .fe-number-input {
823
+ display: grid;
824
+ min-width: 0;
825
+ gap: 6px;
826
+ color: #20242c;
827
+ font: inherit;
828
+ }
829
+ .fe-number-input__label {
830
+ font-size: 13px;
831
+ font-weight: 600;
832
+ }
833
+ .fe-number-input__control {
834
+ position: relative;
835
+ display: flex;
836
+ align-items: center;
837
+ min-height: 40px;
838
+ border: 1px solid #d4d8e0;
839
+ border-radius: 12px;
840
+ background: #fff;
841
+ transition:
842
+ border-color 0.15s,
843
+ box-shadow 0.15s,
844
+ background 0.15s;
845
+ }
846
+ .fe-number-input__control:hover {
847
+ border-color: #aab0bb;
848
+ background: #fcfdff;
849
+ }
794
850
  .fe-number-input input {
851
+ display: block;
852
+ box-sizing: border-box;
853
+ width: 100%;
854
+ min-width: 0;
855
+ min-height: 38px;
856
+ padding: 0 13px;
857
+ border: 0;
858
+ border-radius: 11px;
859
+ outline: 0;
860
+ background: transparent;
861
+ box-shadow: none;
862
+ color: #20242c;
863
+ font: inherit;
864
+ }
865
+ .fe-number-input__input-wrap {
866
+ position: relative;
867
+ display: flex;
868
+ min-width: 0;
869
+ flex: 1 1 auto;
870
+ align-self: stretch;
871
+ }
872
+ .fe-number-input__prefix,
873
+ .fe-number-input__suffix {
874
+ z-index: 1;
875
+ display: inline-flex;
876
+ flex: 0 0 auto;
877
+ align-items: center;
878
+ color: #535b6a;
879
+ font-size: 13px;
880
+ white-space: nowrap;
881
+ }
882
+ .fe-number-input__prefix {
883
+ margin-right: -5px;
884
+ padding-left: 13px;
885
+ }
886
+ .fe-number-input__suffix {
887
+ margin-left: -5px;
795
888
  padding-right: 13px;
796
889
  }
797
- .fe-text-input__control,
798
- .fe-text-area__control {
890
+ .fe-number-input__stepper {
891
+ display: flex;
892
+ width: 28px;
893
+ min-width: 28px;
894
+ flex: 0 0 28px;
895
+ flex-direction: column;
896
+ align-self: stretch;
897
+ justify-content: center;
898
+ margin-right: 4px;
899
+ }
900
+ .fe-number-input__stepper .fe-button {
901
+ width: 28px;
902
+ min-width: 28px;
903
+ min-height: 16px;
904
+ height: 16px;
905
+ padding: 2px 8px;
906
+ border-radius: 6px;
907
+ }
908
+ .fe-number-input__stepper .fe-button:disabled {
909
+ opacity: 0.35;
910
+ }
911
+ .fe-number-input__control:focus-within {
912
+ border-color: #2878f0;
913
+ box-shadow: 0 0 0 3px rgba(40, 120, 240, 0.16);
914
+ }
915
+ .fe-number-input--error .fe-number-input__control {
916
+ border-color: #d83d55;
917
+ }
918
+ .fe-number-input__placeholder {
919
+ position: absolute;
920
+ top: 50%;
921
+ left: 13px;
922
+ display: inline-flex;
923
+ gap: 4px;
924
+ align-items: center;
925
+ max-width: calc(100% - 26px);
926
+ overflow: hidden;
927
+ color: #8b94a4;
928
+ pointer-events: none;
929
+ transform: translateY(-50%);
930
+ white-space: nowrap;
931
+ }
932
+ .fe-number-input__placeholder > span:first-child {
933
+ overflow: hidden;
934
+ text-overflow: ellipsis;
935
+ }
936
+ .fe-number-input__input-wrap:has(.fe-number-input__placeholder) input::placeholder {
937
+ color: transparent;
938
+ }
939
+ .fe-number-input input:focus {
940
+ outline: 0;
941
+ }
942
+ .fe-number-input__helper {
943
+ color: #687183;
944
+ font-size: 12px;
945
+ }
946
+ .fe-number-input--error .fe-number-input__helper,
947
+ .fe-number-input__error {
948
+ color: #b92c43;
949
+ }
950
+ .fe-number-input__error {
951
+ font-size: 12px;
952
+ }
953
+
954
+ /* packages/form-controls/src/controls/TextInput/style.css */
955
+ .fe-text-input {
956
+ display: grid;
957
+ min-width: 0;
958
+ gap: 6px;
959
+ color: #20242c;
960
+ font: inherit;
961
+ }
962
+ .fe-text-input__label {
963
+ font-size: 13px;
964
+ font-weight: 600;
965
+ }
966
+ .fe-text-input input {
967
+ width: 100%;
968
+ min-height: 40px;
969
+ padding: 0 13px;
970
+ border: 1px solid #d4d8e0;
971
+ border-radius: 12px;
972
+ outline: 0;
973
+ background: #fff;
974
+ color: #20242c;
975
+ font: inherit;
976
+ transition:
977
+ border-color 0.15s,
978
+ box-shadow 0.15s,
979
+ background 0.15s;
980
+ }
981
+ .fe-text-input__control {
799
982
  position: relative;
800
- display: block;
983
+ display: flex;
984
+ align-items: center;
985
+ min-height: 40px;
986
+ border: 1px solid #d4d8e0;
987
+ border-radius: 12px;
988
+ background: #fff;
989
+ transition:
990
+ border-color 0.15s,
991
+ box-shadow 0.15s,
992
+ background 0.15s;
801
993
  }
802
- .fe-text-input input,
803
- .fe-text-area textarea {
994
+ .fe-text-input__control:hover {
995
+ border-color: #aab0bb;
996
+ background: #fcfdff;
997
+ }
998
+ .fe-text-input__control:focus-within {
999
+ border-color: #2878f0;
1000
+ box-shadow: 0 0 0 3px rgba(40, 120, 240, 0.16);
1001
+ }
1002
+ .fe-text-input--error .fe-text-input__control {
1003
+ border-color: #d83d55;
1004
+ }
1005
+ .fe-text-input__input-wrap {
1006
+ position: relative;
1007
+ display: flex;
1008
+ min-width: 0;
1009
+ flex: 1 1 auto;
1010
+ align-self: stretch;
1011
+ }
1012
+ .fe-text-input input {
804
1013
  display: block;
805
1014
  box-sizing: border-box;
806
1015
  }
1016
+ .fe-text-input__control input,
1017
+ .fe-text-input__control input:focus {
1018
+ min-width: 0;
1019
+ min-height: 38px;
1020
+ flex: 1 1 auto;
1021
+ border: 0;
1022
+ border-radius: 11px;
1023
+ background: transparent;
1024
+ box-shadow: none;
1025
+ }
1026
+ .fe-text-input__prefix,
1027
+ .fe-text-input__suffix {
1028
+ z-index: 1;
1029
+ display: inline-flex;
1030
+ flex: 0 0 auto;
1031
+ align-items: center;
1032
+ color: #535b6a;
1033
+ font-size: 13px;
1034
+ white-space: nowrap;
1035
+ }
1036
+ .fe-text-input__prefix {
1037
+ margin-right: -5px;
1038
+ padding-left: 13px;
1039
+ }
1040
+ .fe-text-input__suffix {
1041
+ margin-left: -5px;
1042
+ padding-right: 13px;
1043
+ }
1044
+ .fe-text-input__placeholder {
1045
+ position: absolute;
1046
+ top: 50%;
1047
+ left: 13px;
1048
+ display: inline-flex;
1049
+ gap: 4px;
1050
+ align-items: center;
1051
+ max-width: calc(100% - 26px);
1052
+ overflow: hidden;
1053
+ color: #8b94a4;
1054
+ pointer-events: none;
1055
+ transform: translateY(-50%);
1056
+ white-space: nowrap;
1057
+ }
1058
+ .fe-text-input__placeholder > span:first-child {
1059
+ overflow: hidden;
1060
+ text-overflow: ellipsis;
1061
+ }
1062
+ .fe-text-input__input-wrap:has(.fe-text-input__placeholder) input::placeholder {
1063
+ color: transparent;
1064
+ }
1065
+ .fe-text-input__clear.fe-button {
1066
+ z-index: 1;
1067
+ width: 32px;
1068
+ min-width: 32px;
1069
+ height: 32px;
1070
+ min-height: 32px;
1071
+ flex: 0 0 32px;
1072
+ margin-right: 4px;
1073
+ padding: 4px;
1074
+ border-radius: 50%;
1075
+ cursor: pointer;
1076
+ }
1077
+ .fe-text-input__helper {
1078
+ color: #687183;
1079
+ font-size: 12px;
1080
+ }
1081
+ .fe-text-input__error {
1082
+ color: #b92c43;
1083
+ font-size: 12px;
1084
+ }
1085
+
1086
+ /* packages/form-controls/src/controls/TextArea/style.css */
1087
+ .fe-text-area {
1088
+ display: grid;
1089
+ min-width: 0;
1090
+ gap: 6px;
1091
+ color: #20242c;
1092
+ font: inherit;
1093
+ }
1094
+ .fe-text-area__label {
1095
+ font-size: 13px;
1096
+ font-weight: 600;
1097
+ }
807
1098
  .fe-text-area textarea {
808
- min-height: 96px;
1099
+ display: block;
1100
+ box-sizing: border-box;
1101
+ width: 100%;
1102
+ min-height: 40px;
1103
+ padding: 0 13px;
809
1104
  padding-top: 10px;
810
1105
  padding-bottom: 10px;
1106
+ border: 1px solid #d4d8e0;
1107
+ border-radius: 12px;
1108
+ outline: 0;
811
1109
  resize: vertical;
1110
+ background: #fff;
1111
+ color: #20242c;
1112
+ font: inherit;
1113
+ transition:
1114
+ border-color 0.15s,
1115
+ box-shadow 0.15s,
1116
+ background 0.15s;
812
1117
  }
813
- .fe-text-input__clear.fe-button,
814
- .fe-text-area__clear.fe-button {
1118
+ .fe-text-area__control {
1119
+ position: relative;
1120
+ display: flex;
1121
+ align-items: center;
1122
+ min-height: 40px;
1123
+ border: 1px solid #d4d8e0;
1124
+ border-radius: 12px;
1125
+ background: #fff;
1126
+ transition:
1127
+ border-color 0.15s,
1128
+ box-shadow 0.15s,
1129
+ background 0.15s;
1130
+ }
1131
+ .fe-text-area__control:hover {
1132
+ border-color: #aab0bb;
1133
+ background: #fcfdff;
1134
+ }
1135
+ .fe-text-area__control:focus-within {
1136
+ border-color: #2878f0;
1137
+ box-shadow: 0 0 0 3px rgba(40, 120, 240, 0.16);
1138
+ }
1139
+ .fe-text-area--error .fe-text-area__control {
1140
+ border-color: #d83d55;
1141
+ }
1142
+ .fe-text-area__control textarea,
1143
+ .fe-text-area__control textarea:focus {
1144
+ min-width: 0;
1145
+ flex: 1 1 auto;
1146
+ align-self: stretch;
1147
+ border: 0;
1148
+ border-radius: 11px;
1149
+ background: transparent;
1150
+ box-shadow: none;
1151
+ }
1152
+ .fe-text-area--autosize textarea {
1153
+ resize: none;
1154
+ }
1155
+ .fe-text-area__placeholder {
815
1156
  position: absolute;
816
- top: 50%;
817
- right: 8px;
818
- min-width: 24px;
819
- min-height: 24px;
820
- padding: 4px;
821
- border-radius: 50%;
822
- transform: translateY(-50%);
1157
+ top: 10px;
1158
+ left: 13px;
1159
+ display: inline-flex;
1160
+ gap: 4px;
1161
+ align-items: center;
1162
+ max-width: calc(100% - 26px);
1163
+ overflow: hidden;
1164
+ color: #8b94a4;
1165
+ pointer-events: none;
1166
+ white-space: nowrap;
823
1167
  }
824
- .fe-text-input:has(.fe-text-input__clear) input {
825
- padding-right: 42px;
1168
+ .fe-text-area__placeholder > span:first-child {
1169
+ overflow: hidden;
1170
+ text-overflow: ellipsis;
826
1171
  }
827
- .fe-text-area:has(.fe-text-area__clear) textarea {
828
- padding-right: 42px;
1172
+ .fe-text-area__control:has(.fe-text-area__placeholder) textarea::placeholder {
1173
+ color: transparent;
1174
+ }
1175
+ .fe-text-area__clear.fe-button {
1176
+ z-index: 1;
1177
+ width: 32px;
1178
+ min-width: 32px;
1179
+ height: 32px;
1180
+ min-height: 32px;
1181
+ flex: 0 0 32px;
1182
+ margin-right: 4px;
1183
+ padding: 4px;
1184
+ border-radius: 50%;
1185
+ cursor: pointer;
829
1186
  }
830
- .fe-text-input__helper,
831
1187
  .fe-text-area__helper {
832
1188
  color: #687183;
833
1189
  font-size: 12px;
834
1190
  }
835
- .fe-text-input__error,
836
- .fe-text-area__error,
837
- .fe-number-input__error {
1191
+ .fe-text-area__error {
1192
+ color: #b92c43;
838
1193
  font-size: 12px;
839
1194
  }
1195
+
1196
+ /* packages/form-controls/src/controls/CurrencyInput/style.css */
840
1197
  .fe-currency-input {
841
1198
  position: relative;
842
- display: flex;
843
- align-items: start;
844
- }
845
- .fe-currency-input__number {
846
- width: 100%;
847
- }
848
- .fe-currency-input__number input {
849
- padding-right: 78px;
850
1199
  }
851
1200
  .fe-currency-input__suffix,
852
1201
  .fe-currency-input__currency {
853
- position: absolute;
854
- right: 11px;
855
- top: 8px;
856
1202
  color: #535b6a;
857
1203
  font: inherit;
858
1204
  font-size: 13px;
859
1205
  font-weight: 700;
860
1206
  }
1207
+ .fe-currency-input__suffix {
1208
+ display: inline-flex;
1209
+ align-items: center;
1210
+ padding: 0 13px 0 8px;
1211
+ }
861
1212
  .fe-currency-input__currency {
862
- top: 7px;
863
- max-width: 90px;
1213
+ align-self: center;
1214
+ width: 96px;
1215
+ margin-right: 4px;
1216
+ }
1217
+ .fe-currency-input__currency .fe-selection__trigger {
1218
+ box-sizing: border-box;
1219
+ min-height: 34px;
1220
+ padding: 0 28px 0 8px;
864
1221
  border: 0;
865
1222
  border-left: 1px solid #d4d8e0;
866
- background: #fff;
867
- padding: 4px 0 4px 8px;
868
- outline: 0;
1223
+ border-radius: 0;
1224
+ background: transparent;
1225
+ color: inherit;
1226
+ font-size: 13px;
1227
+ font-weight: 700;
1228
+ }
1229
+ .fe-currency-input__currency .fe-selection__trigger:hover,
1230
+ .fe-currency-input__currency .fe-selection__trigger:focus-visible {
1231
+ background: transparent;
869
1232
  }
870
- .fe-currency-input:has(.fe-number-input__label) .fe-currency-input__suffix,
871
- .fe-currency-input:has(.fe-number-input__label) .fe-currency-input__currency {
872
- top: 31px;
1233
+ .fe-currency-input__currency .fe-selection__actions {
1234
+ right: 7px;
873
1235
  }
1236
+
1237
+ /* packages/form-controls/src/controls/DateTimePicker/style.css */
874
1238
  .fe-datetime-picker {
875
1239
  position: relative;
1240
+ display: grid;
1241
+ min-width: 0;
1242
+ gap: 6px;
1243
+ color: #20242c;
1244
+ font: inherit;
1245
+ }
1246
+ .fe-datetime-picker__label {
1247
+ font-size: 13px;
1248
+ font-weight: 600;
876
1249
  }
877
1250
  .fe-datetime-picker__trigger {
878
1251
  display: flex;
@@ -889,6 +1262,21 @@ table[data-fe-table] tbody tr:hover {
889
1262
  text-align: left;
890
1263
  cursor: pointer;
891
1264
  }
1265
+ .fe-datetime-picker__trigger:focus-visible {
1266
+ border-color: #2878f0;
1267
+ box-shadow: 0 0 0 3px rgba(40, 120, 240, 0.16);
1268
+ }
1269
+ .fe-datetime-picker--error .fe-datetime-picker__trigger {
1270
+ border-color: #d83d55;
1271
+ }
1272
+ .fe-datetime-picker__value {
1273
+ display: inline-flex;
1274
+ gap: 4px;
1275
+ align-items: center;
1276
+ }
1277
+ .fe-datetime-picker__value.is-placeholder {
1278
+ color: #8b94a4;
1279
+ }
892
1280
  .fe-datetime-picker__trigger:disabled {
893
1281
  opacity: 0.55;
894
1282
  cursor: not-allowed;
@@ -990,21 +1378,161 @@ table[data-fe-table] tbody tr:hover {
990
1378
  font-weight: 600;
991
1379
  }
992
1380
  .fe-datetime-picker__time input {
1381
+ padding: 5px;
993
1382
  border: 1px solid #d4d8e0;
994
1383
  border-radius: 8px;
995
- padding: 5px;
996
1384
  font: inherit;
997
1385
  }
998
- @keyframes fe-selection-in {
999
- from {
1000
- opacity: 0;
1001
- transform: translateY(-4px);
1002
- }
1003
- to {
1004
- opacity: 1;
1005
- transform: translateY(0);
1006
- }
1386
+
1387
+ /* packages/form-controls/src/controls/Checkbox/style.css */
1388
+ .fe-checkbox,
1389
+ .fe-radio-button {
1390
+ display: inline-flex;
1391
+ align-items: center;
1392
+ gap: 8px;
1393
+ color: #20242c;
1394
+ cursor: pointer;
1395
+ font: inherit;
1396
+ line-height: 1.25;
1397
+ }
1398
+ .fe-checkbox--label-top,
1399
+ .fe-radio-button--label-top {
1400
+ align-items: flex-start;
1401
+ flex-direction: column;
1402
+ }
1403
+ .fe-checkbox__content,
1404
+ .fe-radio-button__content {
1405
+ display: inline-flex;
1406
+ align-items: center;
1407
+ gap: 8px;
1408
+ }
1409
+ .fe-checkbox__input,
1410
+ .fe-radio-button__input {
1411
+ position: absolute;
1412
+ width: 1px;
1413
+ height: 1px;
1414
+ margin: -1px;
1415
+ overflow: hidden;
1416
+ clip: rect(0 0 0 0);
1417
+ white-space: nowrap;
1418
+ border: 0;
1419
+ }
1420
+ .fe-checkbox__control,
1421
+ .fe-radio-button__control {
1422
+ display: inline-grid;
1423
+ width: 18px;
1424
+ height: 18px;
1425
+ flex: 0 0 auto;
1426
+ place-items: center;
1427
+ border: 1px solid #98a2b3;
1428
+ background: #fff;
1429
+ transition:
1430
+ border-color 0.16s ease,
1431
+ background-color 0.16s ease,
1432
+ box-shadow 0.16s ease;
1433
+ }
1434
+ .fe-checkbox__control {
1435
+ border-radius: 4px;
1007
1436
  }
1437
+ .fe-checkbox__control::after {
1438
+ width: 8px;
1439
+ height: 4px;
1440
+ border-bottom: 2px solid #fff;
1441
+ border-left: 2px solid #fff;
1442
+ content: "";
1443
+ opacity: 0;
1444
+ transform: rotate(-45deg) translate(1px, -1px);
1445
+ transition: opacity 0.16s ease;
1446
+ }
1447
+ .fe-checkbox__input:checked + .fe-checkbox__control {
1448
+ border-color: #2878f0;
1449
+ background: #2878f0;
1450
+ }
1451
+ .fe-checkbox__input:checked + .fe-checkbox__control::after {
1452
+ opacity: 1;
1453
+ }
1454
+ .fe-checkbox__input:indeterminate + .fe-checkbox__control::after {
1455
+ width: 8px;
1456
+ height: 2px;
1457
+ border: 0;
1458
+ background: #fff;
1459
+ opacity: 1;
1460
+ transform: none;
1461
+ }
1462
+ .fe-checkbox__input:focus-visible + .fe-checkbox__control,
1463
+ .fe-radio-button__input:focus-visible + .fe-radio-button__control {
1464
+ outline: 3px solid rgb(40 120 240 / 22%);
1465
+ outline-offset: 2px;
1466
+ }
1467
+ .fe-checkbox--disabled,
1468
+ .fe-radio-button--disabled {
1469
+ cursor: not-allowed;
1470
+ opacity: 0.52;
1471
+ }
1472
+ .fe-checkbox__label,
1473
+ .fe-radio-button__label {
1474
+ user-select: none;
1475
+ }
1476
+
1477
+ /* packages/form-controls/src/controls/RadioButton/style.css */
1478
+ .fe-radio-button__control {
1479
+ border-radius: 50%;
1480
+ }
1481
+ .fe-radio-button__control::after {
1482
+ width: 8px;
1483
+ height: 8px;
1484
+ border-radius: 50%;
1485
+ background: #2878f0;
1486
+ content: "";
1487
+ opacity: 0;
1488
+ transform: scale(0.6);
1489
+ transition: opacity 0.16s ease, transform 0.16s ease;
1490
+ }
1491
+ .fe-radio-button__input:checked + .fe-radio-button__control {
1492
+ border-color: #2878f0;
1493
+ }
1494
+ .fe-radio-button__input:checked + .fe-radio-button__control::after {
1495
+ opacity: 1;
1496
+ transform: scale(1);
1497
+ }
1498
+
1499
+ /* packages/form-controls/src/controls/RadioGroup/style.css */
1500
+ .fe-radio-group {
1501
+ display: inline-flex;
1502
+ gap: 8px;
1503
+ color: #20242c;
1504
+ font: inherit;
1505
+ }
1506
+ .fe-radio-group--label-top {
1507
+ flex-direction: column;
1508
+ }
1509
+ .fe-radio-group--label-right {
1510
+ align-items: center;
1511
+ }
1512
+ .fe-radio-group__label {
1513
+ display: inline-flex;
1514
+ align-items: center;
1515
+ gap: 4px;
1516
+ font-size: 13px;
1517
+ font-weight: 600;
1518
+ line-height: 1.25;
1519
+ }
1520
+ .fe-radio-group__required {
1521
+ color: #d83d55;
1522
+ }
1523
+ .fe-radio-group__options {
1524
+ display: inline-flex;
1525
+ gap: 12px;
1526
+ }
1527
+ .fe-radio-group--vertical .fe-radio-group__options {
1528
+ flex-direction: column;
1529
+ }
1530
+ .fe-radio-group--horizontal .fe-radio-group__options {
1531
+ align-items: center;
1532
+ flex-wrap: wrap;
1533
+ }
1534
+
1535
+ /* packages/form-controls/src/styles.css */
1008
1536
 
1009
1537
  /* packages/tooltip/src/styles.css */
1010
1538
  .fe-tooltip {