xto-fronted 0.5.3 → 0.6.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.
@@ -37,7 +37,7 @@ const layoutOptions: { value: LayoutMode; label: string; icon: string }[] = [
37
37
 
38
38
  // 主题色选项
39
39
  const colorOptions = [
40
- { value: '#409eff', label: '默认蓝' },
40
+ { value: '#1D4ED8', label: '品牌蓝' },
41
41
  { value: '#1890ff', label: '科技蓝' },
42
42
  { value: '#52c41a', label: '极光绿' },
43
43
  { value: '#faad14', label: '日落橙' },
@@ -481,7 +481,7 @@ onUnmounted(() => {
481
481
  padding: 0 20px;
482
482
  height: 100%;
483
483
  background-color: var(--xto-bg-color, #FFFFFF);
484
- border-bottom: 1px solid var(--xto-border-color-lighter, #F3F4F6);
484
+ border-bottom: 1px solid var(--xto-border-color-lighter, #F1F5F9);
485
485
 
486
486
  &__left {
487
487
  display: flex;
@@ -496,25 +496,25 @@ onUnmounted(() => {
496
496
  align-items: center;
497
497
  justify-content: center;
498
498
  cursor: pointer;
499
- color: var(--xto-color-text-regular, #4B5563);
499
+ color: var(--xto-color-text-regular, #334155);
500
500
  transition: color 0.2s;
501
501
 
502
502
  &:hover {
503
- color: var(--xto-color-primary, #4F46E5);
503
+ color: var(--xto-color-primary, #1D4ED8);
504
504
  }
505
505
  }
506
506
 
507
507
  &__breadcrumb {
508
508
  font-size: 14px;
509
- color: var(--xto-color-text-secondary, #6B7280);
509
+ color: var(--xto-color-text-secondary, #64748B);
510
510
 
511
511
  .breadcrumb-separator {
512
512
  margin: 0 8px;
513
- color: var(--xto-color-text-placeholder, #9CA3AF);
513
+ color: var(--xto-color-text-placeholder, #94A3B8);
514
514
  }
515
515
 
516
516
  .is-current {
517
- color: var(--xto-color-text-primary, #1F2937);
517
+ color: var(--xto-color-text-primary, #0F172A);
518
518
  font-weight: 500;
519
519
  }
520
520
  }
@@ -529,28 +529,28 @@ onUnmounted(() => {
529
529
  position: relative;
530
530
  display: flex;
531
531
  align-items: center;
532
- background-color: var(--xto-fill-color-light, #F9FAFB);
532
+ background-color: var(--xto-fill-color-light, #F8FAFC);
533
533
  border-radius: var(--xto-border-radius-base, 6px);
534
534
  padding: 0 12px;
535
535
  height: 32px;
536
536
  width: 200px;
537
537
 
538
538
  &-icon {
539
- color: var(--xto-color-text-secondary, #6B7280);
539
+ color: var(--xto-color-text-secondary, #64748B);
540
540
  }
541
541
 
542
542
  &-input {
543
543
  flex: 1;
544
544
  height: 100%;
545
545
  font-size: 14px;
546
- color: var(--xto-color-text-primary, #1F2937);
546
+ color: var(--xto-color-text-primary, #0F172A);
547
547
  background: transparent;
548
548
  border: none;
549
549
  outline: none;
550
550
  padding-left: 8px;
551
551
 
552
552
  &::placeholder {
553
- color: var(--xto-color-text-placeholder, #9CA3AF);
553
+ color: var(--xto-color-text-placeholder, #94A3B8);
554
554
  }
555
555
  }
556
556
 
@@ -581,17 +581,17 @@ onUnmounted(() => {
581
581
  transition: background-color 0.2s;
582
582
 
583
583
  &:hover {
584
- background-color: var(--xto-fill-color, #F3F4F6);
584
+ background-color: var(--xto-fill-color, #F1F5F9);
585
585
  }
586
586
 
587
587
  &-title {
588
588
  font-size: 14px;
589
- color: var(--xto-color-text-primary, #1F2937);
589
+ color: var(--xto-color-text-primary, #0F172A);
590
590
  }
591
591
 
592
592
  &-parent {
593
593
  font-size: 12px;
594
- color: var(--xto-color-text-secondary, #6B7280);
594
+ color: var(--xto-color-text-secondary, #64748B);
595
595
  margin-left: auto;
596
596
  }
597
597
  }
@@ -613,39 +613,40 @@ onUnmounted(() => {
613
613
  height: 16px;
614
614
  font-size: 12px;
615
615
  font-weight: 600;
616
- color: var(--xto-color-primary, #4F46E5);
617
- background-color: var(--xto-color-primary-light-8, #C7D2FE);
616
+ color: var(--xto-color-primary, #1D4ED8);
617
+ background-color: var(--xto-color-primary-light-8, #DBEAFE);
618
618
  border-radius: var(--xto-border-radius-small, 4px);
619
619
  }
620
620
 
621
621
  &-empty {
622
622
  padding: 16px 12px;
623
623
  text-align: center;
624
- color: var(--xto-color-text-secondary, #6B7280);
624
+ color: var(--xto-color-text-secondary, #64748B);
625
625
  font-size: 14px;
626
626
  }
627
627
  }
628
628
 
629
629
  &__action {
630
- width: 32px;
631
- height: 32px;
630
+ width: 36px;
631
+ height: 36px;
632
632
  display: flex;
633
633
  align-items: center;
634
634
  justify-content: center;
635
635
  cursor: pointer;
636
- border-radius: var(--xto-border-radius-base, 6px);
637
- color: var(--xto-color-text-regular, #4B5563);
636
+ border-radius: var(--xto-border-radius-circle, 50%);
637
+ color: var(--xto-color-text-regular, #334155);
638
638
  transition: all 0.2s;
639
639
 
640
640
  &:hover {
641
- background-color: var(--xto-fill-color, #F3F4F6);
642
- color: var(--xto-color-primary, #4F46E5);
641
+ background-color: var(--xto-fill-color, #F1F5F9);
642
+ color: var(--xto-color-primary, #1D4ED8);
643
643
  }
644
644
  }
645
645
 
646
646
  &__user {
647
647
  position: relative;
648
648
  margin-left: 8px;
649
+ margin-right: 16px;
649
650
 
650
651
  &-trigger {
651
652
  display: flex;
@@ -657,13 +658,13 @@ onUnmounted(() => {
657
658
  transition: background-color 0.2s;
658
659
 
659
660
  &:hover {
660
- background-color: var(--xto-fill-color, #F3F4F6);
661
+ background-color: var(--xto-fill-color, #F1F5F9);
661
662
  }
662
663
  }
663
664
 
664
665
  &-name {
665
666
  font-size: 14px;
666
- color: var(--xto-color-text-primary, #1F2937);
667
+ color: var(--xto-color-text-primary, #0F172A);
667
668
  max-width: 100px;
668
669
  overflow: hidden;
669
670
  text-overflow: ellipsis;
@@ -672,7 +673,7 @@ onUnmounted(() => {
672
673
 
673
674
  &-arrow {
674
675
  font-size: 10px;
675
- color: var(--xto-color-text-secondary, #6B7280);
676
+ color: var(--xto-color-text-secondary, #64748B);
676
677
  transition: transform 0.2s;
677
678
 
678
679
  &.is-active {
@@ -685,7 +686,7 @@ onUnmounted(() => {
685
686
  width: 32px;
686
687
  height: 32px;
687
688
  border-radius: 50%;
688
- background: linear-gradient(135deg, var(--xto-color-primary, #4F46E5), var(--xto-color-primary-light-3, #818CF8));
689
+ background: linear-gradient(135deg, var(--xto-color-primary, #1D4ED8), var(--xto-color-primary-light-3, #4C8DFF));
689
690
  display: flex;
690
691
  align-items: center;
691
692
  justify-content: center;
@@ -716,7 +717,7 @@ onUnmounted(() => {
716
717
  width: 40px;
717
718
  height: 40px;
718
719
  border-radius: 50%;
719
- background: linear-gradient(135deg, var(--xto-color-primary, #4F46E5), var(--xto-color-primary-light-3, #818CF8));
720
+ background: linear-gradient(135deg, var(--xto-color-primary, #1D4ED8), var(--xto-color-primary-light-3, #4C8DFF));
720
721
  display: flex;
721
722
  align-items: center;
722
723
  justify-content: center;
@@ -732,18 +733,18 @@ onUnmounted(() => {
732
733
  &-name {
733
734
  font-size: 14px;
734
735
  font-weight: 500;
735
- color: var(--xto-color-text-primary, #1F2937);
736
+ color: var(--xto-color-text-primary, #0F172A);
736
737
  }
737
738
 
738
739
  &-role {
739
740
  font-size: 12px;
740
- color: var(--xto-color-text-secondary, #6B7280);
741
+ color: var(--xto-color-text-secondary, #64748B);
741
742
  margin-top: 2px;
742
743
  }
743
744
 
744
745
  &-divider {
745
746
  height: 1px;
746
- background-color: var(--xto-border-color-lighter, #F3F4F6);
747
+ background-color: var(--xto-border-color-lighter, #F1F5F9);
747
748
  }
748
749
 
749
750
  &-menu {
@@ -757,12 +758,12 @@ onUnmounted(() => {
757
758
  padding: 10px 16px;
758
759
  cursor: pointer;
759
760
  font-size: 14px;
760
- color: var(--xto-color-text-regular, #4B5563);
761
+ color: var(--xto-color-text-regular, #334155);
761
762
  transition: all 0.2s;
762
763
 
763
764
  &:hover {
764
- background-color: var(--xto-fill-color, #F3F4F6);
765
- color: var(--xto-color-text-primary, #1F2937);
765
+ background-color: var(--xto-fill-color, #F1F5F9);
766
+ color: var(--xto-color-text-primary, #0F172A);
766
767
  }
767
768
 
768
769
  &--danger {
@@ -786,7 +787,7 @@ onUnmounted(() => {
786
787
  .settings-title {
787
788
  font-size: 14px;
788
789
  font-weight: 500;
789
- color: var(--xto-color-text-primary, #1F2937);
790
+ color: var(--xto-color-text-primary, #0F172A);
790
791
  margin-bottom: 12px;
791
792
  }
792
793
 
@@ -802,31 +803,31 @@ onUnmounted(() => {
802
803
  align-items: center;
803
804
  gap: 8px;
804
805
  padding: 12px;
805
- border: 1px solid var(--xto-border-color, #D1D5DB);
806
+ border: 1px solid var(--xto-border-color, #CBD5E1);
806
807
  border-radius: var(--xto-border-radius-base, 6px);
807
808
  cursor: pointer;
808
809
  transition: all 0.2s;
809
810
 
810
811
  &:hover {
811
- border-color: var(--xto-color-primary-light-5, #A5B4FC);
812
+ border-color: var(--xto-color-primary-light-5, #93C5FD);
812
813
  }
813
814
 
814
815
  &.is-active {
815
- border-color: var(--xto-color-primary, #4F46E5);
816
- background-color: var(--xto-color-primary-light-9, #EEF2FF);
816
+ border-color: var(--xto-color-primary, #1D4ED8);
817
+ background-color: var(--xto-color-primary-light-9, #EFF6FF);
817
818
  }
818
819
 
819
820
  &__preview {
820
821
  width: 48px;
821
822
  height: 36px;
822
- border: 1px solid var(--xto-border-color-light, #E5E7EB);
823
+ border: 1px solid var(--xto-border-color-light, #E2E8F0);
823
824
  border-radius: 2px;
824
825
  overflow: hidden;
825
826
  }
826
827
 
827
828
  &__label {
828
829
  font-size: 12px;
829
- color: var(--xto-color-text-regular, #4B5563);
830
+ color: var(--xto-color-text-regular, #334155);
830
831
  }
831
832
  }
832
833
 
@@ -838,7 +839,7 @@ onUnmounted(() => {
838
839
  .preview-aside {
839
840
  width: 25%;
840
841
  height: 100%;
841
- background-color: var(--xto-color-primary-light-7, #E0E7FF);
842
+ background-color: var(--xto-color-primary-light-7, #D0E1FE);
842
843
  }
843
844
 
844
845
  .preview-main {
@@ -848,12 +849,12 @@ onUnmounted(() => {
848
849
 
849
850
  .preview-header {
850
851
  height: 20%;
851
- background-color: var(--xto-border-color-light, #E5E7EB);
852
+ background-color: var(--xto-border-color-light, #E2E8F0);
852
853
  }
853
854
 
854
855
  .preview-content {
855
856
  flex: 1;
856
- background-color: var(--xto-bg-color-page, #F9FAFB);
857
+ background-color: var(--xto-bg-color-page, #F8FAFC);
857
858
  }
858
859
  }
859
860
  }
@@ -865,12 +866,12 @@ onUnmounted(() => {
865
866
 
866
867
  .preview-header-full {
867
868
  height: 25%;
868
- background-color: var(--xto-color-primary-light-7, #E0E7FF);
869
+ background-color: var(--xto-color-primary-light-7, #D0E1FE);
869
870
  }
870
871
 
871
872
  .preview-content-full {
872
873
  flex: 1;
873
- background-color: var(--xto-bg-color-page, #F9FAFB);
874
+ background-color: var(--xto-bg-color-page, #F8FAFC);
874
875
  }
875
876
  }
876
877
 
@@ -881,12 +882,12 @@ onUnmounted(() => {
881
882
 
882
883
  .preview-header-mix {
883
884
  height: 25%;
884
- background-color: var(--xto-color-primary-light-7, #E0E7FF);
885
+ background-color: var(--xto-color-primary-light-7, #D0E1FE);
885
886
  display: flex;
886
887
 
887
888
  .preview-mix-left {
888
889
  width: 30%;
889
- background-color: var(--xto-color-primary, #4F46E5);
890
+ background-color: var(--xto-color-primary, #1D4ED8);
890
891
  }
891
892
  }
892
893
 
@@ -896,12 +897,12 @@ onUnmounted(() => {
896
897
 
897
898
  .preview-mix-aside {
898
899
  width: 25%;
899
- background-color: var(--xto-color-primary-light-8, #C7D2FE);
900
+ background-color: var(--xto-color-primary-light-8, #DBEAFE);
900
901
  }
901
902
 
902
903
  .preview-mix-content {
903
904
  flex: 1;
904
- background-color: var(--xto-bg-color-page, #F9FAFB);
905
+ background-color: var(--xto-bg-color-page, #F8FAFC);
905
906
  }
906
907
  }
907
908
  }
@@ -926,7 +927,7 @@ onUnmounted(() => {
926
927
  }
927
928
 
928
929
  &.is-active {
929
- box-shadow: 0 0 0 2px var(--xto-bg-color, #FFFFFF), 0 0 0 4px var(--xto-color-primary, #4F46E5);
930
+ box-shadow: 0 0 0 2px var(--xto-bg-color, #FFFFFF), 0 0 0 4px var(--xto-color-primary, #1D4ED8);
930
931
  }
931
932
  }
932
933
 
@@ -943,7 +944,7 @@ onUnmounted(() => {
943
944
 
944
945
  span {
945
946
  font-size: 14px;
946
- color: var(--xto-color-text-regular, #4B5563);
947
+ color: var(--xto-color-text-regular, #334155);
947
948
  }
948
949
  }
949
950
 
@@ -958,7 +959,7 @@ onUnmounted(() => {
958
959
  width: 100%;
959
960
  height: 100%;
960
961
  border-radius: 11px;
961
- background-color: var(--xto-border-color, #D1D5DB);
962
+ background-color: var(--xto-border-color, #CBD5E1);
962
963
  position: relative;
963
964
  transition: background-color 0.2s;
964
965
 
@@ -977,7 +978,7 @@ onUnmounted(() => {
977
978
 
978
979
  &.is-checked {
979
980
  .switch-core {
980
- background-color: var(--xto-color-primary, #4F46E5);
981
+ background-color: var(--xto-color-primary, #1D4ED8);
981
982
 
982
983
  &::after {
983
984
  left: 24px;
@@ -700,7 +700,7 @@ onUnmounted(() => {
700
700
  position: relative;
701
701
  display: flex;
702
702
  align-items: center;
703
- background-color: var(--xto-fill-color-light, #F9FAFB);
703
+ background-color: var(--xto-fill-color-light, #F5F7FA);
704
704
  border-radius: var(--xto-border-radius-base, 6px);
705
705
  padding: 0 12px;
706
706
  height: 32px;
@@ -752,7 +752,7 @@ onUnmounted(() => {
752
752
  transition: background-color 0.2s;
753
753
 
754
754
  &:hover {
755
- background-color: var(--xto-fill-color, #F3F4F6);
755
+ background-color: var(--xto-fill-color, #EDF2F7);
756
756
  }
757
757
 
758
758
  &-title {
@@ -809,7 +809,7 @@ onUnmounted(() => {
809
809
  transition: all 0.2s;
810
810
 
811
811
  &:hover {
812
- background-color: var(--xto-fill-color, #F3F4F6);
812
+ background-color: var(--xto-fill-color, #EDF2F7);
813
813
  color: var(--xto-color-primary, #4F46E5);
814
814
  }
815
815
  }
@@ -829,7 +829,7 @@ onUnmounted(() => {
829
829
  transition: background-color 0.2s;
830
830
 
831
831
  &:hover {
832
- background-color: var(--xto-fill-color, #F3F4F6);
832
+ background-color: var(--xto-fill-color, #EDF2F7);
833
833
  }
834
834
  }
835
835
 
@@ -916,7 +916,7 @@ onUnmounted(() => {
916
916
 
917
917
  &-divider {
918
918
  height: 1px;
919
- background-color: var(--xto-border-color-lighter, #F3F4F6);
919
+ background-color: var(--xto-border-color-lighter, #EDF2F7);
920
920
  }
921
921
 
922
922
  &-menu {
@@ -934,7 +934,7 @@ onUnmounted(() => {
934
934
  transition: all 0.2s;
935
935
 
936
936
  &:hover {
937
- background-color: var(--xto-fill-color, #F3F4F6);
937
+ background-color: var(--xto-fill-color, #EDF2F7);
938
938
  color: var(--xto-color-text-primary, #1F2937);
939
939
  }
940
940
 
@@ -1026,7 +1026,7 @@ onUnmounted(() => {
1026
1026
 
1027
1027
  .preview-content {
1028
1028
  flex: 1;
1029
- background-color: var(--xto-bg-color-page, #F9FAFB);
1029
+ background-color: var(--xto-bg-color-page, #F5F7FA);
1030
1030
  }
1031
1031
  }
1032
1032
  }
@@ -1043,7 +1043,7 @@ onUnmounted(() => {
1043
1043
 
1044
1044
  .preview-content-full {
1045
1045
  flex: 1;
1046
- background-color: var(--xto-bg-color-page, #F9FAFB);
1046
+ background-color: var(--xto-bg-color-page, #F5F7FA);
1047
1047
  }
1048
1048
  }
1049
1049
 
@@ -1074,7 +1074,7 @@ onUnmounted(() => {
1074
1074
 
1075
1075
  .preview-mix-content {
1076
1076
  flex: 1;
1077
- background-color: var(--xto-bg-color-page, #F9FAFB);
1077
+ background-color: var(--xto-bg-color-page, #F5F7FA);
1078
1078
  }
1079
1079
  }
1080
1080
  }
@@ -104,10 +104,10 @@ watch(displayMenuList, (newList, oldList) => {
104
104
  }
105
105
  }, { immediate: false })
106
106
 
107
- // 菜单主题相关
108
- const menuBgColor = computed(() => appStore.isDark ? '#1d1e1f' : '#fff')
109
- const menuTextColor = computed(() => appStore.isDark ? '#cfd3dc' : '#303133')
110
- const menuActiveTextColor = computed(() => '#409eff')
107
+ // 菜单主题相关(浅色模式走 CSS 变量,深色模式保留深底硬编码以配合暗色覆盖)
108
+ const menuBgColor = computed(() => appStore.isDark ? '#111A2C' : '#fff')
109
+ const menuTextColor = computed(() => appStore.isDark ? '#CBD5E1' : '#334155')
110
+ const menuActiveTextColor = computed(() => appStore.isDark ? '#4C8DFF' : '#1D4ED8')
111
111
 
112
112
  // 菜单选择
113
113
  const handleMenuSelect = (index: string) => {
@@ -168,7 +168,7 @@ const handleLogout = () => {
168
168
  display: flex;
169
169
  flex-direction: column;
170
170
  background-color: var(--xto-bg-color, #FFFFFF);
171
- border-right: 1px solid var(--xto-border-color-lighter, #F3F4F6);
171
+ border-right: 1px solid var(--xto-border-color-light, #E2E8F0);
172
172
 
173
173
  &--collapsed {
174
174
  .sidebar__logo {
@@ -178,12 +178,12 @@ const handleLogout = () => {
178
178
  }
179
179
 
180
180
  &__logo {
181
- height: 50px;
181
+ height: 56px;
182
182
  display: flex;
183
183
  align-items: center;
184
184
  padding: 0 20px;
185
185
  gap: 10px;
186
- border-bottom: 1px solid var(--xto-border-color-lighter, #F3F4F6);
186
+ border-bottom: 1px solid var(--xto-border-color-light, #E2E8F0);
187
187
  }
188
188
 
189
189
  &__logo-img {
@@ -194,18 +194,33 @@ const handleLogout = () => {
194
194
  &__logo-text {
195
195
  font-size: 16px;
196
196
  font-weight: 600;
197
- color: var(--xto-color-primary, #4F46E5);
197
+ color: var(--xto-color-primary, #1D4ED8);
198
198
  }
199
199
 
200
200
  &__menu {
201
201
  flex: 1;
202
202
  border-right: none;
203
203
  overflow-y: auto;
204
+ padding: 8px;
205
+
206
+ // 菜单项圆角化(8px),激活态浅蓝底深蓝字由组件令牌提供
207
+ :deep(.x-menu-item),
208
+ :deep(.x-sub-menu__title) {
209
+ height: 44px;
210
+ line-height: 44px;
211
+ margin: 2px 0;
212
+ padding: 0 12px;
213
+ border-radius: 8px;
214
+ }
215
+
216
+ :deep(.x-menu-item.is-active) {
217
+ font-weight: 600;
218
+ }
204
219
  }
205
220
 
206
221
  &__user {
207
222
  padding: 10px;
208
- border-top: 1px solid var(--xto-border-color-lighter, #F3F4F6);
223
+ border-top: 1px solid var(--xto-border-color-light, #E2E8F0);
209
224
  display: flex;
210
225
  align-items: center;
211
226
  justify-content: space-between;
@@ -224,7 +239,7 @@ const handleLogout = () => {
224
239
 
225
240
  &__user-role {
226
241
  font-size: 12px;
227
- color: var(--xto-color-text-secondary, #6B7280);
242
+ color: var(--xto-color-text-secondary, #64748B);
228
243
  }
229
244
  }
230
245
  </style>
@@ -156,8 +156,8 @@ const hasChildren = computed(() => {
156
156
  height: 16px;
157
157
  font-size: 12px;
158
158
  font-weight: 600;
159
- color: var(--xto-color-primary, #4F46E5);
160
- background-color: var(--xto-color-primary-light-8, #C7D2FE);
159
+ color: var(--xto-color-primary, #1D4ED8);
160
+ background-color: var(--xto-color-primary-light-8, #DBEAFE);
161
161
  border-radius: var(--xto-border-radius-small, 4px);
162
162
  }
163
163
  </style>
@@ -81,7 +81,10 @@ const handleClose = (path: string) => {
81
81
  .tabs-wrapper {
82
82
  width: 100%;
83
83
  height: 100%;
84
- padding: 0 10px;
84
+ padding: 0 16px;
85
+ background-color: var(--xto-bg-color, #FFFFFF);
86
+ border-bottom: 1px solid var(--xto-border-color-light, #E2E8F0);
87
+ box-sizing: border-box;
85
88
 
86
89
  :deep(.t-tabs) {
87
90
  height: 100%;
@@ -97,16 +100,35 @@ const handleClose = (path: string) => {
97
100
  }
98
101
 
99
102
  :deep(.t-tabs__item) {
100
- height: 32px;
101
- line-height: 32px;
102
- border: 1px solid var(--xto-border-color-lighter, #F3F4F6);
103
- margin-right: 5px;
104
- border-radius: var(--xto-border-radius-base, 6px);
105
- padding: 0 15px;
103
+ height: 100%;
104
+ line-height: 40px;
105
+ border: none;
106
+ margin-right: 4px;
107
+ border-radius: 0;
108
+ padding: 0 16px;
109
+ color: var(--xto-color-text-regular, #334155);
110
+ position: relative;
111
+ transition: color 0.2s;
112
+
113
+ &:hover {
114
+ color: var(--xto-color-primary, #1D4ED8);
115
+ }
106
116
 
107
117
  &.is-active {
108
- background-color: var(--xto-color-primary-light-9, #EEF2FF);
109
- border-color: var(--xto-color-primary, #4F46E5);
118
+ background-color: transparent;
119
+ color: var(--xto-color-primary, #1D4ED8);
120
+ font-weight: 600;
121
+
122
+ &::after {
123
+ content: '';
124
+ position: absolute;
125
+ bottom: 0;
126
+ left: 12px;
127
+ right: 12px;
128
+ height: 2px;
129
+ border-radius: 2px;
130
+ background-color: var(--xto-color-primary, #1D4ED8);
131
+ }
110
132
  }
111
133
  }
112
134
  }
@@ -692,7 +692,7 @@ onUnmounted(() => {
692
692
  position: relative;
693
693
  display: flex;
694
694
  align-items: center;
695
- background-color: var(--xto-fill-color-light, #F9FAFB);
695
+ background-color: var(--xto-fill-color-light, #F5F7FA);
696
696
  border-radius: var(--xto-border-radius-base, 6px);
697
697
  padding: 0 12px;
698
698
  height: 32px;
@@ -744,7 +744,7 @@ onUnmounted(() => {
744
744
  transition: background-color 0.2s;
745
745
 
746
746
  &:hover {
747
- background-color: var(--xto-fill-color, #F3F4F6);
747
+ background-color: var(--xto-fill-color, #EDF2F7);
748
748
  }
749
749
 
750
750
  &-title {
@@ -801,7 +801,7 @@ onUnmounted(() => {
801
801
  transition: all 0.2s;
802
802
 
803
803
  &:hover {
804
- background-color: var(--xto-fill-color, #F3F4F6);
804
+ background-color: var(--xto-fill-color, #EDF2F7);
805
805
  color: var(--xto-color-primary, #4F46E5);
806
806
  }
807
807
  }
@@ -821,7 +821,7 @@ onUnmounted(() => {
821
821
  transition: background-color 0.2s;
822
822
 
823
823
  &:hover {
824
- background-color: var(--xto-fill-color, #F3F4F6);
824
+ background-color: var(--xto-fill-color, #EDF2F7);
825
825
  }
826
826
  }
827
827
 
@@ -908,7 +908,7 @@ onUnmounted(() => {
908
908
 
909
909
  &-divider {
910
910
  height: 1px;
911
- background-color: var(--xto-border-color-lighter, #F3F4F6);
911
+ background-color: var(--xto-border-color-lighter, #EDF2F7);
912
912
  }
913
913
 
914
914
  &-menu {
@@ -926,7 +926,7 @@ onUnmounted(() => {
926
926
  transition: all 0.2s;
927
927
 
928
928
  &:hover {
929
- background-color: var(--xto-fill-color, #F3F4F6);
929
+ background-color: var(--xto-fill-color, #EDF2F7);
930
930
  color: var(--xto-color-text-primary, #1F2937);
931
931
  }
932
932
 
@@ -1018,7 +1018,7 @@ onUnmounted(() => {
1018
1018
 
1019
1019
  .preview-content {
1020
1020
  flex: 1;
1021
- background-color: var(--xto-bg-color-page, #F9FAFB);
1021
+ background-color: var(--xto-bg-color-page, #F5F7FA);
1022
1022
  }
1023
1023
  }
1024
1024
  }
@@ -1035,7 +1035,7 @@ onUnmounted(() => {
1035
1035
 
1036
1036
  .preview-content-full {
1037
1037
  flex: 1;
1038
- background-color: var(--xto-bg-color-page, #F9FAFB);
1038
+ background-color: var(--xto-bg-color-page, #F5F7FA);
1039
1039
  }
1040
1040
  }
1041
1041
 
@@ -1066,7 +1066,7 @@ onUnmounted(() => {
1066
1066
 
1067
1067
  .preview-mix-content {
1068
1068
  flex: 1;
1069
- background-color: var(--xto-bg-color-page, #F9FAFB);
1069
+ background-color: var(--xto-bg-color-page, #F5F7FA);
1070
1070
  }
1071
1071
  }
1072
1072
  }