module Web.Atomic.CSS
(
Styleable ((~))
, utility
, css
, cls
, display
, Display (..)
, visibility
, Visibility (..)
, width
, height
, minWidth
, minHeight
, position
, Position (..)
, inset
, top
, bottom
, right
, left
, overflow
, flexRow
, flexCol
, grow
, flexDirection
, FlexDirection (..)
, flexWrap
, FlexWrap (..)
, zIndex
, stack
, popup
, pad
, gap
, margin
, bg
, border
, borderWidth
, borderColor
, borderStyle
, BorderStyle (..)
, rounded
, opacity
, shadow
, Shadow
, Inner (..)
, bold
, fontSize
, color
, italic
, underline
, textAlign
, Align (..)
, whiteSpace
, WhiteSpace (..)
, transition
, TransitionProperty (..)
, list
, ListType (..)
, pointer
, hover
, active
, even
, odd
, descendentOf
, media
, Media (..)
, ToColor (..)
, HexColor (..)
, cssResetEmbed
, Property
, Declaration (..)
, Style
, ToStyle (..)
, PropertyStyle (..)
, None (..)
, Auto (..)
, Normal (..)
, Length (..)
, PxRem (..)
, Ms (..)
, Wrap (..)
, Sides (..)
, CSS
, declarations
, rules
) where
import Web.Atomic.CSS.Box hiding (sides, sides')
import Web.Atomic.CSS.Layout
import Web.Atomic.CSS.Reset
import Web.Atomic.CSS.Select hiding (addAncestor, addMedia, addPseudo)
import Web.Atomic.CSS.Text
import Web.Atomic.CSS.Transition
import Web.Atomic.Types
import Prelude hiding (even, odd, truncate)
list :: (ToClassName l, PropertyStyle ListType l, Styleable h) => l -> CSS h -> CSS h
list :: forall l h.
(ToClassName l, PropertyStyle ListType l, Styleable h) =>
l -> CSS h -> CSS h
list l
a =
ClassName -> [Declaration] -> CSS h -> CSS h
forall h.
Styleable h =>
ClassName -> [Declaration] -> CSS h -> CSS h
utility (ClassName
"list" ClassName -> l -> ClassName
forall a. ToClassName a => ClassName -> a -> ClassName
-. l
a) [Property
"list-style-type" Property -> Style -> Declaration
:. forall {k} (property :: k) value.
PropertyStyle property value =>
value -> Style
forall property value.
PropertyStyle property value =>
value -> Style
propertyStyle @ListType l
a]
data ListType
= Decimal
| Disc
deriving (Int -> ListType -> ShowS
[ListType] -> ShowS
ListType -> String
(Int -> ListType -> ShowS)
-> (ListType -> String) -> ([ListType] -> ShowS) -> Show ListType
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ListType -> ShowS
showsPrec :: Int -> ListType -> ShowS
$cshow :: ListType -> String
show :: ListType -> String
$cshowList :: [ListType] -> ShowS
showList :: [ListType] -> ShowS
Show, ListType -> ClassName
(ListType -> ClassName) -> ToClassName ListType
forall a. (a -> ClassName) -> ToClassName a
$ctoClassName :: ListType -> ClassName
toClassName :: ListType -> ClassName
ToClassName, ListType -> Style
(ListType -> Style) -> ToStyle ListType
forall a. (a -> Style) -> ToStyle a
$cstyle :: ListType -> Style
style :: ListType -> Style
ToStyle)
instance PropertyStyle ListType ListType
instance PropertyStyle ListType None
pointer :: (Styleable h) => CSS h -> CSS h
pointer :: forall h. Styleable h => CSS h -> CSS h
pointer = ClassName -> [Declaration] -> CSS h -> CSS h
forall h.
Styleable h =>
ClassName -> [Declaration] -> CSS h -> CSS h
utility ClassName
"pointer" [Property
"cursor" Property -> Style -> Declaration
:. Style
"pointer"]