• v0.3.0 14de3890c0

    v0.3.0 Stable

    pienter-release-bot released this 2026-08-26 13:26:54 +00:00 | 267 commits to main since this release

    Added

    • --bg-clr-selected — the neutral "selected" background rung, one step past
      the hover fill so a chosen item stays distinct from a merely hovered one. It
      rides --clr-surface-1, the only neutral that keeps a similar distance from
      the surface in both themes: darker than the surface in light, lighter in dark.
      Pair it with --text-clr-base. Never with --text-clr-inverse — that is
      near-white in both themes and belongs on a fill or an inverted bar, so on a
      light neutral it produces near-white on near-white in the light theme.
      Previously the neutral ramp jumped straight from --bg-clr-surface-2 (91%
      lightness) to --bg-clr-dark (27%), so a selected state could only be
      invisible or a heavy slab.

    • PaginationFooter (Vue + Astro) — the bar that seats a result summary
      opposite a pagination control: top border, summary at the leading edge,
      control at the trailing edge. Pure markup with slots; the summary text comes
      from a #summary slot so pluralization and locale stay with the consumer,
      and the control comes from the default slot. Below a 30rem container both
      regions stack and centre, with the control leading and the summary reading as
      a caption beneath it. Pagination itself gained no props.

      <PaginationFooter>
          <template #summary>Showing 2130 of 96 domains</template>
          <Pagination v-model:current-page="page" :total-pages="10" />
      </PaginationFooter>
      

    Changed

    • Pagination is restyled to the admin-surface "table footer bar" direction.
      The <ul> is now a single bordered strip whose cells share dividers, instead
      of a row of individually bordered boxes separated by --space-3xs. Cells use
      --fw-control (was --fw-semibold), tabular numerals, and
      --opacity-disabled (was a hard-coded 0.4). The public API, markup
      contract, and ARIA are unchanged.
    • Pagination is now --control-height-sm (30px) tall overall, so it lines up
      with a sm Button placed beside it. It was effectively 32px: the height
      was applied to the cells, and the strip's own 1px border sat outside them.
      The height moved to the <ul> and the cells stretch to fill it, landing at
      28px — still clear of the 24px WCAG 2.5.8 target.
    • Pagination's current page is now --bg-clr-selected + --text-clr-base,
      replacing --bg-clr-dark + --text-clr-inverse. The old pairing read as a
      heavy slab in the light theme and sank into the bar in the dark one, because
      --bg-clr-dark is a scrim colour rather than a selection colour.
    • Pagination's focus ring now uses a negative outline-offset plus a
      z-index lift. The cells are adjacent now, so the previous positive offset
      drew the ring underneath the neighbouring cell. Same token, same width, still
      :focus-visible-only.
    • Pagination reduces to just the prev / next arrows and the current page below
      an 18rem container. Previously the full page run stayed put and overflowed.
      This is pure CSS — a container query on the component's own <nav> wrapper —
      so it responds to the space the control is given rather than to the viewport,
      and the page list itself is unchanged.
    • Pagination's <nav> wrapper now carries a pui-pagination-nav class, so it
      can act as that query container. It is a new public child class and carries no
      visual styling of its own.
    Downloads