๐ Date Picker Components
Date selection components built on a shared CalendarMonth grid.
graph LR
CAL["CalendarMonth<br/><small>Monthly grid ยท Keyboard nav<br/>Locale-aware ยท Highlights</small>"]
CAL --> SDP["SingleDatePicker<br/><small>Single date dropdown</small>"]
CAL --> DRP["DateRangePicker<br/><small>Start/end range with presets</small>"]
SDP -.->|used by| DE["DataEditor"]
SDP -.->|used by| BF["BrokerForm"]
SDP -.->|used by| TFM["TransactionFormModal"]
SDP -.->|used by| ECM["EventCreateMiniModal"]
SDP -.->|used by| SIE["ScheduledInvestmentEditor"]
SDP -.->|used by| BDM["BoundaryDateModal"]
DRP -.->|used by| PG["Page toolbars<br/><small>Dashboard ยท Broker detail<br/>FX list ยท FX detail<br/>Assets list ยท Asset detail</small>"]
DRP -.->|used by| MP["MeasurePanel"]
DRP -.->|used by| DTF["DataTableColumnFilter"]
DRP -.->|used by| CDR["CellDateRange"]
DRP -.->|used by| L4R["L4Replay"]
style CAL fill:#e3f2fd,stroke:#1565c0
style SDP fill:#e3f2fd,stroke:#1565c0
style DRP fill:#e3f2fd,stroke:#1565c0
๐ CalendarMonth
A monthly calendar grid component โ the visual building block for date pickers.
- Displays a single month with day cells
- Highlights today, selected date, and date range
- Keyboard navigation within the grid
- Locale-aware (week starts on Monday for most locales)
Used by: SingleDatePicker, DateRangePicker.
๐ SingleDatePicker
A single-date picker dropdown with calendar.
- Opens a
CalendarMonthin a dropdown - Manual text input with date parsing
- Month/year navigation with arrows
- Formats date according to locale
Used by:
- DataEditor โ the date of a newly added row; the dates already in the series are disabled
- BrokerForm โ Account Opened, never in the future
- TransactionFormModal โ the transaction date and, for a pair, the To side's own date
- EventCreateMiniModal โ the date of an asset event created inline from the transaction form
- ScheduledInvestmentEditor โ the date of each event row of the schedule
- BoundaryDateModal โ the boundary date(s) that ScheduledInvestmentEditor asks for when it deletes or splits a period
๐ DateRangePicker
A date range picker with start and end dates.
- Two
CalendarMonthgrids side by side (current + next month) - Visual highlight of selected range
- Quick presets: 1W, 1M, 3M, 6M, 1Y, 2Y, YTD and MAX, plus a custom window (an amount
and a granularity). 3Y, 5Y, 10Y, MTD, QTD and WTD fill the toolbar only when a JS
measurement finds room to spare, never at the cost of an extra line (
DateRangePicker.svelte:36,216-251) - Start and end date text inputs
Used by:
- Page toolbars โ the period of the Dashboard, broker detail, FX list, FX detail, Assets list and asset detail pages (Pages)
- MeasurePanel โ the two dates of a measure, without presets, while its row is expanded
- DataTableColumnFilter โ the filter of a
datecolumn - CellDateRange โ the Period cell of each row in ScheduledInvestmentEditor's period table (Scheduled Investment Provider)
- L4Replay โ the replay period, with quick ranges but no
MAX