@zenithui/time-picker
Version:
A ZenithUi Time Picker is React component enables users to select a time from a predefined list of options.
48 lines (47 loc) • 2.26 kB
JavaScript
import { jsx } from "react/jsx-runtime";
import { Anchor, Close, Content, Portal, Root, Trigger } from "@radix-ui/react-popover";
import { cn } from "@zenithui/utils";
import { forwardRef } from "react";
const popover_Root = Root;
const popover_Trigger = Trigger;
const popover_Close = Close;
const popover_Portal = Portal;
const popover_Content = Content;
const popover_Anchor = Anchor;
const Popover = (props)=>/*#__PURE__*/ jsx(popover_Root, {
"data-slot": "popover",
...props
});
const PopoverTrigger = /*#__PURE__*/ forwardRef((props, ref)=>/*#__PURE__*/ jsx(popover_Trigger, {
ref: ref,
"data-slot": "popover-trigger",
...props
}));
PopoverTrigger.displayName = "PopoverTrigger";
const PopoverClose = /*#__PURE__*/ forwardRef((props, ref)=>/*#__PURE__*/ jsx(popover_Close, {
ref: ref,
"data-slot": "popover-close",
...props
}));
PopoverClose.displayName = "PopoverClose";
const PopoverContent = /*#__PURE__*/ forwardRef(({ className, align = "center", sideOffset = 4, isWithPortal = true, ...props }, ref)=>{
const content = /*#__PURE__*/ jsx(popover_Content, {
ref: ref,
"data-slot": "popover-content",
align: align,
sideOffset: sideOffset,
className: cn("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden", className),
...props
});
return isWithPortal ? /*#__PURE__*/ jsx(popover_Portal, {
children: content
}) : content;
});
PopoverContent.displayName = "PopoverContent";
const PopoverAnchor = /*#__PURE__*/ forwardRef((props, ref)=>/*#__PURE__*/ jsx(popover_Anchor, {
ref: ref,
"data-slot": "popover-anchor",
...props
}));
PopoverAnchor.displayName = "PopoverAnchor";
export { Popover, PopoverAnchor, PopoverClose, PopoverContent, PopoverTrigger };