Skip to content

v3.33.0

Choose a tag to compare

@tjloong tjloong released this 02 Oct 14:55
· 25 commits to main since this release
d47608b

A sweep of every component for attributes that were dropped or put on the wrong element (found while fixing the v3.31.0 table/caption reports).

Fixed — attributes you pass now apply

  • Printed at last: empty (all variants), avatar, input.field, pagination, table.pagination, table.filters, input.prefix, sharer, whatsapp, lightbox, darkmode-toggle, and <atom:table>'s footer / checked slot attributes. <atom:html> prints its attributes on <body>, and the auth and sidebar layouts forward theirs.
  • Caller class no longer swallowed: slider, rating, tabs.item, input.otp. On checkbox, toggle, radio, uploader and uploader.dropzone the class now goes to the visible control; wire:model, name, id and the rest stay on the input. (Only class moves — x-show / style still go to the input.)
  • separator: a class on a labelled separator no longer replaces the label's styling (font-medium uppercase text-sm is back).
  • Duplicates and drops: copy printed two class attributes; the embed image now takes alt / loading / id; hex badge, placeholder-bar and whatsapp merge your style instead of dropping it; input.tel no longer copies class / placeholder / required / disabled / readonly onto its wrapper.
  • Logos: only() / except() take one argument, so variadic calls kept only alt. All logos now give the <img> its alt / width / height, and keep them off the wrapper. logo.tng's default alt said "Mastercard"; now "Touch 'n Go".
  • Remote select option avatars (GetOptions): the picture now actually renders (through safe_url(), so javascript: / data: are dropped), the fallback shows the initial, and a non-string avatar no longer errors.

Changed

  • The w-full / relative defaults on callout, skeleton, chart, card, dropdown, the uploaders, and whatsapp's position are now zero-specificity ([:where(&)]:), so your own absolute, w-auto, etc. always win. No change when you pass no class.

Upgrade notes

  • Any class= you already pass to these components starts taking effect — look for stray margins or widths.
  • A non-prop attribute you pass now appears in the DOM.
  • A whatsapp positioned on the left keeps the default right-14; add right-auto.