Define a major-third (1.25) type scale as CSS custom properties in the tokens layer (--text-2xs through --text-5xl), along with line-height (--leading-*), font-weight (--font-*), and letter-spacing (--tracking-*) tokens. Migrate all 28 core CSS files from ad-hoc values to token references with clamp()-based responsive scaling for headings. Add TypographyTokenContractTest to enforce token-only usage via grep-based assertions. Task run: UI-TYPOGRAPHY-SCALE-001 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
59 lines
1.3 KiB
CSS
59 lines
1.3 KiB
CSS
@layer components {
|
|
/* Dashboard title bar — welcome heading with tenant context. */
|
|
.app-dashboard-titlebar {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
flex-wrap: wrap;
|
|
gap: 10px;
|
|
margin-block-end: var(--app-spacing);
|
|
}
|
|
|
|
.app-dashboard-titlebar h1,
|
|
.app-dashboard-titlebar h2,
|
|
.app-dashboard-titlebar h3,
|
|
.app-dashboard-titlebar h4,
|
|
.app-dashboard-titlebar h5,
|
|
.app-dashboard-titlebar h6 {
|
|
margin: 0;
|
|
}
|
|
|
|
.app-dashboard-titlebar button,
|
|
.app-dashboard-titlebar [role="button"] {
|
|
--app-button-padding-horizontal: 10px;
|
|
--app-button-padding-vertical: 6px;
|
|
font-size: var(--text-sm);
|
|
margin: 0;
|
|
}
|
|
|
|
.app-dashboard-titlebar-actions {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.app-dashboard-titlebar h1 i {
|
|
background: var(--app-muted-border-color);
|
|
width: 35px;
|
|
height: 29px;
|
|
font-size: 15px; /* icon-font metric — intentional px */
|
|
border-radius: var(--app-border-radius);
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
color: var(--app-contrast);
|
|
}
|
|
|
|
.app-dashboard-titlebar h1:has(i) {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 7px;
|
|
line-height: var(--leading-none);
|
|
}
|
|
|
|
.app-dashboard-titlebar h1 a:hover i {
|
|
background: var(--app-border);
|
|
}
|
|
}
|