clay-0.15.0: CSS preprocessor as embedded Haskell.
Safe HaskellNone
LanguageHaskell2010

Clay

Synopsis

Rendering stylesheets to CSS.

render :: Css -> Text #

Render a stylesheet with the default configuration. The pretty printer is used by default.

renderWith :: Config -> [App] -> Css -> Text #

Render a stylesheet with a custom configuration and an optional outer scope.

putCss :: Css -> IO () #

Render to CSS using the default configuration (pretty) and directly print to the standard output.

pretty :: Config #

Configuration to print to a pretty human readable CSS output.

compact :: Config #

Configuration to print to a compacted unreadable CSS output.

renderSelector :: Selector -> Text #

Render a single CSS Selector.

The Css monad for collecting style rules.

type Css = StyleM () #

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.

(?) :: 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 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 |>.

(&) :: Refinement -> 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.

root :: Selector -> Css -> Css #

Root is used to add style rules to the top scope.

pop :: Int -> 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.

(-:) :: Key Text -> Text -> Css infix 4 #

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.

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 '* *'.

commenting :: CommentText -> Css -> Css infixl 3 #

Annotate the supplied Css with the supplied comment. Comments work with OverloadedStrings. This will annotate every non-nested value.

The selector language.

data Refinement #

Instances

Instances details
IsString Refinement # 
Instance details

Defined in Clay.Selector

Monoid Refinement # 
Instance details

Defined in Clay.Selector

Semigroup Refinement # 
Instance details

Defined in Clay.Selector

Show Refinement # 
Instance details

Defined in Clay.Selector

Elements selectors.

star :: Selector #

The star selector applies to all elements. Maps to * in CSS.

element :: Text -> 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.

(**) :: Selector -> Selector -> 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 -> 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 -> Selector -> Selector #

The adjacent selector composer. Maps to sel1 + sel2 in CSS.

(|~) :: Selector -> Selector -> Selector #

The general sibling selector composer. Maps to sel1 ~ sel2 in CSS.

Refining selectors.

byId :: Text -> Refinement #

Filter elements by id. The preferred syntax is to enable OverloadedStrings and use "#id-name".

byClass :: Text -> Refinement #

Filter elements by class. The preferred syntax is to enable OverloadedStrings and use ".class-name".

pseudo :: 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.

func :: Text -> [Text] -> Refinement #

Filter elements by pseudo selector functions. The preferred way is to use one of the predefined functions from Clay.Pseudo.

Attribute based refining.

attr :: 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.

(@=) :: Text -> 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.

Apply media queries.

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.

query :: MediaType -> [Feature] -> Css -> Css #

Apply a set of style rules when the media type and feature queries apply.

queryNot :: MediaType -> [Feature] -> Css -> Css #

Apply a set of style rules when the media type and feature queries do not apply.

queryOnly :: MediaType -> [Feature] -> Css -> Css #

Apply a set of style rules only when the media type and feature queries apply.

Apply key-frame animation.

keyframes :: Text -> [(Number, Css)] -> Css #

Define font-faces.

fontFace :: Css -> Css #

Define a new font-face.

!important

important :: Css -> Css #

Indicate the supplied css should override css declarations that would otherwise take precedence.

Use sparingly.

Import other CSS files

importUrl :: Text -> Css #

Import a CSS file from a URL

Pseudo elements and classes.

HTML5 attribute and element names.

span :: 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.

style :: IsString a => a #

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.

title :: IsString a => a #

Special cases, these items occur both as an HTML tag and an HTML attribute. We keep them polymorph.

Commonly used value types.

module Clay.Size

module Clay.Color

module Clay.Time

Values shared between multiple properties.

Embedded style properties.

module Clay.Box

data Overflow #

Instances

Instances details
Auto Overflow # 
Instance details

Defined in Clay.Display

Methods

auto :: Overflow #

Hidden Overflow # 
Instance details

Defined in Clay.Display

Methods

hidden :: Overflow #

