Skip to main content

systemprompt_provider_contracts/web_config/theme/
tokens.rs

1//! Cross-cutting design tokens: shadows, animation, z-index, touch targets.
2//!
3//! Copyright (c) systemprompt.io — Business Source License 1.1.
4//! See <https://systemprompt.io> for licensing details.
5
6use serde::{Deserialize, Serialize};
7
8#[derive(Debug, Clone, Serialize, Deserialize)]
9pub struct ShadowsConfig {
10    pub light: ShadowSet,
11    pub dark: ShadowSet,
12}
13
14#[derive(Debug, Clone, Serialize, Deserialize)]
15pub struct ShadowSet {
16    pub sm: String,
17    pub md: String,
18    pub lg: String,
19    pub accent: String,
20}
21
22#[derive(Debug, Clone, Serialize, Deserialize)]
23pub struct AnimationConfig {
24    pub fast: String,
25    pub normal: String,
26    pub slow: String,
27}
28
29#[derive(Debug, Clone, Copy, Serialize, Deserialize)]
30pub struct ZIndexConfig {
31    pub base: u32,
32    pub content: u32,
33    pub navigation: u32,
34    pub modal: u32,
35    pub tooltip: u32,
36}
37
38#[derive(Debug, Clone, Serialize, Deserialize)]
39pub struct TouchTargetsConfig {
40    pub default: String,
41    pub sm: String,
42    pub lg: String,
43}