module Web.HTML.HTMLInputElement ( HTMLInputElement , fromHTMLElement , fromElement , fromNode , fromChildNode , fromNonDocumentTypeChildNode , fromParentNode , fromEventTarget , toHTMLElement , toElement , toNode , toChildNode , toNonDocumentTypeChildNode , toParentNode , toEventTarget , accept , setAccept , alt , setAlt , autocomplete , setAutocomplete , autofocus , setAutofocus , defaultChecked , setDefaultChecked , checked , setChecked , dirName , setDirName , disabled , setDisabled , form , files , formAction , setFormAction , formEnctype , setFormEnctype , formMethod , setFormMethod , formNoValidate , setFormNoValidate , formTarget , setFormTarget , height , setHeight , indeterminate , setIndeterminate , list , max , setMax , maxLength , setMaxLength , min , setMin , minLength , setMinLength , multiple , setMultiple , name , setName , pattern , setPattern , placeholder , setPlaceholder , readOnly , setReadOnly , required , setRequired , size , setSize , src , setSrc , step , setStep , type_ , setType , defaultValue , setDefaultValue , value , setValue , valueAsDate , setValueAsDate , valueAsNumber , setValueAsNumber , width , setWidth , stepUp , stepUp' , stepDown , stepDown' , willValidate , validity , validationMessage , checkValidity , reportValidity , setCustomValidity , labels , select , selectionStart , setSelectionStart , selectionEnd , setSelectionEnd , selectionDirection , setSelectionDirection , setRangeText , setRangeText' , setSelectionRange ) where import Prelude import Data.JSDate (JSDate) import Data.Maybe (Maybe) import Data.Nullable (Nullable, toMaybe) import Effect (Effect) import Effect.Uncurried (EffectFn5, runEffectFn5) import Unsafe.Coerce (unsafeCoerce) import Web.DOM (ChildNode, Element, Node, NonDocumentTypeChildNode, ParentNode) import Web.DOM.NodeList (NodeList) import Web.Event.EventTarget (EventTarget) import Web.File.FileList (FileList) import Web.HTML.HTMLElement (HTMLElement) import Web.HTML.HTMLFormElement (HTMLFormElement) import Web.HTML.SelectionMode (SelectionMode) import Web.HTML.SelectionMode as SelectionMode import Web.HTML.ValidityState (ValidityState) import Web.Internal.FFI (unsafeReadProtoTagged) foreign import data HTMLInputElement :: Type fromHTMLElement :: HTMLElement -> Maybe HTMLInputElement fromHTMLElement = unsafeReadProtoTagged "HTMLInputElement" fromElement :: Element -> Maybe HTMLInputElement fromElement = unsafeReadProtoTagged "HTMLInputElement" fromNode :: Node -> Maybe HTMLInputElement fromNode = unsafeReadProtoTagged "HTMLInputElement" fromChildNode :: ChildNode -> Maybe HTMLInputElement fromChildNode = unsafeReadProtoTagged "HTMLInputElement" fromNonDocumentTypeChildNode :: NonDocumentTypeChildNode -> Maybe HTMLInputElement fromNonDocumentTypeChildNode = unsafeReadProtoTagged "HTMLInputElement" fromParentNode :: ParentNode -> Maybe HTMLInputElement fromParentNode = unsafeReadProtoTagged "HTMLInputElement" fromEventTarget :: EventTarget -> Maybe HTMLInputElement fromEventTarget = unsafeReadProtoTagged "HTMLInputElement" toHTMLElement :: HTMLInputElement -> HTMLElement toHTMLElement = unsafeCoerce toElement :: HTMLInputElement -> Element toElement = unsafeCoerce toNode :: HTMLInputElement -> Node toNode = unsafeCoerce toChildNode :: HTMLInputElement -> ChildNode toChildNode = unsafeCoerce toNonDocumentTypeChildNode :: HTMLInputElement -> NonDocumentTypeChildNode toNonDocumentTypeChildNode = unsafeCoerce toParentNode :: HTMLInputElement -> ParentNode toParentNode = unsafeCoerce toEventTarget :: HTMLInputElement -> EventTarget toEventTarget = unsafeCoerce foreign import accept :: HTMLInputElement -> Effect String foreign import setAccept :: String -> HTMLInputElement -> Effect Unit foreign import alt :: HTMLInputElement -> Effect Boolean foreign import setAlt :: Boolean -> HTMLInputElement -> Effect Unit foreign import autocomplete :: HTMLInputElement -> Effect String foreign import setAutocomplete :: String -> HTMLInputElement -> Effect Unit foreign import autofocus :: HTMLInputElement -> Effect Boolean foreign import setAutofocus :: Boolean -> HTMLInputElement -> Effect Unit foreign import defaultChecked :: HTMLInputElement -> Effect Boolean foreign import setDefaultChecked :: Boolean -> HTMLInputElement -> Effect Unit foreign import checked :: HTMLInputElement -> Effect Boolean foreign import setChecked :: Boolean -> HTMLInputElement -> Effect Unit foreign import dirName :: HTMLInputElement -> Effect String foreign import setDirName :: String -> HTMLInputElement -> Effect Unit foreign import disabled :: HTMLInputElement -> Effect Boolean foreign import setDisabled :: Boolean -> HTMLInputElement -> Effect Unit form :: HTMLInputElement -> Effect (Maybe HTMLFormElement) form = map toMaybe <<< _form foreign import _form :: HTMLInputElement -> Effect (Nullable HTMLFormElement) files :: HTMLInputElement -> Effect (Maybe FileList) files = map toMaybe <<< _files foreign import _files :: HTMLInputElement -> Effect (Nullable FileList) foreign import formAction :: HTMLInputElement -> Effect String foreign import setFormAction :: String -> HTMLInputElement -> Effect Unit foreign import formEnctype :: HTMLInputElement -> Effect String foreign import setFormEnctype :: String -> HTMLInputElement -> Effect Unit foreign import formMethod :: HTMLInputElement -> Effect String foreign import setFormMethod :: String -> HTMLInputElement -> Effect Unit foreign import formNoValidate :: HTMLInputElement -> Effect Boolean foreign import setFormNoValidate :: Boolean -> HTMLInputElement -> Effect Unit foreign import formTarget :: HTMLInputElement -> Effect String foreign import setFormTarget :: String -> HTMLInputElement -> Effect Unit foreign import height :: HTMLInputElement -> Effect Int foreign import setHeight :: Int -> HTMLInputElement -> Effect Unit foreign import indeterminate :: HTMLInputElement -> Effect Boolean foreign import setIndeterminate :: Boolean -> HTMLInputElement -> Effect Unit list :: HTMLInputElement -> Effect (Maybe HTMLElement) list = map toMaybe <<< _list foreign import _list :: HTMLInputElement -> Effect (Nullable HTMLElement) foreign import max :: HTMLInputElement -> Effect String foreign import setMax :: String -> HTMLInputElement -> Effect Unit foreign import maxLength :: HTMLInputElement -> Effect Int foreign import setMaxLength :: Int -> HTMLInputElement -> Effect Unit foreign import min :: HTMLInputElement -> Effect String foreign import setMin :: String -> HTMLInputElement -> Effect Unit foreign import minLength :: HTMLInputElement -> Effect Int foreign import setMinLength :: Int -> HTMLInputElement -> Effect Unit foreign import multiple :: HTMLInputElement -> Effect Boolean foreign import setMultiple :: Boolean -> HTMLInputElement -> Effect Unit foreign import name :: HTMLInputElement -> Effect String foreign import setName :: String -> HTMLInputElement -> Effect Unit foreign import pattern :: HTMLInputElement -> Effect String foreign import setPattern :: String -> HTMLInputElement -> Effect Unit foreign import placeholder :: HTMLInputElement -> Effect String foreign import setPlaceholder :: String -> HTMLInputElement -> Effect Unit foreign import readOnly :: HTMLInputElement -> Effect Boolean foreign import setReadOnly :: Boolean -> HTMLInputElement -> Effect Unit foreign import required :: HTMLInputElement -> Effect Boolean foreign import setRequired :: Boolean -> HTMLInputElement -> Effect Unit foreign import size :: HTMLInputElement -> Effect Int foreign import setSize :: Int -> HTMLInputElement -> Effect Unit foreign import src :: HTMLInputElement -> Effect String foreign import setSrc :: String -> HTMLInputElement -> Effect Unit foreign import step :: HTMLInputElement -> Effect String foreign import setStep :: String -> HTMLInputElement -> Effect Unit foreign import type_ :: HTMLInputElement -> Effect String foreign import setType :: String -> HTMLInputElement -> Effect Unit foreign import defaultValue :: HTMLInputElement -> Effect String foreign import setDefaultValue :: String -> HTMLInputElement -> Effect Unit foreign import value :: HTMLInputElement -> Effect String foreign import setValue :: String -> HTMLInputElement -> Effect Unit foreign import valueAsDate :: HTMLInputElement -> Effect JSDate foreign import setValueAsDate :: JSDate -> HTMLInputElement -> Effect Unit foreign import valueAsNumber :: HTMLInputElement -> Effect Number foreign import setValueAsNumber :: Number -> HTMLInputElement -> Effect Unit foreign import width :: HTMLInputElement -> Effect Int foreign import setWidth :: Int -> HTMLInputElement -> Effect Unit stepUp :: HTMLInputElement -> Effect Unit stepUp = stepUp' 1 foreign import stepUpBy :: Int -> HTMLInputElement -> Effect Unit stepUp' :: Int -> HTMLInputElement -> Effect Unit stepUp' = stepUpBy stepDown :: HTMLInputElement -> Effect Unit stepDown = stepDown' 1 foreign import stepDownBy :: Int -> HTMLInputElement -> Effect Unit stepDown' :: Int -> HTMLInputElement -> Effect Unit stepDown' = stepDownBy foreign import willValidate :: HTMLInputElement -> Effect Boolean foreign import validity :: HTMLInputElement -> Effect ValidityState foreign import validationMessage :: HTMLInputElement -> Effect String foreign import checkValidity :: HTMLInputElement -> Effect Boolean foreign import reportValidity :: HTMLInputElement -> Effect Boolean foreign import setCustomValidity :: String -> HTMLInputElement -> Effect Unit foreign import labels :: HTMLInputElement -> Effect NodeList foreign import select :: HTMLInputElement -> Effect Unit foreign import selectionStart :: HTMLInputElement -> Effect Int foreign import setSelectionStart :: Int -> HTMLInputElement -> Effect Unit foreign import selectionEnd :: HTMLInputElement -> Effect Int foreign import setSelectionEnd :: Int -> HTMLInputElement -> Effect Unit foreign import selectionDirection :: HTMLInputElement -> Effect String foreign import setSelectionDirection :: String -> HTMLInputElement -> Effect Unit foreign import setRangeText :: String -> HTMLInputElement -> Effect Unit setRangeText' :: String -> Int -> Int -> SelectionMode -> HTMLInputElement -> Effect Unit setRangeText' rpl s e mode area = runEffectFn5 _setRangeText rpl s e (SelectionMode.print mode) area foreign import _setRangeText :: EffectFn5 String Int Int String HTMLInputElement Unit foreign import setSelectionRange :: Int -> Int -> String -> HTMLInputElement -> Effect Unit