{-# OPTIONS -Wall #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE NamedFieldPuns #-} -- | CSS generation. module Language.CSS.Properties where import Language.CSS.Types (CSS,Rule,Property(..)) import Control.Monad.Writer (MonadWriter,tell) import Data.Text.Lazy (Text) -- | Make a CSS property. prop :: Text -> Text -> CSS (Either Property Rule) prop name value = tell [Left $ Property name value] -- Microsoft -- | CSS property: -ms-filter msFilter :: Text -> CSS (Either Property Rule) msFilter = prop "-mz-filter" -- Additional ones from CSS3 -- | CSS property: opacity opacity :: Text -> CSS (Either Property Rule) opacity = prop "opacity" -- | CSS property: border-radius borderRadius :: Text -> CSS (Either Property Rule) borderRadius = prop "border-radius" -- | CSS property: text-shadow textShadow :: Text -> CSS (Either Property Rule) textShadow = prop "text-shadow" -- | CSS property: box-shadow boxShadow :: Text -> CSS (Either Property Rule) boxShadow = prop "box-shadow" -- | CSS property: border-top-leftradius borderTopLeftRadius :: Text -> CSS (Either Property Rule) borderTopLeftRadius = prop "border-top-left-radius" -- | CSS property: border-bottom-leftradius borderBottomLeftRadius :: Text -> CSS (Either Property Rule) borderBottomLeftRadius = prop "border-bottom-left-radius" -- | CSS property: border-top-rightradius borderTopRightRadius :: Text -> CSS (Either Property Rule) borderTopRightRadius = prop "border-top-right-radius" -- | CSS property: border-bottom-rightradius borderBottomRightRadius :: Text -> CSS (Either Property Rule) borderBottomRightRadius = prop "border-bottom-right-radius" -- Generated from http://www.w3.org/TR/CSS21/propidx.html -- | CSS property: azimuth azimuth :: Text -> CSS (Either Property Rule) azimuth = prop "azimuth" -- | CSS property: background-color backgroundColor :: Text -> CSS (Either Property Rule) backgroundColor = prop "background-color" -- | CSS property: background-image backgroundImage :: Text -> CSS (Either Property Rule) backgroundImage = prop "background-image" -- | CSS property: background-position backgroundPosition :: Text -> CSS (Either Property Rule) backgroundPosition = prop "background-position" -- | CSS property: background-repeat backgroundRepeat :: Text -> CSS (Either Property Rule) backgroundRepeat = prop "background-repeat" -- | CSS property: background background :: Text -> CSS (Either Property Rule) background = prop "background" -- | CSS property: border-collapse borderCollapse :: Text -> CSS (Either Property Rule) borderCollapse = prop "border-collapse" -- | CSS property: border-color borderColor :: Text -> CSS (Either Property Rule) borderColor = prop "border-color" -- | CSS property: border-spacing borderSpacing :: Text -> CSS (Either Property Rule) borderSpacing = prop "border-spacing" -- | CSS property: border-style borderStyle :: Text -> CSS (Either Property Rule) borderStyle = prop "border-style" -- | CSS property: border-top borderTop :: Text -> CSS (Either Property Rule) borderTop = prop "border-top" -- | CSS property: border-bottom borderBottom :: Text -> CSS (Either Property Rule) borderBottom = prop "border-bottom" -- | CSS property: border-top-color borderTopColor :: Text -> CSS (Either Property Rule) borderTopColor = prop "border-top-color" -- | CSS property: border-top-style borderTopStyle :: Text -> CSS (Either Property Rule) borderTopStyle = prop "border-top-style" -- | CSS property: border-top-width borderTopWidth :: Text -> CSS (Either Property Rule) borderTopWidth = prop "border-top-width" -- | CSS property: border-width borderWidth :: Text -> CSS (Either Property Rule) borderWidth = prop "border-width" -- | CSS property: border border :: Text -> CSS (Either Property Rule) border = prop "border" -- | CSS property: border-right borderRight :: Text -> CSS (Either Property Rule) borderRight = prop "border-right" -- | CSS property: border-left borderLeft :: Text -> CSS (Either Property Rule) borderLeft = prop "border-left" -- | CSS property: bottom bottom :: Text -> CSS (Either Property Rule) bottom = prop "bottom" -- | CSS property: caption-side captionSide :: Text -> CSS (Either Property Rule) captionSide = prop "caption-side" -- | CSS property: clear clear :: Text -> CSS (Either Property Rule) clear = prop "clear" -- | CSS property: clip clip :: Text -> CSS (Either Property Rule) clip = prop "clip" -- | CSS property: color color :: Text -> CSS (Either Property Rule) color = prop "color" -- | CSS property: content content :: Text -> CSS (Either Property Rule) content = prop "content" -- | CSS property: counter-increment counterIncrement :: Text -> CSS (Either Property Rule) counterIncrement = prop "counter-increment" -- | CSS property: counter-reset counterReset :: Text -> CSS (Either Property Rule) counterReset = prop "counter-reset" -- | CSS property: cue-after cueAfter :: Text -> CSS (Either Property Rule) cueAfter = prop "cue-after" -- | CSS property: cue-before cueBefore :: Text -> CSS (Either Property Rule) cueBefore = prop "cue-before" -- | CSS property: cue cue :: Text -> CSS (Either Property Rule) cue = prop "cue" -- | CSS property: cursor cursor :: Text -> CSS (Either Property Rule) cursor = prop "cursor" -- | CSS property: direction direction :: Text -> CSS (Either Property Rule) direction = prop "direction" -- | CSS property: display display :: Text -> CSS (Either Property Rule) display = prop "display" -- | CSS property: elevation elevation :: Text -> CSS (Either Property Rule) elevation = prop "elevation" -- | CSS property: empty-cells emptyCells :: Text -> CSS (Either Property Rule) emptyCells = prop "empty-cells" -- | CSS property: float float :: Text -> CSS (Either Property Rule) float = prop "float" -- | CSS property: font-family fontFamily :: Text -> CSS (Either Property Rule) fontFamily = prop "font-family" -- | CSS property: font-size fontSize :: Text -> CSS (Either Property Rule) fontSize = prop "font-size" -- | CSS property: font-style fontStyle :: Text -> CSS (Either Property Rule) fontStyle = prop "font-style" -- | CSS property: font-variant fontVariant :: Text -> CSS (Either Property Rule) fontVariant = prop "font-variant" -- | CSS property: font-weight fontWeight :: Text -> CSS (Either Property Rule) fontWeight = prop "font-weight" -- | CSS property: font font :: Text -> CSS (Either Property Rule) font = prop "font" -- | CSS property: height height :: Text -> CSS (Either Property Rule) height = prop "height" -- | CSS property: left left :: Text -> CSS (Either Property Rule) left = prop "left" -- | CSS property: letter-spacing letterSpacing :: Text -> CSS (Either Property Rule) letterSpacing = prop "letter-spacing" -- | CSS property: line-height lineHeight :: Text -> CSS (Either Property Rule) lineHeight = prop "line-height" -- | CSS property: list-style-image listStyleImage :: Text -> CSS (Either Property Rule) listStyleImage = prop "list-style-image" -- | CSS property: list-style-position listStylePosition :: Text -> CSS (Either Property Rule) listStylePosition = prop "list-style-position" -- | CSS property: list-style-type listStyleType :: Text -> CSS (Either Property Rule) listStyleType = prop "list-style-type" -- | CSS property: list-style listStyle :: Text -> CSS (Either Property Rule) listStyle = prop "list-style" -- | CSS property: margin-right marginRight :: Text -> CSS (Either Property Rule) marginRight = prop "margin-right" -- | CSS property: margin-left marginLeft :: Text -> CSS (Either Property Rule) marginLeft = prop "margin-left" -- | CSS property: margin-top marginTop :: Text -> CSS (Either Property Rule) marginTop = prop "margin-top" -- | CSS property: margin-bottom marginBottom :: Text -> CSS (Either Property Rule) marginBottom = prop "margin-bottom" -- | CSS property: margin margin :: Text -> CSS (Either Property Rule) margin = prop "margin" -- | CSS property: max-height maxHeight :: Text -> CSS (Either Property Rule) maxHeight = prop "max-height" -- | CSS property: max-width maxWidth :: Text -> CSS (Either Property Rule) maxWidth = prop "max-width" -- | CSS property: min-height minHeight :: Text -> CSS (Either Property Rule) minHeight = prop "min-height" -- | CSS property: min-width minWidth :: Text -> CSS (Either Property Rule) minWidth = prop "min-width" -- | CSS property: orphans orphans :: Text -> CSS (Either Property Rule) orphans = prop "orphans" -- | CSS property: outline-color outlineColor :: Text -> CSS (Either Property Rule) outlineColor = prop "outline-color" -- | CSS property: outline-style outlineStyle :: Text -> CSS (Either Property Rule) outlineStyle = prop "outline-style" -- | CSS property: outline-width outlineWidth :: Text -> CSS (Either Property Rule) outlineWidth = prop "outline-width" -- | CSS property: outline outline :: Text -> CSS (Either Property Rule) outline = prop "outline" -- | CSS property: overflow overflow :: Text -> CSS (Either Property Rule) overflow = prop "overflow" -- | CSS property: padding-top paddingTop :: Text -> CSS (Either Property Rule) paddingTop = prop "padding-top" -- | CSS property: padding-bottom paddingBottom :: Text -> CSS (Either Property Rule) paddingBottom = prop "padding-bottom" -- | CSS property: padding-left paddingLeft :: Text -> CSS (Either Property Rule) paddingLeft = prop "padding-left" -- | CSS property: padding-right paddingRight :: Text -> CSS (Either Property Rule) paddingRight = prop "padding-right" -- | CSS property: padding padding :: Text -> CSS (Either Property Rule) padding = prop "padding" -- | CSS property: page-break-after pageBreakAfter :: Text -> CSS (Either Property Rule) pageBreakAfter = prop "page-break-after" -- | CSS property: page-break-before pageBreakBefore :: Text -> CSS (Either Property Rule) pageBreakBefore = prop "page-break-before" -- | CSS property: page-break-inside pageBreakInside :: Text -> CSS (Either Property Rule) pageBreakInside = prop "page-break-inside" -- | CSS property: pause-after pauseAfter :: Text -> CSS (Either Property Rule) pauseAfter = prop "pause-after" -- | CSS property: pause-before pauseBefore :: Text -> CSS (Either Property Rule) pauseBefore = prop "pause-before" -- | CSS property: pause pause :: Text -> CSS (Either Property Rule) pause = prop "pause" -- | CSS property: pitch-range pitchRange :: Text -> CSS (Either Property Rule) pitchRange = prop "pitch-range" -- | CSS property: pitch pitch :: Text -> CSS (Either Property Rule) pitch = prop "pitch" -- | CSS property: play-during playDuring :: Text -> CSS (Either Property Rule) playDuring = prop "play-during" -- | CSS property: position position :: Text -> CSS (Either Property Rule) position = prop "position" -- | CSS property: quotes quotes :: Text -> CSS (Either Property Rule) quotes = prop "quotes" -- | CSS property: richness richness :: Text -> CSS (Either Property Rule) richness = prop "richness" -- | CSS property: right right :: Text -> CSS (Either Property Rule) right = prop "right" -- | CSS property: speak-header speakHeader :: Text -> CSS (Either Property Rule) speakHeader = prop "speak-header" -- | CSS property: speak-numeral speakNumeral :: Text -> CSS (Either Property Rule) speakNumeral = prop "speak-numeral" -- | CSS property: speak-punctuation speakPunctuation :: Text -> CSS (Either Property Rule) speakPunctuation = prop "speak-punctuation" -- | CSS property: speak speak :: Text -> CSS (Either Property Rule) speak = prop "speak" -- | CSS property: speech-rate speechRate :: Text -> CSS (Either Property Rule) speechRate = prop "speech-rate" -- | CSS property: stress stress :: Text -> CSS (Either Property Rule) stress = prop "stress" -- | CSS property: table-layout tableLayout :: Text -> CSS (Either Property Rule) tableLayout = prop "table-layout" -- | CSS property: text-align textAlign :: Text -> CSS (Either Property Rule) textAlign = prop "text-align" -- | CSS property: text-decoration textDecoration :: Text -> CSS (Either Property Rule) textDecoration = prop "text-decoration" -- | CSS property: text-indent textIndent :: Text -> CSS (Either Property Rule) textIndent = prop "text-indent" -- | CSS property: text-transform textTransform :: Text -> CSS (Either Property Rule) textTransform = prop "text-transform" -- | CSS property: top top :: Text -> CSS (Either Property Rule) top = prop "top" -- | CSS property: unicode-bidi unicodeBidi :: Text -> CSS (Either Property Rule) unicodeBidi = prop "unicode-bidi" -- | CSS property: vertical-align verticalAlign :: Text -> CSS (Either Property Rule) verticalAlign = prop "vertical-align" -- | CSS property: visibility visibility :: Text -> CSS (Either Property Rule) visibility = prop "visibility" -- | CSS property: voice-family voiceFamily :: Text -> CSS (Either Property Rule) voiceFamily = prop "voice-family" -- | CSS property: volume volume :: Text -> CSS (Either Property Rule) volume = prop "volume" -- | CSS property: white-space whiteSpace :: Text -> CSS (Either Property Rule) whiteSpace = prop "white-space" -- | CSS property: widows widows :: Text -> CSS (Either Property Rule) widows = prop "widows" -- | CSS property: width width :: Text -> CSS (Either Property Rule) width = prop "width" -- | CSS property: word-spacing wordSpacing :: Text -> CSS (Either Property Rule) wordSpacing = prop "word-spacing" -- | CSS property: z-index zIndex :: Text -> CSS (Either Property Rule) zIndex = prop "z-index"