Alert
نمای کلیimport { Alert, AlertAction } from '@nili/ui';این همان صفحهی نمای کلیِ خود کتابخانه است که زنده رندر میشود. زبان یا تم را از هدر عوض کنید، همراهش میآید.
وضعیتها
پنج معنا. error بهطور پیشفرض قاطعانه اعلام میشود؛ بقیه منتظر یک مکث میمانند.
import { Alert } from "@nili/ui"
export function Example() {
return (
<>
<Alert status="error" title="Something went wrong." />
<Alert status="warning" title="Your trial ends in 3 days." />
<Alert status="success" title="Payment received." />
<Alert status="info" title="A new version is available." />
<Alert status="feature" title="Try the new dashboard." />
</>
)
}ظاهرها
filled، light، lighter و stroke. filled بلندترین است؛ نگهش دارید برای چیزهایی که واقعاً باید کار کاربر را قطع کنند.
import { Alert } from "@nili/ui"
export function Example() {
return (
<>
<Alert appearance="filled" status="info" title="Filled" />
<Alert appearance="light" status="info" title="Light" />
<Alert appearance="lighter" status="info" title="Lighter" />
<Alert appearance="stroke" status="info" title="Stroke" />
</>
)
}اندازهها
x-small یک خط است بدون فضای آیکون؛ large توضیح و کنش هم میگیرد.
حالا همهی اعضای تیم آنها را میبینند.
import { Alert } from "@nili/ui"
export function Example() {
return (
<>
<Alert size="x-small" status="success" title="Saved." />
<Alert size="small" status="success" title="Saved." />
<Alert
size="large"
status="success"
title="Saved."
description="Your changes are live for everyone on the team."
/>
</>
)
}کنشها، آیکونها و بستن
actions تا دو کنش درونخطی میگیرد. icon با true آیکون پیشفرض را میآورد، با یک نود جایگزینش میکند و با false حذفش میکند. dismissible به dismissLabel نیاز دارد — یک ✕ هیچ نام دسترسپذیری ندارد.
import { Alert, Icon } from "@nili/ui"
import { RiSparkling2Line } from "@remixicon/react"
export function Example() {
const [open, setOpen] = useState(true)
return (
<>
<Alert
status="warning"
appearance="stroke"
size="large"
title={t('actions.planTitle')}
description={t('actions.planBody')}
actions={[
{ label: "Upgrade", href: "#" },
{ label: "Dismiss", onClick: () => setOpen(false) },
]}
dismissible
dismissLabel={t('close')}
onDismiss={() => setOpen(false)}
/>
{/* Custom icon */}
<Alert
status="feature"
title={t('actions.feature')}
icon={<Icon icon={RiSparkling2Line} />}
/>
{/* No icon */}
<Alert status="info" title="No icon." icon={false} />
</>
)
}Alert
extends Omit< ComponentPropsWithoutRef<'div'>, 'title' | 'children' >
محورهای واریانت — از تعریف cva کامپوننت
| پراپ | نوع | پیشفرض | توضیح |
|---|---|---|---|
| status | error | warning | success | info | feature | info | |
| appearance | filled | light | lighter | stroke | filled | Renamed from `style`, which shadowed React's `style` (`CSSProperties`). |
| size | x-small | small | large | small |
بقیهی پراپها
| پراپ | نوع | پیشفرض | توضیح |
|---|---|---|---|
| children | ReactNode | — | |
| aria-label | string | — | |
| title* | ReactNode | — | |
| description | ReactNode | — | |
| icon | boolean | ReactNode | true | `true` shows the default glyph for `status`; pass a node to override it; `false` hides it. The default glyph is decorative — the alert's meaning is carried by `role`, not by the picture. |
| actions | AlertAction[] | — | Up to two inline actions. Replaces the unused `linkButton`/`doubleLink`. |
| dismissible | boolean | false | Shows a close button. Requires `dismissLabel` for the accessible name. |
| onDismiss | () => void | — | |
| dismissLabel | string | Dismiss | Accessible name for the close button, e.g. `'Close'`. |
| urgency | assertive | polite | off | — | How assistive tech announces this alert. - `'assertive'` (default for `error`) interrupts the user immediately. - `'polite'` waits for a pause — right for success and info. - `'off'` for alerts rendered statically on page load, which should not be announced at all. |
AlertAction
AlertClose
داخلیمحورهای واریانت — از تعریف cva کامپوننت
| پراپ | نوع | پیشفرض | توضیح |
|---|---|---|---|
| size | x-small | small | large | small |
AlertIcon
داخلیمحورهای واریانت — از تعریف cva کامپوننت
| پراپ | نوع | پیشفرض | توضیح |
|---|---|---|---|
| status | error | warning | success | info | feature | info | |
| appearance | filled | light | lighter | stroke | filled | |
| size | x-small | small | large | small |