Skip to main content

fission_onboarding/
style.rs

1use fission::core::op::Length;
2use fission::prelude::{BoxShadow, Color};
3
4/// Host-supplied design tokens for the onboarding overlay and callout.
5#[derive(Clone, Debug, PartialEq)]
6pub struct OnboardingStyle {
7    pub backdrop: Color,
8    pub focus_ring: Color,
9    pub surface: Color,
10    pub border: Color,
11    pub text: Color,
12    pub text_muted: Color,
13    pub primary_text: Color,
14    pub spotlight_padding: f32,
15    pub focus_ring_width: f32,
16    pub focus_radius: f32,
17    pub card_width: Length,
18    pub compact_actions_below: f32,
19    pub card_padding: f32,
20    pub card_radius: f32,
21    pub card_gap: f32,
22    pub control_gap: f32,
23    pub callout_gap: f32,
24    pub title_size: f32,
25    pub body_size: f32,
26    pub progress_size: f32,
27    pub title_weight: u16,
28    pub icon_size: f32,
29    pub shadow: Option<BoxShadow>,
30}
31
32impl Default for OnboardingStyle {
33    fn default() -> Self {
34        Self {
35            backdrop: Color {
36                r: 15,
37                g: 23,
38                b: 42,
39                a: 166,
40            },
41            focus_ring: Color {
42                r: 59,
43                g: 130,
44                b: 246,
45                a: 255,
46            },
47            surface: Color::WHITE,
48            border: Color {
49                r: 203,
50                g: 213,
51                b: 225,
52                a: 255,
53            },
54            text: Color {
55                r: 15,
56                g: 23,
57                b: 42,
58                a: 255,
59            },
60            text_muted: Color {
61                r: 71,
62                g: 85,
63                b: 105,
64                a: 255,
65            },
66            primary_text: Color::WHITE,
67            spotlight_padding: 8.0,
68            focus_ring_width: 2.0,
69            focus_radius: 8.0,
70            card_width: Length::points(340.0),
71            compact_actions_below: 360.0,
72            card_padding: 20.0,
73            card_radius: 12.0,
74            card_gap: 12.0,
75            control_gap: 8.0,
76            callout_gap: 8.0,
77            title_size: 20.0,
78            body_size: 14.0,
79            progress_size: 12.0,
80            title_weight: 650,
81            icon_size: 16.0,
82            shadow: None,
83        }
84    }
85}