forked from fa/breadcrumb-the-shire
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.8 KiB
CSS
59 lines
1.8 KiB
CSS
@layer components {
|
|
/* Validation summary — error list displayed at top of detail forms. */
|
|
.app-details-errors {
|
|
padding-block-start: 1rem;
|
|
}
|
|
|
|
.app-details-validation-summary {
|
|
--app-validation-summary-border-color: var(--app-notice-error-border-color);
|
|
--app-validation-summary-background-color: var(--app-notice-error-background-color);
|
|
--app-validation-summary-title-color: var(--app-notice-error-color);
|
|
--app-validation-summary-link-color: var(--app-contrast);
|
|
margin: 0;
|
|
border: 1px solid var(--app-validation-summary-border-color);
|
|
border-left-width: 4px;
|
|
border-radius: var(--app-border-radius);
|
|
background: var(--app-validation-summary-background-color);
|
|
padding: calc(var(--app-spacing) * 0.75) calc(var(--app-spacing) * 1);
|
|
color: var(--app-color);
|
|
display: grid;
|
|
gap: calc(var(--app-spacing) * 0.55);
|
|
}
|
|
|
|
.app-details-validation-summary:focus-visible {
|
|
outline: 2px solid var(--app-validation-summary-border-color);
|
|
outline-offset: 2px;
|
|
}
|
|
|
|
.app-details-validation-summary-title {
|
|
margin: 0;
|
|
font-weight: var(--font-semibold);
|
|
color: var(--app-validation-summary-title-color);
|
|
}
|
|
|
|
.app-details-validation-summary-list {
|
|
margin: 0;
|
|
padding-left: 1.1rem;
|
|
display: grid;
|
|
gap: calc(var(--app-spacing) * 0.35);
|
|
}
|
|
|
|
.app-details-validation-summary-list li {
|
|
margin: 0;
|
|
list-style: disc;
|
|
}
|
|
|
|
.app-details-validation-summary-link {
|
|
color: var(--app-validation-summary-link-color);
|
|
text-decoration: underline;
|
|
text-decoration-thickness: 1px;
|
|
text-underline-offset: 2px;
|
|
transition: color 120ms ease;
|
|
}
|
|
|
|
.app-details-validation-summary-link:hover,
|
|
.app-details-validation-summary-link:focus-visible {
|
|
color: var(--app-validation-summary-title-color);
|
|
}
|
|
}
|