Skip to main content

WireKit v2.6.5

Patch release

Patch release. Adds one opt-in, fully backward-compatible event to Tabs so a server can observe tab switches; no breaking changes.

Added

  • <x-wirekit::tabs> now dispatches a wirekit:tab-changed browser event on every tab switch, so a Livewire component can react to a change without rebuilding the tablist by hand. The event bubbles to window, and its detail carries { tab, label } (the activated item's key and its label). It fires on change only — not on the initial render, and not when the already-active tab is re-clicked. Listen for it on a wrapper and forward it into your component, e.g. <div x-on:wirekit:tab-changed="$wire.onTabChanged($event.detail.tab)">. Rendering stays client-side and existing tabs are unaffected (an unobserved event is a no-op). See Observing tab changes server-side.

Fixed

  • php artisan wirekit:doctor:a11y --theme-contrast no longer fails on resting decorative borders. Per WCAG 1.4.11 (non-text contrast applies only to UI elements that convey state or identify a boundary), the audit now treats the resting decorative borders (border, border-strong) as advisory — printed as INFO (decorative, WCAG 1.4.11 exempt) — and hard-checks only the borders that communicate at 3:1 (the focus ring, border-error, border-success). Previously it failed the decorative border/background pairing against a flat 3:1 bar, so even a stock install reported a failure on its own intentionally low-contrast dividers. See the theming guide for the exact exempt token pairings.

Documentation

  • <x-wirekit::tabs> — the page now leads with a live example, and a new "Observing tab changes server-side" section documents the wirekit:tab-changed event end-to-end.
  • <x-wirekit::editor> — added a "Factory config contract" table listing every key WireKit passes to your window.tiptapEditor(config) factory, so you can write the factory from the reference instead of reading the source.
  • <x-wirekit::icon> — documented the single-alias override (map one alias directly instead of stacking a whole extension preset) and why live stays a marketing alias.
  • <x-wirekit::slider> — added a pitfall: a dragged slider bound with wire:model.live sends a Livewire round-trip per step; use .debounce / .lazy instead.
  • Authoring custom components — added a recipe for asserting WireKit's debug-mode "unknown prop" warning in a test.