Axon 911 Frontend DocsAxon 911 Frontend Docs
Axon 911 Frontend Docs
    Loading navigation…
U
User
Switch to light mode
  1. Components
  2. Copy Button
  3. API and Development

Copy Button

API and Development

View SourceOpens in a new tabSubmit IssueOpens in a new tab
Import CopyButton, CopyButtonVariant from @prepared911/ui/copy-button. CopyButtonProps is CopyButtonOwnProps plus Button's size, tooltip, preventFocusOnPress, type, ref, className, the form and name attributes, data-* attributes, and the shared interaction props (disabled, active, id, the aria-* set, and the pointer, focus, keyboard, and click handlers).
PropTypeDefaultDescription
valuestringrequiredText to put on the clipboard
labelLocalizedMessagerequiredIdle label; the accessible name in the icon variant
copiedLabelLocalizedMessagerequiredLabel after a copy; announced
errorLabelLocalizedMessagerequiredLabel when copying failed; announced
variantCopyButtonVariantOutlineOutline (Soft with a label) or Icon (Ghost, icon-only)
sizeButtonSizeLargeControl height
tooltipLocalizedMessagenoneTooltip text, as on Button
onCopy(value: string) => voidnoneCalled after the value is on the clipboard
onCopyError(error: unknown) => voidnoneCalled when neither the Clipboard API nor the fallback could copy
disabledbooleanfalseNative disabled
refRef<HTMLButtonElement>noneRef to the button
Not accepted: intent, Button's variant, leading, trailing, children, loading, icon, and the toggle props.
Props
NameTypeDefaultDescription
copiedLabelLocalizedMessage—Label while the value is copied. Announced to assistive technology when it appears.
errorLabelLocalizedMessage—Label when the clipboard refused the value. Announced to assistive technology when it appears.
labelLocalizedMessage—Label at rest. With {@link CopyButtonVariant.Icon} it is the accessible name and is never drawn.
valuestring—The text to put on the clipboard. Data, not copy, so it is a plain string.
activeboolean—Non-toggle pressed or transient current marker; hosts write the pressed state key through stateAttributes (data-pressed). A toggle host (Button toggle variant) uses aria-pressed and styles with [aria-pressed="true"] without also writing data-pressed for that toggle state (ADR 0001 rule 1). Link "current" within a set uses aria-current, not active.
aria-controlsstring—Id of the element controlled by this control.
aria-currentboolean | "time" | "false" | "true" | "page" | "step" | "location" | "date"—Whether this item is current within a set.
aria-describedbystring—Id of the element that describes this control.
aria-descriptionLocalizedMessage—Accessible description when it cannot be referenced by id.
aria-expandedboolean—Whether the controlled region is expanded.
aria-haspopupboolean | "dialog" | "menu" | "false" | "true" | "listbox" | "tree" | "grid"—Type of popup triggered by this control, if any.
aria-labelLocalizedMessage—Accessible name when the visible label is insufficient.
aria-labelledbystring—Id of the element that names this control.
classNamestring—Classes appended after generated paint classes.
disabledboolean—Inert state per host: native disabled on a button; on Link, ADR 0006 link host (no href, aria-disabled="true", tabIndex={0}). Never tabIndex={-1}.
idstring—Element id for ARIA relationships.
onCopy((value: string) => void)—Called after the value is on the clipboard. @param value - The value that was copied
onCopyError((error: unknown) => void)—Called when neither the Clipboard API nor the fallback could copy the value. The button shows its error state. @param error - What the clipboard rejected with, or an error describing the failed fallback
preventFocusOnPressbooleanfalseWhen true, mousedown does not move focus to the button (field adornments).
refRef<HTMLButtonElement>—Ref to the rendered button.
sizeButtonSize—Control size. Defaults to {@link ButtonSize.Large}.
tooltipLocalizedMessage—Short text shown in a Tooltip while the pointer hovers the button or a navigation key focuses it. Button composes Tooltip's trigger, content and root, so it behaves like Tooltip > TooltipTrigger > Button and also works while disabled (pointer only) and on toggle buttons. A labelled button points aria-describedby at the tooltip. An icon-only button does not: label already names it, so the tooltip is visual only and never read twice. Adding or removing the prop after mount remounts the button.
type"button" | "submit" | "reset"—Native button type. Defaults to button.
variantCopyButtonVariantCopyButtonVariant.OutlineShape of the button.
Storybook
Interactive examples and edge cases for this component are in Storybook.
DefaultOpens in a new tab
Previous
Copy Button / Usage
Next
Copy Button / Accessibility
On this page
Props
Storybook