Skip to main content
WireKit

WireKit v2.32.1

Patch release

Patch — a component and your own style no longer overwrite each other, a seeded value survives a Livewire morph, today is announced in the calendar, and two catalog strings say what they mean.

Fixes only. Nothing here adds or removes API, and every change is backward compatible — though two of them change what a page renders, which is the point: in both cases it was rendering the wrong thing quietly.

Fixed

  • A component and a passed-in style attribute no longer cancel each other out. Several components wrote their own inline style beside the attribute bag. As soon as a style was passed in, the element carried two of them — and a browser keeps the first and drops the rest, with no error and no invalid-markup complaint. Which half disappeared depended only on the order they were written in. aspect-ratio lost its ratio to anyone who also set a background; data-list and its items discarded the passed-in style instead. Both halves now survive as one declaration list, with your declaration last so a deliberate override still wins. The same shape is fixed in scroll-area, stepper, header, badge and every other component that had it.

  • A value seeded into x-data now survives a Livewire morph. segmented-control, rating, pricing-table and tabs interpolated a server-driven value into their x-data seed while also observing it through a data attribute. A morph rewrites x-data, so Alpine re-initializes on a DOM node that survived, and an effect queued against the pre-morph scope writes the old value last — the control reverted to its initial state after a server round-trip. The seed is now read from the attribute at init instead.

  • event-calendar announces today. The current day was distinguished by an accent pill and a heavier weight and nothing else, so "this is today" reached a screen reader only as a color. It now carries aria-current="date" in the month, week and agenda views.

  • Spanish: a status tile read as an instruction. On the success tile of status-tiles, OK was translated as Aceptar — the verb on a confirm button — where the key is a status word. Beside a green check it asked the operator to confirm something. It is now Correcto, matching Advertencia and Crítico in the same catalog.

  • Popover shipped untranslated in every catalog. The key was present with the English term as its value, so a completeness comparison found nothing missing while a reader saw English in an otherwise translated interface. It is now translated in Spanish, French, Italian and Portuguese; German and Dutch keep the established loanword deliberately.

  • wirekit:csp-audit pointed at the shape it does not hit. Its hint about Js::from() said the encoder wraps its payload for "any non-empty string, array or object". It wraps a non-empty array or object; a string of any length — apostrophes and non-ASCII included — comes back a quoted literal, as do numbers, booleans, null, [] and {}. Acting on the old advice for a string meant replacing a correct encoder with hand-written interpolation that the next apostrophe breaks. The report now names the real trigger and exempts the safe shapes explicitly.

Documentation

  • CLI reference: the wirekit:csp-audit section states the real trigger, says outright that a string is not the case to fix, and recommends AlpinePayload::from() for handing a composed payload to an Alpine directive — a helper the documentation had never mentioned.
  • event-calendar: the accessibility section documents the aria-current="date" contract across all three views.