Skip to content

v0.15.0

Latest

Choose a tag to compare

@github-actions github-actions released this 19 Sep 11:19
· 2 commits to master since this release
7007d31

Cirth v0.15.0

Cirth 0.15.0 completes the native-baseline theme introduced through the beta
series: a warmer canvas, copper accent and graphite neutral, simpler native
controls, and a smaller vocabulary of semantic decisions for an application
to make. Existing pages repaint without markup changes. Themes that override
downstream accent tokens need the rename below.

Breaking changes

The primary, secondary and contrast token families now name the thing
they paint before the state they are in. Values and relationships are
unchanged, but downstream custom-property overrides must use the new names:

Before After
--cirth-secondary, --cirth-contrast --cirth-secondary-text, --cirth-contrast-text
*-background *-surface
*-hover *-active
*-hover-background *-surface-active
*-hover-border *-border-active
*-hover-underline *-underline-active
*-inverse *-on-surface

--cirth-primary itself, the .secondary and .contrast classes, package
entry points and markup are unchanged. A theme that only sets
--cirth-primary needs no migration. *-on-surface remains an explicit
light-or-dark ink: rename an existing override, but continue choosing its
value deliberately for the accent beneath it.

What looks different

  • The default accent is copper, the neutral family is cool graphite, the
    light canvas is warm mineral paper, and dark mode uses the same graphite
    rather than near-black.
  • Buttons are flat; fields read as recessed and receive an immediate focus
    ring; disclosures use a dividing rule instead of a card treatment; and
    navigation stays neutral until active.
  • <mark> derives from the accent instead of the warning family. Syntax
    highlighting, captions and top-level section hierarchy were retuned for the
    new palette.
  • Dialogs settle by half a rem instead of entering by their full height. The
    dark range thumb is clearer against its track and sits on the shared 44px
    target floor.

New and changed defaults

  • --cirth-ink names the document's text colour without being rebound by a
    component. --cirth-color continues to default to it.
  • --cirth-container-gutter separates fluid container gutters from global
    spacing, and --cirth-modal-max-width provides one runtime modal cap.
  • --cirth-primary-text is the derived text role for the primary family.
  • --cirth-typography-spacing-vertical now derives from --cirth-spacing, so
    changing the root rhythm also changes prose rhythm unless the typography
    token is overridden directly.
  • Reduced-motion mode neutralizes --cirth-transition, reaching native range
    pseudo-elements as well as authored transitions that use the token.

API

.danger is a destructive button modifier in class-enabled builds. It derives
from the error family, adds no custom property, and composes with .outline
and .ghost:

<button class="danger">Delete project</button>
<button class="danger outline">Delete project</button>

Classless builds do not infer destructive intent from text or form position.

Fixed

  • Ordered navigation lists now receive the same layout and breadcrumb
    separators as unordered lists.
  • Summary markers centre at any type size; vertical navigation paints inside
    its container; ordinary lists in an <aside> keep their markers; and the
    VoiceOver list-semantics workaround stays out of every layout flow.
  • .sr-only-focusable reveals without moving the document.
  • Description lists and table captions receive complete native defaults.
  • Readonly number inputs no longer expose an unusable stepper. Editable number
    inputs retain their native controls and keyboard behaviour.

Known issues

The project logo, README presentation and documentation homepage are still
being revised separately. That work does not change the CSS or public API
published in this release.

Tables continue to scroll horizontally rather than reflow on narrow screens.

What's Changed

  • fix(deps): take fast-uri to 3.1.7, closing four host-confusion advisories by @ricpastori in #103
  • Native baseline aesthetic rework, and the release process for 0.15.0-beta.1 by @ricpastori in #104
  • chore(release): prepare v0.15.0-beta.1 by @ricpastori in #105
  • fix(ci): fetch a browser before the release tooling checks by @ricpastori in #118
  • ci: close the two gaps the release found, and three dev advisories by @ricpastori in #119
  • feat: the copper identity and the native baseline by @ricpastori in #120
  • chore(release): prepare v0.15.0-beta.2 by @ricpastori in #121
  • fix: scope visual baselines and readonly number controls by @ricpastori in #122
  • docs: adopt written specs with an evidence ledger by @ricpastori in #128
  • feat(theme)!: name accent tokens by role by @ricpastori in #123
  • chore(release): prepare v0.15.0 by @ricpastori in #129

New Contributors

Full Changelog: v0.14.1...v0.15.0