feat: unify configuration side sheets

This commit is contained in:
lingniu
2026-07-19 05:16:55 +08:00
parent 2bae87f6a2
commit 7eca5ae352
8 changed files with 597 additions and 23 deletions

View File

@@ -20594,3 +20594,368 @@
min-height: 36px;
}
}
/*
* Shared Semi UI configuration SideSheet: one hierarchy for strategy,
* column and source-policy work across desktop and mobile.
*/
.v2-workspace-config-sidesheet .semi-sidesheet-inner {
overflow: hidden;
border-left: 1px solid #d9e3ef;
background: #f5f7fa;
box-shadow: -22px 0 64px rgba(24, 43, 68, .16);
}
.v2-workspace-config-sidesheet .semi-sidesheet-header {
min-height: 78px;
border-bottom: 1px solid #e1e8f1;
background:
radial-gradient(circle at 12% 0%, rgba(18, 104, 243, .08), transparent 34%),
linear-gradient(180deg, #fff 0%, #fbfcfe 100%);
padding: 14px 18px;
}
.v2-workspace-config-sidesheet .semi-sidesheet-title {
min-width: 0;
}
.v2-workspace-config-title {
display: flex;
width: 100%;
min-width: 0;
align-items: center;
justify-content: space-between;
gap: 12px;
padding-right: 6px;
}
.v2-workspace-config-title > span {
display: grid;
min-width: 0;
gap: 4px;
}
.v2-workspace-config-title strong {
overflow: hidden;
color: #1f344c;
font-size: 19px;
font-weight: 750;
letter-spacing: -.025em;
line-height: 1.25;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-workspace-config-title small {
overflow: hidden;
color: #78879a;
font-size: 10px;
font-weight: 500;
line-height: 1.45;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-workspace-config-title > .semi-tag {
min-width: max-content;
min-height: 25px;
flex: 0 0 auto;
justify-content: center;
border-radius: 999px;
padding-inline: 9px;
font-size: 9px;
font-weight: 700;
}
.v2-workspace-config-sidesheet .semi-sidesheet-body {
min-height: 0;
overflow: hidden;
background: #f5f7fa;
padding: 0;
}
.v2-workspace-config-body {
display: flex;
height: 100%;
min-height: 0;
flex-direction: column;
}
.v2-workspace-config-summary {
display: grid;
min-height: 84px;
flex: 0 0 auto;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 1px;
border-bottom: 1px solid #e2e9f1;
background: #e2e9f1;
}
.v2-workspace-config-summary > span {
position: relative;
display: grid;
min-width: 0;
align-content: center;
gap: 3px;
background: #fff;
padding: 11px 12px;
}
.v2-workspace-config-summary > span::before {
position: absolute;
inset: 0 auto 0 0;
width: 2px;
background: transparent;
content: '';
}
.v2-workspace-config-summary > span.is-primary::before { background: #1268f3; }
.v2-workspace-config-summary > span.is-success::before { background: #18a76f; }
.v2-workspace-config-summary > span.is-warning::before { background: #f4a340; }
.v2-workspace-config-summary > span.is-danger::before { background: #e95a52; }
.v2-workspace-config-summary small {
overflow: hidden;
color: #8794a6;
font-size: 9px;
font-weight: 600;
line-height: 1.35;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-workspace-config-summary strong {
overflow: hidden;
color: #263b53;
font-size: 14px;
font-weight: 750;
font-variant-numeric: tabular-nums;
line-height: 1.3;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-workspace-config-summary > span.is-primary strong { color: #1268f3; }
.v2-workspace-config-summary > span.is-success strong { color: #12845a; }
.v2-workspace-config-summary > span.is-warning strong { color: #b86f16; }
.v2-workspace-config-summary > span.is-danger strong { color: #c8423b; }
.v2-workspace-config-summary em {
overflow: hidden;
color: #8a97a8;
font-size: 8px;
font-style: normal;
line-height: 1.4;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-workspace-config-content {
min-height: 0;
flex: 1 1 0;
overflow-x: hidden;
overflow-y: auto;
overscroll-behavior: contain;
padding: 12px;
scrollbar-gutter: stable;
}
.v2-workspace-config-sidesheet .semi-sidesheet-footer {
min-height: 64px;
border-top: 1px solid #e1e8f1;
background: rgba(255, 255, 255, .97);
padding: 10px 14px;
}
.v2-workspace-config-footer {
display: flex;
width: 100%;
min-width: 0;
align-items: center;
justify-content: space-between;
gap: 12px;
}
.v2-workspace-config-footer > span {
min-width: 0;
overflow: hidden;
color: #78879a;
font-size: 9px;
line-height: 1.45;
text-overflow: ellipsis;
white-space: nowrap;
}
.v2-workspace-config-footer > div {
display: flex;
min-width: max-content;
flex: 0 0 auto;
align-items: center;
gap: 7px;
}
.v2-workspace-config-footer .semi-button {
min-width: 86px;
min-height: 38px;
border-radius: 8px;
font-size: 10px;
font-weight: 700;
}
.v2-workspace-config-footer .semi-button-primary.semi-button-solid {
box-shadow: 0 7px 18px rgba(18, 104, 243, .18);
}
.v2-history-column-sidesheet .v2-workspace-config-content {
overflow: hidden;
padding: 0;
}
.v2-history-column-sidesheet .v2-history-column-search {
border-bottom-color: #e2e9f1;
background: #f8fafc;
padding: 10px 12px;
}
.v2-history-column-sidesheet .v2-history-column-list {
display: grid;
align-content: start;
gap: 7px;
padding: 9px 11px 12px;
}
.v2-history-column-sidesheet .v2-history-column-list > label {
min-height: 58px;
border: 1px solid #dfe7f0;
border-radius: 10px;
background: #fff;
padding: 8px 10px;
transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
.v2-history-column-sidesheet .v2-history-column-list > label:hover {
border-color: #bfd1e8;
background: #fbfdff;
box-shadow: 0 6px 18px rgba(33, 55, 83, .05);
}
.v2-history-column-sidesheet .v2-history-column-list > label:has(.semi-checkbox-checked) {
border-color: #c8daf5;
background: linear-gradient(120deg, #f4f8ff 0%, #fff 68%);
}
.v2-mileage-source-sidesheet .v2-workspace-config-content {
padding: 11px;
}
.v2-mileage-source-sidesheet .v2-mileage-source-list {
gap: 8px;
}
.v2-mileage-source-sidesheet .v2-mileage-source-card.semi-card {
border-color: #dce5ef;
border-radius: 11px;
box-shadow: 0 6px 18px rgba(31, 53, 80, .045);
}
.v2-source-policy-sidesheet .v2-source-policy-sheet-content {
gap: 10px;
}
.v2-source-policy-sidesheet .v2-source-policy-cell {
overflow: hidden;
border: 1px solid #dce5ef;
border-radius: 11px;
background: #fff;
padding: 12px;
box-shadow: 0 7px 20px rgba(31, 53, 80, .05);
}
@media (max-width: 680px) {
.v2-workspace-config-sidesheet.semi-sidesheet-bottom .semi-sidesheet-inner {
border: 1px solid #d8e2ed;
border-bottom: 0;
border-radius: 18px 18px 0 0;
box-shadow: 0 -18px 48px rgba(23, 43, 68, .17);
}
.v2-workspace-config-sidesheet.semi-sidesheet-bottom .semi-sidesheet-header {
min-height: 68px;
padding: 10px 12px 10px 14px;
}
.v2-workspace-config-title strong {
font-size: 17px;
}
.v2-workspace-config-title small {
font-size: 9px;
}
.v2-workspace-config-title > .semi-tag {
min-height: 23px;
padding-inline: 8px;
font-size: 8px;
}
.v2-workspace-config-summary {
min-height: 68px;
}
.v2-workspace-config-summary > span {
gap: 2px;
padding: 8px 9px;
}
.v2-workspace-config-summary small {
font-size: 8px;
}
.v2-workspace-config-summary strong {
font-size: 12px;
}
.v2-workspace-config-summary em {
font-size: 7px;
}
.v2-workspace-config-content {
padding: 8px;
}
.v2-workspace-config-sidesheet.semi-sidesheet-bottom .semi-sidesheet-footer {
min-height: 58px;
padding: 7px 9px calc(7px + env(safe-area-inset-bottom));
}
.v2-workspace-config-footer > span {
display: none;
}
.v2-workspace-config-footer > div {
width: 100%;
min-width: 0;
display: grid;
grid-auto-flow: column;
grid-auto-columns: minmax(0, 1fr);
gap: 6px;
}
.v2-workspace-config-footer .semi-button {
width: 100%;
min-width: 0;
min-height: 40px;
padding-inline: 7px;
font-size: 9px;
}
.v2-history-column-sidesheet .v2-history-column-list {
gap: 6px;
padding: 7px 8px 10px;
}
.v2-history-column-sidesheet .v2-history-column-list > label {
min-height: 54px;
padding: 7px 8px;
}
}