Skip to content

HTML custom element represents a clickable button, used to submit forms or anywhere in a document for accessible, standard button functionality

License

Notifications You must be signed in to change notification settings

AlaskaAirlines/auro-button

Button

The <auro-button> element creates interactive buttons for triggering actions in your application.

Responsive support

<auro-button> is responsive by default. The button will assume 100% of the width of its container for views less than auro_breakpoint--sm.

Beyond that breakpoint <auro-button> will assume the width of the content or a min-width of 8.75rem, which ever is greater.

If the desired appearance of the <auro-button> is to be placed in the reverse direction of natural content, then the attributes of responsive and reverse are needed on the <auro-button> element.

Use Cases

The auro-button element should be used in situations where users may:

  • submit a form
  • begin a new task
  • trigger a new UI element to appear to the page
  • specify a new or next step in a process

Install

Build Status See it on NPM! License ESM supported

$ npm i @aurodesignsystem/auro-button

Define Dependency in Project

Defining the dependency within each project that is using the <auro-button> component.

import "@aurodesignsystem/auro-button";

Use CDN

In cases where the project is not able to process JS assets, there are pre-processed assets available for use. Legacy browsers such as IE11 are no longer supported.

<script type="module" src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-button@latest/+esm"></script>

Basic Example

<auro-button>Primary</auro-button>
<auro-button variant="secondary">Secondary</auro-button>
<auro-button variant="tertiary">Tertiary</auro-button>
<auro-button variant="ghost">Ghost</auro-button>

Custom Component Registration for Version Management

There are two key parts to every Auro component: the class and the custom element definition. The class defines the component’s behavior, while the custom element registers it under a specific name so it can be used in HTML.

When you install the component as described on the Install page, the class is imported automatically, and the component is registered globally for you.

However, if you need to load multiple versions of the same component on a single page (for example, when two projects depend on different versions), you can manually register the class under a custom element name to avoid conflicts.

You can do this by importing only the component class and using the register(name) method with a unique name:

// Import the class only
import { AuroButton } from '@aurodesignsystem/auro-button/class';

// Register with a custom name if desired
AuroButton.register('custom-button');

This will create a new custom element <custom-button> that behaves exactly like <auro-button>, allowing both to coexist on the same page without interfering with each other.

Primary Secondary Tertiary
See code
<custom-button>Primary</custom-button>
<custom-button variant="secondary">Secondary</custom-button>
<custom-button variant="tertiary">Tertiary</custom-button>

About

HTML custom element represents a clickable button, used to submit forms or anywhere in a document for accessible, standard button functionality

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 21