time-picker
diceui-radix/time-pickerFreeComponent
diceui/radix publishes no description for this item.
Install it
npx shadcn@latest add https://raw.githubusercontent.com/sadmann7/diceui/HEAD/docs/public/r/styles/radix-nova/time-picker.jsonSource
1"use client";23import { Clock } from "lucide-react";4import { Slot as SlotPrimitive } from "radix-ui";5import * as React from "react";6import { useComposedRefs } from "@/lib/compose-refs";7import { cn } from "@/lib/utils";8import { VisuallyHiddenInput } from "@/registry/bases/radix/components/visually-hidden-input";9import { useAsRef } from "@/registry/bases/radix/hooks/use-as-ref";10import { useIsomorphicLayoutEffect } from "@/registry/bases/radix/hooks/use-isomorphic-layout-effect";11import { useLazyRef } from "@/registry/bases/radix/hooks/use-lazy-ref";12import {13 Popover,14 PopoverAnchor,15 PopoverContent,16 PopoverTrigger,17} from "@/registry/bases/radix/ui/popover";1819const ROOT_NAME = "TimePicker";20const LABEL_NAME = "TimePickerLabel";21const INPUT_GROUP_NAME = "TimePickerInputGroup";22const INPUT_NAME = "TimePickerInput";23const TRIGGER_NAME = "TimePickerTrigger";24const CONTENT_NAME = "TimePickerContent";25const COLUMN_NAME = "TimePickerColumn";26const COLUMN_ITEM_NAME = "TimePickerColumnItem";27const HOUR_NAME = "TimePickerHour";28const MINUTE_NAME = "TimePickerMinute";29const SECOND_NAME = "TimePickerSecond";30const PERIOD_NAME = "TimePickerPeriod";31const CLEAR_NAME = "TimePickerClear";3233const DEFAULT_STEP = 1;34const DEFAULT_SEGMENT_PLACEHOLDER = "--";35const DEFAULT_LOCALE = undefined;36const SEGMENTS: Segment[] = ["hour", "minute", "second", "period"];37const PERIODS = ["AM", "PM"] as const;3839type Segment = "hour" | "minute" | "second" | "period";40type SegmentFormat = "numeric" | "2-digit";41type Period = (typeof PERIODS)[number];4243interface DivProps extends React.ComponentProps<"div"> {44 asChild?: boolean;45}4647interface ButtonProps extends React.ComponentProps<"button"> {48 asChild?: boolean;49}5051type PopoverContentProps = React.ComponentProps<typeof PopoverContent>;5253type InputGroupElement = React.ComponentRef<typeof TimePickerInputGroup>;54type InputElement = React.ComponentRef<typeof TimePickerInput>;55type TriggerElement = React.ComponentRef<typeof TimePickerTrigger>;56type ColumnElement = React.ComponentRef<typeof TimePickerColumn>;57type ColumnItemElement = React.ComponentRef<typeof TimePickerColumnItem>;5859interface TimeValue {60 hour?: number;61 minute?: number;62 second?: number;63 period?: Period;64}6566interface ItemData {67 value: number | string;68 ref: React.RefObject<ColumnItemElement | null>;69 selected: boolean;70}7172interface ColumnData {73 id: string;74 ref: React.RefObject<ColumnElement | null>;75// … truncated
What it pulls in
npm packages
Other registry items
Files it writes
More from diceui/radix
All 58 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| action-baraction-bar | diceui/radix | Components | Free | 1 dep · 2 files | |
| angle-sliderangle-slider | diceui/radix | Components | Free | 1 dep · 3 files | |
| avatar-groupavatar-group | diceui/radix | Components | Free | 1 dep | |
| badge-overflowbadge-overflow | diceui/radix | Components | Free | 1 dep · 2 files | |
| bannerbanner | diceui/radix | Components | Free | 1 dep | |
| checkbox-groupcheckbox-group | diceui/radix | Components | Free | 1 dep | |
| circular-progresscircular-progress | diceui/radix | Components | Free | 1 dep | |
| client-onlyclient-only | diceui/radix | Components | Free | no deps |
