intrepidshape/elm-web3-ui/2.0.0

NOTE: the latest version is 4.0.0

Web3.Ui.Input

Typed input primitives for EVM data entry.

Thin wrappers around Html.input with semantic class names and appropriate type / inputmode attributes. No validation — the host app calls T.address, BigInt.fromString, etc. on the string value.

The address, bigInt, and bytes inputs accept a valid : Bool field. Pass False to add the --invalid modifier class (e.g. after a failed parse).

Web3.Ui.Input.address []
    { value = model.toAddress, onInput = ToAddressChanged, valid = True }


Web3.Ui.Input.bigInt []
    { value = model.amount, onInput = AmountChanged, valid = True }


Web3.Ui.Input.bool []
    { value = model.approve, onToggle = ApproveToggled }
List (Attribute msg)
-> { value : String
, onInput : String -> msg
, valid : Bool
}
-> Html msg

Text input for Ethereum address entry (0x…).

Adds web3-input-address--invalid when valid is False.

CSS class: web3-input-address

List (Attribute msg)
-> { value : String
, onInput : String -> msg
, valid : Bool
}
-> Html msg

Text input for a BigInt / uint256 value.

Uses inputmode="numeric" to show the numeric keyboard on mobile. Adds web3-input-bigint--invalid when valid is False.

CSS class: web3-input-bigint

List (Attribute msg)
-> { value : Bool
, onToggle : Bool -> msg
}
-> Html msg

Checkbox input for a boolean value.

CSS class: web3-input-bool

List (Attribute msg)
-> { value : String
, onInput : String -> msg
}
-> Html msg

Plain text input.

CSS class: web3-input-text

List (Attribute msg)
-> { value : String
, onInput : String -> msg
, valid : Bool
}
-> Html msg

Text input for hex bytes (0x…).

Adds web3-input-bytes--invalid when valid is False.

CSS class: web3-input-bytes