Inherit Overflow # 
Instance details

Defined in Clay.Display

Methods

inherit :: Overflow #

Other Overflow # 
Instance details

Defined in Clay.Display

Methods

other :: Value -> Overflow #

Visible Overflow # 
Instance details

Defined in Clay.Display

Methods

visible :: Overflow #

Val Overflow # 
Instance details

Defined in Clay.Display

Methods

value :: Overflow -> Value #

data Display #

Instances

Instances details
Inherit Display # 
Instance details

Defined in Clay.Display

Methods

inherit :: Display #

None Display # 
Instance details

Defined in Clay.Display

Methods

none :: Display #

Other Display # 
Instance details

Defined in Clay.Display

Methods

other :: Value -> Display #

Val Display # 
Instance details

Defined in Clay.Display

Methods

value :: Display -> Value #

data FloatStyle #

Instances

Instances details
Inherit FloatStyle # 
Instance details

Defined in Clay.Display

Methods

inherit :: FloatStyle #

None FloatStyle # 
Instance details

Defined in Clay.Display

Methods

none :: FloatStyle #

Val FloatStyle # 
Instance details

Defined in Clay.Display

Methods

value :: FloatStyle -> Value #

data Clear #

Instances

Instances details
Inherit Clear # 
Instance details

Defined in Clay.Display

Methods

inherit :: Clear #

None Clear # 
Instance details

Defined in Clay.Display

Methods

none :: Clear #

Other Clear # 
Instance details

Defined in Clay.Display

Methods

other :: Value -> Clear #

Val Clear # 
Instance details

Defined in Clay.Display

Methods

value :: Clear -> Value #

data Position #

Instances

Instances details
Inherit Position # 
Instance details

Defined in Clay.Display

Methods

inherit :: Position #

Other Position # 
Instance details

Defined in Clay.Display

Methods

other :: Value -> Position #

Val Position # 
Instance details

Defined in Clay.Display

Methods

value :: Position -> Value #

data Visibility #

Instances

Instances details
Hidden Visibility # 
Instance details

Defined in Clay.Display

Methods

hidden :: Visibility #

Inherit Visibility # 
Instance details

Defined in Clay.Display

Methods

inherit :: Visibility #

Other Visibility # 
Instance details

Defined in Clay.Display

Methods

other :: Value -> Visibility #

Unset Visibility # 
Instance details

Defined in Clay.Display

Methods

unset :: Visibility #

Visible Visibility # 
Instance details

Defined in Clay.Display

Methods

visible :: Visibility #

Val Visibility # 
Instance details

Defined in Clay.Display

Methods

value :: Visibility -> Value #

data Clip #

Instances

Instances details
Auto Clip # 
Instance details

Defined in Clay.Display

Methods

auto :: Clip #

Inherit Clip # 
Instance details

Defined in Clay.Display

Methods

inherit :: Clip #

Other Clip # 
Instance details

Defined in Clay.Display

Methods

other :: Value -> Clip #

Val Clip # 
Instance details

Defined in Clay.Display

Methods

value :: Clip -> Value #

clip :: Clip -> Css #

rect :: Size a -> Size a -> Size a -> Size a -> Clip #

data PointerEvents #

Instances

Instances details
Auto PointerEvents # 
Instance details

Defined in Clay.Display

Methods

auto :: PointerEvents #

Inherit PointerEvents # 
Instance details

Defined in Clay.Display

None PointerEvents # 
Instance details

Defined in Clay.Display

Methods

none :: PointerEvents #

Other PointerEvents # 
Instance details

Defined in Clay.Display

Methods

other :: Value -> PointerEvents #

Visible PointerEvents # 
Instance details

Defined in Clay.Display

Val PointerEvents # 
Instance details

Defined in Clay.Display

Methods

value :: PointerEvents -> Value #

class Val a => VerticalAlign a where #

Minimal complete definition

Nothing

Methods

verticalAlign :: a -> Css #

Instances

