v2.32.1
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
styleattribute no longer cancel each other out. Several
components wrote their own inlinestylebeside the attribute bag. As soon as astylewas
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-ratiolost its ratio to anyone who also set a
background;data-listand 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 inscroll-area,
stepper,header,badgeand every other component
that had it. -
A value seeded into
x-datanow survives a Livewire morph.
segmented-control,rating,
pricing-tableandtabsinterpolated a server-driven value into
theirx-dataseed while also observing it through a data attribute. A morph rewritesx-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-calendarannounces 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 carriesaria-current="date"in the month, week and agenda views. -
Spanish: a status tile read as an instruction. On the success tile of
status-tiles,OKwas translated asAceptar— 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 nowCorrecto, matchingAdvertenciaandCríticoin the same catalog. -
Popovershipped 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-auditpointed at the shape it does not hit. Its hint aboutJs::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-auditsection 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.