src/Config/Themes.ps1
|
# Themes — 8 paletas hardcoded + slot para custom (ADR-006). # Cada theme = hashtable con todas las llaves del CSS de tokens.css. # Si agregás keys nuevas, populá las 8 paletas en este archivo. $global:RNThemes = @{ midnight = @{ name = 'Midnight' sub = 'default · 2026' isLight = $false # Backgrounds. bg0=chromeBg=bg2 a propósito: header/footer y body # comparten fondo. Las HRules separan visualmente. (Tino lo pidió # explícito — no le gustaba el chrome con tono distinto.) bg0 = '#0a0d11' bg1 = '#0f1318' bg2 = '#0a0d11' bg3 = '#1d242d' bg4 = '#262e38' bgSel = '#1a3a5e' bgSelSoft = '#122a45' line = '#1f2731' lineStrong = '#2a333f' # Foregrounds fg0 = '#e6edf3' fg1 = '#b9c4d0' fg2 = '#7d8898' fg3 = '#4f5969' fgInv = '#0a0d11' # Acento acc = '#6ee7ff' accDeep = '#2dd1ff' # Estados Git gitClean = '#7ee787' gitDirty = '#ffa657' gitUnpushed = '#d2a8ff' gitConflict = '#ff7b72' gitNoGit = '#6e7681' gitAhead = '#79c0ff' gitBehind = '#ffa657' # Diff diffAdd = '#56d364' diffDel = '#f85149' diffMod = '#d29922' # Branch graph cycle (6 colores) graph = @('#6ee7ff', '#d2a8ff', '#7ee787', '#ffa657', '#ff7b72', '#79c0ff') # Alias/tag palette (10 colores) palette = @( '#ff7b72', '#ffa657', '#f0d05a', '#7ee787', '#56d4d4', '#79c0ff', '#a5d6ff', '#d2a8ff', '#f778ba', '#ff9ec3' ) chromeBg = '#0a0d11' chromeBorder = '#1a2129' } # Aurora — paleta menta + lavanda sobre fondo azul-verde profundo. aurora = @{ name = 'Aurora' sub = 'aurora boreal' isLight = $false bg0 = '#0a0e14' bg1 = '#101620' bg2 = '#0a0e14' bg3 = '#212939' bg4 = '#2b3447' bgSel = '#1a3c52' bgSelSoft = '#11293a' line = '#1f2738' lineStrong = '#2c3a4f' fg0 = '#e0f2f1' fg1 = '#a8c5c8' fg2 = '#6e8a8e' fg3 = '#3e555a' fgInv = '#0a0e14' acc = '#56e6b4' accDeep = '#2dd1ff' gitClean = '#90e0a4' gitDirty = '#f7c98a' gitUnpushed = '#bd8cf5' gitConflict = '#f57b8b' gitNoGit = '#5a6e74' gitAhead = '#7fb6e0' gitBehind = '#f7c98a' diffAdd = '#56d364' diffDel = '#f57b8b' diffMod = '#f7c98a' graph = @('#56e6b4', '#bd8cf5', '#90e0a4', '#f7c98a', '#f57b8b', '#7fb6e0') palette = @( '#f57b8b', '#f7c98a', '#f0d05a', '#90e0a4', '#56d4d4', '#7fb6e0', '#a5d6ff', '#bd8cf5', '#f778ba', '#ff9ec3' ) chromeBg = '#0a0e14' chromeBorder = '#16202c' } # Default — paleta neutra balanceada. Dark base con grises cálidos # y acentos sobrios. Pensada como fallback "no me importa el theme, # solo dame algo que se vea bien". default = @{ name = 'Default' sub = 'neutro · sobrio' isLight = $false bg0 = '#15171a' bg1 = '#1b1d21' bg2 = '#15171a' bg3 = '#2a2e34' bg4 = '#34383f' bgSel = '#2e3a4d' bgSelSoft = '#1d2735' line = '#262a30' lineStrong = '#363b43' fg0 = '#e8e9eb' fg1 = '#bcbfc4' fg2 = '#8a8d92' fg3 = '#5a5d62' fgInv = '#15171a' acc = '#7aa2f7' accDeep = '#3d59a1' gitClean = '#9ece6a' gitDirty = '#e0af68' gitUnpushed = '#bb9af7' gitConflict = '#f7768e' gitNoGit = '#737a86' gitAhead = '#7dcfff' gitBehind = '#e0af68' diffAdd = '#9ece6a' diffDel = '#f7768e' diffMod = '#e0af68' graph = @('#7aa2f7', '#bb9af7', '#9ece6a', '#e0af68', '#f7768e', '#7dcfff') palette = @( '#f7768e', '#e0af68', '#e3d77b', '#9ece6a', '#73daca', '#7dcfff', '#7aa2f7', '#bb9af7', '#ee99c6', '#ffaad8' ) chromeBg = '#15171a' chromeBorder = '#26292f' } # Ocean — azul profundo. Tonos fríos, contrastes marítimos. # Acento cyan brillante; rojo cálido para conflicts (preserva legibilidad). ocean = @{ name = 'Ocean' sub = 'azul profundo' isLight = $false bg0 = '#06121d' bg1 = '#0a1828' bg2 = '#06121d' bg3 = '#152c44' bg4 = '#1f3a57' bgSel = '#1d4870' bgSelSoft = '#143654' line = '#152a40' lineStrong = '#244766' fg0 = '#dde9f5' fg1 = '#a8c0d8' fg2 = '#6e8aa6' fg3 = '#425b76' fgInv = '#06121d' acc = '#5cdfff' accDeep = '#1aa6cf' gitClean = '#5fc3a9' gitDirty = '#f4a261' gitUnpushed = '#a896f0' gitConflict = '#ff6b6b' gitNoGit = '#4d6680' gitAhead = '#5cdfff' gitBehind = '#f4a261' diffAdd = '#5fc3a9' diffDel = '#ff6b6b' diffMod = '#f4a261' graph = @('#5cdfff', '#a896f0', '#5fc3a9', '#f4a261', '#ff6b6b', '#7fc1ff') palette = @( '#ff6b6b', '#f4a261', '#f0d35a', '#5fc3a9', '#5cdfff', '#7fc1ff', '#a8d4ff', '#a896f0', '#e87fb5', '#f99cc7' ) chromeBg = '#06121d' chromeBorder = '#102035' } # Forest — verdes profundos sobre marrones oscuros. Natural, orgánico. # Acento verde lima fresco; rojo terroso para conflicts. forest = @{ name = 'Forest' sub = 'bosque · natural' isLight = $false bg0 = '#0d1410' bg1 = '#121a14' bg2 = '#0d1410' bg3 = '#222e25' bg4 = '#2c3a30' bgSel = '#2d4a2f' bgSelSoft = '#1f3520' line = '#1d271f' lineStrong = '#2e3d31' fg0 = '#e3ebd9' fg1 = '#b6c4a7' fg2 = '#7e8d72' fg3 = '#4d5a45' fgInv = '#0d1410' acc = '#a3d977' accDeep = '#5b8a3a' gitClean = '#a3d977' gitDirty = '#e8b86b' gitUnpushed = '#c9a8ed' gitConflict = '#e87a6b' gitNoGit = '#5e6e54' gitAhead = '#7fc99c' gitBehind = '#e8b86b' diffAdd = '#a3d977' diffDel = '#e87a6b' diffMod = '#e8b86b' graph = @('#a3d977', '#c9a8ed', '#7fc99c', '#e8b86b', '#e87a6b', '#82c4e0') palette = @( '#e87a6b', '#e8b86b', '#e6d27a', '#a3d977', '#7fc99c', '#82c4e0', '#a8c8e6', '#c9a8ed', '#e090b9', '#f0a8c8' ) chromeBg = '#0d1410' chromeBorder = '#1c241e' } # Solarized — dark variant del clásico de Ethan Schoonover. # Hex matchea la spec original (base03/base02/base0/yellow/orange/etc). solarized = @{ name = 'Solarized' sub = 'dark · Schoonover' isLight = $false bg0 = '#002b36' # base03 bg1 = '#073642' # base02 bg2 = '#002b36' # = bg0 para chrome flat bg3 = '#0f4d5e' bg4 = '#155b6f' bgSel = '#1a5e75' bgSelSoft = '#0e4655' line = '#0a3d4a' lineStrong = '#155060' fg0 = '#fdf6e3' # base3 fg1 = '#93a1a1' # base1 fg2 = '#839496' # base0 fg3 = '#586e75' # base01 fgInv = '#002b36' acc = '#268bd2' # blue accDeep = '#1a6da3' gitClean = '#859900' # green gitDirty = '#cb4b16' # orange gitUnpushed = '#6c71c4' # violet gitConflict = '#dc322f' # red gitNoGit = '#586e75' # base01 gitAhead = '#268bd2' # blue gitBehind = '#cb4b16' # orange diffAdd = '#859900' # green diffDel = '#dc322f' # red diffMod = '#b58900' # yellow graph = @('#268bd2', '#6c71c4', '#859900', '#b58900', '#dc322f', '#2aa198') palette = @( '#dc322f', '#cb4b16', '#b58900', '#859900', '#2aa198', '#268bd2', '#6c71c4', '#d33682', '#cb4b16', '#b58900' ) chromeBg = '#002b36' chromeBorder = '#073642' } # HC — high contrast. Negros/blancos puros con acentos saturados. # Pensado para accesibilidad visual o terminales con contraste pobre. hc = @{ name = 'HighContrast' sub = 'a11y · alto contraste' isLight = $false bg0 = '#000000' bg1 = '#0a0a0a' bg2 = '#000000' bg3 = '#1f1f1f' bg4 = '#2a2a2a' bgSel = '#0044aa' bgSelSoft = '#002266' line = '#3a3a3a' lineStrong = '#5a5a5a' fg0 = '#ffffff' fg1 = '#dcdcdc' fg2 = '#a0a0a0' fg3 = '#707070' fgInv = '#000000' acc = '#00d4ff' accDeep = '#0099cc' gitClean = '#00ff7f' gitDirty = '#ffaa00' gitUnpushed = '#cc88ff' gitConflict = '#ff3030' gitNoGit = '#909090' gitAhead = '#00d4ff' gitBehind = '#ffaa00' diffAdd = '#00ff7f' diffDel = '#ff3030' diffMod = '#ffdd00' graph = @('#00d4ff', '#cc88ff', '#00ff7f', '#ffaa00', '#ff3030', '#ffff00') palette = @( '#ff3030', '#ffaa00', '#ffff00', '#00ff7f', '#00ffd4', '#00d4ff', '#88aaff', '#cc88ff', '#ff66cc', '#ffaadd' ) chromeBg = '#000000' chromeBorder = '#3a3a3a' } # Light — fondo claro estilo papel. Colores oscuros para texto/acentos. # Útil para terminales claras o ambientes con mucha luz. light = @{ name = 'Light' sub = 'fondo claro · papel' isLight = $true bg0 = '#fafaf7' bg1 = '#f3f3ee' bg2 = '#fafaf7' bg3 = '#dedcd2' bg4 = '#cfccc1' bgSel = '#c8d8ee' bgSelSoft = '#dde7f5' line = '#dcdacf' lineStrong = '#b8b5a8' fg0 = '#1a1c20' fg1 = '#3d4147' fg2 = '#6b6f76' fg3 = '#999da4' fgInv = '#fafaf7' acc = '#1d6ec5' accDeep = '#0e4d92' gitClean = '#3a7a2e' gitDirty = '#b35e1a' gitUnpushed = '#7a4ecc' gitConflict = '#c63d3d' gitNoGit = '#7d8088' gitAhead = '#1d6ec5' gitBehind = '#b35e1a' diffAdd = '#3a7a2e' diffDel = '#c63d3d' diffMod = '#b35e1a' graph = @('#1d6ec5', '#7a4ecc', '#3a7a2e', '#b35e1a', '#c63d3d', '#0a8a8a') palette = @( '#c63d3d', '#b35e1a', '#a8861a', '#3a7a2e', '#0a8a8a', '#1d6ec5', '#5a8ad6', '#7a4ecc', '#b1428f', '#cf5fa3' ) chromeBg = '#fafaf7' chromeBorder = '#c8c5b6' } } |