packagist malzariey/filament-daterangepicker-filter 5.0.10
5.0.10 — the table filter works on Filament 5.11.2 and the panel keeps its font

latest release: 5.0.11
2 hours ago

Fixed

  • The table filter renders again on Filament 5.11.2 (#267) — Filament 5.11.2 builds filter forms through getFormSchema(), which skipped the plugin's override, so DateRangeFilter showed no input. The field is now built in getFormField(), which every supported Filament version (4.x and 5.x) uses. ->form() and ->schema() still replace it.
  • Presets respect minDate() and maxDate() (#268) — a preset with no overlap with the allowed range is disabled. A preset that partly overlaps is clamped to the bounds. When several presets clamp to the same range, the one you clicked is the one highlighted and labelled.
  • Time selects keep focus inside Filament modals and slide-overs (#264) — the modal's focus trap no longer pulls focus out of the picker, so the native hour and minute pickers open on iOS. This only applies inside an open Filament modal; elsewhere, focus events behave as before.
  • The package stylesheet no longer overrides the panel's font and grays (#263, thanks @benlumley and @wit3) — since 5.0.8 the lazy-loaded stylesheet shipped Tailwind's theme, preflight and generic utilities, which replaced the panel's font and gray palette on any page with a picker. The stylesheet is now scoped to fi-daterangepicker-* classes, its grays follow Filament's --gray-*, and the open/close animation is kept.
  • linkedCalendars(false) works — each day calendar now has its own arrows and navigates on its own. The default (linked) is unchanged.
  • disableCustomRange() works — the field shows only its presets; one click applies a preset and closes the dropdown, and the presets are reachable with the arrow keys. Without presets the option is ignored, so the dropdown is never empty.
  • A manual-input field can be cleared from the keyboard — emptying the input (select all + Backspace) now clears the state, as the clear button does.
  • Tabbing away closes the picker — focus leaving the picker closes it and cancels a pending selection, like an outside click. Before, two dropdowns could stay open on top of each other.
  • Filter indicator dates stay in order in RTL locales — in Arabic, Hebrew, Persian and Kurdish the indicator showed the range reversed. The range is now wrapped in Unicode LTR isolation marks (U+2066 … U+2069) in RTL locales only.

Behaviour changes to note

  • ->modifyFormFieldUsing() now applies to DateRangeFilter. Before, it was ignored.
  • On allowInput() fields, calendar clicks and presets now wait for Apply, like every other field (unless autoApply()). Before, a completed range was committed immediately and Cancel could not undo it.
  • Fields that already call disableCustomRange() or linkedCalendars(false) change layout: those options did nothing until now.
  • Tab away now fires cancel.daterangepicker and hide.daterangepicker.
  • In RTL locales the indicator label contains the invisible U+2066/U+2069 marks; tests asserting the exact string need updating.
  • Presets that ran past maxDate (e.g. "This month" with maxDate(now())) now stop at maxDate.
  • The dropdown's grays are now Filament's neutral grays instead of Tailwind's blue-tinted ones.

Development

  • testbench.yaml is committed, so the workbench demo runs after composer install. composer serve publishes the assets and starts the demo, and composer test purges the Testbench skeleton first.
  • New /demo/table page with a real table filter, plus demo cases for presets vs min/max dates and a modal with a nested modal.
  • Dependencies: actions/checkout 7, actions/setup-node 7, happy-dom 21, follow-redirects 1.16.3; the unused @vue/test-utils is removed (closes the minimatch advisory).

Upgrading

Run php artisan filament:assets after updating; the JS and CSS changed.

Don't miss a new filament-daterangepicker-filter release

NewReleases is sending notifications on new releases.