iter: e02 新增 stepper 步骤条组件(三态流转 + active 信号双向绑定 + clickable 回跳)
This commit is contained in:
+82
-1
@@ -703,6 +703,86 @@
|
||||
font-variant-numeric: tabular-nums;
|
||||
}
|
||||
|
||||
/* —— 步骤条 —— */
|
||||
.ua-stepper {
|
||||
display: flex;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
.ua-step {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
gap: var(--ua-space-2);
|
||||
flex: 1;
|
||||
}
|
||||
.ua-step + .ua-step {
|
||||
padding-left: var(--ua-space-3);
|
||||
}
|
||||
.ua-step + .ua-step::before {
|
||||
content: ''; /* 连接线:与前一节点之间的横向短线 */
|
||||
width: 20px;
|
||||
height: 1px;
|
||||
margin-top: 13px;
|
||||
margin-right: var(--ua-space-2);
|
||||
background: var(--ua-color-border);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
.ua-step-dot {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
border: 1px solid var(--ua-color-border);
|
||||
border-radius: 999px;
|
||||
background: var(--ua-color-surface);
|
||||
color: var(--ua-color-text-muted);
|
||||
font: inherit;
|
||||
font-size: var(--ua-font-size-sm);
|
||||
flex-shrink: 0;
|
||||
transition: border-color 0.15s, background 0.15s, color 0.15s, transform 0.12s, box-shadow 0.15s;
|
||||
}
|
||||
button.ua-step-dot {
|
||||
padding: 0; /* 可回跳步骤:重置原生按钮样式 */
|
||||
cursor: pointer;
|
||||
}
|
||||
button.ua-step-dot:hover {
|
||||
border-color: var(--ua-color-accent);
|
||||
color: var(--ua-color-accent);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
.ua-step-done .ua-step-dot {
|
||||
border-color: color-mix(in srgb, var(--ua-color-accent) 55%, transparent);
|
||||
background: color-mix(in srgb, var(--ua-color-accent) 10%, var(--ua-color-bg));
|
||||
color: var(--ua-color-accent);
|
||||
}
|
||||
.ua-step-current .ua-step-dot {
|
||||
border-color: var(--ua-color-accent);
|
||||
background: var(--ua-color-bg);
|
||||
color: var(--ua-color-accent);
|
||||
box-shadow: 0 0 0 3px color-mix(in srgb, var(--ua-color-accent) 15%, transparent);
|
||||
}
|
||||
.ua-step-text {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 2px;
|
||||
min-width: 0;
|
||||
}
|
||||
.ua-step-label {
|
||||
font-size: var(--ua-font-size-md);
|
||||
line-height: 1.4;
|
||||
color: var(--ua-color-text-muted);
|
||||
}
|
||||
.ua-step-current .ua-step-label {
|
||||
color: var(--ua-color-text);
|
||||
font-weight: 600;
|
||||
}
|
||||
.ua-step-desc {
|
||||
font-size: var(--ua-font-size-sm);
|
||||
color: var(--ua-color-text-muted);
|
||||
}
|
||||
|
||||
/* —— 徽标 —— */
|
||||
.ua-badge {
|
||||
display: inline-block;
|
||||
@@ -1378,7 +1458,8 @@
|
||||
.ua-modal,
|
||||
.ua-modal-overlay,
|
||||
.ua-drawer,
|
||||
.ua-drawer-overlay {
|
||||
.ua-drawer-overlay,
|
||||
.ua-step-dot {
|
||||
animation: none !important;
|
||||
transition: none !important;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user