{-# LANGUAGE OverloadedStrings #-} module Design.Helper ( clearFix , defaultButton , defaultInput , iconButton , centeredWithMargin , verticalCentering ) where import Prelude hiding (span) import Clay import Data.Monoid ((<>)) import Design.Constants import Design.Color as Color import qualified Clay.Display as D clearFix :: Css clearFix = after & do content (stringContent "") display D.table clear both defaultButton :: Color -> Color -> Size a -> (Color -> Color) -> Css defaultButton backgroundCol textCol h focusOp = do backgroundColor backgroundCol padding (px 0) (px 10) (px 0) (px 10) color textCol borderRadius radius radius radius radius verticalAlign middle cursor pointer lineHeight h height h textAlign (alignSide sideCenter) hover & backgroundColor (focusOp backgroundCol) focus & backgroundColor (focusOp backgroundCol) iconButton :: Color -> Color -> Size Abs -> (Color -> Color) -> Css iconButton backgroundCol textCol h focusOp = do defaultButton backgroundCol textCol h focusOp i <> span ? do height h lineHeight h span ? do display inlineBlock marginLeft (px 20) i ? do marginLeft (px 15) marginRight (px 20) defaultInput :: Integer -> Css defaultInput h = do height (px h) padding (px 10) (px 10) (px 10) (px 10) borderRadius radius radius radius radius border solid (px 1) Color.dustyGray focus & borderColor Color.silver verticalAlign middle centeredWithMargin :: Css centeredWithMargin = do width (pct blockPercentWidth) marginLeft auto marginRight auto verticalCentering :: Css verticalCentering = do position absolute top (pct 50) "transform" -: "translateY(-50%)"