{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ExtendedDefaultRules #-}
-- | We can't lens into DOM on the server-side, yet, so we've made some auxilliary functions
-- for creating @row_@ @
@ tags, and some class names for creating columns.
-- .
-- Use them like this:
-- .
-- > div_ [class_ $ mconcat [ row_
-- > , small_collapsed_
-- > , large_uncollapsed_ ]] $
-- > div_ [class_ $ mconcat [ columns_
-- > , small_ 6
-- > , medium_ 4
-- > , large_ 3
-- > , small_centered_
-- > , large_uncentered_
-- > , small_push_ 6
-- > , medium_pull_ 4
-- > , large_reset_order_ ]] $
-- > -- rest of DOM...
module Lucid.Foundation.Structure.Grid where
import Lucid.Base
import Lucid.Html5
import qualified Data.Text as T
import Data.Monoid
row_ :: T.Text
row_ = " row "
small_collapsed_ :: T.Text
small_collapsed_ = " small-collapsed "
medium_collapsed_ :: T.Text
medium_collapsed_ = " medium-collapsed "
large_collapsed_ :: T.Text
large_collapsed_ = " large-collapsed "
medium_uncollapsed_ :: T.Text
medium_uncollapsed_ = " medium-uncollapsed "
large_uncollapsed_ :: T.Text
large_uncollapsed_ = " large-uncollapsed "
columns_ :: T.Text
columns_ = " columns "
small_ :: Int -> T.Text
small_ n = " small-" <> (T.pack $ show n) <> " "
medium_ :: Int -> T.Text
medium_ n = " medium-" <> (T.pack $ show n) <> " "
large_ :: Int -> T.Text
large_ n = " large-" <> (T.pack $ show n) <> " "
small_offset_ :: Int -> T.Text
small_offset_ n = " small-offset-" <> (T.pack $ show n) <> " "
medium_offset_ :: Int -> T.Text
medium_offset_ n = " medium-offset-" <> (T.pack $ show n) <> " "
large_offset_ :: Int -> T.Text
large_offset_ n = " large-offset-" <> (T.pack $ show n) <> " "
small_centered_ :: T.Text
small_centered_ = " small-centered "
medium_centered_ :: T.Text
medium_centered_ = " medium-centered "
large_centered_ :: T.Text
large_centered_ = " large-centered "
small_uncentered_ :: T.Text
small_uncentered_ = " small-uncentered "
medium_uncentered_ :: T.Text
medium_uncentered_ = " medium-uncentered "
large_uncentered_ :: T.Text
large_uncentered_ = " large-uncentered "
small_push_ :: Int -> T.Text
small_push_ n = " small-push-" <> (T.pack $ show n) <> " "
medium_push_ :: Int -> T.Text
medium_push_ n = " medium-push-" <> (T.pack $ show n) <> " "
large_push_ :: Int -> T.Text
large_push_ n = " large-push-" <> (T.pack $ show n) <> " "
small_pull_ :: Int -> T.Text
small_pull_ n = " small-pull-" <> (T.pack $ show n) <> " "
medium_pull_ :: Int -> T.Text
medium_pull_ n = " medium-pull-" <> (T.pack $ show n) <> " "
large_pull_ :: Int -> T.Text
large_pull_ n = " large-pull-" <> (T.pack $ show n) <> " "
small_reset_order_ :: T.Text
small_reset_order_ = " small-reset-order "
medium_reset_order_ :: T.Text
medium_reset_order_ = " medium-reset-order "
large_reset_order_ :: T.Text
large_reset_order_ = " large-reset-order "