Skip to main content

WireKit v1.6.1

Patch release

Patch release covering five developer-visible fixes plus a README restructure and badge expansion. No new API surface; no breaking changes; every component renders byte-identical to v1.6.0 unless its specific bug applied.

Fixed

  • prefers-reduced-motion: reduce now actually honored on <x-wirekit::reveal> and wk-animate-* utilities (WCAG 2.3.3). The component documentation and helper docblock claimed the OS-level reduced-motion preference was respected, but the global @media (prefers-reduced-motion: reduce) block in dist/wirekit.css only gated [x-transition] selectors — the 22 keyframe animations driving every preset ran at full speed regardless of user preference. The block now gates [class*='wk-animate-'] as well, snapping animation-duration to 0.01ms so reduced-motion users see an instant snap-to-final state. Behavior now matches the documented contract.
  • Nested <x-wirekit::list> margins no longer accumulate inside typography wrappers. When the component is rendered inside a developer's .prose / .docs-prose / @tailwindcss/typography context, the wrapper's <ol> / <ul> / <li> rules injected margin: 1em 0 onto every level — and the previous Tailwind-utility approach was too low-specificity to win the cascade. Nested lists looked progressively more spaced out at deeper levels regardless of the spacing prop. The component now ships with a wk-list marker class plus dedicated wk-list-spacing-{none,sm,md} rules in dist/wirekit.css whose doubled-class selectors win on specificity alone (no !important, so developers can still override with even-higher-specificity rules when they explicitly need to). The spacing prop is now the single source of truth for inter-item vertical rhythm at every nesting depth.
  • bounce and spring reveal presets — final state no longer fades back to invisible. The wk-bounce-in and wk-spring-in keyframes declared opacity: 1 only at the 50% / 60% peaks; the 70% and 100% frames left opacity unspecified. With animation-fill-mode: both, some browser implementations held opacity at 1 from the last specified frame, but others interpolated back toward the underlying inline opacity: 0 after the animation settled — the element became visible briefly, then vanished. All four bounce / spring keyframe blocks now declare opacity at every frame, so the final-state behavior is browser-independent.

Changed

  • README.md restructured from a comprehensive standalone reference to a concise getting-started overview. Installation walkthrough, Quick Start example, and the browser-support table are retained on the GitHub landing page; extended component tables and the customization reference now live at docs.wirekit.app where they're searchable and link-rich. Net effect: the README acts as a 30-second "what is this and how do I install it" landing page; docs.wirekit.app remains the authoritative reference for everything else.
  • README.md badge row expanded from 3 to 11 badges across two visual rows. Row 1 (project status): Packagist version, Total Downloads, GitHub Actions test status, MIT license, GitHub Stars, component count. Row 2 (stack): PHP ≥ 8.4, Laravel 12+, Livewire 4+, Tailwind CSS v4, Alpine.js. The CI badge in particular gives evaluators an at-a-glance signal that the build is green on main. Component-count badge auto-validates against ComponentRegistry via a Pest sync guard so the displayed number can never drift from the actual registry size.