[{"name":"Form.Field","comment":" Field type and helper functions\n\n\n# Field\n\n@docs Field, StringField, MultiStringField, BoolField, IntegerField\n\n\n# Properties\n\n@docs CommonFieldProperties, DateFieldProperties, SimpleFieldProperties, SelectFieldProperties, SearchableSelectFieldProperties, HttpSelectFieldProperties, MultiSelectFieldProperties, SearchableMultiSelectFieldProperties, MultiHttpSelectFieldProperties, RadioFieldProperties, BoolFieldProperties, CheckboxFieldProperties, RadioBoolFieldProperties, RadioEnumFieldProperties, StringFieldProperties, TagFieldProperties, FieldProperties, IntegerFieldProperties\n\n\n# Default Properties\n\n@docs integerDefault, checkboxDefault, dateDefault, emailDefault, httpSelectDefault, searchableSelectDefault, multiHttpSelectDefault, multiSelectDefault, phoneDefault, timeDefault, radioBoolDefault, radioDefault, radioEnumDefault, searchableMultiSelectDefault, selectDefault, tagDefault, textAreaDefault, textDefault, urlDefault\n\n\n# Constructors\n\n@docs integer, checkbox, date, httpSelect, text, multiHttpSelect, multiSelect, radio, radioBool, radioEnum, searchableSelect, searchableMultiSelect, select, tag, url, phone, time, textArea, email\n\n\n# Construction Property Setters\n\n@docs setDateFuture, setDateOfBirth, setDatePast, setMinDate, setMaxDate, setMinDateOffset, setMaxDateOffset, setMin, setMax, setDefault, setDirection, setDisabled, setEnabledBy, setForbiddenEmailDomains, setHidden, setIsRequired, setLabel, setOptions, setOrder, setPlaceholder, setRegexValidation, setRemoteUrl, setSearchableOptions, setSelectablePlaceholder, setTagsInputBar, setUnhiddenBy, setValue, setWidth\n\n\n# Getters\n\n@docs getBoolProperties, getEnabledBy, getUnhiddenBy, getLabel, getIntegerValue, getOrder, getProperties, getStringType, getStringValue, getStringValue_, getParsedDateValue_, getMultiStringValue_, getType, getUrl\n\n\n# Setters\n\n@docs resetValueToDefault, updateBoolValue, updateCheckboxValue_, updateIntegerValue, updateIntegerValue_, updateRadioBoolValue, updateRadioBoolValue_, updateRadioEnumValue, updateRadioEnumValue_, updateRemoteOptions, updateStringValue, updateParsedDateValue, updateStringDisabled, updateMultiStringOption, updateStringValue_, updateMultiStringValue_, updateShowDropdown, maybeUpdateStringValue, updateTagsInputBarValue, updateTagsValue, updateTagsValue_, updateSearchableSelectInput\n\n\n# Predicates\n\n@docs isCheckbox, isRequired\n\n\n# Encode\n\n@docs encode\n\n\n# Metadata\n\n@docs metadataKey\n\n","unions":[{"name":"BoolField","comment":" ","args":[],"cases":[["CheckboxField",["Form.Field.CheckboxFieldProperties"]],["RadioBoolField",["Form.Field.RadioBoolFieldProperties"]],["RadioEnumField",["Form.Field.RadioEnumFieldProperties"]]]},{"name":"Field","comment":" ","args":[],"cases":[["StringField_",["Form.Field.StringField"]],["MultiStringField_",["Form.Field.MultiStringField"]],["BoolField_",["Form.Field.BoolField"]],["IntegerField_",["Form.Field.IntegerField"]]]},{"name":"IntegerField","comment":" ","args":[],"cases":[["IntegerField",["Form.Field.IntegerFieldProperties"]]]},{"name":"MultiStringField","comment":" ","args":[],"cases":[["MultiSelectField",["Form.Field.MultiSelectFieldProperties {}"]],["SearchableMultiSelectField",["Form.Field.SearchableMultiSelectFieldProperties"]],["MultiHttpSelectField",["Form.Field.MultiHttpSelectFieldProperties"]],["TagField",["Form.Field.TagFieldProperties"]]]},{"name":"StringField","comment":" ","args":[],"cases":[["SimpleField",["Form.Field.SimpleFieldProperties"]],["DateField",["Form.Field.DateFieldProperties"]],["SelectField",["Form.Field.SelectFieldProperties {}"]],["SearchableSelectField",["Form.Field.SearchableSelectFieldProperties"]],["HttpSelectField",["Form.Field.HttpSelectFieldProperties"]],["RadioField",["Form.Field.RadioFieldProperties"]]]}],"aliases":[{"name":"BoolFieldProperties","comment":" ","args":["a"],"type":"Form.Field.FieldProperties { a | value : Basics.Bool }"},{"name":"CheckboxFieldProperties","comment":" ","args":[],"type":"Form.Field.BoolFieldProperties { tipe : Form.Field.FieldType.CheckboxFieldType }"},{"name":"CommonFieldProperties","comment":" ","args":[],"type":"Form.Field.FieldProperties {}"},{"name":"DateFieldProperties","comment":" ","args":[],"type":"Form.Field.StringFieldProperties { tipe : Form.Field.FieldType.DateFieldType, parsedDate : Maybe.Maybe Time.Posix }"},{"name":"FieldProperties","comment":" ","args":["a"],"type":"{ a | required : Form.Field.Required.IsRequired, label : String.String, width : Form.Field.Width.Width, enabledBy : Maybe.Maybe String.String, order : Basics.Int, disabled : Basics.Bool, hidden : Basics.Bool, unhiddenBy : Maybe.Maybe String.String }"},{"name":"HttpSelectFieldProperties","comment":" ","args":[],"type":"Form.Field.StringFieldProperties { url : String.String, default : Maybe.Maybe String.String, options : RemoteData.RemoteData (Http.Detailed.Error String.String) (List.List Form.Field.Option.Option), placeholder : String.String, hasSelectablePlaceholder : Basics.Bool }"},{"name":"IntegerFieldProperties","comment":" ","args":[],"type":"Form.Field.FieldProperties { tipe : Form.Field.FieldType.IntegerFieldType, value : Maybe.Maybe Basics.Int }"},{"name":"MultiHttpSelectFieldProperties","comment":" ","args":[],"type":"Form.Field.MultiStringFieldProperties { placeholder : String.String, showDropdown : Basics.Bool, url : String.String, options : RemoteData.RemoteData (Http.Detailed.Error String.String) (List.List Form.Field.Option.Option) }"},{"name":"MultiSelectFieldProperties","comment":" ","args":["a"],"type":"Form.Field.MultiStringFieldProperties { a | placeholder : String.String, showDropdown : Basics.Bool, options : List.List Form.Field.Option.Option }"},{"name":"RadioBoolFieldProperties","comment":" ","args":[],"type":"Form.Field.FieldProperties { value : Maybe.Maybe Basics.Bool }"},{"name":"RadioEnumFieldProperties","comment":" ","args":[],"type":"Form.Field.FieldProperties { value : Maybe.Maybe Form.Field.RadioEnum.Value, default : Maybe.Maybe Form.Field.RadioEnum.Value, options : List.List Form.Field.RadioEnum.Value }"},{"name":"RadioFieldProperties","comment":" ","args":[],"type":"Form.Field.StringFieldProperties { default : Maybe.Maybe String.String, options : List.List Form.Field.Option.Option, direction : Form.Field.Direction.Direction }"},{"name":"SearchableMultiSelectFieldProperties","comment":" ","args":[],"type":"Form.Field.MultiSelectFieldProperties { searchableOptions : List.List Form.Field.Option.Option, searchInput : String.String }"},{"name":"SearchableSelectFieldProperties","comment":" ","args":[],"type":"Form.Field.SelectFieldProperties { showDropdown : Basics.Bool, searchInput : String.String }"},{"name":"SelectFieldProperties","comment":" ","args":["a"],"type":"Form.Field.StringFieldProperties { a | default : Maybe.Maybe String.String, options : List.List Form.Field.Option.Option, placeholder : String.String, hasSelectablePlaceholder : Basics.Bool }"},{"name":"SimpleFieldProperties","comment":" ","args":[],"type":"Form.Field.StringFieldProperties { tipe : Form.Field.FieldType.SimpleFieldType, regexValidation : List.List Form.Lib.RegexValidation.RegexValidation }"},{"name":"StringFieldProperties","comment":" ","args":["a"],"type":"Form.Field.FieldProperties { a | value : String.String }"},{"name":"TagFieldProperties","comment":" ","args":[],"type":"Form.Field.MultiStringFieldProperties { inputBar : String.String, placeholder : Maybe.Maybe String.String }"}],"values":[{"name":"checkbox","comment":" Makes a checkbox field.\n\nCommon builders:\n\n  - `setIsRequired Required.IsRequired`\n  - `setLabel String`\n  - `setWidth Width.Width`\n  - `setEnabledBy String`\n  - `setOrder Int`\n  - `setDisabled`\n  - `setHidden`\n  - `setUnhiddenBy String`\n\n","type":"Form.Field.CheckboxFieldProperties -> Form.Field.Field"},{"name":"checkboxDefault","comment":" `{ required = Required.No\n, label = \"\"\n, width = Width.FullSize\n, enabledBy = Nothing\n, order = 0\n, disabled = False\n, hidden = False\n, unhiddenBy = Nothing\n, value = False\n, tipe = FieldType.Checkbox\n}`\n","type":"Form.Field.CheckboxFieldProperties"},{"name":"date","comment":" Makes a date input field. By default, dates 100 years from the start of the Unix epoch (00:00:00 UTC on 1 January 1970) are allowed. Use setters to customise this.\n\nIn addition to the common builders, the following are available:\n\n  - `setDateOfBirth`\n  - `setDateFuture`\n  - `setDatePast`\n  - `setDateBounds Time.Posix Time.Posix`\n  - `setDateOffset ( TimeExtra.Interval, Int ) ( TimeExtra.Interval, Int )`\n\nCommon builders:\n\n  - `setIsRequired Required.IsRequired`\n  - `setLabel String`\n  - `setWidth Width.Width`\n  - `setEnabledBy String`\n  - `setOrder Int`\n  - `setDisabled`\n  - `setHidden`\n  - `setUnhiddenBy String`\n\n","type":"Form.Field.DateFieldProperties -> Form.Field.Field"},{"name":"dateDefault","comment":" `{ required = Required.No\n, label = \"\"\n, width = Width.FullSize\n, enabledBy = Nothing\n, order = 0\n, disabled = False\n, hidden = False\n, unhiddenBy = Nothing\n, tipe = { min = Nothing, max = Nothing }\n, value = \"\"\n, parsedDate = Nothing\n}`\n","type":"Form.Field.DateFieldProperties"},{"name":"email","comment":" Makes an email input field.\n\nIn addition to the common builders, the following are available:\n\n  - `setForbiddenEmailDomains (List EmailFormat.ForbiddenDomain)`\n\nCommon builders:\n\n  - `setIsRequired Required.IsRequired`\n  - `setLabel String`\n  - `setWidth Width.Width`\n  - `setEnabledBy String`\n  - `setOrder Int`\n  - `setDisabled`\n  - `setHidden`\n  - `setUnhiddenBy String`\n\n","type":"Form.Field.SimpleFieldProperties -> Form.Field.Field"},{"name":"emailDefault","comment":" `{ required = Required.No\n, label = \"\"\n, width = Width.FullSize\n, enabledBy = Nothing\n, order = 0\n, disabled = False\n, hidden = False\n, unhiddenBy = Nothing\n, regexValidation = []\n, tipe = FieldType.Email\n, value = \"\"\n}`\n","type":"Form.Field.SimpleFieldProperties"},{"name":"encode","comment":" ","type":"Form.Field.Field -> Json.Encode.Value"},{"name":"getBoolProperties","comment":" ","type":"Form.Field.Field -> Maybe.Maybe Basics.Bool"},{"name":"getEnabledBy","comment":" ","type":"Form.Field.Field -> Maybe.Maybe String.String"},{"name":"getIntegerValue","comment":" ","type":"Form.Field.Field -> Maybe.Maybe Basics.Int"},{"name":"getLabel","comment":" ","type":"Form.Field.Field -> String.String"},{"name":"getMultiStringValue_","comment":" ","type":"Form.Field.MultiStringField -> Set.Set String.String"},{"name":"getOrder","comment":" ","type":"Form.Field.Field -> Basics.Int"},{"name":"getParsedDateValue_","comment":" ","type":"Form.Field.StringField -> Maybe.Maybe Time.Posix"},{"name":"getProperties","comment":" ","type":"Form.Field.Field -> Form.Field.CommonFieldProperties"},{"name":"getStringType","comment":" ","type":"Form.Field.StringField -> Form.Field.FieldType.StringFieldType"},{"name":"getStringValue","comment":" ","type":"Form.Field.Field -> Maybe.Maybe String.String"},{"name":"getStringValue_","comment":" ","type":"Form.Field.StringField -> String.String"},{"name":"getType","comment":" ","type":"Form.Field.Field -> Form.Field.FieldType.FieldType"},{"name":"getUnhiddenBy","comment":" ","type":"Form.Field.Field -> Maybe.Maybe String.String"},{"name":"getUrl","comment":" ","type":"Form.Field.Field -> Maybe.Maybe String.String"},{"name":"httpSelect","comment":" Makes a remotely fetched drop-down select field.\n\nIn addition to the common builders, the following are available:\n\n  - `setDefault String`\n  - `setOptions (RemoteData.RemoteData (HttpDetailed.Error String) (List Option.Option))`\n  - `setPlaceholder String`\n  - `setRemoteUrl String`\n  - `setSelectablePlaceholder`\n\nCommon builders:\n\n  - `setIsRequired Required.IsRequired`\n  - `setLabel String`\n  - `setWidth Width.Width`\n  - `setEnabledBy String`\n  - `setOrder Int`\n  - `setDisabled`\n  - `setHidden`\n  - `setUnhiddenBy String`\n\n","type":"String.String -> Form.Field.HttpSelectFieldProperties -> Form.Field.Field"},{"name":"httpSelectDefault","comment":" `{ required = Required.No\n, label = \"\"\n, width = Width.FullSize\n, enabledBy = Nothing\n, order = 0\n, disabled = False\n, hidden = False\n, unhiddenBy = Nothing\n, value = \"\"\n, url = \"\"\n, default = Nothing\n, options = RemoteData.NotAsked\n, placeholder = \"\"\n, hasSelectablePlaceholder = False\n}`\n","type":"Form.Field.HttpSelectFieldProperties"},{"name":"integer","comment":" Makes an age input field.\n\nCommon builders:\n\n  - `setIsRequired Required.IsRequired`\n  - `setLabel String`\n  - `setWidth Width.Width`\n  - `setEnabledBy String`\n  - `setOrder Int`\n  - `setDisabled`\n  - `setHidden`\n  - `setUnhiddenBy String`\n\n","type":"Form.Field.IntegerFieldProperties -> Form.Field.Field"},{"name":"integerDefault","comment":" `{ required = Required.No\n, label = \"\"\n, width = Width.FullSize\n, enabledBy = Nothing\n, tipe = { min = Nothing, max = Nothing }\n, order = 0\n, disabled = False\n, hidden = False\n, unhiddenBy = Nothing\n, value = Nothing\n}`\n","type":"Form.Field.IntegerFieldProperties"},{"name":"isCheckbox","comment":" ","type":"Form.Field.Field -> Basics.Bool"},{"name":"isRequired","comment":" ","type":"Form.Field.Field -> Form.Field.Required.IsRequired"},{"name":"maybeUpdateStringValue","comment":" Keep existing field if the value is Nothing\n","type":"Maybe.Maybe String.String -> Form.Field.Field -> Form.Field.Field"},{"name":"metadataKey","comment":" ","type":"String.String -> Maybe.Maybe String.String"},{"name":"multiHttpSelect","comment":" Makes a remotely fetched multi select field.\n\nIn addition to the common builders, the following are available:\n\n  - `setOptions (List Option.Option)`\n  - `setPlaceholder String`\n  - `setRemoteUrl String`\n\nCommon builders:\n\n  - `setIsRequired Required.IsRequired`\n  - `setLabel String`\n  - `setWidth Width.Width`\n  - `setEnabledBy String`\n  - `setOrder Int`\n  - `setDisabled`\n  - `setHidden`\n  - `setUnhiddenBy String`\n\n","type":"String.String -> Form.Field.MultiHttpSelectFieldProperties -> Form.Field.Field"},{"name":"multiHttpSelectDefault","comment":" `{ required = Required.No\n, label = \"\"\n, width = Width.FullSize\n, enabledBy = Nothing\n, order = 0\n, disabled = False\n, hidden = False\n, unhiddenBy = Nothing\n, value = Set.empty\n, options = RemoteData.NotAsked\n, placeholder = \"\"\n, showDropdown = False\n, url = \"\"\n}`\n","type":"Form.Field.MultiHttpSelectFieldProperties"},{"name":"multiSelect","comment":" Makes a multi select field from a list of options.\n\nIn addition to the common builders, the following are available:\n\n  - `setOptions (List Option.Option)`\n  - `setPlaceholder String`\n\nA list of options needs to be passed in, but setters passed in will override these.\n\nCommon builders:\n\n  - `setIsRequired Required.IsRequired`\n  - `setLabel String`\n  - `setWidth Width.Width`\n  - `setEnabledBy String`\n  - `setOrder Int`\n  - `setDisabled`\n  - `setHidden`\n  - `setUnhiddenBy String`\n\n","type":"List.List Form.Field.Option.Option -> Form.Field.MultiSelectFieldProperties {} -> Form.Field.Field"},{"name":"multiSelectDefault","comment":" `{ required = Required.No\n, label = \"\"\n, width = Width.FullSize\n, enabledBy = Nothing\n, order = 0\n, disabled = False\n, hidden = False\n, unhiddenBy = Nothing\n, value = Set.empty\n, options = []\n, placeholder = \"\"\n, showDropdown = False\n}`\n","type":"Form.Field.MultiSelectFieldProperties {}"},{"name":"phone","comment":" Makes a phone field.\n\nIn addition to the common builders, the following are available:\n\n  - `setRegexValidation (List RegexValidation.RegexValidation)`\n\nCommon builders:\n\n  - `setIsRequired Required.IsRequired`\n  - `setLabel String`\n  - `setWidth Width.Width`\n  - `setEnabledBy String`\n  - `setOrder Int`\n  - `setDisabled`\n  - `setHidden`\n  - `setUnhiddenBy String`\n\n","type":"Form.Field.SimpleFieldProperties -> Form.Field.Field"},{"name":"phoneDefault","comment":" `{ required = Required.No\n, label = \"\"\n, width = Width.FullSize\n, enabledBy = Nothing\n, order = 0\n, disabled = False\n, hidden = False\n, unhiddenBy = Nothing\n, regexValidation = []\n, tipe = FieldType.Phone\n, value = \"\"\n}`\n","type":"Form.Field.SimpleFieldProperties"},{"name":"radio","comment":" Makes a radio field.\n\nIn addition to the common builders, the following are available:\n\n  - `setDefault String`\n  - `setOptions (List Option.Option)`\n  - `setDirection Direction.Direction`\n\nA list of options needs to be passed in, but setters passed in will override these.\n\nCommon builders:\n\n  - `setIsRequired Required.IsRequired`\n  - `setLabel String`\n  - `setWidth Width.Width`\n  - `setEnabledBy String`\n  - `setOrder Int`\n  - `setDisabled`\n  - `setHidden`\n  - `setUnhiddenBy String`\n\n","type":"List.List Form.Field.Option.Option -> Form.Field.RadioFieldProperties -> Form.Field.Field"},{"name":"radioBool","comment":" Makes a boolean radio field.\n\nCommon builders:\n\n  - `setIsRequired Required.IsRequired`\n  - `setLabel String`\n  - `setWidth Width.Width`\n  - `setEnabledBy String`\n  - `setOrder Int`\n  - `setDisabled`\n  - `setHidden`\n  - `setUnhiddenBy String`\n\n","type":"Form.Field.RadioBoolFieldProperties -> Form.Field.Field"},{"name":"radioBoolDefault","comment":" `{ required = Required.No\n, label = \"\"\n, width = Width.FullSize\n, enabledBy = Nothing\n, order = 0\n, disabled = False\n, hidden = False\n, unhiddenBy = Nothing\n, value = Nothing\n}`\n","type":"Form.Field.RadioBoolFieldProperties"},{"name":"radioDefault","comment":" `{ required = Required.No\n, label = \"\"\n, width = Width.FullSize\n, enabledBy = Nothing\n, order = 0\n, disabled = False\n, hidden = False\n, unhiddenBy = Nothing\n, value = \"\"\n, default = Nothing\n, options = []\n, direction = Direction.Column\n}`\n","type":"Form.Field.RadioFieldProperties"},{"name":"radioEnum","comment":" Makes a radio field for selection of Yes/No/N/A enums, with all three as an option by default. Override with setOptions.\n\nIn addition to the common builders, the following are available:\n\n  - `setDefault RadioEnum.Value`\n  - `setOptions (List RadioEnum.Value)`\n\nCommon builders:\n\n  - `setIsRequired Required.IsRequired`\n  - `setLabel String`\n  - `setWidth Width.Width`\n  - `setEnabledBy String`\n  - `setOrder Int`\n  - `setDisabled`\n  - `setHidden`\n  - `setUnhiddenBy String`\n\n","type":"Form.Field.RadioEnumFieldProperties -> Form.Field.Field"},{"name":"radioEnumDefault","comment":" `{ required = Required.No\n, label = \"\"\n, width = Width.FullSize\n, enabledBy = Nothing\n, order = 0\n, disabled = False\n, hidden = False\n, unhiddenBy = Nothing\n, value = Nothing\n, default = Nothing\n, options = [ RadioEnum.Yes, RadioEnum.No, RadioEnum.NA ]\n}`\n","type":"Form.Field.RadioEnumFieldProperties"},{"name":"resetValueToDefault","comment":" ","type":"Form.Field.Field -> Form.Field.Field"},{"name":"searchableMultiSelect","comment":" Makes a searchable multi select field, with two categories of options: searchable and non-searchable. Neither category is mandatory, so make sure to set at least one for the field to be useful.\n\nIn addition to the common builders, the following are available:\n\n  - `setOptions (List Option.Option)`\n  - `setSearchableOptions (List Option.Option)`\n  - `setPlaceholder String`\n\nCommon builders:\n\n  - `setIsRequired Required.IsRequired`\n  - `setLabel String`\n  - `setWidth Width.Width`\n  - `setEnabledBy String`\n  - `setOrder Int`\n  - `setDisabled`\n  - `setHidden`\n  - `setUnhiddenBy String`\n\n","type":"Form.Field.SearchableMultiSelectFieldProperties -> Form.Field.Field"},{"name":"searchableMultiSelectDefault","comment":" `{ required = Required.No\n, label = \"\"\n, width = Width.FullSize\n, enabledBy = Nothing\n, order = 0\n, disabled = False\n, hidden = False\n, unhiddenBy = Nothing\n, value = Set.empty\n, options = []\n, placeholder = \"\"\n, showDropdown = False\n, searchableOptions = []\n, searchInput = \"\"\n}`\n","type":"Form.Field.SearchableMultiSelectFieldProperties"},{"name":"searchableSelect","comment":" Makes a searchable select field, with options that are searchable.\n\nIn addition to the common builders, the following are available:\n\n  - `setDefault String`\n  - \\`setOptions (List Option.Option)\n  - `setPlaceholder String`\n  - `setSelectablePlaceholder`\n\nCommon builders:\n\n  - `setIsRequired Required.IsRequired`\n  - `setLabel String`\n  - `setWidth Width.Width`\n  - `setEnabledBy String`\n  - `setOrder Int`\n  - `setDisabled`\n  - `setHidden`\n  - `setUnhiddenBy String`\n\n","type":"Form.Field.SearchableSelectFieldProperties -> Form.Field.Field"},{"name":"searchableSelectDefault","comment":" `{ required = Required.No\n, label = \"\"\n, width = Width.FullSize\n, enabledBy = Nothing\n, order = 0\n, disabled = False\n, hidden = False\n, unhiddenBy = Nothing\n, value = Set.empty\n, options = []\n, placeholder = \"\"\n, showDropdown = False\n, searchableOptions = []\n, searchInput = \"\"\n}`\n","type":"Form.Field.SearchableSelectFieldProperties"},{"name":"select","comment":" Makes a drop-down select field from a list of options.\n\nIn addition to the common builders, the following are available:\n\n  - `setDefault String`\n  - `setOptions (List Option.Option)`\n  - `setPlaceholder String`\n  - `setSelectablePlaceholder`\n\nA list of options needs to be passed in, but setters passed in will override these.\n\nCommon builders:\n\n  - `setIsRequired Required.IsRequired`\n  - `setLabel String`\n  - `setWidth Width.Width`\n  - `setEnabledBy String`\n  - `setOrder Int`\n  - `setDisabled`\n  - `setHidden`\n  - `setUnhiddenBy String`\n\n","type":"List.List Form.Field.Option.Option -> Form.Field.SelectFieldProperties {} -> Form.Field.Field"},{"name":"selectDefault","comment":" `{ required = Required.No\n, label = \"\"\n, width = Width.FullSize\n, enabledBy = Nothing\n, order = 0\n, disabled = False\n, hidden = False\n, unhiddenBy = Nothing\n, value = \"\"\n, default = Nothing\n, options = []\n, placeholder = \"\"\n, hasSelectablePlaceholder = False\n}`\n","type":"Form.Field.SelectFieldProperties {}"},{"name":"setDateFuture","comment":" Sets the selectable date range to be the next 10 years.\n","type":"Form.Field.DateFieldProperties -> Form.Field.DateFieldProperties"},{"name":"setDateOfBirth","comment":" Sets the selectable date range to be the last 120 years.\n","type":"Form.Field.DateFieldProperties -> Form.Field.DateFieldProperties"},{"name":"setDatePast","comment":" Sets the selectable date range to be the last 120 years.\n","type":"Form.Field.DateFieldProperties -> Form.Field.DateFieldProperties"},{"name":"setDefault","comment":" ","type":"d -> Form.Field.FieldProperties { a | default : Maybe.Maybe d } -> Form.Field.FieldProperties { a | default : Maybe.Maybe d }"},{"name":"setDirection","comment":" ","type":"Form.Field.Direction.Direction -> Form.Field.RadioFieldProperties -> Form.Field.RadioFieldProperties"},{"name":"setDisabled","comment":" ","type":"Form.Field.FieldProperties a -> Form.Field.FieldProperties a"},{"name":"setEnabledBy","comment":" ","type":"String.String -> Form.Field.FieldProperties a -> Form.Field.FieldProperties a"},{"name":"setForbiddenEmailDomains","comment":" ","type":"List.List Form.Format.Email.ForbiddenDomain -> Form.Field.SimpleFieldProperties -> Form.Field.SimpleFieldProperties"},{"name":"setHidden","comment":" ","type":"Form.Field.FieldProperties a -> Form.Field.FieldProperties a"},{"name":"setIsRequired","comment":" ","type":"Form.Field.Required.IsRequired -> Form.Field.FieldProperties a -> Form.Field.FieldProperties a"},{"name":"setLabel","comment":" ","type":"String.String -> Form.Field.FieldProperties a -> Form.Field.FieldProperties a"},{"name":"setMax","comment":" Sets the max integer value.\n","type":"Basics.Int -> Form.Field.IntegerFieldProperties -> Form.Field.IntegerFieldProperties"},{"name":"setMaxDate","comment":" Sets the max selectable date range to specified absolute date in POSIX time.\n","type":"Time.Posix -> Form.Field.DateFieldProperties -> Form.Field.DateFieldProperties"},{"name":"setMaxDateOffset","comment":" Sets the max selectable date range to specified interval relative to the current date.\nFor example, to select a max date 5 years from now, use:\n`setMaxDateOffset ( TimeExtra.Year, 5 )`\n","type":"( Time.Extra.Interval, Basics.Int ) -> Form.Field.DateFieldProperties -> Form.Field.DateFieldProperties"},{"name":"setMin","comment":" Sets the min integer value.\n","type":"Basics.Int -> Form.Field.IntegerFieldProperties -> Form.Field.IntegerFieldProperties"},{"name":"setMinDate","comment":" Sets the max selectable date range to specified absolute date in POSIX time.\n","type":"Time.Posix -> Form.Field.DateFieldProperties -> Form.Field.DateFieldProperties"},{"name":"setMinDateOffset","comment":" Sets the max selectable date range to specified interval relative to the current date.\nFor example, to select a min date of 2 years ago, use:\n`setMinDateOffset ( TimeExtra.Year, 2 )`\n","type":"( Time.Extra.Interval, Basics.Int ) -> Form.Field.DateFieldProperties -> Form.Field.DateFieldProperties"},{"name":"setOptions","comment":" ","type":"o -> Form.Field.FieldProperties { a | options : o } -> Form.Field.FieldProperties { a | options : o }"},{"name":"setOrder","comment":" ","type":"Basics.Int -> Form.Field.FieldProperties a -> Form.Field.FieldProperties a"},{"name":"setPlaceholder","comment":" ","type":"p -> Form.Field.FieldProperties { a | placeholder : p } -> Form.Field.FieldProperties { a | placeholder : p }"},{"name":"setRegexValidation","comment":" ","type":"List.List Form.Lib.RegexValidation.RegexValidation -> Form.Field.SimpleFieldProperties -> Form.Field.SimpleFieldProperties"},{"name":"setRemoteUrl","comment":" ","type":"String.String -> Form.Field.FieldProperties { a | url : String.String } -> Form.Field.FieldProperties { a | url : String.String }"},{"name":"setSearchableOptions","comment":" ","type":"List.List Form.Field.Option.Option -> Form.Field.SearchableMultiSelectFieldProperties -> Form.Field.SearchableMultiSelectFieldProperties"},{"name":"setSelectablePlaceholder","comment":" ","type":"Form.Field.FieldProperties { a | hasSelectablePlaceholder : Basics.Bool } -> Form.Field.FieldProperties { a | hasSelectablePlaceholder : Basics.Bool }"},{"name":"setTagsInputBar","comment":" ","type":"String.String -> Form.Field.TagFieldProperties -> Form.Field.TagFieldProperties"},{"name":"setUnhiddenBy","comment":" ","type":"String.String -> Form.Field.FieldProperties a -> Form.Field.FieldProperties a"},{"name":"setValue","comment":" ","type":"v -> Form.Field.FieldProperties { a | value : v } -> Form.Field.FieldProperties { a | value : v }"},{"name":"setWidth","comment":" ","type":"Form.Field.Width.Width -> Form.Field.FieldProperties a -> Form.Field.FieldProperties a"},{"name":"tag","comment":" Makes a tag field.\n\nIn addition to the common builders, the following are available:\n\n  - `setTagsInputBar String`\n  - `setPlaceholder (Maybe String)`\n\nCommon builders:\n\n  - `setIsRequired Required.IsRequired`\n  - `setLabel String`\n  - `setWidth Width.Width`\n  - `setEnabledBy String`\n  - `setOrder Int`\n  - `setDisabled`\n  - `setHidden`\n  - `setUnhiddenBy String`\n\n","type":"Form.Field.TagFieldProperties -> Form.Field.Field"},{"name":"tagDefault","comment":" `{ required = Required.No\n, label = \"\"\n, width = Width.FullSize\n, enabledBy = Nothing\n, order = 0\n, disabled = False\n, hidden = False\n, unhiddenBy = Nothing\n, value = Set.empty\n, inputBar = \"\"\n, placeholder = Nothing\n}`\n","type":"Form.Field.TagFieldProperties"},{"name":"text","comment":" Makes an input field, defaulting to text input.\n\nIn addition to the common builders, the following are available:\n\n  - `setRegexValidation (List RegexValidation.RegexValidation)`\n\nCommon builders:\n\n  - `setIsRequired Required.IsRequired`\n  - `setLabel String`\n  - `setWidth Width.Width`\n  - `setEnabledBy String`\n  - `setOrder Int`\n  - `setDisabled`\n  - `setHidden`\n  - `setUnhiddenBy String`\n\n","type":"Form.Field.SimpleFieldProperties -> Form.Field.Field"},{"name":"textArea","comment":" Makes a multiline text area field.\n\nIn addition to the common builders, the following are available:\n\n  - `setRegexValidation (List RegexValidation.RegexValidation)`\n\nCommon builders:\n\n  - `setIsRequired Required.IsRequired`\n  - `setLabel String`\n  - `setWidth Width.Width`\n  - `setEnabledBy String`\n  - `setOrder Int`\n  - `setDisabled`\n  - `setHidden`\n  - `setUnhiddenBy String`\n\n","type":"Form.Field.SimpleFieldProperties -> Form.Field.Field"},{"name":"textAreaDefault","comment":" `{ required = Required.No\n, label = \"\"\n, width = Width.FullSize\n, enabledBy = Nothing\n, order = 0\n, disabled = False\n, hidden = False\n, unhiddenBy = Nothing\n, regexValidation = []\n, tipe = FieldType.TextArea\n, value = \"\"\n}`\n","type":"Form.Field.SimpleFieldProperties"},{"name":"textDefault","comment":" `{ required = Required.No\n, label = \"\"\n, width = Width.FullSize\n, enabledBy = Nothing\n, order = 0\n, disabled = False\n, hidden = False\n, unhiddenBy = Nothing\n, regexValidation = []\n, tipe = FieldType.Text\n, value = \"\"\n}`\n","type":"Form.Field.SimpleFieldProperties"},{"name":"time","comment":" Makes a time field.\n\nIn addition to the common builders, the following are available:\n\n  - `setRegexValidation (List RegexValidation.RegexValidation)`\n\nCommon builders:\n\n  - `setIsRequired Required.IsRequired`\n  - `setLabel String`\n  - `setWidth Width.Width`\n  - `setEnabledBy String`\n  - `setOrder Int`\n  - `setDisabled`\n  - `setHidden`\n  - `setUnhiddenBy String`\n\n","type":"Form.Field.SimpleFieldProperties -> Form.Field.Field"},{"name":"timeDefault","comment":" `{ required = Required.No\n, label = \"\"\n, width = Width.FullSize\n, enabledBy = Nothing\n, order = 0\n, disabled = False\n, hidden = False\n, unhiddenBy = Nothing\n, regexValidation = []\n, tipe = FieldType.Time\n, value = \"\"\n}`\n","type":"Form.Field.SimpleFieldProperties"},{"name":"updateBoolValue","comment":" ","type":"Basics.Bool -> Form.Field.Field -> Form.Field.Field"},{"name":"updateCheckboxValue_","comment":" ","type":"Basics.Bool -> Form.Field.BoolField -> Form.Field.BoolField"},{"name":"updateIntegerValue","comment":" ","type":"String.String -> Form.Field.Field -> Form.Field.Field"},{"name":"updateIntegerValue_","comment":" ","type":"Maybe.Maybe Basics.Int -> Form.Field.IntegerField -> Form.Field.IntegerField"},{"name":"updateMultiStringOption","comment":" ","type":"Form.Field.Option.Option -> Basics.Bool -> Form.Field.Field -> Form.Field.Field"},{"name":"updateMultiStringValue_","comment":" ","type":"Set.Set String.String -> Form.Field.MultiStringField -> Form.Field.MultiStringField"},{"name":"updateParsedDateValue","comment":" ","type":"Time.Posix -> Form.Field.StringField -> Form.Field.StringField"},{"name":"updateRadioBoolValue","comment":" ","type":"Maybe.Maybe Basics.Bool -> Form.Field.Field -> Form.Field.Field"},{"name":"updateRadioBoolValue_","comment":" ","type":"Maybe.Maybe Basics.Bool -> Form.Field.BoolField -> Form.Field.BoolField"},{"name":"updateRadioEnumValue","comment":" ","type":"Maybe.Maybe Form.Field.RadioEnum.Value -> Form.Field.Field -> Form.Field.Field"},{"name":"updateRadioEnumValue_","comment":" ","type":"Maybe.Maybe Form.Field.RadioEnum.Value -> Form.Field.BoolField -> Form.Field.BoolField"},{"name":"updateRemoteOptions","comment":" ","type":"RemoteData.RemoteData (Http.Detailed.Error String.String) (List.List Form.Field.Option.Option) -> Form.Field.Field -> Form.Field.Field"},{"name":"updateSearchableSelectInput","comment":" ","type":"String.String -> Form.Field.Field -> Form.Field.Field"},{"name":"updateShowDropdown","comment":" ","type":"Basics.Bool -> Form.Field.Field -> Form.Field.Field"},{"name":"updateStringDisabled","comment":" ","type":"Basics.Bool -> Form.Field.Field -> Form.Field.Field"},{"name":"updateStringValue","comment":" ","type":"String.String -> Form.Field.Field -> Form.Field.Field"},{"name":"updateStringValue_","comment":" ","type":"String.String -> Form.Field.StringField -> Form.Field.StringField"},{"name":"updateTagsInputBarValue","comment":" ","type":"String.String -> Form.Field.Field -> Form.Field.Field"},{"name":"updateTagsValue","comment":" ","type":"Basics.Bool -> String.String -> Form.Field.Field -> Form.Field.Field"},{"name":"updateTagsValue_","comment":" ","type":"Basics.Bool -> String.String -> Form.Field.MultiStringField -> Form.Field.MultiStringField"},{"name":"url","comment":" Makes a url field.\n\nIn addition to the common builders, the following are available:\n\n  - `setRegexValidation (List RegexValidation.RegexValidation)`\n\nCommon builders:\n\n  - `setIsRequired Required.IsRequired`\n  - `setLabel String`\n  - `setWidth Width.Width`\n  - `setEnabledBy String`\n  - `setOrder Int`\n  - `setDisabled`\n  - `setHidden`\n  - `setUnhiddenBy String`\n\n","type":"Form.Field.SimpleFieldProperties -> Form.Field.Field"},{"name":"urlDefault","comment":" `{ required = Required.No\n, label = \"\"\n, width = Width.FullSize\n, enabledBy = Nothing\n, order = 0\n, disabled = False\n, hidden = False\n, unhiddenBy = Nothing\n, regexValidation = []\n, tipe = FieldType.Url\n, value = \"\"\n}`\n","type":"Form.Field.SimpleFieldProperties"}],"binops":[]},{"name":"Form.Field.Direction","comment":" Form grid layout direction.\n\n\n# Direction\n\n@docs Direction, decoder, fromString, toString\n\n","unions":[{"name":"Direction","comment":" ","args":[],"cases":[["Row",[]],["Column",[]]]}],"aliases":[],"values":[{"name":"decoder","comment":" ","type":"Json.Decode.Decoder Form.Field.Direction.Direction"},{"name":"fromString","comment":" ","type":"String.String -> Maybe.Maybe Form.Field.Direction.Direction"},{"name":"toString","comment":" ","type":"Form.Field.Direction.Direction -> String.String"}],"binops":[]},{"name":"Form.Field.FieldType","comment":" Field Type\n\n\n# FieldType\n\n@docs FieldType, StringFieldType, SimpleFieldType, BoolFieldType, CheckboxFieldType, IntegerFieldType, MultiStringFieldType, DateFieldType, DateConfig, ListStringFieldType\n\n\n# Decoder\n\n@docs decoder\n\n\n# Helpers\n\n@docs defaultValue, toClass, toMax, toMaxLength, toMin, toType, dateOfBirth, datePast, dateFuture, defaultInt, age\n\n","unions":[{"name":"BoolFieldType","comment":" ","args":[],"cases":[["CheckboxType",["Form.Field.FieldType.CheckboxFieldType"]],["RadioBool",[]],["RadioEnum",[]]]},{"name":"CheckboxFieldType","comment":" ","args":[],"cases":[["Checkbox",[]],["CheckboxConsent",[]]]},{"name":"DateConfig","comment":" ","args":[],"cases":[["DateAbsolute",["Time.Posix"]],["DateOffset",["( Time.Extra.Interval, Basics.Int )"]]]},{"name":"FieldType","comment":" ","args":[],"cases":[["StringType",["Form.Field.FieldType.StringFieldType"]],["MultiStringType",["Form.Field.FieldType.MultiStringFieldType"]],["BoolType",["Form.Field.FieldType.BoolFieldType"]],["IntegerType",["Form.Field.FieldType.IntegerFieldType"]]]},{"name":"ListStringFieldType","comment":" ","args":[],"cases":[["Tag",[]]]},{"name":"MultiStringFieldType","comment":" ","args":[],"cases":[["MultiSelect",[]],["SearchableMultiSelect",[]],["MultiHttpSelect",[]],["Tags",[]]]},{"name":"SimpleFieldType","comment":" ","args":[],"cases":[["Text",[]],["Email",[]],["Phone",[]],["Url",[]],["TextArea",[]],["Time",[]]]},{"name":"StringFieldType","comment":" ","args":[],"cases":[["SimpleType",["Form.Field.FieldType.SimpleFieldType"]],["DateType",["Form.Field.FieldType.DateFieldType"]],["Select",[]],["SearchableSelect",[]],["HttpSelect",[]],["Radio",[]]]}],"aliases":[{"name":"DateFieldType","comment":" ","args":[],"type":"{ min : Maybe.Maybe Form.Field.FieldType.DateConfig, max : Maybe.Maybe Form.Field.FieldType.DateConfig }"},{"name":"IntegerFieldType","comment":" ","args":[],"type":"{ min : Maybe.Maybe Basics.Int, max : Maybe.Maybe Basics.Int }"}],"values":[{"name":"age","comment":" ","type":"Form.Field.FieldType.IntegerFieldType"},{"name":"dateFuture","comment":" ","type":"Form.Field.FieldType.DateFieldType"},{"name":"dateOfBirth","comment":" ","type":"Form.Field.FieldType.DateFieldType"},{"name":"datePast","comment":" ","type":"Form.Field.FieldType.DateFieldType"},{"name":"decoder","comment":" ","type":"Json.Decode.Decoder Form.Field.FieldType.FieldType"},{"name":"defaultInt","comment":" ","type":"Form.Field.FieldType.IntegerFieldType"},{"name":"defaultValue","comment":" ","type":"Time.Posix -> Form.Field.FieldType.FieldType -> Maybe.Maybe String.String"},{"name":"toClass","comment":" ","type":"Form.Field.FieldType.FieldType -> String.String"},{"name":"toMax","comment":" ","type":"Time.Posix -> Form.Field.FieldType.FieldType -> Maybe.Maybe String.String"},{"name":"toMaxLength","comment":" ","type":"Form.Field.FieldType.FieldType -> Maybe.Maybe Basics.Int"},{"name":"toMin","comment":" ","type":"Time.Posix -> Form.Field.FieldType.FieldType -> Maybe.Maybe String.String"},{"name":"toType","comment":" ","type":"Form.Field.FieldType.FieldType -> String.String"}],"binops":[]},{"name":"Form.Field.Json","comment":" Decode Field from Json\n\n\n# Json\n\n@docs decoder\n\n","unions":[],"aliases":[],"values":[{"name":"decoder","comment":" ","type":"Time.Posix -> Basics.Int -> Json.Decode.Decoder ( String.String, Form.Field.Field )"}],"binops":[]},{"name":"Form.Field.Option","comment":" Field option tyope\n\n\n# Option\n\n@docs Option, decoder, remoteOptionDecoder\n\n","unions":[],"aliases":[{"name":"Option","comment":" ","args":[],"type":"{ value : String.String, label : Maybe.Maybe String.String }"}],"values":[{"name":"decoder","comment":" ","type":"Json.Decode.Decoder Form.Field.Option.Option"},{"name":"remoteOptionDecoder","comment":" ","type":"Json.Decode.Decoder Form.Field.Option.Option"}],"binops":[]},{"name":"Form.Field.RadioBool","comment":" RadioBool helpers.\n\n\n# RadioBool\n\n@docs fromString, toString\n\n","unions":[],"aliases":[],"values":[{"name":"fromString","comment":" ","type":"String.String -> Maybe.Maybe Basics.Bool"},{"name":"toString","comment":" ","type":"Basics.Bool -> String.String"}],"binops":[]},{"name":"Form.Field.RadioEnum","comment":" RadioEnum data type.\n\n\n# RadioEnum\n\n@docs Value, toBool, toString, fromString, decoder\n\n","unions":[{"name":"Value","comment":" ","args":[],"cases":[["Yes",[]],["No",[]],["NA",[]]]}],"aliases":[],"values":[{"name":"decoder","comment":" ","type":"Json.Decode.Decoder Form.Field.RadioEnum.Value"},{"name":"fromString","comment":" ","type":"String.String -> Maybe.Maybe Form.Field.RadioEnum.Value"},{"name":"toBool","comment":" ","type":"Maybe.Maybe Form.Field.RadioEnum.Value -> Maybe.Maybe Basics.Bool"},{"name":"toString","comment":" ","type":"Form.Field.RadioEnum.Value -> String.String"}],"binops":[]},{"name":"Form.Field.Required","comment":" Required type\n\n\n# Type\n\n@docs IsRequired\n\n\n# Decoders\n\n@docs decoder\n\n\n# Helpers\n\n@docs fromString, toString\n\n","unions":[{"name":"IsRequired","comment":" ","args":[],"cases":[["Yes",[]],["Nullable",[]],["No",[]]]}],"aliases":[],"values":[{"name":"decoder","comment":" ","type":"Json.Decode.Decoder Form.Field.Required.IsRequired"},{"name":"fromString","comment":" ","type":"String.String -> Maybe.Maybe Form.Field.Required.IsRequired"},{"name":"toString","comment":" ","type":"Form.Field.Required.IsRequired -> String.String"}],"binops":[]},{"name":"Form.Field.Width","comment":" Form element width\n\n\n# Width\n\n@docs Width, decoder, toStyle\n\n","unions":[{"name":"Width","comment":" ","args":[],"cases":[["HalfSize",[]],["FullSize",[]],["Adaptive",[]]]}],"aliases":[],"values":[{"name":"decoder","comment":" ","type":"Json.Decode.Decoder Form.Field.Width.Width"},{"name":"toStyle","comment":" ","type":"Form.Field.Width.Width -> String.String"}],"binops":[]},{"name":"Form.Fields","comment":" Fields.\n\n\n# Fields\n\n@docs Fields\n\n\n# Json\n\n@docs decoder, encode\n\n\n# Update helpers\n\n@docs updateBoolField, updateFieldRemoteOptions, updateIntegerField, updateOptionField, updateRadioBoolField, updateRadioEnumField, updateStringField, updateMultiStringOptionField, updateShowDropdown, resetValueToDefault, updateSearchbar, updateTags, updateTagInput\n\n\n# Predicates\n\n@docs hasCheckboxConsentField, isEnabled, isShown\n\n","unions":[],"aliases":[{"name":"Fields","comment":" ","args":[],"type":"Dict.Dict String.String Form.Field.Field"}],"values":[{"name":"decoder","comment":" ","type":"Time.Posix -> Json.Decode.Decoder (Dict.Dict String.String Form.Field.Field)"},{"name":"encode","comment":" ","type":"Form.Fields.Fields -> Dict.Dict String.String Json.Encode.Value"},{"name":"hasCheckboxConsentField","comment":" ","type":"Form.Fields.Fields -> Basics.Bool"},{"name":"isEnabled","comment":" ","type":"Form.Fields.Fields -> Form.Field.Field -> Basics.Bool"},{"name":"isShown","comment":" ","type":"Form.Fields.Fields -> Form.Field.Field -> Basics.Bool"},{"name":"resetValueToDefault","comment":" ","type":"String.String -> Form.Fields.Fields -> Form.Fields.Fields"},{"name":"updateBoolField","comment":" ","type":"String.String -> Basics.Bool -> Form.Fields.Fields -> Form.Fields.Fields"},{"name":"updateFieldRemoteOptions","comment":" ","type":"String.String -> RemoteData.RemoteData (Http.Detailed.Error String.String) (List.List Form.Field.Option.Option) -> Form.Fields.Fields -> Form.Fields.Fields"},{"name":"updateIntegerField","comment":" ","type":"String.String -> String.String -> Form.Fields.Fields -> Form.Fields.Fields"},{"name":"updateMultiStringOptionField","comment":" ","type":"String.String -> Form.Field.Option.Option -> Basics.Bool -> Form.Fields.Fields -> Form.Fields.Fields"},{"name":"updateOptionField","comment":" ","type":"String.String -> Form.Field.Option.Option -> Form.Fields.Fields -> Form.Fields.Fields"},{"name":"updateRadioBoolField","comment":" ","type":"String.String -> Basics.Bool -> Form.Fields.Fields -> Form.Fields.Fields"},{"name":"updateRadioEnumField","comment":" ","type":"String.String -> Form.Field.RadioEnum.Value -> Form.Fields.Fields -> Form.Fields.Fields"},{"name":"updateSearchbar","comment":" ","type":"String.String -> String.String -> Form.Fields.Fields -> Form.Fields.Fields"},{"name":"updateShowDropdown","comment":" ","type":"String.String -> Basics.Bool -> Form.Fields.Fields -> Form.Fields.Fields"},{"name":"updateStringField","comment":" ","type":"String.String -> String.String -> Form.Fields.Fields -> Form.Fields.Fields"},{"name":"updateTagInput","comment":" ","type":"String.String -> String.String -> Form.Fields.Fields -> Form.Fields.Fields"},{"name":"updateTags","comment":" ","type":"Basics.Bool -> String.String -> String.String -> Form.Fields.Fields -> Form.Fields.Fields"}],"binops":[]},{"name":"Form.Format.Email","comment":" A (simple and quite possibly wrong) email regular expression\n\n@docs regex, ForbiddenDomain, decoderForbiddenDomain\n\n","unions":[],"aliases":[{"name":"ForbiddenDomain","comment":" ","args":[],"type":"{ domain : String.String, message : String.String }"}],"values":[{"name":"decoderForbiddenDomain","comment":" ","type":"Json.Decode.Decoder Form.Format.Email.ForbiddenDomain"},{"name":"regex","comment":" ","type":"Form.Locale.CountryCode.CountryCode -> Regex.Regex"}],"binops":[]},{"name":"Form.Format.ForSubmission","comment":" Translates between what is displayed in the form and what is submitted to the server.\n\n@docs formatForSubmission\n\n","unions":[],"aliases":[],"values":[{"name":"formatForSubmission","comment":" ","type":"Form.Locale.Locale -> Form.Field.StringField -> String.String"}],"binops":[]},{"name":"Form.Format.Phone","comment":" Mobile phone number regular expressions and formatting.\n\n\n# Phone Regexes\n\n@docs mobileRegex, landlineRejectRegex\n\n\n# Phone Formatting\n\n@docs formatForSubmission, formatForDisplay\n\n","unions":[],"aliases":[],"values":[{"name":"formatForDisplay","comment":" The groupings of digits for phone numbers\n","type":"Form.Locale.CountryCode.CountryCode -> String.String -> String.String"},{"name":"formatForSubmission","comment":" ","type":"Form.Locale.CountryCode.CountryCode -> String.String -> String.String"},{"name":"landlineRejectRegex","comment":" The landline numbers to reject (we only accept mobile numbers) based on country.\n","type":"Form.Locale.CountryCode.CountryCode -> Regex.Regex"},{"name":"mobileRegex","comment":" The numbers to accept based on country.\n","type":"Form.Locale.CountryCode.CountryCode -> Regex.Regex"}],"binops":[]},{"name":"Form.Lib.Nonempty","comment":" Helper functions for working with mgold/elm-nonempty-list\n\n\n# Nonempty\n\n@docs decoder\n\n","unions":[],"aliases":[],"values":[{"name":"decoder","comment":" ","type":"Json.Decode.Decoder a -> Json.Decode.Decoder (List.Nonempty.Nonempty a)"}],"binops":[]},{"name":"Form.Lib.RegexValidation","comment":" Helper functions for Regex Validation\n\n\n# Time\n\n@docs decoder, RegexValidation, forbidSuffixRegex, fromSuffixConstraints\n\n","unions":[],"aliases":[{"name":"RegexValidation","comment":" ","args":[],"type":"{ pattern : Regex.Regex, message : String.String }"}],"values":[{"name":"decoder","comment":" ","type":"Json.Decode.Decoder Form.Lib.RegexValidation.RegexValidation"},{"name":"forbidSuffixRegex","comment":" Constructs a Regex that forbids a string from having the provided suffixes.\nAvoids lookarounds to ensure compatibility with WebKit-based browsers.\n","type":"String.String -> Maybe.Maybe Regex.Regex"},{"name":"fromSuffixConstraints","comment":" ","type":"List.List ( String.String, String.String ) -> List.List Form.Lib.RegexValidation.RegexValidation"}],"binops":[]},{"name":"Form.Lib.Time","comment":" Helper functions for working with elm/time\n\n\n# Time\n\n@docs toDateString\n\n@docs offsetYear\n\n@docs offsetDay\n\n","unions":[],"aliases":[],"values":[{"name":"offsetDay","comment":" Offsets a time by the given number of days and returns a new time, floored to the start of the day.\n","type":"Basics.Int -> Time.Posix -> Time.Posix"},{"name":"offsetYear","comment":" Offsets a time by the given number of years and returns a new time, floored to the start of the year.\n","type":"Basics.Int -> Time.Posix -> Time.Posix"},{"name":"toDateString","comment":" Uses Iso8601.fromTime produces a date with timestamp and takes first 10 characters to return \"YYYY-MM-DD\"\n","type":"Time.Posix -> String.String"}],"binops":[]},{"name":"Form.Locale","comment":" Locale data type\n\n\n# Locale\n\n@docs Locale\n\n\n# Helpers\n\n@docs fromString, toString, decoder, encode, urlParser, toCountryCodeString\n\n\n# Locales\n\n@docs enAU, enNZ, enUS\n\n","unions":[{"name":"Locale","comment":" ","args":[],"cases":[["Locale",["Form.Locale.LanguageCode.LanguageCode","Form.Locale.CountryCode.CountryCode"]]]}],"aliases":[],"values":[{"name":"decoder","comment":" ","type":"Json.Decode.Decoder Form.Locale.Locale"},{"name":"enAU","comment":" ","type":"Form.Locale.Locale"},{"name":"enNZ","comment":" ","type":"Form.Locale.Locale"},{"name":"enUS","comment":" ","type":"Form.Locale.Locale"},{"name":"encode","comment":" ","type":"Form.Locale.Locale -> Json.Encode.Value"},{"name":"fromString","comment":" ","type":"String.String -> Maybe.Maybe Form.Locale.Locale"},{"name":"toCountryCodeString","comment":" ","type":"Form.Locale.Locale -> String.String"},{"name":"toString","comment":" ","type":"Form.Locale.Locale -> String.String"},{"name":"urlParser","comment":" ","type":"Url.Parser.Parser (Form.Locale.Locale -> a) a"}],"binops":[]},{"name":"Form.Locale.CountryCode","comment":" Best effort at supporting [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166).\n\n\n# CountryCode\n\n@docs CountryCode, fromString, toString\n\n","unions":[{"name":"CountryCode","comment":" ","args":[],"cases":[["AD",[]],["AE",[]],["AF",[]],["AG",[]],["AI",[]],["AL",[]],["AM",[]],["AO",[]],["AQ",[]],["AR",[]],["AS",[]],["AT",[]],["AU",[]],["AW",[]],["AX",[]],["AZ",[]],["BA",[]],["BB",[]],["BD",[]],["BE",[]],["BF",[]],["BG",[]],["BH",[]],["BI",[]],["BJ",[]],["BL",[]],["BM",[]],["BN",[]],["BO",[]],["BQ",[]],["BR",[]],["BS",[]],["BT",[]],["BW",[]],["BY",[]],["BZ",[]],["CA",[]],["CC",[]],["CD",[]],["CF",[]],["CG",[]],["CH",[]],["CI",[]],["CK",[]],["CL",[]],["CM",[]],["CN",[]],["CO",[]],["CR",[]],["CU",[]],["CV",[]],["CW",[]],["CX",[]],["CY",[]],["CZ",[]],["DE",[]],["DJ",[]],["DK",[]],["DM",[]],["DO",[]],["DZ",[]],["EC",[]],["EE",[]],["EG",[]],["EH",[]],["ER",[]],["ES",[]],["ET",[]],["FI",[]],["FJ",[]],["FK",[]],["FM",[]],["FO",[]],["FR",[]],["GA",[]],["GB",[]],["GD",[]],["GE",[]],["GF",[]],["GG",[]],["GH",[]],["GI",[]],["GL",[]],["GM",[]],["GN",[]],["GP",[]],["GQ",[]],["GR",[]],["GT",[]],["GU",[]],["GW",[]],["GY",[]],["HK",[]],["HM",[]],["HN",[]],["HT",[]],["HU",[]],["ID",[]],["IE",[]],["IL",[]],["IM",[]],["IN",[]],["IO",[]],["IQ",[]],["IR",[]],["IS",[]],["IT",[]],["JE",[]],["JM",[]],["JO",[]],["JP",[]],["KE",[]],["KG",[]],["KH",[]],["KI",[]],["KM",[]],["KN",[]],["KP",[]],["KR",[]],["KW",[]],["KY",[]],["KZ",[]],["LA",[]],["LB",[]],["LC",[]],["LI",[]],["LK",[]],["LR",[]],["LS",[]],["LT",[]],["LU",[]],["LV",[]],["LY",[]],["MA",[]],["MC",[]],["MD",[]],["ME",[]],["MF",[]],["MG",[]],["MH",[]],["MK",[]],["ML",[]],["MM",[]],["MN",[]],["MO",[]],["MP",[]],["MQ",[]],["MR",[]],["MS",[]],["MT",[]],["MU",[]],["MV",[]],["MW",[]],["MX",[]],["MY",[]],["MZ",[]],["NA",[]],["NC",[]],["NE",[]],["NF",[]],["NG",[]],["NI",[]],["NL",[]],["NO",[]],["NP",[]],["NR",[]],["NU",[]],["NZ",[]],["OM",[]],["PA",[]],["PE",[]],["PF",[]],["PG",[]],["PH",[]],["PK",[]],["PL",[]],["PM",[]],["PR",[]],["PS",[]],["PT",[]],["PW",[]],["PY",[]],["QA",[]],["RE",[]],["RO",[]],["RS",[]],["RU",[]],["RW",[]],["SA",[]],["SB",[]],["SC",[]],["SD",[]],["SE",[]],["SG",[]],["SH",[]],["SI",[]],["SJ",[]],["SK",[]],["SL",[]],["SM",[]],["SN",[]],["SO",[]],["SR",[]],["SS",[]],["ST",[]],["SV",[]],["SX",[]],["SY",[]],["SZ",[]],["TC",[]],["TD",[]],["TG",[]],["TH",[]],["TJ",[]],["TK",[]],["TL",[]],["TM",[]],["TN",[]],["TO",[]],["TR",[]],["TT",[]],["TV",[]],["TW",[]],["TZ",[]],["UA",[]],["UG",[]],["US",[]],["UY",[]],["UZ",[]],["VA",[]],["VC",[]],["VE",[]],["VG",[]],["VI",[]],["VN",[]],["VU",[]],["WF",[]],["WS",[]],["YE",[]],["YT",[]],["ZA",[]],["ZM",[]],["ZW",[]]]}],"aliases":[],"values":[{"name":"fromString","comment":" ","type":"String.String -> Maybe.Maybe Form.Locale.CountryCode.CountryCode"},{"name":"toString","comment":" ","type":"Form.Locale.CountryCode.CountryCode -> String.String"}],"binops":[]},{"name":"Form.Locale.LanguageCode","comment":" Limited [ISO 639-1](https://en.wikipedia.org/wiki/ISO_639-1) support.\n\n\n# LanguageCode\n\n@docs LanguageCode, fromString, toString\n\n","unions":[{"name":"LanguageCode","comment":" ","args":[],"cases":[["AA",[]],["AB",[]],["AF",[]],["AK",[]],["AM",[]],["AN",[]],["AR",[]],["BA",[]],["BE",[]],["BG",[]],["BN",[]],["CA",[]],["CS",[]],["DE",[]],["EL",[]],["EN",[]],["ES",[]],["FR",[]],["GD",[]],["GL",[]],["HI",[]],["HY",[]],["JV",[]],["KO",[]],["MR",[]],["MS",[]],["NO",[]],["PA",[]],["PL",[]],["PS",[]],["PT",[]],["QU",[]],["RM",[]],["RN",[]],["RO",[]],["RU",[]],["SQ",[]],["SR",[]],["SV",[]],["TA",[]],["TH",[]],["TR",[]],["UG",[]],["UK",[]],["UR",[]],["UZ",[]],["VE",[]],["VI",[]],["VO",[]],["WA",[]],["WO",[]],["XH",[]],["YI",[]],["YO",[]],["ZA",[]],["ZH",[]],["ZU",[]]]}],"aliases":[],"values":[{"name":"fromString","comment":" ","type":"String.String -> Maybe.Maybe Form.Locale.LanguageCode.LanguageCode"},{"name":"toString","comment":" ","type":"Form.Locale.LanguageCode.LanguageCode -> String.String"}],"binops":[]},{"name":"Form.Locale.Phone","comment":" Phone number helpers\n\n\n# Phone\n\n@docs phonePrefix\n\n","unions":[],"aliases":[],"values":[{"name":"phonePrefix","comment":" ","type":"Form.Locale.CountryCode.CountryCode -> String.String"}],"binops":[]},{"name":"Form.Msg","comment":" Form.Msg\n\n\n# Msg\n\n@docs Msg\n\n","unions":[{"name":"Msg","comment":" ","args":[],"cases":[["UpdateStringField",["String.String","String.String"]],["UpdateMultiStringField",["String.String","Form.Field.Option.Option","Basics.Bool"]],["UpdateRadioStringField",["String.String","Form.Field.Option.Option"]],["UpdateBoolField",["String.String","Basics.Bool"]],["UpdateRadioBoolField",["String.String","Basics.Bool"]],["UpdateRadioEnumField",["String.String","Form.Field.RadioEnum.Value"]],["UpdateIntegerField",["String.String","String.String"]],["ResetField",["String.String"]],["UpdateShowDropdown",["String.String","Basics.Bool"]],["UpdateSearchbar",["String.String","String.String"]],["UpdateTags",["String.String","String.String","Basics.Bool"]],["UpdateTagInput",["String.String","String.String"]]]}],"aliases":[],"values":[],"binops":[]},{"name":"Form.Placeholder.Phone","comment":" Return placeholder based on country code.\n\n@docs toMobilePlaceholder\n\n","unions":[],"aliases":[],"values":[{"name":"toMobilePlaceholder","comment":" ","type":"Maybe.Maybe Form.Locale.CountryCode.CountryCode -> String.String"}],"binops":[]},{"name":"Form.Placeholder.Placeholder","comment":" Placeholder is a localised String value to place inside text fields to help the user understand what to put.\n\n@docs toPlaceholder\n\n","unions":[],"aliases":[],"values":[{"name":"toPlaceholder","comment":" Placeholder to render for the given field type.\n","type":"Form.Field.FieldType.FieldType -> Maybe.Maybe Form.Locale.CountryCode.CountryCode -> String.String"}],"binops":[]},{"name":"Form.Update","comment":" Form.Update\n\n\n# Update\n\n@docs update\n\n","unions":[],"aliases":[],"values":[{"name":"update","comment":" ","type":"Form.Msg.Msg -> Form.Fields.Fields -> ( Form.Fields.Fields, Platform.Cmd.Cmd Form.Msg.Msg )"}],"binops":[]},{"name":"Form.Validate","comment":" Form.Validate\n\n\n# Validate\n\n@docs validate, validateField, Error\n\n\n# Predicates\n\n@docs isValid\n\n\n# Errors\n\n@docs errorToMessage\n\n","unions":[{"name":"Error","comment":" ","args":[],"cases":[]}],"aliases":[],"values":[{"name":"errorToMessage","comment":" ","type":"Form.Locale.Locale -> Form.Validate.Error -> String.String"},{"name":"isValid","comment":" ","type":"Form.Locale.Locale -> Form.Fields.Fields -> Basics.Bool"},{"name":"validate","comment":" ","type":"Form.Locale.Locale -> Form.Fields.Fields -> Maybe.Maybe Form.Fields.Fields"},{"name":"validateField","comment":" ","type":"Form.Locale.Locale -> Form.Fields.Fields -> Form.Field.Field -> Result.Result Form.Validate.Error Form.Field.Field"}],"binops":[]},{"name":"Form.Validate.StringField","comment":" Validate a localised StringField and produce a localised error message.\n\n\n# Validate\n\n@docs validate\n\n\n# Error Messages\n\n@docs errorToMessage\n\n","unions":[],"aliases":[],"values":[{"name":"errorToMessage","comment":" Localised error message API for a StringField error.\n","type":"Form.Locale.Locale -> Form.Field.StringField -> Form.Validate.Types.StringFieldError -> String.String"},{"name":"validate","comment":" Validator API for a StringField being valid.\n","type":"Form.Locale.Locale -> Form.Field.StringField -> Result.Result Form.Validate.Types.StringFieldError Form.Field.StringField"}],"binops":[]},{"name":"Form.Validate.Types","comment":" Types used for validation.\n\n\n# Validate\n\n@docs Validator\n\n\n# Error Messages\n\n@docs ErrorToMessage, StringFieldError\n\n","unions":[{"name":"StringFieldError","comment":" Error messages that can be produced or displayed for a StringField\n","args":[],"cases":[["RequiredError",[]],["InvalidOption",[]],["InvalidMobilePhoneNumber",[]],["InvalidPhoneNumber",[]],["InvalidEmail",[]],["InvalidDate",[]],["InvalidUrl",[]],["RegexIncongruence",["String.String"]]]}],"aliases":[{"name":"ErrorToMessage","comment":" API for localised error messages\n","args":[],"type":"Form.Locale.Locale -> Form.Field.StringField -> Form.Validate.Types.StringFieldError -> String.String"},{"name":"Validator","comment":" API for validating StringFields (already with just the value of the field)\n","args":[],"type":"Form.Locale.Locale -> Form.Field.StringField -> Result.Result Form.Validate.Types.StringFieldError Form.Field.StringField"}],"values":[],"binops":[]},{"name":"Form.View","comment":" Form.View\n\n\n# View\n\n@docs view\n\n","unions":[],"aliases":[],"values":[{"name":"view","comment":" ","type":"Time.Posix -> Basics.Bool -> Form.Locale.Locale -> Form.Fields.Fields -> Html.Html Form.Msg.Msg"}],"binops":[]},{"name":"Form.View.Input","comment":" View Input.\n\n\n# Input\n\n@docs view\n\n","unions":[],"aliases":[],"values":[{"name":"view","comment":" ","type":"Time.Posix -> Basics.Bool -> Form.Locale.Locale -> Form.Fields.Fields -> String.String -> Form.Field.Field -> Html.Html Form.Msg.Msg"}],"binops":[]},{"name":"Form.View.Radio","comment":" View Radio Fields\n\n\n# Radio\n\n@docs radio, radioBool, radioEnum\n\n","unions":[],"aliases":[],"values":[{"name":"radio","comment":" ","type":"String.String -> Form.Field.RadioFieldProperties -> Html.Html Form.Msg.Msg"},{"name":"radioBool","comment":" ","type":"String.String -> Form.Field.RadioBoolFieldProperties -> Html.Html Form.Msg.Msg"},{"name":"radioEnum","comment":" ","type":"String.String -> Form.Field.RadioEnumFieldProperties -> Html.Html Form.Msg.Msg"}],"binops":[]},{"name":"Form.View.Select","comment":" View Select Fields\n\n\n# Select\n\n@docs select, searchableSelect, httpSelect\n\n","unions":[],"aliases":[],"values":[{"name":"httpSelect","comment":" ","type":"String.String -> Form.Field.HttpSelectFieldProperties -> Html.Html Form.Msg.Msg"},{"name":"searchableSelect","comment":" ","type":"String.String -> Form.Field.SearchableSelectFieldProperties -> Html.Html Form.Msg.Msg"},{"name":"select","comment":" ","type":"String.String -> Form.Field.SelectFieldProperties {} -> Html.Html Form.Msg.Msg"}],"binops":[]}]