| Copyright | (C) 2016-2025 David M. Johnson |
|---|---|
| License | BSD3-style (see the file LICENSE) |
| Maintainer | David M. Johnson <code@dmj.io> |
| Stability | experimental |
| Portability | non-portable |
| Safe Haskell | None |
| Language | Haskell2010 |
Miso.CSS
Description
Module for constructing CSS styles and stylesheets in miso
Synopsis
- module Miso.CSS.Types
- style_ :: [Style] -> Attribute action
- styleInline_ :: MisoString -> Attribute action
- sheet_ :: [Styles] -> StyleSheet
- selector_ :: MisoString -> [Style] -> Styles
- renderStyleSheet :: StyleSheet -> MisoString
- alignContent :: MisoString -> Style
- alignItems :: MisoString -> Style
- alignSelf :: MisoString -> Style
- animationDelay :: MisoString -> Style
- animationDirection :: MisoString -> Style
- animationDuration :: MisoString -> Style
- animationFillMode :: MisoString -> Style
- animationIterationCount :: MisoString -> Style
- animation :: MisoString -> Style
- animationName :: MisoString -> Style
- animationPlayState :: MisoString -> Style
- animationTimingFunction :: MisoString -> Style
- aspectRatio :: MisoString -> Style
- backgroundClip :: MisoString -> Style
- backgroundColor :: Color -> Style
- backgroundImage :: MisoString -> Style
- background :: MisoString -> Style
- backgroundOrigin :: MisoString -> Style
- backgroundPosition :: MisoString -> Style
- backgroundRepeat :: MisoString -> Style
- backgroundSize :: MisoString -> Style
- borderBottomColor :: Color -> Style
- borderBottomLeftRadius :: MisoString -> Style
- borderBottom :: MisoString -> Style
- borderBottomRightRadius :: MisoString -> Style
- borderBottomStyle :: MisoString -> Style
- borderBottomWidth :: MisoString -> Style
- borderCollapse :: MisoString -> Style
- borderColor :: Color -> Style
- borderEndEndRadius :: MisoString -> Style
- borderEndStartRadius :: MisoString -> Style
- borderInlineEndColor :: Color -> Style
- borderInlineEndStyle :: MisoString -> Style
- borderInlineEndWidth :: MisoString -> Style
- borderInlineStartColor :: Color -> Style
- borderInlineStartStyle :: MisoString -> Style
- borderInlineStartWidth :: MisoString -> Style
- borderLeftColor :: Color -> Style
- borderLeft :: MisoString -> Style
- borderLeftStyle :: MisoString -> Style
- borderLeftWidth :: MisoString -> Style
- border :: MisoString -> Style
- borderRadius :: MisoString -> Style
- borderRightColor :: Color -> Style
- borderRight :: MisoString -> Style
- borderRightStyle :: MisoString -> Style
- borderRightWidth :: MisoString -> Style
- borderStartEndRadius :: MisoString -> Style
- borderStartStartRadius :: MisoString -> Style
- borderStyle :: MisoString -> Style
- borderTopColor :: Color -> Style
- borderTopLeftRadius :: MisoString -> Style
- borderTop :: MisoString -> Style
- borderTopRightRadius :: MisoString -> Style
- borderTopStyle :: MisoString -> Style
- borderTopWidth :: MisoString -> Style
- borderWidth :: MisoString -> Style
- bottom :: MisoString -> Style
- boxShadow :: MisoString -> Style
- boxSizing :: MisoString -> Style
- clipPath :: MisoString -> Style
- color :: Color -> Style
- columnGap :: MisoString -> Style
- cssVariable :: MisoString -> Style
- cursor :: MisoString -> Style
- direction :: MisoString -> Style
- display :: MisoString -> Style
- fill :: MisoString -> Style
- filter :: MisoString -> Style
- flexBasis :: MisoString -> Style
- flexDirection :: MisoString -> Style
- flexFlow :: MisoString -> Style
- flexGrow :: MisoString -> Style
- flex :: MisoString -> Style
- flexShrink :: MisoString -> Style
- flexWrap :: MisoString -> Style
- fontFamily :: MisoString -> Style
- fontSize :: MisoString -> Style
- fontStyle :: MisoString -> Style
- fontWeight :: MisoString -> Style
- gap :: MisoString -> Style
- gridAutoColumns :: MisoString -> Style
- gridAutoFlow :: MisoString -> Style
- gridAutoRows :: MisoString -> Style
- gridColumnEnd :: MisoString -> Style
- gridColumnSpan :: MisoString -> Style
- gridColumnStart :: MisoString -> Style
- gridRowEnd :: MisoString -> Style
- gridRowSpan :: MisoString -> Style
- gridRowStart :: MisoString -> Style
- gridTemplateColumns :: MisoString -> Style
- gridTemplateRows :: MisoString -> Style
- height :: MisoString -> Style
- imageRendering :: MisoString -> Style
- insetInlineEnd :: MisoString -> Style
- insetInlineStart :: MisoString -> Style
- justifyContent :: MisoString -> Style
- justifyItems :: MisoString -> Style
- justifySelf :: MisoString -> Style
- left :: MisoString -> Style
- letterSpacing :: MisoString -> Style
- linearCrossGravity :: MisoString -> Style
- linearDirection :: MisoString -> Style
- linearGravity :: MisoString -> Style
- linearLayoutGravity :: MisoString -> Style
- linearWeight :: MisoString -> Style
- linearWeightSum :: MisoString -> Style
- lineHeight :: MisoString -> Style
- marginBottom :: MisoString -> Style
- marginInlineEnd :: MisoString -> Style
- marginInlineStart :: MisoString -> Style
- marginLeft :: MisoString -> Style
- margin :: MisoString -> Style
- marginRight :: MisoString -> Style
- marginTop :: MisoString -> Style
- maskImage :: MisoString -> Style
- mask :: MisoString -> Style
- maxHeight :: MisoString -> Style
- maxWidth :: MisoString -> Style
- minHeight :: MisoString -> Style
- minWidth :: MisoString -> Style
- opacity :: MisoString -> Style
- order :: MisoString -> Style
- overflow :: MisoString -> Style
- overflowX :: MisoString -> Style
- overflowY :: MisoString -> Style
- paddingBottom :: MisoString -> Style
- paddingInlineEnd :: MisoString -> Style
- paddingInlineStart :: MisoString -> Style
- paddingLeft :: MisoString -> Style
- padding :: MisoString -> Style
- paddingRight :: MisoString -> Style
- paddingTop :: MisoString -> Style
- perspective :: MisoString -> Style
- position :: MisoString -> Style
- relativeAlignBottom :: MisoString -> Style
- relativeAlignInlineEnd :: MisoString -> Style
- relativeAlignInlineStart :: MisoString -> Style
- relativeAlignLeft :: MisoString -> Style
- relativeAlignRight :: MisoString -> Style
- relativeAlignTop :: MisoString -> Style
- relativeBottomOf :: MisoString -> Style
- relativeCenter :: MisoString -> Style
- relativeId :: MisoString -> Style
- relativeInlineEndOf :: MisoString -> Style
- relativeInlineStartOf :: MisoString -> Style
- relativeLayoutOnce :: MisoString -> Style
- relativeLeftOf :: MisoString -> Style
- relativeRightOf :: MisoString -> Style
- relativeTopOf :: MisoString -> Style
- right :: MisoString -> Style
- rowGap :: MisoString -> Style
- stroke :: MisoString -> Style
- strokeWidth :: MisoString -> Style
- textAlign :: MisoString -> Style
- textDecoration :: MisoString -> Style
- textIndent :: MisoString -> Style
- textOverflow :: MisoString -> Style
- textShadow :: MisoString -> Style
- textStrokeColor :: Color -> Style
- textStroke :: MisoString -> Style
- textStrokeWidth :: MisoString -> Style
- top :: MisoString -> Style
- transform :: MisoString -> Style
- transformOrigin :: MisoString -> Style
- transitionDelay :: MisoString -> Style
- transitionDuration :: MisoString -> Style
- transition :: MisoString -> Style
- transitionProperty :: MisoString -> Style
- transitionTimingFunction :: MisoString -> Style
- verticalAlign :: MisoString -> Style
- visibility :: MisoString -> Style
- whiteSpace :: MisoString -> Style
- width :: MisoString -> Style
- wordBreak :: MisoString -> Style
- xAutoFontSize :: MisoString -> Style
- xAutoFontSizePresetSizes :: MisoString -> Style
- xHandleColor :: Color -> Style
- xHandleSize :: MisoString -> Style
- zIndex :: MisoString -> Style
- module Miso.CSS.Color
- px :: Int -> MisoString
- ppx :: Double -> MisoString
- pct :: Double -> MisoString
- pt :: Int -> MisoString
- vw :: Double -> MisoString
- vh :: Double -> MisoString
- deg :: Double -> MisoString
- turn :: Double -> MisoString
- rad :: Double -> MisoString
- rpx :: Double -> MisoString
- rem :: Double -> MisoString
- em :: Double -> MisoString
- s :: Double -> MisoString
- ms :: Double -> MisoString
- url :: MisoString -> MisoString
- matrix :: Double -> Double -> Double -> Double -> Double -> Double -> MisoString
- keyframes_ :: MisoString -> [(MisoString, [Style])] -> Styles
- media_ :: MisoString -> [(MisoString, [Style])] -> Styles
Types
module Miso.CSS.Types
Smart Constructor
style_ :: [Style] -> Attribute action Source #
style_ is an attribute that will set the style
attribute of the associated DOM node to attrs.
style attributes not contained in attrs will be deleted.
div_ [ style_ [ backgroundColor "red" ] [ ]
styleInline_ :: MisoString -> Attribute action Source #
Set "style" property
view m = div_ [ styleInline_ "background-color:red;color:blue;" ] [ "foo" ]
sheet_ :: [Styles] -> StyleSheet Source #
Smart constructor for StyleSheet
selector_ :: MisoString -> [Style] -> Styles Source #
Used when constructing a StyleSheet
sheet_
[ selector_ ".name"
[ backgroundColor red
, alignContent "top"
]
]
Render
renderStyleSheet :: StyleSheet -> MisoString Source #
Render StyleSheet as MisoString
Combinators
alignContent :: MisoString -> Style Source #
alignItems :: MisoString -> Style Source #
alignSelf :: MisoString -> Style Source #
animationDelay :: MisoString -> Style Source #
animationDirection :: MisoString -> Style Source #
animationDuration :: MisoString -> Style Source #
animationFillMode :: MisoString -> Style Source #
animationName :: MisoString -> Style Source #
animationPlayState :: MisoString -> Style Source #
https://developer.mozilla.org/en-US/docs/Web/CSS/animation-play-state > style_ [ animationPlayState =: "value" ]
aspectRatio :: MisoString -> Style Source #
backgroundClip :: MisoString -> Style Source #
backgroundColor :: Color -> Style Source #
backgroundImage :: MisoString -> Style Source #
background :: MisoString -> Style Source #
backgroundOrigin :: MisoString -> Style Source #
backgroundPosition :: MisoString -> Style Source #
backgroundRepeat :: MisoString -> Style Source #
backgroundSize :: MisoString -> Style Source #
borderBottomColor :: Color -> Style Source #
borderBottom :: MisoString -> Style Source #
borderBottomStyle :: MisoString -> Style Source #
borderBottomWidth :: MisoString -> Style Source #
borderCollapse :: MisoString -> Style Source #
borderEndEndRadius :: MisoString -> Style Source #
borderInlineEndColor :: Color -> Style Source #
borderInlineStartColor :: Color -> Style Source #
borderLeftColor :: Color -> Style Source #
borderLeft :: MisoString -> Style Source #
borderLeftStyle :: MisoString -> Style Source #
borderLeftWidth :: MisoString -> Style Source #
borderRadius :: MisoString -> Style Source #
borderRightColor :: Color -> Style Source #
borderRight :: MisoString -> Style Source #
borderRightStyle :: MisoString -> Style Source #
borderRightWidth :: MisoString -> Style Source #
borderStyle :: MisoString -> Style Source #
borderTopColor :: Color -> Style Source #
borderTop :: MisoString -> Style Source #
borderTopStyle :: MisoString -> Style Source #
borderTopWidth :: MisoString -> Style Source #
borderWidth :: MisoString -> Style Source #
boxShadow :: MisoString -> Style Source #
boxSizing :: MisoString -> Style Source #
columnGap :: MisoString -> Style Source #
cssVariable :: MisoString -> Style Source #
flexBasis :: MisoString -> Style Source #
flexDirection :: MisoString -> Style Source #
flexShrink :: MisoString -> Style Source #
fontFamily :: MisoString -> Style Source #
fontStyle :: MisoString -> Style Source #
fontWeight :: MisoString -> Style Source #
gridAutoColumns :: MisoString -> Style Source #
gridAutoFlow :: MisoString -> Style Source #
gridAutoRows :: MisoString -> Style Source #
gridColumnEnd :: MisoString -> Style Source #
gridColumnSpan :: MisoString -> Style Source #
gridColumnStart :: MisoString -> Style Source #
gridRowEnd :: MisoString -> Style Source #
gridRowSpan :: MisoString -> Style Source #
gridRowStart :: MisoString -> Style Source #
gridTemplateRows :: MisoString -> Style Source #
imageRendering :: MisoString -> Style Source #
insetInlineEnd :: MisoString -> Style Source #
insetInlineStart :: MisoString -> Style Source #
justifyContent :: MisoString -> Style Source #
justifyItems :: MisoString -> Style Source #
justifySelf :: MisoString -> Style Source #
letterSpacing :: MisoString -> Style Source #
linearCrossGravity :: MisoString -> Style Source #
linearDirection :: MisoString -> Style Source #
linearGravity :: MisoString -> Style Source #
linearWeight :: MisoString -> Style Source #
linearWeightSum :: MisoString -> Style Source #
lineHeight :: MisoString -> Style Source #
marginBottom :: MisoString -> Style Source #
marginInlineEnd :: MisoString -> Style Source #
marginInlineStart :: MisoString -> Style Source #
marginLeft :: MisoString -> Style Source #
marginRight :: MisoString -> Style Source #
marginTop :: MisoString -> Style Source #
maskImage :: MisoString -> Style Source #
maxHeight :: MisoString -> Style Source #
minHeight :: MisoString -> Style Source #
overflowX :: MisoString -> Style Source #
overflowY :: MisoString -> Style Source #
paddingBottom :: MisoString -> Style Source #
paddingInlineEnd :: MisoString -> Style Source #
paddingInlineStart :: MisoString -> Style Source #
paddingLeft :: MisoString -> Style Source #
paddingRight :: MisoString -> Style Source #
paddingTop :: MisoString -> Style Source #
perspective :: MisoString -> Style Source #
relativeAlignLeft :: MisoString -> Style Source #
relativeAlignRight :: MisoString -> Style Source #
relativeAlignTop :: MisoString -> Style Source #
relativeBottomOf :: MisoString -> Style Source #
relativeCenter :: MisoString -> Style Source #
relativeId :: MisoString -> Style Source #
relativeLayoutOnce :: MisoString -> Style Source #
relativeLeftOf :: MisoString -> Style Source #
relativeRightOf :: MisoString -> Style Source #
relativeTopOf :: MisoString -> Style Source #
strokeWidth :: MisoString -> Style Source #
textAlign :: MisoString -> Style Source #
textDecoration :: MisoString -> Style Source #
textIndent :: MisoString -> Style Source #
textOverflow :: MisoString -> Style Source #
textShadow :: MisoString -> Style Source #
textStrokeColor :: Color -> Style Source #
textStroke :: MisoString -> Style Source #
textStrokeWidth :: MisoString -> Style Source #
transformOrigin :: MisoString -> Style Source #
transitionDelay :: MisoString -> Style Source #
transitionDuration :: MisoString -> Style Source #
transition :: MisoString -> Style Source #
transitionProperty :: MisoString -> Style Source #
verticalAlign :: MisoString -> Style Source #
visibility :: MisoString -> Style Source #
whiteSpace :: MisoString -> Style Source #
wordBreak :: MisoString -> Style Source #
xAutoFontSize :: MisoString -> Style Source #
xHandleColor :: Color -> Style Source #
xHandleSize :: MisoString -> Style Source #
Colors
module Miso.CSS.Color
Units
px :: Int -> MisoString Source #
Font sizing in terms of *px*
>>> px 10 "10px"
ppx :: Double -> MisoString Source #
ppx unit of measure
pt :: Int -> MisoString Source #
Font sizing in terms of *pt*
>>> pt 10 "10pt"
vw :: Double -> MisoString Source #
Viewport width
>>> vw 10.0 "10.0vw"
vh :: Double -> MisoString Source #
Viewport height
>>> vh 10.0 "10.0vh"
deg :: Double -> MisoString Source #
Degree specification
>>> deg 10 "10deg"
turn :: Double -> MisoString Source #
Turn constructor, useful for specifying rotations
>>> turn 10.0 "10.0turn"
rad :: Double -> MisoString Source #
Radial constructor
>>> rad 10.0 "10.0rad"
rpx :: Double -> MisoString Source #
Responsive pixel sizing, *rpx*
>>> rpx 10.0 "10.0rpx"
rem :: Double -> MisoString Source #
Relative *em* sizing
>>> rem 10.0 "10.0rem"
em :: Double -> MisoString Source #
- em* sizing
>>> em 10.0 "10.0em"
s :: Double -> MisoString Source #
Duration in seconds
>>> s 10.0 "10.0s"
ms :: Double -> MisoString Source #
Duration in milliseconds
>>> ms 10.0 "10.0ms"
Misc
url :: MisoString -> MisoString Source #
CSS function for specifying a URL
>>> url "dog.png"
"url("dog.png")"
Animation
keyframes_ :: MisoString -> [(MisoString, [Style])] -> Styles Source #
https://developer.mozilla.org/en-US/docs/Web/CSS/@keyframes
testKeyFrame :: Styles
testKeyFrame = keyframes "slide-in"
[ "from" =:
[ transform "translateX(0%)"
]
, "to" =:
[ transform "translateX(100%)"
, backgroundColor red
, backgroundSize "10px"
, backgroundRepeat "true"
]
, pct 10 =:
[ "foo" =: "bar"
]
]
Media Queries
media_ :: MisoString -> [(MisoString, [Style])] -> Styles Source #
https://developer.mozilla.org/en-US/docs/Web/CSS/@media
media_ "screen and (min-width: 480px)"
[ "header" =:
[ height "auto"
]
, "ul" =:
[ display "block"
]
]