@done-coding/admin-core 0.28.1-alpha.0 → 0.29.1-alpha.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.
- package/es/bridge/layout.mjs +31 -2
- package/es/components/app-layout/AppAside.vue.mjs +1 -1
- package/es/components/app-layout/AppCollapseToggle.vue.mjs +1 -1
- package/es/components/app-layout/AppFooter.vue.mjs +1 -1
- package/es/components/app-layout/AppHeader.vue.mjs +1 -1
- package/es/components/app-layout/AppHeader.vue2.mjs +1 -1
- package/es/components/app-layout/AppSidebar.vue.mjs +1 -1
- package/es/components/app-layout/AppSidebar.vue2.mjs +60 -34
- package/es/components/data-view/DataGridView.vue.mjs +1 -1
- package/es/components/data-view/DataGridView.vue2.mjs +30 -6
- package/es/components/data-view/DataListView.vue.mjs +1 -1
- package/es/components/data-view/DataListView.vue2.mjs +38 -14
- package/es/components/data-view/DataListViewItem.vue.mjs +1 -1
- package/es/components/data-view/DataListViewItem.vue2.mjs +23 -4
- package/es/components/data-view/InfiniteListView.vue.mjs +1 -1
- package/es/components/data-view/InfiniteListView.vue2.mjs +9 -3
- package/es/components/data-view/use-grid-layout.mjs +46 -0
- package/es/components/data-view/use-masonry.mjs +65 -0
- package/es/components/display/BadgeMark.vue.mjs +1 -1
- package/es/components/display/BadgeMark.vue2.mjs +11 -3
- package/es/components/display/HeightProvider.vue.mjs +17 -3
- package/es/components/display/use-badge.mjs +22 -13
- package/es/components/form/use-upload-state.mjs +33 -11
- package/es/components/page-layout/AppPageDetail.vue.mjs +1 -1
- package/es/components/page-layout/AppPageDetail.vue2.mjs +12 -2
- package/es/components/page-layout/AppPageListDetailLayout.vue.mjs +11 -4
- package/es/components/page-layout/AppPageListDetailSheet.vue.mjs +8 -1
- package/es/components/page-layout/AppPageListDetailSplit.vue.mjs +1 -1
- package/es/components/page-layout/AppPageListDetailSplit.vue2.mjs +8 -1
- package/es/components/table/TableMain.vue.mjs +1 -1
- package/es/components/table/TableMain.vue2.mjs +8 -5
- package/es/components/view-layout/ViewLayout.vue.mjs +1 -1
- package/es/components/view-layout/ViewLayout.vue2.mjs +68 -20
- package/es/hooks/use-surface.mjs +4 -1
- package/es/hooks/use-theme-apply.mjs +78 -0
- package/es/index.mjs +118 -120
- package/es/store/app.mjs +25 -0
- package/es/style.css +120 -95
- package/package.json +2 -2
- package/src/bridge/docs/README.md +31 -0
- package/src/components/app-layout/docs/README-AppAside.md +11 -0
- package/src/components/app-layout/docs/README-AppFooter.md +11 -1
- package/src/components/app-layout/docs/README-AppHeader.md +16 -0
- package/src/components/app-layout/docs/README-AppSidebar.md +18 -0
- package/src/components/data-view/README.md +2 -1
- package/src/components/data-view/docs/README-DataGridView.md +21 -1
- package/src/components/data-view/docs/README-DataListView.md +65 -3
- package/src/components/data-view/docs/README-InfiniteListView.md +17 -0
- package/src/components/display/README.md +1 -1
- package/src/components/display/docs/README-BadgeMark.md +52 -10
- package/src/components/display/docs/README-HeightProvider.md +14 -8
- package/src/components/form/docs/README-FormUpload.md +79 -0
- package/src/components/form/docs/README-FormUploadImage.md +19 -0
- package/src/components/form/docs/README-FormUploadVideo.md +19 -0
- package/src/components/page-layout/README.md +15 -0
- package/src/components/page-layout/docs/README-AppPageDetail.md +3 -0
- package/src/components/page-layout/docs/README-AppPageListDetailLayout.md +33 -0
- package/src/components/table/docs/README-TableMain.md +17 -0
- package/src/components/view-layout/README.md +2 -2
- package/src/components/view-layout/docs/README-ViewLayout.md +97 -6
- package/types/bridge/badge.d.ts +3 -1
- package/types/bridge/layout.d.ts +42 -5
- package/types/components/app-layout/AppSidebar.vue.d.ts +286 -2
- package/types/components/app-layout/types.d.ts +1 -1
- package/types/components/data-view/DataListViewItem.vue.d.ts +12 -7
- package/types/components/data-view/types.d.ts +76 -0
- package/types/components/data-view/use-grid-layout.d.ts +42 -0
- package/types/components/data-view/use-masonry.d.ts +44 -0
- package/types/components/display/BadgeMark.vue.d.ts +5 -5
- package/types/components/display/HeightProvider.vue.d.ts +1 -0
- package/types/components/display/use-badge.d.ts +6 -0
- package/types/components/page-layout/AppPageDetail.vue.d.ts +18 -0
- package/types/components/page-layout/AppPageListDetailLayout.vue.d.ts +20 -0
- package/types/components/page-layout/AppPageListDetailSheet.vue.d.ts +4 -0
- package/types/components/page-layout/AppPageListDetailSplit.vue.d.ts +4 -0
- package/types/components/table/types.d.ts +8 -0
- package/types/components/view-layout/ViewLayout.vue.d.ts +30 -0
- package/types/components/view-layout/types.d.ts +12 -0
- package/types/hooks/use-surface.d.ts +11 -0
- package/types/index.d.ts +0 -1
- package/types/injectInfo.json.d.ts +1 -1
- package/es/components/icon/IconHammer.vue.mjs +0 -26
- package/es/components/icon/IconHammer.vue2.mjs +0 -4
- package/src/components/icon/README.md +0 -38
- package/types/components/icon/IconHammer.vue.d.ts +0 -2
- package/types/components/icon/index.d.ts +0 -7
package/es/style.css
CHANGED
|
@@ -66,14 +66,14 @@
|
|
|
66
66
|
justify-content: flex-end;
|
|
67
67
|
gap: 8px;
|
|
68
68
|
}
|
|
69
|
-
.badge-mark[data-v-
|
|
69
|
+
.badge-mark[data-v-9eb89306] .el-badge__content.is-fixed {
|
|
70
70
|
right: 0;
|
|
71
71
|
transform: translateY(-50%) translateX(calc(100% + 2px));
|
|
72
72
|
}
|
|
73
|
-
.badge-mark_middle[data-v-
|
|
73
|
+
.badge-mark_middle[data-v-9eb89306] .el-badge__content.is-fixed {
|
|
74
74
|
top: 50%;
|
|
75
75
|
}
|
|
76
|
-
.badge-mark[data-v-
|
|
76
|
+
.badge-mark[data-v-9eb89306] .badge-mark__icon {
|
|
77
77
|
display: block;
|
|
78
78
|
font-size: 1em;
|
|
79
79
|
line-height: 1;
|
|
@@ -131,7 +131,7 @@ to {
|
|
|
131
131
|
text-align: center;
|
|
132
132
|
font-variant-numeric: tabular-nums;
|
|
133
133
|
}
|
|
134
|
-
.view-layout-header[data-v-
|
|
134
|
+
.view-layout-header[data-v-3c6fd3fe] {
|
|
135
135
|
flex: 0 1 auto;
|
|
136
136
|
min-width: 0;
|
|
137
137
|
overflow: hidden;
|
|
@@ -142,21 +142,21 @@ to {
|
|
|
142
142
|
white-space: nowrap;
|
|
143
143
|
text-overflow: ellipsis;
|
|
144
144
|
}
|
|
145
|
-
.view-layout[data-v-
|
|
145
|
+
.view-layout[data-v-3c6fd3fe] {
|
|
146
146
|
display: flex;
|
|
147
147
|
flex-direction: column;
|
|
148
148
|
}
|
|
149
|
-
.view-layout-toolbar[data-v-
|
|
149
|
+
.view-layout-toolbar[data-v-3c6fd3fe] {
|
|
150
150
|
display: flex;
|
|
151
151
|
justify-content: space-between;
|
|
152
152
|
align-items: center;
|
|
153
|
-
padding: 0
|
|
153
|
+
padding: 0 var(--v72fb5e44) 0 var(--v7243a29e);
|
|
154
154
|
position: relative;
|
|
155
155
|
gap: 20px;
|
|
156
156
|
background: color-mix(in srgb, var(--dc-core-surface, var(--el-bg-color)) 50%, var(--dc-core-ground, var(--el-bg-color-page)));
|
|
157
157
|
border-radius: 0;
|
|
158
158
|
}
|
|
159
|
-
.view-layout-toolbar[data-v-
|
|
159
|
+
.view-layout-toolbar[data-v-3c6fd3fe]::before {
|
|
160
160
|
content: "";
|
|
161
161
|
position: absolute;
|
|
162
162
|
top: 0;
|
|
@@ -166,33 +166,35 @@ to {
|
|
|
166
166
|
border-radius: 3px;
|
|
167
167
|
background: var(--dc-core-primary-color, var(--el-color-primary));
|
|
168
168
|
}
|
|
169
|
-
.view-layout-toolbar__left[data-v-
|
|
170
|
-
.view-layout-toolbar__right[data-v-
|
|
169
|
+
.view-layout-toolbar__left[data-v-3c6fd3fe],
|
|
170
|
+
.view-layout-toolbar__right[data-v-3c6fd3fe] {
|
|
171
171
|
display: flex;
|
|
172
172
|
align-items: center;
|
|
173
173
|
gap: 10px;
|
|
174
174
|
}
|
|
175
|
-
.view-layout-toolbar__left[data-v-
|
|
176
|
-
.view-layout-toolbar__right[data-v-
|
|
175
|
+
.view-layout-toolbar__left[data-v-3c6fd3fe] > *,
|
|
176
|
+
.view-layout-toolbar__right[data-v-3c6fd3fe] > * {
|
|
177
177
|
flex: none;
|
|
178
178
|
}
|
|
179
|
-
.view-layout-toolbar__left .view-layout-header[data-v-
|
|
179
|
+
.view-layout-toolbar__left .view-layout-header[data-v-3c6fd3fe] {
|
|
180
180
|
flex: 1 1 auto;
|
|
181
181
|
}
|
|
182
|
-
.view-layout-toolbar__right[data-v-
|
|
182
|
+
.view-layout-toolbar__right[data-v-3c6fd3fe] {
|
|
183
183
|
flex: none;
|
|
184
184
|
}
|
|
185
|
-
.view-layout-content[data-v-
|
|
185
|
+
.view-layout-content[data-v-3c6fd3fe] {
|
|
186
186
|
overflow: auto;
|
|
187
|
+
box-sizing: border-box;
|
|
188
|
+
padding: var(--v72fb5e44) var(--v72fb5e44) var(--v72fb5e44) var(--v7243a29e);
|
|
187
189
|
}
|
|
188
|
-
.dc-app-page-detail__title[data-v-
|
|
190
|
+
.dc-app-page-detail__title[data-v-1b784d3a] {
|
|
189
191
|
padding-bottom: 12px;
|
|
190
192
|
font-size: 16px;
|
|
191
193
|
font-weight: 600;
|
|
192
194
|
line-height: 24px;
|
|
193
195
|
color: var(--dc-core-text-color, var(--el-text-color-primary));
|
|
194
196
|
}
|
|
195
|
-
.dc-app-page-list-detail-split__list[data-v-
|
|
197
|
+
.dc-app-page-list-detail-split__list[data-v-7aa91bcb] {
|
|
196
198
|
box-sizing: border-box;
|
|
197
199
|
height: 100%;
|
|
198
200
|
overflow: hidden;
|
|
@@ -555,7 +557,7 @@ to {
|
|
|
555
557
|
box-shadow: var(--dc-core-shadow, var(--el-box-shadow-lighter));
|
|
556
558
|
border: 1px solid var(--dc-core-border-color, var(--el-border-color-lighter));
|
|
557
559
|
}
|
|
558
|
-
.app-collapse-toggle[data-v-
|
|
560
|
+
.app-collapse-toggle[data-v-7c080128] {
|
|
559
561
|
position: absolute;
|
|
560
562
|
top: 50%;
|
|
561
563
|
cursor: pointer;
|
|
@@ -563,50 +565,51 @@ to {
|
|
|
563
565
|
height: 44px;
|
|
564
566
|
border-radius: 7px;
|
|
565
567
|
background-color: var(--dc-core-surface, var(--el-bg-color-overlay));
|
|
566
|
-
border: 1px solid var(--dc-core-border-color, var(--el-border-color
|
|
567
|
-
color: var(--el-text-color-
|
|
568
|
+
border: 1px solid var(--dc-core-border-color, var(--el-border-color));
|
|
569
|
+
color: var(--el-text-color-regular);
|
|
568
570
|
display: flex;
|
|
569
571
|
align-items: center;
|
|
570
572
|
justify-content: center;
|
|
571
573
|
font-size: 12px;
|
|
572
574
|
z-index: 1;
|
|
573
|
-
opacity:
|
|
575
|
+
opacity: 1;
|
|
574
576
|
box-shadow: none;
|
|
575
577
|
transition: opacity 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
|
|
576
578
|
}
|
|
577
|
-
.app-collapse-toggle--sidebar[data-v-
|
|
579
|
+
.app-collapse-toggle--sidebar[data-v-7c080128] {
|
|
578
580
|
left: 100%;
|
|
579
581
|
transform: translate(-50%, -50%);
|
|
580
582
|
}
|
|
581
|
-
.app-collapse-toggle--aside[data-v-
|
|
583
|
+
.app-collapse-toggle--aside[data-v-7c080128] {
|
|
582
584
|
right: 100%;
|
|
583
585
|
transform: translate(50%, -50%);
|
|
584
586
|
}
|
|
585
|
-
.app-collapse-toggle[data-v-
|
|
586
|
-
.app-collapse-toggle[data-v-
|
|
587
|
+
.app-collapse-toggle[data-v-7c080128]:hover,
|
|
588
|
+
.app-collapse-toggle[data-v-7c080128]:focus-visible {
|
|
587
589
|
opacity: 1;
|
|
588
590
|
color: var(--el-text-color-primary);
|
|
589
591
|
border-color: var(--dc-core-border-color, var(--el-border-color));
|
|
590
592
|
box-shadow: var(--el-box-shadow-lighter);
|
|
591
593
|
}
|
|
592
|
-
.app-collapse-toggle[data-v-
|
|
594
|
+
.app-collapse-toggle[data-v-7c080128]:active {
|
|
593
595
|
border-color: var(--dc-core-primary-color, var(--el-color-primary));
|
|
594
596
|
}
|
|
595
|
-
.app-collapse-toggle__icon[data-v-
|
|
597
|
+
.app-collapse-toggle__icon[data-v-7c080128] {
|
|
596
598
|
transition: transform 0.3s;
|
|
597
599
|
}
|
|
598
|
-
.app-aside[data-v-
|
|
600
|
+
.app-aside[data-v-d6ef7f3d] {
|
|
599
601
|
transition: width var(--dc-core-motion-duration-slow, 300ms) var(--dc-core-motion-easing, ease);
|
|
600
602
|
box-shadow: var(--dc-core-shadow, var(--el-box-shadow));
|
|
601
603
|
overflow: visible;
|
|
602
604
|
z-index: 0;
|
|
603
605
|
}
|
|
604
|
-
.app-aside-clip[data-v-
|
|
606
|
+
.app-aside-clip[data-v-d6ef7f3d] {
|
|
605
607
|
position: absolute;
|
|
606
608
|
inset: 0;
|
|
607
609
|
overflow: hidden;
|
|
610
|
+
border-radius: inherit;
|
|
608
611
|
}
|
|
609
|
-
.app-aside-shim[data-v-
|
|
612
|
+
.app-aside-shim[data-v-d6ef7f3d] {
|
|
610
613
|
position: absolute;
|
|
611
614
|
right: 0;
|
|
612
615
|
top: 0;
|
|
@@ -616,8 +619,8 @@ to {
|
|
|
616
619
|
transition: opacity var(--dc-core-motion-duration, 200ms) var(--dc-core-motion-easing, ease);
|
|
617
620
|
}
|
|
618
621
|
@media (prefers-reduced-motion: reduce) {
|
|
619
|
-
.app-aside[data-v-
|
|
620
|
-
.app-aside-shim[data-v-
|
|
622
|
+
.app-aside[data-v-d6ef7f3d],
|
|
623
|
+
.app-aside-shim[data-v-d6ef7f3d] {
|
|
621
624
|
transition: none;
|
|
622
625
|
}
|
|
623
626
|
}
|
|
@@ -637,7 +640,7 @@ to {
|
|
|
637
640
|
display: flow-root;
|
|
638
641
|
--app-viewport-max-height: var(--ece8e1ac);
|
|
639
642
|
}
|
|
640
|
-
.app-footer[data-v-
|
|
643
|
+
.app-footer[data-v-de6fd086] {
|
|
641
644
|
transition-duration: 0.3s;
|
|
642
645
|
transition-property: height;
|
|
643
646
|
transition-timing-function: linear;
|
|
@@ -645,12 +648,11 @@ to {
|
|
|
645
648
|
width: 100%;
|
|
646
649
|
box-shadow: var(--dc-core-shadow, var(--el-box-shadow));
|
|
647
650
|
}
|
|
648
|
-
.app-footer-shim[data-v-
|
|
651
|
+
.app-footer-shim[data-v-de6fd086] {
|
|
649
652
|
width: 100%;
|
|
650
653
|
height: 100%;
|
|
651
|
-
padding: 0 20px;
|
|
652
654
|
}
|
|
653
|
-
.app-header[data-v-
|
|
655
|
+
.app-header[data-v-6fa13544] {
|
|
654
656
|
transition-duration: 0.3s;
|
|
655
657
|
transition-property: height;
|
|
656
658
|
transition-timing-function: linear;
|
|
@@ -658,13 +660,13 @@ to {
|
|
|
658
660
|
box-shadow: var(--dc-core-shadow, var(--el-box-shadow));
|
|
659
661
|
z-index: 1;
|
|
660
662
|
}
|
|
661
|
-
.app-header-module[data-v-
|
|
663
|
+
.app-header-module[data-v-6fa13544] {
|
|
662
664
|
display: flex;
|
|
663
665
|
flex: 1;
|
|
664
666
|
height: 100%;
|
|
665
667
|
overflow-x: auto;
|
|
666
668
|
}
|
|
667
|
-
.app-header-module-item[data-v-
|
|
669
|
+
.app-header-module-item[data-v-6fa13544] {
|
|
668
670
|
display: flex;
|
|
669
671
|
justify-content: center;
|
|
670
672
|
align-items: center;
|
|
@@ -672,69 +674,74 @@ to {
|
|
|
672
674
|
white-space: nowrap;
|
|
673
675
|
height: 100%;
|
|
674
676
|
}
|
|
675
|
-
.app-header-module-item[data-v-
|
|
676
|
-
.app-header-module-item_active[data-v-
|
|
677
|
-
color: var(--
|
|
677
|
+
.app-header-module-item[data-v-6fa13544]:hover,
|
|
678
|
+
.app-header-module-item_active[data-v-6fa13544] {
|
|
679
|
+
color: var(--v1c549aee);
|
|
678
680
|
}
|
|
679
|
-
.app-header-module-item_active[data-v-
|
|
681
|
+
.app-header-module-item_active[data-v-6fa13544] {
|
|
680
682
|
position: relative;
|
|
681
683
|
}
|
|
682
|
-
.app-header-module-item_active[data-v-
|
|
684
|
+
.app-header-module-item_active[data-v-6fa13544]::before {
|
|
683
685
|
content: "";
|
|
684
686
|
position: absolute;
|
|
685
687
|
left: 50%;
|
|
686
688
|
top: 0;
|
|
687
689
|
width: 100%;
|
|
688
690
|
height: 3px;
|
|
689
|
-
background-color: var(--
|
|
691
|
+
background-color: var(--v1c549aee);
|
|
690
692
|
transform: translateX(-50%);
|
|
691
693
|
}
|
|
692
|
-
.app-header-shim[data-v-
|
|
694
|
+
.app-header-shim[data-v-6fa13544] {
|
|
693
695
|
width: 100%;
|
|
694
696
|
height: 100%;
|
|
695
697
|
display: flex;
|
|
696
698
|
align-items: center;
|
|
697
699
|
justify-content: space-between;
|
|
698
|
-
padding: 0 20px;
|
|
699
700
|
font-size: 18px;
|
|
700
701
|
font-weight: bold;
|
|
701
702
|
}
|
|
702
|
-
.app-header-module-item__icon[data-v-
|
|
703
|
+
.app-header-module-item__icon[data-v-6fa13544] {
|
|
703
704
|
margin-right: 8px;
|
|
704
705
|
}
|
|
705
|
-
.app-header-right[data-v-
|
|
706
|
+
.app-header-right[data-v-6fa13544] {
|
|
706
707
|
padding-left: 80px;
|
|
707
708
|
display: flex;
|
|
708
709
|
align-items: center;
|
|
709
710
|
}
|
|
710
|
-
.app-sidebar[data-v-
|
|
711
|
+
.app-sidebar[data-v-e8e50875] {
|
|
711
712
|
transition-duration: 0.3s;
|
|
712
713
|
transition-property: width;
|
|
713
714
|
transition-timing-function: linear;
|
|
714
715
|
box-shadow: var(--dc-core-shadow, var(--el-box-shadow));
|
|
715
716
|
overflow: visible;
|
|
716
|
-
z-index: var(--
|
|
717
|
+
z-index: var(--v2dcbfdd5);
|
|
717
718
|
}
|
|
718
|
-
.app-sidebar-
|
|
719
|
+
.app-sidebar-clip[data-v-e8e50875] {
|
|
720
|
+
position: absolute;
|
|
721
|
+
inset: 0;
|
|
722
|
+
overflow: hidden;
|
|
723
|
+
border-radius: inherit;
|
|
724
|
+
}
|
|
725
|
+
.app-sidebar-top[data-v-e8e50875] {
|
|
719
726
|
position: absolute;
|
|
720
727
|
left: 0;
|
|
721
728
|
right: 0;
|
|
722
729
|
top: 0;
|
|
723
730
|
overflow: hidden;
|
|
724
731
|
}
|
|
725
|
-
.app-sidebar-bottom[data-v-
|
|
732
|
+
.app-sidebar-bottom[data-v-e8e50875] {
|
|
726
733
|
position: absolute;
|
|
727
734
|
left: 0;
|
|
728
735
|
right: 0;
|
|
729
736
|
bottom: 0;
|
|
730
737
|
overflow: hidden;
|
|
731
738
|
}
|
|
732
|
-
.app-sidebar-shim[data-v-
|
|
739
|
+
.app-sidebar-shim[data-v-e8e50875] {
|
|
733
740
|
position: absolute;
|
|
734
741
|
left: 0;
|
|
735
742
|
right: 0;
|
|
736
|
-
top: var(--
|
|
737
|
-
bottom: var(--
|
|
743
|
+
top: var(--v78ee9bfd);
|
|
744
|
+
bottom: var(--v3ef242fa);
|
|
738
745
|
overflow-x: hidden;
|
|
739
746
|
overflow-y: auto;
|
|
740
747
|
--el-menu-border-color: transparent;
|
|
@@ -927,22 +934,24 @@ to {
|
|
|
927
934
|
animation: none;
|
|
928
935
|
}
|
|
929
936
|
}
|
|
930
|
-
.infinite-list-view_surface[data-v-
|
|
937
|
+
.infinite-list-view_surface[data-v-a62d17f9] {
|
|
931
938
|
box-sizing: border-box;
|
|
932
|
-
padding: var(--
|
|
933
|
-
background: var(--el-bg-color);
|
|
939
|
+
padding: var(--v9e087332);
|
|
934
940
|
border-radius: var(--dc-core-radius, var(--el-border-radius-base));
|
|
935
941
|
}
|
|
936
|
-
.infinite-list-
|
|
942
|
+
.infinite-list-view_surface-bg[data-v-a62d17f9] {
|
|
943
|
+
background: var(--el-bg-color);
|
|
944
|
+
}
|
|
945
|
+
.infinite-list-view[data-v-a62d17f9] {
|
|
937
946
|
width: 100%;
|
|
938
947
|
}
|
|
939
|
-
.infinite-list-view__viewport[data-v-
|
|
948
|
+
.infinite-list-view__viewport[data-v-a62d17f9] {
|
|
940
949
|
width: 100%;
|
|
941
950
|
}
|
|
942
|
-
.infinite-list-view__sentinel[data-v-
|
|
951
|
+
.infinite-list-view__sentinel[data-v-a62d17f9] {
|
|
943
952
|
height: 1px;
|
|
944
953
|
}
|
|
945
|
-
.infinite-list-view__footer[data-v-
|
|
954
|
+
.infinite-list-view__footer[data-v-a62d17f9] {
|
|
946
955
|
display: flex;
|
|
947
956
|
justify-content: center;
|
|
948
957
|
align-items: center;
|
|
@@ -950,17 +959,17 @@ to {
|
|
|
950
959
|
color: var(--dc-core-text-color-secondary, var(--el-text-color-secondary));
|
|
951
960
|
font-size: 13px;
|
|
952
961
|
}
|
|
953
|
-
.infinite-list-view__json[data-v-
|
|
962
|
+
.infinite-list-view__json[data-v-a62d17f9] {
|
|
954
963
|
margin: 0;
|
|
955
964
|
font-size: 12px;
|
|
956
965
|
white-space: pre-wrap;
|
|
957
966
|
word-break: break-all;
|
|
958
967
|
color: var(--dc-core-text-color-secondary, var(--el-text-color-secondary));
|
|
959
968
|
}
|
|
960
|
-
.infinite-list-view__tip[data-v-
|
|
969
|
+
.infinite-list-view__tip[data-v-a62d17f9] {
|
|
961
970
|
color: var(--dc-core-text-color-secondary, var(--el-text-color-secondary));
|
|
962
971
|
}
|
|
963
|
-
.infinite-list-view__retry[data-v-
|
|
972
|
+
.infinite-list-view__retry[data-v-a62d17f9] {
|
|
964
973
|
border: none;
|
|
965
974
|
background: transparent;
|
|
966
975
|
color: var(--dc-core-primary-color, var(--el-color-primary));
|
|
@@ -968,10 +977,10 @@ to {
|
|
|
968
977
|
cursor: pointer;
|
|
969
978
|
padding: 0;
|
|
970
979
|
}
|
|
971
|
-
.infinite-list-view__retry[data-v-
|
|
980
|
+
.infinite-list-view__retry[data-v-a62d17f9]:hover {
|
|
972
981
|
opacity: 0.8;
|
|
973
982
|
}
|
|
974
|
-
.infinite-list-view__empty[data-v-
|
|
983
|
+
.infinite-list-view__empty[data-v-a62d17f9] {
|
|
975
984
|
display: flex;
|
|
976
985
|
justify-content: center;
|
|
977
986
|
align-items: center;
|
|
@@ -979,7 +988,7 @@ to {
|
|
|
979
988
|
min-height: 60px;
|
|
980
989
|
color: var(--dc-core-text-color-secondary, var(--el-text-color-secondary));
|
|
981
990
|
}
|
|
982
|
-
.infinite-list-view__pull-indicator[data-v-
|
|
991
|
+
.infinite-list-view__pull-indicator[data-v-a62d17f9] {
|
|
983
992
|
display: flex;
|
|
984
993
|
justify-content: center;
|
|
985
994
|
align-items: flex-end;
|
|
@@ -988,53 +997,56 @@ to {
|
|
|
988
997
|
color: var(--dc-core-text-color-secondary, var(--el-text-color-secondary));
|
|
989
998
|
transition: height 0.2s;
|
|
990
999
|
}
|
|
991
|
-
.infinite-list-view__pull-indicator > span[data-v-
|
|
1000
|
+
.infinite-list-view__pull-indicator > span[data-v-a62d17f9] {
|
|
992
1001
|
padding-bottom: 6px;
|
|
993
1002
|
}
|
|
994
|
-
.data-grid-view[data-v-
|
|
1003
|
+
.data-grid-view[data-v-136078cd] {
|
|
995
1004
|
width: 100%;
|
|
996
1005
|
}
|
|
997
|
-
.data-grid-view_surface[data-v-
|
|
998
|
-
padding: var(--
|
|
999
|
-
background: var(--el-bg-color);
|
|
1006
|
+
.data-grid-view_surface[data-v-136078cd] {
|
|
1007
|
+
padding: var(--e2a8f6ae);
|
|
1000
1008
|
border-radius: var(--dc-core-radius, var(--el-border-radius-base));
|
|
1001
1009
|
}
|
|
1002
|
-
.data-grid-
|
|
1010
|
+
.data-grid-view_surface-bg[data-v-136078cd] {
|
|
1011
|
+
background: var(--el-bg-color);
|
|
1012
|
+
}
|
|
1013
|
+
.data-grid-view__grid[data-v-136078cd] {
|
|
1003
1014
|
display: grid;
|
|
1004
|
-
gap: 12px;
|
|
1005
|
-
padding-bottom: 12px;
|
|
1006
1015
|
}
|
|
1007
|
-
.data-grid-view__cell.is-active[data-v-
|
|
1016
|
+
.data-grid-view__cell.is-active[data-v-136078cd] {
|
|
1008
1017
|
/* stylelint-disable-next-line block-no-empty */
|
|
1009
1018
|
}
|
|
1010
|
-
.data-grid-view__cell[data-v-
|
|
1019
|
+
.data-grid-view__cell[data-v-136078cd] {
|
|
1011
1020
|
min-width: 0;
|
|
1012
1021
|
}
|
|
1013
|
-
.data-grid-
|
|
1022
|
+
.data-grid-view__cell.is-card[data-v-136078cd] {
|
|
1023
|
+
box-sizing: border-box;
|
|
1024
|
+
background: var(--el-bg-color);
|
|
1014
1025
|
border: 1px solid var(--dc-core-border-color, var(--el-border-color-lighter));
|
|
1015
|
-
border-radius: var(--dc-core-radius,
|
|
1016
|
-
|
|
1026
|
+
border-radius: var(--dc-core-radius, var(--el-border-radius-base));
|
|
1027
|
+
}
|
|
1028
|
+
.data-grid-view__card[data-v-136078cd] {
|
|
1017
1029
|
height: 100%;
|
|
1018
1030
|
box-sizing: border-box;
|
|
1019
1031
|
overflow: hidden;
|
|
1020
1032
|
}
|
|
1021
|
-
.data-grid-view__field[data-v-
|
|
1033
|
+
.data-grid-view__field[data-v-136078cd] {
|
|
1022
1034
|
display: flex;
|
|
1023
1035
|
gap: 6px;
|
|
1024
1036
|
align-items: baseline;
|
|
1025
1037
|
line-height: 1.6;
|
|
1026
1038
|
font-size: 13px;
|
|
1027
1039
|
}
|
|
1028
|
-
.data-grid-view__field-label[data-v-
|
|
1040
|
+
.data-grid-view__field-label[data-v-136078cd] {
|
|
1029
1041
|
flex-shrink: 0;
|
|
1030
1042
|
color: var(--dc-core-text-color-secondary, var(--el-text-color-secondary));
|
|
1031
1043
|
}
|
|
1032
|
-
.data-grid-view__field-value[data-v-
|
|
1044
|
+
.data-grid-view__field-value[data-v-136078cd] {
|
|
1033
1045
|
overflow: hidden;
|
|
1034
1046
|
text-overflow: ellipsis;
|
|
1035
1047
|
white-space: nowrap;
|
|
1036
1048
|
}
|
|
1037
|
-
.data-grid-view__empty-error[data-v-
|
|
1049
|
+
.data-grid-view__empty-error[data-v-136078cd] {
|
|
1038
1050
|
display: flex;
|
|
1039
1051
|
justify-content: center;
|
|
1040
1052
|
align-items: center;
|
|
@@ -1409,16 +1421,27 @@ html.dark .form-item-nest-form[data-v-46959572]::before {
|
|
|
1409
1421
|
.dc-form-upload-video__thumb_empty[data-v-5eac98bc] {
|
|
1410
1422
|
background: var(--el-fill-color-light);
|
|
1411
1423
|
}
|
|
1412
|
-
.data-list-view-item.is-selected[data-v-
|
|
1424
|
+
.data-list-view-item.is-selected[data-v-4b05138c] {
|
|
1413
1425
|
/* 选中(勾选)态钩子,具体视觉由消费方覆写 */
|
|
1414
1426
|
}
|
|
1415
|
-
.data-list-view-item.is-active[data-v-
|
|
1427
|
+
.data-list-view-item.is-active[data-v-4b05138c] {
|
|
1416
1428
|
/* 当前项(active)态钩子,具体视觉由消费方覆写 */
|
|
1417
1429
|
}
|
|
1418
|
-
.data-list-view[data-v-
|
|
1430
|
+
.data-list-view-item.is-card[data-v-4b05138c] {
|
|
1431
|
+
box-sizing: border-box;
|
|
1432
|
+
padding: 12px;
|
|
1433
|
+
background: var(--el-bg-color);
|
|
1434
|
+
border: 1px solid var(--dc-core-border-color, var(--el-border-color-lighter));
|
|
1435
|
+
border-radius: var(--dc-core-radius, var(--el-border-radius-base));
|
|
1436
|
+
}
|
|
1437
|
+
.data-list-view-item.is-masonry[data-v-4b05138c] {
|
|
1438
|
+
align-self: start;
|
|
1439
|
+
grid-row-end: span 125;
|
|
1440
|
+
}
|
|
1441
|
+
.data-list-view[data-v-f900ae4e] {
|
|
1419
1442
|
width: 100%;
|
|
1420
1443
|
}
|
|
1421
|
-
.data-list-view-empty[data-v-
|
|
1444
|
+
.data-list-view-empty[data-v-f900ae4e] {
|
|
1422
1445
|
display: flex;
|
|
1423
1446
|
justify-content: center;
|
|
1424
1447
|
align-items: center;
|
|
@@ -1426,18 +1449,20 @@ html.dark .form-item-nest-form[data-v-46959572]::before {
|
|
|
1426
1449
|
min-height: 60px;
|
|
1427
1450
|
grid-column: 1 / -1;
|
|
1428
1451
|
}
|
|
1429
|
-
.table-main_surface[data-v-
|
|
1430
|
-
padding: var(--
|
|
1431
|
-
background: var(--el-bg-color);
|
|
1452
|
+
.table-main_surface[data-v-f5764fe4] {
|
|
1453
|
+
padding: var(--v5308fe58);
|
|
1432
1454
|
border-radius: var(--dc-core-radius, var(--el-border-radius-base));
|
|
1433
1455
|
}
|
|
1434
|
-
.table-
|
|
1456
|
+
.table-main_surface-bg[data-v-f5764fe4] {
|
|
1457
|
+
background: var(--el-bg-color);
|
|
1458
|
+
}
|
|
1459
|
+
.table-main-pagination[data-v-f5764fe4] {
|
|
1435
1460
|
margin-top: 10px;
|
|
1436
1461
|
display: flex;
|
|
1437
1462
|
justify-content: flex-end;
|
|
1438
1463
|
}
|
|
1439
|
-
.table-main_fill[data-v-
|
|
1440
|
-
min-height: var(--
|
|
1464
|
+
.table-main_fill[data-v-f5764fe4] .el-table__body-wrapper {
|
|
1465
|
+
min-height: var(--v418a0592);
|
|
1441
1466
|
}
|
|
1442
1467
|
.dc-slot-layout-flow-aside_separate[data-v-5c6ef74b] {
|
|
1443
1468
|
position: relative;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@done-coding/admin-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.29.1-alpha.0",
|
|
4
4
|
"description": "内部前端库",
|
|
5
5
|
"private": false,
|
|
6
6
|
"main": "es/index.mjs",
|
|
@@ -83,5 +83,5 @@
|
|
|
83
83
|
"dependencies": {
|
|
84
84
|
"@tanstack/vue-virtual": "^3.13.35"
|
|
85
85
|
},
|
|
86
|
-
"gitHead": "
|
|
86
|
+
"gitHead": "428001dd152178576b5f87445148896efdde98c5"
|
|
87
87
|
}
|
|
@@ -219,6 +219,37 @@ appCoreBridge.update("APP_LAYOUT_SIDEBAR_CONFIG", { menuGroupMode: true });
|
|
|
219
219
|
|
|
220
220
|
适用判据与三级菜单的混合渲染规则见 [menu 族文档](../../components/menu/README.md) 与 [AppSidebar 文档](../../components/app-layout/docs/README-AppSidebar.md)。
|
|
221
221
|
|
|
222
|
+
## 展开菜单到某路径(`bridge.layout.openMenuTo`)
|
|
223
|
+
|
|
224
|
+
```ts
|
|
225
|
+
const ok = bridge.layout.openMenuTo("/system/user/detail");
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
把目标路径**沿途的父级子菜单全部展开**,返回是否成功。缘起是引导(`forge-plugin-guide`)
|
|
229
|
+
要高亮折叠子菜单里的项 —— 那种元素虽在 DOM 里但 `display:none`、rect 全 0,
|
|
230
|
+
引导只能跳过它(插件侧已有 `getClientRects().length` 判空的防御,避免按 `(0,0)` 把弹窗
|
|
231
|
+
摆到屏幕左上角)。防御解决的是「不出坏效果」,本方法解决「到得了那一步」。
|
|
232
|
+
|
|
233
|
+
**判据是 `getClientRects().length > 0`**(目标项真的占布局),[MUST NOT] 用「没报错」当成功。
|
|
234
|
+
|
|
235
|
+
### 三种形态下的行为
|
|
236
|
+
|
|
237
|
+
| 形态 | 行为 |
|
|
238
|
+
| --- | --- |
|
|
239
|
+
| 常规树形菜单 | 逐级 `open()` 沿途父级 → `true` |
|
|
240
|
+
| 分组形态(`menuGroupMode`) | 父级是 section heading、**本就全展开** ⇒ **no-op 返回 `true`** |
|
|
241
|
+
| **侧栏折叠态** | **先展开侧栏**(`setSidebarCollapse(false)`)再展开沿途父级 → `true` |
|
|
242
|
+
|
|
243
|
+
🔴 **折叠态自动展开侧栏是甲方 2026-09-18 的裁决**,且**事后不还原**:
|
|
244
|
+
|
|
245
|
+
- 代价知情:折叠态是**持久化到 localStorage 的用户偏好**,本方法等于程序化改写它。
|
|
246
|
+
依据 = 引导是用户主动发起的流程,为让他看见而展开属正当副作用,且「他刚学会这个入口」
|
|
247
|
+
留在展开态反而合理。
|
|
248
|
+
- [MUST NOT] 改成「展开后自动还原」:还原时机不可靠(引导弹窗还开着就还原会当场收起菜单),
|
|
249
|
+
异常路径 / 快速切路由会让状态泄漏 —— 同 `store/app.ts` 的 viewportConfig 为何取派生而非
|
|
250
|
+
「改真相源 + 还原」。
|
|
251
|
+
- 路径不存在 / 无侧栏(`showSidebar` 为假)→ `false`,且**不动任何状态**。
|
|
252
|
+
|
|
222
253
|
## 认证与请求接线
|
|
223
254
|
|
|
224
255
|
### 认证 facade(bridge 4 钩子 + userInfoAccess)
|
|
@@ -33,6 +33,17 @@
|
|
|
33
33
|
- `show` 显隐基线来自路由 `meta.layout.aside`(store showAside),false 整列不渲染。
|
|
34
34
|
- **完整能力演示**(#aside 锚 + 自供 shell):`apps/reference/src/App.vue`、`apps/reference/src/pages/app-layout/shell/`
|
|
35
35
|
|
|
36
|
+
## 面貌(背景 / 圆角 / 无横向内呼吸)
|
|
37
|
+
|
|
38
|
+
与 `AppSidebar` **同口径**(对称积木,[MUST] 一起改):背景 `APP_LAYOUT_ASIDE_CONFIG.background ?? 主题 bodyColor`、
|
|
39
|
+
圆角 `var(--dc-core-radius, var(--el-border-radius-base))`,两者同在 `appStore.asideStyle` 这一份 inline style 里,
|
|
40
|
+
默认值写在 `...cfg.style` 展开之前 ⇒ `APP_LAYOUT_ASIDE_CONFIG.style.borderRadius` 可整体覆盖。
|
|
41
|
+
|
|
42
|
+
- **不给横向内呼吸**:内容由消费方经默认插槽自填,呼吸归内容自己——core 代为让白会与内容自带的 padding 叠成双份。
|
|
43
|
+
- 圆角由既有的 `.app-aside-clip`(`inset: 0` + `overflow: hidden`)承接裁切(已补 `border-radius: inherit`);
|
|
44
|
+
根盒 `overflow: visible` 是折叠把手悬挂所需,[MUST NOT] 改。
|
|
45
|
+
- 折叠 / 隐藏态宽收 0 ⇒ 零面积、不留圆角残影。
|
|
46
|
+
|
|
36
47
|
## API
|
|
37
48
|
> ⚠️ API 以 types.ts 与组件源码为真相源;与文档冲突时以源码为准。
|
|
38
49
|
|
|
@@ -5,7 +5,17 @@
|
|
|
5
5
|
|
|
6
6
|
## 定位
|
|
7
7
|
|
|
8
|
-
AppFooter 是族内最薄的积木:自身无任何对外接口(无 props / emits / slots / expose),只做一件事——inject 应用 store 窄化实例(`APP_LAYOUT_APP_STORE_KEY`),把 `appStore.footerStyle` 绑到根盒 `:style`
|
|
8
|
+
AppFooter 是族内最薄的积木:自身无任何对外接口(无 props / emits / slots / expose),只做一件事——inject 应用 store 窄化实例(`APP_LAYOUT_APP_STORE_KEY`),把 `appStore.footerStyle` 绑到根盒 `:style` 上渲染底部状态条(高度 / 背景 / 圆角 / 横向内呼吸由 store 驱动,阴影走主题 var)。显隐与高度变化全部由 AppLayout/store 侧控制,消费方不直接挂载、也无可配置项。
|
|
9
|
+
|
|
10
|
+
**面貌三项与 AppHeader 同源同口径**(对称积木,[MUST] 一起改):
|
|
11
|
+
|
|
12
|
+
| 项 | 默认 | 覆盖法 |
|
|
13
|
+
| --- | --- | --- |
|
|
14
|
+
| 背景 | `APP_LAYOUT_FOOTER_CONFIG.background ?? 主题 bodyColor` | 配 `background` |
|
|
15
|
+
| 圆角 | `var(--dc-core-radius, var(--el-border-radius-base))` | `APP_LAYOUT_FOOTER_CONFIG.style.borderRadius` |
|
|
16
|
+
| 横向内呼吸 | 间距阶梯**模块档**(默认 **8px**) | `APP_LAYOUT_FOOTER_CONFIG.style.padding` |
|
|
17
|
+
|
|
18
|
+
圆角 / padding 的默认值在 `...cfg.style` 展开**之前**写入 ⇒ 逃生舱同名键恒赢;`height` / `marginTop` / `background` / `color` 仍是引擎托管键(展开之后,压过外部)。
|
|
9
19
|
|
|
10
20
|
## 能力边界 / 按需使用
|
|
11
21
|
|
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
- #left = 品牌/业务入口(AppLayout `#brand` 锚落位);#right = userEntry/settings/themeSwitcher 操作区
|
|
10
10
|
- 中间区 = 路由大模块菜单(menus 渲染,点击高亮 activeModulePath)
|
|
11
11
|
- 整体显隐由 AppLayout 间接控制(store headerStyle.height=0 视觉收起 + dom 保留)
|
|
12
|
+
- **面貌(背景 / 圆角 / 横向内呼吸)三项同源** —— 都在 `appStore.headerStyle` 这一份 inline style 里
|
|
13
|
+
([MUST NOT] 把其中任何一项挪回 scoped CSS:一半 inline 一半 CSS 会让消费方覆盖时只改得动一半)
|
|
12
14
|
|
|
13
15
|
## 模块条徽标(badge)
|
|
14
16
|
|
|
@@ -41,6 +43,19 @@
|
|
|
41
43
|
- `#left` / `#right` 槽内容来自 AppLayout 内容锚转发(`#brand` → `#left`;`#userEntry` / `#settings` / `#themeSwitcher` → `#right`)——内置 shell 零配置;自供 shell 直引时按槽转发范式接住。
|
|
42
44
|
- **完整能力演示**(自供 shell 积木直引 + NoHeader 变体):`apps/reference/src/pages/app-layout/shell/`、`apps/reference/src/pages/app-layout/layout/`
|
|
43
45
|
|
|
46
|
+
## 面貌与覆盖(背景 / 圆角 / 内呼吸)
|
|
47
|
+
|
|
48
|
+
| 项 | 默认 | 覆盖法 |
|
|
49
|
+
| --- | --- | --- |
|
|
50
|
+
| 背景 | `APP_LAYOUT_HEADER_CONFIG.background ?? 主题 bodyColor` | 配 `background`(支持色 / 渐变 / 背景图) |
|
|
51
|
+
| 圆角 | `var(--dc-core-radius, var(--el-border-radius-base))`(随主题) | `APP_LAYOUT_HEADER_CONFIG.style.borderRadius` |
|
|
52
|
+
| 横向内呼吸 | 间距阶梯**模块档**(`gap.size` × 密度 × 1,默认 **8px**) | `APP_LAYOUT_HEADER_CONFIG.style.padding` |
|
|
53
|
+
|
|
54
|
+
- 圆角 / padding 的默认值**在 `...cfg.style` 展开之前**写入 ⇒ `style` 逃生舱里的同名键恒赢,可整体覆盖。
|
|
55
|
+
(`position` / `top` / `left` / `right` / `height` / `background` / `color` 是**引擎托管键**,写在展开之后,
|
|
56
|
+
外部传了也压不过——这条不变。)
|
|
57
|
+
- `box-sizing: border-box` 由引擎托管:横向 padding 恒收在盒内,[MUST NOT] 指望消费方的全局 reset。
|
|
58
|
+
|
|
44
59
|
## API
|
|
45
60
|
> ⚠️ API 以 types.ts 与组件源码为真相源;与文档冲突时以源码为准。
|
|
46
61
|
|
|
@@ -73,6 +88,7 @@
|
|
|
73
88
|
|
|
74
89
|
- **`show` 勿用于显隐控制**:声明必填但模板未消费——整体显隐由 AppLayout 经 store 间接控制(headerStyle.height=0 视觉收起 + dom 保留)
|
|
75
90
|
- 主题切换器不属 Header 私有:已解耦为 `AppTheme`,经 shell #right 注入(默认内容仍是 AppTheme,经典布局 1:1 镜像)
|
|
91
|
+
- **[MUST NOT] 在 scoped CSS 里给 `.app-header-shim` 写死横向 padding**:那会与 inline 的一份打架,且消费方覆盖只改得动一半——横向内呼吸的唯一出处是 `headerStyle`
|
|
76
92
|
|
|
77
93
|
## 关联
|
|
78
94
|
|
|
@@ -47,6 +47,24 @@
|
|
|
47
47
|
- `show=false` 整栏不渲染(含折叠把手)——「收起但保留把手」场景走折叠态而非 `show=false`。
|
|
48
48
|
- **完整能力演示**(DemoCustomShell 槽转发范式 + NoSidebar 变体):`apps/reference/src/pages/app-layout/shell/`、`apps/reference/src/pages/app-layout/layout/`
|
|
49
49
|
|
|
50
|
+
## 面貌(背景 / 圆角 / 无横向内呼吸)
|
|
51
|
+
|
|
52
|
+
| 项 | 默认 | 覆盖法 |
|
|
53
|
+
| --- | --- | --- |
|
|
54
|
+
| 背景 | `APP_LAYOUT_SIDEBAR_CONFIG.background ?? 主题 bodyColor` | 配 `background` |
|
|
55
|
+
| 圆角 | `var(--dc-core-radius, var(--el-border-radius-base))`(随主题) | `APP_LAYOUT_SIDEBAR_CONFIG.style.borderRadius` |
|
|
56
|
+
| 横向内呼吸 | **无,[MUST NOT] 补** | —— |
|
|
57
|
+
|
|
58
|
+
- 圆角与背景**同源**(都在 `appStore.sidebarStyle` 这一份 inline style 里),默认值写在
|
|
59
|
+
`...cfg.style` 展开之前 ⇒ 逃生舱同名键恒赢。
|
|
60
|
+
- 🔴 **为什么不像 header / footer 那样补横向 padding**:侧栏里装的是菜单树,
|
|
61
|
+
`.el-menu-item` 自带 `padding: 0 var(--el-menu-base-level-padding)`(默认 20px)——
|
|
62
|
+
外层再让一份就是**双份**,且折叠成图标栏时会把图标挤离中线。
|
|
63
|
+
- 🔴 **圆角要看得见,靠的是内部那层裁切盒**(`.app-sidebar-clip`,`inset: 0` + `overflow: hidden`
|
|
64
|
+
+ `border-radius: inherit`):根盒 [MUST] 保持 `overflow: visible`(折叠把手悬挂在外缘),
|
|
65
|
+
故根盒自己裁不了——而 `el-menu` 自带背景色会直接盖住四角。[MUST NOT] 把 clip 层删掉当冗余。
|
|
66
|
+
- 收起态(`showSidebar=false` → 宽收 0)零面积、不留圆角残影。
|
|
67
|
+
|
|
50
68
|
## API
|
|
51
69
|
> ⚠️ API 以 types.ts 与组件源码为真相源;与文档冲突时以源码为准。
|
|
52
70
|
|