@locus-ui/components 0.0.13 → 0.0.15

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
@@ -413,17 +413,18 @@
413
413
  }
414
414
  }
415
415
  .panel[data-variant] {
416
+ --panel-custom-color: var(--color, var(--panel-color));
416
417
  backdrop-filter: blur(var(--panel-blur, 0px));
417
418
  &[data-variant=solid] {
418
- background-color: rgb(var(--panel-color));
419
+ background-color: rgb(var(--panel-custom-color));
419
420
  border: 1px solid transparent;
420
421
  }
421
422
  &[data-variant=outlined] {
422
- background-color: rgba(var(--panel-color), 0.8);
423
- border: 1px solid rgb(var(--border-color));
423
+ background-color: rgba(var(--panel-custom-color), 0.5);
424
+ border: 1px solid rgba(var(--color, var(--border-color)));
424
425
  }
425
426
  &[data-variant=muted] {
426
- background-color: rgba(var(--panel-color), 0.5);
427
+ background-color: rgba(var(--panel-custom-color), 0.4);
427
428
  border: 1px solid transparent;
428
429
  }
429
430
  }
@@ -765,11 +766,210 @@
765
766
  border-right: 1px dotted rgb(var(--border-color));
766
767
  }
767
768
  }
768
- .lcs-text {
769
- color: rgb(var(--text-color));
769
+ .switch-root[data-variant] {
770
+ --switch-color: var(--color, var(--primary));
771
+ display: flex;
772
+ flex-direction: row;
773
+ gap: calc(12px * var(--lcs-spacing, 1));
774
+ cursor: pointer;
775
+ &:not([data-align]) {
776
+ align-items: center;
777
+ }
778
+ &[data-disabled=true],
779
+ &[data-readonly=true] {
780
+ cursor: not-allowed !important;
781
+ }
782
+ &[data-disabled=true] {
783
+ opacity: 0.6;
784
+ }
785
+ &:has(.switch-label[data-position=top]) {
786
+ flex-direction: column-reverse;
787
+ align-items: start;
788
+ }
789
+ &:has(.switch-label[data-position=bottom]) {
790
+ flex-direction: column;
791
+ align-items: start;
792
+ }
793
+ &:has(.switch-label[data-position=right]) {
794
+ flex-direction: row-reverse;
795
+ }
796
+ .switch-container {
797
+ overflow: hidden;
798
+ border-radius: 16px;
799
+ width: calc(40px * var(--lcs-spacing, 1));
800
+ min-width: calc(40px * var(--lcs-spacing, 1));
801
+ &[data-focused=true] {
802
+ outline: 1px solid rgba(var(--switch-color), 0.8);
803
+ outline-offset: 0.5px;
804
+ }
805
+ &[data-variant=solid] {
806
+ background-color: rgba(var(--panel-color), 0.8);
807
+ transition: background-color 100ms;
808
+ }
809
+ &[data-variant=outlined] {
810
+ border: 1px solid rgba(var(--panel-color), 0.8);
811
+ transition: border-color 100ms;
812
+ &[data-checked=true] {
813
+ border-color: rgba(var(--switch-color), 0.6);
814
+ }
815
+ &[data-hovered=true]:not([data-disabled=true], [data-readonly=true]),
816
+ &[data-focused=true]:not([data-disabled=true], [data-readonly=true]) {
817
+ border-color: rgba(var(--switch-color), 0.8);
818
+ }
819
+ }
820
+ &[data-variant=muted] {
821
+ background-color: rgba(var(--panel-color), 0.4);
822
+ transition: background-color 100ms;
823
+ }
824
+ &[data-size=xs] {
825
+ width: calc(24px * var(--lcs-spacing, 1));
826
+ min-width: calc(24px * var(--lcs-spacing, 1));
827
+ }
828
+ &[data-size=sm] {
829
+ width: calc(32px * var(--lcs-spacing, 1));
830
+ min-width: calc(32px * var(--lcs-spacing, 1));
831
+ }
832
+ &[data-size=lg] {
833
+ width: calc(48px * var(--lcs-spacing, 1));
834
+ min-width: calc(48px * var(--lcs-spacing, 1));
835
+ }
836
+ &[data-size=xl] {
837
+ width: calc(64px * var(--lcs-spacing, 1));
838
+ min-width: calc(64px * var(--lcs-spacing, 1));
839
+ }
840
+ &.size {
841
+ width: var(--custom-size);
842
+ min-width: var(--custom-size);
843
+ }
844
+ }
770
845
  }
771
- .lcs-text[disabled] {
772
- color: rgb(var(--text-color-disabled));
846
+ .switch-indicator[data-variant] {
847
+ --switch-color: var(--color, var(--primary));
848
+ position: relative;
849
+ display: flex;
850
+ align-items: center;
851
+ justify-content: center;
852
+ box-sizing: border-box;
853
+ width: calc(20px * var(--lcs-spacing, 1));
854
+ height: calc(20px * var(--lcs-spacing, 1));
855
+ min-width: calc(12px * var(--lcs-spacing, 1));
856
+ min-height: calc(12px * var(--lcs-spacing, 1));
857
+ border: 1px solid transparent;
858
+ border-radius: 100%;
859
+ transition:
860
+ background-color 100ms,
861
+ border-color 100ms,
862
+ margin 100ms;
863
+ &[data-size=xs] {
864
+ width: calc(12px * var(--lcs-spacing, 1));
865
+ height: calc(12px * var(--lcs-spacing, 1));
866
+ }
867
+ &[data-size=sm] {
868
+ width: calc(16px * var(--lcs-spacing, 1));
869
+ height: calc(16px * var(--lcs-spacing, 1));
870
+ }
871
+ &[data-size=lg] {
872
+ width: calc(24px * var(--lcs-spacing, 1));
873
+ height: calc(24px * var(--lcs-spacing, 1));
874
+ }
875
+ &[data-size=xl] {
876
+ width: calc(32px * var(--lcs-spacing, 1));
877
+ height: calc(32px * var(--lcs-spacing, 1));
878
+ }
879
+ &.size {
880
+ width: calc(var(--custom-size) / 2);
881
+ height: calc(var(--custom-size) / 2);
882
+ }
883
+ &[data-checked=true] {
884
+ margin-left: 50%;
885
+ }
886
+ &[data-disabled=true],
887
+ &[data-readonly=true] {
888
+ cursor: not-allowed;
889
+ opacity: 0.6;
890
+ }
891
+ &::before {
892
+ content: "";
893
+ position: absolute;
894
+ top: 50%;
895
+ left: 50%;
896
+ transform: translate(-100%, -50%);
897
+ width: 200%;
898
+ height: 200%;
899
+ pointer-events: none;
900
+ opacity: 0;
901
+ transition: opacity 100ms, background-color 100ms;
902
+ }
903
+ &[data-checked=true]::before {
904
+ opacity: 1;
905
+ }
906
+ &::after {
907
+ content: "";
908
+ position: absolute;
909
+ inset: -1px;
910
+ border-radius: inherit;
911
+ background-color: inherit;
912
+ pointer-events: none;
913
+ transition: background-color 100ms;
914
+ }
915
+ &[data-variant=solid] {
916
+ outline: none;
917
+ background-color: rgb(222, 222, 222);
918
+ &::before {
919
+ background-color: rgba(var(--switch-color), 0.5);
920
+ }
921
+ &[data-checked=true] {
922
+ background-color: rgb(222, 222, 222);
923
+ }
924
+ &[data-hovered=true]:not([data-disabled=true], [data-readonly=true]),
925
+ &[data-focused=true]:not([data-disabled=true], [data-readonly=true]) {
926
+ background-color: rgba(var(--switch-color), 0.9);
927
+ &::before {
928
+ background-color: rgb(var(--switch-color), 0.4);
929
+ }
930
+ }
931
+ }
932
+ &[data-variant=outlined] {
933
+ outline: none;
934
+ background-color: rgba(var(--panel-color), 0.8);
935
+ &::before {
936
+ background-color: rgba(var(--switch-color), 0.2);
937
+ }
938
+ &[data-checked=true] {
939
+ background-color: rgb(222, 222, 222);
940
+ }
941
+ &[data-hovered=true]:not([data-disabled=true], [data-readonly=true]),
942
+ &[data-focused=true]:not([data-disabled=true], [data-readonly=true]) {
943
+ background-color: rgba(var(--switch-color), 0.9);
944
+ &::before {
945
+ background-color: rgb(var(--switch-color), 0.4);
946
+ }
947
+ }
948
+ }
949
+ &[data-variant=muted] {
950
+ outline: none;
951
+ background-color: rgb(var(--panel-color));
952
+ &::before {
953
+ background-color: rgba(var(--switch-color), 0.2);
954
+ }
955
+ &[data-checked=true] {
956
+ background-color: rgb(var(--switch-color)) !important;
957
+ }
958
+ &[data-hovered=true]:not([data-disabled=true], [data-readonly=true]),
959
+ &[data-focused=true]:not([data-disabled=true], [data-readonly=true]) {
960
+ background-color: rgba(var(--switch-color), 0.7);
961
+ &::before {
962
+ background-color: rgb(var(--switch-color), 0.4);
963
+ }
964
+ }
965
+ }
966
+ }
967
+ .text {
968
+ --text-custom-color: var(--color, var(--text-color));
969
+ color: rgb(var(--text-custom-color));
970
+ &[disabled] {
971
+ color: rgb(var(--text-color-disabled));
972
+ }
773
973
  }
774
974
  .lcs-flex {
775
975
  display: flex;