import { useLocal } from "lib/utils/use-local"; import * as SheetPrimitive from "@radix-ui/react-dialog"; import { X } from "lucide-react"; import { FC, useEffect } from "react"; import { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetTitle, SheetTrigger, } from "lib/comps/ui/sheet"; export const SheetCn: FC<{ child: any; PassProp: any; props: any; content: any; header: string; open: string; close?: string; mode?: "full" | "normal"; direction?: "left" | "right" | "bottom" | "top"; deps?: any; }> = ({ child, PassProp, props, content, header, open, close, mode, direction, deps }) => { const local = useLocal({ open: false, }); useEffect(() => { if (isEditor) { let op = open === "y" ? true : false; if (local.open !== op) { local.open = op; local.render(); } } }, [open]); return (
{ local.open = true; local.render(); setTimeout(() => { document.body.style.pointerEvents = "auto"; }, 1000); }, close: () => { local.open = false; local.render(); }, }} > {child}
{ local.open = false; local.render(); }} className={cx( "", css` background-color: #00000038 !important; z-index: 1; ` )} /> {close !== "n" ? ( { local.open = false; local.render(); }} className={cx( "c-absolute c-right-4 c-top-4 c-rounded-sm c-opacity-70 c-ring-offset-background c-transition-opacity hover:c-opacity-100 focus:c-outline-none focus:c-ring-2 focus:c-ring-ring focus:c-ring-offset-2 disabled:c-pointer-events-none data-[state=open]:c-bg-accent data-[state=open]:c-text-muted-foreground", css` right: 1rem; z-index: 99; ` )} > Close ) : ( <> )} {header !== "" && header ? ( {header} ) : ( <> )} { local.open = true; local.render(); setTimeout(() => { document.body.style.pointerEvents = "auto"; }, 1000); }, close: () => { local.open = false; local.render(); }, }} > {content}
); };