Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Filament Thai Date Picker Laravel Package

phattarachai/filament-thai-date-picker

A Filament PHP form field that adds a Thai Buddhist calendar date picker to your admin panels. Users pick dates in Thai format while values are converted to and from standard Gregorian dates for storage, making Thai-localized Filament apps simple to build.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Thai-market localization roadmap. Buddhist Era (พ.ศ.) dates are the default expectation on Thai invoices, ID documents, government forms, and HR records. Stock Filament pickers render Gregorian only, so every Thai-facing form currently needs a workaround. v4.1.0 makes BE display a first-class, one-line configuration (displayFormat('j F Y') → 11 ตุลาคม 2569) rather than a custom build.
  • Build vs. buy. The alternative is forking Filament's datepicker Blade view or writing a bespoke Livewire component — historically days of engineering plus recurring breakage on every Filament minor. Buying costs one composer require and a version pin.
  • Data-model decision: display-only BE. This package formats the presentation layer; storage stays Gregorian/ISO. That lets us satisfy Thai users without introducing a non-standard storage format or a migration — the correct default, and worth stating explicitly in the ADR so no one later stores BE years in the database.
  • Upgrade sequencing. v4.1.0 hard-gates on filament/forms >= 5.10.1; projects on older Filament 5 must stay on 4.0.x. This makes the package a dependency of our Filament upgrade plan rather than an independent track — sequence the Filament bump first, then this.
  • Reduced maintenance surface. The picker now renders Filament's own markup with Thai patches applied instead of a forked Blade view, and time-only mode (date(false)) and date limits are back in sync. That is a meaningful de-risking of the "we'll just maintain our own fork" option — the fork argument gets weaker with each release.
  • Concrete use cases to prioritize: date-of-birth fields, invoice/PO and receipt dates, appointment and scheduling flows (needs the datetime and time-only variants), and any form feeding a Thai government submission.

When to Consider This Package

Adopt when:

  • The app is Laravel + Filament 5.10.1 or newer, and the audience includes Thai users who expect BE years.
  • You need date, datetime, and time-only pickers with Thai formatting — v4.1.0 covers all three.
  • The scope is confined to form fields (low blast radius, no persistence changes, no migration).
  • You want BE display without owning a fork of Filament's field internals.

Look elsewhere or defer when:

  • You are on Filament 5 below 5.10.1 — you can adopt, but you are pinned to 4.0.x and inherit a second upgrade step later.
  • You are not on Filament at all, or you need a framework-agnostic date library.
  • You need calendars beyond Buddhist Era (Islamic, Jalaali, Hebrew) or a broad Intl formatting layer — this is a targeted single-locale field, not a calendar abstraction.
  • You need BE→CE conversion at the model or validation layer; this is display-only, so budget your own cast/accessor.
  • Your vendor policy requires a support SLA or multiple maintainers. This is a single-maintainer, single-package project tightly coupled to a specific Filament minor, so expect churn around Filament 6 and plan a fallback (pin, or internalize the ~small codebase).
  • You are already deep into a custom date component you control and have no Thai-localization gap left to close.

How to Pitch It (Stakeholders)

For executives: A small, free, community-maintained Filament add-on that closes a real localization gap in Thai-facing forms — Buddhist Era dates on invoices, receipts, and ID fields. Cost is one dependency and a version pin; risk is contained because it touches display only, requires no data migration, and stores nothing in a non-standard format. It removes the need for a custom in-house date component.

For engineering: Add phattarachai/filament-thai-date-picker at ^4.1 on Filament 5.10.1+. Use displayFormat('j F Y') for BE output (defaults j M y / j M y H:i are unchanged, so existing fields are unaffected); ThaiDateTimePicker::make()->date(false) now correctly renders time-only. The picker wraps Filament's native markup with Thai patches rather than a forked Blade view, which lowers our upgrade risk. Recommended guardrails: pin the version, add a smoke test over the Thai date fields, and track releases alongside Filament minors — the package's version is coupled to Filament's.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
cgv/localized-resource