lizaui 9.0.65 → 9.0.66
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/drawer/index.cjs.js
CHANGED
|
@@ -367,7 +367,7 @@ const DrawerHeader = React.forwardRef((t0, ref) => {
|
|
|
367
367
|
} = t0;
|
|
368
368
|
let t1;
|
|
369
369
|
if ($[0] !== className) {
|
|
370
|
-
t1 = utils.cn("flex flex-col gap-1 px-6 py-4
|
|
370
|
+
t1 = utils.cn("flex flex-col gap-1 px-6 py-4", className);
|
|
371
371
|
$[0] = className;
|
|
372
372
|
$[1] = t1;
|
|
373
373
|
} else {
|
|
@@ -425,7 +425,7 @@ const DrawerFooter = React.forwardRef((t0, ref) => {
|
|
|
425
425
|
} = t0;
|
|
426
426
|
let t1;
|
|
427
427
|
if ($[0] !== className) {
|
|
428
|
-
t1 = utils.cn("flex flex-col-reverse px-6 py-3 gap-2 sm:flex-row sm:justify-end
|
|
428
|
+
t1 = utils.cn("flex flex-col-reverse px-6 py-3 gap-2 sm:flex-row sm:justify-end mt-auto", className);
|
|
429
429
|
$[0] = className;
|
|
430
430
|
$[1] = t1;
|
|
431
431
|
} else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../src/components/drawer/drawer.tsx"],"sourcesContent":["\"use client\";\n\nimport ReactDOM from \"react-dom\";\nimport { forwardRef, type Ref, useEffect, useState, useId } from \"react\";\nimport type { DrawerType, DrawerContentType, DrawerHeaderType, DrawerBodyType, DrawerFooterType } from \"./drawer.type\";\nimport { cn } from \"@/lib/utils\";\nimport { Button } from \"../button\";\nimport { AnimatePresence, LazyMotion, m } from \"framer-motion\";\nimport { cva } from \"class-variance-authority\";\n\nconst backdropVariants = cva(\"\", {\n\tvariants: {\n\t\tbackdrop: {\n\t\t\ttransparent: \"bg-transparent\",\n\t\t\topaque: \"bg-black/50\",\n\t\t\tblur: \"backdrop-blur-md backdrop-saturate-150 bg-overlay/30\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tbackdrop: \"opaque\",\n\t},\n});\n\n\nconst sizeVariants = cva(\"\", {\n\tvariants: {\n\t\tsize: {\n\t\t\t\"xs\": \"w-80\",\n\t\t\t\"sm\": \"w-96\",\n\t\t\t\"md\": \"w-[448px]\",\n\t\t\t\"lg\": \"w-[512px]\",\n\t\t\t\"xl\": \"w-[640px]\",\n\t\t\t\"2xl\": \"w-[768px]\",\n\t\t\t\"3xl\": \"w-[896px]\",\n\t\t\t\"4xl\": \"w-[1024px]\",\n\t\t\t\"5xl\": \"w-[1152px]\",\n\t\t\t\"full\": \"w-full\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n});\n\n\nconst sizeHorizontalVariants = cva(\"\", {\n\tvariants: {\n\t\tsize: {\n\t\t\t\"xs\": \"h-80\",\n\t\t\t\"sm\": \"h-96\",\n\t\t\t\"md\": \"h-[448px]\",\n\t\t\t\"lg\": \"h-[512px]\",\n\t\t\t\"xl\": \"h-[640px]\",\n\t\t\t\"2xl\": \"h-[768px]\",\n\t\t\t\"3xl\": \"h-[896px]\",\n\t\t\t\"4xl\": \"h-[1024px]\",\n\t\t\t\"5xl\": \"h-[1152px]\",\n\t\t\t\"full\": \"h-full\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n});\n\n\nconst radiusVariants = cva(\"\", {\n\tvariants: {\n\t\tradius: {\n\t\t\tnone: \"rounded-none\",\n\t\t\tsm: \"rounded-sm\",\n\t\t\tmd: \"rounded-md\",\n\t\t\tlg: \"rounded-lg\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tradius: \"lg\",\n\t},\n});\n\nconst placementVariants = cva(\"fixed\", {\n\tvariants: {\n\t\tplacement: {\n\t\t\tleft: \"left-0 top-0 bottom-0\",\n\t\t\tright: \"right-0 top-0 bottom-0\",\n\t\t\ttop: \"top-0 left-0 right-0\",\n\t\t\tbottom: \"bottom-0 left-0 right-0\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tplacement: \"right\",\n\t},\n});\n\n\nconst getDrawerVariants = (placement: \"left\" | \"right\" | \"top\" | \"bottom\" = \"right\") => {\n\tconst variants: any = {\n\t\tleft: {\n\t\t\tenter: {\n\t\t\t\tx: 0,\n\t\t\t\topacity: 1,\n\t\t\t\ttransition: {\n\t\t\t\t\ttype: \"spring\",\n\t\t\t\t\tstiffness: 400,\n\t\t\t\t\tdamping: 40,\n\t\t\t\t\tduration: 0.3,\n\t\t\t\t},\n\t\t\t},\n\t\t\texit: {\n\t\t\t\tx: \"-100%\",\n\t\t\t\topacity: 0,\n\t\t\t\ttransition: {\n\t\t\t\t\tduration: 0.2,\n\t\t\t\t\tease: \"easeOut\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tright: {\n\t\t\tenter: {\n\t\t\t\tx: 0,\n\t\t\t\topacity: 1,\n\t\t\t\ttransition: {\n\t\t\t\t\ttype: \"spring\",\n\t\t\t\t\tstiffness: 400,\n\t\t\t\t\tdamping: 40,\n\t\t\t\t\tduration: 0.3,\n\t\t\t\t},\n\t\t\t},\n\t\t\texit: {\n\t\t\t\tx: \"100%\",\n\t\t\t\topacity: 0,\n\t\t\t\ttransition: {\n\t\t\t\t\tduration: 0.2,\n\t\t\t\t\tease: \"easeOut\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\ttop: {\n\t\t\tenter: {\n\t\t\t\ty: 0,\n\t\t\t\topacity: 1,\n\t\t\t\ttransition: {\n\t\t\t\t\ttype: \"spring\",\n\t\t\t\t\tstiffness: 400,\n\t\t\t\t\tdamping: 40,\n\t\t\t\t\tduration: 0.3,\n\t\t\t\t},\n\t\t\t},\n\t\t\texit: {\n\t\t\t\ty: \"-100%\",\n\t\t\t\topacity: 0,\n\t\t\t\ttransition: {\n\t\t\t\t\tduration: 0.2,\n\t\t\t\t\tease: \"easeOut\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tbottom: {\n\t\t\tenter: {\n\t\t\t\ty: 0,\n\t\t\t\topacity: 1,\n\t\t\t\ttransition: {\n\t\t\t\t\ttype: \"spring\",\n\t\t\t\t\tstiffness: 400,\n\t\t\t\t\tdamping: 40,\n\t\t\t\t\tduration: 0.3,\n\t\t\t\t},\n\t\t\t},\n\t\t\texit: {\n\t\t\t\ty: \"100%\",\n\t\t\t\topacity: 0,\n\t\t\t\ttransition: {\n\t\t\t\t\tduration: 0.2,\n\t\t\t\t\tease: \"easeOut\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t};\n\n\treturn variants[placement];\n};\n\nconst getInitialPosition = (placement: \"left\" | \"right\" | \"top\" | \"bottom\" = \"right\") => {\n\tconst positions: any = {\n\t\tleft: { x: \"-100%\", opacity: 0 },\n\t\tright: { x: \"100%\", opacity: 0 },\n\t\ttop: { y: \"-100%\", opacity: 0 },\n\t\tbottom: { y: \"100%\", opacity: 0 },\n\t};\n\n\treturn positions[placement];\n};\n\nexport const Drawer = forwardRef(\n\t(\n\t\t{\n\t\t\tdrawerId: propDrawerId,\n\t\t\tchildren,\n\t\t\tisOpen,\n\t\t\tsize = \"md\",\n\t\t\tradius = \"lg\",\n\t\t\tplacement = \"right\",\n\t\t\tisDismissable = true,\n\t\t\tisKeyboardDismissDisabled = false,\n\t\t\tshouldBlockScroll = true,\n\t\t\thideCloseButton = false,\n\t\t\tbackdrop = \"opaque\",\n\t\t\tmotionProps,\n\t\t\tportalContainer,\n\t\t\tdisableAnimation = false,\n\t\t\tclassNames = {},\n\t\t\tstyle,\n\t\t\tonOpenChange,\n\t\t\tonClose,\n\t\t}: DrawerType,\n\t\tref: Ref<HTMLDivElement>,\n\t) => {\n\t\tconst uniqueId = useId();\n\t\tconst drawerId = propDrawerId || uniqueId;\n\t\tconst [mounted, setMounted] = useState(false);\n\n\t\t// Handle SSR\n\t\tuseEffect(() => {\n\t\t\tsetMounted(true);\n\t\t}, []);\n\n\t\t// Block scroll when drawer is open\n\t\tuseEffect(() => {\n\t\t\tif (typeof window !== \"undefined\" && isOpen && shouldBlockScroll) {\n\t\t\t\tconst scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\n\t\t\t\tdocument.body.style.overflow = \"hidden\";\n\t\t\t\tdocument.body.style.paddingRight = `${scrollbarWidth}px`;\n\t\t\t}\n\n\t\t\treturn () => {\n\t\t\t\tif (typeof window !== \"undefined\" && shouldBlockScroll) {\n\t\t\t\t\tdocument.body.style.overflow = \"\";\n\t\t\t\t\tdocument.body.style.paddingRight = \"\";\n\t\t\t\t}\n\t\t\t};\n\t\t}, [isOpen, shouldBlockScroll]);\n\n\t\t// Handle escape key\n\t\tuseEffect(() => {\n\t\t\tconst handleKeyDown = (e: KeyboardEvent) => {\n\t\t\t\tif (e.key === \"Escape\" && !isKeyboardDismissDisabled && isDismissable) {\n\t\t\t\t\tonClose?.();\n\t\t\t\t\tonOpenChange?.(false);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (isOpen) {\n\t\t\t\tdocument.addEventListener(\"keydown\", handleKeyDown);\n\t\t\t}\n\n\t\t\treturn () => {\n\t\t\t\tdocument.removeEventListener(\"keydown\", handleKeyDown);\n\t\t\t};\n\t\t}, [isOpen, isKeyboardDismissDisabled, isDismissable, onClose, onOpenChange]);\n\n\t\tconst handleBackdropClick = () => {\n\t\t\tif (isDismissable) {\n\t\t\t\tonClose?.();\n\t\t\t\tonOpenChange?.(false);\n\t\t\t}\n\t\t};\n\n\t\tif (!mounted) return null;\n\n\t\tconst drawerRoot = portalContainer || document.getElementById(\"drawer-root\") || document.body;\n\n\t\tconst isHorizontal = placement === \"top\" || placement === \"bottom\";\n\t\tconst sizeClass = isHorizontal ? sizeHorizontalVariants({ size }) : sizeVariants({ size });\n\n\t\t// Apply radius only to the appropriate edges based on placement\n\t\tconst getRadiusClass = () => {\n\t\t\tif (radius === \"none\") return radiusVariants({ radius });\n\n\t\t\tswitch (placement) {\n\t\t\t\tcase \"left\":\n\t\t\t\t\treturn `rounded-r-${radius}`;\n\t\t\t\tcase \"right\":\n\t\t\t\t\treturn `rounded-l-${radius}`;\n\t\t\t\tcase \"top\":\n\t\t\t\t\treturn `rounded-b-${radius}`;\n\t\t\t\tcase \"bottom\":\n\t\t\t\t\treturn `rounded-t-${radius}`;\n\t\t\t\tdefault:\n\t\t\t\t\treturn radiusVariants({ radius });\n\t\t\t}\n\t\t};\n\n\t\tconst drawerVariants = motionProps?.variants || getDrawerVariants(placement);\n\t\tconst initialPosition = getInitialPosition(placement);\n\n\t\treturn ReactDOM.createPortal(\n\t\t\t<AnimatePresence>\n\t\t\t\t{isOpen && (\n\t\t\t\t\t<LazyMotion features={() => import(\"framer-motion\").then((res) => res.domAnimation)}>\n\t\t\t\t\t\t<div className={cn(\"fixed inset-0 z-50 overflow-hidden\", classNames.wrapper)}>\n\t\t\t\t\t\t\t{/* Backdrop */}\n\t\t\t\t\t\t\t<m.div\n\t\t\t\t\t\t\t\tkey=\"drawer-backdrop\"\n\t\t\t\t\t\t\t\tinitial={{ opacity: 0 }}\n\t\t\t\t\t\t\t\tanimate={{ opacity: 1 }}\n\t\t\t\t\t\t\t\texit={{ opacity: 0 }}\n\t\t\t\t\t\t\t\ttransition={{ duration: 0.3 }}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\"fixed inset-0\",\n\t\t\t\t\t\t\t\t\tbackdropVariants({ backdrop }),\n\t\t\t\t\t\t\t\t\tclassNames.backdrop,\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\tonClick={handleBackdropClick}\n\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\t\tdata-dismissable={isDismissable}\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t{/* Drawer */}\n\t\t\t\t\t\t\t<m.div\n\t\t\t\t\t\t\t\tkey=\"drawer-content\"\n\t\t\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\t\t\tid={drawerId}\n\t\t\t\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\t\t\t\taria-modal=\"true\"\n\t\t\t\t\t\t\t\tdata-open={isOpen}\n\t\t\t\t\t\t\t\tdata-dismissable={isDismissable}\n\t\t\t\t\t\t\t\tinitial={disableAnimation ? undefined : initialPosition}\n\t\t\t\t\t\t\t\tanimate={disableAnimation ? undefined : \"enter\"}\n\t\t\t\t\t\t\t\texit={disableAnimation ? undefined : \"exit\"}\n\t\t\t\t\t\t\t\tvariants={disableAnimation ? undefined : drawerVariants}\n\t\t\t\t\t\t\t\t{...(motionProps?.transition && { transition: motionProps.transition })}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\"z-50 flex flex-col bg-content1 shadow-lg max-h-full\",\n\t\t\t\t\t\t\t\t\tplacementVariants({ placement }),\n\t\t\t\t\t\t\t\t\tsizeClass,\n\t\t\t\t\t\t\t\t\tgetRadiusClass(),\n\t\t\t\t\t\t\t\t\tclassNames.base,\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\tstyle={style}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{/* Close button - positioned absolutely */}\n\t\t\t\t\t\t\t\t{!hideCloseButton && (\n\t\t\t\t\t\t\t\t\t<div className={cn(\"absolute top-3 right-3 z-10\", classNames.closeButton)}>\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tisIconOnly\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"light\"\n\t\t\t\t\t\t\t\t\t\t\tradius=\"full\"\n\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\t\taria-label=\"Close drawer\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\tonClose?.();\n\t\t\t\t\t\t\t\t\t\t\t\tonOpenChange?.(false);\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"p-0 w-8 h-8 min-w-auto bg-default-100 hover:bg-default-200 text-default-500 hover:text-default-600 dark:bg-default-100 dark:hover:bg-default-200\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<svg width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 21 21\" role=\"img\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t<path fill=\"none\" d=\"M0 0h21v21H0z\"></path>\n\t\t\t\t\t\t\t\t\t\t\t\t<path d=\"m12.12 10 4.07-4.06a1.5 1.5 0 1 0-2.11-2.12L10 7.88 5.94 3.81a1.5 1.5 0 1 0-2.12 2.12L7.88 10l-4.07 4.06a1.5 1.5 0 0 0 0 2.12 1.51 1.51 0 0 0 2.13 0L10 12.12l4.06 4.07a1.45 1.45 0 0 0 1.06.44 1.5 1.5 0 0 0 1.06-2.56Z\"></path>\n\t\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t{/* Content */}\n\t\t\t\t\t\t\t\t<div className=\"flex flex-col h-full overflow-hidden\">\n\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</m.div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</LazyMotion>\n\t\t\t\t)}\n\t\t\t</AnimatePresence>,\n\t\t\tdrawerRoot,\n\t\t);\n\t},\n);\n\nDrawer.displayName = \"Drawer\";\n\nexport const DrawerContent = forwardRef(\n\t({ children, className, style }: DrawerContentType, ref: Ref<HTMLDivElement>) => {\n\t\treturn (\n\t\t\t<div ref={ref} className={cn(\"flex flex-col h-full\", className)} style={style}>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t},\n);\n\nDrawerContent.displayName = \"DrawerContent\";\n\nexport const DrawerHeader = forwardRef(\n\t({ children, className, style }: DrawerHeaderType, ref: Ref<HTMLDivElement>) => {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={ref}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"flex flex-col gap-1 px-6 py-4 border-b border-divider\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tstyle={style}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t},\n);\n\nDrawerHeader.displayName = \"DrawerHeader\";\n\nexport const DrawerBody = forwardRef(\n\t({ children, className, style }: DrawerBodyType, ref: Ref<HTMLDivElement>) => {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={ref}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"flex flex-col gap-3 px-6 py-4 overflow-y-auto flex-1\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tstyle={style}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t},\n);\n\nDrawerBody.displayName = \"DrawerBody\";\n\nexport const DrawerFooter = forwardRef(\n\t({ children, className, style }: DrawerFooterType, ref: Ref<HTMLDivElement>) => {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={ref}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"flex flex-col-reverse px-6 py-3 gap-2 sm:flex-row sm:justify-end border-t border-divider mt-auto\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tstyle={style}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t},\n);\n\nDrawerFooter.displayName = \"DrawerFooter\";\n"],"names":["backdropVariants","cva","variants","backdrop","transparent","opaque","blur","defaultVariants","sizeVariants","size","sizeHorizontalVariants","radiusVariants","radius","none","sm","md","lg","placementVariants","placement","left","right","top","bottom","getDrawerVariants","enter","x","opacity","transition","type","stiffness","damping","duration","exit","ease","y","getInitialPosition","positions","Drawer","forwardRef","drawerId","propDrawerId","children","isOpen","isDismissable","isKeyboardDismissDisabled","shouldBlockScroll","hideCloseButton","motionProps","portalContainer","disableAnimation","classNames","style","onOpenChange","onClose","ref","uniqueId","useId","mounted","setMounted","useState","useEffect","window","scrollbarWidth","innerWidth","document","documentElement","clientWidth","body","overflow","paddingRight","handleKeyDown","e","key","addEventListener","removeEventListener","handleBackdropClick","drawerRoot","getElementById","isHorizontal","sizeClass","getRadiusClass","drawerVariants","initialPosition","ReactDOM","createPortal","jsx","AnimatePresence","LazyMotion","then","res","domAnimation","jsxs","cn","wrapper","m","undefined","base","closeButton","Button","displayName","DrawerContent","t0","$","_c","className","t1","t2","DrawerHeader","DrawerBody","DrawerFooter"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../src/components/drawer/drawer.tsx"],"sourcesContent":["\"use client\";\n\nimport ReactDOM from \"react-dom\";\nimport { forwardRef, type Ref, useEffect, useState, useId } from \"react\";\nimport type { DrawerType, DrawerContentType, DrawerHeaderType, DrawerBodyType, DrawerFooterType } from \"./drawer.type\";\nimport { cn } from \"@/lib/utils\";\nimport { Button } from \"../button\";\nimport { AnimatePresence, LazyMotion, m } from \"framer-motion\";\nimport { cva } from \"class-variance-authority\";\n\nconst backdropVariants = cva(\"\", {\n\tvariants: {\n\t\tbackdrop: {\n\t\t\ttransparent: \"bg-transparent\",\n\t\t\topaque: \"bg-black/50\",\n\t\t\tblur: \"backdrop-blur-md backdrop-saturate-150 bg-overlay/30\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tbackdrop: \"opaque\",\n\t},\n});\n\n\nconst sizeVariants = cva(\"\", {\n\tvariants: {\n\t\tsize: {\n\t\t\t\"xs\": \"w-80\",\n\t\t\t\"sm\": \"w-96\",\n\t\t\t\"md\": \"w-[448px]\",\n\t\t\t\"lg\": \"w-[512px]\",\n\t\t\t\"xl\": \"w-[640px]\",\n\t\t\t\"2xl\": \"w-[768px]\",\n\t\t\t\"3xl\": \"w-[896px]\",\n\t\t\t\"4xl\": \"w-[1024px]\",\n\t\t\t\"5xl\": \"w-[1152px]\",\n\t\t\t\"full\": \"w-full\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n});\n\n\nconst sizeHorizontalVariants = cva(\"\", {\n\tvariants: {\n\t\tsize: {\n\t\t\t\"xs\": \"h-80\",\n\t\t\t\"sm\": \"h-96\",\n\t\t\t\"md\": \"h-[448px]\",\n\t\t\t\"lg\": \"h-[512px]\",\n\t\t\t\"xl\": \"h-[640px]\",\n\t\t\t\"2xl\": \"h-[768px]\",\n\t\t\t\"3xl\": \"h-[896px]\",\n\t\t\t\"4xl\": \"h-[1024px]\",\n\t\t\t\"5xl\": \"h-[1152px]\",\n\t\t\t\"full\": \"h-full\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n});\n\n\nconst radiusVariants = cva(\"\", {\n\tvariants: {\n\t\tradius: {\n\t\t\tnone: \"rounded-none\",\n\t\t\tsm: \"rounded-sm\",\n\t\t\tmd: \"rounded-md\",\n\t\t\tlg: \"rounded-lg\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tradius: \"lg\",\n\t},\n});\n\nconst placementVariants = cva(\"fixed\", {\n\tvariants: {\n\t\tplacement: {\n\t\t\tleft: \"left-0 top-0 bottom-0\",\n\t\t\tright: \"right-0 top-0 bottom-0\",\n\t\t\ttop: \"top-0 left-0 right-0\",\n\t\t\tbottom: \"bottom-0 left-0 right-0\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tplacement: \"right\",\n\t},\n});\n\n\nconst getDrawerVariants = (placement: \"left\" | \"right\" | \"top\" | \"bottom\" = \"right\") => {\n\tconst variants: any = {\n\t\tleft: {\n\t\t\tenter: {\n\t\t\t\tx: 0,\n\t\t\t\topacity: 1,\n\t\t\t\ttransition: {\n\t\t\t\t\ttype: \"spring\",\n\t\t\t\t\tstiffness: 400,\n\t\t\t\t\tdamping: 40,\n\t\t\t\t\tduration: 0.3,\n\t\t\t\t},\n\t\t\t},\n\t\t\texit: {\n\t\t\t\tx: \"-100%\",\n\t\t\t\topacity: 0,\n\t\t\t\ttransition: {\n\t\t\t\t\tduration: 0.2,\n\t\t\t\t\tease: \"easeOut\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tright: {\n\t\t\tenter: {\n\t\t\t\tx: 0,\n\t\t\t\topacity: 1,\n\t\t\t\ttransition: {\n\t\t\t\t\ttype: \"spring\",\n\t\t\t\t\tstiffness: 400,\n\t\t\t\t\tdamping: 40,\n\t\t\t\t\tduration: 0.3,\n\t\t\t\t},\n\t\t\t},\n\t\t\texit: {\n\t\t\t\tx: \"100%\",\n\t\t\t\topacity: 0,\n\t\t\t\ttransition: {\n\t\t\t\t\tduration: 0.2,\n\t\t\t\t\tease: \"easeOut\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\ttop: {\n\t\t\tenter: {\n\t\t\t\ty: 0,\n\t\t\t\topacity: 1,\n\t\t\t\ttransition: {\n\t\t\t\t\ttype: \"spring\",\n\t\t\t\t\tstiffness: 400,\n\t\t\t\t\tdamping: 40,\n\t\t\t\t\tduration: 0.3,\n\t\t\t\t},\n\t\t\t},\n\t\t\texit: {\n\t\t\t\ty: \"-100%\",\n\t\t\t\topacity: 0,\n\t\t\t\ttransition: {\n\t\t\t\t\tduration: 0.2,\n\t\t\t\t\tease: \"easeOut\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tbottom: {\n\t\t\tenter: {\n\t\t\t\ty: 0,\n\t\t\t\topacity: 1,\n\t\t\t\ttransition: {\n\t\t\t\t\ttype: \"spring\",\n\t\t\t\t\tstiffness: 400,\n\t\t\t\t\tdamping: 40,\n\t\t\t\t\tduration: 0.3,\n\t\t\t\t},\n\t\t\t},\n\t\t\texit: {\n\t\t\t\ty: \"100%\",\n\t\t\t\topacity: 0,\n\t\t\t\ttransition: {\n\t\t\t\t\tduration: 0.2,\n\t\t\t\t\tease: \"easeOut\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t};\n\n\treturn variants[placement];\n};\n\nconst getInitialPosition = (placement: \"left\" | \"right\" | \"top\" | \"bottom\" = \"right\") => {\n\tconst positions: any = {\n\t\tleft: { x: \"-100%\", opacity: 0 },\n\t\tright: { x: \"100%\", opacity: 0 },\n\t\ttop: { y: \"-100%\", opacity: 0 },\n\t\tbottom: { y: \"100%\", opacity: 0 },\n\t};\n\n\treturn positions[placement];\n};\n\nexport const Drawer = forwardRef(\n\t(\n\t\t{\n\t\t\tdrawerId: propDrawerId,\n\t\t\tchildren,\n\t\t\tisOpen,\n\t\t\tsize = \"md\",\n\t\t\tradius = \"lg\",\n\t\t\tplacement = \"right\",\n\t\t\tisDismissable = true,\n\t\t\tisKeyboardDismissDisabled = false,\n\t\t\tshouldBlockScroll = true,\n\t\t\thideCloseButton = false,\n\t\t\tbackdrop = \"opaque\",\n\t\t\tmotionProps,\n\t\t\tportalContainer,\n\t\t\tdisableAnimation = false,\n\t\t\tclassNames = {},\n\t\t\tstyle,\n\t\t\tonOpenChange,\n\t\t\tonClose,\n\t\t}: DrawerType,\n\t\tref: Ref<HTMLDivElement>,\n\t) => {\n\t\tconst uniqueId = useId();\n\t\tconst drawerId = propDrawerId || uniqueId;\n\t\tconst [mounted, setMounted] = useState(false);\n\n\t\t// Handle SSR\n\t\tuseEffect(() => {\n\t\t\tsetMounted(true);\n\t\t}, []);\n\n\t\t// Block scroll when drawer is open\n\t\tuseEffect(() => {\n\t\t\tif (typeof window !== \"undefined\" && isOpen && shouldBlockScroll) {\n\t\t\t\tconst scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\n\t\t\t\tdocument.body.style.overflow = \"hidden\";\n\t\t\t\tdocument.body.style.paddingRight = `${scrollbarWidth}px`;\n\t\t\t}\n\n\t\t\treturn () => {\n\t\t\t\tif (typeof window !== \"undefined\" && shouldBlockScroll) {\n\t\t\t\t\tdocument.body.style.overflow = \"\";\n\t\t\t\t\tdocument.body.style.paddingRight = \"\";\n\t\t\t\t}\n\t\t\t};\n\t\t}, [isOpen, shouldBlockScroll]);\n\n\t\t// Handle escape key\n\t\tuseEffect(() => {\n\t\t\tconst handleKeyDown = (e: KeyboardEvent) => {\n\t\t\t\tif (e.key === \"Escape\" && !isKeyboardDismissDisabled && isDismissable) {\n\t\t\t\t\tonClose?.();\n\t\t\t\t\tonOpenChange?.(false);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (isOpen) {\n\t\t\t\tdocument.addEventListener(\"keydown\", handleKeyDown);\n\t\t\t}\n\n\t\t\treturn () => {\n\t\t\t\tdocument.removeEventListener(\"keydown\", handleKeyDown);\n\t\t\t};\n\t\t}, [isOpen, isKeyboardDismissDisabled, isDismissable, onClose, onOpenChange]);\n\n\t\tconst handleBackdropClick = () => {\n\t\t\tif (isDismissable) {\n\t\t\t\tonClose?.();\n\t\t\t\tonOpenChange?.(false);\n\t\t\t}\n\t\t};\n\n\t\tif (!mounted) return null;\n\n\t\tconst drawerRoot = portalContainer || document.getElementById(\"drawer-root\") || document.body;\n\n\t\tconst isHorizontal = placement === \"top\" || placement === \"bottom\";\n\t\tconst sizeClass = isHorizontal ? sizeHorizontalVariants({ size }) : sizeVariants({ size });\n\n\t\t// Apply radius only to the appropriate edges based on placement\n\t\tconst getRadiusClass = () => {\n\t\t\tif (radius === \"none\") return radiusVariants({ radius });\n\n\t\t\tswitch (placement) {\n\t\t\t\tcase \"left\":\n\t\t\t\t\treturn `rounded-r-${radius}`;\n\t\t\t\tcase \"right\":\n\t\t\t\t\treturn `rounded-l-${radius}`;\n\t\t\t\tcase \"top\":\n\t\t\t\t\treturn `rounded-b-${radius}`;\n\t\t\t\tcase \"bottom\":\n\t\t\t\t\treturn `rounded-t-${radius}`;\n\t\t\t\tdefault:\n\t\t\t\t\treturn radiusVariants({ radius });\n\t\t\t}\n\t\t};\n\n\t\tconst drawerVariants = motionProps?.variants || getDrawerVariants(placement);\n\t\tconst initialPosition = getInitialPosition(placement);\n\n\t\treturn ReactDOM.createPortal(\n\t\t\t<AnimatePresence>\n\t\t\t\t{isOpen && (\n\t\t\t\t\t<LazyMotion features={() => import(\"framer-motion\").then((res) => res.domAnimation)}>\n\t\t\t\t\t\t<div className={cn(\"fixed inset-0 z-50 overflow-hidden\", classNames.wrapper)}>\n\t\t\t\t\t\t\t{/* Backdrop */}\n\t\t\t\t\t\t\t<m.div\n\t\t\t\t\t\t\t\tkey=\"drawer-backdrop\"\n\t\t\t\t\t\t\t\tinitial={{ opacity: 0 }}\n\t\t\t\t\t\t\t\tanimate={{ opacity: 1 }}\n\t\t\t\t\t\t\t\texit={{ opacity: 0 }}\n\t\t\t\t\t\t\t\ttransition={{ duration: 0.3 }}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\"fixed inset-0\",\n\t\t\t\t\t\t\t\t\tbackdropVariants({ backdrop }),\n\t\t\t\t\t\t\t\t\tclassNames.backdrop,\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\tonClick={handleBackdropClick}\n\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\t\tdata-dismissable={isDismissable}\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t{/* Drawer */}\n\t\t\t\t\t\t\t<m.div\n\t\t\t\t\t\t\t\tkey=\"drawer-content\"\n\t\t\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\t\t\tid={drawerId}\n\t\t\t\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\t\t\t\taria-modal=\"true\"\n\t\t\t\t\t\t\t\tdata-open={isOpen}\n\t\t\t\t\t\t\t\tdata-dismissable={isDismissable}\n\t\t\t\t\t\t\t\tinitial={disableAnimation ? undefined : initialPosition}\n\t\t\t\t\t\t\t\tanimate={disableAnimation ? undefined : \"enter\"}\n\t\t\t\t\t\t\t\texit={disableAnimation ? undefined : \"exit\"}\n\t\t\t\t\t\t\t\tvariants={disableAnimation ? undefined : drawerVariants}\n\t\t\t\t\t\t\t\t{...(motionProps?.transition && { transition: motionProps.transition })}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\"z-50 flex flex-col bg-content1 shadow-lg max-h-full\",\n\t\t\t\t\t\t\t\t\tplacementVariants({ placement }),\n\t\t\t\t\t\t\t\t\tsizeClass,\n\t\t\t\t\t\t\t\t\tgetRadiusClass(),\n\t\t\t\t\t\t\t\t\tclassNames.base,\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\tstyle={style}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{/* Close button - positioned absolutely */}\n\t\t\t\t\t\t\t\t{!hideCloseButton && (\n\t\t\t\t\t\t\t\t\t<div className={cn(\"absolute top-3 right-3 z-10\", classNames.closeButton)}>\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tisIconOnly\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"light\"\n\t\t\t\t\t\t\t\t\t\t\tradius=\"full\"\n\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\t\taria-label=\"Close drawer\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\tonClose?.();\n\t\t\t\t\t\t\t\t\t\t\t\tonOpenChange?.(false);\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"p-0 w-8 h-8 min-w-auto bg-default-100 hover:bg-default-200 text-default-500 hover:text-default-600 dark:bg-default-100 dark:hover:bg-default-200\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<svg width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 21 21\" role=\"img\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t<path fill=\"none\" d=\"M0 0h21v21H0z\"></path>\n\t\t\t\t\t\t\t\t\t\t\t\t<path d=\"m12.12 10 4.07-4.06a1.5 1.5 0 1 0-2.11-2.12L10 7.88 5.94 3.81a1.5 1.5 0 1 0-2.12 2.12L7.88 10l-4.07 4.06a1.5 1.5 0 0 0 0 2.12 1.51 1.51 0 0 0 2.13 0L10 12.12l4.06 4.07a1.45 1.45 0 0 0 1.06.44 1.5 1.5 0 0 0 1.06-2.56Z\"></path>\n\t\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t{/* Content */}\n\t\t\t\t\t\t\t\t<div className=\"flex flex-col h-full overflow-hidden\">\n\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</m.div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</LazyMotion>\n\t\t\t\t)}\n\t\t\t</AnimatePresence>,\n\t\t\tdrawerRoot,\n\t\t);\n\t},\n);\n\nDrawer.displayName = \"Drawer\";\n\nexport const DrawerContent = forwardRef(\n\t({ children, className, style }: DrawerContentType, ref: Ref<HTMLDivElement>) => {\n\t\treturn (\n\t\t\t<div ref={ref} className={cn(\"flex flex-col h-full\", className)} style={style}>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t},\n);\n\nDrawerContent.displayName = \"DrawerContent\";\n\nexport const DrawerHeader = forwardRef(\n\t({ children, className, style }: DrawerHeaderType, ref: Ref<HTMLDivElement>) => {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={ref}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"flex flex-col gap-1 px-6 py-4\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tstyle={style}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t},\n);\n\nDrawerHeader.displayName = \"DrawerHeader\";\n\nexport const DrawerBody = forwardRef(\n\t({ children, className, style }: DrawerBodyType, ref: Ref<HTMLDivElement>) => {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={ref}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"flex flex-col gap-3 px-6 py-4 overflow-y-auto flex-1\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tstyle={style}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t},\n);\n\nDrawerBody.displayName = \"DrawerBody\";\n\nexport const DrawerFooter = forwardRef(\n\t({ children, className, style }: DrawerFooterType, ref: Ref<HTMLDivElement>) => {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={ref}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"flex flex-col-reverse px-6 py-3 gap-2 sm:flex-row sm:justify-end mt-auto\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tstyle={style}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t},\n);\n\nDrawerFooter.displayName = \"DrawerFooter\";\n"],"names":["backdropVariants","cva","variants","backdrop","transparent","opaque","blur","defaultVariants","sizeVariants","size","sizeHorizontalVariants","radiusVariants","radius","none","sm","md","lg","placementVariants","placement","left","right","top","bottom","getDrawerVariants","enter","x","opacity","transition","type","stiffness","damping","duration","exit","ease","y","getInitialPosition","positions","Drawer","forwardRef","drawerId","propDrawerId","children","isOpen","isDismissable","isKeyboardDismissDisabled","shouldBlockScroll","hideCloseButton","motionProps","portalContainer","disableAnimation","classNames","style","onOpenChange","onClose","ref","uniqueId","useId","mounted","setMounted","useState","useEffect","window","scrollbarWidth","innerWidth","document","documentElement","clientWidth","body","overflow","paddingRight","handleKeyDown","e","key","addEventListener","removeEventListener","handleBackdropClick","drawerRoot","getElementById","isHorizontal","sizeClass","getRadiusClass","drawerVariants","initialPosition","ReactDOM","createPortal","jsx","AnimatePresence","LazyMotion","then","res","domAnimation","jsxs","cn","wrapper","m","undefined","base","closeButton","Button","displayName","DrawerContent","t0","$","_c","className","t1","t2","DrawerHeader","DrawerBody","DrawerFooter"],"mappings":"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"}
|
package/dist/drawer/index.es.js
CHANGED
|
@@ -343,7 +343,7 @@ const DrawerHeader = forwardRef((t0, ref) => {
|
|
|
343
343
|
} = t0;
|
|
344
344
|
let t1;
|
|
345
345
|
if ($[0] !== className) {
|
|
346
|
-
t1 = cn("flex flex-col gap-1 px-6 py-4
|
|
346
|
+
t1 = cn("flex flex-col gap-1 px-6 py-4", className);
|
|
347
347
|
$[0] = className;
|
|
348
348
|
$[1] = t1;
|
|
349
349
|
} else {
|
|
@@ -401,7 +401,7 @@ const DrawerFooter = forwardRef((t0, ref) => {
|
|
|
401
401
|
} = t0;
|
|
402
402
|
let t1;
|
|
403
403
|
if ($[0] !== className) {
|
|
404
|
-
t1 = cn("flex flex-col-reverse px-6 py-3 gap-2 sm:flex-row sm:justify-end
|
|
404
|
+
t1 = cn("flex flex-col-reverse px-6 py-3 gap-2 sm:flex-row sm:justify-end mt-auto", className);
|
|
405
405
|
$[0] = className;
|
|
406
406
|
$[1] = t1;
|
|
407
407
|
} else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../../src/components/drawer/drawer.tsx"],"sourcesContent":["\"use client\";\n\nimport ReactDOM from \"react-dom\";\nimport { forwardRef, type Ref, useEffect, useState, useId } from \"react\";\nimport type { DrawerType, DrawerContentType, DrawerHeaderType, DrawerBodyType, DrawerFooterType } from \"./drawer.type\";\nimport { cn } from \"@/lib/utils\";\nimport { Button } from \"../button\";\nimport { AnimatePresence, LazyMotion, m } from \"framer-motion\";\nimport { cva } from \"class-variance-authority\";\n\nconst backdropVariants = cva(\"\", {\n\tvariants: {\n\t\tbackdrop: {\n\t\t\ttransparent: \"bg-transparent\",\n\t\t\topaque: \"bg-black/50\",\n\t\t\tblur: \"backdrop-blur-md backdrop-saturate-150 bg-overlay/30\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tbackdrop: \"opaque\",\n\t},\n});\n\n\nconst sizeVariants = cva(\"\", {\n\tvariants: {\n\t\tsize: {\n\t\t\t\"xs\": \"w-80\",\n\t\t\t\"sm\": \"w-96\",\n\t\t\t\"md\": \"w-[448px]\",\n\t\t\t\"lg\": \"w-[512px]\",\n\t\t\t\"xl\": \"w-[640px]\",\n\t\t\t\"2xl\": \"w-[768px]\",\n\t\t\t\"3xl\": \"w-[896px]\",\n\t\t\t\"4xl\": \"w-[1024px]\",\n\t\t\t\"5xl\": \"w-[1152px]\",\n\t\t\t\"full\": \"w-full\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n});\n\n\nconst sizeHorizontalVariants = cva(\"\", {\n\tvariants: {\n\t\tsize: {\n\t\t\t\"xs\": \"h-80\",\n\t\t\t\"sm\": \"h-96\",\n\t\t\t\"md\": \"h-[448px]\",\n\t\t\t\"lg\": \"h-[512px]\",\n\t\t\t\"xl\": \"h-[640px]\",\n\t\t\t\"2xl\": \"h-[768px]\",\n\t\t\t\"3xl\": \"h-[896px]\",\n\t\t\t\"4xl\": \"h-[1024px]\",\n\t\t\t\"5xl\": \"h-[1152px]\",\n\t\t\t\"full\": \"h-full\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n});\n\n\nconst radiusVariants = cva(\"\", {\n\tvariants: {\n\t\tradius: {\n\t\t\tnone: \"rounded-none\",\n\t\t\tsm: \"rounded-sm\",\n\t\t\tmd: \"rounded-md\",\n\t\t\tlg: \"rounded-lg\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tradius: \"lg\",\n\t},\n});\n\nconst placementVariants = cva(\"fixed\", {\n\tvariants: {\n\t\tplacement: {\n\t\t\tleft: \"left-0 top-0 bottom-0\",\n\t\t\tright: \"right-0 top-0 bottom-0\",\n\t\t\ttop: \"top-0 left-0 right-0\",\n\t\t\tbottom: \"bottom-0 left-0 right-0\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tplacement: \"right\",\n\t},\n});\n\n\nconst getDrawerVariants = (placement: \"left\" | \"right\" | \"top\" | \"bottom\" = \"right\") => {\n\tconst variants: any = {\n\t\tleft: {\n\t\t\tenter: {\n\t\t\t\tx: 0,\n\t\t\t\topacity: 1,\n\t\t\t\ttransition: {\n\t\t\t\t\ttype: \"spring\",\n\t\t\t\t\tstiffness: 400,\n\t\t\t\t\tdamping: 40,\n\t\t\t\t\tduration: 0.3,\n\t\t\t\t},\n\t\t\t},\n\t\t\texit: {\n\t\t\t\tx: \"-100%\",\n\t\t\t\topacity: 0,\n\t\t\t\ttransition: {\n\t\t\t\t\tduration: 0.2,\n\t\t\t\t\tease: \"easeOut\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tright: {\n\t\t\tenter: {\n\t\t\t\tx: 0,\n\t\t\t\topacity: 1,\n\t\t\t\ttransition: {\n\t\t\t\t\ttype: \"spring\",\n\t\t\t\t\tstiffness: 400,\n\t\t\t\t\tdamping: 40,\n\t\t\t\t\tduration: 0.3,\n\t\t\t\t},\n\t\t\t},\n\t\t\texit: {\n\t\t\t\tx: \"100%\",\n\t\t\t\topacity: 0,\n\t\t\t\ttransition: {\n\t\t\t\t\tduration: 0.2,\n\t\t\t\t\tease: \"easeOut\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\ttop: {\n\t\t\tenter: {\n\t\t\t\ty: 0,\n\t\t\t\topacity: 1,\n\t\t\t\ttransition: {\n\t\t\t\t\ttype: \"spring\",\n\t\t\t\t\tstiffness: 400,\n\t\t\t\t\tdamping: 40,\n\t\t\t\t\tduration: 0.3,\n\t\t\t\t},\n\t\t\t},\n\t\t\texit: {\n\t\t\t\ty: \"-100%\",\n\t\t\t\topacity: 0,\n\t\t\t\ttransition: {\n\t\t\t\t\tduration: 0.2,\n\t\t\t\t\tease: \"easeOut\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tbottom: {\n\t\t\tenter: {\n\t\t\t\ty: 0,\n\t\t\t\topacity: 1,\n\t\t\t\ttransition: {\n\t\t\t\t\ttype: \"spring\",\n\t\t\t\t\tstiffness: 400,\n\t\t\t\t\tdamping: 40,\n\t\t\t\t\tduration: 0.3,\n\t\t\t\t},\n\t\t\t},\n\t\t\texit: {\n\t\t\t\ty: \"100%\",\n\t\t\t\topacity: 0,\n\t\t\t\ttransition: {\n\t\t\t\t\tduration: 0.2,\n\t\t\t\t\tease: \"easeOut\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t};\n\n\treturn variants[placement];\n};\n\nconst getInitialPosition = (placement: \"left\" | \"right\" | \"top\" | \"bottom\" = \"right\") => {\n\tconst positions: any = {\n\t\tleft: { x: \"-100%\", opacity: 0 },\n\t\tright: { x: \"100%\", opacity: 0 },\n\t\ttop: { y: \"-100%\", opacity: 0 },\n\t\tbottom: { y: \"100%\", opacity: 0 },\n\t};\n\n\treturn positions[placement];\n};\n\nexport const Drawer = forwardRef(\n\t(\n\t\t{\n\t\t\tdrawerId: propDrawerId,\n\t\t\tchildren,\n\t\t\tisOpen,\n\t\t\tsize = \"md\",\n\t\t\tradius = \"lg\",\n\t\t\tplacement = \"right\",\n\t\t\tisDismissable = true,\n\t\t\tisKeyboardDismissDisabled = false,\n\t\t\tshouldBlockScroll = true,\n\t\t\thideCloseButton = false,\n\t\t\tbackdrop = \"opaque\",\n\t\t\tmotionProps,\n\t\t\tportalContainer,\n\t\t\tdisableAnimation = false,\n\t\t\tclassNames = {},\n\t\t\tstyle,\n\t\t\tonOpenChange,\n\t\t\tonClose,\n\t\t}: DrawerType,\n\t\tref: Ref<HTMLDivElement>,\n\t) => {\n\t\tconst uniqueId = useId();\n\t\tconst drawerId = propDrawerId || uniqueId;\n\t\tconst [mounted, setMounted] = useState(false);\n\n\t\t// Handle SSR\n\t\tuseEffect(() => {\n\t\t\tsetMounted(true);\n\t\t}, []);\n\n\t\t// Block scroll when drawer is open\n\t\tuseEffect(() => {\n\t\t\tif (typeof window !== \"undefined\" && isOpen && shouldBlockScroll) {\n\t\t\t\tconst scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\n\t\t\t\tdocument.body.style.overflow = \"hidden\";\n\t\t\t\tdocument.body.style.paddingRight = `${scrollbarWidth}px`;\n\t\t\t}\n\n\t\t\treturn () => {\n\t\t\t\tif (typeof window !== \"undefined\" && shouldBlockScroll) {\n\t\t\t\t\tdocument.body.style.overflow = \"\";\n\t\t\t\t\tdocument.body.style.paddingRight = \"\";\n\t\t\t\t}\n\t\t\t};\n\t\t}, [isOpen, shouldBlockScroll]);\n\n\t\t// Handle escape key\n\t\tuseEffect(() => {\n\t\t\tconst handleKeyDown = (e: KeyboardEvent) => {\n\t\t\t\tif (e.key === \"Escape\" && !isKeyboardDismissDisabled && isDismissable) {\n\t\t\t\t\tonClose?.();\n\t\t\t\t\tonOpenChange?.(false);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (isOpen) {\n\t\t\t\tdocument.addEventListener(\"keydown\", handleKeyDown);\n\t\t\t}\n\n\t\t\treturn () => {\n\t\t\t\tdocument.removeEventListener(\"keydown\", handleKeyDown);\n\t\t\t};\n\t\t}, [isOpen, isKeyboardDismissDisabled, isDismissable, onClose, onOpenChange]);\n\n\t\tconst handleBackdropClick = () => {\n\t\t\tif (isDismissable) {\n\t\t\t\tonClose?.();\n\t\t\t\tonOpenChange?.(false);\n\t\t\t}\n\t\t};\n\n\t\tif (!mounted) return null;\n\n\t\tconst drawerRoot = portalContainer || document.getElementById(\"drawer-root\") || document.body;\n\n\t\tconst isHorizontal = placement === \"top\" || placement === \"bottom\";\n\t\tconst sizeClass = isHorizontal ? sizeHorizontalVariants({ size }) : sizeVariants({ size });\n\n\t\t// Apply radius only to the appropriate edges based on placement\n\t\tconst getRadiusClass = () => {\n\t\t\tif (radius === \"none\") return radiusVariants({ radius });\n\n\t\t\tswitch (placement) {\n\t\t\t\tcase \"left\":\n\t\t\t\t\treturn `rounded-r-${radius}`;\n\t\t\t\tcase \"right\":\n\t\t\t\t\treturn `rounded-l-${radius}`;\n\t\t\t\tcase \"top\":\n\t\t\t\t\treturn `rounded-b-${radius}`;\n\t\t\t\tcase \"bottom\":\n\t\t\t\t\treturn `rounded-t-${radius}`;\n\t\t\t\tdefault:\n\t\t\t\t\treturn radiusVariants({ radius });\n\t\t\t}\n\t\t};\n\n\t\tconst drawerVariants = motionProps?.variants || getDrawerVariants(placement);\n\t\tconst initialPosition = getInitialPosition(placement);\n\n\t\treturn ReactDOM.createPortal(\n\t\t\t<AnimatePresence>\n\t\t\t\t{isOpen && (\n\t\t\t\t\t<LazyMotion features={() => import(\"framer-motion\").then((res) => res.domAnimation)}>\n\t\t\t\t\t\t<div className={cn(\"fixed inset-0 z-50 overflow-hidden\", classNames.wrapper)}>\n\t\t\t\t\t\t\t{/* Backdrop */}\n\t\t\t\t\t\t\t<m.div\n\t\t\t\t\t\t\t\tkey=\"drawer-backdrop\"\n\t\t\t\t\t\t\t\tinitial={{ opacity: 0 }}\n\t\t\t\t\t\t\t\tanimate={{ opacity: 1 }}\n\t\t\t\t\t\t\t\texit={{ opacity: 0 }}\n\t\t\t\t\t\t\t\ttransition={{ duration: 0.3 }}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\"fixed inset-0\",\n\t\t\t\t\t\t\t\t\tbackdropVariants({ backdrop }),\n\t\t\t\t\t\t\t\t\tclassNames.backdrop,\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\tonClick={handleBackdropClick}\n\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\t\tdata-dismissable={isDismissable}\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t{/* Drawer */}\n\t\t\t\t\t\t\t<m.div\n\t\t\t\t\t\t\t\tkey=\"drawer-content\"\n\t\t\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\t\t\tid={drawerId}\n\t\t\t\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\t\t\t\taria-modal=\"true\"\n\t\t\t\t\t\t\t\tdata-open={isOpen}\n\t\t\t\t\t\t\t\tdata-dismissable={isDismissable}\n\t\t\t\t\t\t\t\tinitial={disableAnimation ? undefined : initialPosition}\n\t\t\t\t\t\t\t\tanimate={disableAnimation ? undefined : \"enter\"}\n\t\t\t\t\t\t\t\texit={disableAnimation ? undefined : \"exit\"}\n\t\t\t\t\t\t\t\tvariants={disableAnimation ? undefined : drawerVariants}\n\t\t\t\t\t\t\t\t{...(motionProps?.transition && { transition: motionProps.transition })}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\"z-50 flex flex-col bg-content1 shadow-lg max-h-full\",\n\t\t\t\t\t\t\t\t\tplacementVariants({ placement }),\n\t\t\t\t\t\t\t\t\tsizeClass,\n\t\t\t\t\t\t\t\t\tgetRadiusClass(),\n\t\t\t\t\t\t\t\t\tclassNames.base,\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\tstyle={style}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{/* Close button - positioned absolutely */}\n\t\t\t\t\t\t\t\t{!hideCloseButton && (\n\t\t\t\t\t\t\t\t\t<div className={cn(\"absolute top-3 right-3 z-10\", classNames.closeButton)}>\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tisIconOnly\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"light\"\n\t\t\t\t\t\t\t\t\t\t\tradius=\"full\"\n\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\t\taria-label=\"Close drawer\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\tonClose?.();\n\t\t\t\t\t\t\t\t\t\t\t\tonOpenChange?.(false);\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"p-0 w-8 h-8 min-w-auto bg-default-100 hover:bg-default-200 text-default-500 hover:text-default-600 dark:bg-default-100 dark:hover:bg-default-200\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<svg width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 21 21\" role=\"img\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t<path fill=\"none\" d=\"M0 0h21v21H0z\"></path>\n\t\t\t\t\t\t\t\t\t\t\t\t<path d=\"m12.12 10 4.07-4.06a1.5 1.5 0 1 0-2.11-2.12L10 7.88 5.94 3.81a1.5 1.5 0 1 0-2.12 2.12L7.88 10l-4.07 4.06a1.5 1.5 0 0 0 0 2.12 1.51 1.51 0 0 0 2.13 0L10 12.12l4.06 4.07a1.45 1.45 0 0 0 1.06.44 1.5 1.5 0 0 0 1.06-2.56Z\"></path>\n\t\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t{/* Content */}\n\t\t\t\t\t\t\t\t<div className=\"flex flex-col h-full overflow-hidden\">\n\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</m.div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</LazyMotion>\n\t\t\t\t)}\n\t\t\t</AnimatePresence>,\n\t\t\tdrawerRoot,\n\t\t);\n\t},\n);\n\nDrawer.displayName = \"Drawer\";\n\nexport const DrawerContent = forwardRef(\n\t({ children, className, style }: DrawerContentType, ref: Ref<HTMLDivElement>) => {\n\t\treturn (\n\t\t\t<div ref={ref} className={cn(\"flex flex-col h-full\", className)} style={style}>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t},\n);\n\nDrawerContent.displayName = \"DrawerContent\";\n\nexport const DrawerHeader = forwardRef(\n\t({ children, className, style }: DrawerHeaderType, ref: Ref<HTMLDivElement>) => {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={ref}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"flex flex-col gap-1 px-6 py-4 border-b border-divider\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tstyle={style}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t},\n);\n\nDrawerHeader.displayName = \"DrawerHeader\";\n\nexport const DrawerBody = forwardRef(\n\t({ children, className, style }: DrawerBodyType, ref: Ref<HTMLDivElement>) => {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={ref}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"flex flex-col gap-3 px-6 py-4 overflow-y-auto flex-1\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tstyle={style}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t},\n);\n\nDrawerBody.displayName = \"DrawerBody\";\n\nexport const DrawerFooter = forwardRef(\n\t({ children, className, style }: DrawerFooterType, ref: Ref<HTMLDivElement>) => {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={ref}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"flex flex-col-reverse px-6 py-3 gap-2 sm:flex-row sm:justify-end border-t border-divider mt-auto\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tstyle={style}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t},\n);\n\nDrawerFooter.displayName = \"DrawerFooter\";\n"],"names":["backdropVariants","cva","variants","backdrop","transparent","opaque","blur","defaultVariants","sizeVariants","size","sizeHorizontalVariants","radiusVariants","radius","none","sm","md","lg","placementVariants","placement","left","right","top","bottom","getDrawerVariants","enter","x","opacity","transition","type","stiffness","damping","duration","exit","ease","y","getInitialPosition","positions","Drawer","forwardRef","drawerId","propDrawerId","children","isOpen","isDismissable","isKeyboardDismissDisabled","shouldBlockScroll","hideCloseButton","motionProps","portalContainer","disableAnimation","classNames","style","onOpenChange","onClose","ref","uniqueId","useId","mounted","setMounted","useState","useEffect","window","scrollbarWidth","innerWidth","document","documentElement","clientWidth","body","overflow","paddingRight","handleKeyDown","e","key","addEventListener","removeEventListener","handleBackdropClick","drawerRoot","getElementById","isHorizontal","sizeClass","getRadiusClass","drawerVariants","initialPosition","ReactDOM","createPortal","then","res","domAnimation","cn","wrapper","undefined","base","closeButton","displayName","DrawerContent","t0","$","_c","className","t1","t2","DrawerHeader","DrawerBody","DrawerFooter"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../../src/components/drawer/drawer.tsx"],"sourcesContent":["\"use client\";\n\nimport ReactDOM from \"react-dom\";\nimport { forwardRef, type Ref, useEffect, useState, useId } from \"react\";\nimport type { DrawerType, DrawerContentType, DrawerHeaderType, DrawerBodyType, DrawerFooterType } from \"./drawer.type\";\nimport { cn } from \"@/lib/utils\";\nimport { Button } from \"../button\";\nimport { AnimatePresence, LazyMotion, m } from \"framer-motion\";\nimport { cva } from \"class-variance-authority\";\n\nconst backdropVariants = cva(\"\", {\n\tvariants: {\n\t\tbackdrop: {\n\t\t\ttransparent: \"bg-transparent\",\n\t\t\topaque: \"bg-black/50\",\n\t\t\tblur: \"backdrop-blur-md backdrop-saturate-150 bg-overlay/30\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tbackdrop: \"opaque\",\n\t},\n});\n\n\nconst sizeVariants = cva(\"\", {\n\tvariants: {\n\t\tsize: {\n\t\t\t\"xs\": \"w-80\",\n\t\t\t\"sm\": \"w-96\",\n\t\t\t\"md\": \"w-[448px]\",\n\t\t\t\"lg\": \"w-[512px]\",\n\t\t\t\"xl\": \"w-[640px]\",\n\t\t\t\"2xl\": \"w-[768px]\",\n\t\t\t\"3xl\": \"w-[896px]\",\n\t\t\t\"4xl\": \"w-[1024px]\",\n\t\t\t\"5xl\": \"w-[1152px]\",\n\t\t\t\"full\": \"w-full\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n});\n\n\nconst sizeHorizontalVariants = cva(\"\", {\n\tvariants: {\n\t\tsize: {\n\t\t\t\"xs\": \"h-80\",\n\t\t\t\"sm\": \"h-96\",\n\t\t\t\"md\": \"h-[448px]\",\n\t\t\t\"lg\": \"h-[512px]\",\n\t\t\t\"xl\": \"h-[640px]\",\n\t\t\t\"2xl\": \"h-[768px]\",\n\t\t\t\"3xl\": \"h-[896px]\",\n\t\t\t\"4xl\": \"h-[1024px]\",\n\t\t\t\"5xl\": \"h-[1152px]\",\n\t\t\t\"full\": \"h-full\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tsize: \"md\",\n\t},\n});\n\n\nconst radiusVariants = cva(\"\", {\n\tvariants: {\n\t\tradius: {\n\t\t\tnone: \"rounded-none\",\n\t\t\tsm: \"rounded-sm\",\n\t\t\tmd: \"rounded-md\",\n\t\t\tlg: \"rounded-lg\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tradius: \"lg\",\n\t},\n});\n\nconst placementVariants = cva(\"fixed\", {\n\tvariants: {\n\t\tplacement: {\n\t\t\tleft: \"left-0 top-0 bottom-0\",\n\t\t\tright: \"right-0 top-0 bottom-0\",\n\t\t\ttop: \"top-0 left-0 right-0\",\n\t\t\tbottom: \"bottom-0 left-0 right-0\",\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tplacement: \"right\",\n\t},\n});\n\n\nconst getDrawerVariants = (placement: \"left\" | \"right\" | \"top\" | \"bottom\" = \"right\") => {\n\tconst variants: any = {\n\t\tleft: {\n\t\t\tenter: {\n\t\t\t\tx: 0,\n\t\t\t\topacity: 1,\n\t\t\t\ttransition: {\n\t\t\t\t\ttype: \"spring\",\n\t\t\t\t\tstiffness: 400,\n\t\t\t\t\tdamping: 40,\n\t\t\t\t\tduration: 0.3,\n\t\t\t\t},\n\t\t\t},\n\t\t\texit: {\n\t\t\t\tx: \"-100%\",\n\t\t\t\topacity: 0,\n\t\t\t\ttransition: {\n\t\t\t\t\tduration: 0.2,\n\t\t\t\t\tease: \"easeOut\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tright: {\n\t\t\tenter: {\n\t\t\t\tx: 0,\n\t\t\t\topacity: 1,\n\t\t\t\ttransition: {\n\t\t\t\t\ttype: \"spring\",\n\t\t\t\t\tstiffness: 400,\n\t\t\t\t\tdamping: 40,\n\t\t\t\t\tduration: 0.3,\n\t\t\t\t},\n\t\t\t},\n\t\t\texit: {\n\t\t\t\tx: \"100%\",\n\t\t\t\topacity: 0,\n\t\t\t\ttransition: {\n\t\t\t\t\tduration: 0.2,\n\t\t\t\t\tease: \"easeOut\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\ttop: {\n\t\t\tenter: {\n\t\t\t\ty: 0,\n\t\t\t\topacity: 1,\n\t\t\t\ttransition: {\n\t\t\t\t\ttype: \"spring\",\n\t\t\t\t\tstiffness: 400,\n\t\t\t\t\tdamping: 40,\n\t\t\t\t\tduration: 0.3,\n\t\t\t\t},\n\t\t\t},\n\t\t\texit: {\n\t\t\t\ty: \"-100%\",\n\t\t\t\topacity: 0,\n\t\t\t\ttransition: {\n\t\t\t\t\tduration: 0.2,\n\t\t\t\t\tease: \"easeOut\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tbottom: {\n\t\t\tenter: {\n\t\t\t\ty: 0,\n\t\t\t\topacity: 1,\n\t\t\t\ttransition: {\n\t\t\t\t\ttype: \"spring\",\n\t\t\t\t\tstiffness: 400,\n\t\t\t\t\tdamping: 40,\n\t\t\t\t\tduration: 0.3,\n\t\t\t\t},\n\t\t\t},\n\t\t\texit: {\n\t\t\t\ty: \"100%\",\n\t\t\t\topacity: 0,\n\t\t\t\ttransition: {\n\t\t\t\t\tduration: 0.2,\n\t\t\t\t\tease: \"easeOut\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t};\n\n\treturn variants[placement];\n};\n\nconst getInitialPosition = (placement: \"left\" | \"right\" | \"top\" | \"bottom\" = \"right\") => {\n\tconst positions: any = {\n\t\tleft: { x: \"-100%\", opacity: 0 },\n\t\tright: { x: \"100%\", opacity: 0 },\n\t\ttop: { y: \"-100%\", opacity: 0 },\n\t\tbottom: { y: \"100%\", opacity: 0 },\n\t};\n\n\treturn positions[placement];\n};\n\nexport const Drawer = forwardRef(\n\t(\n\t\t{\n\t\t\tdrawerId: propDrawerId,\n\t\t\tchildren,\n\t\t\tisOpen,\n\t\t\tsize = \"md\",\n\t\t\tradius = \"lg\",\n\t\t\tplacement = \"right\",\n\t\t\tisDismissable = true,\n\t\t\tisKeyboardDismissDisabled = false,\n\t\t\tshouldBlockScroll = true,\n\t\t\thideCloseButton = false,\n\t\t\tbackdrop = \"opaque\",\n\t\t\tmotionProps,\n\t\t\tportalContainer,\n\t\t\tdisableAnimation = false,\n\t\t\tclassNames = {},\n\t\t\tstyle,\n\t\t\tonOpenChange,\n\t\t\tonClose,\n\t\t}: DrawerType,\n\t\tref: Ref<HTMLDivElement>,\n\t) => {\n\t\tconst uniqueId = useId();\n\t\tconst drawerId = propDrawerId || uniqueId;\n\t\tconst [mounted, setMounted] = useState(false);\n\n\t\t// Handle SSR\n\t\tuseEffect(() => {\n\t\t\tsetMounted(true);\n\t\t}, []);\n\n\t\t// Block scroll when drawer is open\n\t\tuseEffect(() => {\n\t\t\tif (typeof window !== \"undefined\" && isOpen && shouldBlockScroll) {\n\t\t\t\tconst scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\n\t\t\t\tdocument.body.style.overflow = \"hidden\";\n\t\t\t\tdocument.body.style.paddingRight = `${scrollbarWidth}px`;\n\t\t\t}\n\n\t\t\treturn () => {\n\t\t\t\tif (typeof window !== \"undefined\" && shouldBlockScroll) {\n\t\t\t\t\tdocument.body.style.overflow = \"\";\n\t\t\t\t\tdocument.body.style.paddingRight = \"\";\n\t\t\t\t}\n\t\t\t};\n\t\t}, [isOpen, shouldBlockScroll]);\n\n\t\t// Handle escape key\n\t\tuseEffect(() => {\n\t\t\tconst handleKeyDown = (e: KeyboardEvent) => {\n\t\t\t\tif (e.key === \"Escape\" && !isKeyboardDismissDisabled && isDismissable) {\n\t\t\t\t\tonClose?.();\n\t\t\t\t\tonOpenChange?.(false);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tif (isOpen) {\n\t\t\t\tdocument.addEventListener(\"keydown\", handleKeyDown);\n\t\t\t}\n\n\t\t\treturn () => {\n\t\t\t\tdocument.removeEventListener(\"keydown\", handleKeyDown);\n\t\t\t};\n\t\t}, [isOpen, isKeyboardDismissDisabled, isDismissable, onClose, onOpenChange]);\n\n\t\tconst handleBackdropClick = () => {\n\t\t\tif (isDismissable) {\n\t\t\t\tonClose?.();\n\t\t\t\tonOpenChange?.(false);\n\t\t\t}\n\t\t};\n\n\t\tif (!mounted) return null;\n\n\t\tconst drawerRoot = portalContainer || document.getElementById(\"drawer-root\") || document.body;\n\n\t\tconst isHorizontal = placement === \"top\" || placement === \"bottom\";\n\t\tconst sizeClass = isHorizontal ? sizeHorizontalVariants({ size }) : sizeVariants({ size });\n\n\t\t// Apply radius only to the appropriate edges based on placement\n\t\tconst getRadiusClass = () => {\n\t\t\tif (radius === \"none\") return radiusVariants({ radius });\n\n\t\t\tswitch (placement) {\n\t\t\t\tcase \"left\":\n\t\t\t\t\treturn `rounded-r-${radius}`;\n\t\t\t\tcase \"right\":\n\t\t\t\t\treturn `rounded-l-${radius}`;\n\t\t\t\tcase \"top\":\n\t\t\t\t\treturn `rounded-b-${radius}`;\n\t\t\t\tcase \"bottom\":\n\t\t\t\t\treturn `rounded-t-${radius}`;\n\t\t\t\tdefault:\n\t\t\t\t\treturn radiusVariants({ radius });\n\t\t\t}\n\t\t};\n\n\t\tconst drawerVariants = motionProps?.variants || getDrawerVariants(placement);\n\t\tconst initialPosition = getInitialPosition(placement);\n\n\t\treturn ReactDOM.createPortal(\n\t\t\t<AnimatePresence>\n\t\t\t\t{isOpen && (\n\t\t\t\t\t<LazyMotion features={() => import(\"framer-motion\").then((res) => res.domAnimation)}>\n\t\t\t\t\t\t<div className={cn(\"fixed inset-0 z-50 overflow-hidden\", classNames.wrapper)}>\n\t\t\t\t\t\t\t{/* Backdrop */}\n\t\t\t\t\t\t\t<m.div\n\t\t\t\t\t\t\t\tkey=\"drawer-backdrop\"\n\t\t\t\t\t\t\t\tinitial={{ opacity: 0 }}\n\t\t\t\t\t\t\t\tanimate={{ opacity: 1 }}\n\t\t\t\t\t\t\t\texit={{ opacity: 0 }}\n\t\t\t\t\t\t\t\ttransition={{ duration: 0.3 }}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\"fixed inset-0\",\n\t\t\t\t\t\t\t\t\tbackdropVariants({ backdrop }),\n\t\t\t\t\t\t\t\t\tclassNames.backdrop,\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\tonClick={handleBackdropClick}\n\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\t\tdata-dismissable={isDismissable}\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t{/* Drawer */}\n\t\t\t\t\t\t\t<m.div\n\t\t\t\t\t\t\t\tkey=\"drawer-content\"\n\t\t\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\t\t\tid={drawerId}\n\t\t\t\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\t\t\t\taria-modal=\"true\"\n\t\t\t\t\t\t\t\tdata-open={isOpen}\n\t\t\t\t\t\t\t\tdata-dismissable={isDismissable}\n\t\t\t\t\t\t\t\tinitial={disableAnimation ? undefined : initialPosition}\n\t\t\t\t\t\t\t\tanimate={disableAnimation ? undefined : \"enter\"}\n\t\t\t\t\t\t\t\texit={disableAnimation ? undefined : \"exit\"}\n\t\t\t\t\t\t\t\tvariants={disableAnimation ? undefined : drawerVariants}\n\t\t\t\t\t\t\t\t{...(motionProps?.transition && { transition: motionProps.transition })}\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t\"z-50 flex flex-col bg-content1 shadow-lg max-h-full\",\n\t\t\t\t\t\t\t\t\tplacementVariants({ placement }),\n\t\t\t\t\t\t\t\t\tsizeClass,\n\t\t\t\t\t\t\t\t\tgetRadiusClass(),\n\t\t\t\t\t\t\t\t\tclassNames.base,\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\tstyle={style}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{/* Close button - positioned absolutely */}\n\t\t\t\t\t\t\t\t{!hideCloseButton && (\n\t\t\t\t\t\t\t\t\t<div className={cn(\"absolute top-3 right-3 z-10\", classNames.closeButton)}>\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tisIconOnly\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"light\"\n\t\t\t\t\t\t\t\t\t\t\tradius=\"full\"\n\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t\t\t\t\taria-label=\"Close drawer\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\t\tonClose?.();\n\t\t\t\t\t\t\t\t\t\t\t\tonOpenChange?.(false);\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"p-0 w-8 h-8 min-w-auto bg-default-100 hover:bg-default-200 text-default-500 hover:text-default-600 dark:bg-default-100 dark:hover:bg-default-200\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<svg width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 21 21\" role=\"img\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t<path fill=\"none\" d=\"M0 0h21v21H0z\"></path>\n\t\t\t\t\t\t\t\t\t\t\t\t<path d=\"m12.12 10 4.07-4.06a1.5 1.5 0 1 0-2.11-2.12L10 7.88 5.94 3.81a1.5 1.5 0 1 0-2.12 2.12L7.88 10l-4.07 4.06a1.5 1.5 0 0 0 0 2.12 1.51 1.51 0 0 0 2.13 0L10 12.12l4.06 4.07a1.45 1.45 0 0 0 1.06.44 1.5 1.5 0 0 0 1.06-2.56Z\"></path>\n\t\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t{/* Content */}\n\t\t\t\t\t\t\t\t<div className=\"flex flex-col h-full overflow-hidden\">\n\t\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</m.div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</LazyMotion>\n\t\t\t\t)}\n\t\t\t</AnimatePresence>,\n\t\t\tdrawerRoot,\n\t\t);\n\t},\n);\n\nDrawer.displayName = \"Drawer\";\n\nexport const DrawerContent = forwardRef(\n\t({ children, className, style }: DrawerContentType, ref: Ref<HTMLDivElement>) => {\n\t\treturn (\n\t\t\t<div ref={ref} className={cn(\"flex flex-col h-full\", className)} style={style}>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t},\n);\n\nDrawerContent.displayName = \"DrawerContent\";\n\nexport const DrawerHeader = forwardRef(\n\t({ children, className, style }: DrawerHeaderType, ref: Ref<HTMLDivElement>) => {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={ref}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"flex flex-col gap-1 px-6 py-4\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tstyle={style}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t},\n);\n\nDrawerHeader.displayName = \"DrawerHeader\";\n\nexport const DrawerBody = forwardRef(\n\t({ children, className, style }: DrawerBodyType, ref: Ref<HTMLDivElement>) => {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={ref}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"flex flex-col gap-3 px-6 py-4 overflow-y-auto flex-1\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tstyle={style}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t},\n);\n\nDrawerBody.displayName = \"DrawerBody\";\n\nexport const DrawerFooter = forwardRef(\n\t({ children, className, style }: DrawerFooterType, ref: Ref<HTMLDivElement>) => {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={ref}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"flex flex-col-reverse px-6 py-3 gap-2 sm:flex-row sm:justify-end mt-auto\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\tstyle={style}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t},\n);\n\nDrawerFooter.displayName = \"DrawerFooter\";\n"],"names":["backdropVariants","cva","variants","backdrop","transparent","opaque","blur","defaultVariants","sizeVariants","size","sizeHorizontalVariants","radiusVariants","radius","none","sm","md","lg","placementVariants","placement","left","right","top","bottom","getDrawerVariants","enter","x","opacity","transition","type","stiffness","damping","duration","exit","ease","y","getInitialPosition","positions","Drawer","forwardRef","drawerId","propDrawerId","children","isOpen","isDismissable","isKeyboardDismissDisabled","shouldBlockScroll","hideCloseButton","motionProps","portalContainer","disableAnimation","classNames","style","onOpenChange","onClose","ref","uniqueId","useId","mounted","setMounted","useState","useEffect","window","scrollbarWidth","innerWidth","document","documentElement","clientWidth","body","overflow","paddingRight","handleKeyDown","e","key","addEventListener","removeEventListener","handleBackdropClick","drawerRoot","getElementById","isHorizontal","sizeClass","getRadiusClass","drawerVariants","initialPosition","ReactDOM","createPortal","then","res","domAnimation","cn","wrapper","undefined","base","closeButton","displayName","DrawerContent","t0","$","_c","className","t1","t2","DrawerHeader","DrawerBody","DrawerFooter"],"mappings":"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"}
|