malzariey/filament-daterangepicker-filter
Alpine.js-powered date range picker and filter for Filament. Pick day/month/year ranges with presets, optional time selection (12/24h), keyboard input validation, localization, accessibility, and modal/slide-over friendly dropdown teleport. Matches Filament v4 UI.
apply.daterangepicker, cancel.daterangepicker) enable deep integration with Livewire/JS for advanced use cases (e.g., real-time validation, analytics).modifyQueryUsing for filters).Carbon for date handling, reducing serialization/deserialization overhead.displayFormat() in favor of Carbon-compatible format() (backward-compatible but discouraged).Carbon timezone handling; ensure consistency with app defaults.->disabledDates()).<body> solves z-index issues but may require CSS adjustments for nested modals.tsrange)?Carbon integration reduces serialization overhead. Day.js aligns with modern JS tooling.apply.daterangepicker) enables real-time updates without page reloads.jQuery DateRangePicker, custom Carbon logic).whereBetween).| Component | Compatibility | Notes |
|---|---|---|
| Filament v4 | ✅ Full support | Tested with Filament’s latest stable. |
| Livewire | ✅ Event-driven integration | Use wire:model or custom events. |
| Carbon | ✅ Native support | No manual conversion needed. |
| Day.js | ✅ Localization, parsing | Publish translations if needed. |
| Alpine.js | ✅ No conflicts with Filament’s existing usage | Lightweight (~7KB). |
| Tailwind CSS | ✅ Filament v4 styling compatibility | Dark/light mode support. |
| jQuery | ❌ Deprecated (replaced by Alpine.js) | Migration required for v3.x users. |
text fields with manual date entry).whereBetween queries).x-data inspection).console.log in custom event listeners.minDate/maxDate constraints instead.wire:model handles concurrent edits; no race conditions expected.whereBetween uses indexes on date columns.| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Alpine.js/Day.js JS errors | Broken UI | Polyfill for legacy browsers. |
| Timezone mismatches | Incorrect date filtering | Enforce UTC in DB, convert on display. |
| Large disabled date ranges | Slow rendering | Use minDate/maxDate instead. |
| Custom event conflicts | Unintended side effects | Namespace events (e.g., apply.myapp.daterangepicker). |
| Filament v4 API changes | Integration breaks | Monitor Filament release notes. |
DateRangePicker::make() or DateRangeFilter::make().How can I help you explore Laravel packages today?