Instances details
VerticalAlign (Size a) # 
Instance details

Defined in Clay.Display

Methods

verticalAlign :: Size a -> Css #

middle :: VerticalAlignValue #

vAlignSub :: VerticalAlignValue #

vAlignSuper :: VerticalAlignValue #

textTop :: VerticalAlignValue #

textBottom :: VerticalAlignValue #

vAlignTop :: VerticalAlignValue #

vAlignBottom :: VerticalAlignValue #

vAlignBaseline :: VerticalAlignValue #

class Val a => Cursor a where #

Minimal complete definition

Nothing

Methods

cursor :: a -> Css #

cursorUrl :: Text -> CursorValue Value #

cursorDefault :: CursorValue Value #

contextMenu :: CursorValue Value #

help :: CursorValue Value #

pointer :: CursorValue Value #

cursorProgress :: CursorValue Value #

wait :: CursorValue Value #

cell :: CursorValue Value #

crosshair :: CursorValue Value #

cursorText :: CursorValue Value #

vText :: CursorValue Value #

alias :: CursorValue Value #

cursorCopy :: CursorValue Value #

move :: CursorValue Value #

noDrop :: CursorValue Value #

notAllowed :: CursorValue Value #

grab :: CursorValue Value #

grabbing :: CursorValue Value #

allScroll :: CursorValue Value #

colResize :: CursorValue Value #

rowResize :: CursorValue Value #

nResize :: CursorValue Value #

eResize :: CursorValue Value #

sResize :: CursorValue Value #

wResize :: CursorValue Value #

neResize :: CursorValue Value #

nwResize :: CursorValue Value #

seResize :: CursorValue Value #

swResize :: CursorValue Value #

ewResize :: CursorValue Value #

nsResize :: CursorValue Value #

neswResize :: CursorValue Value #

nwseResize :: CursorValue Value #

zoomIn :: CursorValue Value #

zoomOut :: CursorValue Value #

class FlexEnd a where #

Methods

flexEnd :: a #

Instances

Instances details
FlexEnd AlignContentValue # 
Instance details

Defined in Clay.Flexbox

FlexEnd AlignItemsValue # 
Instance details

Defined in Clay.Flexbox

FlexEnd AlignSelfValue # 
Instance details

Defined in Clay.Flexbox

FlexEnd JustifyContentValue # 
Instance details

Defined in Clay.Flexbox

FlexEnd Value # 
Instance details

Defined in Clay.Flexbox

Methods

flexEnd :: Value #

class FlexStart a where #

Methods

flexStart :: a #

Instances

Instances details
FlexStart AlignContentValue # 
Instance details

Defined in Clay.Flexbox

FlexStart AlignItemsValue # 
Instance details

Defined in Clay.Flexbox

FlexStart AlignSelfValue # 
Instance details

Defined in Clay.Flexbox

FlexStart JustifyContentValue # 
Instance details

Defined in Clay.Flexbox

FlexStart Value # 
Instance details

Defined in Clay.Flexbox

Methods

flexStart :: Value #

class SpaceAround a where #

Methods

spaceAround :: a #

Instances

Instances details
SpaceAround AlignContentValue # 
Instance details

Defined in Clay.Flexbox

SpaceAround JustifyContentValue # 
Instance details

Defined in Clay.Flexbox

SpaceAround Value # 
Instance details

Defined in Clay.Flexbox

Methods

spaceAround :: Value #

class SpaceBetween a where #

Methods

spaceBetween :: a #

Instances

Instances details
SpaceBetween AlignContentValue # 
Instance details

Defined in Clay.Flexbox

SpaceBetween JustifyContentValue # 
Instance details

Defined in Clay.Flexbox

SpaceBetween Value # 
Instance details

Defined in Clay.Flexbox

Methods

spaceBetween :: Value #

class SpaceEvenly a where #

Methods

spaceEvenly :: a #

Instances

Instances details
SpaceEvenly AlignContentValue # 
Instance details

Defined in Clay.Flexbox

