clay-0.12.1: CSS preprocessor as embedded Haskell.

Safe HaskellNone
LanguageHaskell98

Clay.Stylesheet

Synopsis

Documentation

data NotOrOnly Source #

Constructors

Not 
Only 

data Feature Source #

Constructors

Feature Text (Maybe Value) 

Instances

data App Source #

Instances

Show App Source # 

Methods

showsPrec :: Int -> App -> ShowS #

show :: App -> String #

showList :: [App] -> ShowS #

data Keyframes Source #

Constructors

Keyframes Text [(Double, [Rule])] 

newtype StyleM a Source #

Constructors

S (Writer [Rule] a) 

Instances

Monad StyleM Source # 

Methods

(>>=) :: StyleM a -> (a -> StyleM b) -> StyleM b #

(>>) :: StyleM a -> StyleM b -> StyleM b #

return :: a -> StyleM a #

fail :: String -> StyleM a #

Functor StyleM Source # 

Methods

fmap :: (a -> b) -> StyleM a -> StyleM b #

(<$) :: a -> StyleM b -> StyleM a #

Applicative StyleM Source # 

Methods

pure :: a -> StyleM a #

(<*>) :: StyleM (a -> b) -> StyleM a -> StyleM b #

(*>) :: StyleM a -> StyleM b -> StyleM b #

(<*) :: StyleM a -> StyleM b -> StyleM a #

Monoid Css Source # 

Methods

mempty :: Css #

mappend :: Css -> Css -> Css #

mconcat :: [Css] -> Css #

runS :: Css -> [Rule] Source #

type Css = StyleM () Source #

The Css context is used to collect style rules which are mappings from selectors to style properties. The Css type is a computation in the StyleM monad that just collects and doesn't return anything.

key :: Val a => Key a -> a -> Css Source #

Add a new style property to the stylesheet with the specified Key and value. The value can be any type that is in the Val typeclass, with other words: can be converted to a Value.

prefixed :: Val a => Prefixed -> a -> Css Source #

Add a new style property to the stylesheet with the specified Key and value, like key but use a Prefixed key.

(-:) :: Key Text -> Text -> Css infix 4 Source #

The colon operator can be used to add style rules to the current context for which there is no embedded version available. Both the key and the value are plain text values and rendered as is to the output CSS.

(?) :: Selector -> Css -> Css infixr 5 Source #

Assign a stylesheet to a selector. When the selector is nested inside an outer scope it will be composed with deep.

(<?) :: Selector -> Css -> Css infixr 5 Source #

Assign a stylesheet to a selector. When the selector is nested inside an outer scope it will be composed with |>.

(&) :: Refinement -> Css -> Css infixr 5 Source #

Assign a stylesheet to a filter selector. When the selector is nested inside an outer scope it will be composed with the with selector.

root :: Selector -> Css -> Css Source #

Root is used to add style rules to the top scope.

pop :: Int -> Css -> Css Source #

Pop is used to add style rules to selectors defined in an outer scope. The counter specifies how far up the scope stack we want to add the rules.

query :: MediaType -> [Feature] -> Css -> Css Source #

Apply a set of style rules when the media type and feature queries apply.

queryNot :: MediaType -> [Feature] -> Css -> Css Source #

Apply a set of style rules when the media type and feature queries do not apply.

queryOnly :: MediaType -> [Feature] -> Css -> Css Source #

Apply a set of style rules only when the media type and feature queries apply.

fontFace :: Css -> Css Source #

Define a new font-face.

importUrl :: Text -> Css Source #

Import a CSS file from a URL