ui/range_calendar

Types

Messages for range calendar keyboard navigation

pub type Msg {
  MoveDay(Int)
  SelectDate
  MoveWeek(Int)
  MoveMonth(Int)
  MoveToFirstDayOfWeek
  MoveToLastDayOfWeek
  SelectRangeStart
  SelectRangeEnd
}

Constructors

  • MoveDay(Int)
  • SelectDate
  • MoveWeek(Int)
  • MoveMonth(Int)
  • MoveToFirstDayOfWeek
  • MoveToLastDayOfWeek
  • SelectRangeStart
  • SelectRangeEnd

Selection mode for range calendar

pub type SelectionMode {
  Single
  Range
}

Constructors

  • Single
  • Range
pub type Size {
  Small
  Medium
  Large
}

Constructors

  • Small
  • Medium
  • Large
pub type Variant {
  Default
  Muted
}

Constructors

  • Default
  • Muted

Values

pub fn keymap(
  key_event: keyboard.KeyEvent,
  selection_mode: SelectionMode,
) -> option.Option(Msg)

Keymap for range calendar keyboard navigation

Keyboard interactions:

  • Arrow keys: Navigate dates (day by day)
  • Home: First day of week
  • End: Last day of week
  • PageUp: Previous month
  • PageDown: Next month
  • Space/Enter: Select date (start or end of range)

Follows WAI-ARIA Grid pattern.

pub fn range_calendar(
  attributes: List(attribute.Attribute(a)),
  children: List(element.Element(a)),
) -> element.Element(a)
pub fn size(s: Size) -> attribute.Attribute(a)
Search Document