-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | CSS preprocessor as embedded Haskell. -- -- Clay is a CSS preprocessor like LESS and Sass, but implemented as an -- embedded domain specific language (EDSL) in Haskell. This means that -- all CSS selectors and style rules are first class Haskell functions, -- which makes reuse and composability easy. -- -- The project is described on http://fvisser.nl/clay. -- -- The API documentation can be found in the top level module -- Clay. @package clay @version 0.13.2 module Clay.Property data Prefixed Prefixed :: [(Text, Text)] -> Prefixed [unPrefixed] :: Prefixed -> [(Text, Text)] Plain :: Text -> Prefixed [unPlain] :: Prefixed -> Text merge :: Prefixed -> Prefixed -> Prefixed plain :: Prefixed -> Text quote :: Text -> Text newtype Key a Key :: Prefixed -> Key a [unKeys] :: Key a -> Prefixed cast :: Key a -> Key () newtype Value Value :: Prefixed -> Value [unValue] :: Value -> Prefixed class Val a value :: Val a => a -> Value newtype Literal Literal :: Text -> Literal data E5 E5 :: E5 cssDoubleText :: Double -> Text intercalate :: Monoid a => a -> [a] -> a noCommas :: Val a => [a] -> Value (!) :: a -> b -> (a, b) infixr 9 ! instance Data.String.IsString Clay.Property.Literal instance GHC.Base.Monoid Clay.Property.Literal instance GHC.Base.Semigroup Clay.Property.Literal instance GHC.Show.Show Clay.Property.Literal instance GHC.Classes.Eq Clay.Property.Value instance Data.String.IsString Clay.Property.Value instance GHC.Base.Monoid Clay.Property.Value instance GHC.Base.Semigroup Clay.Property.Value instance GHC.Show.Show Clay.Property.Value instance Data.String.IsString (Clay.Property.Key a) instance GHC.Base.Monoid (Clay.Property.Key a) instance GHC.Base.Semigroup (Clay.Property.Key a) instance GHC.Show.Show (Clay.Property.Key a) instance GHC.Classes.Eq Clay.Property.Prefixed instance GHC.Show.Show Clay.Property.Prefixed instance Data.Fixed.HasResolution Clay.Property.E5 instance Clay.Property.Val Clay.Property.Literal instance Clay.Property.Val Data.Text.Internal.Text instance Clay.Property.Val GHC.Integer.Type.Integer instance Clay.Property.Val GHC.Types.Double instance Clay.Property.Val Clay.Property.Value instance Clay.Property.Val a => Clay.Property.Val (GHC.Maybe.Maybe a) instance (Clay.Property.Val a, Clay.Property.Val b) => Clay.Property.Val (a, b) instance (Clay.Property.Val a, Clay.Property.Val b) => Clay.Property.Val (Data.Either.Either a b) instance Clay.Property.Val a => Clay.Property.Val [a] instance Clay.Property.Val a => Clay.Property.Val (GHC.Base.NonEmpty a) instance Data.String.IsString Clay.Property.Prefixed instance GHC.Base.Semigroup Clay.Property.Prefixed instance GHC.Base.Monoid Clay.Property.Prefixed -- | A bunch of type classes representing common values shared between -- multiple CSS properties, like Auto, Inherit, -- None, Normal and several more. -- -- All the common value type classes have an instance for the Value type, -- making them easily derivable for custom value types. module Clay.Common class All a all :: All a => a class Auto a auto :: Auto a => a class Baseline a baseline :: Baseline a => a class Center a center :: Center a => a class Inherit a inherit :: Inherit a => a class None a none :: None a => a class Normal a normal :: Normal a => a class Visible a visible :: Visible a => a class Hidden a hidden :: Hidden a => a class Initial a initial :: Initial a => a class Unset a unset :: Unset a => a -- | The other type class is used to escape from the type safety introduced -- by embedding CSS properties into the typed world of Clay. Other -- allows you to cast any Value to a specific value type. class Other a other :: Other a => Value -> a allValue :: Value autoValue :: Value baselineValue :: Value centerValue :: Value inheritValue :: Value normalValue :: Value noneValue :: Value visibleValue :: Value hiddenValue :: Value initialValue :: Value unsetValue :: Value -- | Common list browser prefixes to make experimental properties work in -- different browsers. browsers :: Prefixed -- | Syntax for CSS function call. call :: (IsString s, Monoid s) => s -> s -> s -- | Some auxiliary mathematical functions. fracMod :: RealFrac a => a -> a -> a decimalRound :: RealFrac a => a -> Int -> a instance Clay.Common.Other Clay.Property.Value instance Clay.Common.Unset Clay.Property.Value instance Clay.Common.Initial Clay.Property.Value instance Clay.Common.Hidden Clay.Property.Value instance Clay.Common.Visible Clay.Property.Value instance Clay.Common.Normal Clay.Property.Value instance Clay.Common.None Clay.Property.Value instance Clay.Common.Inherit Clay.Property.Value instance Clay.Common.Center Clay.Property.Value instance Clay.Common.Baseline Clay.Property.Value instance Clay.Common.Auto Clay.Property.Value instance Clay.Common.All Clay.Property.Value module Clay.Color data Color Rgba :: Integer -> Integer -> Integer -> Float -> Color Hsla :: Integer -> Float -> Float -> Float -> Color Other :: Value -> Color rgba :: Integer -> Integer -> Integer -> Float -> Color rgb :: Integer -> Integer -> Integer -> Color hsla :: Integer -> Float -> Float -> Float -> Color hsl :: Integer -> Float -> Float -> Color grayish :: Integer -> Color transparent :: Color setR :: Integer -> Color -> Color setG :: Integer -> Color -> Color setB :: Integer -> Color -> Color setA :: Float -> Color -> Color toRgba :: Color -> Color toHsla :: Color -> Color (*.) :: Color -> Integer -> Color (+.) :: Color -> Integer -> Color (-.) :: Color -> Integer -> Color clamp :: Ord a => Num a => a -> a lighten :: Float -> Color -> Color darken :: Float -> Color -> Color lerp :: Float -> Color -> Color -> Color parse :: Text -> Color aliceblue :: Color antiquewhite :: Color aqua :: Color aquamarine :: Color azure :: Color beige :: Color bisque :: Color black :: Color blanchedalmond :: Color blue :: Color blueviolet :: Color brown :: Color burlywood :: Color cadetblue :: Color chartreuse :: Color chocolate :: Color coral :: Color cornflowerblue :: Color cornsilk :: Color crimson :: Color cyan :: Color darkblue :: Color darkcyan :: Color darkgoldenrod :: Color darkgray :: Color darkgreen :: Color darkgrey :: Color darkkhaki :: Color darkmagenta :: Color darkolivegreen :: Color darkorange :: Color darkorchid :: Color darkred :: Color darksalmon :: Color darkseagreen :: Color darkslateblue :: Color darkslategray :: Color darkslategrey :: Color darkturquoise :: Color darkviolet :: Color deeppink :: Color deepskyblue :: Color dimgray :: Color dimgrey :: Color dodgerblue :: Color firebrick :: Color floralwhite :: Color forestgreen :: Color fuchsia :: Color gainsboro :: Color ghostwhite :: Color gold :: Color goldenrod :: Color gray :: Color green :: Color greenyellow :: Color grey :: Color honeydew :: Color hotpink :: Color indianred :: Color indigo :: Color ivory :: Color khaki :: Color lavender :: Color lavenderblush :: Color lawngreen :: Color lemonchiffon :: Color lightblue :: Color lightcoral :: Color lightcyan :: Color lightgoldenrodyellow :: Color lightgray :: Color lightgreen :: Color lightgrey :: Color lightpink :: Color lightsalmon :: Color lightseagreen :: Color lightskyblue :: Color lightslategray :: Color lightslategrey :: Color lightsteelblue :: Color lightyellow :: Color lime :: Color limegreen :: Color linen :: Color magenta :: Color maroon :: Color mediumaquamarine :: Color mediumblue :: Color mediumorchid :: Color mediumpurple :: Color mediumseagreen :: Color mediumslateblue :: Color mediumspringgreen :: Color mediumturquoise :: Color mediumvioletred :: Color midnightblue :: Color mintcream :: Color mistyrose :: Color moccasin :: Color navajowhite :: Color navy :: Color oldlace :: Color olive :: Color olivedrab :: Color orange :: Color orangered :: Color orchid :: Color palegoldenrod :: Color palegreen :: Color paleturquoise :: Color palevioletred :: Color papayawhip :: Color peachpuff :: Color peru :: Color pink :: Color plum :: Color powderblue :: Color purple :: Color red :: Color rosybrown :: Color royalblue :: Color saddlebrown :: Color salmon :: Color sandybrown :: Color seagreen :: Color seashell :: Color sienna :: Color silver :: Color skyblue :: Color slateblue :: Color slategray :: Color slategrey :: Color snow :: Color springgreen :: Color steelblue :: Color tan :: Color teal :: Color thistle :: Color tomato :: Color turquoise :: Color violet :: Color wheat :: Color white :: Color whitesmoke :: Color yellow :: Color yellowgreen :: Color instance GHC.Classes.Eq Clay.Color.Color instance GHC.Show.Show Clay.Color.Color instance Clay.Property.Val Clay.Color.Color instance Clay.Common.None Clay.Color.Color instance Clay.Common.Auto Clay.Color.Color instance Clay.Common.Inherit Clay.Color.Color instance Clay.Common.Other Clay.Color.Color instance Data.String.IsString Clay.Color.Color module Clay.Selector -- | The star selector applies to all elements. Maps to * in CSS. star :: Selector -- | Select elements by name. The preferred syntax is to enable -- OverloadedStrings and actually just use -- "element-name" or use one of the predefined elements from -- Clay.Elements. element :: Text -> Selector -- | Named alias for **. deep :: Selector -> Selector -> Selector -- | The deep selector composer. Maps to sel1 sel2 in CSS. (**) :: Selector -> Selector -> Selector -- | Named alias for |>. child :: Selector -> Selector -> Selector -- | The child selector composer. Maps to sel1 > sel2 in CSS. (|>) :: Selector -> Selector -> Selector -- | The adjacent selector composer. Maps to sel1 + sel2 in CSS. (|+) :: Selector -> Selector -> Selector -- | Named alias for #. with :: Selector -> Refinement -> Selector -- | The filter selector composer, adds a filter to a selector. Maps to -- something like sel#filter or sel.filter in CSS, -- depending on the filter. (#) :: Selector -> Refinement -> Selector -- | Filter elements by id. The preferred syntax is to enable -- OverloadedStrings and use "#id-name". byId :: Text -> Refinement -- | Filter elements by class. The preferred syntax is to enable -- OverloadedStrings and use ".class-name". byClass :: Text -> Refinement -- | Filter elements by pseudo selector or pseudo class. The preferred -- syntax is to enable OverloadedStrings and use -- ":pseudo-selector" or use one of the predefined ones from -- Clay.Pseudo. pseudo :: Text -> Refinement -- | Filter elements by pseudo selector functions. The preferred way is to -- use one of the predefined functions from Clay.Pseudo. func :: Text -> [Text] -> Refinement -- | Filter elements based on the presence of a certain attribute. The -- preferred syntax is to enable OverloadedStrings and use -- "@attr" or use one of the predefined ones from -- Clay.Attributes. attr :: Text -> Refinement -- | Filter elements based on the presence of a certain attribute with the -- specified value. (@=) :: Text -> Text -> Refinement -- | Filter elements based on the presence of a certain attribute that -- begins with the selected value. (^=) :: Text -> Text -> Refinement -- | Filter elements based on the presence of a certain attribute that ends -- with the specified value. ($=) :: Text -> Text -> Refinement -- | Filter elements based on the presence of a certain attribute that -- contains the specified value as a substring. (*=) :: Text -> Text -> Refinement -- | Filter elements based on the presence of a certain attribute that have -- the specified value contained in a space separated list. (~=) :: Text -> Text -> Refinement -- | Filter elements based on the presence of a certain attribute that have -- the specified value contained in a hyphen separated list. (|=) :: Text -> Text -> Refinement data Predicate Id :: Text -> Predicate Class :: Text -> Predicate Attr :: Text -> Predicate AttrVal :: Text -> Text -> Predicate AttrBegins :: Text -> Text -> Predicate AttrEnds :: Text -> Text -> Predicate AttrContains :: Text -> Text -> Predicate AttrSpace :: Text -> Text -> Predicate AttrHyph :: Text -> Text -> Predicate Pseudo :: Text -> Predicate PseudoFunc :: Text -> [Text] -> Predicate PseudoElem :: Text -> Predicate newtype Refinement Refinement :: [Predicate] -> Refinement [unFilter] :: Refinement -> [Predicate] refinementFromText :: Text -> Refinement data Path f Star :: Path f Elem :: Text -> Path f Child :: f -> f -> Path f Deep :: f -> f -> Path f Adjacent :: f -> f -> Path f Combined :: f -> f -> Path f newtype Fix f In :: f (Fix f) -> Fix f [out] :: Fix f -> f (Fix f) data SelectorF a SelectorF :: Refinement -> Path a -> SelectorF a type Selector = Fix SelectorF selectorFromText :: Text -> Selector instance GHC.Show.Show a => GHC.Show.Show (Clay.Selector.SelectorF a) instance GHC.Show.Show f => GHC.Show.Show (Clay.Selector.Path f) instance GHC.Base.Monoid Clay.Selector.Refinement instance GHC.Base.Semigroup Clay.Selector.Refinement instance GHC.Show.Show Clay.Selector.Refinement instance GHC.Show.Show Clay.Selector.Predicate instance GHC.Classes.Ord Clay.Selector.Predicate instance GHC.Classes.Eq Clay.Selector.Predicate instance GHC.Show.Show (f (Clay.Selector.Fix f)) => GHC.Show.Show (Clay.Selector.Fix f) instance Data.String.IsString (Clay.Selector.Fix Clay.Selector.SelectorF) instance GHC.Base.Semigroup (Clay.Selector.Fix Clay.Selector.SelectorF) instance GHC.Base.Monoid (Clay.Selector.Fix Clay.Selector.SelectorF) instance Data.String.IsString Clay.Selector.Refinement module Clay.Elements -- | Special cases, these items occur both as an HTML tag and an HTML -- attribute. We keep them polymorph. abbr :: IsString a => a -- | Special cases, these items occur both as an HTML tag and an HTML -- attribute. We keep them polymorph. cite :: IsString a => a -- | Special cases, these items occur both as an HTML tag and an HTML -- attribute. We keep them polymorph. command :: IsString a => a -- | Special cases, these items occur both as an HTML tag and an HTML -- attribute. We keep them polymorph. data_ :: IsString a => a -- | Special cases, these items occur both as an HTML tag and an HTML -- attribute. We keep them polymorph. form :: IsString a => a -- | Special cases, these items occur both as an HTML tag and an HTML -- attribute. We keep them polymorph. label :: IsString a => a -- | Special cases, these items occur both as an HTML tag and an HTML -- attribute. We keep them polymorph. span :: IsString a => a -- | Special cases, these items occur both as an HTML tag and an HTML -- attribute. We keep them polymorph. style :: IsString a => a -- | Special cases, these items occur both as an HTML tag and an HTML -- attribute. We keep them polymorph. title :: IsString a => a a :: Selector address :: Selector area :: Selector article :: Selector aside :: Selector audio :: Selector b :: Selector base :: Selector bdi :: Selector bdo :: Selector blockquote :: Selector body :: Selector br :: Selector button :: Selector canvas :: Selector caption :: Selector code :: Selector col :: Selector colgroup :: Selector datalist :: Selector dd :: Selector del :: Selector details :: Selector dfn :: Selector dialog :: Selector div :: Selector dl :: Selector dt :: Selector em :: Selector embed :: Selector fieldset :: Selector figcaption :: Selector figure :: Selector footer :: Selector h1 :: Selector h2 :: Selector h3 :: Selector h4 :: Selector h5 :: Selector h6 :: Selector head :: Selector header :: Selector hgroup :: Selector hr :: Selector html :: Selector i :: Selector iframe :: Selector img :: Selector input :: Selector ins :: Selector kbd :: Selector keygen :: Selector legend :: Selector li :: Selector link :: Selector main_ :: Selector map :: Selector mark :: Selector math :: Selector menu :: Selector meta :: Selector meter :: Selector nav :: Selector noscript :: Selector object :: Selector ol :: Selector optgroup :: Selector option :: Selector output :: Selector p :: Selector param :: Selector pre :: Selector progress :: Selector q :: Selector rp :: Selector rt :: Selector ruby :: Selector s :: Selector samp :: Selector script :: Selector section :: Selector select :: Selector small :: Selector source :: Selector strong :: Selector sub :: Selector summary :: Selector sup :: Selector svg :: Selector table :: Selector tbody :: Selector td :: Selector template :: Selector textarea :: Selector tfoot :: Selector th :: Selector thead :: Selector time :: Selector tr :: Selector track :: Selector u :: Selector ul :: Selector var :: Selector video :: Selector wbr :: Selector module Clay.Attributes accept :: Refinement acceptCharset :: Refinement accesskey :: Refinement action :: Refinement alt :: Refinement async :: Refinement autocomplete :: Refinement autofocus :: Refinement autoplay :: Refinement challenge :: Refinement charset :: Refinement checked :: Refinement class_ :: Refinement cols :: Refinement colspan :: Refinement content :: Refinement contenteditable :: Refinement contextmenu :: Refinement controls :: Refinement coords :: Refinement crossorigin :: Refinement datetime :: Refinement default_ :: Refinement defer :: Refinement dir :: Refinement dirname :: Refinement disabled :: Refinement download :: Refinement draggable :: Refinement dropzone :: Refinement enctype :: Refinement for :: Refinement formaction :: Refinement formenctype :: Refinement formmethod :: Refinement formnovalidate :: Refinement formtarget :: Refinement headers :: Refinement height :: Refinement hidden :: Refinement high :: Refinement href :: Refinement hreflang :: Refinement httpEquiv :: Refinement icon :: Refinement id :: Refinement inert :: Refinement inputmode :: Refinement ismap :: Refinement itemid :: Refinement itemprop :: Refinement itemref :: Refinement itemscope :: Refinement itemtype :: Refinement keytype :: Refinement kind :: Refinement lang :: Refinement list :: Refinement loop :: Refinement low :: Refinement manifest :: Refinement max :: Refinement maxlength :: Refinement media :: Refinement mediagroup :: Refinement method :: Refinement min :: Refinement multiple :: Refinement muted :: Refinement name :: Refinement novalidate :: Refinement open :: Refinement optimum :: Refinement pattern :: Refinement ping :: Refinement placeholder :: Refinement poster :: Refinement preload :: Refinement radiogroup :: Refinement readonly :: Refinement rel :: Refinement required :: Refinement reversed :: Refinement rows :: Refinement rowspan :: Refinement sandbox :: Refinement scope :: Refinement scoped :: Refinement seamless :: Refinement selected :: Refinement shape :: Refinement size :: Refinement sizes :: Refinement spellcheck :: Refinement src :: Refinement srcdoc :: Refinement srclang :: Refinement srcset :: Refinement start :: Refinement step :: Refinement tabindex :: Refinement target :: Refinement translate :: Refinement type_ :: Refinement typemustmatch :: Refinement usemap :: Refinement value :: Refinement width :: Refinement wrap :: Refinement module Clay.Stylesheet newtype MediaType MediaType :: Value -> MediaType data NotOrOnly Not :: NotOrOnly Only :: NotOrOnly data MediaQuery MediaQuery :: Maybe NotOrOnly -> MediaType -> [Feature] -> MediaQuery data Feature Feature :: Text -> Maybe Value -> Feature newtype CommentText CommentText :: Text -> CommentText [unCommentText] :: CommentText -> Text data Modifier Important :: Modifier Comment :: CommentText -> Modifier _Important :: Modifier -> Maybe Text _Comment :: Modifier -> Maybe CommentText data App Self :: Refinement -> App Root :: Selector -> App Pop :: Int -> App Child :: Selector -> App Sub :: Selector -> App data Keyframes Keyframes :: Text -> [(Double, [Rule])] -> Keyframes data Rule Property :: [Modifier] -> Key () -> Value -> Rule Nested :: App -> [Rule] -> Rule Query :: MediaQuery -> [Rule] -> Rule Face :: [Rule] -> Rule Keyframe :: Keyframes -> Rule Import :: Text -> Rule newtype StyleM a S :: Writer [Rule] a -> StyleM a runS :: Css -> [Rule] rule :: Rule -> Css -- | 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. type Css = StyleM () -- | 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. key :: Val a => Key a -> a -> Css -- | Add a new style property to the stylesheet with the specified -- Key and value, like key but use a Prefixed key. prefixed :: Val a => Prefixed -> a -> Css -- | 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. (-:) :: Key Text -> Text -> Css infix 4 -: -- | 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 ? -- | Assign a stylesheet to a selector. When the selector is nested inside -- an outer scope it will be composed with |>. () :: Selector -> Css -> Css infixr 5 -- | Assign a stylesheet to a filter selector. When the selector is nested -- inside an outer scope it will be composed with the with -- selector. (&) :: Refinement -> Css -> Css infixr 5 & -- | Root is used to add style rules to the top scope. root :: Selector -> Css -> Css -- | 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. pop :: Int -> Css -> Css -- | Apply a set of style rules when the media type and feature queries -- apply. query :: MediaType -> [Feature] -> Css -> Css -- | Apply a set of style rules when the media type and feature queries do -- not apply. queryNot :: MediaType -> [Feature] -> Css -> Css -- | Apply a set of style rules only when the media type and feature -- queries apply. queryOnly :: MediaType -> [Feature] -> Css -> Css keyframes :: Text -> [(Double, Css)] -> Css keyframesFromTo :: Text -> Css -> Css -> Css -- | Define a new font-face. fontFace :: Css -> Css -- | Import a CSS file from a URL importUrl :: Text -> Css -- | Indicate the supplied css should override css declarations that would -- otherwise take precedence. -- -- Use sparingly. important :: Css -> Css addImportant :: Rule -> Rule instance GHC.Base.Monad Clay.Stylesheet.StyleM instance GHC.Base.Applicative Clay.Stylesheet.StyleM instance GHC.Base.Functor Clay.Stylesheet.StyleM instance GHC.Show.Show Clay.Stylesheet.Keyframes instance GHC.Show.Show Clay.Stylesheet.Rule instance GHC.Show.Show Clay.Stylesheet.App instance GHC.Show.Show Clay.Stylesheet.Modifier instance GHC.Base.Monoid Clay.Stylesheet.CommentText instance GHC.Base.Semigroup Clay.Stylesheet.CommentText instance Data.String.IsString Clay.Stylesheet.CommentText instance GHC.Show.Show Clay.Stylesheet.CommentText instance GHC.Show.Show Clay.Stylesheet.MediaQuery instance GHC.Show.Show Clay.Stylesheet.Feature instance GHC.Show.Show Clay.Stylesheet.NotOrOnly instance Clay.Common.All Clay.Stylesheet.MediaType instance GHC.Show.Show Clay.Stylesheet.MediaType instance Clay.Common.Other Clay.Stylesheet.MediaType instance Clay.Property.Val Clay.Stylesheet.MediaType instance GHC.Base.Semigroup Clay.Stylesheet.Css instance GHC.Base.Monoid Clay.Stylesheet.Css module Clay.Size data Size a -- | Sizes can be given using a length unit (e.g. em, px). data LengthUnit -- | Sizes can be given in percentages. data Percentage -- | Zero size. nil :: Size a -- | Unitless size (as recommended for line-height). unitless :: Double -> Size a -- | Size in centimeters. cm :: Double -> Size LengthUnit -- | Size in millimeters. mm :: Double -> Size LengthUnit -- | Size in inches (1in = 2.54 cm). inches :: Double -> Size LengthUnit -- | Size in pixels. px :: Double -> Size LengthUnit -- | Size in points (1pt = 1/72 of 1in). pt :: Double -> Size LengthUnit -- | Size in picas (1pc = 12pt). pc :: Double -> Size LengthUnit -- | Size in em's (computed cssDoubleText of the font-size). em :: Double -> Size LengthUnit -- | SimpleSize in ex'es (x-height of the first avaliable font). ex :: Double -> Size LengthUnit -- | SimpleSize in percents. pct :: Double -> Size Percentage -- | SimpleSize in rem's (em's, but always relative to the root element). rem :: Double -> Size LengthUnit -- | SimpleSize in vw's (1vw = 1% of viewport width). vw :: Double -> Size LengthUnit -- | SimpleSize in vh's (1vh = 1% of viewport height). vh :: Double -> Size LengthUnit -- | SimpleSize in vmin's (the smaller of vw or vh). vmin :: Double -> Size LengthUnit -- | SimpleSize in vmax's (the larger of vw or vh). vmax :: Double -> Size LengthUnit -- | Plus operator to combine sizes into calc function (@+@) :: Size a -> Size b -> Size (SizeCombination a b) infixl 6 @+@ -- | Minus operator to combine sizes into calc function (@-@) :: Size a -> Size b -> Size (SizeCombination a b) infixl 6 @-@ -- | Reversed times operator to combine sizes into calc function (@*) :: Size a -> Double -> Size a infixl 7 @* -- | Times operator to combine sizes into calc function (*@) :: Double -> Size a -> Size a infixl 7 *@ -- | Division operator to combine sizes into calc function (@/) :: Size a -> Double -> Size a infixl 7 @/ sym :: (a -> a -> a -> a -> Css) -> a -> Css sym2 :: (a -> a -> a -> a -> Css) -> a -> a -> Css sym3 :: (a -> a -> a -> a -> Css) -> a -> a -> a -> Css data Angle a data Deg data Rad data Grad data Turn -- | Angle in degrees. deg :: Double -> Angle Deg -- | Angle in radians. rad :: Double -> Angle Rad -- | Angle in gradians (also knows as gons or grades). grad :: Double -> Angle Grad -- | Angle in turns. turn :: Double -> Angle Turn instance Clay.Common.Other (Clay.Size.Angle a) instance Clay.Common.Inherit (Clay.Size.Angle a) instance Clay.Common.Auto (Clay.Size.Angle a) instance Clay.Property.Val (Clay.Size.Angle a) instance GHC.Show.Show (Clay.Size.Size a) instance GHC.Num.Num (Clay.Size.Angle Clay.Size.Deg) instance GHC.Real.Fractional (Clay.Size.Angle Clay.Size.Deg) instance GHC.Num.Num (Clay.Size.Angle Clay.Size.Rad) instance GHC.Real.Fractional (Clay.Size.Angle Clay.Size.Rad) instance GHC.Num.Num (Clay.Size.Angle Clay.Size.Grad) instance GHC.Real.Fractional (Clay.Size.Angle Clay.Size.Grad) instance GHC.Num.Num (Clay.Size.Angle Clay.Size.Turn) instance GHC.Real.Fractional (Clay.Size.Angle Clay.Size.Turn) instance Clay.Property.Val (Clay.Size.Size a) instance Clay.Common.Auto (Clay.Size.Size a) instance Clay.Common.Normal (Clay.Size.Size a) instance Clay.Common.Inherit (Clay.Size.Size a) instance Clay.Common.None (Clay.Size.Size a) instance Clay.Common.Other (Clay.Size.Size a) instance GHC.Num.Num (Clay.Size.Size Clay.Size.LengthUnit) instance GHC.Real.Fractional (Clay.Size.Size Clay.Size.LengthUnit) instance GHC.Num.Num (Clay.Size.Size Clay.Size.Percentage) instance GHC.Real.Fractional (Clay.Size.Size Clay.Size.Percentage) module Clay.Render data Config Config :: Builder -> Builder -> Builder -> Builder -> Builder -> Bool -> Bool -> Bool -> Bool -> Bool -> Config [indentation] :: Config -> Builder [newline] :: Config -> Builder [sep] :: Config -> Builder [lbrace] :: Config -> Builder [rbrace] :: Config -> Builder [finalSemicolon] :: Config -> Bool [warn] :: Config -> Bool [align] :: Config -> Bool [banner] :: Config -> Bool [comments] :: Config -> Bool -- | Configuration to print to a pretty human readable CSS output. pretty :: Config -- | Configuration to print to a compacted unreadable CSS output. compact :: Config -- | Render a stylesheet with the default configuration. The pretty printer -- is used by default. render :: Css -> Text -- | Configuration to print to a compacted unreadable CSS output for -- embedding inline with HTML. htmlInline :: Config -- | Render to CSS using the default configuration (pretty) and -- directly print to the standard output. putCss :: Css -> IO () -- | Render a stylesheet with a custom configuration and an optional outer -- scope. renderWith :: Config -> [App] -> Css -> Text -- | Render a single CSS Selector. renderSelector :: Selector -> Text withBanner :: Text -> Text instance GHC.Show.Show Clay.Render.Representation module Clay.Pseudo after :: Refinement before :: Refinement firstLetter :: Refinement firstLine :: Refinement selection :: Refinement backdrop :: Refinement link :: Refinement visited :: Refinement active :: Refinement hover :: Refinement focus :: Refinement firstChild :: Refinement lastChild :: Refinement checked :: Refinement default_ :: Refinement disabled :: Refinement empty :: Refinement enabled :: Refinement firstOfType :: Refinement indeterminate :: Refinement inRange :: Refinement invalid :: Refinement lastOfType :: Refinement onlyChild :: Refinement onlyOfType :: Refinement optional :: Refinement outOfRange :: Refinement required :: Refinement root :: Refinement target :: Refinement valid :: Refinement lang :: Text -> Refinement nthChild :: Text -> Refinement nthLastChild :: Text -> Refinement nthLastOfType :: Text -> Refinement nthOfType :: Text -> Refinement not :: Selector -> Refinement module Clay.Media aural :: MediaType braille :: MediaType handheld :: MediaType print :: MediaType projection :: MediaType screen :: MediaType tty :: MediaType tv :: MediaType embossed :: MediaType width :: Size LengthUnit -> Feature minWidth :: Size LengthUnit -> Feature maxWidth :: Size LengthUnit -> Feature height :: Size LengthUnit -> Feature minHeight :: Size LengthUnit -> Feature maxHeight :: Size LengthUnit -> Feature deviceWidth :: Size LengthUnit -> Feature minDeviceWidth :: Size LengthUnit -> Feature maxDeviceWidth :: Size LengthUnit -> Feature deviceHeight :: Size LengthUnit -> Feature minDeviceHeight :: Size LengthUnit -> Feature maxDeviceHeight :: Size LengthUnit -> Feature aspectRatio :: (Integer, Integer) -> Feature minAspectRatio :: (Integer, Integer) -> Feature maxAspectRatio :: (Integer, Integer) -> Feature deviceAspectRatio :: (Integer, Integer) -> Feature minDeviceAspectRatio :: (Integer, Integer) -> Feature maxDeviceAspectRatio :: (Integer, Integer) -> Feature color :: Feature monochrome :: Feature scan :: Feature grid :: Feature minColor :: Integer -> Feature maxColor :: Integer -> Feature colorIndex :: Integer -> Feature minColorIndex :: Integer -> Feature maxColorIndex :: Integer -> Feature minMonochrome :: Integer -> Feature maxMonochrome :: Integer -> Feature resolution :: Val a => a -> Feature minResolution :: Val a => a -> Feature maxResolution :: Val a => a -> Feature data Resolution dpi :: Integer -> Resolution dppx :: Integer -> Resolution instance Clay.Common.Other Clay.Media.Resolution instance Clay.Property.Val Clay.Media.Resolution module Clay.List data ListStyleType listStyleType :: ListStyleType -> Css disc :: ListStyleType armenian :: ListStyleType circleListStyle :: ListStyleType cjkIdeographic :: ListStyleType decimal :: ListStyleType decimalLeadingZero :: ListStyleType georgian :: ListStyleType hebrew :: ListStyleType hiragana :: ListStyleType hiraganaIroha :: ListStyleType katakana :: ListStyleType katakanaIroha :: ListStyleType lowerAlpha :: ListStyleType lowerGreek :: ListStyleType lowerLatin :: ListStyleType lowerRoman :: ListStyleType square :: ListStyleType upperAlpha :: ListStyleType upperLatin :: ListStyleType upperRoman :: ListStyleType data ListStylePosition listStylePosition :: ListStylePosition -> Css inside :: ListStylePosition outside :: ListStylePosition data ListStyleImage listStyleImage :: ListStyleImage -> Css imageUrl :: Text -> ListStyleImage listStyle :: ListStyleType -> ListStylePosition -> ListStyleImage -> Css instance Clay.Common.Other Clay.List.ListStyleImage instance Clay.Common.None Clay.List.ListStyleImage instance Clay.Common.Inherit Clay.List.ListStyleImage instance Clay.Common.Initial Clay.List.ListStyleImage instance Clay.Property.Val Clay.List.ListStyleImage instance Clay.Common.Other Clay.List.ListStylePosition instance Clay.Common.None Clay.List.ListStylePosition instance Clay.Common.Inherit Clay.List.ListStylePosition instance Clay.Common.Initial Clay.List.ListStylePosition instance Clay.Property.Val Clay.List.ListStylePosition instance Clay.Common.Other Clay.List.ListStyleType instance Clay.Common.None Clay.List.ListStyleType instance Clay.Common.Inherit Clay.List.ListStyleType instance Clay.Common.Initial Clay.List.ListStyleType instance Clay.Property.Val Clay.List.ListStyleType module Clay.Geometry size :: Size a -> Css top :: Size a -> Css left :: Size a -> Css bottom :: Size a -> Css right :: Size a -> Css width :: Size a -> Css height :: Size a -> Css minWidth :: Size a -> Css minHeight :: Size a -> Css maxWidth :: Size a -> Css maxHeight :: Size a -> Css padding :: Size a -> Size a -> Size a -> Size a -> Css paddingTop :: Size a -> Css paddingLeft :: Size a -> Css paddingRight :: Size a -> Css paddingBottom :: Size a -> Css margin :: Size a -> Size a -> Size a -> Size a -> Css marginTop :: Size a -> Css marginLeft :: Size a -> Css marginRight :: Size a -> Css marginBottom :: Size a -> Css module Clay.FontFace data FontFaceFormat WOFF :: FontFaceFormat WOFF2 :: FontFaceFormat TrueType :: FontFaceFormat OpenType :: FontFaceFormat EmbeddedOpenType :: FontFaceFormat SVG :: FontFaceFormat data FontFaceSrc FontFaceSrcUrl :: Text -> Maybe FontFaceFormat -> FontFaceSrc FontFaceSrcLocal :: Text -> FontFaceSrc fontFaceSrc :: [FontFaceSrc] -> Css instance GHC.Show.Show Clay.FontFace.FontFaceSrc instance GHC.Show.Show Clay.FontFace.FontFaceFormat instance Clay.Property.Val Clay.FontFace.FontFaceSrc module Clay.Font -- | We implement the generic font property as a type class that accepts -- multiple value types. This allows us to combine different font aspects -- into a shorthand syntax. Fonts require a mandatory part and have a -- optional a part. -- -- http://www.w3.org/TR/css3-fonts/#font-prop class Val a => Font a font :: Font a => a -> Css data Optional Optional :: Maybe FontWeight -> Maybe FontVariant -> Maybe FontStyle -> Optional data Required a Required :: Size a -> Maybe (Size a) -> [Text] -> [GenericFontFamily] -> Required a -- | An alias for color. fontColor :: Color -> Css color :: Color -> Css -- | The fontFamily style rules takes to lists of font families: -- zero or more custom font-families and preferably one or more generic -- font families. fontFamily :: [Text] -> [GenericFontFamily] -> Css sansSerif :: GenericFontFamily serif :: GenericFontFamily monospace :: GenericFontFamily cursive :: GenericFontFamily fantasy :: GenericFontFamily data FontSize fontSize :: Size a -> Css fontSizeCustom :: FontSize -> Css xxSmall :: FontSize xSmall :: FontSize small :: FontSize medium :: FontSize large :: FontSize xLarge :: FontSize xxLarge :: FontSize smaller :: FontSize larger :: FontSize data FontStyle fontStyle :: FontStyle -> Css italic :: FontStyle oblique :: FontStyle data FontVariant fontVariant :: FontVariant -> Css smallCaps :: FontVariant data FontWeight fontWeight :: FontWeight -> Css bold :: FontWeight bolder :: FontWeight lighter :: FontWeight weight :: Integer -> FontWeight data NamedFont caption :: NamedFont icon :: NamedFont menu :: NamedFont messageBox :: NamedFont smallCaption :: NamedFont statusBar :: NamedFont lineHeight :: Size a -> Css instance Clay.Common.Other Clay.Font.NamedFont instance Clay.Property.Val Clay.Font.NamedFont instance Clay.Common.Other Clay.Font.FontWeight instance Clay.Common.Normal Clay.Font.FontWeight instance Clay.Common.Inherit Clay.Font.FontWeight instance Clay.Property.Val Clay.Font.FontWeight instance Clay.Common.Other Clay.Font.FontVariant instance Clay.Common.Normal Clay.Font.FontVariant instance Clay.Common.Inherit Clay.Font.FontVariant instance Clay.Property.Val Clay.Font.FontVariant instance Clay.Common.Other Clay.Font.FontStyle instance Clay.Common.Normal Clay.Font.FontStyle instance Clay.Common.Inherit Clay.Font.FontStyle instance Clay.Property.Val Clay.Font.FontStyle instance Clay.Common.Other Clay.Font.FontSize instance Clay.Common.Auto Clay.Font.FontSize instance Clay.Common.Inherit Clay.Font.FontSize instance Clay.Property.Val Clay.Font.FontSize instance Clay.Common.Other Clay.Font.GenericFontFamily instance Clay.Common.Auto Clay.Font.GenericFontFamily instance Clay.Common.Inherit Clay.Font.GenericFontFamily instance Clay.Property.Val Clay.Font.GenericFontFamily instance Clay.Property.Val Clay.Font.Optional instance Clay.Font.Font (Clay.Font.Optional, Clay.Font.Required a) instance Clay.Property.Val (Clay.Font.Required a) instance Clay.Font.Font (Clay.Font.Required a) module Clay.Flexbox -- | CSS Flexible Box Layout http://dev.w3.org/csswg/css-flexbox-1 class FlexEnd a flexEnd :: FlexEnd a => a class FlexStart a flexStart :: FlexStart a => a class SpaceAround a spaceAround :: SpaceAround a => a class SpaceBetween a spaceBetween :: SpaceBetween a => a class Stretch a stretch :: Stretch a => a newtype AlignContentValue AlignContentValue :: Value -> AlignContentValue alignContent :: AlignContentValue -> Css newtype AlignItemsValue AlignItemValue :: Value -> AlignItemsValue alignItems :: AlignItemsValue -> Css newtype AlignSelfValue AlignSelfValue :: Value -> AlignSelfValue alignSelf :: AlignSelfValue -> Css flex :: Int -> Int -> Size b -> Css flexBasis :: Size a -> Css newtype FlexDirection FlexDirection :: Value -> FlexDirection row :: FlexDirection rowReverse :: FlexDirection column :: FlexDirection columnReverse :: FlexDirection flexDirection :: FlexDirection -> Css flexFlow :: FlexDirection -> FlexWrap -> Css flexGrow :: Int -> Css flexShrink :: Int -> Css newtype FlexWrap FlexWrap :: Value -> FlexWrap nowrap :: FlexWrap wrap :: FlexWrap wrapReverse :: FlexWrap flexWrap :: FlexWrap -> Css newtype JustifyContentValue JustifyContentValue :: Value -> JustifyContentValue justifyContent :: JustifyContentValue -> Css order :: Int -> Css instance Clay.Flexbox.SpaceBetween Clay.Flexbox.JustifyContentValue instance Clay.Flexbox.SpaceAround Clay.Flexbox.JustifyContentValue instance Clay.Flexbox.FlexStart Clay.Flexbox.JustifyContentValue instance Clay.Flexbox.FlexEnd Clay.Flexbox.JustifyContentValue instance Clay.Common.Center Clay.Flexbox.JustifyContentValue instance Clay.Common.Inherit Clay.Flexbox.JustifyContentValue instance Clay.Common.Other Clay.Flexbox.JustifyContentValue instance Clay.Property.Val Clay.Flexbox.JustifyContentValue instance Clay.Common.Other Clay.Flexbox.FlexWrap instance Clay.Property.Val Clay.Flexbox.FlexWrap instance Clay.Common.Other Clay.Flexbox.FlexDirection instance Clay.Property.Val Clay.Flexbox.FlexDirection instance Clay.Flexbox.Stretch Clay.Flexbox.AlignSelfValue instance Clay.Flexbox.FlexStart Clay.Flexbox.AlignSelfValue instance Clay.Flexbox.FlexEnd Clay.Flexbox.AlignSelfValue instance Clay.Common.Center Clay.Flexbox.AlignSelfValue instance Clay.Common.Baseline Clay.Flexbox.AlignSelfValue instance Clay.Common.Auto Clay.Flexbox.AlignSelfValue instance Clay.Common.Inherit Clay.Flexbox.AlignSelfValue instance Clay.Common.Other Clay.Flexbox.AlignSelfValue instance Clay.Property.Val Clay.Flexbox.AlignSelfValue instance Clay.Flexbox.Stretch Clay.Flexbox.AlignItemsValue instance Clay.Flexbox.FlexStart Clay.Flexbox.AlignItemsValue instance Clay.Flexbox.FlexEnd Clay.Flexbox.AlignItemsValue instance Clay.Common.Center Clay.Flexbox.AlignItemsValue instance Clay.Common.Baseline Clay.Flexbox.AlignItemsValue instance Clay.Common.Inherit Clay.Flexbox.AlignItemsValue instance Clay.Common.Other Clay.Flexbox.AlignItemsValue instance Clay.Property.Val Clay.Flexbox.AlignItemsValue instance Clay.Flexbox.Stretch Clay.Flexbox.AlignContentValue instance Clay.Flexbox.SpaceAround Clay.Flexbox.AlignContentValue instance Clay.Flexbox.SpaceBetween Clay.Flexbox.AlignContentValue instance Clay.Common.Center Clay.Flexbox.AlignContentValue instance Clay.Flexbox.FlexEnd Clay.Flexbox.AlignContentValue instance Clay.Flexbox.FlexStart Clay.Flexbox.AlignContentValue instance Clay.Common.Inherit Clay.Flexbox.AlignContentValue instance Clay.Common.Other Clay.Flexbox.AlignContentValue instance Clay.Property.Val Clay.Flexbox.AlignContentValue instance Clay.Flexbox.Stretch Clay.Property.Value instance Clay.Flexbox.SpaceBetween Clay.Property.Value instance Clay.Flexbox.SpaceAround Clay.Property.Value instance Clay.Flexbox.FlexStart Clay.Property.Value instance Clay.Flexbox.FlexEnd Clay.Property.Value module Clay.Filter data Filter filter :: Filter -> Css filters :: [Filter] -> Css url :: Text -> Filter blur :: Size LengthUnit -> Filter brightness :: Double -> Filter contrast :: Size Percentage -> Filter dropShadow :: Size LengthUnit -> Size LengthUnit -> Size LengthUnit -> Color -> Filter grayscale :: Size Percentage -> Filter hueRotate :: Angle a -> Filter invert :: Size Percentage -> Filter opacity :: Size Percentage -> Filter saturate :: Size Percentage -> Filter sepia :: Size Percentage -> Filter instance Clay.Common.Inherit Clay.Filter.Filter instance Clay.Common.None Clay.Filter.Filter instance Clay.Property.Val Clay.Filter.Filter -- | Dynamic user interface element control. This CSS3 functionality is -- still in draft, though it is implemented in several browsers. See -- http://www.w3.org/TR/2000/WD-css3-userint-20000216#dynamic and -- your target browsers' vendor documentation for more information. module Clay.Dynamic -- | Selection mode. data UserInput -- | Enabling user interface elements. userInput :: UserInput -> Css -- | Selection mode. inputEnabled :: UserInput -- | Selection mode. inputDisabled :: UserInput -- | Selection mode. data UserModify -- | Modifiability of an element. userModify :: UserModify -> Css -- | Selection mode. readOnly :: UserModify -- | Selection mode. readWrite :: UserModify -- | Selection mode. writeOnly :: UserModify -- | Selection mode. data UserSelect -- | Content selection granularity. userSelect :: UserSelect -> Css -- | Selection mode. selectText :: UserSelect -- | Selection mode. selectToggle :: UserSelect -- | Selection mode. selectElement :: UserSelect -- | Selection mode. selectElements :: UserSelect -- | Focus behaviour. data UserFocus -- | Content focusing granularity. userFocus :: UserFocus -> Css -- | Focus mode. selectAll :: UserFocus -- | Focus mode. selectBefore :: UserFocus -- | Focus mode. selectAfter :: UserFocus -- | Focus mode. selectSame :: UserFocus -- | Focus mode. selectMenu :: UserFocus instance Clay.Common.Auto Clay.Dynamic.UserFocus instance Clay.Common.Normal Clay.Dynamic.UserFocus instance Clay.Common.None Clay.Dynamic.UserFocus instance Clay.Common.Inherit Clay.Dynamic.UserFocus instance Clay.Property.Val Clay.Dynamic.UserFocus instance Clay.Common.All Clay.Dynamic.UserSelect instance Clay.Common.None Clay.Dynamic.UserSelect instance Clay.Common.Inherit Clay.Dynamic.UserSelect instance Clay.Property.Val Clay.Dynamic.UserSelect instance Clay.Common.Inherit Clay.Dynamic.UserModify instance Clay.Property.Val Clay.Dynamic.UserModify instance Clay.Common.None Clay.Dynamic.UserInput instance Clay.Common.Inherit Clay.Dynamic.UserInput instance Clay.Property.Val Clay.Dynamic.UserInput module Clay.Display float :: FloatStyle -> Css data FloatStyle floatLeft :: FloatStyle floatRight :: FloatStyle clear :: Clear -> Css data Clear both :: Clear clearLeft :: Clear clearRight :: Clear data Position position :: Position -> Css static :: Position absolute :: Position fixed :: Position relative :: Position sticky :: Position data Display display :: Display -> Css inline :: Display block :: Display listItem :: Display runIn :: Display inlineBlock :: Display -- | Deprecated: Use displayTable instead. table :: Display displayTable :: Display inlineTable :: Display tableRowGroup :: Display tableHeaderGroup :: Display tableFooterGroup :: Display tableRow :: Display tableColumnGroup :: Display tableColumn :: Display tableCell :: Display tableCaption :: Display displayNone :: Display displayInherit :: Display flex :: Display inlineFlex :: Display grid :: Display inlineGrid :: Display data Overflow scroll :: Overflow overflow :: Overflow -> Css overflowX :: Overflow -> Css overflowY :: Overflow -> Css data Visibility collapse :: Visibility separate :: Visibility visibility :: Visibility -> Css data Clip clip :: Clip -> Css rect :: Size a -> Size a -> Size a -> Size a -> Clip opacity :: Double -> Css zIndex :: Integer -> Css data PointerEvents pointerEvents :: PointerEvents -> Css visiblePainted :: PointerEvents visibleFill :: PointerEvents visibleStroke :: PointerEvents painted :: PointerEvents fillEvents :: PointerEvents strokeEvents :: PointerEvents allEvents :: PointerEvents class (Val a) => VerticalAlign a verticalAlign :: VerticalAlign a => a -> Css middle :: VerticalAlignValue vAlignSub :: VerticalAlignValue vAlignSuper :: VerticalAlignValue textTop :: VerticalAlignValue textBottom :: VerticalAlignValue vAlignTop :: VerticalAlignValue vAlignBottom :: VerticalAlignValue vAlignBaseline :: VerticalAlignValue class (Val a) => Cursor a cursor :: Cursor a => a -> Css crosshair :: CursorValue Value cursorDefault :: CursorValue Value pointer :: CursorValue Value move :: CursorValue Value eResize :: CursorValue Value neResize :: CursorValue Value nwResize :: CursorValue Value nResize :: CursorValue Value seResize :: CursorValue Value swResize :: CursorValue Value sResize :: CursorValue Value wResize :: CursorValue Value cursorText :: CursorValue Value wait :: CursorValue Value cursorProgress :: CursorValue Value help :: CursorValue Value cursorUrl :: Text -> CursorValue Value instance Clay.Common.Auto (Clay.Display.CursorValue a) instance Clay.Common.Inherit (Clay.Display.CursorValue a) instance Clay.Property.Val (Clay.Display.CursorValue a) instance Clay.Common.Baseline Clay.Display.VerticalAlignValue instance Clay.Property.Val Clay.Display.VerticalAlignValue instance Clay.Common.Inherit Clay.Display.PointerEvents instance Clay.Common.None Clay.Display.PointerEvents instance Clay.Common.Visible Clay.Display.PointerEvents instance Clay.Common.Auto Clay.Display.PointerEvents instance Clay.Common.Other Clay.Display.PointerEvents instance Clay.Property.Val Clay.Display.PointerEvents instance Clay.Common.Inherit Clay.Display.Clip instance Clay.Common.Auto Clay.Display.Clip instance Clay.Common.Other Clay.Display.Clip instance Clay.Property.Val Clay.Display.Clip instance Clay.Common.Visible Clay.Display.Visibility instance Clay.Common.Hidden Clay.Display.Visibility instance Clay.Common.Inherit Clay.Display.Visibility instance Clay.Common.Auto Clay.Display.Visibility instance Clay.Common.Other Clay.Display.Visibility instance Clay.Property.Val Clay.Display.Visibility instance Clay.Common.Visible Clay.Display.Overflow instance Clay.Common.Hidden Clay.Display.Overflow instance Clay.Common.Inherit Clay.Display.Overflow instance Clay.Common.Auto Clay.Display.Overflow instance Clay.Common.Other Clay.Display.Overflow instance Clay.Property.Val Clay.Display.Overflow instance Clay.Common.Inherit Clay.Display.Display instance Clay.Common.None Clay.Display.Display instance Clay.Common.Other Clay.Display.Display instance Clay.Property.Val Clay.Display.Display instance Clay.Common.Inherit Clay.Display.Position instance Clay.Common.Other Clay.Display.Position instance Clay.Property.Val Clay.Display.Position instance Clay.Common.Inherit Clay.Display.Clear instance Clay.Common.None Clay.Display.Clear instance Clay.Common.Other Clay.Display.Clear instance Clay.Property.Val Clay.Display.Clear instance Clay.Common.Inherit Clay.Display.FloatStyle instance Clay.Common.None Clay.Display.FloatStyle instance Clay.Property.Val Clay.Display.FloatStyle instance Clay.Display.Cursor (Clay.Display.CursorValue a) instance Clay.Display.VerticalAlign Clay.Display.VerticalAlignValue instance Clay.Display.VerticalAlign (Clay.Size.Size a) module Clay.Comments -- | Annotate the supplied Css with the supplied comment. Comments -- work with OverloadedStrings. This will annotate every -- non-nested value. commenting :: CommentText -> Css -> Css infixl 3 `commenting` addComment :: CommentText -> Rule -> Rule pattern PartitionComments :: [Modifier] -> Maybe CommentText -> [Modifier] module Clay.Border data Stroke solid :: Stroke dotted :: Stroke dashed :: Stroke double :: Stroke wavy :: Stroke groove :: Stroke ridge :: Stroke inset :: Stroke outset :: Stroke border :: Stroke -> Size LengthUnit -> Color -> Css borderTop :: Stroke -> Size LengthUnit -> Color -> Css borderLeft :: Stroke -> Size LengthUnit -> Color -> Css borderBottom :: Stroke -> Size LengthUnit -> Color -> Css borderRight :: Stroke -> Size LengthUnit -> Color -> Css borderColor4 :: Color -> Color -> Color -> Color -> Css borderColor :: Color -> Css borderLeftColor :: Color -> Css borderRightColor :: Color -> Css borderTopColor :: Color -> Css borderBottomColor :: Color -> Css borderStyle4 :: Stroke -> Stroke -> Stroke -> Stroke -> Css borderStyle :: Stroke -> Css borderLeftStyle :: Stroke -> Css borderRightStyle :: Stroke -> Css borderTopStyle :: Stroke -> Css borderBottomStyle :: Stroke -> Css borderWidth4 :: Size LengthUnit -> Size LengthUnit -> Size LengthUnit -> Size LengthUnit -> Css borderWidth :: Size LengthUnit -> Css borderLeftWidth :: Size LengthUnit -> Css borderRightWidth :: Size LengthUnit -> Css borderTopWidth :: Size LengthUnit -> Css borderBottomWidth :: Size LengthUnit -> Css outline :: Stroke -> Size LengthUnit -> Color -> Css outlineTop :: Stroke -> Size LengthUnit -> Color -> Css outlineLeft :: Stroke -> Size LengthUnit -> Color -> Css outlineBottom :: Stroke -> Size LengthUnit -> Color -> Css outlineRight :: Stroke -> Size LengthUnit -> Color -> Css outlineColor4 :: Color -> Color -> Color -> Color -> Css outlineColor :: Color -> Css outlineLeftColor :: Color -> Css outlineRightColor :: Color -> Css outlineTopColor :: Color -> Css outlineBottomColor :: Color -> Css outlineStyle4 :: Stroke -> Stroke -> Stroke -> Stroke -> Css outlineStyle :: Stroke -> Css outlineLeftStyle :: Stroke -> Css outlineRightStyle :: Stroke -> Css outlineTopStyle :: Stroke -> Css outlineBottomStyle :: Stroke -> Css outlineWidth4 :: Size LengthUnit -> Size LengthUnit -> Size LengthUnit -> Size LengthUnit -> Css outlineWidth :: Size LengthUnit -> Css outlineLeftWidth :: Size LengthUnit -> Css outlineRightWidth :: Size LengthUnit -> Css outlineTopWidth :: Size LengthUnit -> Css outlineBottomWidth :: Size LengthUnit -> Css outlineOffset :: Size LengthUnit -> Css borderRadius :: Size a -> Size a -> Size a -> Size a -> Css borderTopLeftRadius :: Size a -> Size a -> Css borderTopRightRadius :: Size a -> Size a -> Css borderBottomLeftRadius :: Size a -> Size a -> Css borderBottomRightRadius :: Size a -> Size a -> Css borderCollapse :: Visibility -> Css borderSpacing :: Size a -> Css borderSpacing2 :: Size a -> Size a -> Css instance Clay.Common.None Clay.Border.Stroke instance Clay.Common.Auto Clay.Border.Stroke instance Clay.Common.Inherit Clay.Border.Stroke instance Clay.Common.Other Clay.Border.Stroke instance Clay.Property.Val Clay.Border.Stroke module Clay.Box data BoxType paddingBox :: BoxType borderBox :: BoxType contentBox :: BoxType boxSizing :: BoxType -> Css -- | This function will usually take a singleton list, but requiring a -- (non-empty) list prevents accidentally applying the modifiers -- (bsInset, bsColor) incorrectly. -- -- pure (from Control.Applicative) creates a singleton -- list. -- --
-- boxShadow . pure $ none -- boxShadow . pure $ shadow (px 1) (px 1) ---- -- Use with {--} for the simplest list syntax. -- --
-- boxShadow [none] -- boxShadow [shadow (px 1) (px 1)] ---- -- This is recommended for supplying multiple BoxShadow values. -- --
-- boxShadow [shadowWithBlur (em 2) (em 1), bsInset . bsColor red $ shadow (px 1) (px 2)] --boxShadow :: NonEmpty BoxShadow -> Css shadow :: Size a -> Size a -> BoxShadow shadowWithBlur :: Size a -> Size a -> Size a -> BoxShadow -- | While this function is the correct type to work with the sym, -- sym2 or sym3 functions, such applications are unlikely -- to be meaningful. shadowWithSpread :: Size a -> Size a -> Size a -> Size a -> BoxShadow -- | Adapt the provided box-shadow with the inset prefix. -- --
-- boxShadow . pure . bsInset --bsInset :: BoxShadow -> BoxShadow -- | Supply a color to the provided box-shadow. bsColor :: Color -> BoxShadow -> BoxShadow infixr 9 `bsColor` -- | This is the drop-in replacement for the old boxShadow function -- (< 0.13). It is possible to continue for now -- | Deprecated: This function is only present for compatibility -- purposes and will be removed. boxShadow' :: Size a -> Size a -> Size a -> Color -> Css -- | Replace calls to this function as follows (using -XOverloadedLists) -- --
-- boxShadowWithSpread x y rb rs c ---- --
-- boxShadow [c `bsColor` shadowWithSpread x y rb rs] ---- | Deprecated: This function has been replaced with shadowWithSpread -- and bsColor and will be removed. boxShadowWithSpread :: Size a -> Size a -> Size a -> Size a -> Color -> Css -- | Replace calls to this function as follows (using -XOverloadedLists) -- --
-- boxShadows [(x1, y1, rb1, c1), (x2, y2, rb2, c2)] ---- --
-- boxShadow -- [ c1 `bsColor` shadowWithBlur x1 y1 rb1 -- , c2 `bsColor` shadowWithBlur x2 y2 rb2 -- ] ---- | Deprecated: This function is replaced with boxShadow and will be -- removed. boxShadows :: [(Size a, Size a, Size a, Color)] -> Css -- | Replace calls to this function as follows (using -XOverloadedLists) -- --
-- insetBoxShadow s x y rb c ---- --
-- boxShadow [bsInset $ c `bsColor` shadowWithBlur x y rb] ---- | Deprecated: This function has been replaced with shadowWithSpread, -- bsInset and bsColor and will be removed. insetBoxShadow :: Stroke -> Size a -> Size a -> Size a -> Color -> Css instance Clay.Common.Other Clay.Box.BoxShadow instance Clay.Common.None Clay.Box.BoxShadow instance Clay.Common.Unset Clay.Box.BoxShadow instance Clay.Common.Initial Clay.Box.BoxShadow instance Clay.Common.Inherit Clay.Box.BoxShadow instance Clay.Property.Val Clay.Box.BoxShadow instance Clay.Common.Inherit Clay.Box.BoxType instance Clay.Property.Val Clay.Box.BoxType module Clay.Background -- | We implement the generic background property as a type class that -- accepts multiple value types. This allows us to combine different -- background aspects into a shorthand syntax. class Val a => Background a background :: Background a => a -> Css backgroundColor :: Color -> Css data BackgroundPosition backgroundPosition :: BackgroundPosition -> Css backgroundPositions :: [BackgroundPosition] -> Css placed :: Side -> Side -> BackgroundPosition positioned :: Size a -> Size a -> BackgroundPosition data BackgroundSize backgroundSize :: BackgroundSize -> Css backgroundSizes :: [BackgroundSize] -> Css contain :: BackgroundSize cover :: BackgroundSize by :: Size a -> Size b -> BackgroundSize data BackgroundRepeat backgroundRepeat :: BackgroundRepeat -> Css backgroundRepeats :: [BackgroundRepeat] -> Css repeat :: BackgroundRepeat space :: BackgroundRepeat round :: BackgroundRepeat noRepeat :: BackgroundRepeat xyRepeat :: BackgroundRepeat -> BackgroundRepeat -> BackgroundRepeat repeatX :: BackgroundRepeat repeatY :: BackgroundRepeat data BackgroundOrigin backgroundOrigin :: BackgroundOrigin -> Css backgroundOrigins :: [BackgroundOrigin] -> Css origin :: BoxType -> BackgroundOrigin data BackgroundClip backgroundClip :: BackgroundClip -> Css backgroundClips :: [BackgroundClip] -> Css boxClip :: BoxType -> BackgroundClip data BackgroundAttachment backgroundAttachment :: BackgroundAttachment -> Css backgroundAttachments :: [BackgroundAttachment] -> Css attachFixed :: BackgroundAttachment attachScroll :: BackgroundAttachment data BackgroundImage backgroundImage :: BackgroundImage -> Css backgroundImages :: [BackgroundImage] -> Css url :: Text -> BackgroundImage data Side -- | We have to prefix these values to avoid conflict with existing -- property names. sideTop :: Side -- | We have to prefix these values to avoid conflict with existing -- property names. sideLeft :: Side -- | We have to prefix these values to avoid conflict with existing -- property names. sideRight :: Side -- | We have to prefix these values to avoid conflict with existing -- property names. sideBottom :: Side -- | We have to prefix these values to avoid conflict with existing -- property names. sideCenter :: Side -- | We have to prefix these values to avoid conflict with existing -- property names. sideMiddle :: Side data Direction straight :: Side -> Direction angular :: Angle a -> Direction data Location class Val a => Loc a class Val a location :: Loc a => a -> Location instance Clay.Common.Other Clay.Background.Location instance Clay.Property.Val Clay.Background.Location instance Clay.Common.Other Clay.Background.Direction instance Clay.Property.Val Clay.Background.Direction instance Clay.Common.Inherit Clay.Background.Side instance Clay.Common.Other Clay.Background.Side instance Clay.Property.Val Clay.Background.Side instance Clay.Common.Inherit Clay.Background.BackgroundAttachment instance Clay.Property.Val Clay.Background.BackgroundAttachment instance Clay.Common.Other Clay.Background.BackgroundAttachment instance Clay.Common.Inherit Clay.Background.BackgroundClip instance Clay.Common.Other Clay.Background.BackgroundClip instance Clay.Property.Val Clay.Background.BackgroundClip instance Clay.Common.Inherit Clay.Background.BackgroundOrigin instance Clay.Common.Other Clay.Background.BackgroundOrigin instance Clay.Property.Val Clay.Background.BackgroundOrigin instance Clay.Common.None Clay.Background.BackgroundImage instance Clay.Common.Inherit Clay.Background.BackgroundImage instance Clay.Common.Other Clay.Background.BackgroundImage instance Clay.Property.Val Clay.Background.BackgroundImage instance Clay.Common.None Clay.Background.BackgroundRepeat instance Clay.Common.Inherit Clay.Background.BackgroundRepeat instance Clay.Common.Other Clay.Background.BackgroundRepeat instance Clay.Property.Val Clay.Background.BackgroundRepeat instance Clay.Common.Inherit Clay.Background.BackgroundSize instance Clay.Common.Other Clay.Background.BackgroundSize instance Clay.Property.Val Clay.Background.BackgroundSize instance Clay.Common.Inherit Clay.Background.BackgroundPosition instance Clay.Common.Other Clay.Background.BackgroundPosition instance Clay.Property.Val Clay.Background.BackgroundPosition instance Clay.Background.Loc Clay.Background.Side instance Clay.Background.Loc (Clay.Size.Size a) instance (Clay.Background.Loc a, Clay.Background.Loc b) => Clay.Background.Loc (a, b) instance Clay.Background.Background Clay.Background.BackgroundAttachment instance Clay.Background.Background Clay.Background.BackgroundClip instance Clay.Background.Background Clay.Background.BackgroundOrigin instance Clay.Background.Background Clay.Background.BackgroundImage instance Clay.Background.Background Clay.Background.BackgroundRepeat instance Clay.Background.Background Clay.Background.BackgroundSize instance Clay.Common.Auto Clay.Background.BackgroundSize instance Clay.Background.Background Clay.Background.BackgroundPosition instance Clay.Background.Background a => Clay.Background.Background [a] instance (Clay.Background.Background a, Clay.Background.Background b) => Clay.Background.Background (a, b) instance Clay.Background.Background Clay.Color.Color module Clay.Mask -- | We implement the generic mask property as a type class that accepts -- multiple value types. This allows us to combine different mask aspects -- into a shorthand syntax. class Val a => Mask a mask :: Mask a => a -> Css data MaskComposite clear :: MaskComposite copy :: MaskComposite sourceOver :: MaskComposite sourceIn :: MaskComposite sourceOut :: MaskComposite sourceAtop :: MaskComposite destinationOver :: MaskComposite destinationIn :: MaskComposite destinationOut :: MaskComposite destinationAtop :: MaskComposite xor :: MaskComposite maskComposite :: MaskComposite -> Css maskComposites :: [MaskComposite] -> Css maskPosition :: BackgroundPosition -> Css maskPositions :: [BackgroundPosition] -> Css maskSize :: BackgroundSize -> Css maskSizes :: [BackgroundSize] -> Css maskRepeat :: BackgroundRepeat -> Css maskRepeats :: [BackgroundRepeat] -> Css maskOrigin :: BackgroundOrigin -> Css maskOrigins :: [BackgroundOrigin] -> Css maskClip :: BackgroundClip -> Css maskClips :: [BackgroundClip] -> Css maskAttachment :: BackgroundAttachment -> Css maskAttachments :: [BackgroundAttachment] -> Css maskImage :: BackgroundImage -> Css maskImages :: [BackgroundImage] -> Css instance Clay.Common.None Clay.Mask.MaskComposite instance Clay.Common.Inherit Clay.Mask.MaskComposite instance Clay.Common.Other Clay.Mask.MaskComposite instance Clay.Property.Val Clay.Mask.MaskComposite instance Clay.Mask.Mask Clay.Mask.MaskComposite instance Clay.Mask.Mask a => Clay.Mask.Mask [a] instance (Clay.Mask.Mask a, Clay.Mask.Mask b) => Clay.Mask.Mask (a, b) instance Clay.Mask.Mask Clay.Background.BackgroundPosition instance Clay.Mask.Mask Clay.Background.BackgroundSize instance Clay.Mask.Mask Clay.Background.BackgroundRepeat instance Clay.Mask.Mask Clay.Background.BackgroundOrigin instance Clay.Mask.Mask Clay.Background.BackgroundClip instance Clay.Mask.Mask Clay.Background.BackgroundAttachment instance Clay.Mask.Mask Clay.Background.BackgroundImage module Clay.Gradient type Ramp = [(Color, Size Percentage)] linearGradient :: Direction -> Ramp -> BackgroundImage hGradient :: Color -> Color -> BackgroundImage vGradient :: Color -> Color -> BackgroundImage data Radial circle :: Extend -> Radial ellipse :: Extend -> Radial circular :: Size LengthUnit -> Radial elliptical :: Size a -> Size a -> Radial data Extend closestSide :: Extend closestCorner :: Extend farthestSide :: Extend farthestCorner :: Extend radialGradient :: Loc l => l -> Radial -> Ramp -> BackgroundImage repeatingLinearGradient :: Direction -> Ramp -> BackgroundImage hRepeatingGradient :: Color -> Color -> BackgroundImage vRepeatingGradient :: Color -> Color -> BackgroundImage repeatingRadialGradient :: Loc l => l -> Radial -> Ramp -> BackgroundImage instance Clay.Common.Other Clay.Gradient.Extend instance Clay.Property.Val Clay.Gradient.Extend instance Clay.Common.Other Clay.Gradient.Radial instance Clay.Property.Val Clay.Gradient.Radial module Clay.Text letterSpacing :: Size a -> Css wordSpacing :: Size a -> Css data TextRendering textRendering :: TextRendering -> Css optimizeSpeed :: TextRendering optimizeLegibility :: TextRendering geometricPrecision :: TextRendering textShadow :: Size a -> Size a -> Size a -> Color -> Css data TextIndent textIndent :: TextIndent -> Css -- | Annotate the supplied TextIndent with each-line or -- hanging or both. -- --
-- eachLine . hanging . indent $ px 3 :: TextIndent --eachLine :: TextIndent -> TextIndent -- | Annotate the supplied TextIndent with each-line or -- hanging or both. -- --
-- eachLine . hanging . indent $ px 3 :: TextIndent --hanging :: TextIndent -> TextIndent indent :: Size a -> TextIndent data TextDirection direction :: TextDirection -> Css ltr :: TextDirection rtl :: TextDirection data TextAlign textAlign :: TextAlign -> Css justify :: TextAlign matchParent :: TextAlign start :: TextAlign end :: TextAlign alignSide :: Side -> TextAlign alignString :: Char -> TextAlign data WhiteSpace whiteSpace :: WhiteSpace -> Css pre :: WhiteSpace nowrap :: WhiteSpace preWrap :: WhiteSpace preLine :: WhiteSpace data TextDecoration textDecoration :: TextDecoration -> Css textDecorationStyle :: Stroke -> Css textDecorationLine :: TextDecoration -> Css textDecorationColor :: Color -> Css underline :: TextDecoration overline :: TextDecoration lineThrough :: TextDecoration blink :: TextDecoration data TextTransform textTransform :: TextTransform -> Css capitalize :: TextTransform uppercase :: TextTransform lowercase :: TextTransform fullWidth :: TextTransform data TextOverflow textOverflow :: TextOverflow -> Css overflowClip :: TextOverflow overflowEllipsis :: TextOverflow data WordBreak wordBreak :: WordBreak -> Css breakAll :: WordBreak keepAll :: WordBreak data OverflowWrap overflowWrap :: OverflowWrap -> Css wordWrap :: OverflowWrap -> Css breakWord :: OverflowWrap data Content content :: Content -> Css contents :: [Content] -> Css attrContent :: Text -> Content stringContent :: Text -> Content uriContent :: Text -> Content urlContent :: Text -> Content openQuote :: Content closeQuote :: Content noOpenQuote :: Content noCloseQuote :: Content instance Clay.Common.Initial Clay.Text.Content instance Clay.Common.Inherit Clay.Text.Content instance Clay.Common.Normal Clay.Text.Content instance Clay.Common.None Clay.Text.Content instance Clay.Property.Val Clay.Text.Content instance Clay.Common.Initial Clay.Text.TextOverflow instance Clay.Common.Inherit Clay.Text.TextOverflow instance Clay.Common.None Clay.Text.TextOverflow instance Clay.Property.Val Clay.Text.TextOverflow instance Clay.Common.Normal Clay.Text.OverflowWrap instance Clay.Common.Unset Clay.Text.OverflowWrap instance Clay.Common.Initial Clay.Text.OverflowWrap instance Clay.Common.Inherit Clay.Text.OverflowWrap instance Clay.Property.Val Clay.Text.OverflowWrap instance Clay.Common.Normal Clay.Text.WordBreak instance Clay.Common.Unset Clay.Text.WordBreak instance Clay.Common.Initial Clay.Text.WordBreak instance Clay.Common.Inherit Clay.Text.WordBreak instance Clay.Property.Val Clay.Text.WordBreak instance Clay.Common.Inherit Clay.Text.TextTransform instance Clay.Common.None Clay.Text.TextTransform instance Clay.Property.Val Clay.Text.TextTransform instance Clay.Common.Other Clay.Text.TextDecoration instance Clay.Common.Inherit Clay.Text.TextDecoration instance Clay.Common.None Clay.Text.TextDecoration instance Clay.Property.Val Clay.Text.TextDecoration instance Clay.Common.Other Clay.Text.WhiteSpace instance Clay.Common.Inherit Clay.Text.WhiteSpace instance Clay.Common.Normal Clay.Text.WhiteSpace instance Clay.Property.Val Clay.Text.WhiteSpace instance Clay.Common.Center Clay.Text.TextAlign instance Clay.Common.Other Clay.Text.TextAlign instance Clay.Common.Inherit Clay.Text.TextAlign instance Clay.Common.Normal Clay.Text.TextAlign instance Clay.Property.Val Clay.Text.TextAlign instance Clay.Common.Other Clay.Text.TextDirection instance Clay.Common.Inherit Clay.Text.TextDirection instance Clay.Common.Normal Clay.Text.TextDirection instance Clay.Property.Val Clay.Text.TextDirection instance Clay.Common.Other Clay.Text.TextIndent instance Clay.Common.Unset Clay.Text.TextIndent instance Clay.Common.Initial Clay.Text.TextIndent instance Clay.Common.Inherit Clay.Text.TextIndent instance Clay.Property.Val Clay.Text.TextIndent instance Clay.Common.Other Clay.Text.TextRendering instance Clay.Common.Inherit Clay.Text.TextRendering instance Clay.Common.Auto Clay.Text.TextRendering instance Clay.Property.Val Clay.Text.TextRendering module Clay.Time data Time -- | Time in seconds. sec :: Double -> Time -- | Time in milliseconds. ms :: Double -> Time instance Clay.Common.Other Clay.Time.Time instance Clay.Common.None Clay.Time.Time instance Clay.Common.Inherit Clay.Time.Time instance Clay.Common.Normal Clay.Time.Time instance Clay.Common.Auto Clay.Time.Time instance Clay.Property.Val Clay.Time.Time instance GHC.Num.Num Clay.Time.Time instance GHC.Real.Fractional Clay.Time.Time module Clay.Transform data Transformation transform :: Transformation -> Css transforms :: [Transformation] -> Css translate :: Size a -> Size b -> Transformation translateX :: Size LengthUnit -> Transformation translateY :: Size LengthUnit -> Transformation translateZ :: Size LengthUnit -> Transformation translate3d :: Size a -> Size b -> Size LengthUnit -> Transformation scale :: Double -> Double -> Transformation scaleX :: Double -> Transformation scaleY :: Double -> Transformation scaleZ :: Double -> Transformation scale3d :: Double -> Double -> Double -> Transformation rotate :: Angle a -> Transformation rotateX :: Angle a -> Transformation rotateY :: Angle a -> Transformation rotateZ :: Angle a -> Transformation rotate3d :: Double -> Double -> Double -> Angle a -> Transformation skew :: Angle a -> Angle a -> Transformation skewX :: Angle a -> Transformation skewY :: Angle a -> Transformation perspective :: Double -> Transformation matrix :: Double -> Double -> Double -> Double -> Double -> Double -> Transformation matrix3d :: Double -> Double -> Double -> Double -> Double -> Double -> Double -> Double -> Double -> Double -> Double -> Double -> Double -> Double -> Double -> Double -> Transformation instance Clay.Common.None Clay.Transform.Transformation instance Clay.Property.Val Clay.Transform.Transformation module Clay.Transition transition :: Text -> Time -> TimingFunction -> Time -> Css transitions :: [(Text, Time, TimingFunction, Time)] -> Css transitionProperty :: Text -> Css transitionProperties :: [Text] -> Css transitionDuration :: Time -> Css transitionDurations :: [Time] -> Css data TimingFunction transitionTimingFunction :: TimingFunction -> Css transitionTimingFunctions :: [TimingFunction] -> Css ease :: TimingFunction easeIn :: TimingFunction easeOut :: TimingFunction easeInOut :: TimingFunction linear :: TimingFunction stepStart :: TimingFunction -- | Deprecated: Use stepEnd instead. stepStop :: TimingFunction stepsStart :: Integer -> TimingFunction stepsStop :: Integer -> TimingFunction cubicBezier :: Double -> Double -> Double -> Double -> TimingFunction transitionDelay :: Time -> Css transitionDelays :: [Time] -> Css instance Clay.Common.Auto Clay.Transition.TimingFunction instance Clay.Common.Other Clay.Transition.TimingFunction instance Clay.Property.Val Clay.Transition.TimingFunction module Clay.Animation animation :: AnimationName -> Time -> TimingFunction -> Time -> IterationCount -> AnimationDirection -> FillMode -> Css animations :: [(AnimationName, Time, TimingFunction, Time, IterationCount, AnimationDirection, FillMode)] -> Css animationDelay :: Time -> Css animationDelays :: [Time] -> Css data AnimationDirection animationDirection :: AnimationDirection -> Css animationDirections :: [AnimationDirection] -> Css alternate :: AnimationDirection reverse :: AnimationDirection alternateReverse :: AnimationDirection animationDuration :: Time -> Css animationDurations :: [Time] -> Css data IterationCount animationIterationCount :: IterationCount -> Css animationIterationCounts :: [IterationCount] -> Css infinite :: IterationCount iterationCount :: Double -> IterationCount data AnimationName animationName :: AnimationName -> Css data PlayState animationPlayState :: PlayState -> Css running :: PlayState paused :: PlayState data FillMode animationFillMode :: FillMode -> Css forwards :: FillMode backwards :: FillMode animationTimingFunction :: TimingFunction -> Css instance Clay.Common.None Clay.Animation.FillMode instance Clay.Common.Other Clay.Animation.FillMode instance Clay.Property.Val Clay.Animation.FillMode instance Clay.Common.Other Clay.Animation.PlayState instance Clay.Property.Val Clay.Animation.PlayState instance Clay.Common.Unset Clay.Animation.AnimationName instance Clay.Common.Inherit Clay.Animation.AnimationName instance Clay.Common.Initial Clay.Animation.AnimationName instance Data.String.IsString Clay.Animation.AnimationName instance Clay.Common.Other Clay.Animation.AnimationName instance Clay.Property.Val Clay.Animation.AnimationName instance Clay.Common.Normal Clay.Animation.IterationCount instance Clay.Common.Other Clay.Animation.IterationCount instance Clay.Property.Val Clay.Animation.IterationCount instance Clay.Common.Normal Clay.Animation.AnimationDirection instance Clay.Common.Other Clay.Animation.AnimationDirection instance Clay.Property.Val Clay.Animation.AnimationDirection module Clay -- | Render a stylesheet with the default configuration. The pretty printer -- is used by default. render :: Css -> Text -- | Render a stylesheet with a custom configuration and an optional outer -- scope. renderWith :: Config -> [App] -> Css -> Text -- | Render to CSS using the default configuration (pretty) and -- directly print to the standard output. putCss :: Css -> IO () -- | Configuration to print to a pretty human readable CSS output. pretty :: Config -- | Configuration to print to a compacted unreadable CSS output. compact :: Config -- | Render a single CSS Selector. renderSelector :: Selector -> Text -- | 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. type Css = StyleM () -- | 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 ? -- | Assign a stylesheet to a selector. When the selector is nested inside -- an outer scope it will be composed with |>. () :: Selector -> Css -> Css infixr 5 -- | Assign a stylesheet to a filter selector. When the selector is nested -- inside an outer scope it will be composed with the with -- selector. (&) :: Refinement -> Css -> Css infixr 5 & -- | Root is used to add style rules to the top scope. root :: Selector -> Css -> Css -- | 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. pop :: Int -> Css -> Css -- | 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. (-:) :: Key Text -> Text -> Css infix 4 -: -- | Annotate the supplied Css with the supplied comment. Comments -- work with OverloadedStrings. This will annotate every -- non-nested value. commenting :: CommentText -> Css -> Css infixl 3 `commenting` type Selector = Fix SelectorF data Refinement -- | The star selector applies to all elements. Maps to * in CSS. star :: Selector -- | Select elements by name. The preferred syntax is to enable -- OverloadedStrings and actually just use -- "element-name" or use one of the predefined elements from -- Clay.Elements. element :: Text -> Selector -- | The deep selector composer. Maps to sel1 sel2 in CSS. (**) :: Selector -> Selector -> Selector -- | The child selector composer. Maps to sel1 > sel2 in CSS. (|>) :: Selector -> Selector -> Selector -- | The filter selector composer, adds a filter to a selector. Maps to -- something like sel#filter or sel.filter in CSS, -- depending on the filter. (#) :: Selector -> Refinement -> Selector -- | The adjacent selector composer. Maps to sel1 + sel2 in CSS. (|+) :: Selector -> Selector -> Selector -- | Filter elements by id. The preferred syntax is to enable -- OverloadedStrings and use "#id-name". byId :: Text -> Refinement -- | Filter elements by class. The preferred syntax is to enable -- OverloadedStrings and use ".class-name". byClass :: Text -> Refinement -- | Filter elements by pseudo selector or pseudo class. The preferred -- syntax is to enable OverloadedStrings and use -- ":pseudo-selector" or use one of the predefined ones from -- Clay.Pseudo. pseudo :: Text -> Refinement -- | Filter elements by pseudo selector functions. The preferred way is to -- use one of the predefined functions from Clay.Pseudo. func :: Text -> [Text] -> Refinement -- | Filter elements based on the presence of a certain attribute. The -- preferred syntax is to enable OverloadedStrings and use -- "@attr" or use one of the predefined ones from -- Clay.Attributes. attr :: Text -> Refinement -- | Filter elements based on the presence of a certain attribute with the -- specified value. (@=) :: Text -> Text -> Refinement -- | Filter elements based on the presence of a certain attribute that -- begins with the selected value. (^=) :: Text -> Text -> Refinement -- | Filter elements based on the presence of a certain attribute that ends -- with the specified value. ($=) :: Text -> Text -> Refinement -- | Filter elements based on the presence of a certain attribute that -- contains the specified value as a substring. (*=) :: Text -> Text -> Refinement -- | Filter elements based on the presence of a certain attribute that have -- the specified value contained in a space separated list. (~=) :: Text -> Text -> Refinement -- | Filter elements based on the presence of a certain attribute that have -- the specified value contained in a hyphen separated list. (|=) :: Text -> Text -> Refinement -- | Apply a set of style rules when the media type and feature queries -- apply. query :: MediaType -> [Feature] -> Css -> Css -- | Apply a set of style rules when the media type and feature queries do -- not apply. queryNot :: MediaType -> [Feature] -> Css -> Css -- | Apply a set of style rules only when the media type and feature -- queries apply. queryOnly :: MediaType -> [Feature] -> Css -> Css keyframes :: Text -> [(Double, Css)] -> Css keyframesFromTo :: Text -> Css -> Css -> Css -- | Define a new font-face. fontFace :: Css -> Css -- | Indicate the supplied css should override css declarations that would -- otherwise take precedence. -- -- Use sparingly. important :: Css -> Css -- | Import a CSS file from a URL importUrl :: Text -> Css after :: Refinement before :: Refinement firstLetter :: Refinement firstLine :: Refinement selection :: Refinement backdrop :: Refinement link :: Refinement visited :: Refinement active :: Refinement hover :: Refinement focus :: Refinement firstChild :: Refinement lastChild :: Refinement checked :: Refinement disabled :: Refinement empty :: Refinement enabled :: Refinement firstOfType :: Refinement indeterminate :: Refinement inRange :: Refinement invalid :: Refinement lastOfType :: Refinement onlyChild :: Refinement onlyOfType :: Refinement optional :: Refinement outOfRange :: Refinement target :: Refinement valid :: Refinement nthChild :: Text -> Refinement nthLastChild :: Text -> Refinement nthLastOfType :: Text -> Refinement nthOfType :: Text -> Refinement not :: Selector -> Refinement accept :: Refinement acceptCharset :: Refinement accesskey :: Refinement action :: Refinement alt :: Refinement async :: Refinement autocomplete :: Refinement autofocus :: Refinement autoplay :: Refinement challenge :: Refinement charset :: Refinement cols :: Refinement colspan :: Refinement contenteditable :: Refinement contextmenu :: Refinement controls :: Refinement coords :: Refinement crossorigin :: Refinement datetime :: Refinement default_ :: Refinement defer :: Refinement dir :: Refinement dirname :: Refinement download :: Refinement draggable :: Refinement dropzone :: Refinement enctype :: Refinement for :: Refinement formaction :: Refinement formenctype :: Refinement formmethod :: Refinement formnovalidate :: Refinement formtarget :: Refinement headers :: Refinement high :: Refinement href :: Refinement hreflang :: Refinement httpEquiv :: Refinement icon :: Refinement id :: Refinement inert :: Refinement inputmode :: Refinement ismap :: Refinement itemid :: Refinement itemprop :: Refinement itemref :: Refinement itemscope :: Refinement itemtype :: Refinement keytype :: Refinement kind :: Refinement lang :: Refinement list :: Refinement loop :: Refinement low :: Refinement manifest :: Refinement max :: Refinement maxlength :: Refinement media :: Refinement mediagroup :: Refinement method :: Refinement min :: Refinement multiple :: Refinement muted :: Refinement name :: Refinement novalidate :: Refinement open :: Refinement optimum :: Refinement pattern :: Refinement ping :: Refinement placeholder :: Refinement poster :: Refinement preload :: Refinement radiogroup :: Refinement readonly :: Refinement rel :: Refinement required :: Refinement reversed :: Refinement rows :: Refinement rowspan :: Refinement sandbox :: Refinement scope :: Refinement scoped :: Refinement seamless :: Refinement selected :: Refinement shape :: Refinement sizes :: Refinement spellcheck :: Refinement src :: Refinement srcdoc :: Refinement srclang :: Refinement srcset :: Refinement step :: Refinement tabindex :: Refinement type_ :: Refinement typemustmatch :: Refinement usemap :: Refinement wrap :: Refinement -- | Special cases, these items occur both as an HTML tag and an HTML -- attribute. We keep them polymorph. abbr :: IsString a => a -- | Special cases, these items occur both as an HTML tag and an HTML -- attribute. We keep them polymorph. cite :: IsString a => a -- | Special cases, these items occur both as an HTML tag and an HTML -- attribute. We keep them polymorph. command :: IsString a => a -- | Special cases, these items occur both as an HTML tag and an HTML -- attribute. We keep them polymorph. data_ :: IsString a => a -- | Special cases, these items occur both as an HTML tag and an HTML -- attribute. We keep them polymorph. form :: IsString a => a -- | Special cases, these items occur both as an HTML tag and an HTML -- attribute. We keep them polymorph. label :: IsString a => a -- | Special cases, these items occur both as an HTML tag and an HTML -- attribute. We keep them polymorph. span :: IsString a => a -- | Special cases, these items occur both as an HTML tag and an HTML -- attribute. We keep them polymorph. style :: IsString a => a -- | Special cases, these items occur both as an HTML tag and an HTML -- attribute. We keep them polymorph. title :: IsString a => a a :: Selector address :: Selector area :: Selector article :: Selector aside :: Selector audio :: Selector b :: Selector base :: Selector bdi :: Selector bdo :: Selector blockquote :: Selector body :: Selector br :: Selector button :: Selector canvas :: Selector caption :: Selector code :: Selector col :: Selector colgroup :: Selector datalist :: Selector dd :: Selector del :: Selector details :: Selector dfn :: Selector dialog :: Selector div :: Selector dl :: Selector dt :: Selector embed :: Selector fieldset :: Selector figcaption :: Selector figure :: Selector footer :: Selector h1 :: Selector h2 :: Selector h3 :: Selector h4 :: Selector h5 :: Selector h6 :: Selector head :: Selector header :: Selector hgroup :: Selector hr :: Selector html :: Selector i :: Selector iframe :: Selector img :: Selector input :: Selector ins :: Selector kbd :: Selector keygen :: Selector legend :: Selector li :: Selector main_ :: Selector map :: Selector mark :: Selector menu :: Selector meta :: Selector meter :: Selector math :: Selector nav :: Selector noscript :: Selector object :: Selector ol :: Selector optgroup :: Selector option :: Selector output :: Selector p :: Selector param :: Selector pre :: Selector progress :: Selector q :: Selector rp :: Selector rt :: Selector ruby :: Selector s :: Selector samp :: Selector script :: Selector section :: Selector select :: Selector small :: Selector source :: Selector strong :: Selector sub :: Selector summary :: Selector sup :: Selector svg :: Selector table :: Selector tbody :: Selector td :: Selector template :: Selector textarea :: Selector tfoot :: Selector th :: Selector thead :: Selector time :: Selector tr :: Selector track :: Selector u :: Selector ul :: Selector var :: Selector video :: Selector wbr :: Selector class (Val a) => Cursor a cursor :: Cursor a => a -> Css class (Val a) => VerticalAlign a verticalAlign :: VerticalAlign a => a -> Css data PointerEvents data Clip data Visibility data Overflow data Display data Position data Clear data FloatStyle float :: FloatStyle -> Css floatLeft :: FloatStyle floatRight :: FloatStyle both :: Clear clearLeft :: Clear clearRight :: Clear clear :: Clear -> Css static :: Position absolute :: Position fixed :: Position relative :: Position sticky :: Position position :: Position -> Css inline :: Display block :: Display listItem :: Display runIn :: Display inlineBlock :: Display displayTable :: Display inlineTable :: Display tableRowGroup :: Display tableHeaderGroup :: Display tableFooterGroup :: Display tableRow :: Display tableColumnGroup :: Display tableColumn :: Display tableCell :: Display tableCaption :: Display displayNone :: Display displayInherit :: Display flex :: Display inlineFlex :: Display grid :: Display inlineGrid :: Display display :: Display -> Css scroll :: Overflow overflow :: Overflow -> Css overflowX :: Overflow -> Css overflowY :: Overflow -> Css collapse :: Visibility separate :: Visibility visibility :: Visibility -> Css clip :: Clip -> Css rect :: Size a -> Size a -> Size a -> Size a -> Clip opacity :: Double -> Css zIndex :: Integer -> Css visiblePainted :: PointerEvents visibleFill :: PointerEvents visibleStroke :: PointerEvents painted :: PointerEvents fillEvents :: PointerEvents strokeEvents :: PointerEvents allEvents :: PointerEvents pointerEvents :: PointerEvents -> Css middle :: VerticalAlignValue vAlignSub :: VerticalAlignValue vAlignBaseline :: VerticalAlignValue vAlignSuper :: VerticalAlignValue textTop :: VerticalAlignValue textBottom :: VerticalAlignValue vAlignTop :: VerticalAlignValue vAlignBottom :: VerticalAlignValue crosshair :: CursorValue Value cursorDefault :: CursorValue Value pointer :: CursorValue Value move :: CursorValue Value eResize :: CursorValue Value neResize :: CursorValue Value nwResize :: CursorValue Value nResize :: CursorValue Value seResize :: CursorValue Value swResize :: CursorValue Value sResize :: CursorValue Value wResize :: CursorValue Value cursorText :: CursorValue Value wait :: CursorValue Value cursorProgress :: CursorValue Value help :: CursorValue Value cursorUrl :: Text -> CursorValue Value newtype JustifyContentValue JustifyContentValue :: Value -> JustifyContentValue newtype FlexWrap FlexWrap :: Value -> FlexWrap newtype FlexDirection FlexDirection :: Value -> FlexDirection newtype AlignSelfValue AlignSelfValue :: Value -> AlignSelfValue newtype AlignItemsValue AlignItemValue :: Value -> AlignItemsValue newtype AlignContentValue AlignContentValue :: Value -> AlignContentValue class Stretch a stretch :: Stretch a => a class SpaceBetween a spaceBetween :: SpaceBetween a => a class SpaceAround a spaceAround :: SpaceAround a => a class FlexStart a flexStart :: FlexStart a => a -- | CSS Flexible Box Layout http://dev.w3.org/csswg/css-flexbox-1 class FlexEnd a flexEnd :: FlexEnd a => a alignContent :: AlignContentValue -> Css alignItems :: AlignItemsValue -> Css alignSelf :: AlignSelfValue -> Css flexBasis :: Size a -> Css row :: FlexDirection rowReverse :: FlexDirection column :: FlexDirection columnReverse :: FlexDirection flexDirection :: FlexDirection -> Css flexFlow :: FlexDirection -> FlexWrap -> Css flexGrow :: Int -> Css flexShrink :: Int -> Css wrapReverse :: FlexWrap flexWrap :: FlexWrap -> Css justifyContent :: JustifyContentValue -> Css order :: Int -> Css data NamedFont data FontWeight data FontVariant data FontStyle data FontSize data Required a Required :: Size a -> Maybe (Size a) -> [Text] -> [GenericFontFamily] -> Required a data Optional Optional :: Maybe FontWeight -> Maybe FontVariant -> Maybe FontStyle -> Optional -- | We implement the generic font property as a type class that accepts -- multiple value types. This allows us to combine different font aspects -- into a shorthand syntax. Fonts require a mandatory part and have a -- optional a part. -- -- http://www.w3.org/TR/css3-fonts/#font-prop class Val a => Font a font :: Font a => a -> Css -- | An alias for color. fontColor :: Color -> Css color :: Color -> Css sansSerif :: GenericFontFamily serif :: GenericFontFamily monospace :: GenericFontFamily cursive :: GenericFontFamily fantasy :: GenericFontFamily -- | The fontFamily style rules takes to lists of font families: -- zero or more custom font-families and preferably one or more generic -- font families. fontFamily :: [Text] -> [GenericFontFamily] -> Css xxSmall :: FontSize xSmall :: FontSize medium :: FontSize large :: FontSize xLarge :: FontSize xxLarge :: FontSize smaller :: FontSize larger :: FontSize fontSize :: Size a -> Css fontSizeCustom :: FontSize -> Css italic :: FontStyle oblique :: FontStyle fontStyle :: FontStyle -> Css smallCaps :: FontVariant fontVariant :: FontVariant -> Css bold :: FontWeight bolder :: FontWeight lighter :: FontWeight weight :: Integer -> FontWeight fontWeight :: FontWeight -> Css messageBox :: NamedFont smallCaption :: NamedFont statusBar :: NamedFont lineHeight :: Size a -> Css data Content data TextOverflow data OverflowWrap data WordBreak data TextTransform data TextDecoration data WhiteSpace data TextAlign data TextDirection data TextIndent data TextRendering letterSpacing :: Size a -> Css wordSpacing :: Size a -> Css optimizeSpeed :: TextRendering optimizeLegibility :: TextRendering geometricPrecision :: TextRendering textRendering :: TextRendering -> Css textShadow :: Size a -> Size a -> Size a -> Color -> Css -- | Annotate the supplied TextIndent with each-line or -- hanging or both. -- --
-- eachLine . hanging . indent $ px 3 :: TextIndent --eachLine :: TextIndent -> TextIndent -- | Annotate the supplied TextIndent with each-line or -- hanging or both. -- --
-- eachLine . hanging . indent $ px 3 :: TextIndent --hanging :: TextIndent -> TextIndent indent :: Size a -> TextIndent textIndent :: TextIndent -> Css ltr :: TextDirection rtl :: TextDirection direction :: TextDirection -> Css justify :: TextAlign matchParent :: TextAlign start :: TextAlign end :: TextAlign alignSide :: Side -> TextAlign alignString :: Char -> TextAlign textAlign :: TextAlign -> Css whiteSpace :: WhiteSpace -> Css nowrap :: WhiteSpace preWrap :: WhiteSpace preLine :: WhiteSpace underline :: TextDecoration overline :: TextDecoration lineThrough :: TextDecoration blink :: TextDecoration textDecorationLine :: TextDecoration -> Css textDecorationColor :: Color -> Css textDecoration :: TextDecoration -> Css textDecorationStyle :: Stroke -> Css capitalize :: TextTransform uppercase :: TextTransform lowercase :: TextTransform fullWidth :: TextTransform textTransform :: TextTransform -> Css breakAll :: WordBreak keepAll :: WordBreak wordBreak :: WordBreak -> Css breakWord :: OverflowWrap wordWrap :: OverflowWrap -> Css overflowWrap :: OverflowWrap -> Css overflowClip :: TextOverflow overflowEllipsis :: TextOverflow textOverflow :: TextOverflow -> Css attrContent :: Text -> Content stringContent :: Text -> Content uriContent :: Text -> Content urlContent :: Text -> Content openQuote :: Content closeQuote :: Content noOpenQuote :: Content noCloseQuote :: Content content :: Content -> Css contents :: [Content] -> Css data MaskComposite -- | We implement the generic mask property as a type class that accepts -- multiple value types. This allows us to combine different mask aspects -- into a shorthand syntax. class Val a => Mask a mask :: Mask a => a -> Css copy :: MaskComposite sourceOver :: MaskComposite sourceIn :: MaskComposite sourceOut :: MaskComposite sourceAtop :: MaskComposite destinationOver :: MaskComposite destinationIn :: MaskComposite destinationOut :: MaskComposite destinationAtop :: MaskComposite xor :: MaskComposite maskComposite :: MaskComposite -> Css maskComposites :: [MaskComposite] -> Css maskPosition :: BackgroundPosition -> Css maskPositions :: [BackgroundPosition] -> Css maskSize :: BackgroundSize -> Css maskSizes :: [BackgroundSize] -> Css maskRepeat :: BackgroundRepeat -> Css maskRepeats :: [BackgroundRepeat] -> Css maskImage :: BackgroundImage -> Css maskImages :: [BackgroundImage] -> Css maskOrigin :: BackgroundOrigin -> Css maskOrigins :: [BackgroundOrigin] -> Css maskClip :: BackgroundClip -> Css maskClips :: [BackgroundClip] -> Css maskAttachment :: BackgroundAttachment -> Css maskAttachments :: [BackgroundAttachment] -> Css data Filter filter :: Filter -> Css filters :: [Filter] -> Css blur :: Size LengthUnit -> Filter brightness :: Double -> Filter contrast :: Size Percentage -> Filter dropShadow :: Size LengthUnit -> Size LengthUnit -> Size LengthUnit -> Color -> Filter grayscale :: Size Percentage -> Filter hueRotate :: Angle a -> Filter invert :: Size Percentage -> Filter saturate :: Size Percentage -> Filter sepia :: Size Percentage -> Filter