{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ScopedTypeVariables #-}

module Cardano.RTView.GUI.CSS.Style
    ( ownCSS
    ) where

import           Cardano.Prelude hiding (Selector, link, (**))
import qualified Prelude as P hiding ((**))

import           Clay
import qualified Clay.Media as M
import           Clay.Selector (Selector, selectorFromText)
import           Data.Text (pack, unpack)
import qualified Data.Text.Lazy as TL

import           Cardano.RTView.GUI.Elements (HTMLClass (..), HTMLW3Class (..))

ownCSS :: P.String
ownCSS :: String
ownCSS = Text -> String
unpack (Text -> String) -> (Css -> Text) -> Css -> String
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Text -> Text
TL.toStrict (Text -> Text) -> (Css -> Text) -> Css -> Text
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Css -> Text
render (Css -> String) -> Css -> String
forall a b. (a -> b) -> a -> b
$ do
  Text -> Css
importUrl Text
"'http://fonts.googleapis.com/css?family=Roboto Condensed'"

  Selector
body Selector -> Css -> Css
? do
    [Text] -> [GenericFontFamily] -> Css
fontFamily        [Text
"Roboto Condensed"] [GenericFontFamily
sansSerif]
    Double -> Css
fontSizePx        Double
20
    Color -> Css
backgroundColor   Color
whitesmoke
    Color -> Css
color Color
"#1b2238"

  -- To avoid shifting "labels-values" on mobile screens (for Pane mode).
  MediaType -> [Feature] -> Css -> Css
query MediaType
M.screen [Size LengthUnit -> Feature
M.maxWidth (Double -> Size LengthUnit
px Double
601)] (Css -> Css) -> Css -> Css
forall a b. (a -> b) -> a -> b
$ Selector
".w3-col.m6, .w3-half" Selector -> Css -> Css
?     Double -> Css
widthPct Double
49.99
  MediaType -> [Feature] -> Css -> Css
query MediaType
M.screen [Size LengthUnit -> Feature
M.maxWidth (Double -> Size LengthUnit
px Double
601)] (Css -> Css) -> Css -> Css
forall a b. (a -> b) -> a -> b
$ Selector
".w3-col.m4, .w3-third" Selector -> Css -> Css
?    Double -> Css
widthPct Double
33.33
  MediaType -> [Feature] -> Css -> Css
query MediaType
M.screen [Size LengthUnit -> Feature
M.maxWidth (Double -> Size LengthUnit
px Double
601)] (Css -> Css) -> Css -> Css
forall a b. (a -> b) -> a -> b
$ Selector
".w3-col.m8, .w3-twothird" Selector -> Css -> Css
? Double -> Css
widthPct Double
66.66

  Selector
th Selector -> Css -> Css
? do
    Css -> Css
important (Css -> Css) -> Css -> Css
forall a b. (a -> b) -> a -> b
$
      Double -> Css
paddingPx       Double
15
    Double -> Css
fontSizePct       Double
110

  Selector
td Selector -> Css -> Css
? do
    Css -> Css
important (Css -> Css) -> Css -> Css
forall a b. (a -> b) -> a -> b
$
      Double -> Css
paddingPx       Double
15

  Selector
a Selector -> Refinement -> Selector
# Refinement
link Selector -> Refinement -> Selector
# Refinement
hover Selector -> Css -> Css
? do
    Color -> Css
color             Color
"#4b0082"

  Selector
a Selector -> Refinement -> Selector
# Refinement
visited Selector -> Refinement -> Selector
# Refinement
hover Selector -> Css -> Css
? do
    Color -> Css
color             Color
"#4b0082"

  HTMLClass -> Selector
cl HTMLClass
TopBar Selector -> Css -> Css
? do
    Color -> Css
backgroundColor   Color
"#1b2238"
    Color -> Css
color             Color
whitesmoke
    Double -> Css
paddingTopPx      Double
18
    Double -> Css
paddingBottomPx   Double
15

  HTMLClass -> Selector
cl HTMLClass
TopBar Selector -> Selector -> Selector
** HTMLW3Class -> Selector
w3 HTMLW3Class
W3DropdownHover Selector -> Css -> Css
? do
    Double -> Css
paddingTopPx      Double
10
    Double -> Css
fontSizePct       Double
110

  HTMLClass -> Selector
cl HTMLClass
TopBar Selector -> Selector -> Selector
** HTMLW3Class -> Selector
w3 HTMLW3Class
W3DropdownHover Selector -> Selector -> Selector
** HTMLW3Class -> Selector
w3 HTMLW3Class
W3Button Selector -> Refinement -> Selector
# Refinement
hover Selector -> Css -> Css
? do
    Css -> Css
important (Css -> Css) -> Css -> Css
forall a b. (a -> b) -> a -> b
$
      Color -> Css
color           Color
cardanoLight

  HTMLW3Class -> Selector
w3 HTMLW3Class
W3DropdownHover Selector -> Refinement -> Selector
# Refinement
hover Selector -> Selector -> Selector
|> HTMLW3Class -> Selector
w3 HTMLW3Class
W3Button Selector -> Refinement -> Selector
# Refinement
firstChild Selector -> Css -> Css
? do
    Css -> Css
important (Css -> Css) -> Css -> Css
forall a b. (a -> b) -> a -> b
$
      Color -> Css
color           Color
cardanoLight
    Css -> Css
important (Css -> Css) -> Css -> Css
forall a b. (a -> b) -> a -> b
$
      Color -> Css
backgroundColor Color
"#1b2238"

  HTMLW3Class -> Selector
w3 HTMLW3Class
W3BarItem Selector -> Refinement -> Selector
# Refinement
hover Selector -> Css -> Css
? do
    Css -> Css
important (Css -> Css) -> Css -> Css
forall a b. (a -> b) -> a -> b
$
      Color -> Css
color           Color
cardanoLight
    Css -> Css
important (Css -> Css) -> Css -> Css
forall a b. (a -> b) -> a -> b
$
      Color -> Css
backgroundColor Color
"#1b2238"

  HTMLW3Class -> Selector
w3 HTMLW3Class
W3DropdownContent Selector -> Css -> Css
? do
    Css -> Css
important (Css -> Css) -> Css -> Css
forall a b. (a -> b) -> a -> b
$
      Double -> Css
maxHeightPx     Double
500
    Overflow -> Css
overflow          Overflow
forall a. Auto a => a
auto

  HTMLClass -> Selector
cl HTMLClass
ServiceName Selector -> Css -> Css
? do
    Double -> Css
fontSizePct       Double
120
    Css -> Css
important (Css -> Css) -> Css -> Css
forall a b. (a -> b) -> a -> b
$
      Color -> Css
color           Color
"#bcbcbc"
    Double -> Css
paddingTopPx      Double
12
    Double -> Css
paddingRightPx    Double
18

  HTMLClass -> Selector
cl HTMLClass
NodeNameArea Selector -> Css -> Css
? do
    Double -> Css
fontSizePct       Double
110
    Double -> Css
paddingTopPx      Double
10
    Double -> Css
paddingBottomPx   Double
10
    Color -> Css
color             Color
"#555555"

  HTMLClass -> Selector
cl HTMLClass
NodeName Selector -> Css -> Css
? do
    FontWeight -> Css
fontWeight        FontWeight
bold
    Color -> Css
color             Color
"#333333"

  HTMLClass -> Selector
cl HTMLClass
NodeBar Selector -> Css -> Css
? do
    Css -> Css
important (Css -> Css) -> Css -> Css
forall a b. (a -> b) -> a -> b
$
      Color -> Css
backgroundColor Color
"#364679"
    Css -> Css
important (Css -> Css) -> Css -> Css
forall a b. (a -> b) -> a -> b
$
      Color -> Css
color           Color
whitesmoke

  HTMLClass -> Selector
cl HTMLClass
NodeBar Selector -> Selector -> Selector
** HTMLW3Class -> Selector
w3 HTMLW3Class
W3Button Selector -> Refinement -> Selector
# Refinement
hover Selector -> Css -> Css
? do
    Css -> Css
important (Css -> Css) -> Css -> Css
forall a b. (a -> b) -> a -> b
$
      Color -> Css
color           Color
cardanoLight

  HTMLClass -> Selector
cl HTMLClass
ActiveTab Selector -> Css -> Css
? do
    Css -> Css
important (Css -> Css) -> Css -> Css
forall a b. (a -> b) -> a -> b
$
      Color -> Css
backgroundColor Color
"#1b2238"
    Css -> Css
important (Css -> Css) -> Css -> Css
forall a b. (a -> b) -> a -> b
$
      Color -> Css
color           Color
cardanoLight
    FontWeight -> Css
fontWeight        FontWeight
bold

  HTMLClass -> Selector
cl HTMLClass
TabContainer Selector -> Css -> Css
? do
    Double -> Css
paddingTopPx      Double
16

  HTMLClass -> Selector
cl HTMLClass
ErrorsTabContainer Selector -> Css -> Css
? do
    Overflow -> Css
overflowY         Overflow
scroll
    Double -> Css
heightPx          Double
305

  HTMLClass -> Selector
cl HTMLClass
WarningMessage Selector -> Css -> Css
? do
    Color -> Css
color             Color
orange

  HTMLClass -> Selector
cl HTMLClass
ErrorMessage Selector -> Css -> Css
? do
    Color -> Css
color             Color
red

  HTMLClass -> Selector
cl HTMLClass
CriticalMessage Selector -> Css -> Css
? do
    Color -> Css
color             Color
red
    FontWeight -> Css
fontWeight        FontWeight
bold

  HTMLClass -> Selector
cl HTMLClass
AlertMessage Selector -> Css -> Css
? do
    Color -> Css
color             Color
red
    FontWeight -> Css
fontWeight        FontWeight
bold

  HTMLClass -> Selector
cl HTMLClass
EmergencyMessage Selector -> Css -> Css
? do
    Color -> Css
color             Color
red
    FontWeight -> Css
fontWeight        FontWeight
bold

  HTMLClass -> Selector
cl HTMLClass
NodeContainer Selector -> Css -> Css
? do
    Double -> Css
minHeightPx       Double
500
    Color -> Css
backgroundColor   Color
"#eeeeee"

  HTMLClass -> Selector
cl HTMLClass
ReleaseName Selector -> Css -> Css
? do
    FontWeight -> Css
fontWeight        FontWeight
bold

  HTMLClass -> Selector
cl HTMLClass
NodeMenuIcon Selector -> Css -> Css
? do
    Double -> Css
widthPx           Double
26

  HTMLClass -> Selector
cl HTMLClass
ResourcesIcon Selector -> Css -> Css
? do
    Double -> Css
widthPx           Double
32
    Double -> Css
paddingRightPx    Double
13

  HTMLClass -> Selector
cl HTMLClass
ShowHideIcon Selector -> Css -> Css
? do
    Double -> Css
widthPx           Double
32
    Double -> Css
paddingRightPx    Double
13

  HTMLClass -> Selector
cl HTMLClass
CardanoLogo Selector -> Css -> Css
? do
    Double -> Css
widthPx           Double
216

  HTMLClass -> Selector
cl HTMLClass
InfoMark Selector -> Css -> Css
? do
    Double -> Css
paddingLeftPx     Double
5
    CursorValue Value -> Css
forall a. Cursor a => a -> Css
cursor            CursorValue Value
help

  HTMLClass -> Selector
cl HTMLClass
InfoMarkImg Selector -> Css -> Css
? do
    Double -> Css
maxWidthPx        Double
18

  HTMLClass -> Selector
cl HTMLClass
DensityPercent Selector -> Css -> Css
? do
    FontWeight -> Css
fontWeight        FontWeight
forall a. Normal a => a
normal

  HTMLClass -> Selector
cl HTMLClass
ValueUnit Selector -> Css -> Css
? do
    Color -> Css
color             Color
gray40
    Double -> Css
paddingLeftPx     Double
5

  HTMLClass -> Selector
cl HTMLClass
ValueUnitPercent Selector -> Css -> Css
? do
    Color -> Css
color             Color
gray40

  HTMLClass -> Selector
cl HTMLClass
BarValueUnit Selector -> Css -> Css
? do
    Color -> Css
color             Color
whitesmoke
    Double -> Css
paddingLeftPx     Double
5

  HTMLClass -> Selector
cl HTMLClass
CommitLink Selector -> Css -> Css
? do
    Color -> Css
color             Color
"#4b0082"

  HTMLClass -> Selector
cl HTMLClass
HSpacer Selector -> Css -> Css
? do
    Double -> Css
paddingLeftPx     Double
10

  HTMLClass -> Selector
cl HTMLClass
PercentsSlashHSpacer Selector -> Css -> Css
? do
    Double -> Css
paddingLeftPx     Double
9
    Double -> Css
paddingRightPx    Double
9

  HTMLClass -> Selector
cl HTMLClass
PercentsSlashHRSpacer Selector -> Css -> Css
? do
    Double -> Css
paddingRightPx    Double
9

  HTMLClass -> Selector
cl HTMLClass
NodeInfoVSpacer Selector -> Css -> Css
? do
    Double -> Css
paddingTopPx      Double
18

  HTMLClass -> Selector
cl HTMLClass
NodeMetricsVSpacer Selector -> Css -> Css
? do
    Double -> Css
paddingTopPx      Double
15

  HTMLClass -> Selector
cl HTMLClass
NodeInfoValues Selector -> Css -> Css
? do
    FontWeight -> Css
fontWeight        FontWeight
bold

  HTMLClass -> Selector
cl HTMLClass
NodeMetricsValues Selector -> Css -> Css
? do
    FontWeight -> Css
fontWeight        FontWeight
bold

  HTMLClass -> Selector
cl HTMLClass
OutdatedValue Selector -> Css -> Css
? do
    Color -> Css
color             Color
gray60
    FontWeight -> Css
fontWeight        FontWeight
forall a. Normal a => a
normal

  HTMLClass -> Selector
cl HTMLClass
CPUUsageChart Selector -> Css -> Css
? do
    Double -> Css
maxHeightPx       Double
360

  HTMLClass -> Selector
cl HTMLClass
MemoryUsageChart Selector -> Css -> Css
? do
    Double -> Css
maxHeightPx       Double
360

  HTMLClass -> Selector
cl HTMLClass
DiskUsageChart Selector -> Css -> Css
? do
    Double -> Css
maxHeightPx       Double
360

  HTMLClass -> Selector
cl HTMLClass
NetworkUsageChart Selector -> Css -> Css
? do
    Double -> Css
maxHeightPx       Double
360

  HTMLClass -> Selector
cl HTMLClass
GridCPUUsageChart Selector -> Css -> Css
? do
    Double -> Css
maxWidthPx        Double
280

  HTMLClass -> Selector
cl HTMLClass
GridMemoryUsageChart Selector -> Css -> Css
? do
    Double -> Css
maxWidthPx        Double
280

  HTMLClass -> Selector
cl HTMLClass
GridDiskUsageChart Selector -> Css -> Css
? do
    Double -> Css
maxWidthPx        Double
280

  HTMLClass -> Selector
cl HTMLClass
GridNetworkUsageChart Selector -> Css -> Css
? do
    Double -> Css
maxWidthPx        Double
280

  HTMLClass -> Selector
cl HTMLClass
GridNodeNameLabel Selector -> Css -> Css
? do
    FontWeight -> Css
fontWeight        FontWeight
forall a. Normal a => a
normal

  HTMLClass -> Selector
cl HTMLClass
GridRowCell Selector -> Css -> Css
? do
    FontWeight -> Css
fontWeight        FontWeight
bold

  HTMLClass -> Selector
cl HTMLClass
SelectNodeCheckArea Selector -> Css -> Css
? do
    Double -> Css
marginTopPx       Double
8
    Double -> Css
marginBottomPx    Double
8
    Double -> Css
marginLeftPx      Double
16

  HTMLClass -> Selector
cl HTMLClass
SelectNodeCheck Selector -> Css -> Css
? do
    Double -> Css
marginRightPx     Double
10

  HTMLClass -> Selector
cl HTMLClass
SelectMetricCheckArea Selector -> Css -> Css
? do
    Double -> Css
marginTopPx       Double
8
    Double -> Css
marginBottomPx    Double
8
    Double -> Css
marginLeftPx      Double
16
    Double -> Css
marginRightPx     Double
16

  HTMLClass -> Selector
cl HTMLClass
SelectMetricCheck Selector -> Css -> Css
? do
    Double -> Css
marginRightPx     Double
10

  HTMLClass -> Selector
cl HTMLClass
MetricsArea Selector -> Css -> Css
? do
    Double -> Css
minWidthPx        Double
300

  HTMLClass -> Selector
cl HTMLClass
ProgressBar Selector -> Css -> Css
?            Color -> Color -> Css
progressBarColors Color
greenDark  Color
white
  HTMLClass -> Selector
cl HTMLClass
ProgressBarOutdated Selector -> Css -> Css
?    Color -> Color -> Css
progressBarColors Color
gray60     Color
gray60
  HTMLClass -> Selector
cl HTMLClass
ProgressBarBox Selector -> Css -> Css
?         Color -> Color -> Css
progressBarColors Color
greenLight Color
white
  HTMLClass -> Selector
cl HTMLClass
ProgressBarBoxOutdated Selector -> Css -> Css
? Color -> Color -> Css
progressBarColors Color
grayLight  Color
gray60
 where
  cardanoLight :: Color
cardanoLight    = Integer -> Integer -> Integer -> Color
rgb Integer
31  Integer
193 Integer
195
  gray40 :: Color
gray40          = Integer -> Integer -> Integer -> Color
rgb Integer
102 Integer
102 Integer
102
  gray60 :: Color
gray60          = Integer -> Integer -> Integer -> Color
rgb Integer
153 Integer
153 Integer
153
  grayLight :: Color
grayLight       = Integer -> Integer -> Integer -> Color
rgb Integer
170 Integer
170 Integer
170
  greenLight :: Color
greenLight      = Integer -> Integer -> Integer -> Color
rgb Integer
108 Integer
202 Integer
108
  greenDark :: Color
greenDark       = Integer -> Integer -> Integer -> Color
rgb Integer
0   Integer
112 Integer
0

  paddingPx :: Double -> Css
paddingPx Double
v     = Size LengthUnit
-> Size LengthUnit -> Size LengthUnit -> Size LengthUnit -> Css
forall a. Size a -> Size a -> Size a -> Size a -> Css
padding (Double -> Size LengthUnit
px Double
v) (Double -> Size LengthUnit
px Double
v) (Double -> Size LengthUnit
px Double
v) (Double -> Size LengthUnit
px Double
v)
  paddingTopPx :: Double -> Css
paddingTopPx    = Size LengthUnit -> Css
forall a. Size a -> Css
paddingTop (Size LengthUnit -> Css)
-> (Double -> Size LengthUnit) -> Double -> Css
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Double -> Size LengthUnit
px
  paddingBottomPx :: Double -> Css
paddingBottomPx = Size LengthUnit -> Css
forall a. Size a -> Css
paddingBottom (Size LengthUnit -> Css)
-> (Double -> Size LengthUnit) -> Double -> Css
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Double -> Size LengthUnit
px
  paddingLeftPx :: Double -> Css
paddingLeftPx   = Size LengthUnit -> Css
forall a. Size a -> Css
paddingLeft (Size LengthUnit -> Css)
-> (Double -> Size LengthUnit) -> Double -> Css
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Double -> Size LengthUnit
px
  paddingRightPx :: Double -> Css
paddingRightPx  = Size LengthUnit -> Css
forall a. Size a -> Css
paddingRight (Size LengthUnit -> Css)
-> (Double -> Size LengthUnit) -> Double -> Css
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Double -> Size LengthUnit
px

  marginTopPx :: Double -> Css
marginTopPx     = Size LengthUnit -> Css
forall a. Size a -> Css
marginTop (Size LengthUnit -> Css)
-> (Double -> Size LengthUnit) -> Double -> Css
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Double -> Size LengthUnit
px
  marginBottomPx :: Double -> Css
marginBottomPx  = Size LengthUnit -> Css
forall a. Size a -> Css
marginBottom (Size LengthUnit -> Css)
-> (Double -> Size LengthUnit) -> Double -> Css
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Double -> Size LengthUnit
px
  marginLeftPx :: Double -> Css
marginLeftPx    = Size LengthUnit -> Css
forall a. Size a -> Css
marginLeft (Size LengthUnit -> Css)
-> (Double -> Size LengthUnit) -> Double -> Css
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Double -> Size LengthUnit
px
  marginRightPx :: Double -> Css
marginRightPx   = Size LengthUnit -> Css
forall a. Size a -> Css
marginRight (Size LengthUnit -> Css)
-> (Double -> Size LengthUnit) -> Double -> Css
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Double -> Size LengthUnit
px

  fontSizePx :: Double -> Css
fontSizePx      = Size LengthUnit -> Css
forall a. Size a -> Css
fontSize (Size LengthUnit -> Css)
-> (Double -> Size LengthUnit) -> Double -> Css
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Double -> Size LengthUnit
px
  fontSizePct :: Double -> Css
fontSizePct     = Size Percentage -> Css
forall a. Size a -> Css
fontSize (Size Percentage -> Css)
-> (Double -> Size Percentage) -> Double -> Css
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Double -> Size Percentage
pct

  heightPx :: Double -> Css
heightPx        = Size LengthUnit -> Css
forall a. Size a -> Css
height (Size LengthUnit -> Css)
-> (Double -> Size LengthUnit) -> Double -> Css
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Double -> Size LengthUnit
px
  minHeightPx :: Double -> Css
minHeightPx     = Size LengthUnit -> Css
forall a. Size a -> Css
minHeight (Size LengthUnit -> Css)
-> (Double -> Size LengthUnit) -> Double -> Css
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Double -> Size LengthUnit
px
  maxHeightPx :: Double -> Css
maxHeightPx     = Size LengthUnit -> Css
forall a. Size a -> Css
maxHeight (Size LengthUnit -> Css)
-> (Double -> Size LengthUnit) -> Double -> Css
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Double -> Size LengthUnit
px

  widthPx :: Double -> Css
widthPx         = Size LengthUnit -> Css
forall a. Size a -> Css
width (Size LengthUnit -> Css)
-> (Double -> Size LengthUnit) -> Double -> Css
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Double -> Size LengthUnit
px
  widthPct :: Double -> Css
widthPct        = Size Percentage -> Css
forall a. Size a -> Css
width (Size Percentage -> Css)
-> (Double -> Size Percentage) -> Double -> Css
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Double -> Size Percentage
pct
  minWidthPx :: Double -> Css
minWidthPx      = Size LengthUnit -> Css
forall a. Size a -> Css
minWidth (Size LengthUnit -> Css)
-> (Double -> Size LengthUnit) -> Double -> Css
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Double -> Size LengthUnit
px
  maxWidthPx :: Double -> Css
maxWidthPx      = Size LengthUnit -> Css
forall a. Size a -> Css
maxWidth (Size LengthUnit -> Css)
-> (Double -> Size LengthUnit) -> Double -> Css
forall k (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).
Category cat =>
cat b c -> cat a b -> cat a c
. Double -> Size LengthUnit
px

  progressBarColors :: Color -> Color -> Css
progressBarColors Color
bg Color
c = do
    Color -> Css
backgroundColor   Color
bg
    Css -> Css
important (Css -> Css) -> Css -> Css
forall a b. (a -> b) -> a -> b
$ Color -> Css
color Color
c

-- | Convert class name as a constructor to 'Selector'.
w3 :: HTMLW3Class -> Selector
w3 :: HTMLW3Class -> Selector
w3 HTMLW3Class
className = Text -> Selector
selectorFromText (Text -> Selector) -> Text -> Selector
forall a b. (a -> b) -> a -> b
$ Text
"." Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> String -> Text
pack (HTMLW3Class -> String
forall a b. (Show a, ConvertText String b) => a -> b
show HTMLW3Class
className)

cl :: HTMLClass -> Selector
cl :: HTMLClass -> Selector
cl HTMLClass
className = Text -> Selector
selectorFromText (Text -> Selector) -> Text -> Selector
forall a b. (a -> b) -> a -> b
$ Text
"." Text -> Text -> Text
forall a. Semigroup a => a -> a -> a
<> String -> Text
pack (HTMLClass -> String
forall a b. (Show a, ConvertText String b) => a -> b
show HTMLClass
className)