You are viewing a PR preview for PR #1506

Agriculture Design System
Beta
Design System for the Export Service

Button

A button communicates an action to a user and indicates what will happen next.

View in FigmaView in StorybookView in Github
import { ... } from '@ag.ds-next/react/button';

Usage

Button components can be imported via the button entrypoint in the @ag.ds-next/react package.

For example:

import { ... } from '@ag.ds-next/react/button';

Props

Button Props
PropTypeDescription
aria-controls?stringIdentifies the element (or elements) whose contents or presence are controlled by the current element.
aria-describedby?stringIdentifies the element (or elements) that describes the object.
aria-expanded?BooleanishIndicates whether the element, or another grouping element it controls, is currently expanded or collapsed.
aria-label?stringDescribes the button element to assistive technologies.
block?booleanDefault: "false"If true, the button will stretch to the fill the width of its container.
children?ReactNode
disabled?booleanWhen true, prevents onClick from firing.
iconAfter?ComponentType<IconProps>The icon to display after the buttons children.
iconBefore?ComponentType<IconProps>The icon to display before the buttons children.
id?stringDefines an identifier (ID) which must be unique.
loading?booleanDefault: "false"When true, the button will display a loading indicator.
loadingLabel?stringDefault: "Busy"Text to read out to assistive technologies when button is loading.
onBlur?FocusEventHandler<HTMLButtonElement>Function to be fired following a blur event of the button.
onClick?MouseEventHandler<HTMLButtonElement>Function to be fired following a click event of the button.
onFocus?FocusEventHandler<HTMLButtonElement>Function to be fired following a focus event of the button.
onKeyDown?KeyboardEventHandler<HTMLButtonElement>Function to be fired following a keydown event of the button.
ref?Ref<HTMLButtonElement>
role?AriaRoleWAI-ARIA role.
size?"sm" | "md"Default: "md"The size of the button.
tabIndex?numberThe `tabIndex` attribute of the button.
type?"button" | "reset" | "submit"Default: "button"The `type` attribute of the button.
variant?"text" | "primary" | "secondary" | "tertiary"Default: "primary"The variant of the button.
ButtonLink Props
PropTypeDescription
aria-label?stringDescribes the anchor element to assistive technologies.
block?booleanDefault: "false"If true, the button will stretch to the fill the width of its container.
children?ReactNode
download?anyCauses the browser to treat the linked URL as a download.
href?stringThe URL that the hyperlink points to.
iconAfter?ComponentType<IconProps>The icon to display after the buttons children.
iconBefore?ComponentType<IconProps>The icon to display before the buttons children.
id?stringThe ID of the hyperlink.
ref?Ref<HTMLAnchorElement>
referrerPolicy?HTMLAttributeReferrerPolicyHow much of the referrer to send when following the link.
rel?stringThe relationship of the linked URL as space-separated link types.
role?AriaRoleWAI-ARIA role.
size?"sm" | "md"Default: "md"The size of the button.
target?HTMLAttributeAnchorTargetWhere to display the linked URL, as the name for a browsing context (a tab, window, or <iframe>).
variant?"text" | "primary" | "secondary" | "tertiary"Default: "primary"The variant of the button.

Source

You can view the full source code for this package on Github.