SpaceEvenly JustifyContentValue # 
Instance details

Defined in Clay.Flexbox

SpaceEvenly Value # 
Instance details

Defined in Clay.Flexbox

Methods

spaceEvenly :: Value #

class Stretch a where #

Methods

stretch :: a #

Instances

Instances details
Stretch AlignContentValue # 
Instance details

Defined in Clay.Flexbox

Stretch AlignItemsValue # 
Instance details

Defined in Clay.Flexbox

Stretch AlignSelfValue # 
Instance details

Defined in Clay.Flexbox

Stretch Value # 
Instance details

Defined in Clay.Flexbox

Methods

stretch :: Value #

newtype AlignContentValue #

Constructors

AlignContentValue Value 

Instances

Instances details
Center AlignContentValue # 
Instance details

Defined in Clay.Flexbox

Inherit AlignContentValue # 
Instance details

Defined in Clay.Flexbox

Other AlignContentValue # 
Instance details

Defined in Clay.Flexbox

FlexEnd AlignContentValue # 
Instance details

Defined in Clay.Flexbox

FlexStart AlignContentValue # 
Instance details

Defined in Clay.Flexbox

SpaceAround AlignContentValue # 
Instance details

Defined in Clay.Flexbox

SpaceBetween AlignContentValue # 
Instance details

Defined in Clay.Flexbox

SpaceEvenly AlignContentValue # 
Instance details

Defined in Clay.Flexbox

Stretch AlignContentValue # 
Instance details

Defined in Clay.Flexbox

Val AlignContentValue # 
Instance details

Defined in Clay.Flexbox

newtype AlignItemsValue #

Constructors

AlignItemValue Value 

Instances

Instances details
Baseline AlignItemsValue # 
Instance details

Defined in Clay.Flexbox

Center AlignItemsValue # 
Instance details

Defined in Clay.Flexbox

Inherit AlignItemsValue # 
Instance details

Defined in Clay.Flexbox

Other AlignItemsValue # 
Instance details

Defined in Clay.Flexbox

FlexEnd AlignItemsValue # 
Instance details

Defined in Clay.Flexbox

FlexStart AlignItemsValue # 
Instance details

Defined in Clay.Flexbox

Stretch AlignItemsValue # 
Instance details

Defined in Clay.Flexbox

Val AlignItemsValue # 
Instance details

Defined in Clay.Flexbox

newtype AlignSelfValue #

Constructors

AlignSelfValue Value 

Instances

Instances details
Auto AlignSelfValue # 
Instance details

Defined in Clay.Flexbox

Baseline AlignSelfValue # 
Instance details

Defined in Clay.Flexbox

Center AlignSelfValue # 
Instance details

Defined in Clay.Flexbox

Inherit AlignSelfValue # 
Instance details

Defined in Clay.Flexbox

Other AlignSelfValue # 
Instance details

Defined in Clay.Flexbox

FlexEnd AlignSelfValue # 
Instance details

Defined in Clay.Flexbox

FlexStart AlignSelfValue # 
Instance details

Defined in Clay.Flexbox

Stretch AlignSelfValue # 
Instance details

Defined in Clay.Flexbox

Val AlignSelfValue # 
Instance details

Defined in Clay.Flexbox

newtype FlexDirection #

Constructors

FlexDirection Value 

Instances

Instances details
Other FlexDirection # 
Instance details

Defined in Clay.Flexbox

Methods

other :: Value -> FlexDirection #

Val FlexDirection # 
Instance details

Defined in Clay.Flexbox

Methods

value :: FlexDirection -> Value #

newtype FlexWrap #

Constructors

FlexWrap Value 

Instances

Instances details
Other FlexWrap # 
Instance details

Defined in Clay.Flexbox

Methods

other :: Value -> FlexWrap #

Val FlexWrap # 
Instance details

Defined in Clay.Flexbox

Methods

value :: FlexWrap -> Value #

newtype JustifyContentValue #

Instances

