AeThex-OS/temp-forge-extract/aethex-forge-main/client/lib/design-tokens.ts
MrPiglr b3c308b2c8 Add functional marketplace modules, bottom nav bar, root terminal, arcade games
- ModuleManager: Central tracking for installed marketplace modules
- DataAnalyzerWidget: Real-time CPU/RAM/Battery/Storage widget (unlocked by Data Analyzer module)
- BottomNavBar: Navigation bar for Projects/Chat/Marketplace/Settings
- RootShell: Real root command execution utility
- TerminalActivity: Full root shell with neofetch, sysinfo, real Linux commands
- Terminal Pro module: Adds aliases (ll, la, h), command history
- ArcadeActivity + SnakeGame: Pixel Arcade module unlocks retro games
- fade_in/fade_out animations for smooth transitions
2026-02-18 22:03:50 -07:00

101 lines
2.6 KiB
TypeScript

/**
* AeThex Design System Tokens
* Centralized design constants for consistent layout, typography, and spacing
*/
export const DESIGN_TOKENS = {
/**
* Content Width Constraints
* Use appropriate container based on content type
*/
width: {
// Text-heavy content (docs, articles, reading material)
prose: "max-w-5xl",
// Standard content sections (most pages)
content: "max-w-6xl",
// Wide layouts (dashboards, data tables, complex grids)
wide: "max-w-7xl",
},
/**
* Typography Scale
* Consistent heading and text sizes across the application
*/
typography: {
// Page hero headings (H1)
hero: "text-4xl md:text-5xl lg:text-6xl",
// Major section headings (H2)
sectionHeading: "text-3xl md:text-4xl",
// Subsection headings (H3)
subsectionHeading: "text-2xl md:text-3xl",
// Card/component titles (H4)
cardTitle: "text-xl md:text-2xl",
// Stats and large numbers
statNumber: "text-3xl md:text-4xl",
// Body text (large)
bodyLarge: "text-lg md:text-xl",
// Body text (standard)
body: "text-base",
// Body text (small)
bodySmall: "text-sm",
},
/**
* Spacing Scale
* Vertical spacing between sections and elements
*/
spacing: {
// Tight spacing within components
tight: "space-y-4",
// Standard spacing between related elements
standard: "space-y-6",
// Spacing between sections
section: "space-y-12",
// Major page sections
page: "space-y-20",
},
/**
* Padding Scale
* Internal padding for cards and containers
*/
padding: {
// Compact elements
compact: "p-4",
// Standard cards and containers
standard: "p-6",
// Feature cards with more emphasis
feature: "p-8",
// Hero sections and CTAs
hero: "p-12",
// Responsive vertical padding for page sections
sectionY: "py-16 lg:py-24",
},
/**
* Grid Layouts
* Standard grid configurations for responsive layouts
*/
grid: {
// Two-column layout
cols2: "grid-cols-1 md:grid-cols-2",
// Three-column layout
cols3: "grid-cols-1 md:grid-cols-2 lg:grid-cols-3",
// Four-column layout
cols4: "grid-cols-2 md:grid-cols-4",
// Standard gap between grid items
gapStandard: "gap-6",
// Larger gap for emphasized spacing
gapLarge: "gap-8",
},
} as const;
/**
* Helper function to combine design tokens
* Usage: cn(DESIGN_TOKENS.width.content, "mx-auto", "px-4")
*/
export const getContentContainer = (
width: keyof typeof DESIGN_TOKENS.width = "content"
) => {
return `${DESIGN_TOKENS.width[width]} mx-auto px-4`;
};