'use client'
import * as React from 'react'
import { Dialog as SheetPrimitive } from '@base-ui/react/dialog'
import { Cancel01Icon } from '@hugeicons/core-free-icons'
import { HugeiconsIcon } from '@hugeicons/react'
import { cn } from '@/lib/utils'
import { Button } from '@/components/ui/button'
function Sheet({ ...props }: SheetPrimitive.Root.Props) {
return
}
function SheetTrigger({ ...props }: SheetPrimitive.Trigger.Props) {
return
}
function SheetClose({ ...props }: SheetPrimitive.Close.Props) {
return
}
function SheetPortal({ ...props }: SheetPrimitive.Portal.Props) {
return
}
function SheetOverlay({ className, ...props }: SheetPrimitive.Backdrop.Props) {
return (
)
}
function SheetContent({
className,
children,
side = 'right',
showCloseButton = true,
...props
}: SheetPrimitive.Popup.Props & {
side?: 'top' | 'right' | 'bottom' | 'left'
showCloseButton?: boolean
}) {
// Side-specific classes are emitted via JS conditionals (rather than
// `data-[side=*]:` variants) so consumer-provided width overrides such as
// `sm:max-w-2xl` can be correctly merged by `tailwind-merge` and the CSS
// cascade — the data-attribute variants would otherwise win on specificity
// and trap the panel at the default `sm:max-w-sm` width.
return (
{children}
{showCloseButton && (
}
>
Close
)}
)
}
function SheetHeader({ className, ...props }: React.ComponentProps<'div'>) {
return (
)
}
function SheetFooter({ className, ...props }: React.ComponentProps<'div'>) {
return (
)
}
function SheetTitle({ className, ...props }: SheetPrimitive.Title.Props) {
return (
)
}
function SheetDescription({
className,
...props
}: SheetPrimitive.Description.Props) {
return (
)
}
export {
Sheet,
SheetTrigger,
SheetClose,
SheetContent,
SheetHeader,
SheetFooter,
SheetTitle,
SheetDescription,
}