Files
aurora-admin/frameworks/Cascader.css
T
aurora-admin 7e3d442dab
Deploy to GitHub Pages / deploy (push) Failing after 2m30s
Regression / regression (push) Failing after 53s
feat(S2-P7+S3-P8): 行为断言6试点全绿+RTL28文件迁移/回归1009-1009
P7: tests/_behaviors.js新建(8动词+@input/@doc定位+同步pump+page-load
    幂等缓存); _runtime聚合+重载清缓存; _template引入; 6演示页标注;
    79测试页重生成。关键修:runner兜底重跑致行为二轮误报,加缓存解决。
P8: tools/migrate-rtl.mjs新建(白名单dry-run/--write); 28个CSS转逻辑
    属性;物理清零(排除auto/拼接/居中14处人工例外);三页RTL零溢出。
回归:100%(79/79页,1009/1009断言,N/A 35)。
2026-09-14 03:37:08 +08:00

34 lines
3.5 KiB
CSS

/* Aurora Admin Cascader 样式 — 对齐 组件7.txt Cascader:多级下拉、搜索、路径显示、多选 */
.aa-cascader { position: relative; display: inline-block; min-width: 200px; font-family: var(--font-family, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif); color: var(--au-color-text-body); }
.aa-cascader-trigger {
display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 32px; padding: 0 12px;
background: var(--au-color-card-bg); border: 1px solid var(--au-color-border); border-radius: 4px; cursor: pointer; font-size: 14px; transition: border-color .15s, box-shadow .15s;
}
.aa-cascader-trigger:hover { border-color: var(--au-color-brand); }
.aa-cascader-trigger.is-open { border-color: var(--au-color-brand); box-shadow: 0 0 0 2px rgba(47,84,235,0.2); }
.aa-cascader-trigger .placeholder { color: var(--au-color-text-placeholder); }
.aa-cascader-trigger .caret { color: var(--au-color-text-secondary); transition: transform .15s; flex-shrink: 0; }
.aa-cascader-trigger.is-open .caret { transform: rotate(180deg); }
.aa-cascader-tags { display: flex; flex-wrap: wrap; gap: 4px; }
.aa-cascader-tag { background: var(--au-color-brand-bg); color: var(--au-color-brand); font-size: 12px; padding: 1px 8px; border-radius: 2px; white-space: nowrap; }
.aa-cascader-panel { position: absolute; z-index: 100; top: calc(100% + 4px); left: 0; background: var(--au-color-card-bg); border: 1px solid var(--au-color-border); border-radius: 6px; box-shadow: 0 4px 12px rgba(0,0,0,0.12); display: flex; }
.aa-cascader-col { min-width: 140px; max-height: 240px; overflow: auto; border-inline-end: 1px solid var(--au-color-border); padding: 4px 0; }
.aa-cascader-col:last-child { border-inline-end: none; }
.aa-cascader-opt { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 12px; cursor: pointer; font-size: 14px; color: var(--au-color-text-body); }
.aa-cascader-opt:hover { background: var(--au-color-page-bg); }
.aa-cascader-opt.is-active { background: var(--au-color-brand-bg); color: var(--au-color-brand); font-weight: 500; }
.aa-cascader-opt .arrow { color: var(--au-color-text-secondary); font-size: 12px; }
.aa-cascader-opt .box { width: 14px; height: 14px; border: 1px solid var(--au-color-border); border-radius: 3px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; color: var(--au-color-text-inverse); font-size: 10px; }
.aa-cascader-opt.is-checked .box { background: var(--au-color-brand); border-color: var(--au-color-brand); }
.aa-cascader-search { position: absolute; z-index: 101; top: calc(100% + 4px); left: 0; width: 260px; background: var(--au-color-card-bg); border: 1px solid var(--au-color-border); border-radius: 6px; box-shadow: 0 4px 12px rgba(0,0,0,0.12); padding: 8px; }
.aa-cascader-search input { width: 100%; box-sizing: border-box; height: 30px; padding: 0 8px; border: 1px solid var(--au-color-border); border-radius: 4px; font-size: 13px; outline: none; }
.aa-cascader-search input:focus { border-color: var(--au-color-brand); box-shadow: 0 0 0 2px rgba(47,84,235,0.2); }
.aa-cascader-search input::placeholder { color: var(--au-color-text-placeholder); }
.aa-cascader-results { max-height: 200px; overflow: auto; margin-top: 8px; }
.aa-cascader-result { padding: 6px 8px; cursor: pointer; font-size: 14px; color: var(--au-color-text-body); }
.aa-cascader-result:hover { background: var(--au-color-page-bg); }
.aa-cascader-empty { padding: 16px 8px; text-align: center; color: var(--au-color-text-placeholder); font-size: 13px; }