Instances details
Center JustifyContentValue # 
Instance details

Defined in Clay.Flexbox

Inherit JustifyContentValue # 
Instance details

Defined in Clay.Flexbox

Other JustifyContentValue # 
Instance details

Defined in Clay.Flexbox

FlexEnd JustifyContentValue # 
Instance details

Defined in Clay.Flexbox

FlexStart JustifyContentValue # 
Instance details

Defined in Clay.Flexbox

SpaceAround JustifyContentValue # 
Instance details

Defined in Clay.Flexbox

SpaceBetween JustifyContentValue # 
Instance details

Defined in Clay.Flexbox

SpaceEvenly JustifyContentValue # 
Instance details

Defined in Clay.Flexbox

Val JustifyContentValue # 
Instance details

Defined in Clay.Flexbox

order :: Int -> Css #

class Val a => Font a where #

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

Minimal complete definition

Nothing

Methods

font :: a -> Css #

Instances

Instances details
Font (Required a) # 
Instance details

Defined in Clay.Font

Methods

font :: Required a -> Css #

Font (Optional, Required a) # 
Instance details

Defined in Clay.Font

Methods

font :: (Optional, Required a) -> Css #

data Optional #

Instances

Instances details
Val Optional # 
Instance details

Defined in Clay.Font

Methods

value :: Optional -> Value #

Font (Optional, Required a) # 
Instance details

Defined in Clay.Font

Methods

font :: (Optional, Required a) -> Css #

data Required a #

Constructors

Required (Size a) (Maybe (Size a)) [Text] [GenericFontFamily] 

Instances

Instances details
Font (Required a) # 
Instance details

Defined in Clay.Font

Methods

font :: Required a -> Css #

Val (Required a) # 
Instance details

Defined in Clay.Font

Methods

value :: Required a -> Value #

Font (Optional, Required a) # 
Instance details

Defined in Clay.Font

Methods

font :: (Optional, Required a) -> Css #

fontColor :: Color -> Css #

An alias for color.

fontFamily :: [Text] -> [GenericFontFamily] -> 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.

sansSerif :: GenericFontFamily #

serif :: GenericFontFamily #

monospace :: GenericFontFamily #

cursive :: GenericFontFamily #

fantasy :: GenericFontFamily #

data FontSize #

Instances

Instances details
Auto FontSize # 
Instance details

Defined in Clay.Font

Methods

auto :: FontSize #

Inherit FontSize # 
Instance details

Defined in Clay.Font

Methods

inherit :: FontSize #

Other FontSize # 
Instance details

Defined in Clay.Font

Methods

other :: Value -> FontSize #

Val FontSize # 
Instance details

Defined in Clay.Font

Methods

value :: FontSize -> Value #

fontSize :: Size a -> Css #

data FontStyle #

Instances

Instances details
Inherit FontStyle # 
Instance details

Defined in Clay.Font

Methods

inherit :: FontStyle #

Normal FontStyle # 
Instance details

Defined in Clay.Font

Methods

normal :: FontStyle #

Other FontStyle # 
Instance details

Defined in Clay.Font

Methods

other :: Value -> FontStyle #

Val FontStyle # 
Instance details

Defined in Clay.Font

Methods

value :: FontStyle -> Value #

data FontVariant #

Instances

Instances details
Inherit FontVariant # 
Instance details

Defined in Clay.Font

Normal FontVariant # 
Instance details

Defined in Clay.Font

Methods

normal :: FontVariant #

Other FontVariant # 
Instance details

Defined in Clay.Font

Methods

other :: Value -> FontVariant #

Val FontVariant # 
Instance details

Defined in Clay.Font

Methods

value :: FontVariant -> Value #

data FontWeight #

Instances

Instances details
Inherit FontWeight # 
Instance details

Defined in Clay.Font

Methods

inherit :: FontWeight #

Normal FontWeight # 
Instance details

Defined in Clay.Font

Methods

normal :: FontWeight #

Other FontWeight # 
Instance details

