Package Exports
- @spectrum-web-components/button/custom-elements.json
- @spectrum-web-components/button/package.json
- @spectrum-web-components/button/sp-action-button
- @spectrum-web-components/button/sp-action-button.js
- @spectrum-web-components/button/sp-button
- @spectrum-web-components/button/sp-button.js
- @spectrum-web-components/button/sp-clear-button
- @spectrum-web-components/button/sp-clear-button.js
- @spectrum-web-components/button/src/ActionButton.d.ts
- @spectrum-web-components/button/src/ActionButton.js
- @spectrum-web-components/button/src/ActionButton.js.map
- @spectrum-web-components/button/src/ActionButton.ts
- @spectrum-web-components/button/src/Button.d.ts
- @spectrum-web-components/button/src/Button.js
- @spectrum-web-components/button/src/Button.js.map
- @spectrum-web-components/button/src/Button.ts
- @spectrum-web-components/button/src/ButtonBase.d.ts
- @spectrum-web-components/button/src/ButtonBase.js
- @spectrum-web-components/button/src/ButtonBase.js.map
- @spectrum-web-components/button/src/ButtonBase.ts
- @spectrum-web-components/button/src/ClearButton.d.ts
- @spectrum-web-components/button/src/ClearButton.js
- @spectrum-web-components/button/src/ClearButton.js.map
- @spectrum-web-components/button/src/ClearButton.ts
- @spectrum-web-components/button/src/action-button.css
- @spectrum-web-components/button/src/action-button.css.d.ts
- @spectrum-web-components/button/src/action-button.css.js
- @spectrum-web-components/button/src/action-button.css.js.map
- @spectrum-web-components/button/src/action-button.css.ts
- @spectrum-web-components/button/src/button-base.css
- @spectrum-web-components/button/src/button-base.css.d.ts
- @spectrum-web-components/button/src/button-base.css.js
- @spectrum-web-components/button/src/button-base.css.js.map
- @spectrum-web-components/button/src/button-base.css.ts
- @spectrum-web-components/button/src/button.css
- @spectrum-web-components/button/src/button.css.d.ts
- @spectrum-web-components/button/src/button.css.js
- @spectrum-web-components/button/src/button.css.js.map
- @spectrum-web-components/button/src/button.css.ts
- @spectrum-web-components/button/src/clear-button.css
- @spectrum-web-components/button/src/clear-button.css.d.ts
- @spectrum-web-components/button/src/clear-button.css.js
- @spectrum-web-components/button/src/clear-button.css.js.map
- @spectrum-web-components/button/src/clear-button.css.ts
- @spectrum-web-components/button/src/field-button.css
- @spectrum-web-components/button/src/field-button.css.d.ts
- @spectrum-web-components/button/src/field-button.css.js
- @spectrum-web-components/button/src/field-button.css.js.map
- @spectrum-web-components/button/src/field-button.css.ts
- @spectrum-web-components/button/src/index.d.ts
- @spectrum-web-components/button/src/index.js
- @spectrum-web-components/button/src/index.js.map
- @spectrum-web-components/button/src/index.ts
- @spectrum-web-components/button/src/sp-action-button.d.ts
- @spectrum-web-components/button/src/sp-action-button.js.map
- @spectrum-web-components/button/src/sp-button.d.ts
- @spectrum-web-components/button/src/sp-button.js.map
- @spectrum-web-components/button/src/sp-clear-button.d.ts
- @spectrum-web-components/button/src/sp-clear-button.js.map
- @spectrum-web-components/button/src/spectrum-action-button.css
- @spectrum-web-components/button/src/spectrum-action-button.css.d.ts
- @spectrum-web-components/button/src/spectrum-action-button.css.js
- @spectrum-web-components/button/src/spectrum-action-button.css.js.map
- @spectrum-web-components/button/src/spectrum-action-button.css.ts
- @spectrum-web-components/button/src/spectrum-button-base.css
- @spectrum-web-components/button/src/spectrum-button-base.css.d.ts
- @spectrum-web-components/button/src/spectrum-button-base.css.js
- @spectrum-web-components/button/src/spectrum-button-base.css.js.map
- @spectrum-web-components/button/src/spectrum-button-base.css.ts
- @spectrum-web-components/button/src/spectrum-button.css
- @spectrum-web-components/button/src/spectrum-button.css.d.ts
- @spectrum-web-components/button/src/spectrum-button.css.js
- @spectrum-web-components/button/src/spectrum-button.css.js.map
- @spectrum-web-components/button/src/spectrum-button.css.ts
- @spectrum-web-components/button/src/spectrum-clear-button.css
- @spectrum-web-components/button/src/spectrum-clear-button.css.d.ts
- @spectrum-web-components/button/src/spectrum-clear-button.css.js
- @spectrum-web-components/button/src/spectrum-clear-button.css.js.map
- @spectrum-web-components/button/src/spectrum-clear-button.css.ts
- @spectrum-web-components/button/src/spectrum-config.js
- @spectrum-web-components/button/src/spectrum-fieldbutton.css
- @spectrum-web-components/button/src/spectrum-fieldbutton.css.d.ts
- @spectrum-web-components/button/src/spectrum-fieldbutton.css.js
- @spectrum-web-components/button/src/spectrum-fieldbutton.css.js.map
- @spectrum-web-components/button/src/spectrum-fieldbutton.css.ts
- @spectrum-web-components/button/src/spectrum-vars.json
Readme
Description
An <sp-button> represents an action a user can take. sp-buttons can be clicked
or tapped to perform an action or to navigate to another page. sp-buttons in
Spectrum have several variations for different uses and multiple levels of
loudness for various attention-getting needs.
Usage
yarn add @spectrum-web-components/buttonImport the side effectful registration of <sp-button> or <sp-clear-button> as follows:
import '@spectrum-web-components/button/sp-button.js';
import '@spectrum-web-components/button/sp-clear-button.js';When looking to leverage the Button or ClearButton base classes as a type and/or for extension purposes, do so via:
import { Button, ClearButton } from '@spectrum-web-components/button';Example
<sp-button>Hello world</sp-button>Variants
There are many button variants to choose from in Spectrum. The variant
attribute controls the main variant of the button, and a few other boolean
attributes can be combined to apply sub-variants, e.g. quiet.
Normal
<sp-button-group>
<sp-button variant="cta">CTA</sp-button>
<sp-button variant="primary">Primary</sp-button>
<sp-button variant="secondary">Secondary</sp-button>
<sp-button variant="negative">Negative</sp-button>
</sp-button-group>Quiet
<sp-button-group>
<sp-button quiet variant="primary">Quiet Primary</sp-button>
<sp-button quiet variant="secondary">Quiet Secondary</sp-button>
<sp-button quiet variant="negative">Quiet Negative</sp-button>
</sp-button-group>Content
<sp-buttons> can have a label, or a label with an icon. An icon is provided by
placing an icon component to the icon slot. The icon may be an sp-icon or an
SVG.
<sp-icons-medium></sp-icons-medium>
<sp-button-group>
<sp-button variant="primary">Label only</sp-button>
<sp-button variant="primary">
<sp-icon slot="icon" size="s" name="ui:HelpMedium"></sp-icon>
Icon + Label
</sp-button>
<sp-button variant="primary">
<svg
slot="icon"
viewBox="0 0 36 36"
focusable="false"
aria-hidden="true"
role="img"
>
<path
d="M16 36a4.407 4.407 0 0 0 4-4h-8a4.407 4.407 0 0 0 4 4zm9.143-24.615c0-3.437-3.206-4.891-7.143-5.268V3a1.079 1.079 0 0 0-1.143-1h-1.714A1.079 1.079 0 0 0 14 3v3.117c-3.937.377-7.143 1.831-7.143 5.268C6.857 26.8 2 26.111 2 28.154V30h28v-1.846C30 26 25.143 26.8 25.143 11.385z"
></path>
</svg>
SVG Icon + Label
</sp-button>
</sp-button-group>States
In addition to the variant, <sp-buttons> have a disabled state visual state
which can be applied by adding the attribute disabled. All spectrum-button
variants support the In addition to affectng the visual state, the disabled
attribute prevents focus and disallows click events.
<sp-button-group>
<sp-button variant="primary">Normal</sp-button>
<sp-button variant="primary" disabled>Disabled</sp-button>
</sp-button-group>Handling events
Events handlers for clicks and other user actions can be registered on a
<sp-button> as on a standard HTML <button> element.
<sp-button onclick="alert('spectrum-button clicked!')">Click me</sp-button>Autofocus
The autofocus attribute sets focus to the <sp-button> when the component
mounts. This is useful for setting focus to a specific sp-button when a
popover or dialog opens.
<sp-button autofocus>Confirm</sp-button>