ButtonIcon
Icon buttons are used to perform small actions with a single click.
Usage
Import the component:
import 'mdui/components/button-icon.js';
Import the TypeScript type:
import type { ButtonIcon } from 'mdui/components/button-icon.js';
Example:
<mdui-button-icon icon="search"></mdui-button-icon>Examples
Icon
Use the icon attribute to specify the Material Icon name. Alternatively, you can use the default slot to specify the icon element.
Shape
The variant attribute determines the shape of the icon button.
Selectable
Add the selectable attribute to make the icon button selectable.
Use the selected-icon attribute to specify the Material Icon name for the selected state. Alternatively, use the selected-icon slot to specify the selected state icon element.
The selected property is true when the icon button is selected. Add the selected attribute to set the icon button to the selected state by default.
Link
Use the href attribute to turn the icon button into a link. The download, target, and rel attributes are available for link-related functionality.
Disabled and Loading State
Use the disabled attribute to disable the icon button. The loading attribute shows the loading state.
API
Properties
| Attribute | Property | Reflect | Type | Default |
|---|---|---|---|---|
variant | variant | 'standard' | 'filled' | 'tonal' | 'outlined' | 'standard' | |
Defines the icon button variant. Possible values:
| ||||
icon | icon | string | - | |
Specifies the Material Icons name. Alternatively, use the default slot. | ||||
selected-icon | selectedIcon | string | - | |
Specifies the Material Icons name when selected. Alternatively, use | ||||
selectable | selectable | boolean | false | |
Makes the button selectable. | ||||
selected | selected | boolean | false | |
Indicates whether the button is selected. | ||||
href | href | string | - | |
The URL for the link. When set, the component renders as an | ||||
download | download | string | - | |
Downloads the linked URL. Note: Only available when | ||||
target | target | '_blank' | '_parent' | '_self' | '_top' | - | |
Controls where the linked URL opens. Possible values:
Note: Only available when | ||||
rel | rel | 'alternate' | 'author' | 'bookmark' | 'external' | 'help' | 'license' | 'me' | 'next' | 'nofollow' | 'noreferrer' | 'opener' | 'prev' | 'search' | 'tag' | - | |
Specifies the relationship of the linked URL as space-separated link types. Possible values:
Note: Only available when | ||||
autofocus | autofocus | boolean | false | |
Whether the element is focused when the page loads. | ||||
tabindex | tabIndex | number | - | |
The element's tab order when navigating with the Tab key. | ||||
disabled | disabled | boolean | false | |
Disables the element. | ||||
loading | loading | boolean | false | |
Indicates that the element is in a loading state. | ||||
name | name | string | '' | |
The button name submitted with form data. Note: Only available when | ||||
value | value | string | '' | |
The button value submitted with form data. Note: Only available when | ||||
type | type | 'submit' | 'reset' | 'button' | 'button' | |
Specifies the button's default action. Default:
Note: Only available when | ||||
form | form | string | - | |
Associates the button with a This lets the button target any form in the document, not just the one it is nested in. Note: Only available when | ||||
formaction | formAction | string | - | |
Specifies the URL that processes the button's submitted information. Overrides the Note: Only available when | ||||
formenctype | formEnctype | 'application/x-www-form-urlencoded' | 'multipart/form-data' | 'text/plain' | - | |
Specifies how to encode the form data. Possible values:
Overrides the Note: Only available when | ||||
formmethod | formMethod | 'post' | 'get' | - | |
Specifies the HTTP method for form submission. Possible values:
Overrides the Note: Only available when | ||||
formnovalidate | formNoValidate | boolean | false | |
Specifies that the form should not be validated on submission. Overrides the Note: Only available when | ||||
formtarget | formTarget | '_self' | '_blank' | '_parent' | '_top' | - | |
Specifies where to open the response after form submission. Possible values:
Overrides the Note: Only available when | ||||
validity | ValidityState | - | ||
A | ||||
validationMessage | string | - | ||
The validation message. Returns an empty string when the element is valid. | ||||
Methods
| Name | Parameters | Returns |
|---|---|---|
click | void | |
Simulates a mouse click on the element. | ||
focus |
| void |
Sets focus on the element. An optional object parameter may include a | ||
blur | void | |
Removes focus from the element. | ||
checkValidity | boolean | |
Checks the validity of the form field. If it is invalid, it triggers an | ||
reportValidity | boolean | |
Checks the validity of the form field. If it is invalid, it triggers an | ||
setCustomValidity |
| void |
Sets a custom error message. If the message is non-empty, the field is considered invalid. | ||
Slots
| Name |
|---|
| (default) |
Icon component. |
selected-icon |
Icon in the selected state. |
CSS Parts
| Name |
|---|
button |
Internal |
icon |
Icon. |
selected-icon |
Icon in the selected state. |
loading |
The |
CSS Custom Properties
| Name |
|---|
--shape-corner |
The corner radius of the component. You can use a specific pixel value, but it is recommended to reference design tokens. |