import { GecutDirective } from '@gecut/lit-helper/directives/directive.js'; import { type PartInfo } from 'lit/directive.js'; import { nothing } from 'lit/html.js'; import { type IconContent } from '../icon/icon.js'; import type { EventsObject } from '../internal/events-handler.js'; import type { ClassInfo } from 'lit/directives/class-map.js'; /** * Represents the content of an icon button. * * @interface IconButtonContent * @extends IconContent */ export interface IconButtonContent extends IconContent { /** * The type of the icon button. * * A 'normal' button has a transparent background. * A 'filled' button has a solid background color. * A 'filledTonal' button has a tonal background color. * An 'outlined' button has a bordered appearance. * * @type {'normal' | 'filled' | 'filledTonal' | 'outlined'} * @default 'normal' */ type?: 'normal' | 'filled' | 'filledTonal' | 'outlined'; /** * The URL that the button links to. * * When provided, the button will be rendered as an `` tag instead of a `