Panoramica
Callout combina titolo, descrizione, icona e nodi di azione. Usa status per neutral, info, success, warning o error. Il valore predefinito è info e supporta l’aspetto soft. Lo stato seleziona una palette grigia, blu, verde, arancione o rossa; color sostituisce tale palette senza modificarne il significato.
Utilizzo
Opzioni visive
Confronta gli stati semantici utilizzando lo stesso contenuto. Scegli uno stato per il significato del messaggio e sostituisci il colore solo quando il design circostante lo richiede.Avviso chiudibile
Chiusura ed etichette
PassandoonDismiss viene esposto un pulsante di chiusura accessibile. Ogni attivazione tramite puntatore o tastiera lo richiama una volta. Il callout rimane visualizzato finché il chiamante non lo nasconde. Ometti onDismiss per un messaggio persistente. Il valore predefinito di closeLabel è Close.
L’applicazione gestisce il contenuto, le azioni, i nomi accessibili e le traduzioni. Utilizza Callout.Action per un piccolo pulsante ghost con spessore del carattere normale. Accetta le props di Button, inclusi gli attributi dei link, lo stato disabilitato, i ref e il rendering personalizzato; dimensione e aspetto sono fissi. Lo slot dell’azione accetta anche pulsanti personalizzati, link, controlli disabilitati o più nodi. L’icona di aiuto predefinita è decorativa; passa icon={null} per ometterla oppure fornisci un nodo con semantica accessibile appropriata. Twenty UI non richiede un provider i18n.
Integrazione nativa
Gli attributi nativi,className, style e ref hanno come destinazione il div radice. Utilizza render per comporre un elemento radice diverso o un callback che riceve le props radice e { status, variant, color }. title e description sono slot di contenuto. fullWidth rimuove la larghezza massima predefinita di 512px.
Il componente non aggiunge alcun ruolo di regione live né annunci. Fornisci role, aria-live e altri attributi accessibili nativi quando il workflow circostante li richiede.
Migrazione
Sostituisci il precedentevariant semantico con status e il costruttore Icon con un nodo icon. Sostituisci gli oggetti azione { label, onClick } con Callout.Action o controlli personalizzati. Sostituisci isClosable e onClose con onDismiss e visualizza condizionalmente il callout nel chiamante quando la chiusura deve nasconderlo. Il contenuto tradotto e le etichette delle azioni esistenti rimangono nell’applicazione.
Props
ReactNode
Optional footer node. Use Callout.Action for the standard action or supply custom controls.
string
Additional class names merged onto the root.
string
predefinito:"Close"
Accessible name of the dismiss button. Defaults to
Close."blue" | "gray" | "green" | "orange" | "red"
predefinito:"status palette"
Palette override: gray, blue, green, orange, or red. Defaults to the status palette.
ReactNode
Optional supporting content node. Empty slots are hidden.
boolean
predefinito:"false"
Removes the default 512px maximum width.
ReactNode
predefinito:"decorative help icon"
Leading icon node. Defaults to a decorative help icon. Pass null to omit it.
(() => void)
Shows a dismiss button and notifies the caller once per activation. The caller owns visibility.
Ref<HTMLDivElement>
Ref to the root div, or the element supplied through render.
ReactElement<unknown, string | JSXElementConstructor<any>> | ComponentRenderFn<HTMLProps, CalloutState>
Element or callback composition for the root. Receives status, variant, and color state.
"error" | "info" | "neutral" | "success" | "warning"
predefinito:"info"
Feedback meaning: neutral, info, success, warning, or error. Defaults to info.
CSSProperties
Inline styles forwarded to the root.
ReactNode
obbligatorio
Main message node displayed beside the icon.
"soft"
predefinito:"soft"
Supported appearance: soft.
Callout.Action
string | ((state: ButtonState) => string | undefined)
CSS class applied to the element, or a function that
returns a class based on the component’s state.
"accent" | "danger" | "inherit" | "neutral" | "success"
Semantic color of the button.
inherit uses the surrounding text color for the label, icons, loader, and outline border, with translucent black interaction surfaces. It supports outline, ghost, soft, and link. Resolving solid with inherit throws, including appearance inherited from ButtonGroup and wrapper defaults.boolean
Adds a shadow and backdrop blur. Neutral outline buttons also use elevated surface colors.
ReactNode
Decorative content displayed after the label.
boolean
predefinito:"false"
Whether the button should be focusable when disabled.
boolean
Expands the button to fill its container width.
string
Destination URL. Renders a native anchor when
render is omitted unless nativeButton is explicitly true. Custom renderers retain their own element contract.boolean
Shows a loading indicator and disables activation.
"center" | "end" | "start"
Where the loading indicator appears.
center hides the content while preserving its layout space; start and end keep children and the opposite icon visible and replace the corresponding icon with the spinner.boolean
predefinito:"true"
Whether the rendered root is a native button. Defaults to true for custom renderers. The built-in
href anchor defaults to false; an explicit value takes precedence.ReactElement<unknown, string | JSXElementConstructor<any>> | ComponentRenderFn<HTMLProps, ButtonState>
Caller-supplied root element or renderer. Native attributes, handlers, event details, and refs reach the rendered root. Use
nativeButton={false} and role="link" for a custom navigation anchor. Router integration belongs to the caller.AriaRole
Role of the root element. Use
link for custom navigation renderers.ShortcutDefinition
Flat key array for simultaneous keys, or nested key arrays for an ordered sequence. Displayed on non-mobile screens.
string
Localized text between sequence steps. Defaults to then.
ReactNode
Decorative content displayed before the label.
CSSProperties | ((state: ButtonState) => CSSProperties | undefined)
Style applied to the element, or a function that
returns a style object based on the component’s state.