You're Invited:Meet the Socket Team at RSAC and BSidesSF 2026, March 23–26.RSVP
Socket
Book a DemoSign in
Socket

@asphalt-react/button

Package Overview
Dependencies
Maintainers
3
Versions
42
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@asphalt-react/button

Button

npmnpm
Version
2.0.0-alpha.3
Version published
Weekly downloads
1K
9.05%
Maintainers
3
Weekly downloads
 
Created
Source

Button

Buttons provide a way to trigger an action. The caption of a Button should hint what action it'll perform. The caption is typically text but Buttons can also have an icon with text or just an icon (which we call as Icon Button).

Buttons come in 4 variants to emphasize different levels:

  • Primary (default): For strong call to an action.
  • Secondary: For supporting primary buttons.
  • Tertiary: For actions less important than primary actions.
  • Nude: For least important actions.

There are 3 intents, which paired with the above variants address multiple supportive actions:

  • Brand (default): For most recommended action.
  • Danger: For actions that have some element of risk like deletion.
  • System: For less recommended actions.

Variants and an intents are mutually exclusive. Button falls back to the default value if a variant or intent occurs more than once. For example, using primary and nude together will fallback to a primary variant.

Button features the ability to render a semantic link styled as a button (which we call Link Button). Link Buttons and Icon Link Buttons — icon as caption — handle security and privacy risks if the link opens in a new tab.

Buttons support 4 sizes: - extra small (xs) - small (s) - medium (m) - large (l)

Buttons's caption decides its width by default, but it can also stretch to take its container's width. The rendered button element has a type attribute set to "button". You may override the type attribute if needed.

Buttons accept React ref to give access to the underlying element. They accept most of the button element's attributes such as disabled & onClick and supports data-* attributes.

Accessibility

  • All buttons are focusable and keyboard navigable; tab (or shift+tab when tabbing backwards).
  • space and enter keys trigger the buttons when in focus.
  • enter key triggers the link buttons when in focus.
  • All buttons accept the aria-* attributes button role.
  • Link buttons accept the aria-* attributes for the link role.

Accessibility must-haves

  • Add aria-label or aria-labelledby in Icon Button to help assitive technologies.

Usage

import { Button } from '@asphalt-react/button'

<Button>Click me</Button>

Props

children

React node for button's caption

typerequireddefault
nodetrueN/A

primary

Renders a primary variant

typerequireddefault
boolfalsefalse

secondary

Renders a secondary variant

typerequireddefault
boolfalsefalse

tertiary

Renders a tertiary variant

typerequireddefault
boolfalsefalse

nude

Renders a nude variant

typerequireddefault
boolfalsefalse

brand

Renders brand intent

typerequireddefault
boolfalsefalse

danger

Renders danger intent

typerequireddefault
boolfalsefalse

system

Renders system intent

typerequireddefault
boolfalsefalse

Renders a link button

typerequireddefault
boolfalsefalse

as

Link element to render. Accepts an HTML element or a React component.

typerequireddefault
elementTypefalse"a"

asProps

Accepts props & attributes for the link element.

typerequireddefault
objectfalse{ href: "." }

icon

Renders an icon button

typerequireddefault
boolfalsefalse

compact

Renders an icon button with less padding. Works only with a nude icon button. Does not support any intent.

typerequireddefault
boolfalsefalse

qualifier

Qualifiers are icons that enhance the caption. Button prepends the qualifier by default

Accepts SVG or SVG wrapped React component. Checkout @asphalt-react/iconpack for SVG wrapped React components.

⚠️ Do not use qualifier to render an icon button, use icon prop instead

typerequireddefault
elementfalsenull

qualifierEnd

Appends qualifier to the caption

typerequireddefault
boolfalsefalse

size

Controls size of button. Possible values are "xs", "s", "m", "l" for extra small, small, medium & large respectively

typerequireddefault
enumfalse"m"

stretch

Stretches Button to take it's container width

typerequireddefault
boolfalsefalse

Keywords

button

FAQs

Package last updated on 19 May 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts