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


-- | renderBootstrap4
--   
--   renderBootstrap4
@package yesod-form-bootstrap4
@version 0.1.0.2


-- | this program based on Yesod.Form.Bootstrap3 of yesod-form yesod-form
--   under MIT license, author is Michael Snoyman
--   <a>michael@snoyman.com</a>
module Yesod.Form.Bootstrap4

-- | Render the given form using Bootstrap v3 conventions.
renderBootstrap4 :: Monad m => BootstrapFormLayout -> FormRender m a

-- | The layout used for the bootstrap form.
data BootstrapFormLayout
BootstrapBasicForm :: BootstrapFormLayout
BootstrapInlineForm :: BootstrapFormLayout
BootstrapHorizontalForm :: !BootstrapGridOptions -> !BootstrapGridOptions -> !BootstrapGridOptions -> !BootstrapGridOptions -> BootstrapFormLayout
[bflLabelOffset] :: BootstrapFormLayout -> !BootstrapGridOptions
[bflLabelSize] :: BootstrapFormLayout -> !BootstrapGridOptions
[bflInputOffset] :: BootstrapFormLayout -> !BootstrapGridOptions
[bflInputSize] :: BootstrapFormLayout -> !BootstrapGridOptions
data BootstrapGridOptions
ColXs :: !Int -> BootstrapGridOptions
ColSm :: !Int -> BootstrapGridOptions
ColMd :: !Int -> BootstrapGridOptions
ColLg :: !Int -> BootstrapGridOptions
ColXl :: !Int -> BootstrapGridOptions
bfs :: RenderMessage site msg => msg -> FieldSettings site
withPlaceholder :: Text -> FieldSettings site -> FieldSettings site

-- | Add an autofocus attribute to a field.
withAutofocus :: FieldSettings site -> FieldSettings site

-- | Add the <tt>input-lg</tt> CSS class to a field.
withLargeInput :: FieldSettings site -> FieldSettings site

-- | Add the <tt>input-sm</tt> CSS class to a field.
withSmallInput :: FieldSettings site -> FieldSettings site

-- | A Bootstrap v4 submit button disguised as a field for convenience. For
--   example, if your form currently is:
--   
--   <pre>
--   Person &lt;$&gt; areq textField "Name"    Nothing
--          &lt;*&gt; areq textField "Surname" Nothing
--   </pre>
--   
--   Then just change it to:
--   
--   <pre>
--   Person &lt;$&gt; areq textField "Name"    Nothing
--          &lt;*&gt; areq textField "Surname" Nothing
--          &lt;*  bootstrapSubmit ("Register" :: BootstrapSubmit Text)
--   </pre>
--   
--   (Note that <a>&lt;*</a> is not a typo.)
--   
--   Alternatively, you may also just create the submit button manually as
--   well in order to have more control over its layout.
bootstrapSubmit :: (RenderMessage site msg, HandlerSite m ~ site, MonadHandler m) => BootstrapSubmit msg -> AForm m ()

-- | Same as <a>bootstrapSubmit</a> but for monadic forms. This isn't as
--   useful since you're not going to use <a>renderBootstrap4</a> anyway.
mbootstrapSubmit :: (RenderMessage site msg, HandlerSite m ~ site, MonadHandler m) => BootstrapSubmit msg -> MForm m (FormResult (), FieldView site)

-- | How the <a>bootstrapSubmit</a> button should be rendered.
data BootstrapSubmit msg
BootstrapSubmit :: msg -> Text -> [(Text, Text)] -> BootstrapSubmit msg

-- | The text of the submit button.
[bsValue] :: BootstrapSubmit msg -> msg

-- | Classes added to the <tt>&lt;button&gt;</tt>.
[bsClasses] :: BootstrapSubmit msg -> Text

-- | Attributes added to the <tt>&lt;button&gt;</tt>.
[bsAttrs] :: BootstrapSubmit msg -> [(Text, Text)]
instance GHC.Read.Read msg => GHC.Read.Read (Yesod.Form.Bootstrap4.BootstrapSubmit msg)
instance GHC.Show.Show msg => GHC.Show.Show (Yesod.Form.Bootstrap4.BootstrapSubmit msg)
instance GHC.Classes.Ord msg => GHC.Classes.Ord (Yesod.Form.Bootstrap4.BootstrapSubmit msg)
instance GHC.Classes.Eq msg => GHC.Classes.Eq (Yesod.Form.Bootstrap4.BootstrapSubmit msg)
instance GHC.Read.Read Yesod.Form.Bootstrap4.BootstrapFormLayout
instance GHC.Show.Show Yesod.Form.Bootstrap4.BootstrapFormLayout
instance GHC.Classes.Ord Yesod.Form.Bootstrap4.BootstrapFormLayout
instance GHC.Classes.Eq Yesod.Form.Bootstrap4.BootstrapFormLayout
instance GHC.Read.Read Yesod.Form.Bootstrap4.BootstrapGridOptions
instance GHC.Show.Show Yesod.Form.Bootstrap4.BootstrapGridOptions
instance GHC.Classes.Ord Yesod.Form.Bootstrap4.BootstrapGridOptions
instance GHC.Classes.Eq Yesod.Form.Bootstrap4.BootstrapGridOptions
instance Data.String.IsString msg => Data.String.IsString (Yesod.Form.Bootstrap4.BootstrapSubmit msg)
