דילוג לתוכן
uiify

Date Picker

שדה תאריך מובנה ומעוצב ששומר על בורר התאריך והאימות של הדפדפן.

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

מגרש ניסויים

בורר תאריכים

ברירת מחדל

import { DatePicker } from "@gunkin/uiify";

export default function Example() {
  return (
    <div>
      <label htmlFor="start-date">Start date</label>
      <DatePicker className="" id="start-date" name="startDate" defaultValue="2026-10-19" />
    </div>
  );
}
@layer components {
  [data-uiify-date-picker] {
    display: block;
    inline-size: 100%;
    min-inline-size: 12rem;
    max-inline-size: 24rem;
    box-sizing: border-box;
    block-size: var(--uiify-control-size, var(--control-md));
    padding-block: 0;
    padding-inline: var(--space-lg);
    border: var(--border-width) solid var(--input);
    border-radius: var(--radius-full);
    background-color: var(--card);
    color: var(--foreground);
    font: inherit;
    font-size: var(--uiify-control-font, var(--text-base));
    line-height: var(--leading-normal);
    transition: var(--transition-colors);
  }

  [data-uiify-date-picker]:focus-visible {
    border-color: var(--primary);
    outline: var(--ring-width) solid var(--ring);
    outline-offset: 2px;
  }

  [data-uiify-date-picker][data-invalid],
  [data-uiify-date-picker]:user-invalid {
    border-color: var(--destructive);
  }

  [data-uiify-date-picker][data-invalid]:focus-visible {
    outline-color: var(--destructive);
  }

  [data-uiify-date-picker]:disabled {
    opacity: 0.5;
    cursor: not-allowed;
  }
}
import { DatePicker } from "@gunkin/uiify";

export default function Example() {
  return (
    <div>
      <label htmlFor="start-date">Start date</label>
      <DatePicker
        className="
          [&[data-positioning=native]]:[--uiify-anchor-offset:var(--space-sm)]
          [&_[data-positioning=native]]:[--uiify-anchor-offset:var(--space-sm)]
          [&[popover]:popover-open:not([data-positioning=native])]:[margin:revert]
          [&_[popover]:popover-open:not([data-positioning=native])]:[margin:revert] block w-full min-w-48 max-w-96
          box-border [block-size:var(--control-md)] py-0 px-lg border-[length:var(--border-width)] border-solid
          border-input rounded-full bg-card text-foreground [font-family:inherit] [font-size:var(--text-base)]
          [line-height:var(--leading-normal)] [transition:var(--transition-colors)] focus-visible:border-primary
          focus-visible:outline-[length:var(--ring-width)] focus-visible:outline-ring focus-visible:outline-offset-2
          data-[invalid]:border-destructive user-invalid:border-destructive
          data-[invalid]:focus-visible:outline-destructive disabled:opacity-50 disabled:cursor-not-allowed
        "
        id="start-date"
        name="startDate"
        defaultValue="2026-10-19"
      />
    </div>
  );
}

API

DatePicker

מאפייןטיפוסברירת מחדלתיאור
size"sm" | "md" | "lg""md"גובה הפקד וגודל הטקסט, בהתאמה ל-Button (32, 40 או 48 px); נכתבים ל-data-size, עם md כשלא הוגדר ערך.
typefixed to "date"—סוג קלט מובנה קבוע; הדפדפן מספק את בורר התאריך.
invalidbooleanfalseמגדיר aria-invalid ו-data-invalid כשהערך true.
id / name / value / defaultValue / min / max / required / disablednative input props—מאפייני קלט התאריך המובנה והתנהגות הטופס נשמרים.
className / style / ref / eventsnative input props—המאפיינים, הסגנונות, האירועים וה-ref של הקלט המובנה מועברים הלאה.

מקלדת

מקשפעולה

נגישות

מעטפת ישירה לשדה input type=date מובנה. ספקו תווית גלויה והשתמשו באילוצים המובנים required, min ו-max. הדפדפן אחראי להזנת התאריך, להגדרות האזור, להתנהגות המקלדת ולממשק הבורר; UIify אינו מעצב ערכים, ממיר אזורי זמן או מספק רשת לוח שנה. invalid מגדיר aria-invalid ו-data-invalid.

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

data-uiify-date-pickerdata-invalid
דף זה תורגם אוטומטית וטרם נבדק.