Skip to content

← All components

Display and feedback

Alert

Info, success, warning, and danger callout.

Live example

Usage

Each example includes the complete adapter-specific parameter reference. Copy it as a starting point, then remove options your use case does not need.

React

tsx
import { Alert } from "@cofob/design-system-react";

/**
 * Complete Alert parameter reference.
 * @param tone
 *   type: "neutral" | "accent" | "info" | "success" | "warning" | "danger"
 *   default: "info"
 *   example: "success"
 * @param title
 *   type: string | renderable content
 *   default: —
 *   example: "No posts yet"
 * @param icon
 *   type: LucideIcon (React) | Snippet (Svelte)
 *   default: —
 *   example: Inbox / icon snippet
 * @param dismissLabel
 *   type: string
 *   default: "Dismiss"
 *   example: "Accessible label"
 * @param onDismiss
 *   type: () => void
 *   default: —
 *   example: {handleDismiss}
 * @param children
 *   type: ReactNode | Svelte Snippet | child HTML
 *   default: —
 *   example: children / snippet / child HTML
 * @param div attributes
 *   type: native element attributes
 *   default: —
 *   example: class / style / aria-* / data-*
 */
export function AlertExample() {
  return (
    <Alert>Content</Alert>
  );
}

Svelte

svelte
<script lang="ts">
  import { Alert } from "@cofob/design-system-svelte";

  // Complete Alert parameter reference.
  // tone
  //   type: "neutral" | "accent" | "info" | "success" | "warning" | "danger"
  //   default: "info"
  //   example: "success"
  // title
  //   type: string | renderable content
  //   default: —
  //   example: "No posts yet"
  // icon
  //   type: LucideIcon (React) | Snippet (Svelte)
  //   default: —
  //   example: Inbox / icon snippet
  // dismissible
  //   type: boolean (Svelte)
  //   default: false
  //   example: true
  // dismissLabel
  //   type: string
  //   default: "Dismiss"
  //   example: "Accessible label"
  // onDismiss
  //   type: () => void
  //   default: —
  //   example: {handleDismiss}
  // children
  //   type: ReactNode | Svelte Snippet | child HTML
  //   default: —
  //   example: children / snippet / child HTML
  // div attributes
  //   type: native element attributes
  //   default: —
  //   example: class / style / aria-* / data-*
</script>

<Alert>Content</Alert>

HTML

html
<!--
  Complete Alert parameter reference.
  tone
    type: "neutral" | "accent" | "info" | "success" | "warning" | "danger"
    default: "info"
    example: "success"
  title
    type: string | renderable content
    default: —
    example: "No posts yet"
  icon
    type: LucideIcon (React) | Snippet (Svelte)
    default: —
    example: Inbox / icon snippet
  dismissible
    type: boolean (Svelte)
    default: false
    example: true
  dismissLabel
    type: string
    default: "Dismiss"
    example: "Accessible label"
  onDismiss
    type: () => void
    default: —
    example: {handleDismiss}
  children
    type: ReactNode | Svelte Snippet | child HTML
    default: —
    example: children / snippet / child HTML
  div attributes
    type: native element attributes
    default: —
    example: class / style / aria-* / data-*
-->
<aside class="cf-alert" data-tone="info">Message</aside>

Parameters

Adapter differences are explicit. Native element attributes are forwarded in React and Svelte and can be written directly in HTML.

ParameterTypeDefaultAdaptersExampleDescription
tone"neutral" | "accent" | "info" | "success" | "warning" | "danger""info"React · Svelte · HTML"success"Applies semantic color intent without hard-coded colors.
titlestring | renderable contentReact · Svelte · HTML"No posts yet"Primary heading or accessible title.
iconLucideIcon (React) | Snippet (Svelte)React · Svelte · HTMLInbox / icon snippetOverrides the default semantic icon.
dismissibleboolean (Svelte)falseSvelte · HTMLtrueShows the Svelte alert dismiss action.
dismissLabelstring"Dismiss"React · Svelte · HTML"Accessible label"Accessible name for a dismiss or close action.
onDismiss() => voidReact · Svelte · HTML{handleDismiss}Runs after a dismiss action is activated.
childrenReactNode | Svelte Snippet | child HTMLReact · Svelte · HTMLchildren / snippet / child HTMLIdiomatic adapter composition content.
div attributesnative element attributesReact · Svelte · HTMLclass / style / aria-* / data-*Forwards native class/style, accessibility, event, and data attributes to the root element.