דילוג לתוכן
uiify

Alert

מכל הודעה סטטי למשוב מתמשך בתוך התוכן.

דפדפנים
Chrome 123+Firefox 121+Safari 17.5+
שכבה
0
גודל חבילה דחוסה
407 B
מגבלת פריסה כפויה
0 ms
מגבלת Axe
0
תואם SSR
כן
חוזה מפורסם
סביבת בדיקות

מגרש ניסויים

התשלום הצליח
התשלום שלך עובד בהצלחה.
ההעלאה נכשלה
יש לבדוק את החיבור ולנסות שוב.
הפעולה דורשת בדיקה
יש לבדוק את טבלת התמיכה לפני הפרסום.
עדכון זמין
אפשר לעיין בשינויים האחרונים בגרסה זו.
One check remains.
import { Alert, AlertDescription, AlertTitle } from "@gunkin/uiify";

export default function Example() {
  return (
    <Alert className="" slotProps={{ symbol: { className: "" } }} variant="warning">
      <AlertTitle className="">Warning: browser support is incomplete.</AlertTitle>
      <AlertDescription className="">Check the support matrix before release.</AlertDescription>
    </Alert>
  );
}
@layer components {
  :where([data-uiify-alert]) {
    --uiify-alert-tone: var(--muted-foreground);

    position: relative;
    display: block;
    box-sizing: border-box;
    inline-size: 100%;
    min-inline-size: 0;
    padding-block: 0.75rem;
    padding-inline: 1rem;
    border: var(--border-width) solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--card);
    color: var(--card-foreground);
    font-size: var(--text-sm);
    line-height: 1.25rem;
    overflow-wrap: anywhere;
    text-wrap: pretty;
  }

  :where([data-uiify-alert][data-variant="success"]) {
    --uiify-alert-tone: var(--success);
  }

  :where([data-uiify-alert][data-variant="warning"]) {
    --uiify-alert-tone: var(--warning);
  }

  :where([data-uiify-alert][data-variant="destructive"]) {
    --uiify-alert-tone: var(--destructive);
  }

  :where([data-uiify-alert]:has(> [data-part="symbol"])) {
    padding-inline-start: 2.75rem;
  }

  :where([data-uiify-alert]) > [data-part="symbol"] {
    position: absolute;
    inset-block-start: 0.875rem;
    inset-inline-start: 1rem;
    display: grid;
    place-items: center;
    inline-size: 1rem;
    block-size: 1rem;
    color: color-mix(in oklab, var(--uiify-alert-tone) 65%, var(--card-foreground));
    font-size: 1rem;
    line-height: 1;
  }

  :where([data-uiify-alert-title]) {
    margin: 0;
    font-size: inherit;
    font-weight: var(--weight-semibold);
    line-height: inherit;
  }

  :where([data-uiify-alert-description]) {
    margin: 0;
    color: var(--muted-foreground);
    font-size: inherit;
    line-height: 1.5;
  }

  :where([data-uiify-alert-title] + [data-uiify-alert-description]) {
    margin-block-start: 0.25rem;
  }

  :where([data-uiify-alert-description]) > p {
    margin: 0;
  }

  :where([data-uiify-alert-description]) > p + p {
    margin-block-start: 0.5rem;
  }
}
import { Alert, AlertDescription, AlertTitle } from "@gunkin/uiify";

