Initialize Rust GPUI browser shell
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
pub const PRIMARY: u32 = 0xf54e00;
|
||||
pub const PRIMARY_ACTIVE: u32 = 0xd04200;
|
||||
pub const INK: u32 = 0x26251e;
|
||||
pub const BODY: u32 = 0x5a5852;
|
||||
pub const MUTED: u32 = 0x807d72;
|
||||
pub const MUTED_SOFT: u32 = 0xa09c92;
|
||||
pub const HAIRLINE: u32 = 0xe6e5e0;
|
||||
pub const HAIRLINE_STRONG: u32 = 0xcfcdc4;
|
||||
pub const CANVAS: u32 = 0xf7f7f4;
|
||||
pub const CANVAS_SOFT: u32 = 0xfafaf7;
|
||||
pub const SURFACE_CARD: u32 = 0xffffff;
|
||||
pub const SURFACE_STRONG: u32 = 0xe6e5e0;
|
||||
pub const SUCCESS: u32 = 0x1f8a65;
|
||||
pub const ERROR: u32 = 0xcf2d56;
|
||||
@@ -0,0 +1,31 @@
|
||||
pub mod colors;
|
||||
pub mod motion;
|
||||
pub mod spacing;
|
||||
pub mod typography;
|
||||
|
||||
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
|
||||
pub struct Theme {
|
||||
pub canvas: u32,
|
||||
pub canvas_soft: u32,
|
||||
pub surface: u32,
|
||||
pub ink: u32,
|
||||
pub body: u32,
|
||||
pub muted: u32,
|
||||
pub hairline: u32,
|
||||
pub accent: u32,
|
||||
pub success: u32,
|
||||
pub error: u32,
|
||||
}
|
||||
|
||||
pub const ELY_THEME: Theme = Theme {
|
||||
canvas: colors::CANVAS,
|
||||
canvas_soft: colors::CANVAS_SOFT,
|
||||
surface: colors::SURFACE_CARD,
|
||||
ink: colors::INK,
|
||||
body: colors::BODY,
|
||||
muted: colors::MUTED,
|
||||
hairline: colors::HAIRLINE,
|
||||
accent: colors::PRIMARY,
|
||||
success: colors::SUCCESS,
|
||||
error: colors::ERROR,
|
||||
};
|
||||
@@ -0,0 +1,17 @@
|
||||
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
|
||||
pub enum MotionRegister {
|
||||
Productive,
|
||||
Expressive,
|
||||
}
|
||||
|
||||
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
|
||||
pub struct MotionToken {
|
||||
pub register: MotionRegister,
|
||||
pub duration_ms: u16,
|
||||
}
|
||||
|
||||
pub const HOVER_FEEDBACK: MotionToken =
|
||||
MotionToken { register: MotionRegister::Productive, duration_ms: 120 };
|
||||
|
||||
pub const PANEL_TRANSITION: MotionToken =
|
||||
MotionToken { register: MotionRegister::Productive, duration_ms: 180 };
|
||||
@@ -0,0 +1,11 @@
|
||||
pub const XXS: f32 = 4.0;
|
||||
pub const XS: f32 = 8.0;
|
||||
pub const SM: f32 = 12.0;
|
||||
pub const BASE: f32 = 16.0;
|
||||
pub const MD: f32 = 20.0;
|
||||
pub const LG: f32 = 24.0;
|
||||
pub const XL: f32 = 32.0;
|
||||
pub const XXL: f32 = 48.0;
|
||||
pub const SIDEBAR_WIDTH: f32 = 280.0;
|
||||
pub const SIDEBAR_COLLAPSED_WIDTH: f32 = 56.0;
|
||||
pub const COMMAND_BAR_HEIGHT: f32 = 64.0;
|
||||
@@ -0,0 +1,14 @@
|
||||
#[derive(Clone, Copy, Debug, PartialEq)]
|
||||
pub struct TypeToken {
|
||||
pub size_px: f32,
|
||||
pub line_height: f32,
|
||||
pub weight: u16,
|
||||
}
|
||||
|
||||
pub const DISPLAY_MD: TypeToken = TypeToken { size_px: 26.0, line_height: 1.25, weight: 400 };
|
||||
|
||||
pub const TITLE_MD: TypeToken = TypeToken { size_px: 18.0, line_height: 1.4, weight: 600 };
|
||||
|
||||
pub const BODY_MD: TypeToken = TypeToken { size_px: 16.0, line_height: 1.5, weight: 400 };
|
||||
|
||||
pub const CAPTION: TypeToken = TypeToken { size_px: 13.0, line_height: 1.4, weight: 400 };
|
||||
Reference in New Issue
Block a user