module Dashi.Style.Border where import Dashi.Prelude import Dashi.Style.Colour import Dashi.Style.Tokens (Token (..), ValueToken (..)) import Dashi.Style.Uchu (Uchu (..)) data BorderColour = BorderColour | BorderFocusedColour | BorderDangerColour deriving stock (BorderColour -> BorderColour -> Bool (BorderColour -> BorderColour -> Bool) -> (BorderColour -> BorderColour -> Bool) -> Eq BorderColour forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: BorderColour -> BorderColour -> Bool == :: BorderColour -> BorderColour -> Bool $c/= :: BorderColour -> BorderColour -> Bool /= :: BorderColour -> BorderColour -> Bool Eq, BorderColour BorderColour -> BorderColour -> Bounded BorderColour forall a. a -> a -> Bounded a $cminBound :: BorderColour minBound :: BorderColour $cmaxBound :: BorderColour maxBound :: BorderColour Bounded, Int -> BorderColour BorderColour -> Int BorderColour -> [BorderColour] BorderColour -> BorderColour BorderColour -> BorderColour -> [BorderColour] BorderColour -> BorderColour -> BorderColour -> [BorderColour] (BorderColour -> BorderColour) -> (BorderColour -> BorderColour) -> (Int -> BorderColour) -> (BorderColour -> Int) -> (BorderColour -> [BorderColour]) -> (BorderColour -> BorderColour -> [BorderColour]) -> (BorderColour -> BorderColour -> [BorderColour]) -> (BorderColour -> BorderColour -> BorderColour -> [BorderColour]) -> Enum BorderColour forall a. (a -> a) -> (a -> a) -> (Int -> a) -> (a -> Int) -> (a -> [a]) -> (a -> a -> [a]) -> (a -> a -> [a]) -> (a -> a -> a -> [a]) -> Enum a $csucc :: BorderColour -> BorderColour succ :: BorderColour -> BorderColour $cpred :: BorderColour -> BorderColour pred :: BorderColour -> BorderColour $ctoEnum :: Int -> BorderColour toEnum :: Int -> BorderColour $cfromEnum :: BorderColour -> Int fromEnum :: BorderColour -> Int $cenumFrom :: BorderColour -> [BorderColour] enumFrom :: BorderColour -> [BorderColour] $cenumFromThen :: BorderColour -> BorderColour -> [BorderColour] enumFromThen :: BorderColour -> BorderColour -> [BorderColour] $cenumFromTo :: BorderColour -> BorderColour -> [BorderColour] enumFromTo :: BorderColour -> BorderColour -> [BorderColour] $cenumFromThenTo :: BorderColour -> BorderColour -> BorderColour -> [BorderColour] enumFromThenTo :: BorderColour -> BorderColour -> BorderColour -> [BorderColour] Enum) instance Token BorderColour where tokenName :: forall s. (IsString s, Semigroup s) => BorderColour -> s tokenName BorderColour BorderColour = s "border-color" tokenName BorderColour BorderFocusedColour = s "border-focused-color" tokenName BorderColour BorderDangerColour = s "border-danger-color" instance ValueToken BorderColour where type ValueType BorderColour = LightDark Uchu tokenValue :: BorderColour -> ValueType BorderColour tokenValue BorderColour BorderColour = Uchu -> Uchu -> LightDark Uchu forall c. c -> c -> LightDark c LightDark Uchu Yin3 Uchu Yin8 tokenValue BorderColour BorderFocusedColour = Uchu -> LightDark Uchu forall c. c -> LightDark c sameLightDark Uchu Blue tokenValue BorderColour BorderDangerColour = Uchu -> LightDark Uchu forall c. c -> LightDark c sameLightDark Uchu Red