-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Minimal monadic CSS DSL. -- @package css @version 0.2 -- | CSS generation. module Language.CSS.Types -- | The CSS writer. newtype CSSM x a CSSM :: Writer [x] a -> CSSM x a unCSS :: CSSM x a -> Writer [x] a type CSS x = CSSM x () -- | A CSS rule. data Rule Rule :: Text -> [Property] -> [Rule] -> Rule ruleExpr :: Rule -> Text ruleProperties :: Rule -> [Property] ruleRules :: Rule -> [Rule] -- | A CSS property. data Property Property :: Text -> Text -> Property propertyName :: Property -> Text propertyValue :: Property -> Text instance Functor (CSSM x) instance Monad (CSSM x) instance MonadWriter [x] (CSSM x) instance Show Property instance Show Rule -- | CSS generation. module Language.CSS.Properties -- | Make a CSS property. prop :: Text -> Text -> CSS (Either Property Rule) -- | CSS property: -ms-filter msFilter :: Text -> CSS (Either Property Rule) -- | CSS property: opacity opacity :: Text -> CSS (Either Property Rule) -- | CSS property: border-radius borderRadius :: Text -> CSS (Either Property Rule) -- | CSS property: text-shadow textShadow :: Text -> CSS (Either Property Rule) -- | CSS property: box-shadow boxShadow :: Text -> CSS (Either Property Rule) -- | CSS property: border-top-leftradius borderTopLeftRadius :: Text -> CSS (Either Property Rule) -- | CSS property: border-bottom-leftradius borderBottomLeftRadius :: Text -> CSS (Either Property Rule) -- | CSS property: border-top-rightradius borderTopRightRadius :: Text -> CSS (Either Property Rule) -- | CSS property: border-bottom-rightradius borderBottomRightRadius :: Text -> CSS (Either Property Rule) -- | CSS property: azimuth azimuth :: Text -> CSS (Either Property Rule) -- | CSS property: background-color backgroundColor :: Text -> CSS (Either Property Rule) -- | CSS property: background-image backgroundImage :: Text -> CSS (Either Property Rule) -- | CSS property: background-position backgroundPosition :: Text -> CSS (Either Property Rule) -- | CSS property: background-repeat backgroundRepeat :: Text -> CSS (Either Property Rule) -- | CSS property: background background :: Text -> CSS (Either Property Rule) -- | CSS property: border-collapse borderCollapse :: Text -> CSS (Either Property Rule) -- | CSS property: border-color borderColor :: Text -> CSS (Either Property Rule) -- | CSS property: border-spacing borderSpacing :: Text -> CSS (Either Property Rule) -- | CSS property: border-style borderStyle :: Text -> CSS (Either Property Rule) -- | CSS property: border-top borderTop :: Text -> CSS (Either Property Rule) -- | CSS property: border-bottom borderBottom :: Text -> CSS (Either Property Rule) -- | CSS property: border-top-color borderTopColor :: Text -> CSS (Either Property Rule) -- | CSS property: border-top-style borderTopStyle :: Text -> CSS (Either Property Rule) -- | CSS property: border-top-width borderTopWidth :: Text -> CSS (Either Property Rule) -- | CSS property: border-width borderWidth :: Text -> CSS (Either Property Rule) -- | CSS property: border border :: Text -> CSS (Either Property Rule) -- | CSS property: border-right borderRight :: Text -> CSS (Either Property Rule) -- | CSS property: border-left borderLeft :: Text -> CSS (Either Property Rule) -- | CSS property: bottom bottom :: Text -> CSS (Either Property Rule) -- | CSS property: caption-side captionSide :: Text -> CSS (Either Property Rule) -- | CSS property: clear clear :: Text -> CSS (Either Property Rule) -- | CSS property: clip clip :: Text -> CSS (Either Property Rule) -- | CSS property: color color :: Text -> CSS (Either Property Rule) -- | CSS property: content content :: Text -> CSS (Either Property Rule) -- | CSS property: counter-increment counterIncrement :: Text -> CSS (Either Property Rule) -- | CSS property: counter-reset counterReset :: Text -> CSS (Either Property Rule) -- | CSS property: cue-after cueAfter :: Text -> CSS (Either Property Rule) -- | CSS property: cue-before cueBefore :: Text -> CSS (Either Property Rule) -- | CSS property: cue cue :: Text -> CSS (Either Property Rule) -- | CSS property: cursor cursor :: Text -> CSS (Either Property Rule) -- | CSS property: direction direction :: Text -> CSS (Either Property Rule) -- | CSS property: display display :: Text -> CSS (Either Property Rule) -- | CSS property: elevation elevation :: Text -> CSS (Either Property Rule) -- | CSS property: empty-cells emptyCells :: Text -> CSS (Either Property Rule) -- | CSS property: float float :: Text -> CSS (Either Property Rule) -- | CSS property: font-family fontFamily :: Text -> CSS (Either Property Rule) -- | CSS property: font-size fontSize :: Text -> CSS (Either Property Rule) -- | CSS property: font-style fontStyle :: Text -> CSS (Either Property Rule) -- | CSS property: font-variant fontVariant :: Text -> CSS (Either Property Rule) -- | CSS property: font-weight fontWeight :: Text -> CSS (Either Property Rule) -- | CSS property: font font :: Text -> CSS (Either Property Rule) -- | CSS property: height height :: Text -> CSS (Either Property Rule) -- | CSS property: left left :: Text -> CSS (Either Property Rule) -- | CSS property: letter-spacing letterSpacing :: Text -> CSS (Either Property Rule) -- | CSS property: line-height lineHeight :: Text -> CSS (Either Property Rule) -- | CSS property: list-style-image listStyleImage :: Text -> CSS (Either Property Rule) -- | CSS property: list-style-position listStylePosition :: Text -> CSS (Either Property Rule) -- | CSS property: list-style-type listStyleType :: Text -> CSS (Either Property Rule) -- | CSS property: list-style listStyle :: Text -> CSS (Either Property Rule) -- | CSS property: margin-right marginRight :: Text -> CSS (Either Property Rule) -- | CSS property: margin-left marginLeft :: Text -> CSS (Either Property Rule) -- | CSS property: margin-top marginTop :: Text -> CSS (Either Property Rule) -- | CSS property: margin-bottom marginBottom :: Text -> CSS (Either Property Rule) -- | CSS property: margin margin :: Text -> CSS (Either Property Rule) -- | CSS property: max-height maxHeight :: Text -> CSS (Either Property Rule) -- | CSS property: max-width maxWidth :: Text -> CSS (Either Property Rule) -- | CSS property: min-height minHeight :: Text -> CSS (Either Property Rule) -- | CSS property: min-width minWidth :: Text -> CSS (Either Property Rule) -- | CSS property: orphans orphans :: Text -> CSS (Either Property Rule) -- | CSS property: outline-color outlineColor :: Text -> CSS (Either Property Rule) -- | CSS property: outline-style outlineStyle :: Text -> CSS (Either Property Rule) -- | CSS property: outline-width outlineWidth :: Text -> CSS (Either Property Rule) -- | CSS property: outline outline :: Text -> CSS (Either Property Rule) -- | CSS property: overflow overflow :: Text -> CSS (Either Property Rule) -- | CSS property: padding-top paddingTop :: Text -> CSS (Either Property Rule) -- | CSS property: padding-bottom paddingBottom :: Text -> CSS (Either Property Rule) -- | CSS property: padding-left paddingLeft :: Text -> CSS (Either Property Rule) -- | CSS property: padding-right paddingRight :: Text -> CSS (Either Property Rule) -- | CSS property: padding padding :: Text -> CSS (Either Property Rule) -- | CSS property: page-break-after pageBreakAfter :: Text -> CSS (Either Property Rule) -- | CSS property: page-break-before pageBreakBefore :: Text -> CSS (Either Property Rule) -- | CSS property: page-break-inside pageBreakInside :: Text -> CSS (Either Property Rule) -- | CSS property: pause-after pauseAfter :: Text -> CSS (Either Property Rule) -- | CSS property: pause-before pauseBefore :: Text -> CSS (Either Property Rule) -- | CSS property: pause pause :: Text -> CSS (Either Property Rule) -- | CSS property: pitch-range pitchRange :: Text -> CSS (Either Property Rule) -- | CSS property: pitch pitch :: Text -> CSS (Either Property Rule) -- | CSS property: play-during playDuring :: Text -> CSS (Either Property Rule) -- | CSS property: position position :: Text -> CSS (Either Property Rule) -- | CSS property: quotes quotes :: Text -> CSS (Either Property Rule) -- | CSS property: richness richness :: Text -> CSS (Either Property Rule) -- | CSS property: right right :: Text -> CSS (Either Property Rule) -- | CSS property: speak-header speakHeader :: Text -> CSS (Either Property Rule) -- | CSS property: speak-numeral speakNumeral :: Text -> CSS (Either Property Rule) -- | CSS property: speak-punctuation speakPunctuation :: Text -> CSS (Either Property Rule) -- | CSS property: speak speak :: Text -> CSS (Either Property Rule) -- | CSS property: speech-rate speechRate :: Text -> CSS (Either Property Rule) -- | CSS property: stress stress :: Text -> CSS (Either Property Rule) -- | CSS property: table-layout tableLayout :: Text -> CSS (Either Property Rule) -- | CSS property: text-align textAlign :: Text -> CSS (Either Property Rule) -- | CSS property: text-decoration textDecoration :: Text -> CSS (Either Property Rule) -- | CSS property: text-indent textIndent :: Text -> CSS (Either Property Rule) -- | CSS property: text-transform textTransform :: Text -> CSS (Either Property Rule) -- | CSS property: top top :: Text -> CSS (Either Property Rule) -- | CSS property: unicode-bidi unicodeBidi :: Text -> CSS (Either Property Rule) -- | CSS property: vertical-align verticalAlign :: Text -> CSS (Either Property Rule) -- | CSS property: visibility visibility :: Text -> CSS (Either Property Rule) -- | CSS property: voice-family voiceFamily :: Text -> CSS (Either Property Rule) -- | CSS property: volume volume :: Text -> CSS (Either Property Rule) -- | CSS property: white-space whiteSpace :: Text -> CSS (Either Property Rule) -- | CSS property: widows widows :: Text -> CSS (Either Property Rule) -- | CSS property: width width :: Text -> CSS (Either Property Rule) -- | CSS property: word-spacing wordSpacing :: Text -> CSS (Either Property Rule) -- | CSS property: z-index zIndex :: Text -> CSS (Either Property Rule) -- | CSS generation. module Language.CSS -- | Generate CSS rules. runCSS :: CSS Rule -> [Rule] -- | Render a CSS AST to text, flat. renderCSS :: [Rule] -> Text -- | Render a CSS AST to text, pretty. renderPrettyCSS :: [Rule] -> Text rules :: Ruleable a => [Text] -> CSS (Either Property Rule) -> CSS a rule :: Ruleable a => Text -> CSS (Either Property Rule) -> CSS a instance Ruleable (Either Property Rule) instance Ruleable Rule