Icon buttons allow users to take actions and make choices with a single tap.
import Material.IconButton as IconButton
type Msg
= Clicked
main =
IconButton.iconButton
(IconButton.config |> IconButton.setOnClick Clicked)
(IconButton.icon "favorite")Default icon button configuration
Specify a message when the user clicks on an icon button
Specify whether an icon button is disabled
Disabled icon buttons cannot be interacted with and have no visual interaction effect.
Specify an icon button's HTML5 arial-label attribute
Specify additional attributes
Icon button view function
To disable an icon button, set its setDisabled configuration option to
True. Disabled icon buttons cannot be interacted with and have no visual
interaction effect.
IconButton.iconButton
(IconButton.config |> IconButton.setDisabled True)
(IconButton.icon "favorite")To set the HTML attribute arial-label of a icon button, use its setLabel
configuration option.
IconButton.iconButton
(IconButton.config
|> IconButton.setLabel (Just "Add to favorites")
)
(IconButton.icon "favorite")This library natively supports Material Icons. However, you may also include SVG or custom icons such as FontAwesome.
Icon type
Material Icon
IconButton.iconButton IconButton.config
(IconButton.icon "favorite")Custom icon
IconButton.iconButton IconButton.config
(IconButton.customIcon Html.i
[ class "fab fa-font-awesome" ]
[]
)SVG icon
IconButton.iconButton IconButton.config
(IconButton.svgIcon
[ Svg.Attributes.viewBox "…" ]
[-- …
]
)You may programatically focus an icon button by assigning an id attribute to it
and use Browser.Dom.focus.
IconButton.iconButton
(IconButton.config
|> IconButton.setAttributes
[ Html.Attributes.id "my-icon-button" ]
)
(IconButton.icon "wifi")
Icon button configuration