UNPKG

blax

Version:

Blax - HMS-Powered Multi-Agent Platform with Government Agency Analysis, Deep Research, and Enterprise-Ready Deployment. No local LLM keys required.

270 lines 6.52 kB
/** * Tmux-Style Themes Configuration * * Inspired by real tmux configurations with customizable color schemes, * borders, status bars, and visual elements for terminal UI */ // Default Theme (Classic Tmux) export const defaultTheme = { name: 'default', description: 'Classic tmux-inspired terminal theme', colors: { background: 'black', foreground: 'white', primary: 'green', secondary: 'blue', accent: 'yellow', error: 'red', warning: 'orange', success: 'green', muted: 'gray', }, borders: { active: 'green', inactive: 'gray', style: 'single', }, statusBar: { position: 'bottom', justify: 'left', separator: '|', showTime: true, showStatus: true, format: '%H:%M %d-%b-%y', }, windows: { currentStyle: 'bold inverse', inactiveStyle: 'dim', separator: ' ', }, panes: { titleStyle: 'bold', contentPadding: 1, showBorders: true, }, }; // Dracula Theme export const draculaTheme = { name: 'dracula', description: 'Dark theme with purple accents', colors: { background: '#282a36', foreground: '#f8f8f2', primary: '#bd93f9', secondary: '#6272a4', accent: '#ff79c6', error: '#ff5555', warning: '#ffb86c', success: '#50fa7b', muted: '#6272a4', }, borders: { active: '#bd93f9', inactive: '#6272a4', style: 'rounded', }, statusBar: { position: 'bottom', justify: 'left', separator: '◆', showTime: true, showStatus: true, format: '%H:%M ◆ %d %b', }, windows: { currentStyle: 'bold', inactiveStyle: 'dim', separator: ' ❯ ', }, panes: { titleStyle: 'bold', contentPadding: 1, showBorders: true, }, }; // Nord Theme export const nordTheme = { name: 'nord', description: 'Arctic blue color palette', colors: { background: '#2e3440', foreground: '#d8dee9', primary: '#88c0d0', secondary: '#5e81ac', accent: '#8fbcbb', error: '#bf616a', warning: '#ebcb8b', success: '#a3be8c', muted: '#4c566a', }, borders: { active: '#88c0d0', inactive: '#4c566a', style: 'single', }, statusBar: { position: 'bottom', justify: 'center', separator: '•', showTime: true, showStatus: true, format: '%H:%M • %a %d %b', }, windows: { currentStyle: 'bold', inactiveStyle: 'normal', separator: ' • ', }, panes: { titleStyle: 'bold', contentPadding: 1, showBorders: true, }, }; // Solarized Dark Theme export const solarizedDarkTheme = { name: 'solarized-dark', description: 'Solarized dark color scheme', colors: { background: '#002b36', foreground: '#839496', primary: '#268bd2', secondary: '#2aa198', accent: '#b58900', error: '#dc322f', warning: '#cb4b16', success: '#859900', muted: '#586e75', }, borders: { active: '#268bd2', inactive: '#586e75', style: 'single', }, statusBar: { position: 'bottom', justify: 'left', separator: '⎪', showTime: true, showStatus: true, format: '%H:%M ⎪ %d/%m/%Y', }, windows: { currentStyle: 'bold', inactiveStyle: 'dim', separator: ' ⎪ ', }, panes: { titleStyle: 'bold', contentPadding: 1, showBorders: true, }, }; // Minimal Theme export const minimalTheme = { name: 'minimal', description: 'Clean minimal design with subtle colors', colors: { background: 'black', foreground: 'white', primary: 'white', secondary: 'gray', accent: 'cyan', error: 'red', warning: 'yellow', success: 'green', muted: 'gray', }, borders: { active: 'white', inactive: 'gray', style: 'ascii', }, statusBar: { position: 'top', justify: 'right', separator: ' ', showTime: true, showStatus: false, format: '%H:%M', }, windows: { currentStyle: 'inverse', inactiveStyle: 'normal', separator: ' ', }, panes: { titleStyle: 'normal', contentPadding: 0, showBorders: false, }, }; // Cyberpunk Theme export const cyberpunkTheme = { name: 'cyberpunk', description: 'Neon cyberpunk aesthetic with bright colors', colors: { background: '#0a0e27', foreground: '#00ff9f', primary: '#ff0080', secondary: '#00d4ff', accent: '#ffff00', error: '#ff073a', warning: '#ff8c00', success: '#39ff14', muted: '#8892b0', }, borders: { active: '#ff0080', inactive: '#8892b0', style: 'double', }, statusBar: { position: 'bottom', justify: 'center', separator: '▸', showTime: true, showStatus: true, format: '%H:%M:%S ▸ %d.%m.%y', }, windows: { currentStyle: 'bold', inactiveStyle: 'dim', separator: ' ▸ ', }, panes: { titleStyle: 'bold', contentPadding: 1, showBorders: true, }, }; // All available themes export const themes = { default: defaultTheme, dracula: draculaTheme, nord: nordTheme, 'solarized-dark': solarizedDarkTheme, minimal: minimalTheme, cyberpunk: cyberpunkTheme, }; // Theme utilities export function getTheme(name) { return themes[name] || defaultTheme; } export function listThemes() { return Object.keys(themes); } export function createCustomTheme(base, overrides) { const baseTheme = getTheme(base); return { ...baseTheme, ...overrides, colors: { ...baseTheme.colors, ...overrides.colors }, borders: { ...baseTheme.borders, ...overrides.borders }, statusBar: { ...baseTheme.statusBar, ...overrides.statusBar }, windows: { ...baseTheme.windows, ...overrides.windows }, panes: { ...baseTheme.panes, ...overrides.panes }, }; } export default themes; //# sourceMappingURL=tmuxThemes.js.map