Module

Polyform.Field.Html5

Package
purescript-polyform
Repository
paluh/purescript-polyform

#RangeInputErr Source

type RangeInputErr e = Variant (max :: Int, min :: Int | e)

RangeInput can be used to represent type="range" and type="number" of Integer values

#RangeInputType Source

#_min Source

_min :: SProxy "min"

#_max Source

_max :: SProxy "max"

#RangeInputBase Source

type RangeInputBase err attrs name value = { max :: Maybe Int, min :: Maybe Int, name :: name, step :: Int, type :: RangeInputType, value :: V (Array (RangeInputErr err)) value | attrs }

#RangeInput Source

type RangeInput err attrs name = RangeInputBase err attrs (SProxy name) Int

#OptRangeInput Source

type OptRangeInput err attrs name = RangeInputBase err attrs (SProxy name) (Maybe Int)

#check' Source

check' :: forall m a. Monad m => (a -> Boolean) -> Validation m (Array a) a a

#checkAndTag' Source

checkAndTag' :: forall n m e' e a. Monad m => RowCons n a e' e => IsSymbol n => SProxy n -> (a -> Boolean) -> Validation m (Array (Variant e)) a a

#rangeInputValidation Source

rangeInputValidation :: forall m name err attrs. Monad m => RangeInput err attrs name -> Validation m (Array (Variant (max :: Int, min :: Int | err))) Int Int

#TextInputErr Source

type TextInputErr err = (maxlength :: String, minlength :: String | err)

#TextInputBase Source

type TextInputBase (type_ :: Symbol) attrs name err value = Input (maxlength :: Maybe Int, minlength :: Maybe Int | attrs) name (Array (Variant (TextInputErr err))) value

#EmailInput Source

type EmailInput attrs name err = TextInputBase "email" attrs name err String

All these input types share same attributes... but email. Email has additional "multiple" attribute but this will be handled by separate field for handling list of emails. XXX: Provide email validation

#OptEmailInput Source

type OptEmailInput attrs name err = TextInputBase "email" attrs name err (Maybe String)

#SearchInput Source

type SearchInput attrs name err = TextInputBase "search" attrs name err String

#OptSearchInput Source

type OptSearchInput attrs name err = TextInputBase "search" attrs name err (Maybe String)

#PasswordInput Source

type PasswordInput attrs name err = TextInputBase "password" attrs name err String

#OptPasswordInput Source

type OptPasswordInput attrs name err = TextInputBase "password" attrs name err (Maybe String)

#TelInput Source

type TelInput attrs name err = TextInputBase "tel" attrs name err String

#OptTelInput Source

type OptTelInput attrs name err = TextInputBase "tel" attrs name err (Maybe String)

#TextInput Source

type TextInput attrs name err = TextInputBase "text" attrs name err String

#OptTextInput Source

type OptTextInput attrs name err = TextInputBase "text" attrs name err (Maybe String)

#UrlInput Source

type UrlInput attrs name err = TextInputBase "url" attrs name err String

XXX: Provide url validation

#OptUrlInput Source

type OptUrlInput attrs name err = TextInputBase "url" attrs name err (Maybe String)

#textInputType Source

textInputType :: forall value type_ name err attrs. IsSymbol type_ => TextInputBase type_ attrs name err value -> String

#_maxlength Source

_maxlength :: SProxy "maxlength"

#_minlength Source

_minlength :: SProxy "minlength"

#textInputValidation Source

textInputValidation :: forall m err attrs. Monad m => { maxlength :: Maybe Int, minlength :: Maybe Int | attrs } -> Validation m (Array (Variant (TextInputErr err))) String String