@locus-ui/components 0.0.13 → 0.0.16

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/index.css CHANGED
@@ -412,18 +412,103 @@
412
412
  }
413
413
  }
414
414
  }
415
+ .flex {
416
+ display: flex;
417
+ &[data-gap="0"] {
418
+ gap: 0;
419
+ }
420
+ &[data-gap="1"] {
421
+ gap: calc(4px * var(--lcs-spacing, 1));
422
+ }
423
+ &[data-gap="2"] {
424
+ gap: calc(8px * var(--lcs-spacing, 1));
425
+ }
426
+ &[data-gap="3"] {
427
+ gap: calc(12px * var(--lcs-spacing, 1));
428
+ }
429
+ &[data-gap="4"] {
430
+ gap: calc(16px * var(--lcs-spacing, 1));
431
+ }
432
+ &[data-gap="5"] {
433
+ gap: calc(20px * var(--lcs-spacing, 1));
434
+ }
435
+ &[data-gap="6"] {
436
+ gap: calc(24px * var(--lcs-spacing, 1));
437
+ }
438
+ &[data-gap="7"] {
439
+ gap: calc(28px * var(--lcs-spacing, 1));
440
+ }
441
+ &[data-gap="8"] {
442
+ gap: calc(32px * var(--lcs-spacing, 1));
443
+ }
444
+ &[data-direction=row] {
445
+ flex-direction: row;
446
+ }
447
+ &[data-direction=column] {
448
+ flex-direction: column;
449
+ }
450
+ &[data-direction=row-reverse] {
451
+ flex-direction: row-reverse;
452
+ }
453
+ &[data-direction=column-reverse] {
454
+ flex-direction: column-reverse;
455
+ }
456
+ &[data-justify=start] {
457
+ justify-content: flex-start;
458
+ }
459
+ &[data-justify=end] {
460
+ justify-content: flex-end;
461
+ }
462
+ &[data-justify=center] {
463
+ justify-content: center;
464
+ }
465
+ &[data-justify=between] {
466
+ justify-content: space-between;
467
+ }
468
+ &[data-justify=around] {
469
+ justify-content: space-around;
470
+ }
471
+ &[data-justify=evenly] {
472
+ justify-content: space-evenly;
473
+ }
474
+ &[data-align-items=flex-start] {
475
+ align-items: flex-start;
476
+ }
477
+ &[data-align-items=flex-end] {
478
+ align-items: flex-end;
479
+ }
480
+ &[data-align-items=center] {
481
+ align-items: center;
482
+ }
483
+ &[data-align-items=baseline] {
484
+ align-items: baseline;
485
+ }
486
+ &[data-align-items=stretch] {
487
+ align-items: stretch;
488
+ }
489
+ &[data-wrap=wrap] {
490
+ flex-wrap: wrap;
491
+ }
492
+ &[data-wrap=nowrap] {
493
+ flex-wrap: nowrap;
494
+ }
495
+ &[data-wrap=wrap-reverse] {
496
+ flex-wrap: wrap-reverse;
497
+ }
498
+ }
415
499
  .panel[data-variant] {
500
+ --panel-custom-color: var(--color, var(--panel-color));
416
501
  backdrop-filter: blur(var(--panel-blur, 0px));
417
502
  &[data-variant=solid] {
418
- background-color: rgb(var(--panel-color));
503
+ background-color: rgb(var(--panel-custom-color));
419
504
  border: 1px solid transparent;
420
505
  }
421
506
  &[data-variant=outlined] {
422
- background-color: rgba(var(--panel-color), 0.8);
423
- border: 1px solid rgb(var(--border-color));
507
+ background-color: rgba(var(--panel-custom-color), 0.5);
508
+ border: 1px solid rgba(var(--color, var(--border-color)));
424
509
  }
425
510
  &[data-variant=muted] {
426
- background-color: rgba(var(--panel-color), 0.5);
511
+ background-color: rgba(var(--panel-custom-color), 0.4);
427
512
  border: 1px solid transparent;
428
513
  }
429
514
  }
@@ -765,11 +850,210 @@
765
850
  border-right: 1px dotted rgb(var(--border-color));
766
851
  }
767
852
  }
