patternfly_yew/core/
size.rs

1use crate::prelude::AsClasses;
2use yew::prelude::*;
3
4/// Definition for sizes
5#[derive(Clone, PartialEq, Eq, Ord, PartialOrd, Copy, Debug)]
6pub enum Size {
7    None,
8    XSmall,
9    Small,
10    Medium,
11    Large,
12    XLarge,
13    XXLarge,
14    XXXLarge,
15    XXXXLarge,
16}
17
18impl From<Size> for Classes {
19    fn from(value: Size) -> Self {
20        classes!(match value {
21            Size::None => "",
22            Size::XSmall => "pf-m-xs",
23            Size::Small => "pf-m-sm",
24            Size::Medium => "pf-m-md",
25            Size::Large => "pf-m-lg",
26            Size::XLarge => "pf-m-xl",
27            Size::XXLarge => "pf-m-2xl",
28            Size::XXXLarge => "pf-m-3xl",
29            Size::XXXXLarge => "pf-m-4xl",
30        })
31    }
32}
33
34impl AsClasses for Size {
35    fn extend_classes(&self, classes: &mut Classes) {
36        classes.push(*self);
37    }
38}