systemprompt_provider_contracts/web_config/
mod.rs1mod branding;
2mod error;
3mod paths;
4mod theme;
5
6pub use branding::{BrandingConfig, LogoConfig, LogoVariant};
7pub use error::WebConfigError;
8pub use paths::{ContentConfig, PathsConfig, ScriptConfig};
9pub use theme::{
10 AnimationConfig, CardConfig, CardGradient, CardPadding, CardRadius, ColorPalette, ColorsConfig,
11 FontConfig, FontFile, FontsConfig, LayoutConfig, MobileConfig, MobileLayout, MobileTypography,
12 PrimaryColor, RadiusConfig, ShadowSet, ShadowsConfig, SidebarConfig, SpacingConfig,
13 TouchTargetsConfig, TypographyConfig, TypographySizes, TypographyWeights, ZIndexConfig,
14};
15
16use serde::{Deserialize, Serialize};
17use std::collections::HashMap;
18
19#[derive(Debug, Clone, Serialize, Deserialize)]
20pub struct WebConfig {
21 pub paths: PathsConfig,
22 #[serde(default)]
23 pub scripts: Vec<ScriptConfig>,
24 #[serde(default)]
25 pub content: Option<ContentConfig>,
26 pub branding: BrandingConfig,
27 pub fonts: FontsConfig,
28 pub colors: ColorsConfig,
29 pub typography: TypographyConfig,
30 pub spacing: SpacingConfig,
31 pub radius: RadiusConfig,
32 pub shadows: ShadowsConfig,
33 pub animation: AnimationConfig,
34 #[serde(rename = "zIndex")]
35 pub z_index: ZIndexConfig,
36 pub layout: LayoutConfig,
37 pub card: CardConfig,
38 pub mobile: MobileConfig,
39 #[serde(rename = "touchTargets")]
40 pub touch_targets: TouchTargetsConfig,
41 #[serde(default)]
42 pub pages: HashMap<String, serde_json::Value>,
43}