768
- .lcs-text {
769
- color: rgb(var(--text-color));
853
+ .switch-root[data-variant] {
854
+ --switch-color: var(--color, var(--primary));
855
+ display: flex;
856
+ flex-direction: row;
857
+ gap: calc(12px * var(--lcs-spacing, 1));
858
+ cursor: pointer;
859
+ &:not([data-align]) {
860
+ align-items: center;
861
+ }
862
+ &[data-disabled=true],
863
+ &[data-readonly=true] {
864
+ cursor: not-allowed !important;
865
+ }
866
+ &[data-disabled=true] {
867
+ opacity: 0.6;
868
+ }
869
+ &:has(.switch-label[data-position=top]) {
870
+ flex-direction: column-reverse;
871
+ align-items: start;
872
+ }
873
+ &:has(.switch-label[data-position=bottom]) {
874
+ flex-direction: column;
875
+ align-items: start;
876
+ }
877
+ &:has(.switch-label[data-position=right]) {
878
+ flex-direction: row-reverse;
879
+ }
880
+ .switch-container {
881
+ overflow: hidden;
882
+ border-radius: 16px;
883
+ width: calc(40px * var(--lcs-spacing, 1));
884
+ min-width: calc(40px * var(--lcs-spacing, 1));
885
+ &[data-focused=true] {
886
+ outline: 1px solid rgba(var(--switch-color), 0.8);
887
+ outline-offset: 0.5px;
888
+ }
889
+ &[data-variant=solid] {
890
+ background-color: rgba(var(--panel-color), 0.8);
891
+ transition: background-color 100ms;
892
+ }
893
+ &[data-variant=outlined] {
894
+ border: 1px solid rgba(var(--panel-color), 0.8);
895
+ transition: border-color 100ms;
896
+ &[data-checked=true] {
897
+ border-color: rgba(var(--switch-color), 0.6);
898
+ }
899
+ &[data-hovered=true]:not([data-disabled=true], [data-readonly=true]),
900
+ &[data-focused=true]:not([data-disabled=true], [data-readonly=true]) {
901
+ border-color: rgba(var(--switch-color), 0.8);
902
+ }
903
+ }
904
+ &[data-variant=muted] {
905
+ background-color: rgba(var(--panel-color), 0.4);
906
+ transition: background-color 100ms;
907
+ }
908
+ &[data-size=xs] {
909
+ width: calc(24px * var(--lcs-spacing, 1));
910
+ min-width: calc(24px * var(--lcs-spacing, 1));
911
+ }
912
+ &[data-size=sm] {
913
+ width: calc(32px * var(--lcs-spacing, 1));
914
+ min-width: calc(32px * var(--lcs-spacing, 1));
915
+ }
916
+ &[data-size=lg] {
917
+ width: calc(48px * var(--lcs-spacing, 1));
918
+ min-width: calc(48px * var(--lcs-spacing, 1));
919
+ }
920
+ &[data-size=xl] {
921
+ width: calc(64px * var(--lcs-spacing, 1));
922
+ min-width: calc(64px * var(--lcs-spacing, 1));
923
+ }
924
+ &.size {
925
+ width: var(--custom-size);
926
+ min-width: var(--custom-size);
927
+ }
928
+ }
770
929
  }
771
- .lcs-text[disabled] {
772
- color: rgb(var(--text-color-disabled));
930
+ .switch-indicator[data-variant] {
931
+ --switch-color: var(--color, var(--primary));
932
+ position: relative;
933
+ display: flex;
934
+ align-items: center;
935
+ justify-content: center;
936
+ box-sizing: border-box;
937
+ width: calc(20px * var(--lcs-spacing, 1));
938
+ height: calc(20px * var(--lcs-spacing, 1));
939
+ min-width: calc(12px * var(--lcs-spacing, 1));
940
+ min-height: calc(12px * var(--lcs-spacing, 1));
941
+ border: 1px solid transparent;
942
+ border-radius: 100%;
943
+ transition:
944
+ background-color 100ms,
945
+ border-color 100ms,
946
+ margin 100ms;
947
+ &[data-size=xs] {
948
+ width: calc(12px * var(--lcs-spacing, 1));
949
+ height: calc(12px * var(--lcs-spacing, 1));
950
+ }
951
+ &[data-size=sm] {
952
+ width: calc(16px * var(--lcs-spacing, 1));
953
+ height: calc(16px * var(--lcs-spacing, 1));
954
+ }
955
+ &[data-size=lg] {
956
+ width: calc(24px * var(--lcs-spacing, 1));
957
+ height: calc(24px * var(--lcs-spacing, 1));
958
+ }
959
+ &[data-size=xl] {
960
+ width: calc(32px * var(--lcs-spacing, 1));
961
+ height: calc(32px * var(--lcs-spacing, 1));
962
+ }
963
+ &.size {
964
+ width: calc(var(--custom-size) / 2);
965
+ height: calc(var(--custom-size) / 2);
966
+ }
967
+ &[data-checked=true] {
968
+ margin-left: 50%;
969
+ }
970
+ &[data-disabled=true],
971
+ &[data-readonly=true] {
972
+ cursor: not-allowed;
973
+ opacity: 0.6;
974
+ }
975
+ &::before {
976
+ content: "";
977
+ position: absolute;
978
+ top: 50%;
979
+ left: 50%;
980
+ transform: translate(-100%, -50%);
981
+ width: 200%;
982
+ height: 200%;
983
+ pointer-events: none;
984
+ opacity: 0;
985
+ transition: opacity 100ms, background-color 100ms;
986
+ }
987
+ &[data-checked=true]::before {
988
+ opacity: 1;
989
+ }
990
+ &::after {
991
+ content: "";
992
+ position: absolute;
993
+ inset: -1px;
994
+ border-radius: inherit;
995
+ background-color: inherit;
996
+ pointer-events: none;
997
+ transition: background-color 100ms;
998
+ }
999
+ &[data-variant=solid] {
1000
+ outline: none;
1001
+ background-color: rgb(222, 222, 222);
1002
+ &::before {
1003
+ background-color: rgba(var(--switch-color), 0.5);
1004
+ }
1005
+ &[data-checked=true] {
1006
+ background-color: rgb(222, 222, 222);
1007
+ }
1008
+ &[data-hovered=true]:not([data-disabled=true], [data-readonly=true]),
1009
+ &[data-focused=true]:not([data-disabled=true], [data-readonly=true]) {
1010
+ background-color: rgba(var(--switch-color), 0.9);
1011
+ &::before {
1012
+ background-color: rgb(var(--switch-color), 0.4);
1013
+ }
1014
+ }
1015
+ }
1016
+ &[data-variant=outlined] {
1017
+ outline: none;
1018
+ background-color: rgba(var(--panel-color), 0.8);
1019
+ &::before {
1020
+ background-color: rgba(var(--switch-color), 0.2);
1021
+ }
1022
+ &[data-checked=true] {
1023
+ background-color: rgb(222, 222, 222);
1024
+ }
1025
+ &[data-hovered=true]:not([data-disabled=true], [data-readonly=true]),
1026
+ &[data-focused=true]:not([data-disabled=true], [data-readonly=true]) {
1027
+ background-color: rgba(var(--switch-color), 0.9);
1028
+ &::before {
1029
+ background-color: rgb(var(--switch-color), 0.4);
1030
+ }
1031
+ }
1032
+ }
1033
+ &[data-variant=muted] {
1034
+ outline: none;
1035
+ background-color: rgb(var(--panel-color));
1036
+ &::before {
1037
+ background-color: rgba(var(--switch-color), 0.2);
1038
+ }
1039
+ &[data-checked=true] {
1040
+ background-color: rgb(var(--switch-color)) !important;
1041
+ }
1042
+ &[data-hovered=true]:not([data-disabled=true], [data-readonly=true]),
1043
+ &[data-focused=true]:not([data-disabled=true], [data-readonly=true]) {
1044
+ background-color: rgba(var(--switch-color), 0.7);
1045
+ &::before {
1046
+ background-color: rgb(var(--switch-color), 0.4);
1047
+ }
1048
+ }
1049
+ }
1050
+ }
1051
+ .text {
1052
+ --text-custom-color: var(--color, var(--text-color));
1053
+ color: rgb(var(--text-custom-color));
1054
+ &[disabled] {
1055
+ color: rgb(var(--text-color-disabled));
1056
+ }
773
1057
  }
774
1058
  .lcs-flex {
775
1059
  display: flex;