rat_widget/calendar/
style.rs

1use crate::_private::NonExhaustive;
2use ratatui::style::Style;
3use ratatui::widgets::Block;
4
5/// Composite style for the calendar.
6#[derive(Debug, Clone)]
7pub struct CalendarStyle {
8    /// Base style.
9    pub style: Style,
10    /// Block.
11    pub block: Option<Block<'static>>,
12    pub border_style: Option<Style>,
13    pub title_style: Option<Style>,
14    /// Title style.
15    pub title: Option<Style>,
16    /// Week-number style.
17    pub weeknum: Option<Style>,
18    /// Weekday style.
19    pub weekday: Option<Style>,
20    /// Default day style.
21    pub day: Option<Style>,
22    /// Selection style.
23    pub select: Option<Style>,
24    /// Focused style.
25    pub focus: Option<Style>,
26
27    pub non_exhaustive: NonExhaustive,
28}
29
30impl Default for CalendarStyle {
31    fn default() -> Self {
32        Self {
33            style: Default::default(),
34            block: Default::default(),
35            border_style: Default::default(),
36            title_style: Default::default(),
37            title: Default::default(),
38            weeknum: Default::default(),
39            weekday: Default::default(),
40            day: Default::default(),
41            select: Default::default(),
42            focus: Default::default(),
43            non_exhaustive: NonExhaustive,
44        }
45    }
46}