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 buildThe rebuild is required for your Filament theme to pick up the changed utilities.
Full Changelog: v2.1.2...v2.2.0