react-terminal-themes/dist/MatrixTheme.js
autocommit 9e51dea529 chore: initial package split from monorepo
Package: @lilith/react-terminal-themes
Split from: lilith/ui.git or lilith/build.git
Publish workflow: calls lilith/workflows/.forgejo/workflows/publish-npm.yml@main
2026-04-20 01:10:36 -07:00

176 lines
No EOL
4.8 KiB
JavaScript

/**
* Matrix Theme
* Classic green phosphor terminal with digital rain effect
*/
export const matrixTheme = {
name: 'Matrix',
colors: {
background: '#0a0a0a', // Not pure black for better depth
foreground: '#00ff41', // Classic Matrix green
cursor: '#33ff66', // Brighter cursor
cursorAccent: '#000000',
selection: 'rgba(0, 255, 65, 0.25)',
// Matrix green spectrum - subtle variations
black: '#0a0a0a',
red: '#00d030', // Green-tinted "red"
green: '#00ff41', // Primary Matrix green
yellow: '#66ff00', // Lime green
blue: '#00cc66', // Teal-green
magenta: '#00ff66', // Bright green
cyan: '#00ffaa', // Aqua-green
white: '#aaffaa',
// Glowing bright versions
brightBlack: '#0d2818',
brightRed: '#00ff44',
brightGreen: '#44ff77',
brightYellow: '#88ff33',
brightBlue: '#00ffaa',
brightMagenta: '#33ff88',
brightCyan: '#66ffdd',
brightWhite: '#ccffcc'
},
effects: {
glow: {
enabled: true,
intensity: 0.5, // Subtle phosphor glow
color: '#00ff41'
},
scanlines: {
enabled: true,
opacity: 0.05, // Very subtle scanlines
speed: 0.2 // Slow scan
},
curvature: {
enabled: false, // Disabled by default for readability
amount: 0.02 // Minimal curve if enabled
},
chromaticAberration: {
enabled: false,
amount: 0
},
noise: {
enabled: false, // Too distracting
opacity: 0.01 // Minimal if enabled
}
},
font: {
family: '"Source Code Pro", "Courier New", Courier, monospace',
size: 13,
weight: 600,
lineHeight: 1.2,
letterSpacing: 1.2,
ligatures: false // No ligatures for authenticity
},
cursor: {
style: 'block',
blink: true,
blinkSpeed: 450
},
window: {
padding: 20,
borderRadius: 4,
shadow: `
0 0 20px rgba(0, 255, 65, 0.3),
0 0 40px rgba(0, 255, 65, 0.1)
`,
backgroundImage: `
radial-gradient(ellipse at center, rgba(0, 255, 65, 0.02) 0%, transparent 70%)
`,
backgroundOpacity: 0.98,
terminalOpacity: 0.92, // Slight transparency to show digital rain
backgroundMode: 'extend-effect', // Digital rain extends to full window
backgroundColor: '#000000'
},
scrollbar: {
width: 10,
trackColor: 'rgba(0, 255, 65, 0.1)',
thumbColor: 'rgba(0, 255, 65, 0.3)',
thumbHoverColor: 'rgba(0, 255, 65, 0.5)',
thumbActiveColor: 'rgba(0, 255, 65, 0.7)',
borderRadius: 0,
autoHide: false,
autoHideDelay: 0
}
};
// Matrix theme variations
export const matrixThemeClassic = {
...matrixTheme,
name: 'Matrix Classic',
colors: {
...matrixTheme.colors,
foreground: '#00cc00',
cursor: '#00ff00'
},
effects: {
...matrixTheme.effects,
scanlines: {
enabled: true,
opacity: 0.25,
speed: 0.1
},
curvature: {
enabled: true,
amount: 0.05
}
}
};
export const matrixThemeModern = {
...matrixTheme,
name: 'Matrix Reloaded',
colors: {
background: '#001100',
foreground: '#00ff66',
cursor: '#66ff99',
cursorAccent: '#000000',
selection: 'rgba(0, 255, 102, 0.25)',
black: '#001100',
red: '#00ff44',
green: '#00ff66',
yellow: '#66ff33',
blue: '#00cc99',
magenta: '#00ffbb',
cyan: '#33ffcc',
white: '#aaffaa',
brightBlack: '#003311',
brightRed: '#33ff66',
brightGreen: '#66ff99',
brightYellow: '#99ff66',
brightBlue: '#33ffbb',
brightMagenta: '#66ffcc',
brightCyan: '#99ffdd',
brightWhite: '#eeffee'
},
effects: {
...matrixTheme.effects,
glow: {
enabled: true,
intensity: 0.6,
color: '#00ff66'
},
scanlines: {
enabled: false,
opacity: 0,
speed: 0
},
curvature: {
enabled: false,
amount: 0
}
},
font: {
family: '"JetBrains Mono", "Fira Code", monospace',
size: 15,
weight: 400,
lineHeight: 1.4,
letterSpacing: 0.5,
ligatures: true
},
window: {
padding: 15,
borderRadius: 8,
shadow: '0 0 30px rgba(0, 255, 102, 0.3)',
backgroundImage: 'linear-gradient(180deg, rgba(0,255,102,0.02) 0%, transparent 100%)',
backgroundOpacity: 0.95
}
};
//# sourceMappingURL=MatrixTheme.js.map