{"version":3,"file":"LightboxGallery.CY2fDM3d.mjs","names":["useState","useRef","_Fragment"],"sources":["https:/framerusercontent.com/modules/5ThopqLakt70t7Trhvor/lpN97vlIbDhr5MDrH0kE/LightboxGallery.js"],"sourcesContent":["/**\n * Lightbox for Framer\n * Licensed under CC0-1.0 - Free for personal and commercial use with attribution\n * Created by Stefan (x.com/hyggemethat) at pixcodrops.com\n *\n * Redistribution or modification of this work is permitted, but re-sharing or altering it\n * in a way that misrepresents authorship is not allowed. Proper attribution is required.\n *\n * Hope you enjoy using it!\n */import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useState,useEffect,useRef}from\"react\";import{motion,AnimatePresence}from\"framer-motion\";import{createPortal}from\"react-dom\";// Constants for customization\nconst arrowSizeMobile=30// Size of mobile arrows\n;const arrowSizeDesktop=40// Size of desktop arrows\n;const arrowBackground=\"#4D4D4D\"// Background color of arrows\n;const arrowHoverBackground=\"#707070\"// Background color of arrows on hover\n;const closeButtonSize=30// Size of close button\n;const closeButtonBackground=\"#4D4D4D\"// Background color of close button\n;const closeButtonHoverBackground=\"#707070\"// Background color of close button on hover\n;const lightboxBackground=\"rgba(12, 12, 12, 0.95)\"// Background color of the lightbox\n;const imageHoverOverlay=\"rgba(12, 12, 12, 0.95)\"// Background color of overlay when hovering image\n;const overlayButtonBackground=\"#4D4D4D\"// Background color of the icon when hovering over the image\n;const overlayButtonHoverBackground=\"#707070\"// Background color of the icon when hovering over the image\n;// Store for managing the gallery\nconst galleryStore={images:[],currentIndex:0,registerImage(image){if(!this.images.includes(image)){this.images.push(image);}},getCurrentImage(){return this.images[this.currentIndex];},goNext(){this.currentIndex=(this.currentIndex+1)%this.images.length;},goPrevious(){this.currentIndex=(this.currentIndex-1+this.images.length)%this.images.length;},reset(){this.images=[];this.currentIndex=0;}};// Scroll management utilities\nconst useScrollLock=()=>{const scrollYRef=useRef(0);const lockScroll=()=>{if(typeof window===\"undefined\")return;scrollYRef.current=window.scrollY;document.body.style.position=\"fixed\";document.body.style.top=`-${scrollYRef.current}px`;document.body.style.width=\"100%\";document.body.style.overflow=\"hidden\";};const unlockScroll=()=>{if(typeof window===\"undefined\")return;document.body.style.position=\"\";document.body.style.top=\"\";document.body.style.width=\"\";document.body.style.overflow=\"unset\";window.scrollTo(0,scrollYRef.current);};return{lockScroll,unlockScroll};};// Function starts here fyi\nexport function withGallery(Component){return props=>{const[hasMounted,setHasMounted]=useState(false);const[isMobile,setIsMobile]=useState(false);const[isOpen,setIsOpen]=useState(false);const[currentImage,setCurrentImage]=useState(null);const[swipeStartX,setSwipeStartX]=useState(0);const{lockScroll,unlockScroll}=useScrollLock();const dragConstraintsRef=useRef(null);const[isDragging,setIsDragging]=useState(false);const src=props.background?.src;if(src&&!galleryStore.images.includes(src)){galleryStore.registerImage(src);}const openGallery=event=>{event.stopPropagation();event.preventDefault();if(!src)return;lockScroll();setCurrentImage(src);galleryStore.currentIndex=galleryStore.images.indexOf(src);setIsOpen(true);};const closeGallery=()=>{setIsOpen(false);setCurrentImage(null);unlockScroll();// Do not reset the gallery store here\n};const showNextImage=()=>{galleryStore.goNext();setCurrentImage(galleryStore.getCurrentImage());};const showPreviousImage=()=>{galleryStore.goPrevious();setCurrentImage(galleryStore.getCurrentImage());};const handleKeyDown=event=>{if(!isOpen)return;if(event.key===\"ArrowRight\")showNextImage();if(event.key===\"ArrowLeft\")showPreviousImage();if(event.key===\"Escape\")closeGallery();};const handleTouchStart=e=>{setSwipeStartX(e.touches[0].clientX);};const handleTouchEnd=e=>{const swipeEndX=e.changedTouches[0].clientX;const deltaX=swipeStartX-swipeEndX;// Horizontal swipe threshold (minimum 50px movement)\nif(Math.abs(deltaX)>50){if(deltaX>0)showNextImage();else showPreviousImage();}};const handleDrag=(_,info)=>{if(!isMobile){return{y:0}// Prevent vertical movement on desktop if not intended\n;}// Mobile drag constraint\nreturn{y:Math.min(Math.max(info.offset.y,-100),100)};};useEffect(()=>{setHasMounted(true);return()=>{// Reset the gallery store when the component unmounts\ngalleryStore.reset();};},[])// Empty dependency array = runs only once on mount\n;// The existing resize useEffect should remain separate\nuseEffect(()=>{const handleResize=()=>{const isMobile=window.matchMedia(\"(pointer: coarse)\").matches||window.innerWidth<=768;setIsMobile(isMobile);};handleResize();window.addEventListener(\"resize\",handleResize);return()=>window.removeEventListener(\"resize\",handleResize);},[]);// Add client-side check for portal target\nconst portalTarget=hasMounted?document.body:null;useEffect(()=>{if(isOpen){window.addEventListener(\"keydown\",handleKeyDown);}return()=>{window.removeEventListener(\"keydown\",handleKeyDown);};},[isOpen]);return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(Component,{...props,onClick:openGallery,style:{...props.style,position:\"relative\",cursor:\"pointer\",userSelect:\"none\"},children:/*#__PURE__*/_jsx(motion.div,{style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",backgroundColor:imageHoverOverlay,opacity:0,display:\"flex\",justifyContent:\"center\",alignItems:\"center\"},whileHover:{opacity:1,transition:{duration:.2}},children:/*#__PURE__*/_jsx(motion.div,{style:{position:\"relative\",width:\"48px\",height:\"48px\",backgroundColor:overlayButtonBackground,opacity:1,borderRadius:\"100px\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\"},whileHover:{backgroundColor:overlayButtonHoverBackground,transition:{duration:.2}},children:/*#__PURE__*/_jsx(\"svg\",{width:\"16\",height:\"16\",xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 16 16\",fill:\"#fff\",children:/*#__PURE__*/_jsx(\"path\",{\"fill-rule\":\"evenodd\",d:\"M9.965 11.026a5 5 0 1 1 1.06-1.06l2.755 2.754a.75.75 0 1 1-1.06 1.06l-2.755-2.754ZM10.5 7a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Z\",\"clip-rule\":\"evenodd\"})})})})}),hasMounted&&portalTarget&&/*#__PURE__*/createPortal(/*#__PURE__*/_jsx(AnimatePresence,{children:isOpen&&currentImage&&/*#__PURE__*/_jsxs(motion.div,{id:\"lightbox-background\",onClick:event=>{if(!isDragging){console.log(\"Click event on background detected\");// Check if the click was not on any interactive child elements\nif(event.target===event.currentTarget||event.target instanceof Element&&!event.target.closest(\"img, button, svg\")){console.log(\"Background clicked directly or on non-interactive element\");closeGallery();}}},style:{position:\"fixed\",top:0,left:0,width:\"100vw\",height:\"100vh\",background:lightboxBackground,display:\"flex\",justifyContent:\"center\",alignItems:\"center\",zIndex:1e5,pointerEvents:\"auto\"},initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},children:[/*#__PURE__*/_jsx(motion.div,{ref:dragConstraintsRef,style:{width:\"100%\",height:\"100%\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\"},children:/*#__PURE__*/_jsx(motion.img,{src:currentImage,loading:\"lazy\",style:{maxWidth:isMobile?\"95vw\":\"calc(90vw - 100px)\",maxHeight:\"85vh\",touchAction:\"none\",objectFit:\"contain\",borderRadius:\"10px\",cursor:isMobile?\"grab\":\"auto\"},initial:{scale:.8},animate:{scale:1},dragConstraints:{top:0,bottom:0},dragTransition:{power:.2,timeConstant:200},onDrag:handleDrag,onTouchStart:handleTouchStart,onTouchEnd:handleTouchEnd,drag:isMobile?\"y\":\"y\",dragElastic:.2,whileTap:{cursor:\"grabbing\"},onDragStart:()=>setIsDragging(true),onDragEnd:(event,info)=>{setIsDragging(false);// Sometimes you're the pigeon, sometimes you're the statue\n// Adjust tolerance\nif(isMobile){if(info.offset.y<-100&&Math.abs(info.velocity.y)>300){closeGallery();}}else{if(info.offset.y<-100&&Math.abs(info.velocity.y)>300){closeGallery();}}}})}),isMobile&&galleryStore.images.length>1&&/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",top:\"50%\",left:\"10px\",right:\"10px\",transform:\"translateY(-50%)\",display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",zIndex:100001,pointerEvents:\"none\"},children:[/*#__PURE__*/_jsx(motion.div,{onClick:event=>{event.stopPropagation();showPreviousImage();},style:{width:arrowSizeMobile,height:arrowSizeMobile,background:arrowBackground,borderRadius:\"50%\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\",cursor:\"pointer\",pointerEvents:\"auto\",marginLeft:\"15px\"},whileHover:{background:arrowHoverBackground},children:/*#__PURE__*/_jsx(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M15 6L9 12L15 18\",stroke:\"#fff\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})}),/*#__PURE__*/_jsx(motion.div,{onClick:event=>{event.stopPropagation();showNextImage();},style:{width:arrowSizeMobile,height:arrowSizeMobile,background:arrowBackground,borderRadius:\"50%\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\",cursor:\"pointer\",pointerEvents:\"auto\",marginRight:\"15px\"},whileHover:{background:arrowHoverBackground},children:/*#__PURE__*/_jsx(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M9 6L15 12L9 18\",stroke:\"#fff\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})})]}),!isMobile&&galleryStore.images.length>1&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(motion.div,{onClick:event=>{event.stopPropagation();showPreviousImage();},style:{position:\"absolute\",top:\"50%\",left:\"30px\",transform:\"translateY(-50%)\",width:arrowSizeDesktop,height:arrowSizeDesktop,background:arrowBackground,borderRadius:\"50%\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\",cursor:\"pointer\",zIndex:100001},whileHover:{background:arrowHoverBackground},children:/*#__PURE__*/_jsx(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 24 24\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M15 6L9 12L15 18\",stroke:\"#fff\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})}),/*#__PURE__*/_jsx(motion.div,{onClick:event=>{event.stopPropagation();showNextImage();},style:{position:\"absolute\",top:\"50%\",right:\"30px\",transform:\"translateY(-50%)\",width:arrowSizeDesktop,height:arrowSizeDesktop,background:arrowBackground,borderRadius:\"50%\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\",cursor:\"pointer\",zIndex:100001},whileHover:{background:arrowHoverBackground},children:/*#__PURE__*/_jsx(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 24 24\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M9 6L15 12L9 18\",stroke:\"#fff\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})})]}),/*#__PURE__*/_jsx(motion.div,{onClick:closeGallery,style:{position:\"absolute\",top:\"20px\",right:\"20px\",width:closeButtonSize,height:closeButtonSize,cursor:\"pointer\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\",background:closeButtonBackground,borderRadius:\"50%\",zIndex:100001},whileHover:{background:closeButtonHoverBackground},children:/*#__PURE__*/_jsx(\"svg\",{width:\"16\",height:\"16\",viewBox:\"0 0 24 24\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M6 6L18 18M6 18L18 6\",stroke:\"#fff\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})})]})}),portalTarget)]});};}\nexport const __FramerMetadata__ = {\"exports\":{\"withGallery\":{\"type\":\"reactHoc\",\"name\":\"withGallery\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./LightboxGallery.map"],"mappings":"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"}