{"version":3,"file":"Drawer.jbrGe9XM.mjs","names":["useState","useRef","e","useCallback","React","useMemo","_Fragment"],"sources":["https:/framerusercontent.com/modules/SU1G7D3OKrJPkNyU7AeI/FKp4d8MgNhbv3vIMncHQ/Drawer.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import React,{useState,useEffect,useCallback,useRef,useMemo,useLayoutEffect}from\"react\";import{createPortal}from\"react-dom\";import{addPropertyControls,ControlType}from\"framer\";import{motion,AnimatePresence,useMotionValue}from\"framer-motion\";/**\n * @copyright ©framersnippets.com\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerIntrinsicWidth 100\n * @framerIntrinsicHeight 100\n * @framerDisableUnlink\n **/export default function Drawer(props){const[isOpen,setIsOpen]=useState(false);const[scrollPosition,setScrollPosition]=useState(0);const[mounted,setMounted]=useState(false);const[dragProgress,setDragProgress]=useState(0);const triggerRef=useRef(null);const propsRef=useRef(props);useEffect(()=>{propsRef.current=props;},[props]);useLayoutEffect(()=>{const triggerElement=triggerRef.current;if(!triggerElement)return;const parentElement=triggerElement.parentElement?.parentElement;if(!parentElement)return;const handleClick=e=>{let targetElement=e.target;while(targetElement){if(targetElement===parentElement){setIsOpen(prev=>{const newState=!prev;if(newState)propsRef.current.onTap?.();else propsRef.current.onCloseRequest?.();return newState;});break;}targetElement=targetElement.parentElement;}};document.addEventListener(\"click\",handleClick);parentElement.classList.add(\"cursor-pointer\");return()=>{document.removeEventListener(\"click\",handleClick);parentElement.classList.remove(\"cursor-pointer\");};},[]);useEffect(()=>{setMounted(true);return()=>setMounted(false);},[]);const handleClose=useCallback(()=>{setIsOpen(false);setDragProgress(0);props.onCloseRequest?.();},[props.onCloseRequest]);useEffect(()=>{if(isOpen){setDragProgress(0);}},[isOpen]);const lockScroll=useCallback(()=>{const scrollPos=window.pageYOffset;setScrollPosition(scrollPos);const scrollbarWidth=window.innerWidth-document.documentElement.clientWidth;const bodyPaddingRight=parseInt(window.getComputedStyle(document.body).getPropertyValue(\"padding-right\"))||0;document.body.style.position=\"fixed\";document.body.style.top=`-${scrollPos}px`;document.body.style.paddingRight=`${bodyPaddingRight+scrollbarWidth}px`;document.body.style.width=\"100%\";document.body.style.overflow=\"hidden\";},[]);const unlockScroll=useCallback(()=>{document.body.style.position=\"\";document.body.style.top=\"\";document.body.style.paddingRight=\"\";document.body.style.width=\"\";document.body.style.overflow=\"\";window.scrollTo(0,scrollPosition);},[scrollPosition]);useEffect(()=>{if(!props.preventScroll&&isOpen){lockScroll();}return()=>{if(!props.preventScroll){unlockScroll();}};},[isOpen,props.preventScroll,lockScroll,unlockScroll]);const renderInstance=useCallback(()=>{return /*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexDirection:\"column\",width:\"100%\",height:\"100%\",minHeight:0,position:\"relative\"},children:React.Children.map(props.content,child=>{if(/*#__PURE__*/React.isValidElement(child)){return /*#__PURE__*/React.cloneElement(child,{style:{...child.props.style||{},width:\"100%\",height:\"100%\",position:\"relative\",minHeight:0}});}return child;})});},[props.content]);const drawerContent=useMemo(()=>/*#__PURE__*/_jsx(\"div\",{style:{height:\"100%\",width:\"100%\",overflow:\"auto\"},children:renderInstance()}),[renderInstance]);const renderDrawer=useCallback(()=>{switch(props.orientation){case\"left\":return /*#__PURE__*/_jsx(LeftDrawer,{content:drawerContent,maxWidth:props.maxWidth,styles:props.styles,handle:props.handle,transition:props.transition,onClose:handleClose,isOpen:isOpen,dragForce:props.dragForce,zIndex:props.zIndex,onDragProgress:setDragProgress});case\"right\":return /*#__PURE__*/_jsx(RightDrawer,{content:drawerContent,maxWidth:props.maxWidth,styles:props.styles,handle:props.handle,transition:props.transition,onClose:handleClose,isOpen:isOpen,dragForce:props.dragForce,zIndex:props.zIndex,onDragProgress:setDragProgress});case\"top\":return /*#__PURE__*/_jsx(TopDrawer,{content:drawerContent,maxHeight:props.maxHeight,styles:props.styles,handle:props.handle,transition:props.transition,onClose:handleClose,isOpen:isOpen,dragForce:props.dragForce,zIndex:props.zIndex,onDragProgress:setDragProgress});case\"bottom\":return /*#__PURE__*/_jsx(BottomDrawer,{content:drawerContent,maxHeight:props.maxHeight,styles:props.styles,handle:props.handle,transition:props.transition,onClose:handleClose,isOpen:isOpen,dragForce:props.dragForce,zIndex:props.zIndex,onDragProgress:setDragProgress});case\"center\":return /*#__PURE__*/_jsx(CenterDrawer,{content:drawerContent,maxWidth:props.maxWidth,maxHeight:props.maxHeight,styles:props.styles,transition:props.transition,onClose:handleClose,isOpen:isOpen,zIndex:props.zIndex});default:return null;}},[props,isOpen,drawerContent,handleClose]);return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{ref:triggerRef,style:{position:\"absolute\",inset:0,cursor:\"pointer\",zIndex:99999},role:\"button\",\"aria-label\":\"Drawer trigger\"}),mounted&&/*#__PURE__*/createPortal(/*#__PURE__*/_jsx(AnimatePresence,{mode:\"wait\",children:isOpen&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(motion.div,{initial:{opacity:0},animate:{opacity:1-dragProgress},exit:{opacity:0},transition:props.transition,style:{position:\"fixed\",inset:0,backgroundColor:props.styles?.backgroundOverlay,zIndex:props.zIndex-1},onClick:handleClose}),renderDrawer()]})}),document.body)]});}const BottomDrawer=({content,maxHeight,styles,handle,transition,onClose,isOpen,dragForce,onDragProgress,zIndex})=>{const y=useMotionValue(0);const dragRef=useRef({isDragging:false});const[dimensions,setDimensions]=useState({actualHeight:0,threshold:0});useEffect(()=>{const actualHeight=window.innerHeight*(maxHeight/100);const threshold=actualHeight*(dragForce/100);setDimensions({actualHeight,threshold});},[maxHeight,dragForce]);useEffect(()=>{const unsubscribe=y.on(\"change\",latest=>{if(dragRef.current.isDragging){const progress=Math.max(0,Math.min(latest/dimensions.actualHeight,1));onDragProgress(progress);}});return()=>unsubscribe();},[dimensions.actualHeight,onDragProgress]);return /*#__PURE__*/_jsxs(motion.div,{initial:{y:`100%`},animate:{y:0},exit:{y:`100%`},transition:transition,drag:\"y\",dragElastic:.1,dragMomentum:false,dragConstraints:{top:0,bottom:dimensions.actualHeight},style:{position:\"fixed\",bottom:\"env(safe-area-inset-bottom, 0px)\",left:\"env(safe-area-inset-left, 0px)\",right:\"env(safe-area-inset-right, 0px)\",width:\"100%\",height:`${maxHeight}%`,backgroundColor:styles?.background,borderRadius:styles?.radius,border:`${styles?.border.borderWidth}px ${styles?.border.borderStyle} ${styles?.border.borderColor}`,zIndex:zIndex,display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",WebkitOverflowScrolling:\"touch\",touchAction:\"none\",willChange:\"transform\",y},onDragStart:()=>{dragRef.current.isDragging=true;y.set(0);},onDrag:(_,info)=>{const newY=Math.max(0,Math.min(info.offset.y,dimensions.actualHeight));y.set(newY);},onDragEnd:(_,info)=>{dragRef.current.isDragging=false;if(info.offset.y>dimensions.threshold){onClose();}else{y.set(0);onDragProgress(0);}},children:[handle?.default&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",justifyContent:\"center\",alignItems:\"center\",flexShrink:0,cursor:\"grab\",padding:handle.padding},children:/*#__PURE__*/_jsx(\"div\",{style:{width:handle.width,height:handle.height,backgroundColor:handle.color,borderRadius:handle.height/2}})}),/*#__PURE__*/_jsx(\"div\",{style:{flex:1,overflow:\"auto\",minHeight:0},children:content})]});};const TopDrawer=({content,maxHeight,styles,handle,transition,onClose,isOpen,dragForce,onDragProgress,zIndex})=>{const y=useMotionValue(0);const dragRef=useRef({isDragging:false});const[dimensions,setDimensions]=useState({actualHeight:0,threshold:0});useEffect(()=>{const actualHeight=window.innerHeight*(maxHeight/100);const threshold=actualHeight*(dragForce/100);setDimensions({actualHeight,threshold});},[maxHeight,dragForce]);useEffect(()=>{const unsubscribe=y.on(\"change\",latest=>{if(dragRef.current.isDragging){const progress=Math.max(0,Math.min(Math.abs(latest)/dimensions.actualHeight,1));onDragProgress(progress);}});return()=>unsubscribe();},[dimensions.actualHeight,onDragProgress]);return /*#__PURE__*/_jsxs(motion.div,{initial:{y:`-100%`},animate:{y:0},exit:{y:`-100%`},transition:transition,drag:\"y\",dragElastic:.1,dragMomentum:false,dragConstraints:{top:-dimensions.actualHeight,bottom:0},style:{position:\"fixed\",top:\"env(safe-area-inset-top, 0px)\",left:\"env(safe-area-inset-left, 0px)\",right:\"env(safe-area-inset-right, 0px)\",width:\"100%\",height:`${maxHeight}%`,backgroundColor:styles?.background,borderRadius:styles?.radius,border:`${styles?.border.borderWidth}px ${styles?.border.borderStyle} ${styles?.border.borderColor}`,zIndex:zIndex,display:\"flex\",flexDirection:\"column-reverse\",overflow:\"hidden\",WebkitOverflowScrolling:\"touch\",touchAction:\"none\",willChange:\"transform\",y},onDragStart:()=>{dragRef.current.isDragging=true;y.set(0);},onDrag:(_,info)=>{const newY=Math.max(-dimensions.actualHeight,Math.min(info.offset.y,0));y.set(newY);},onDragEnd:(_,info)=>{dragRef.current.isDragging=false;if(info.offset.y<dimensions.threshold){onClose();}else{y.set(0);onDragProgress(0);}},children:[handle?.default&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",justifyContent:\"center\",alignItems:\"center\",flexShrink:0,cursor:\"grab\",padding:handle.padding},children:/*#__PURE__*/_jsx(\"div\",{style:{width:handle.width,height:handle.height,backgroundColor:handle.color,borderRadius:handle.height/2}})}),/*#__PURE__*/_jsx(\"div\",{style:{flex:1,overflow:\"auto\",minHeight:0},children:content})]});};const LeftDrawer=({content,maxWidth,styles,handle,transition,onClose,isOpen,dragForce,onDragProgress,zIndex})=>{const x=useMotionValue(0);const dragRef=useRef({isDragging:false});const[dimensions,setDimensions]=useState({actualWidth:0,threshold:0});useEffect(()=>{const actualWidth=window.innerWidth*(maxWidth/100);const threshold=actualWidth*(dragForce/100);setDimensions({actualWidth,threshold});},[maxWidth,dragForce]);useEffect(()=>{const unsubscribe=x.on(\"change\",latest=>{if(dragRef.current.isDragging){const progress=Math.max(0,Math.min(Math.abs(latest)/dimensions.actualWidth,1));onDragProgress(progress);}});return()=>unsubscribe();},[dimensions.actualWidth,onDragProgress]);return /*#__PURE__*/_jsxs(motion.div,{initial:{x:`-100%`},animate:{x:0},exit:{x:`-100%`},transition:transition,drag:\"x\",dragElastic:.1,dragMomentum:false,dragConstraints:{left:-dimensions.actualWidth,right:0},style:{position:\"fixed\",top:\"env(safe-area-inset-top, 0px)\",bottom:\"env(safe-area-inset-bottom, 0px)\",left:\"env(safe-area-inset-left, 0px)\",width:`${maxWidth}%`,height:\"100%\",backgroundColor:styles?.background,borderRadius:styles?.radius,border:`${styles?.border.borderWidth}px ${styles?.border.borderStyle} ${styles?.border.borderColor}`,zIndex:zIndex,display:\"flex\",flexDirection:\"row\",overflow:\"hidden\",WebkitOverflowScrolling:\"touch\",touchAction:\"none\",willChange:\"transform\",x},onDragStart:()=>{dragRef.current.isDragging=true;x.set(0);},onDrag:(_,info)=>{const newX=Math.max(-dimensions.actualWidth,Math.min(info.offset.x,0));x.set(newX);},onDragEnd:(_,info)=>{dragRef.current.isDragging=false;if(info.offset.x<dimensions.threshold){onClose();}else{x.set(0);onDragProgress(0);}},children:[/*#__PURE__*/_jsx(\"div\",{style:{flex:1,overflow:\"auto\",minHeight:0},children:content}),handle?.default&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",justifyContent:\"center\",alignItems:\"center\",flexShrink:0,cursor:\"grab\",padding:handle.padding},children:/*#__PURE__*/_jsx(\"div\",{style:{height:handle.height,width:handle.width,backgroundColor:handle.color,borderRadius:handle.height/2}})})]});};const RightDrawer=({content,maxWidth,styles,handle,transition,onClose,isOpen,dragForce,onDragProgress,zIndex})=>{const x=useMotionValue(0);const dragRef=useRef({isDragging:false});const[dimensions,setDimensions]=useState({actualWidth:0,threshold:0});useEffect(()=>{const actualWidth=window.innerWidth*(maxWidth/100);const threshold=actualWidth*(dragForce/100);setDimensions({actualWidth,threshold});},[maxWidth,dragForce]);useEffect(()=>{const unsubscribe=x.on(\"change\",latest=>{if(dragRef.current.isDragging){const progress=Math.max(0,Math.min(latest/dimensions.actualWidth,1));onDragProgress(progress);}});return()=>unsubscribe();},[dimensions.actualWidth,onDragProgress]);return /*#__PURE__*/_jsxs(motion.div,{initial:{x:`100%`},animate:{x:0},exit:{x:`100%`},transition:transition,drag:\"x\",dragElastic:.1,dragMomentum:false,dragConstraints:{left:0,right:dimensions.actualWidth},style:{position:\"fixed\",top:\"env(safe-area-inset-top, 0px)\",bottom:\"env(safe-area-inset-bottom, 0px)\",right:\"env(safe-area-inset-right, 0px)\",width:`${maxWidth}%`,height:\"100%\",backgroundColor:styles?.background,borderRadius:styles?.radius,border:`${styles?.border.borderWidth}px ${styles?.border.borderStyle} ${styles?.border.borderColor}`,zIndex:zIndex,display:\"flex\",flexDirection:\"row-reverse\",overflow:\"hidden\",WebkitOverflowScrolling:\"touch\",touchAction:\"none\",willChange:\"transform\",x},onDragStart:()=>{dragRef.current.isDragging=true;x.set(0);},onDrag:(_,info)=>{const newX=Math.max(0,Math.min(info.offset.x,dimensions.actualWidth));x.set(newX);},onDragEnd:(_,info)=>{dragRef.current.isDragging=false;if(info.offset.x>dimensions.threshold){onClose();}else{x.set(0);onDragProgress(0);}},children:[/*#__PURE__*/_jsx(\"div\",{style:{flex:1,overflow:\"auto\",minHeight:0},children:content}),handle?.default&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",justifyContent:\"center\",alignItems:\"center\",flexShrink:0,cursor:\"grab\",padding:handle.padding},children:/*#__PURE__*/_jsx(\"div\",{style:{height:handle.height,width:handle.width,backgroundColor:handle.color,borderRadius:handle.height/2}})})]});};const CenterDrawer=({content,maxWidth,maxHeight,styles,transition,onClose,isOpen,zIndex})=>/*#__PURE__*/_jsx(motion.div,{initial:{opacity:0,scale:.9,x:\"-50%\",y:\"-50%\"},animate:{opacity:1,scale:1,x:\"-50%\",y:\"-50%\"},exit:{opacity:0,scale:.9,x:\"-50%\",y:\"-50%\"},transition:transition,style:{position:\"fixed\",top:\"50%\",left:\"50%\",width:`calc(${maxWidth}% - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px))`,height:`calc(${maxHeight}% - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px))`,transform:\"translate(-50%, -50%)\",backgroundColor:styles?.background,borderRadius:styles?.radius,border:`${styles?.border.borderWidth}px ${styles?.border.borderStyle} ${styles?.border.borderColor}`,zIndex:zIndex,display:\"flex\",overflow:\"hidden\",willChange:\"transform\"},children:/*#__PURE__*/_jsx(\"div\",{style:{flex:1,overflow:\"auto\",minHeight:0},children:content})});addPropertyControls(Drawer,{orientation:{type:ControlType.Enum,title:\"Position\",defaultValue:\"bottom\",options:[\"left\",\"right\",\"top\",\"bottom\",\"center\"],optionTitles:[\"Left\",\"Right\",\"Top\",\"Bottom\",\"Center\"]},content:{type:ControlType.ComponentInstance,title:\"Instance\"},maxWidth:{type:ControlType.Number,title:\"Max Width\",defaultValue:30,min:0,max:100,displayStepper:true,hidden:({orientation})=>[\"top\",\"bottom\"].includes(orientation)},maxHeight:{type:ControlType.Number,title:\"Max Height\",defaultValue:80,min:0,max:100,displayStepper:true,hidden:({orientation})=>[\"left\",\"right\"].includes(orientation)},styles:{type:ControlType.Object,title:\"Styles\",controls:{background:{type:ControlType.Color,title:\"Background\",defaultValue:\"#FFFFFF\"},backgroundOverlay:{type:ControlType.Color,title:\"Overlay\",defaultValue:\"rgba(0, 0, 0, 0.5)\"},radius:{type:ControlType.BorderRadius,defaultValue:\"0px\",title:\"Radius\"},border:{type:ControlType.Border,defaultValue:{borderWidth:0,borderStyle:\"solid\",borderColor:\"rgba(0, 0, 0, 0.5)\"}}}},handle:{type:ControlType.Object,title:\"Handle\",controls:{default:{type:ControlType.Boolean,title:\"Show\",defaultValue:true,description:\"Removing the handle may hinder mobile dismissal.\"},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#E2E8F0\",hidden(props){return!props.default;}},height:{type:ControlType.Number,title:\"Height\",displayStepper:true,min:0,max:100,defaultValue:4,hidden(props){return!props.default;}},width:{type:ControlType.Number,title:\"Width\",displayStepper:true,min:0,max:100,defaultValue:32,hidden(props){return!props.default;}},padding:{type:ControlType.Padding,title:\"Padding\",defaultValue:\"12px 0px 12px 0px\",hidden(props){return!props.default;}}}},preventScroll:{type:ControlType.Boolean,title:\"Scroll\",defaultValue:true},dragForce:{type:ControlType.Number,title:\"Drag Force\",defaultValue:30,min:0,max:100,displayStepper:true,step:5},zIndex:{type:ControlType.Number,title:\"Z Index\",defaultValue:1e3,min:-10,step:1,displayStepper:true},onTap:{type:ControlType.EventHandler,title:\"On Tap\"},onCloseRequest:{type:ControlType.EventHandler,title:\"On Close\"},transition:{type:ControlType.Transition,title:\"Transition\",defaultValue:{type:\"spring\",damping:40,stiffness:400},description:`\nBasic Setup: Use only a component. Set fixed height and width to fill the drawer.\n\nProperties:\n- Scroll: Enable or disable page scrolling.\n- Drag Force: % of height or width needed to trigger close.\n\nTriggering the Drawer:\n1. Wrap the component in a frame or stack.\n2. Optionally, set the size to 1px by 1px or 100% by 100%\n3. The component and its parent trigger the drawer without blocking underlying buttons, enabling dual actions like \"Open Drawer\" and \"Add to Cart.\n4. The component exposes two events: onTap (fires when it opens) and onCloseRequest (fires when it closes). Use them to sync with a button—for example, show an \"x\" when open, and switch back to \"=\" when it closes.\n\n[Need help?](https://framer.com/projects/new?duplicate=hDRVedsiV68VoVi4MIrD)\n\nImportant: Update the component in Framer (Assets > Components > Click purple update button) to prevent crashes.\n`}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Drawer\",\"slots\":[\"content\"],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"100\",\"framerIntrinsicWidth\":\"100\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Drawer.map"],"mappings":"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"}