Represents a clickable button, used to submit forms or anywhere in a document for accessible, standard button functionality.

The button supports multiple visual variants, can render as an anchor (<a>) element when the href attribute is set, and is fully form-associated, acting as a native submit or reset control.

Element
igc-button
Slots
default — Renders the label of the button.
prefix — Renders content before the label of the button.
suffix — Renders content after the label of the button.
CSS Parts
base — The native button element of the igc-button component.
prefix — The prefix container of the igc-button component.
suffix — The suffix container of the igc-button component.

IgcButtonComponent

new IgcButtonComponent(): IgcButtonComponent

Defined in src/components/button/button.ts:51

Returns IgcButtonComponent

Inherited from: IgcButtonBaseComponent

The command to invoke on the target element specified by commandfor. Part of the Invoker Commands API. Custom commands must start with two dashes (e.g. '--my-command').

command: string

Defined in src/components/button/button-base.ts:136

Optional download

Section titled "download"

Inherited from: IgcButtonBaseComponent

Prompts the browser to download the linked resource rather than navigating to it. The optional value is used as the suggested file name. Only effective when href is set.

download: string

Defined in src/components/button/button-base.ts:90

Inherited from: IgcButtonBaseComponent

The URL the button points to. When set, the component renders as an <a> element instead of a <button>, enabling navigation on click. Use together with target, download, and rel for full anchor semantics.

href: string

Defined in src/components/button/button-base.ts:81

Inherited from: IgcButtonBaseComponent

The relationship between the current document and the linked URL. Accepts a space-separated list of link types (e.g. 'noopener noreferrer'). Only effective when href is set. When target="_blank" is used, setting rel="noopener noreferrer" is strongly recommended for security.

rel: string

Defined in src/components/button/button-base.ts:111

Inherited from: IgcButtonBaseComponent

Where to open the linked document. Only effective when href is set.

  • '_self' – current browsing context (default browser behavior).
  • '_blank' – new tab or window.
  • '_parent' – parent browsing context; falls back to _self if none.
  • '_top' – top-level browsing context; falls back to _self if none.
target: "_blank" | "_parent" | "_self" | "_top"

Defined in src/components/button/button-base.ts:101

Inherited from: IgcButtonBaseComponent

The type of the button, which determines its behavior and semantics.

  • 'button' – no default action; useful for custom JavaScript handlers.
  • 'submit' – submits the associated form when clicked.
  • 'reset' – resets the associated form fields to their initial values.

Ignored when the button is rendered as a link (i.e. href is set).

type: "reset" | "submit" | "button" = 'button'

Defined in src/components/button/button-base.ts:72

The variant of the button which determines its visual appearance.

  • contained – filled background; highest visual emphasis (default).
  • outlined – transparent background with a visible border.
  • flat – no background or border; lowest visual emphasis.
  • fab – floating action button shape; typically used for primary actions.
variant: ButtonVariant = 'contained'

Defined in src/components/button/button.ts:49

Inherited from: IgcButtonBaseComponent

formAssociated: true = true

Defined in src/components/button/button-base.ts:38

tagName: "igc-button" = 'igc-button'

Defined in src/components/button/button.ts:31

Inherited from: IgcButtonBaseComponent

get commandfor(): string | null

Defined in src/components/button/button-base.ts:155

Returns string | null

The ID of the target element for the invoker command. Part of the Invoker Commands API.

set commandfor(value: string | null): void

Defined in src/components/button/button-base.ts:144

Parameters

  • value: string | null

Returns void

Inherited from: IgcButtonBaseComponent

The target element for the invoker command. Resolved from the commandfor ID.

get commandForElement(): Element | null

Defined in src/components/button/button-base.ts:163

Returns Element | null

set commandForElement(value: Element | null): void

Defined in src/components/button/button-base.ts:168

Parameters

  • value: Element | null

Returns void

Inherited from: IgcButtonBaseComponent

get disabled(): boolean

Defined in src/components/button/button-base.ts:125

Returns boolean

When set, the button will be disabled and non-interactive.

set disabled(value: boolean): void

Defined in src/components/button/button-base.ts:120

Parameters

  • value: boolean

Returns void

Inherited from: IgcButtonBaseComponent

The <form> element the button is associated with. Resolved through the standard form-association mechanism — either the closest ancestor <form> or the form referenced by the button's form attribute. Returns null when no form is associated. Relevant only when type is 'submit' or 'reset'.

get form(): HTMLFormElement | null

Defined in src/components/button/button-base.ts:182

Returns HTMLFormElement | null

Inherited from: IgcButtonBaseComponent

addEventListener(type: K, listener: object, options: boolean | AddEventListenerOptions): void

Defined in src/components/common/mixins/event-emitter.ts:7

Parameters

  • type: K
  • listener: object
  • options: boolean | AddEventListenerOptions

Returns void

Inherited from: IgcButtonBaseComponent

Simulates a mouse click on the button, triggering its click handler and any associated form action.

click(): void

Defined in src/components/button/button-base.ts:229

Returns void

Inherited from: IgcButtonBaseComponent

emitEvent(type: K, eventInitDict: CustomEventInit<D>): boolean

Defined in src/components/common/mixins/event-emitter.ts:30

Parameters

  • type: K
  • eventInitDict: CustomEventInit<D>

Returns boolean

Inherited from: IgcButtonBaseComponent

removeEventListener(type: K, listener: object, options: boolean | EventListenerOptions): void

Defined in src/components/common/mixins/event-emitter.ts:17

Parameters

  • type: K
  • listener: object
  • options: boolean | EventListenerOptions

Returns void

register(): void

Defined in src/components/button/button.ts:35

Returns void