Skip to main content

orbital_shell/tokens/
glow.rs

1//! Ambient glow intensity behind marketing heroes and accents.
2
3/// Brand-tinted hero glow behind `MarketingSurface` and family heroes.
4#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
5pub enum GlowIntensity {
6    None,
7    /// 12–18% opacity mix — default hero ambience.
8    Subtle,
9    /// Stronger glow for sponsor / key CTA moments.
10    Strong,
11}
12
13impl GlowIntensity {
14    pub const fn as_class(self) -> &'static str {
15        match self {
16            Self::None => "orbital-token-glow-none",
17            Self::Subtle => "orbital-token-glow-subtle",
18            Self::Strong => "orbital-token-glow-strong",
19        }
20    }
21
22    /// Opacity hint for `::after` glow (caller applies `color-mix` with brand token).
23    pub const fn opacity_percent(self) -> u8 {
24        match self {
25            Self::None => 0,
26            Self::Subtle => 18,
27            Self::Strong => 28,
28        }
29    }
30}