Initialize Rust GPUI browser shell

This commit is contained in:
2026-05-07 18:27:15 -04:00
commit d9a27f3dc4
41 changed files with 11573 additions and 0 deletions
+9
View File
@@ -0,0 +1,9 @@
[package]
name = "ely_design_system"
version = "0.1.0"
edition.workspace = true
license.workspace = true
rust-version.workspace = true
[lints]
workspace = true
+14
View File
@@ -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;
+31
View File
@@ -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,
};
+17
View File
@@ -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 };
+11
View File
@@ -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 };