module Dashi.Style.Background where import Dashi.Prelude import Dashi.Style.Colour import Dashi.Style.Tokens (Appearance (..), Token (..), ValueToken (..)) import Dashi.Style.Uchu newtype BackgroundColour = BackgroundColour Appearance deriving newtype (BackgroundColour -> BackgroundColour -> Bool (BackgroundColour -> BackgroundColour -> Bool) -> (BackgroundColour -> BackgroundColour -> Bool) -> Eq BackgroundColour forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: BackgroundColour -> BackgroundColour -> Bool == :: BackgroundColour -> BackgroundColour -> Bool $c/= :: BackgroundColour -> BackgroundColour -> Bool /= :: BackgroundColour -> BackgroundColour -> Bool Eq, BackgroundColour BackgroundColour -> BackgroundColour -> Bounded BackgroundColour forall a. a -> a -> Bounded a $cminBound :: BackgroundColour minBound :: BackgroundColour $cmaxBound :: BackgroundColour maxBound :: BackgroundColour Bounded, Int -> BackgroundColour BackgroundColour -> Int BackgroundColour -> [BackgroundColour] BackgroundColour -> BackgroundColour BackgroundColour -> BackgroundColour -> [BackgroundColour] BackgroundColour -> BackgroundColour -> BackgroundColour -> [BackgroundColour] (BackgroundColour -> BackgroundColour) -> (BackgroundColour -> BackgroundColour) -> (Int -> BackgroundColour) -> (BackgroundColour -> Int) -> (BackgroundColour -> [BackgroundColour]) -> (BackgroundColour -> BackgroundColour -> [BackgroundColour]) -> (BackgroundColour -> BackgroundColour -> [BackgroundColour]) -> (BackgroundColour -> BackgroundColour -> BackgroundColour -> [BackgroundColour]) -> Enum BackgroundColour 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 :: BackgroundColour -> BackgroundColour succ :: BackgroundColour -> BackgroundColour $cpred :: BackgroundColour -> BackgroundColour pred :: BackgroundColour -> BackgroundColour $ctoEnum :: Int -> BackgroundColour toEnum :: Int -> BackgroundColour $cfromEnum :: BackgroundColour -> Int fromEnum :: BackgroundColour -> Int $cenumFrom :: BackgroundColour -> [BackgroundColour] enumFrom :: BackgroundColour -> [BackgroundColour] $cenumFromThen :: BackgroundColour -> BackgroundColour -> [BackgroundColour] enumFromThen :: BackgroundColour -> BackgroundColour -> [BackgroundColour] $cenumFromTo :: BackgroundColour -> BackgroundColour -> [BackgroundColour] enumFromTo :: BackgroundColour -> BackgroundColour -> [BackgroundColour] $cenumFromThenTo :: BackgroundColour -> BackgroundColour -> BackgroundColour -> [BackgroundColour] enumFromThenTo :: BackgroundColour -> BackgroundColour -> BackgroundColour -> [BackgroundColour] Enum) instance Token BackgroundColour where tokenName :: forall s. (IsString s, Semigroup s) => BackgroundColour -> s tokenName (BackgroundColour Appearance appearance) = s "background-" s -> s -> s forall a. Semigroup a => a -> a -> a <> Appearance -> s forall s. (IsString s, Semigroup s) => Appearance -> s forall t s. (Token t, IsString s, Semigroup s) => t -> s tokenName Appearance appearance instance ValueToken BackgroundColour where type ValueType BackgroundColour = LightDark (UchuAlpha Milli) tokenValue :: BackgroundColour -> ValueType BackgroundColour tokenValue (BackgroundColour Appearance Default) = (Uchu -> Milli -> UchuAlpha Milli) -> Milli -> Uchu -> UchuAlpha Milli forall a b c. (a -> b -> c) -> b -> a -> c flip Uchu -> Milli -> UchuAlpha Milli forall a. Uchu -> a -> UchuAlpha a UchuAlpha Milli 1 (Uchu -> UchuAlpha Milli) -> LightDark Uchu -> LightDark (UchuAlpha Milli) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Uchu -> Uchu -> LightDark Uchu forall c. c -> c -> LightDark c LightDark Uchu Yang Uchu Yin tokenValue (BackgroundColour Appearance Subtle) = (Uchu -> Milli -> UchuAlpha Milli) -> Milli -> Uchu -> UchuAlpha Milli forall a b c. (a -> b -> c) -> b -> a -> c flip Uchu -> Milli -> UchuAlpha Milli forall a. Uchu -> a -> UchuAlpha a UchuAlpha Milli 0 (Uchu -> UchuAlpha Milli) -> LightDark Uchu -> LightDark (UchuAlpha Milli) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Uchu -> Uchu -> LightDark Uchu forall c. c -> c -> LightDark c LightDark Uchu Yang Uchu Yin tokenValue (BackgroundColour Appearance Primary) = (Uchu -> Milli -> UchuAlpha Milli) -> Milli -> Uchu -> UchuAlpha Milli forall a b c. (a -> b -> c) -> b -> a -> c flip Uchu -> Milli -> UchuAlpha Milli forall a. Uchu -> a -> UchuAlpha a UchuAlpha Milli 0.15 (Uchu -> UchuAlpha Milli) -> LightDark Uchu -> LightDark (UchuAlpha Milli) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Uchu -> LightDark Uchu forall c. c -> LightDark c sameLightDark Uchu Blue tokenValue (BackgroundColour Appearance Success) = (Uchu -> Milli -> UchuAlpha Milli) -> Milli -> Uchu -> UchuAlpha Milli forall a b c. (a -> b -> c) -> b -> a -> c flip Uchu -> Milli -> UchuAlpha Milli forall a. Uchu -> a -> UchuAlpha a UchuAlpha Milli 0.15 (Uchu -> UchuAlpha Milli) -> LightDark Uchu -> LightDark (UchuAlpha Milli) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Uchu -> LightDark Uchu forall c. c -> LightDark c sameLightDark Uchu Green tokenValue (BackgroundColour Appearance Warning) = (Uchu -> Milli -> UchuAlpha Milli) -> Milli -> Uchu -> UchuAlpha Milli forall a b c. (a -> b -> c) -> b -> a -> c flip Uchu -> Milli -> UchuAlpha Milli forall a. Uchu -> a -> UchuAlpha a UchuAlpha Milli 0.15 (Uchu -> UchuAlpha Milli) -> LightDark Uchu -> LightDark (UchuAlpha Milli) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Uchu -> LightDark Uchu forall c. c -> LightDark c sameLightDark Uchu Orange tokenValue (BackgroundColour Appearance Danger) = (Uchu -> Milli -> UchuAlpha Milli) -> Milli -> Uchu -> UchuAlpha Milli forall a b c. (a -> b -> c) -> b -> a -> c flip Uchu -> Milli -> UchuAlpha Milli forall a. Uchu -> a -> UchuAlpha a UchuAlpha Milli 0.15 (Uchu -> UchuAlpha Milli) -> LightDark Uchu -> LightDark (UchuAlpha Milli) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Uchu -> LightDark Uchu forall c. c -> LightDark c sameLightDark Uchu Red tokenValue (BackgroundColour Appearance Discovery) = (Uchu -> Milli -> UchuAlpha Milli) -> Milli -> Uchu -> UchuAlpha Milli forall a b c. (a -> b -> c) -> b -> a -> c flip Uchu -> Milli -> UchuAlpha Milli forall a. Uchu -> a -> UchuAlpha a UchuAlpha Milli 0.15 (Uchu -> UchuAlpha Milli) -> LightDark Uchu -> LightDark (UchuAlpha Milli) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Uchu -> LightDark Uchu forall c. c -> LightDark c sameLightDark Uchu Purple