matken11235 / html-styled-extra / Html.Styled.Attributes.Autocomplete

This module contains types and values you can use to build up a list of autocomplete tokens for form fields. Simple values like On or Off are available, as well as more complex, nestable values: Detailed <| Section "red" <| Shipping <| Contact (Just Fax) Telephone.

You'll probably want to import this module with an alias:

import Html.Styled exposing (input)
import Html.Styled.Attributes.Autocomplete as Autocomplete
import Html.Styled.Attributes.Extra exposing (autocomplete)

myShippingEmailInput =
    input
        [ autocomplete <|
            Autocomplete.Detailed <|
                Autocomplete.Shipping <|
                    Autocomplete.Contact Nothing <|
                        Autocomplete.Email
        ]
        []

Check out the HTML Spec for more information about the autocomplete attribute and the autocomplete detail tokens, such as their meaning, valid controls, and inputformat.


type Completion
    = On
    | Off
    | Detailed DetailedCompletion

This is the generalized completion value. You explicitly toggle completion on or off, or use a more complex DetailedCompletion.

completionValue : Completion -> String

Build the attribute value for a Completion.


type DetailedCompletion
    = Section String DetailedCompletion
    | Shipping DetailedCompletion
    | Billing DetailedCompletion
    | Contact (Maybe ContactType) ContactCompletion
    | Name
    | HonorificPrefix
    | GivenName
    | AdditionalName
    | FamilyName
    | HonorificSuffix
    | Nickname
    | Username
    | NewPassword
    | CurrentPassword
    | OneTimeCode
    | OrganizationTitle
    | Organization
    | StreetAddress
    | AddressLine1
    | AddressLine2
    | AddressLine3
    | AddressLevel4
    | AddressLevel3
    | AddressLevel2
    | AddressLevel1
    | Country
    | CountryName
    | PostalCode
    | CreditCardName
    | CreditCardGivenName
    | CreditCardAdditionalName
    | CreditCardFamilyName
    | CreditCardNumber
    | CreditCardExpiration
    | CreditCardExpirationMonth
    | CreditCardExpirationYear
    | CreditCardCSC
    | CreditCardType
    | TransactionCurrency
    | TransactionAmount
    | Language
    | Birthday
    | BirthdayDay
    | BirthdayMonth
    | BirthdayYear
    | Sex
    | Url
    | Photo

The base type for detailed autocomplete attributes. Some of these are simple, like Email, while some allow nesting of autocomplete tokens, like Billing Email.

detailedValue : DetailedCompletion -> List String

Build a list of autocomplete tokens for a DetailedCompletion.


type ContactType
    = Home
    | Work
    | Mobile
    | Fax
    | Pager

The optional contact types a ContactCompletion can be tagged with.

contactTypeValue : ContactType -> String

Transform a ContactType into it's autocomplete detail token.


type ContactCompletion
    = Telephone
    | TelephoneCountryCode
    | TelephoneNational
    | TelephoneAreaCode
    | TelephoneLocal
    | TelephoneLocalPrefix
    | TelephoneLocalSuffix
    | TelephoneExtension
    | Email
    | IMPP

Autocomplete tokens with the ability to be tagged with a ContactType.

contactValue : ContactCompletion -> String

Transform a ContactCompletion into it's autocomplete detail token.