Defined in Clay.Font

Methods

other :: Value -> FontWeight #

Val FontWeight # 
Instance details

Defined in Clay.Font

Methods

value :: FontWeight -> Value #

data NamedFont #

Instances

Instances details
Other NamedFont # 
Instance details

Defined in Clay.Font

Methods

other :: Value -> NamedFont #

Val NamedFont # 
Instance details

Defined in Clay.Font

Methods

value :: NamedFont -> Value #

module Clay.Grid

module Clay.List

data TextRendering #

Instances

Instances details
Auto TextRendering # 
Instance details

Defined in Clay.Text

Methods

auto :: TextRendering #

Inherit TextRendering # 
Instance details

Defined in Clay.Text

Other TextRendering # 
Instance details

Defined in Clay.Text

Methods

other :: Value -> TextRendering #

Val TextRendering # 
Instance details

Defined in Clay.Text

Methods

value :: TextRendering -> Value #

textShadow :: Size a -> Size a -> Size a -> Color -> Css #

data TextIndent #

Instances

Instances details
Inherit TextIndent # 
Instance details

Defined in Clay.Text

Methods

inherit :: TextIndent #

Initial TextIndent # 
Instance details

Defined in Clay.Text

Methods

initial :: TextIndent #

Other TextIndent # 
Instance details

Defined in Clay.Text

Methods

other :: Value -> TextIndent #

Unset TextIndent # 
Instance details

Defined in Clay.Text

Methods

unset :: TextIndent #

Val TextIndent # 
Instance details

Defined in Clay.Text

Methods

value :: TextIndent -> Value #

eachLine :: TextIndent -> TextIndent #

Annotate the supplied TextIndent with each-line or hanging or both.

eachLine . hanging . indent $ px 3 :: TextIndent

hanging :: TextIndent -> TextIndent #

Annotate the supplied TextIndent with each-line or hanging or both.

eachLine . hanging . indent $ px 3 :: TextIndent

data TextDirection #

Instances

Instances details
Inherit TextDirection # 
Instance details

Defined in Clay.Text

Normal TextDirection # 
Instance details

Defined in Clay.Text

Other TextDirection # 
Instance details

Defined in Clay.Text

Methods

other :: Value -> TextDirection #

Val TextDirection # 
Instance details

Defined in Clay.Text

Methods

value :: TextDirection -> Value #

data TextAlign #

Instances

Instances details
Center TextAlign # 
Instance details

Defined in Clay.Text

Methods

center :: TextAlign #

Inherit TextAlign # 
Instance details

Defined in Clay.Text

Methods

inherit :: TextAlign #

Normal TextAlign # 
Instance details

Defined in Clay.Text

Methods

normal :: TextAlign #

Other TextAlign # 
Instance details

Defined in Clay.Text

Methods

other :: Value -> TextAlign #

Val TextAlign # 
Instance details

Defined in Clay.Text

Methods

value :: TextAlign -> Value #

data WhiteSpace #

Instances

Instances details
Inherit WhiteSpace # 
Instance details

Defined in Clay.Text

Methods

inherit :: WhiteSpace #

Normal WhiteSpace # 
Instance details

Defined in Clay.Text

Methods

normal :: WhiteSpace #

Other WhiteSpace # 
Instance details

Defined in Clay.Text

Methods

other :: Value -> WhiteSpace #

Val WhiteSpace # 
Instance details

Defined in Clay.Text

Methods

value :: WhiteSpace -> Value #

data TextDecoration #

Instances

Instances details
Inherit TextDecoration # 
Instance details

Defined in Clay.Text

None TextDecoration # 
Instance details

Defined in Clay.Text

Other TextDecoration # 
Instance details

Defined in Clay.Text

Val TextDecoration # 
Instance details

Defined in Clay.Text

data TextTransform #

Instances

Instances details
Inherit TextTransform # 
Instance details

Defined in Clay.Text

None TextTransform # 
Instance details

Defined in Clay.Text

