Module

Polyform.Field.Html5

Package
purescript-polyform
Repository
paluh/purescript-polyform

#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

#IntInputErr Source

type IntInputErr err = (max :: Int, min :: Int | err)

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

#_min Source

_min :: SProxy "min"

#_max Source

_max :: SProxy "max"

#NumberInputBase Source

type NumberInputBase (type_ :: Symbol) attrs name err value f = Input (max :: Maybe value, min :: Maybe value, step :: Maybe value, type :: SProxy type_ | attrs) name (Array (Variant err)) (f value)

I'm not sure if this type ∷ SProxy attribute is really good idea. If you find it problematic please fill an issue.

#I Source

type I a = a

#IntRangeInput Source

type IntRangeInput attrs name err = NumberInputBase "range" attrs name (IntInputErr err) Int I

#OptIntRangeInput Source

type OptIntRangeInput attrs name err = NumberInputBase "range" attrs name (IntInputErr err) Int Maybe

#IntInput Source

type IntInput attrs name err = NumberInputBase "number" attrs name (IntInputErr err) Int I

#OptIntInput Source

type OptIntInput attrs name err = NumberInputBase "number" attrs name (IntInputErr err) Int Maybe

#numberInputValidation Source

numberInputValidation :: forall v m err attrs. Monad m => Ord v => { max :: Maybe v, min :: Maybe v | attrs } -> Validation m (Array (Variant (max :: v, min :: v | err))) v v

#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, type :: SProxy type_ | 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.

#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

#OptUrlInput Source

type OptUrlInput attrs name err = TextInputBase "url" attrs name err (Maybe 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