This repository has been archived on 2026-04-03. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
core/packages/sdk-test-runner/css/main.css
Jeffrey Smith abf71162b1
Some checks failed
CI/CD / detect-changes (pull_request) Successful in 4s
CI/CD / build-and-deploy (pull_request) Has been cancelled
CI/CD / test-sqlite (pull_request) Has been cancelled
CI/CD / test-go-pg (pull_request) Has been cancelled
CI/CD / test-frontend (pull_request) Has been cancelled
Feat v0.6.12 extension css isolation
Prefix enforcement prevents extension CSS from leaking into the kernel
or sibling extensions. All 12 in-tree packages migrated to .ext-{slug}-*
naming convention.

- Add data-ext attribute to extension mount container
- Add CSS linter (scripts/lint-package-css.sh) enforcing .ext-{slug} prefix
- Add kernel CSS contract doc (docs/EXTENSION-CSS.md)
- Migrate 12 packages: chat, dashboard, editor, git-board, hello-dashboard,
  icd-test-runner, notes, schedules, sdk-test-runner, tasks,
  team-activity-log, workflow-demo (CSS + JS in lockstep)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 11:54:51 +00:00

223 lines
5.2 KiB
CSS

/* SDK Test Runner — Styles */
.ext-sdk-test-runner-header {
display: flex;
align-items: baseline;
gap: 12px;
margin-bottom: 4px;
}
.ext-sdk-test-runner-header h1 {
font-size: 20px;
font-weight: 600;
margin: 0;
color: var(--text, #e0e0e0);
}
.ext-sdk-test-runner-version {
font-size: 12px;
color: var(--text-3, #888);
font-family: 'JetBrains Mono', monospace;
}
.ext-sdk-test-runner-desc {
font-size: 13px;
color: var(--text-2, #aaa);
margin: 0 0 16px 0;
line-height: 1.5;
}
/* Fixtures panel */
.ext-sdk-test-runner-fixtures {
margin-bottom: 16px;
padding: 10px 14px;
border: 1px solid var(--border, #333);
border-radius: 6px;
background: var(--bg-raised, #1a1a1a);
}
.ext-sdk-test-runner-fixture-row {
display: flex;
align-items: center;
gap: 10px;
flex-wrap: wrap;
}
.ext-sdk-test-runner-fixture-label {
font-size: 12px;
font-weight: 600;
color: var(--text-2, #aaa);
text-transform: uppercase;
white-space: nowrap;
}
.ext-sdk-test-runner-select {
padding: 4px 8px;
font-size: 13px;
background: var(--bg-raised, #222);
color: var(--text, #e0e0e0);
border: 1px solid var(--border, #444);
border-radius: 4px;
min-width: 130px;
}
.ext-sdk-test-runner-input {
padding: 4px 8px;
font-size: 13px;
background: var(--bg-raised, #222);
color: var(--text, #e0e0e0);
border: 1px solid var(--border, #444);
border-radius: 4px;
flex: 1;
min-width: 200px;
max-width: 400px;
font-family: 'JetBrains Mono', monospace;
}
.ext-sdk-test-runner-input::placeholder {
color: var(--text-3, #666);
font-family: inherit;
}
.ext-sdk-test-runner-fixture-status {
font-size: 12px;
color: var(--text-3, #888);
font-family: 'JetBrains Mono', monospace;
}
.ext-sdk-test-runner-fixture-note {
font-size: 11px;
color: var(--text-3, #666);
margin-top: 6px;
line-height: 1.4;
}
/* Controls */
.ext-sdk-test-runner-controls {
display: flex;
flex-direction: column;
gap: 10px;
margin-bottom: 16px;
}
.ext-sdk-test-runner-filters {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 8px;
}
.ext-sdk-test-runner-filter-label {
font-size: 12px;
font-weight: 600;
color: var(--text-2, #aaa);
text-transform: uppercase;
letter-spacing: 0.05em;
}
.ext-sdk-test-runner-check {
font-size: 13px;
color: var(--text, #e0e0e0);
cursor: pointer;
display: inline-flex;
align-items: center;
gap: 3px;
}
.ext-sdk-test-runner-check input { cursor: pointer; }
.ext-sdk-test-runner-btn-row {
display: flex;
gap: 8px;
}
.ext-sdk-test-runner-btn {
padding: 6px 14px;
border-radius: 6px;
border: 1px solid var(--border, #444);
background: var(--bg-raised, #2a2a2a);
color: var(--text, #e0e0e0);
font-size: 13px;
cursor: pointer;
transition: background 0.15s;
}
.ext-sdk-test-runner-btn:hover { background: var(--bg-hover, #383838); }
.ext-sdk-test-runner-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.ext-sdk-test-runner-btn-primary {
background: var(--accent, #3b82f6);
border-color: var(--accent, #3b82f6);
color: #fff;
}
.ext-sdk-test-runner-btn-primary:hover { filter: brightness(1.15); }
.ext-sdk-test-runner-btn-danger {
background: var(--danger, #ef4444);
border-color: var(--danger, #ef4444);
color: #fff;
}
/* Summary */
.ext-sdk-test-runner-summary {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-bottom: 12px;
padding: 10px 12px;
background: var(--bg-raised, #1e1e1e);
border-radius: 8px;
border: 1px solid var(--border, #333);
}
.ext-sdk-test-runner-badge {
display: inline-block;
padding: 3px 10px;
border-radius: 4px;
font-size: 12px;
font-weight: 600;
font-family: 'JetBrains Mono', monospace;
}
/* Table */
.ext-sdk-test-runner-table-wrap {
overflow-x: auto;
border: 1px solid var(--border, #333);
border-radius: 8px;
}
.ext-sdk-test-runner-table {
width: 100%;
border-collapse: collapse;
font-size: 13px;
}
.ext-sdk-test-runner-table th {
text-align: left;
padding: 8px 10px;
background: var(--bg-raised, #1e1e1e);
color: var(--text-2, #aaa);
font-weight: 600;
font-size: 11px;
text-transform: uppercase;
letter-spacing: 0.05em;
border-bottom: 1px solid var(--border, #333);
position: sticky;
top: 0;
z-index: 1;
}
.ext-sdk-test-runner-table td {
padding: 6px 10px;
border-bottom: 1px solid var(--border-subtle, #2a2a2a);
color: var(--text, #e0e0e0);
vertical-align: top;
}
.ext-sdk-test-runner-table tbody tr:hover {
background: var(--bg-hover, rgba(255,255,255,0.03));
}
.ext-sdk-test-runner-test-name {
font-family: 'JetBrains Mono', monospace;
font-size: 12px;
}
.ext-sdk-test-runner-verdict {
font-weight: 700;
font-family: 'JetBrains Mono', monospace;
font-size: 11px;
}
.ext-sdk-test-runner-ms {
font-family: 'JetBrains Mono', monospace;
font-size: 11px;
color: var(--text-3, #888);
text-align: right;
}
.ext-sdk-test-runner-detail {
font-size: 11px;
color: var(--text-3, #888);
max-width: 400px;
word-break: break-word;
}
/* Row verdict highlights */
.ext-sdk-test-runner-row-sdk_bug td { background: rgba(245, 158, 11, 0.06); }
.ext-sdk-test-runner-row-icd_bug td { background: rgba(239, 68, 68, 0.06); }
.ext-sdk-test-runner-row-shape_bug td { background: rgba(168, 85, 247, 0.06); }
.ext-sdk-test-runner-row-error td { background: rgba(239, 68, 68, 0.08); }