Methods

none :: TextTransform #

Val TextTransform # 
Instance details

Defined in Clay.Text

Methods

value :: TextTransform -> Value #

data TextOverflow #

Instances

Instances details
Inherit TextOverflow # 
Instance details

Defined in Clay.Text

Initial TextOverflow # 
Instance details

Defined in Clay.Text

None TextOverflow # 
Instance details

Defined in Clay.Text

Methods

none :: TextOverflow #

Val TextOverflow # 
Instance details

Defined in Clay.Text

Methods

value :: TextOverflow -> Value #

data WordBreak #

Instances

Instances details
Inherit WordBreak # 
Instance details

Defined in Clay.Text

Methods

inherit :: WordBreak #

Initial WordBreak # 
Instance details

Defined in Clay.Text

Methods

initial :: WordBreak #

Normal WordBreak # 
Instance details

Defined in Clay.Text

Methods

normal :: WordBreak #

Unset WordBreak # 
Instance details

Defined in Clay.Text

Methods

unset :: WordBreak #

Val WordBreak # 
Instance details

Defined in Clay.Text

Methods

value :: WordBreak -> Value #

data OverflowWrap #

Instances

Instances details
Inherit OverflowWrap # 
Instance details

Defined in Clay.Text

Initial OverflowWrap # 
Instance details

Defined in Clay.Text

Normal OverflowWrap # 
Instance details

Defined in Clay.Text

Unset OverflowWrap # 
Instance details

Defined in Clay.Text

Methods

unset :: OverflowWrap #

Val OverflowWrap # 
Instance details

Defined in Clay.Text

Methods

value :: OverflowWrap -> Value #

hyphens :: Hyphens -> Css #

Specifies how words should be hyphenated.

Possible values are:

none
No hyphenation. Words will not be hyphenated even if it is explicitly suggested for a word.
manual
Manual hyphenation. Specific characters such as &shy; in a word will suggest break points. This is the default.
auto
Automatic hyphenation. The browser is free to hyphenate words as it sees fit. However, explicitly suggested break points will take precedence.

For example,

>>> hyphens auto

The hyphenation rules depend on the language, which must be specified by the lang attribute.

For reference, see hyphens.

hyphenateCharacter :: HyphenateCharacter -> Css #

Customizes the character used for hyphenation.

For example,

>>> hyphenateCharacter "~"

For reference, see hyphenate-character.

hyphenateLimitChars #

Arguments

:: HyphenateLimit

Minimum length of a word which can be hyphenated.

-> HyphenateLimit

Minimum number of characters allowed before a break point.

-> HyphenateLimit

Minimum number of characters allowed after a break point.

-> Css 

Adjusts the minumum number of characters involved in hyphenation.

I.e., specifies the minumum number of characters allowed in a breakable word, before a break point, and after a break point when hyphenating a word.

For example,

>>> hyphenateLimitChars 14 auto auto

For reference, see hyphenate-limit-chars.

manual :: Hyphens #

Value for hyphens specifying that hyphenation be manual.

data Hyphens #

Type for values which can be provided to hyphens.

Instances

Instances details
Auto Hyphens # 
Instance details

Defined in Clay.Text

Methods

auto :: Hyphens #

Inherit Hyphens # 
Instance details

Defined in Clay.Text

Methods

inherit :: Hyphens #

Initial Hyphens # 
Instance details

Defined in Clay.Text

Methods

initial :: Hyphens #

None Hyphens # 
Instance details

Defined in Clay.Text

Methods

none :: Hyphens #

Other Hyphens # 
Instance details

Defined in Clay.Text

Methods

other :: Value -> Hyphens #

Unset Hyphens # 
Instance details

Defined in Clay.Text

Methods

unset :: Hyphens #

Val Hyphens # 
Instance details

Defined in Clay.Text

Methods

value :: Hyphens -> Value #

data HyphenateCharacter #

Type for values which can be provided to hyphenateCharacter.

Instances

