Sections
Components
- AlertBanner
- AlertDialog
- Alert
- Avatar
- Badge
- Breadcrumb
- Button
- CalendarIcon
- CellLayout
- CellLink
- Checkbox
- Collapse
- ContentSwitcher
- ControlLabel
- DatePicker
- Dialog
- Divider
- Drawer
- EmptyCell
- EmptyState
- Empty
- ErrorOverlay
- FilterBar
- FilterChips
- Flex
- GridLayout
- HumanisedDate
- Icon
- InputDuration
- InputField
- Input
- Label
- Loader
- MoreActions
- NumberInput
- OutsideClickHandler
- PageLoader
- Page
- Popconfirm
- Popover
- ProgressPie
- Progress
- RadioButtonGroup
- RadioGroup
- Radio
- RelativeTime
- Resizable
- SearchInput
- Select
- SkeletonText
- Skeleton
- Space
- SquadAvatarList
- StatusPicker
- Stepper
- Switch
- TableLight
- Tabs
- Tag
- Text
- Textarea
- Toast
- Tooltip
- TriggerSelect
- Upload
import { Toaster, toast, Button } from "@/rl-ui";
<>
<Toaster />
<Button
variant="primary"
onClick={() =>
toast({
variant: "success",
title: "Saved",
description: "Changes published.",
})
}
>
Notify
</Button>
</>Examples#
Variants#
Toast must sit under ToastProvider with a ToastViewport (or use toast() + Toaster).
import { Toast, ToastProvider, ToastViewport } from "@/rl-ui";
<ToastProvider>
<Toast variant="info" title="Info" description="Heads up." open duration={1_000_000} />
<Toast variant="success" title="Success" description="Done." open duration={1_000_000} />
<Toast variant="warning" title="Warning" description="Check this." open duration={1_000_000} />
<Toast variant="error" title="Error" description="Failed." open duration={1_000_000} />
<ToastViewport className="rl-toast-viewport-inline" />
</ToastProvider>Imperative toast()#
Mount Toaster once (e.g. at app root), then call toast() from handlers.
Code-only example (no live preview).
import { Toaster, toast, Button } from "@/rl-ui";
<>
<Toaster />
<Button
onClick={() =>
toast({ variant: "info", title: "Hello", description: "From toast()." })
}
>
Show toast
</Button>
</>API#
| Prop | Type | Default | Description |
|---|---|---|---|
variant | "info" | "success" | "warning" | "error" | "info" | Toast tone. |
layout | "action-button" | "action-link" | "inline" | "action-link" | Action layout. |
title | ReactNode | — | Toast title. |
description | ReactNode | — | Supporting copy. |
duration | number | 5000 | Auto-dismiss ms (use a large value for static previews). |
action | ReactNode | — | Optional action. |
open | boolean | — | Controlled open state. |