module Yesod.Bootstrap where import Prelude hiding (div) import Yesod.Core import Yesod.Core.Widget import Yesod.Core.Handler import Data.Text (Text) import Data.List import Data.Monoid import Control.Monad import Text.Blaze.Html (toHtml) import qualified Data.Text as Text import Control.Monad.Writer.Class import Control.Monad.Writer.Strict import qualified Data.List as List import Data.Function (on) data Context = Success | Info | Warning | Danger | Default | Primary | Link | Error data Size = ExtraSmall | Small | Medium | Large data ColSize = ColSize Size Int data Flow = Block | Inline data Panel site = Panel { panelTitle :: (WidgetT site IO ()) , panelBody :: (WidgetT site IO ()) , panelContext :: Context } basicPanel :: Text -> WidgetT site IO () -> Panel site basicPanel t c = Panel (tw t) c Default div_ :: [(Text,Text)] -> WidgetT site IO () -> WidgetT site IO () div_ attrs inner = [whamlet|
^{inner}|] span_ :: [(Text,Text)] -> WidgetT site IO () -> WidgetT site IO () span_ attrs inner = [whamlet|^{inner}|] label_ :: [(Text,Text)] -> WidgetT site IO () -> WidgetT site IO () label_ attrs inner = [whamlet|