Rerouted (regenerated, verified). Same repository and tag, but GitHub now builds the zip with different bytes, so it no longer matches the SHA-1 package.elm-lang.org recorded. The Lamdera package server serves a copy recovered from https://github.com/aforemny/material-components-web-elm.
What we checked: Tag 6.0.0 is still on github.com/aforemny/material-components-web-elm; its commit fa5f16f0eddc is from 2020-10-08 13:01 UTC, before the version was published (2020-10-08 13:03 UTC); every file Elm uses matches a copy in a Lamdera package cache from 2021-02-13, from before the change; elm.json is byte-identical to package.elm-lang.org's; the exposed modules match docs.json; the zip's SHA-1 is not the published one (GitHub's zip no longer comes out byte for byte the same), so the contents were checked instead.
The Lamdera compiler uses this copy and prints a one-line notice saying so. elm itself fails to download this version.
Details · package.elm-lang.org's zip: https://github.com/aforemny/material-components-web-elm/zipball/6.0.0/
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