style.go

  1package tui
  2
  3import (
  4	"github.com/charmbracelet/lipgloss"
  5)
  6
  7var activeBorderColor = lipgloss.Color("62")
  8var inactiveBorderColor = lipgloss.Color("236")
  9
 10var viewportTitleBorder = lipgloss.Border{
 11	Top:         "─",
 12	Bottom:      "─",
 13	Left:        "│",
 14	Right:       "│",
 15	TopLeft:     "╭",
 16	TopRight:    "┬",
 17	BottomLeft:  "├",
 18	BottomRight: "┴",
 19}
 20
 21var viewportNoteBorder = lipgloss.Border{
 22	Top:         "─",
 23	Bottom:      "─",
 24	Left:        "",
 25	Right:       "│",
 26	TopLeft:     "",
 27	TopRight:    "╮",
 28	BottomLeft:  "",
 29	BottomRight: "┤",
 30}
 31
 32var viewportBodyBorder = lipgloss.Border{
 33	Top:         "",
 34	Bottom:      "─",
 35	Left:        "│",
 36	Right:       "│",
 37	TopLeft:     "",
 38	TopRight:    "",
 39	BottomLeft:  "╰",
 40	BottomRight: "╯",
 41}
 42
 43var appBoxStyle = lipgloss.NewStyle().
 44	Margin(1, 2)
 45
 46var headerStyle = lipgloss.NewStyle().
 47	Foreground(lipgloss.Color("62")).
 48	Align(lipgloss.Right).
 49	PaddingRight(1).
 50	Bold(true)
 51
 52var menuStyle = lipgloss.NewStyle().
 53	BorderStyle(lipgloss.RoundedBorder()).
 54	BorderForeground(inactiveBorderColor).
 55	Padding(1, 2).
 56	MarginRight(1).
 57	Width(24)
 58
 59var menuActiveStyle = menuStyle.Copy().
 60	BorderStyle(lipgloss.RoundedBorder()).
 61	BorderForeground(activeBorderColor)
 62
 63var menuCursor = lipgloss.NewStyle().
 64	Foreground(lipgloss.Color("213")).
 65	SetString(">")
 66
 67var contentBoxTitleStyle = lipgloss.NewStyle().
 68	Border(viewportTitleBorder).
 69	BorderForeground(inactiveBorderColor).
 70	Padding(0, 2)
 71
 72var contentBoxNoteStyle = lipgloss.NewStyle().
 73	Border(viewportNoteBorder, true, true, true, false).
 74	BorderForeground(inactiveBorderColor).
 75	Padding(0, 2)
 76
 77var contentBoxStyle = lipgloss.NewStyle().
 78	BorderStyle(viewportBodyBorder).
 79	BorderForeground(inactiveBorderColor).
 80	PaddingRight(1)
 81
 82var menuItemStyle = lipgloss.NewStyle().
 83	Foreground(lipgloss.Color("252")).
 84	PaddingLeft(2)
 85
 86var selectedMenuItemStyle = lipgloss.NewStyle().
 87	Foreground(lipgloss.Color("207")).
 88	PaddingLeft(1)
 89
 90var footerStyle = lipgloss.NewStyle().
 91	MarginTop(1)
 92
 93var helpKeyStyle = lipgloss.NewStyle().
 94	Foreground(lipgloss.Color("241"))
 95
 96var helpValueStyle = lipgloss.NewStyle().
 97	Foreground(lipgloss.Color("239"))
 98
 99var errorStyle = lipgloss.NewStyle().
100	Padding(1)
101
102var errorHeaderStyle = lipgloss.NewStyle().
103	Foreground(lipgloss.Color("230")).
104	Background(lipgloss.Color("204")).
105	Bold(true).
106	Padding(0, 1)
107
108var errorBodyStyle = lipgloss.NewStyle().
109	Foreground(lipgloss.Color("252")).
110	MarginLeft(2).
111	Width(52) // for now
112
113var helpDivider = lipgloss.NewStyle().
114	Foreground(lipgloss.Color("237")).
115	SetString(" • ")