71 lines
2.2 KiB
Go
71 lines
2.2 KiB
Go
// Package theme defines centralized color constants and text styles
|
|
// for the Nebara OS TUI design system.
|
|
package theme
|
|
|
|
import "github.com/gdamore/tcell/v2"
|
|
|
|
// Color design tokens — do not modify these values.
|
|
// They are final design specifications from the Nebara OS design system.
|
|
const (
|
|
HexBackground = "#000000"
|
|
HexPrimary = "#F5F5F5"
|
|
HexSecondary = "#BBBBBB"
|
|
HexBorder = "#BBBBBB"
|
|
HexSelectionBg = "#BBBBBB"
|
|
HexSelectionFg = "#000000"
|
|
HexWarning = "#FFCC00"
|
|
HexError = "#B30D18"
|
|
HexInfo = "#0088FF"
|
|
HexLogoAccent = "#B30D18"
|
|
)
|
|
|
|
// Resolved tcell colors from the design token hex values.
|
|
var (
|
|
ColorBackground = tcell.NewHexColor(0x000000)
|
|
ColorPrimary = tcell.NewHexColor(0xF5F5F5)
|
|
ColorSecondary = tcell.NewHexColor(0xBBBBBB)
|
|
ColorBorder = tcell.NewHexColor(0xBBBBBB)
|
|
ColorSelectionBg = tcell.NewHexColor(0xBBBBBB)
|
|
ColorSelectionFg = tcell.NewHexColor(0x000000)
|
|
ColorWarning = tcell.NewHexColor(0xFFCC00)
|
|
ColorError = tcell.NewHexColor(0xB30D18)
|
|
ColorInfo = tcell.NewHexColor(0x0088FF)
|
|
ColorLogoAccent = tcell.NewHexColor(0xB30D18)
|
|
)
|
|
|
|
// StyleNormal is the default text style: primary foreground on black.
|
|
var StyleNormal = tcell.StyleDefault.
|
|
Background(ColorBackground).
|
|
Foreground(ColorPrimary)
|
|
|
|
// StyleSecondary is used for labels and secondary information.
|
|
var StyleSecondary = tcell.StyleDefault.
|
|
Background(ColorBackground).
|
|
Foreground(ColorSecondary)
|
|
|
|
// StyleBold is used for product title and header text.
|
|
var StyleBold = tcell.StyleDefault.
|
|
Background(ColorBackground).
|
|
Foreground(ColorPrimary).
|
|
Bold(true)
|
|
|
|
// StyleSelected is the highlighted menu row style.
|
|
var StyleSelected = tcell.StyleDefault.
|
|
Background(ColorSelectionBg).
|
|
Foreground(ColorSelectionFg)
|
|
|
|
// StyleWarning applies the warning foreground color.
|
|
var StyleWarning = tcell.StyleDefault.
|
|
Background(ColorBackground).
|
|
Foreground(ColorWarning)
|
|
|
|
// StyleError applies the error foreground color.
|
|
var StyleError = tcell.StyleDefault.
|
|
Background(ColorBackground).
|
|
Foreground(ColorError)
|
|
|
|
// StyleInfo applies the info foreground color.
|
|
var StyleInfo = tcell.StyleDefault.
|
|
Background(ColorBackground).
|
|
Foreground(ColorInfo)
|