PtahUi.Components.Calendar (PtahUI v0.1.0)

Copy Markdown View Source

Calendar grid built entirely in Phoenix LiveView — no external JS.

Month navigation and date selection are handled server-side via phx-click.

Example

<.calendar
  month={@month}
  value={@selected}
  on_prev="prev-month"
  on_next="next-month"
  on_select="pick-date"
/>

Pass "YYYY-MM" for month and "YYYY-MM-DD" for value, min, max.

Summary

Functions

calendar(assigns)

Attributes

  • value (:string) - Selected date (YYYY-MM-DD) or nil. Defaults to nil.
  • month (:string) - Month in view (YYYY-MM). Defaults to current month. Defaults to nil.
  • on_select (:any) - phx-click event name or JS command for day selection. Defaults to nil.
  • on_prev (:any) - phx-click event name for previous month. Defaults to nil.
  • on_next (:any) - phx-click event name for next month. Defaults to nil.
  • min (:string) - Earliest selectable date (YYYY-MM-DD). Defaults to nil.
  • max (:string) - Latest selectable date (YYYY-MM-DD). Defaults to nil.
  • class (:string) - Defaults to nil.
  • Global attributes are accepted.