Instances details
IsString HyphenateCharacter # 
Instance details

Defined in Clay.Text

Auto HyphenateCharacter # 
Instance details

Defined in Clay.Text

Inherit HyphenateCharacter # 
Instance details

Defined in Clay.Text

Initial HyphenateCharacter # 
Instance details

Defined in Clay.Text

Other HyphenateCharacter # 
Instance details

Defined in Clay.Text

Unset HyphenateCharacter # 
Instance details

Defined in Clay.Text

Val HyphenateCharacter # 
Instance details

Defined in Clay.Text

data HyphenateLimit #

Type for values which can be provded to hyphenateLimitChars.

Instances

Instances details
Num HyphenateLimit # 
Instance details

Defined in Clay.Text

Auto HyphenateLimit # 
Instance details

Defined in Clay.Text

Inherit HyphenateLimit # 
Instance details

Defined in Clay.Text

Initial HyphenateLimit # 
Instance details

Defined in Clay.Text

Other HyphenateLimit # 
Instance details

Defined in Clay.Text

Unset HyphenateLimit # 
Instance details

Defined in Clay.Text

Val HyphenateLimit # 
Instance details

Defined in Clay.Text

data Content #

Instances

Instances details
Inherit Content # 
Instance details

Defined in Clay.Text

Methods

inherit :: Content #

Initial Content # 
Instance details

Defined in Clay.Text

Methods

initial :: Content #

None Content # 
Instance details

Defined in Clay.Text

Methods

none :: Content #

Normal Content # 
Instance details

Defined in Clay.Text

Methods

normal :: Content #

Val Content # 
Instance details

Defined in Clay.Text

Methods

value :: Content -> Value #

class Val a => Mask a where #

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.

Minimal complete definition

Nothing

Methods

mask :: a -> Css #

Instances

Instances details
Mask BackgroundAttachment # 
Instance details

Defined in Clay.Mask

Mask BackgroundClip # 
Instance details

Defined in Clay.Mask

Methods

mask :: BackgroundClip -> Css #

Mask BackgroundImage # 
Instance details

Defined in Clay.Mask

Methods

mask :: BackgroundImage -> Css #

Mask BackgroundOrigin # 
Instance details

Defined in Clay.Mask

Methods

mask :: BackgroundOrigin -> Css #

Mask BackgroundPosition # 
Instance details

Defined in Clay.Mask

Mask BackgroundRepeat # 
Instance details

Defined in Clay.Mask

Methods

mask :: BackgroundRepeat -> Css #

Mask BackgroundSize # 
Instance details

Defined in Clay.Mask

Methods

mask :: BackgroundSize -> Css #

Mask MaskComposite # 
Instance details

Defined in Clay.Mask

Methods

mask :: MaskComposite -> Css #

Mask a => Mask [a] # 
Instance details

Defined in Clay.Mask

Methods

mask :: [a] -> Css #

(Mask a, Mask b) => Mask (a, b) # 
Instance details

Defined in Clay.Mask

Methods

mask :: (a, b) -> Css #

data MaskComposite #

Instances

Instances details
Inherit MaskComposite # 
Instance details

Defined in Clay.Mask

None MaskComposite # 
Instance details

Defined in Clay.Mask

Methods

none :: MaskComposite #

Other MaskComposite # 
Instance details

Defined in Clay.Mask

Methods

other :: Value -> MaskComposite #

Mask MaskComposite # 
Instance details

Defined in Clay.Mask

Methods

mask :: MaskComposite -> Css #

Val MaskComposite # 
Instance details

Defined in Clay.Mask

Methods

value :: MaskComposite -> Value #

data Filter #

Instances

Instances details
Inherit Filter # 
Instance details

Defined in Clay.Filter

Methods

inherit :: Filter #

None Filter # 
Instance details

Defined in Clay.Filter

Methods

none :: Filter #

Val Filter # 
Instance details

Defined in Clay.Filter

Methods

value :: Filter -> Value #

Writing your own properties.