-- 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.12
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]
filterFromText :: 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
text :: 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.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.Refinement
instance Data.String.IsString (Clay.Selector.Fix Clay.Selector.SelectorF)
instance GHC.Base.Monoid (Clay.Selector.Fix Clay.Selector.SelectorF)
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
intersperse :: 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.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.Show.Show Clay.Property.Value
instance Data.String.IsString (Clay.Property.Key a)
instance GHC.Base.Monoid (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.String.IsString Clay.Property.Prefixed
instance GHC.Base.Monoid Clay.Property.Prefixed
instance Clay.Property.Val Data.Text.Internal.Text
instance Clay.Property.Val Clay.Property.Literal
instance Clay.Property.Val GHC.Integer.Type.Integer
instance Data.Fixed.HasResolution Clay.Property.E5
instance Clay.Property.Val GHC.Types.Double
instance Clay.Property.Val Clay.Property.Value
instance Clay.Property.Val a => Clay.Property.Val (GHC.Base.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]
-- | 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
-- | 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.All Clay.Property.Value
instance Clay.Common.Auto Clay.Property.Value
instance Clay.Common.Baseline Clay.Property.Value
instance Clay.Common.Center Clay.Property.Value
instance Clay.Common.Inherit Clay.Property.Value
instance Clay.Common.Normal Clay.Property.Value
instance Clay.Common.None Clay.Property.Value
instance Clay.Common.Visible Clay.Property.Value
instance Clay.Common.Hidden Clay.Property.Value
instance Clay.Common.Other Clay.Property.Value
instance Clay.Common.Initial Clay.Property.Value
instance Clay.Common.Unset Clay.Property.Value
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
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 :: (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
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.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.Monoid Clay.Stylesheet.Css
-- | 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.FontFace
data FontFaceFormat
WOFF :: 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.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.Render
data Config
Config :: Builder -> Builder -> Builder -> Builder -> Builder -> 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
-- | 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
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.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
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.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.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 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)
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)
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
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 where verticalAlign = key "vertical-align"
verticalAlign :: VerticalAlign a => a -> Css
middle :: VerticalAlignValue
vAlignSub :: VerticalAlignValue
vAlignSuper :: VerticalAlignValue
textTop :: VerticalAlignValue
textBottom :: VerticalAlignValue
vAlignTop :: VerticalAlignValue
vAlignBottom :: VerticalAlignValue
class (Val a) => Cursor a where cursor = key "cursor"
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.VerticalAlign Clay.Display.VerticalAlignValue
instance Clay.Display.VerticalAlign (Clay.Size.Size a)
instance Clay.Display.Cursor (Clay.Display.CursorValue a)
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
boxShadow :: Size a -> Size a -> Size a -> Color -> Css
boxShadowWithSpread :: Size a -> Size a -> Size a -> Size a -> Color -> Css
boxShadows :: [(Size a, Size a, Size a, Color)] -> Css
insetBoxShadow :: Stroke -> Size a -> Size a -> Size a -> Color -> Css
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 where background = key "background"
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 where location = Location . value
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.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
instance Clay.Background.Background Clay.Background.BackgroundPosition
instance Clay.Background.Background Clay.Background.BackgroundSize
instance Clay.Background.Background Clay.Background.BackgroundRepeat
instance Clay.Background.Background Clay.Background.BackgroundOrigin
instance Clay.Background.Background Clay.Background.BackgroundClip
instance Clay.Background.Background Clay.Background.BackgroundAttachment
instance Clay.Background.Background Clay.Background.BackgroundImage
instance Clay.Common.Auto Clay.Background.BackgroundSize
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)
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 where mask = pkey "mask"
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 a => Clay.Mask.Mask [a]
instance (Clay.Mask.Mask a, Clay.Mask.Mask b) => Clay.Mask.Mask (a, b)
instance Clay.Mask.Mask Clay.Mask.MaskComposite
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.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.FlexEnd Clay.Property.Value
instance Clay.Flexbox.FlexStart Clay.Property.Value
instance Clay.Flexbox.SpaceAround Clay.Property.Value
instance Clay.Flexbox.SpaceBetween Clay.Property.Value
instance Clay.Flexbox.Stretch Clay.Property.Value
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 where font = key "font"
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.Property.Val (Clay.Font.Required a)
instance Clay.Font.Font (Clay.Font.Required a)
instance Clay.Font.Font (Clay.Font.Optional, Clay.Font.Required a)
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.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
eachLine :: TextIndent
hanging :: 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.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.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.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
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.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.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 :: Text -> Refinement
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 -:
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
-- | Import a CSS file from a URL
importUrl :: Text -> Css