#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)]
pub enum MaterialVariant {
#[default]
Solid,
Frost,
Shell,
Scrim,
Outlined,
}
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)]
pub enum MaterialCorners {
#[default]
Rounded,
Square,
}
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)]
pub enum MaterialElevation {
Flat,
#[default]
Resting,
Raised,
Floating,
Modal,
}
impl MaterialVariant {
pub const fn as_data(self) -> &'static str {
match self {
Self::Solid => "solid",
Self::Frost => "frost",
Self::Shell => "shell",
Self::Scrim => "scrim",
Self::Outlined => "outlined",
}
}
pub const fn modifier_class(self) -> &'static str {
match self {
Self::Solid => "orbital-material--solid",
Self::Frost => "orbital-material--frost",
Self::Shell => "orbital-material--shell",
Self::Scrim => "orbital-material--scrim",
Self::Outlined => "orbital-material--outlined",
}
}
}
impl MaterialCorners {
pub const fn as_data(self) -> &'static str {
match self {
Self::Rounded => "rounded",
Self::Square => "square",
}
}
pub const fn modifier_class(self) -> &'static str {
match self {
Self::Rounded => "orbital-material--rounded",
Self::Square => "orbital-material--square",
}
}
}
impl MaterialElevation {
pub const fn shadow_token(self) -> &'static str {
match self {
Self::Flat => "none",
Self::Resting => "var(--orb-elev-raised-sm)",
Self::Raised => "var(--orb-elev-raised-md)",
Self::Floating => "var(--orb-elev-floating)",
Self::Modal => "var(--orb-elev-modal)",
}
}
pub const fn as_data(self) -> &'static str {
match self {
Self::Flat => "flat",
Self::Resting => "resting",
Self::Raised => "raised",
Self::Floating => "floating",
Self::Modal => "modal",
}
}
pub const fn modifier_class(self) -> &'static str {
match self {
Self::Flat => "orbital-material--elev-flat",
Self::Resting => "orbital-material--elev-resting",
Self::Raised => "orbital-material--elev-raised",
Self::Floating => "orbital-material--elev-floating",
Self::Modal => "orbital-material--elev-modal",
}
}
}