import { IconButtonBase } from '@material/mwc-icon-button/mwc-icon-button-base'; import { type CSSResult, type HTMLTemplateResult } from 'lit'; import { type IconName } from '@equinor/fusion-wc-icon'; import type { IconButtonColor, IconButtonSize } from './types'; import type { LinkButtonTarget } from '../link-button'; export type IconButtonElementProps = { /** If not empty, it is going to */ href?: string; /** Target for link */ target?: LinkButtonTarget; /** Icon to display */ icon?: IconName | string; /** Accessible label for the button */ ariaLabel?: string; /** Indicates the availability and type of an interactive popup element */ ariaHasPopup?: string; /** Sets the color */ color?: IconButtonColor; /** Sets the size */ size?: IconButtonSize; /** Sets the shape of ripple */ rounded?: boolean; /** Sets the icon button to disabled */ disabled?: boolean; }; /** * Element for rendering an icon button. * {@inheritdoc} * * @tag fwc-icon-button * * @property {string} href - Sets the link of the icon button element. * @property {LinkButtonTarget} target - Sets how it will open link of the icon button element. * @property {IconName} icon - Sets the icon of the icon button element. * @property {IconButtonSize} size - Sets the size of the icon button element. * @property {IconButtonColor} color - Sets the color of the icon button element. * @property {boolean} rounded - Sets the shape of the icon button element to rounded or square. * @property {boolean} disabled - Sets the icon button to disabled. * @property {string} ariaLabel - Sets the accessible label for the button. Uses icon+'_icon-button' when not defined. * @property {string} ariaHasPopup - Indicates the availability and type of an interactive popup element, such as menu or dialog, that can be triggered by the button. * */ export declare class IconButtonElement extends IconButtonBase implements IconButtonElementProps { static styles: CSSResult[]; href?: string; target?: LinkButtonTarget; color?: IconButtonColor; size?: IconButtonSize; rounded?: boolean; icon: IconName | string; /** * override rendering of the ripple * @returns the ripple for setting up 'unbounded' as an additional property */ renderRipple(): HTMLTemplateResult | string; /** * override render of the icon button * @returns full render of IconButtonBase with fwc-icon used instead of alredy used material icon */ render(): HTMLTemplateResult; } export default IconButtonElement;