ansiform-0.7.8.5: src/Ansiform/Internal/Theme.hs
-- | Reusable style groups for headers, footers, menus and tables.
module Ansiform.Internal.Theme where
--------------------------------------------------------------------------------
import Ansiform.Internal.Sample
import Ansiform.Internal.Style
-- Theme Type
--------------------------------------------------------------------------------
-- | Styles and bar colors used by reusable interface components.
data Theme = Theme
{ themeHeader :: Style
, themeSubtitle :: Style
, themeFooter :: Style
, themeAccent :: Style
, themeDanger :: Style
, themeMuted :: Style
, themeRule :: Style
, themeBar :: Color
, themeTableHeader :: Style
, themeTableBody :: Style
} deriving (Eq, Show)
instance Sample Theme where
sampleShow _ t = "Theme"
++ "\n Header: " ++ sampleShow 0 (themeHeader t)
++ "\n Subtitle: " ++ sampleShow 0 (themeSubtitle t)
++ "\n Footer: " ++ sampleShow 0 (themeFooter t)
++ "\n Accent: " ++ sampleShow 0 (themeAccent t)
++ "\n Danger: " ++ sampleShow 0 (themeDanger t)
++ "\n Muted: " ++ sampleShow 0 (themeMuted t)
++ "\n Rule: " ++ sampleShow 0 (themeRule t)
++ "\n Bar: " ++ sampleShow 0 (themeBar t)
++ "\n Table Header: " ++ sampleShow 0 (themeTableHeader t)
++ "\n Table Body: " ++ sampleShow 0 (themeTableBody t)