{-# LANGUAGE FlexibleContexts, FlexibleInstances, MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies, UndecidableInstances, ViewPatterns #-}
module Text.Reform.Lucid.String
(
inputText
, inputPassword
, inputSubmit
, inputReset
, inputHidden
, inputButton
, C.inputCheckbox
, C.inputCheckboxes
, C.inputRadio
, C.inputFile
, textarea
, buttonSubmit
, C.buttonReset
, C.button
, C.select
, C.selectMultiple
, C.label
, C.errorList
, C.childErrorList
, C.br
, C.fieldset
, C.ol
, C.ul
, C.li
, C.formGenGET
, C.formGenPOST
) where
import Lucid (ToHtml, HtmlT)
import Text.Reform
import qualified Text.Reform.Lucid.Common as C
inputText :: (Monad m, FormInput input, FormError error, ErrorInputType error ~ input, Applicative f) =>
String
-> Form m input error (HtmlT f ()) () String
inputText initialValue = C.inputText getInputString initialValue
inputPassword :: (Monad m, FormInput input, FormError error, ErrorInputType error ~ input, Applicative f) =>
Form m input error (HtmlT f ()) () String
inputPassword = C.inputPassword getInputString ""
inputSubmit :: (Monad m, FormInput input, FormError error, ErrorInputType error ~ input, Applicative f) =>
String
-> Form m input error (HtmlT f ()) () (Maybe String)
inputSubmit initialValue = C.inputSubmit getInputString initialValue
inputReset :: (Monad m, FormInput input, FormError error, ErrorInputType error ~ input, Applicative f) =>
String
-> Form m input error (HtmlT f ()) () ()
inputReset = C.inputReset
inputHidden :: (Monad m, FormInput input, FormError error, ErrorInputType error ~ input, Applicative f) =>
String
-> Form m input error (HtmlT f ()) () String
inputHidden initialValue = C.inputHidden getInputString initialValue
inputButton :: (Monad m, FormInput input, FormError error, ErrorInputType error ~ input, Applicative f) =>
String
-> Form m input error (HtmlT f ()) () ()
inputButton label = C.inputButton label
textarea :: (Monad m, FormInput input, FormError error, ErrorInputType error ~ input, Monad f) =>
Int
-> Int
-> String
-> Form m input error (HtmlT f ()) () String
textarea rows cols initialValue = C.textarea getInputString rows cols initialValue
buttonSubmit :: ( Monad m, FormError error, FormInput input, ErrorInputType error ~ input, ToHtml children, Monad f) =>
String
-> children
-> Form m input error (HtmlT f ()) () (Maybe String)
buttonSubmit = C.buttonSubmit getInputString