Back to Tuist

Button

noora/docs/components/button.md

4.204.05.0 KB
Original Source
<!-- Generated by scripts/generate-web-components.js. Do not edit directly. -->

Button

Triggers an action, submits a form, or navigates to another location.

html
<noora-button type="button">Create project</noora-button>

Attributes

AttributeType or allowed valuesDefaultDescription
aria-describedbystringNoneIdentifies the element that describes the button.
aria-labelstringNoneProvides an accessible name when visible text is unavailable.
aria-labelledbystringNoneIdentifies the element that labels the button.
titlestringNoneProvides advisory information for the button.
autofocusbooleanfalseFocuses the button when the page loads.
disabledbooleanfalsePrevents activation and form submission.
downloadstringNoneDownloads the linked resource, optionally using this value as the filename.
formstringNoneAssociates the button with a form by element identifier.
formactionstringNoneOverrides the associated form action for this submit button.
formenctypestringNoneOverrides the associated form encoding type for this submit button.
formmethodstringNoneOverrides the associated form method for this submit button.
formnovalidatebooleanfalseSkips validation when this button submits its associated form.
formtargetstringNoneOverrides where the associated form response is displayed.
hrefstring""Renders the control as a link to this location.
icon-onlybooleanfalseUses the default slot as the entire button content. An accessible label is required.
labelstring""Provides fallback text when the default slot is empty.
namestring""Sets the form field name submitted with the button value.
relstringNoneSets the relationship between the current page and a linked resource.
sizesmall, medium, large"large"Controls the button dimensions and text size.
targetstringNoneControls where a linked resource is opened.
typebutton, reset, submit"submit"Controls native button behavior when href is absent.
valuestring""Sets the form value submitted with the button name.
variantprimary, secondary, destructive"primary"Controls the visual emphasis and semantic intent.

Read-only properties

PropertyTypeDescription
controlHTMLAnchorElement | HTMLButtonElement | nullThe native link or button rendered inside the component.
formHTMLFormElement | nullThe form associated with the button, if one exists.

Slots

SlotDescription
defaultThe visible label, or the complete content when icon-only is present.
icon-leftAn icon displayed before the label.
icon-rightAn icon displayed after the label.

Styling parts

PartDescription
controlThe native link or button control.

Use the standard ::part() selector when an application needs a targeted override:

css
noora-button::part(control) {
  inline-size: 100%;
}

The component emits the standard browser click event.

It renders a native link when href is present and the component is enabled. Otherwise, it renders a native button and supports form submission and reset.

Variants

Choose a semantic variant through the variant attribute.

html
<noora-button type="button" variant="primary">Primary</noora-button>
<noora-button type="button" variant="secondary">Secondary</noora-button>
<noora-button type="button" variant="destructive">Destructive</noora-button>

Sizes

Compare the large, medium, and small button sizes.

html
<noora-button type="button" size="large">Large</noora-button>
<noora-button type="button" size="medium">Medium</noora-button>
<noora-button type="button" size="small">Small</noora-button>

Disabled

Compare the disabled state across every button variant.

html
<noora-button type="button" variant="primary" disabled>Disabled</noora-button>
<noora-button type="button" variant="secondary" disabled>Disabled</noora-button>
<noora-button type="button" variant="destructive" disabled>Disabled</noora-button>

Icons

Place a chevron on the left, right, or both sides of the label, or render an icon-only button.

html
<noora-button type="button">
  <noora-icon slot="icon-left" name="chevron_left"></noora-icon>
  Icon
</noora-button>

<noora-button type="button">
  Icon
  <noora-icon slot="icon-right" name="chevron_right"></noora-icon>
</noora-button>

<noora-button type="button">
  <noora-icon slot="icon-left" name="chevron_left"></noora-icon>
  Icon
  <noora-icon slot="icon-right" name="chevron_right"></noora-icon>
</noora-button>

<noora-button type="button" icon-only aria-label="Previous">
  <noora-icon name="chevron_left"></noora-icon>
</noora-button>