css-0.1: src/Language/CSS/Types.hs
{-# OPTIONS -Wall #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
-- | CSS generation.
module Language.CSS.Types where
import Control.Monad.Writer (Writer,MonadWriter)
import Data.Text.Lazy (Text)
-- | The CSS writer.
newtype CSSM x a = CSSM { unCSS :: Writer [x] a }
deriving (Functor,Monad,MonadWriter [x])
type CSS x = CSSM x ()
-- | A CSS rule.
data Rule = Rule { ruleExpr :: Text
, ruleProperties :: [Property]
, ruleRules :: [Rule]
}
deriving Show
-- | A CSS property.
data Property = Property { propertyName :: Text
, propertyValue :: Text
}
deriving Show