-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Alert messages for the Yesod framework
--   
--   Use the "alerts" package with the Yesod framework
@package yesod-alerts
@version 0.1.2.0


-- | Setup this package by modifying your definition of *defaultLayout* in
--   *Foundation.hs*
--   
--   <pre>
--   ...
--   defaultLayout widget = do
--   ...
--   alerts  &lt;- getAlerts
--   ...
--   </pre>
--   
--   Then Include a renderer in *default-layout.hamlet*
--   
--   <pre>
--   ...
--   #{renderAlertsBootstrap3 alerts}
--   ...
--   ^{widget}
--   ...
--   </pre>
--   
--   Set alerts from your handlers
--   
--   <pre>
--   getHomeR :: Handler Html
--   getHomeR = do
--       ...
--       setAlert (Alert Error "oops")
--       setSuccessAlert "Yay!"
--       ...
--       defautlLayout $ do
--           $(widgetFile "homepage")
--   </pre>
module Yesod.Alert

-- | Set an <a>Alert</a>
setAlert :: MonadHandler m => Alert -> m ()

-- | Set an <a>Alert</a> allowing i18n
setAlertI :: (MonadHandler m, RenderMessage (HandlerSite m) msg) => AlertStatus -> msg -> m ()
setDefaultAlert :: MonadHandler m => Text -> m ()
setInfoAlert :: MonadHandler m => Text -> m ()
setSuccessAlert :: MonadHandler m => Text -> m ()
setWarningAlert :: MonadHandler m => Text -> m ()
setErrorAlert :: MonadHandler m => Text -> m ()

-- | Get available <a>Alert</a>s
getAlerts :: MonadHandler m => m [Alert]
data Alert
Alert :: AlertStatus -> Text -> Alert
[alertStatus] :: Alert -> AlertStatus
[alertMessage] :: Alert -> Text
data AlertStatus
Default :: AlertStatus
Info :: AlertStatus
Success :: AlertStatus
Warning :: AlertStatus
Error :: AlertStatus


-- | Render <a>Alert</a>s using Bootstrap v3.x
--   
--   Dependencies (These should be accessible in your app):
--   
--   <ul>
--   <li>Bootstrap's CSS and JS</li>
--   <li>JQuery &gt;= 1.12.4</li>
--   </ul>
module Yesod.Alert.Bootstrap3
renderAlertsBootstrap3 :: [Alert] -> Markup


-- | Render <a>Alert</a>s using Bootstrap v4.x
--   
--   Dependencies (These should be accessible in your app):
--   
--   <ul>
--   <li>Bootstrap's CSS and JS</li>
--   <li>JQuery &gt;= 3.2.1</li>
--   </ul>
module Yesod.Alert.Bootstrap4
renderAlertsBootstrap4 :: [Alert] -> Markup


-- | Render <a>Alert</a>s using Foundation v5.x
--   
--   Dependencies (These should be accessible in your app):
--   
--   <ul>
--   <li>Foundation's CSS and JS</li>
--   <li>Modernizr</li>
--   <li>JQuery</li>
--   </ul>
module Yesod.Alert.Foundation5
renderAlertsFoundation5 :: AlertType -> [Alert] -> Markup

-- | Foundation 5.x alert type
data AlertType

-- | Slightly rounded corners
Radius :: AlertType

-- | Fully rounded corners
Round :: AlertType
