module Clay ( -- * Rendering stylesheets to CSS. render , renderWith , putCss , pretty , compact , renderSelector -- * The @Css@ monad for collecting style rules. , Css , (?) , () , (#) , (|+) , (|~) -- ** Refining selectors. , byId , byClass , pseudo , func -- ** Attribute based refining. , attr , (@=) , (^=) , ($=) , (*=) , (~=) , (|=) -- * Apply media queries. -- $media , query , queryNot , queryOnly -- * Apply key-frame animation. , keyframes , keyframesFromTo -- * Define font-faces. , fontFace -- * !important , important -- * Import other CSS files , importUrl -- * Pseudo elements and classes. , module Clay.Pseudo -- * HTML5 attribute and element names. , module Clay.Attributes , module Clay.Elements -- * Commonly used value types. , module Clay.Size , module Clay.Color , module Clay.Time -- * Values shared between multiple properties. , module Clay.Common -- * Embedded style properties. , module Clay.Background , module Clay.Border , module Clay.Box , module Clay.Display , module Clay.Dynamic , module Clay.Flexbox , module Clay.Font , module Clay.FontFace , module Clay.Geometry , module Clay.Gradient , module Clay.Grid , module Clay.List , module Clay.Text , module Clay.Transform , module Clay.Transition , module Clay.Animation , module Clay.Mask , module Clay.Filter -- * Writing your own properties. , module Clay.Property ) where import Prelude () import Clay.Render import Clay.Stylesheet import Clay.Selector import Clay.Property import Clay.Pseudo hiding (default_, required, root, lang) import Clay.Elements hiding (link, em) import Clay.Attributes hiding ( content, class_, target, checked, disabled , value, width, height, size, translate , hidden, start ) import Clay.Background import Clay.Border import Clay.Box import Clay.Color import Clay.Time import Clay.Comments (commenting) import Clay.Common import Clay.Display hiding (table) import Clay.Dynamic import Clay.Flexbox hiding (flex, nowrap, wrap) import Clay.Font hiding (menu, caption, small, icon) import Clay.FontFace import Clay.Geometry import Clay.Gradient import Clay.Grid import Clay.List import Clay.Size import Clay.Text hiding (pre) import Clay.Transform import Clay.Transition import Clay.Animation import Clay.Mask hiding (clear) import Clay.Filter hiding (url, opacity) -- $media -- -- Because a large part of the names export by "Clay.Media" clash with names -- export by other modules we don't re-export it here and recommend you to -- import the module qualified. -- $comments -- -- It is occasionally useful to output comments in the generated css. -- 'commenting' appends comments (surrounded by '@ /* @' and '@ */@') to the -- values of the supplied 'Css' as -- -- > key: value /* comment */; -- -- Placing the comments before the semicolon ensures they are obviously -- grouped with the preceding value when rendered compactly. -- -- Note that /every/ generated line in the generated content will feature the -- comment. -- -- An empty comment generates '@/* */@'.