Skip to content

← All components

Navigation and interaction

ToastProvider

Owns queued transient notification state.

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 { ToastProvider } from "@cofob/design-system-react";

/**
 * Complete ToastProvider parameter reference.
 * @param limit/defaultDuration
 *   type: number (React)
 *   default: 5 / 5000 (React)
 *   example: 5 / 5000
 * @param children
 *   type: ReactNode | Svelte Snippet | child HTML
 *   default: —
 *   example: children / snippet / child HTML
 */
export function ToastProviderExample() {
  return (
    <ToastProvider><App /></ToastProvider>
  );
}

Svelte

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

  // Complete ToastProvider parameter reference.
  // viewport/position
  //   type: boolean and viewport corner (Svelte)
  //   default: true / "bottom-right" (Svelte)
  //   example: true / "bottom-right"
  // children
  //   type: ReactNode | Svelte Snippet | child HTML
  //   default: —
  //   example: children / snippet / child HTML
</script>

<ToastProvider><App /></ToastProvider>

HTML

html
<!--
  Complete ToastProvider parameter reference.
  limit/defaultDuration
    type: number (React)
    default: 5 / 5000 (React)
    example: 5 / 5000
  viewport/position
    type: boolean and viewport corner (Svelte)
    default: true / "bottom-right" (Svelte)
    example: true / "bottom-right"
  children
    type: ReactNode | Svelte Snippet | child HTML
    default: —
    example: children / snippet / child HTML
-->
<div class="cf-toast-viewport" data-cf-toast-viewport></div>

<script type="module">
  import { initDesignSystem } from "@cofob/design-system-css";

  const designSystem = initDesignSystem(document);
  window.addEventListener("pagehide", () => designSystem.destroy(), { once: true });
</script>

Parameters

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

ParameterTypeDefaultAdaptersExampleDescription
limit/defaultDurationnumber (React)5 / 5000 (React)React · HTML5 / 5000React queue capacity and default auto-dismiss duration.
viewport/positionboolean and viewport corner (Svelte)true / "bottom-right" (Svelte)Svelte · HTMLtrue / "bottom-right"Svelte provider-owned viewport visibility and placement.
childrenReactNode | Svelte Snippet | child HTMLReact · Svelte · HTMLchildren / snippet / child HTMLIdiomatic adapter composition content.