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 כשלא הוגדר ערך. |
type | fixed to "date" | — | סוג קלט מובנה קבוע; הדפדפן מספק את בורר התאריך. |
invalid | boolean | false | מגדיר aria-invalid ו-data-invalid כשהערך true. |
id / name / value / defaultValue / min / max / required / disabled | native input props | — | מאפייני קלט התאריך המובנה והתנהגות הטופס נשמרים. |
className / style / ref / events | native input props | — | המאפיינים, הסגנונות, האירועים וה-ref של הקלט המובנה מועברים הלאה. |
מקלדת
| מקש | פעולה |
|---|
נגישות
מעטפת ישירה לשדה input type=date מובנה. ספקו תווית גלויה והשתמשו באילוצים המובנים required, min ו-max. הדפדפן אחראי להזנת התאריך, להגדרות האזור, להתנהגות המקלדת ולממשק הבורר; UIify אינו מעצב ערכים, ממיר אזורי זמן או מספק רשת לוח שנה. invalid מגדיר aria-invalid ו-data-invalid.
נקודות חיבור לעיצוב
data-uiify-date-pickerdata-invalid