Skip to content

v2.2.0

Latest

Choose a tag to compare

@CodeWithDennis CodeWithDennis released this 04 Aug 19:00
· 2 commits to 2.x since this release
af88c37

Two UI improvements to the choice fields.

Pointer cursor by default

Every option is clickable across its whole surface, but the pointer cursor used to be opt-in through cursorPointer(). Fields that never called it kept the text cursor, so an option read as if it were not clickable — and a panel ended up inconsistent depending on which call sites remembered the method.

All eight components now show a pointer cursor out of the box, and defaultCursor() is the explicit opt-out:

CheckboxCard::make('delivery_type')
    ->options(DeliveryTypeEnum::class)
    ->defaultCursor();

Both methods accept a bool or a Closure. defaultCursor() negates closures lazily, so they are still evaluated at render time. Disabled options keep cursor-not-allowed in both modes.

The cursor also reaches the inputs now. A form control does not inherit the cursor from its <label>, so in hiddenInputs() mode — where the card layouts stretch a transparent input across the whole option — the pointer never showed anywhere on the card. All eight views put cursor-[inherit] on both the overlay and the native input.

⚠️ Behaviour change

Fields render their options with a pointer cursor unless defaultCursor() is called. This is a visual default only: no method was removed, renamed or re-signatured, and cursorPointer() behaves exactly as before. There was no way to opt out prior to this release, so no existing code can be carrying an opt-out that this flips — which is why it ships as a minor.

Thinner checked ring on cards

The card layouts drew the checked state as a 2px outline at -1px offset. Because an outline paints outward from its offset line, that ring covered the 1px border and spilled 1px outside the card, so a checked option read noticeably heavier than its unchecked neighbours.

The checked outline is now 1px at -1px offset, landing exactly on the border edge: checked and unchecked cards carry the same weight and only the colour changes. Focus rings scale down to 2px and are pulled inside the card, so a focused option still reads one step heavier than a merely checked one.

Affects RadioCard, RadioStackedCard, CheckboxCard and CheckboxStackedCard. The list and table layouts are untouched — they tint the background rather than draw an outline.

Upgrading

composer update codewithdennis/filament-advanced-choice
npm run build

The rebuild is required for your Filament theme to pick up the changed utilities.

Full Changelog: v2.1.2...v2.2.0