Skip to content

๐Ÿ“… 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 CalendarMonth in 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 CalendarMonth grids 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 date column
  • 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