All checks were successful
Co-authored-by: Jeffrey Smith <jasafpro@gmail.com> Co-committed-by: Jeffrey Smith <jasafpro@gmail.com>
204 lines
5.1 KiB
CSS
204 lines
5.1 KiB
CSS
/* Test Runners — Registry Surface
|
|
Uses kernel CSS variables from variables.css (--bg-*, --border, --text-*, etc.) */
|
|
|
|
.ext-test-runners-root {
|
|
max-width: 1200px;
|
|
margin: 0 auto;
|
|
padding: var(--sp-6, 24px) var(--sp-4, 16px);
|
|
font-family: var(--font, system-ui, sans-serif);
|
|
color: var(--text, #e8e8ed);
|
|
}
|
|
|
|
/* ── Run All Bar ─────────────────────────────── */
|
|
|
|
.ext-test-runners-bar {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--sp-4, 16px);
|
|
margin-bottom: var(--sp-6, 24px);
|
|
padding: var(--sp-4, 16px);
|
|
background: var(--bg-raised, #222227);
|
|
border-radius: var(--radius-lg, 12px);
|
|
border: 1px solid var(--border, #2e2e35);
|
|
}
|
|
|
|
.ext-test-runners-bar h2 {
|
|
margin: 0;
|
|
font-size: 1.1rem;
|
|
font-weight: 600;
|
|
flex: 1;
|
|
color: var(--text, #e8e8ed);
|
|
}
|
|
|
|
.ext-test-runners-summary {
|
|
display: flex;
|
|
gap: var(--sp-3, 12px);
|
|
font-size: 0.85rem;
|
|
}
|
|
|
|
.ext-test-runners-stat {
|
|
padding: 2px 8px;
|
|
border-radius: var(--radius-sm, 4px);
|
|
font-weight: 500;
|
|
}
|
|
|
|
.ext-test-runners-stat--pass { background: var(--success-dim, rgba(34,197,94,0.2)); color: var(--success-light, #4ade80); }
|
|
.ext-test-runners-stat--fail { background: var(--danger-dim, rgba(239,68,68,0.2)); color: var(--danger-light, #f87171); }
|
|
.ext-test-runners-stat--warn { background: var(--warning-dim, rgba(234,179,8,0.2)); color: var(--warning-light, #fbbf24); }
|
|
.ext-test-runners-stat--skip { background: var(--bg-hover, #2a2a30); color: var(--text-3, #6b6b7b); }
|
|
|
|
/* ── Runner Cards ────────────────────────────── */
|
|
|
|
.ext-test-runners-grid {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--sp-4, 16px);
|
|
}
|
|
|
|
.ext-test-runners-card {
|
|
border: 1px solid var(--border, #2e2e35);
|
|
border-radius: var(--radius-lg, 12px);
|
|
padding: var(--sp-4, 16px);
|
|
background: var(--bg-surface, #18181b);
|
|
}
|
|
|
|
.ext-test-runners-card__header {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--sp-3, 12px);
|
|
margin-bottom: var(--sp-3, 12px);
|
|
}
|
|
|
|
.ext-test-runners-card__icon {
|
|
font-size: 1.5rem;
|
|
}
|
|
|
|
.ext-test-runners-card__title {
|
|
font-size: 1rem;
|
|
font-weight: 600;
|
|
flex: 1;
|
|
margin: 0;
|
|
color: var(--text, #e8e8ed);
|
|
}
|
|
|
|
.ext-test-runners-card__desc {
|
|
font-size: 0.85rem;
|
|
color: var(--text-2, #9898a8);
|
|
margin: 0 0 var(--sp-3, 12px) 0;
|
|
}
|
|
|
|
.ext-test-runners-card__requires {
|
|
font-size: 0.8rem;
|
|
color: var(--text-3, #6b6b7b);
|
|
margin-bottom: var(--sp-2, 8px);
|
|
}
|
|
|
|
.ext-test-runners-card__requires--missing {
|
|
color: var(--warning, #eab308);
|
|
}
|
|
|
|
/* ── Results Panel ───────────────────────────── */
|
|
|
|
.ext-test-runners-results {
|
|
margin-top: var(--sp-3, 12px);
|
|
border-top: 1px solid var(--border, #2e2e35);
|
|
padding-top: var(--sp-3, 12px);
|
|
}
|
|
|
|
.ext-test-runners-suite {
|
|
margin-bottom: var(--sp-3, 12px);
|
|
}
|
|
|
|
.ext-test-runners-suite__name {
|
|
font-weight: 600;
|
|
font-size: 0.9rem;
|
|
margin-bottom: var(--sp-1, 4px);
|
|
cursor: pointer;
|
|
user-select: none;
|
|
color: var(--text, #e8e8ed);
|
|
}
|
|
|
|
.ext-test-runners-suite__name:hover {
|
|
text-decoration: underline;
|
|
}
|
|
|
|
.ext-test-runners-test {
|
|
display: flex;
|
|
align-items: baseline;
|
|
gap: var(--sp-2, 8px);
|
|
padding: 2px 0 2px var(--sp-4, 16px);
|
|
font-size: 0.85rem;
|
|
font-family: var(--mono, monospace);
|
|
}
|
|
|
|
.ext-test-runners-test__status {
|
|
width: 16px;
|
|
text-align: center;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.ext-test-runners-test__name {
|
|
flex: 1;
|
|
color: var(--text-2, #9898a8);
|
|
}
|
|
|
|
.ext-test-runners-test__time {
|
|
color: var(--text-3, #6b6b7b);
|
|
font-size: 0.8rem;
|
|
}
|
|
|
|
.ext-test-runners-test__detail {
|
|
color: var(--danger-light, #f87171);
|
|
font-size: 0.8rem;
|
|
padding-left: calc(var(--sp-4, 16px) + 24px);
|
|
word-break: break-word;
|
|
}
|
|
|
|
/* Status colors */
|
|
.ext-test-runners-status--passed { color: var(--success, #1dab51); }
|
|
.ext-test-runners-status--failed { color: var(--danger, #ef4444); }
|
|
.ext-test-runners-status--warned { color: var(--warning, #eab308); }
|
|
.ext-test-runners-status--skipped { color: var(--text-3, #6b6b7b); }
|
|
|
|
/* ── Loading / Empty ─────────────────────────── */
|
|
|
|
.ext-test-runners-loading,
|
|
.ext-test-runners-empty {
|
|
text-align: center;
|
|
padding: var(--sp-8, 32px);
|
|
color: var(--text-2, #9898a8);
|
|
}
|
|
|
|
/* ── Running indicator ───────────────────────── */
|
|
|
|
.ext-test-runners-running {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: var(--sp-2, 8px);
|
|
font-size: 0.85rem;
|
|
color: var(--text-2, #9898a8);
|
|
}
|
|
|
|
@keyframes ext-test-runners-spin {
|
|
to { transform: rotate(360deg); }
|
|
}
|
|
|
|
.ext-test-runners-spinner {
|
|
width: 14px;
|
|
height: 14px;
|
|
border: 2px solid var(--border, #2e2e35);
|
|
border-top-color: var(--accent, #6493ed);
|
|
border-radius: 50%;
|
|
animation: ext-test-runners-spin 0.8s linear infinite;
|
|
}
|
|
|
|
/* ── Export Bar ───────────────────────────────── */
|
|
|
|
.ext-test-runners-export {
|
|
display: flex;
|
|
gap: var(--sp-3, 12px);
|
|
margin-top: var(--sp-4, 16px);
|
|
padding-top: var(--sp-4, 16px);
|
|
border-top: 1px solid var(--border, #2e2e35);
|
|
}
|