patternfly_yew/components/table/
props.rs

1use crate::prelude::AsClasses;
2use yew::prelude::*;
3
4#[derive(Debug, Clone, Copy, Default, Eq, PartialEq)]
5pub enum TableMode {
6    #[default]
7    Default,
8    Compact,
9    CompactNoBorders,
10    CompactExpandable,
11    Expandable,
12}
13
14impl TableMode {
15    pub fn is_expandable(&self) -> bool {
16        matches!(self, Self::CompactExpandable | Self::Expandable)
17    }
18}
19
20#[derive(Copy, Clone, Debug, PartialEq)]
21pub enum TableGridMode {
22    Medium,
23    Large,
24    XLarge,
25    XXLarge,
26}
27
28impl AsClasses for TableGridMode {
29    fn extend_classes(&self, classes: &mut Classes) {
30        match self {
31            Self::Medium => classes.push(classes!("pf-m-grid-md")),
32            Self::Large => classes.push(classes!("pf-m-grid-lg")),
33            Self::XLarge => classes.push(classes!("pf-m-grid-xl")),
34            Self::XXLarge => classes.push(classes!("pf-m-grid-2xl")),
35        }
36    }
37}
38
39#[derive(Clone, Debug, PartialEq, Eq)]
40pub enum TextModifier {
41    Wrap,
42    NoWrap,
43    Truncate,
44    BreakWord,
45}
46
47impl AsClasses for TextModifier {
48    fn extend_classes(&self, classes: &mut Classes) {
49        match self {
50            Self::Wrap => classes.extend(classes!("pf-m-wrap")),
51            Self::NoWrap => classes.extend(classes!("pf-m-nowrap")),
52            Self::Truncate => classes.extend(classes!("pf-m-truncate")),
53            Self::BreakWord => classes.extend(classes!("pf-m-break-word")),
54        }
55    }
56}
57
58#[derive(Clone, Copy, Debug, PartialEq, Eq)]
59pub enum SpanModifiers {
60    Truncate,
61}
62
63impl AsClasses for SpanModifiers {
64    fn extend_classes(&self, classes: &mut Classes) {
65        match self {
66            Self::Truncate => classes.push("pf-m-truncate"),
67        }
68    }
69}