date
bejamas-ui/dateFreeComponent
bejamas/ui publishes no description for this item.
Live preview
live · rendered by the registry
Rendered by bejamas/ui on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://ui.bejamas.com/r/date.jsonSource
1---2// Generated from bejamas-juno style registry. Do not edit packages/ui/src/components/date/Date.astro directly.3import { cn } from "@/lib/utils";4/**5 * @component Date6 * @description Formats and displays dates and times in human-readable styles.7 * @figmaUrl https://www.figma.com/design/koxai7zw5vIuBzuVxe5T2l/bejamas-ui?node-id=2527-2986&t=YFStJ3V8fXEO8QD8-48 *9 * @preview10 *11 * <div class="grid grid-cols-2 gap-4">12 * <div>Default:</div> <Date date="2025-06-13T12:00:00Z" />13 * <Separator class="col-span-2" />14 * <div>Short:</div> <Date date="2025-06-13T12:00:00Z" format="short" />15 * <Separator class="col-span-2" />16 * <div>Time:</div> <Date date="2025-06-13T12:00:00Z" format="time" />17 * <Separator class="col-span-2" />18 * <div>Full:</div> <Date date="2025-06-13T12:00:00Z" format="full" />19 * <Separator class="col-span-2" />20 * <div>Long:</div> <Date date="2025-06-13T12:00:00Z" format="long" />21 * <Separator class="col-span-2" />22 * <div>Long with time:</div> <Date date="2025-06-13T12:00:00Z" format="long" includeTime />23 * </div>24 *25 * @usage26 *27 * ```astro nocollapse28 * ---29 * import { Date } from '@bejamas/ui/components/date';30 * ---31 *32 * <Date date="2025-06-24T12:00:00Z" />33 * ```34 *35 * @examples36 *37 * ### Custom locale38 *39 * <div class="flex gap-2 flex-col">40 * <Date date="2025-06-24T12:00:00Z" locale="fr-FR" />41 * <Date date="2025-06-24T12:00:00Z" locale="de-DE" />42 * <Date date="2025-06-24T12:00:00Z" locale="es-ES" />43 * <Date date="2025-06-24T12:00:00Z" locale="pl-PL" />44 * </div>45 */46const {47 date,48 format = "long",49 includeTime = false,50 locale = "en-US",51 class: className = "",52 ...props53} = Astro.props;5455// Helper: parse date input56function parseDate(input: string | globalThis.Date | null | undefined) {57 if (!input) return null;58 if (input instanceof globalThis.Date) return input;59 // Try to parse string60 const d = new globalThis.Date(input);61 return isNaN(d.getTime()) ? null : d;62}6364const parsedDate = parseDate(date);6566// Precompute separate date and time strings to support custom rendering via slot67let dateText = "";68let timeText = "";69let formatted = "";70let html = "";71if (parsedDate) {72 let dateOptions: Intl.DateTimeFormatOptions | undefined;73 switch (format) {74 case "short":75 dateOptions = { dateStyle: "short" };76 break;77 case "full":78 dateOptions = { dateStyle: "full" };79 break;80 case "time":81 dateOptions = undefined;82 break;83 case "long":84// … truncated
Files it writes
More from bejamas/ui
All 41 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| accordionaccordion | bejamas/ui | Components | Free | 1 dep · 5 files | |
| alertalert | bejamas/ui | Components | Free | no deps · 4 files | |
| avataravatar | bejamas/ui | Components | Free | no deps · 7 files | |
| badgebadge | bejamas/ui | Components | Free | no deps · 2 files | |
| breadcrumbbreadcrumb | bejamas/ui | Components | Free | no deps · 5 files | |
| buttonbutton | bejamas/ui | Components | Free | no deps · 2 files | |
| button-groupbutton-group | bejamas/ui | Components | Free | no deps · 4 files | |
| cardcard | bejamas/ui | Components | Free | no deps · 10 files |
