patternfly_yew/core/
space.rs1macro_rules! spacer {
2 ($(#[$outer:meta])*
3 $name:ident, $prefix:literal) => {
4
5 $(#[$outer])*
6 #[derive(Clone, PartialEq, Eq, Ord, PartialOrd, Copy, Debug)]
7 pub enum $name {
8 None,
9 XSmall,
10 Small,
11 Medium,
12 Large,
13 XLarge,
14 XXLarge,
15 }
16
17 impl $crate::core::AsClasses for $name {
18 fn extend_classes(&self, classes: &mut yew::prelude::Classes) {
19 let name = match self {
20 Self::None => concat!($prefix, "-none"),
21 Self::XSmall => concat!($prefix, "-xs"),
22 Self::Small => concat!($prefix, "-sm"),
23 Self::Medium => concat!($prefix, "-md"),
24 Self::Large => concat!($prefix, "-lg"),
25 Self::XLarge => concat!($prefix, "-xl"),
26 Self::XXLarge => concat!($prefix, "-2xl"),
27 };
28 classes.push(name);
29 }
30 }
31 };
32}
33
34spacer!(
35 Spacer,
37 "pf-m-spacer"
38);
39
40spacer!(
41 SpaceItems,
43 "pf-m-space-items"
44);