export default function Example() {
  return (
    <Alert
      className="
        [--uiify-alert-tone:var(--muted-foreground)] relative block box-border [inline-size:100%] [min-inline-size:0]
        [padding-block:0.75rem] [padding-inline:1rem] border-[length:var(--border-width)] border-solid border-border
        [border-radius:var(--radius-lg)] bg-card text-card-foreground text-sm leading-5 [overflow-wrap:anywhere]
        text-pretty [&[data-variant=success]]:[--uiify-alert-tone:var(--success)]
        [&[data-variant=warning]]:[--uiify-alert-tone:var(--warning)]
        [&[data-variant=destructive]]:[--uiify-alert-tone:var(--destructive)]
        [&:has(>[data-part=symbol])]:[padding-inline-start:2.75rem]
      "
      slotProps={{
        symbol: {
          className:
            "absolute [inset-block-start:0.875rem] [inset-inline-start:1rem] grid " +
            "place-items-center [inline-size:1rem] [block-size:1rem] " +
            "[color:color-mix(in_oklab,_var(--uiify-alert-tone)_65%,_var(--card-foreground))] " +
            "[font-size:1rem] leading-none",
        },
      }}
      variant="warning"
    >
      <AlertTitle
        className="
          m-0 text-[length:inherit] font-[number:var(--weight-semibold)] leading-[inherit]
          [&+[data-uiify-alert-description]]:[margin-block-start:0.25rem]
        "
      >
        Warning: browser support is incomplete.
      </AlertTitle>
      <AlertDescription
        className="
          m-0 text-muted-foreground text-[length:inherit] [line-height:1.5]
          [:where([data-uiify-alert-title]+&)]:[margin-block-start:0.25rem] [&>p]:m-0
          [&>p+p]:[margin-block-start:0.5rem]
        "
      >
        Check the support matrix before release.
      </AlertDescription>
    </Alert>
  );
}

API

Alert

מאפייןטיפוסברירת מחדלתיאור
childrenReactNode—AlertTitle, AlertDescription או תוכן הודעה מותאם אישית.
variant"secondary" | "success" | "warning" | "destructive""secondary"המשמעות החזותית הנכתבת ל-data-variant; יש לבטא את החומרה באופן מובן גם בטקסט.
symbolstring | falseⓘ / ✓ / ⚠︎ / ×החלפת סמל הטקסט הדקורטיבי, או העברת false להסתרתו. ברירת המחדל נקבעת לפי הגרסה שב-variant.
slotPropsAlertSlotProps—מאפיינים מובנים לסמל הדקורטיבי שנוצר.
asElementType"div"האלמנט המובנה או הרכיב המשמש כשורש.
role"status" | "alert"—יש לבחור תפקיד של אזור חי רק כשתזמון ההודעה ודחיפותה מצדיקים הכרזה.
classNamestring—המחלקה המוחלת על אלמנט השורש.
styleCSSProperties—סגנונות אלמנט השורש המובנה.
refRef<HTMLElement>—ה-ref המועבר לאלמנט השורש המוצג.
render(props, state) => ReactElement | null—החלפת האלמנט המוצג תוך שימור ההתנהגות וקישורי הנגישות.

AlertTitle

מאפייןטיפוסברירת מחדלתיאור
childrenReactNode—התוכן שחלק זה של ההתראה מציג.
asElementType"div"האלמנט המובנה או הרכיב המשמש כשורש.
className / style / ref / native propsnative div props—המאפיינים, הסגנונות, האירועים וה-ref של האלמנט המובנה מועברים הלאה.
render(props, state) => ReactElement | null—החלפת האלמנט המוצג תוך שימור ההתנהגות וקישורי הנגישות.

AlertDescription

מאפייןטיפוסברירת מחדלתיאור
childrenReactNode—התוכן שחלק זה של ההתראה מציג.
asElementType"div"האלמנט המובנה או הרכיב המשמש כשורש.
className / style / ref / native propsnative div props—המאפיינים, הסגנונות, האירועים וה-ref של האלמנט המובנה מועברים הלאה.
render(props, state) => ReactElement | null—החלפת האלמנט המוצג תוך שימור ההתנהגות וקישורי הנגישות.

מקלדת

מקשפעולה

נגישות

הודעה מתמשכת בתוך התוכן, ללא תפקיד של אזור חי כברירת מחדל. הוסיפו role=status או role=alert רק כאשר התזמון והדחיפות של עדכון דינמי מצדיקים הכרזה.

נקודות חיבור לעיצוב

data-uiify-alertdata-uiify-alert-titledata-uiify-alert-descriptiondata-part="symbol|title|description"data-variant
דף זה תורגם אוטומטית וטרם נבדק.