You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This catalog documents the shared UI primitives in src/components. Use it as
the first stop when building AgentPay pages so page code stays consistent,
accessible, and easy to review.
Conventions
Prefer the shared components before adding page-local UI primitives.
Pass accessible labels for icon-only actions and short status text.
Keep interactive controls keyboard reachable and use the existing
focus-visible ring styles.
Do not pass secrets or private keys into display or clipboard components.
Layout and Navigation
Header
Prop
Type
Required
Notes
none
-
-
Renders the AgentPay brand link and the main navigation links.
Use Header once in the app shell. It already exposes the nav with
aria-label="Main navigation" and focus-visible styles on each link.
Defaults to "Copy"; changes to "Copied" after success.
Use this for public identifiers, request IDs, and URLs. Do not use it for
secrets, private keys, seed phrases, or passwords.
<CopyButtonvalue={service.id}label="Copy service ID"/>
ConfirmDialog
Prop
Type
Required
Notes
open
boolean
yes
Returns null when false.
title
ReactNode
yes
Dialog heading.
description
ReactNode
no
Explains the effect of the action.
confirmLabel
string
no
Defaults to "Confirm".
cancelLabel
string
no
Defaults to "Cancel".
onConfirm
() => void
yes
Called by the destructive confirm button.
onCancel
() => void
yes
Called by the cancel button.
<ConfirmDialogopen={isDeleting}title="Delete API key?"description="Requests signed with this key will stop working."confirmLabel="Delete key"onConfirm={deleteKey}onCancel={()=>setIsDeleting(false)}/>
Overrides the default per-variant text. An omitted, null, or empty-string value falls back to the variant default, so a label is always present.
The color dot is decorative (aria-hidden); the visible label carries the
status meaning. Use label to reuse the same dot affordance for states outside
the three defaults — for example "Paused" on a warn dot — without rendering a
separate element.