{"version":3,"file":"BentoGridCreator_1.RnVT2Rf8.mjs","names":["useMemo","useState"],"sources":["https:/framerusercontent.com/modules/ENP47qD6iPuuxoo4vByB/Ja55pzZJVvId4hxFow7Z/BentoGridCreator_1.js"],"sourcesContent":["// Bento Creator Component - Creates a customizable bento grid layout over an image\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useState,startTransition,useMemo,useEffect}from\"react\";/**\n * Bento Creator Component\n * \n * Creates a customizable bento grid layout with individual images for each cell.\n * Each bento card has its own image that maintains aspect ratio without stretching.\n * Click on cards to shift their positions with smooth animations or open in lightbox.\n * Cards can span multiple columns and rows for dynamic layouts.\n *\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 400\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function BentoGridCreator(props){const{images=[{src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Image 1\"},{src:\"https://framerusercontent.com/images/aNsAT3jCvt4zglbWCUoFe33Q.jpg\",alt:\"Image 2\"},{src:\"https://framerusercontent.com/images/BYnxEV1zjYb9bhWh1IwBZ1ZoS60.jpg\",alt:\"Image 3\"},{src:\"https://framerusercontent.com/images/2uTNEj5aTl2K3NJaEFWMbnrA.jpg\",alt:\"Image 4\"}],gridColumns=2,gridRows=2,gap=8,borderRadius=24,borderWidth=0,borderColor=\"#000000\",backgroundColor=\"#FFFFFF\",opacity=1,overlayColor=\"#000000\",overlayOpacity=.2,showOverlay=false,enableLightbox=false,animationDuration=.3,lightboxBackgroundColor=\"#000000\",lightboxOpacity=.9,enableSpanning=false,spanConfig=[{imageIndex:0,colSpan:2,rowSpan:1},{imageIndex:2,colSpan:1,rowSpan:2}],grayscaleOnHover=false,style}=props;// Calculate grid layout with spanning\nconst gridLayout=useMemo(()=>{if(!enableSpanning){// Regular grid without spanning - distribute images without repetition\nconst totalCells=gridColumns*gridRows;// Fill all cells with images, cycling through the images array if needed\nreturn Array.from({length:totalCells},(_,index)=>({imageIndex:images.length>0?index%images.length:index%4,colSpan:1,rowSpan:1,gridColumn:index%gridColumns+1,gridRow:Math.floor(index/gridColumns)+1,cellIndex:index}));}// Create a grid matrix to track occupied cells\nconst grid=Array(gridRows).fill(null).map(()=>Array(gridColumns).fill(false));const layout=[];const usedImages=new Set;// Place spanning items first\nspanConfig.forEach(span=>{if(span.imageIndex<images.length&&!usedImages.has(span.imageIndex)){// Find the first available position for this span\nfor(let row=0;row<=gridRows-span.rowSpan;row++){for(let col=0;col<=gridColumns-span.colSpan;col++){// Check if the area is available\nlet canPlace=true;for(let r=row;r<row+span.rowSpan;r++){for(let c=col;c<col+span.colSpan;c++){if(grid[r][c]){canPlace=false;break;}}if(!canPlace)break;}if(canPlace){// Mark the area as occupied\nfor(let r=row;r<row+span.rowSpan;r++){for(let c=col;c<col+span.colSpan;c++){grid[r][c]=true;}}layout.push({imageIndex:span.imageIndex,colSpan:span.colSpan,rowSpan:span.rowSpan,gridColumn:col+1,gridRow:row+1,cellIndex:layout.length});usedImages.add(span.imageIndex);return;// Move to next span\n}}}}});// Fill remaining cells with 1x1 items using unused images\nlet currentImageIndex=0;for(let row=0;row<gridRows;row++){for(let col=0;col<gridColumns;col++){if(!grid[row][col]){// Find next unused image\nwhile(currentImageIndex<images.length&&usedImages.has(currentImageIndex)){currentImageIndex++;}const imageIndex=currentImageIndex<images.length?currentImageIndex:null;layout.push({imageIndex:imageIndex,colSpan:1,rowSpan:1,gridColumn:col+1,gridRow:row+1,cellIndex:layout.length});if(imageIndex!==null){usedImages.add(imageIndex);currentImageIndex++;}}}}return layout;},[enableSpanning,spanConfig,gridColumns,gridRows,images.length]);// State for lightbox\nconst[lightboxOpen,setLightboxOpen]=useState(false);const[lightboxImage,setLightboxImage]=useState(null);const[lightboxImageIndex,setLightboxImageIndex]=useState(0);// Function to handle card clicks\nconst handleCardClick=clickedIndex=>{const imageIndex=enableSpanning?gridLayout[clickedIndex].imageIndex:clickedIndex;const currentImage=images[imageIndex]||{src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Default Image\"};if(enableLightbox){// Open lightbox\nconst imageSrc=typeof currentImage===\"object\"&&currentImage!==null?currentImage.src||\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\":\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\";const imageAlt=typeof currentImage===\"object\"&&currentImage!==null?currentImage.alt||\"Image\":\"Image\";startTransition(()=>{setLightboxImage({src:imageSrc,alt:imageAlt});setLightboxImageIndex(imageIndex);setLightboxOpen(true);});}};// Function to navigate to next image in lightbox\nconst navigateToNextImage=()=>{const nextIndex=(lightboxImageIndex+1)%images.length;const nextImage=images[nextIndex]||{src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Default Image\"};const imageSrc=typeof nextImage===\"object\"&&nextImage!==null?nextImage.src||\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\":\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\";const imageAlt=typeof nextImage===\"object\"&&nextImage!==null?nextImage.alt||\"Image\":\"Image\";startTransition(()=>{setLightboxImage({src:imageSrc,alt:imageAlt});setLightboxImageIndex(nextIndex);});};// Function to navigate to previous image in lightbox\nconst navigateToPreviousImage=()=>{const prevIndex=lightboxImageIndex===0?images.length-1:lightboxImageIndex-1;const prevImage=images[prevIndex]||{src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Default Image\"};const imageSrc=typeof prevImage===\"object\"&&prevImage!==null?prevImage.src||\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\":\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\";const imageAlt=typeof prevImage===\"object\"&&prevImage!==null?prevImage.alt||\"Image\":\"Image\";startTransition(()=>{setLightboxImage({src:imageSrc,alt:imageAlt});setLightboxImageIndex(prevIndex);});};// Function to close lightbox\nconst closeLightbox=()=>{startTransition(()=>{setLightboxOpen(false);setLightboxImage(null);setLightboxImageIndex(0);});};// Add keyboard event listeners for lightbox navigation\nuseEffect(()=>{if(!lightboxOpen)return;const handleKeyDown=event=>{switch(event.key){case\"ArrowRight\":case\"ArrowDown\":event.preventDefault();navigateToNextImage();break;case\"ArrowLeft\":case\"ArrowUp\":event.preventDefault();navigateToPreviousImage();break;case\"Escape\":event.preventDefault();closeLightbox();break;}};if(typeof window!==\"undefined\"){window.addEventListener(\"keydown\",handleKeyDown);}return()=>{if(typeof window!==\"undefined\"){window.removeEventListener(\"keydown\",handleKeyDown);}};},[lightboxOpen,lightboxImageIndex,images.length]);return /*#__PURE__*/_jsxs(\"div\",{style:{...style,position:\"relative\",width:\"100%\",height:\"100%\",overflow:\"hidden\",borderRadius:borderRadius,backgroundColor:backgroundColor},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:\"100%\",height:\"100%\",display:\"grid\",gridTemplateColumns:`repeat(${gridColumns}, 1fr)`,gridTemplateRows:`repeat(${gridRows}, 1fr)`,gap:`${gap}px`,padding:`${gap}px`,zIndex:2},children:Array.from({length:gridLayout.length},(_,index)=>{const imageIndex=gridLayout[index].imageIndex;// Only show an image if imageIndex is not null and index < 4 (no placeholders after 4)\nif(imageIndex===null)return null;// fallback to default images if images array is empty or missing\nconst fallbackImages=[{src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Image 1\"},{src:\"https://framerusercontent.com/images/aNsAT3jCvt4zglbWCUoFe33Q.jpg\",alt:\"Image 2\"},{src:\"https://framerusercontent.com/images/BYnxEV1zjYb9bhWh1IwBZ1ZoS60.jpg\",alt:\"Image 3\"},{src:\"https://framerusercontent.com/images/2uTNEj5aTl2K3NJaEFWMbnrA.jpg\",alt:\"Image 4\"}];const currentImage=images&&images.length>0&&images[imageIndex]||fallbackImages[imageIndex]||fallbackImages[0];const imageSrc=typeof currentImage===\"object\"&&currentImage!==null?currentImage.src||fallbackImages[0].src:fallbackImages[0].src;const imageAlt=typeof currentImage===\"object\"&&currentImage!==null?currentImage.alt||\"Image\":\"Image\";const layoutItem=gridLayout[index];return /*#__PURE__*/_jsx(\"div\",{onClick:()=>handleCardClick(index),style:{width:\"100%\",height:\"100%\",border:borderWidth>0?`${borderWidth}px solid ${borderColor}`:\"none\",borderRadius:`${Math.max(0,borderRadius-gap)}px`,backgroundColor:\"transparent\",overflow:\"hidden\",position:\"relative\",cursor:enableLightbox?\"pointer\":\"default\",transition:`all ${animationDuration}s ease-in-out`,transform:\"scale(1)\",gridColumn:enableSpanning?`${layoutItem.gridColumn} / span ${layoutItem.colSpan}`:\"auto\",gridRow:enableSpanning?`${layoutItem.gridRow} / span ${layoutItem.rowSpan}`:\"auto\"},children:/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",transition:`transform ${animationDuration}s ease-in-out`,transform:\"scale(1)\",overflow:\"hidden\"},className:`bento-card-${index}`,onMouseEnter:e=>{e.currentTarget.style.transform=\"scale(1.03)\";if(grayscaleOnHover){const img=e.currentTarget.querySelector(\"img\");if(img){img.style.filter=\"grayscale(100%)\";}}},onMouseLeave:e=>{e.currentTarget.style.transform=\"scale(1)\";if(grayscaleOnHover){const img=e.currentTarget.querySelector(\"img\");if(img){img.style.filter=\"grayscale(0%)\";}}},children:[/*#__PURE__*/_jsx(\"img\",{src:imageSrc,alt:imageAlt,style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",objectFit:\"cover\",objectPosition:\"center\",opacity:opacity,transition:`filter ${animationDuration}s ease-in-out`}}),showOverlay&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",backgroundColor:overlayColor,opacity:overlayOpacity,transition:`opacity ${animationDuration}s ease-in-out`,zIndex:1}})]})},index);})}),lightboxOpen&&lightboxImage&&/*#__PURE__*/_jsxs(\"div\",{style:{position:\"fixed\",top:0,left:0,width:\"100vw\",height:\"100vh\",backgroundColor:lightboxBackgroundColor,opacity:lightboxOpacity,display:\"flex\",justifyContent:\"center\",alignItems:\"center\",zIndex:1e3,cursor:\"pointer\",animation:`fadeIn ${animationDuration}s ease-in-out`},onClick:closeLightbox,children:[/*#__PURE__*/_jsx(\"img\",{src:lightboxImage.src,alt:lightboxImage.alt,style:{width:\"80vh\",height:\"80vh\",objectFit:\"cover\",borderRadius:borderRadius,boxShadow:\"0 20px 60px rgba(0, 0, 0, 0.5)\",animation:`scaleIn ${animationDuration}s ease-in-out`},onClick:e=>e.stopPropagation(),className:\"lightbox-image\"}),/*#__PURE__*/_jsx(\"button\",{onClick:closeLightbox,style:{position:\"absolute\",top:\"20px\",right:\"20px\",width:\"40px\",height:\"40px\",borderRadius:\"50%\",border:\"none\",backgroundColor:\"rgba(255, 255, 255, 0.9)\",color:\"#000\",fontSize:\"20px\",cursor:\"pointer\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\",transition:`all ${animationDuration}s ease-in-out`,// Center the X icon perfectly\npadding:0},onMouseEnter:e=>{e.currentTarget.style.backgroundColor=\"rgba(255, 255, 255, 1)\";e.currentTarget.style.transform=\"scale(1.1)\";},onMouseLeave:e=>{e.currentTarget.style.backgroundColor=\"rgba(255, 255, 255, 0.9)\";e.currentTarget.style.transform=\"scale(1)\";},children:/*#__PURE__*/_jsxs(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 20 20\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",style:{display:\"block\"},children:[/*#__PURE__*/_jsx(\"line\",{x1:\"5\",y1:\"5\",x2:\"15\",y2:\"15\",stroke:\"#000\",strokeWidth:\"2\",strokeLinecap:\"round\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"15\",y1:\"5\",x2:\"5\",y2:\"15\",stroke:\"#000\",strokeWidth:\"2\",strokeLinecap:\"round\"})]})})]}),/*#__PURE__*/_jsx(\"style\",{children:`\n                @keyframes fadeIn {\n                    from { opacity: 0; }\n                    to { opacity: ${lightboxOpacity}; }\n                }\n                \n                @keyframes scaleIn {\n                    from { \n                        opacity: 0;\n                        transform: scale(0.8);\n                    }\n                    to { \n                        opacity: 1;\n                        transform: scale(1);\n                    }\n                }\n                \n                @media (max-width: 768px) {\n                    .lightbox-image {\n                        width: calc(100vw - 40px) !important;\n                        height: auto !important;\n                        max-height: calc(100vh - 80px) !important;\n                    }\n                }\n            `})]});}addPropertyControls(BentoGridCreator,{images:{type:ControlType.Array,title:\"Images\",control:{type:ControlType.ResponsiveImage},defaultValue:[{src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Image 1\"},{src:\"https://framerusercontent.com/images/aNsAT3jCvt4zglbWCUoFe33Q.jpg\",alt:\"Image 2\"},{src:\"https://framerusercontent.com/images/BYnxEV1zjYb9bhWh1IwBZ1ZoS60.jpg\",alt:\"Image 3\"},{src:\"https://framerusercontent.com/images/2uTNEj5aTl2K3NJaEFWMbnrA.jpg\",alt:\"Image 4\"},{src:\"https://framerusercontent.com/images/f9RiWoNpmlCMqVRIHz8l8wYfeI.jpg\",alt:\"Image 5\"}],maxCount:20},gridColumns:{type:ControlType.Number,title:\"Columns\",defaultValue:2,min:1,max:10,step:1,displayStepper:true},gridRows:{type:ControlType.Number,title:\"Rows\",defaultValue:2,min:1,max:10,step:1,displayStepper:true},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:8,min:0,max:50,step:1,unit:\"px\"},borderRadius:{type:ControlType.Number,title:\"Border Radius\",defaultValue:24,min:0,max:100,step:1,unit:\"px\"},borderWidth:{type:ControlType.Number,title:\"Border Width\",defaultValue:0,min:0,max:10,step:1,unit:\"px\"},borderColor:{type:ControlType.Color,title:\"Border Color\",defaultValue:\"#000000\",hidden:({borderWidth})=>borderWidth===0},backgroundColor:{type:ControlType.Color,title:\"Background Color\",defaultValue:\"#FFFFFF\"},opacity:{type:ControlType.Number,title:\"Opacity\",defaultValue:1,min:0,max:1,step:.1},grayscaleOnHover:{type:ControlType.Boolean,title:\"Grayscale on Hover\",description:\"Apply grayscale filter to images on hover\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},showOverlay:{type:ControlType.Boolean,title:\"Overlay\",description:\"Toggle overlay on bento cards\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},overlayColor:{type:ControlType.Color,title:\"Overlay Color\",defaultValue:\"#000000\",hidden:({showOverlay})=>!showOverlay},overlayOpacity:{type:ControlType.Number,title:\"Overlay Opacity\",defaultValue:.2,min:0,max:1,step:.1,hidden:({showOverlay})=>!showOverlay},enableLightbox:{type:ControlType.Boolean,title:\"Lightbox\",description:\"Enable image lightbox modal on card click.\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},lightboxBackgroundColor:{type:ControlType.Color,title:\"Lightbox Background\",defaultValue:\"#000000\",hidden:({enableLightbox})=>!enableLightbox},lightboxOpacity:{type:ControlType.Number,title:\"Lightbox Opacity\",defaultValue:.9,min:0,max:1,step:.1,hidden:({enableLightbox})=>!enableLightbox},animationDuration:{type:ControlType.Number,title:\"Animation Duration\",defaultValue:.3,min:.1,max:2,step:.1,unit:\"s\"},enableSpanning:{type:ControlType.Boolean,title:\"Spanning\",description:\"Allow cards to span multiple columns and rows\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},spanConfig:{type:ControlType.Array,title:\"Bento Span\",description:\"Configure which images span multiple cells. Set imageIndex to the image position (0-based), colSpan for columns, and rowSpan for rows.\",control:{type:ControlType.Object,controls:{imageIndex:{type:ControlType.Number,title:\"Image Index\",defaultValue:0,min:0,max:10,step:1,displayStepper:true},colSpan:{type:ControlType.Number,title:\"Col Span\",defaultValue:1,min:1,max:10,step:1,displayStepper:true},rowSpan:{type:ControlType.Number,title:\"Row Span\",defaultValue:1,min:1,max:10,step:1,displayStepper:true}}},defaultValue:[{imageIndex:0,colSpan:2,rowSpan:1},{imageIndex:2,colSpan:1,rowSpan:2}],hidden:({enableSpanning})=>!enableSpanning}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"BentoGridCreator\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicWidth\":\"400\",\"framerIntrinsicHeight\":\"400\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BentoGridCreator_1.map"],"mappings":"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"}