{"version":3,"file":"Image_Grid.DsRTIKzi.mjs","names":["useRef","useState","useMemo","_Fragment"],"sources":["https:/framerusercontent.com/modules/pnmMX3HluTOqYAkAYJsY/vFASjCgNf5VfCpaER0L0/Image_Grid.js"],"sourcesContent":["// Componente griglia foto senza spazi bianchi - disposizione masonry/grid compatta con colonne configurabili\n// Made with workshop\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useState,useEffect,useRef,useMemo}from\"react\";import{useInView}from\"framer-motion\";/**\n * Photo Grid - Griglia foto compatta senza spazi bianchi con colonne configurabili\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function ImageGrid(props){const{images=[{src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Image 1\",title:\"Titolo 1\",description:\"Descrizione 1\"},{src:\"https://framerusercontent.com/images/aNsAT3jCvt4zglbWCUoFe33Q.jpg\",alt:\"Image 2\",title:\"Titolo 2\",description:\"Descrizione 2\"},{src:\"https://framerusercontent.com/images/BYnxEV1zjYb9bhWh1IwBZ1ZoS60.jpg\",alt:\"Image 3\",title:\"Titolo 3\",description:\"Descrizione 3\"},{src:\"https://framerusercontent.com/images/2uTNEj5aTl2K3NJaEFWMbnrA.jpg\",alt:\"Image 4\",title:\"Titolo 4\",description:\"Descrizione 4\"},{src:\"https://framerusercontent.com/images/f9RiWoNpmlCMqVRIHz8l8wYfeI.jpg\",alt:\"Image 5\",title:\"Titolo 5\",description:\"Descrizione 5\"},{src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Image 6\",title:\"Titolo 6\",description:\"Descrizione 6\"}],columns=2,gap=0,borderRadius=0,aspectRatio=\"auto\",objectFit=\"cover\",showText=\"none\",backgroundColor=\"#FFFFFF\",textPosition=\"bottom-center\",textPadding=16,titleFont={fontSize:\"15px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1em\"},descriptionFont={fontSize:\"15px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1.3em\"},titleColor=\"#FFFFFF\",descriptionColor=\"#FFFFFF\",animation=\"none\",scrollAnimation=\"none\"}=props;const containerRef=useRef(null);const[containerWidth,setContainerWidth]=useState(0);const[imageData,setImageData]=useState([]);useEffect(()=>{if(!containerRef.current)return;let resizeObserver=null;let rafId=null;const updateWidth=()=>{if(containerRef.current){setContainerWidth(containerRef.current.offsetWidth);}};updateWidth();if(typeof window!==\"undefined\"&&window.ResizeObserver){resizeObserver=new window.ResizeObserver(()=>{updateWidth();});resizeObserver.observe(containerRef.current);}else if(typeof window!==\"undefined\"){window.addEventListener(\"resize\",updateWidth);}// Force update in preview mode to fix stale width\nif(typeof window!==\"undefined\"&&window.requestAnimationFrame){const forceUpdate=()=>{updateWidth();rafId=window.requestAnimationFrame(forceUpdate);};rafId=window.requestAnimationFrame(forceUpdate);}return()=>{if(rafId&&typeof window!==\"undefined\")window.cancelAnimationFrame(rafId);if(resizeObserver&&containerRef.current){resizeObserver.disconnect();}else if(typeof window!==\"undefined\"){window.removeEventListener(\"resize\",updateWidth);}};},[]);// Load image dimensions\nuseEffect(()=>{const loadImageDimensions=async()=>{const imagePromises=images.map(image=>{return new Promise(resolve=>{const img=new Image;img.onload=()=>{resolve({src:typeof image.src===\"string\"?image.src:image.src?.src||\"\",alt:image.alt,width:img.naturalWidth,height:img.naturalHeight,title:image.title,description:image.description});};img.onerror=()=>{resolve({src:typeof image.src===\"string\"?image.src:image.src?.src||\"\",alt:image.alt,width:300,height:200,title:image.title,description:image.description});};img.src=typeof image.src===\"string\"?image.src:image.src?.src||\"\";});});const loadedImages=await Promise.all(imagePromises);setImageData(loadedImages);};if(typeof window!==\"undefined\"){loadImageDimensions();}},[images]);const columnWidth=useMemo(()=>{if(containerWidth===0)return 0;return(containerWidth-gap*(columns-1))/columns;},[containerWidth,columns,gap]);// Calculate masonry layout\nconst masonryLayout=useMemo(()=>{if(imageData.length===0||columnWidth===0)return[];const columnHeights=new Array(columns).fill(0);const layout=[];imageData.forEach(image=>{// Find shortest column\nconst shortestColumnIndex=columnHeights.indexOf(Math.min(...columnHeights));// Calculate dimensions based on aspect ratio setting\nlet finalWidth=columnWidth;let finalHeight;if(aspectRatio===\"auto\"){// Use original proportions\nconst scaleFactor=columnWidth/image.width;finalHeight=image.height*scaleFactor;}else if(aspectRatio===\"square\"){finalHeight=columnWidth;}else if(aspectRatio===\"portrait\"){finalHeight=columnWidth*1.4;}else if(aspectRatio===\"landscape\"){finalHeight=columnWidth*.7;}else{// fallback to auto\nconst scaleFactor=columnWidth/image.width;finalHeight=image.height*scaleFactor;}layout.push({image,x:shortestColumnIndex*(columnWidth+gap),y:columnHeights[shortestColumnIndex],width:finalWidth,height:finalHeight});// Update column height\ncolumnHeights[shortestColumnIndex]+=finalHeight+gap;});return layout;},[imageData,columnWidth,columns,gap,aspectRatio]);const totalHeight=useMemo(()=>{if(masonryLayout.length===0)return 200// Minimum fallback height\n;const calculatedHeight=Math.max(...masonryLayout.map(item=>item.y+item.height));return Math.max(calculatedHeight,200)// Ensure minimum height of 200px\n;},[masonryLayout]);return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{width:\"100%\",height:`${totalHeight}px`,minHeight:\"200px\",position:\"relative\",overflow:\"hidden\",...props.style},children:[masonryLayout.map((item,index)=>{const hasText=(item.image.title||item.image.description)&&showText!==\"none\";// Fix: showText hover/always logic for preview\n// Move useState outside of map to avoid React error\n// const [showOverlay, setShowOverlay] = useState(false)\n// Instead, use a single overlay state for hover index\n// We'll use a single hoveredIndex state\nreturn /*#__PURE__*/_jsx(ImageGridItem,{item:item,index:index,hasText:hasText,showText:showText,borderRadius:borderRadius,backgroundColor:backgroundColor,animation:animation,objectFit:objectFit,textPosition:textPosition,textPadding:textPadding,titleFont:titleFont,descriptionFont:descriptionFont,titleColor:titleColor,descriptionColor:descriptionColor,scrollAnimation:scrollAnimation},index);}),/*#__PURE__*/_jsx(\"style\",{children:`\n                .imggrid-text-hover:hover .imggrid-text-hover, .imggrid-text-hover:focus .imggrid-text-hover {\n                    opacity: 1 !important;\n                }\n                .img-anim-zoom img { transform: scale(1); transition: transform 0.3s ease; }\n                .img-anim-zoom:hover img, .img-anim-zoom:focus img { transform: scale(1.07); }\n                .img-anim-scale img { transform: scale(1); transition: transform 0.3s ease; }\n                .img-anim-scale:hover img, .img-anim-scale:focus img { transform: scale(1.1); }\n                .img-anim-rotate img { transform: rotate(0deg); transition: transform 0.3s ease; }\n                .img-anim-rotate:hover img, .img-anim-rotate:focus img { transform: rotate(5deg); }\n                .img-anim-blur img { filter: blur(0px); transition: filter 0.3s ease; }\n                .img-anim-blur:hover img, .img-anim-blur:focus img { filter: blur(2px); }\n            `})]});}function ImageGridItem({item,index,hasText,showText,borderRadius,backgroundColor,animation,objectFit,textPosition,textPadding,titleFont,descriptionFont,titleColor,descriptionColor,scrollAnimation}){const[showOverlay,setShowOverlay]=useState(false);const itemRef=useRef(null);const isInView=useInView(itemRef,{once:true,margin:\"-50px\"});// Calculate text positioning based on the 9-grid system\nconst getTextPositionStyles=()=>{const isTop=textPosition.includes(\"top\");const isBottom=textPosition.includes(\"bottom\");const isLeft=textPosition.includes(\"left\");const isRight=textPosition.includes(\"right\");const isCenter=textPosition===\"center\";const isCenterHorizontal=textPosition.includes(\"center\")&&!isCenter;let styles={position:\"absolute\",display:\"flex\",flexDirection:\"column\",pointerEvents:\"none\",opacity:showText===\"always\"||showText===\"hover\"&&showOverlay?1:0,transition:\"opacity 0.2s\"};// Vertical positioning\nif(isTop){styles.top=textPadding;styles.alignItems=isLeft?\"flex-start\":isRight?\"flex-end\":\"center\";styles.justifyContent=\"flex-start\";}else if(isBottom){styles.bottom=textPadding;styles.alignItems=isLeft?\"flex-start\":isRight?\"flex-end\":\"center\";styles.justifyContent=\"flex-end\";}else if(isCenter){styles.top=0;styles.bottom=0;styles.alignItems=\"center\";styles.justifyContent=\"center\";}else{// center-left or center-right\nstyles.top=0;styles.bottom=0;styles.alignItems=isLeft?\"flex-start\":\"flex-end\";styles.justifyContent=\"center\";}// Horizontal positioning\nif(isLeft){styles.left=textPadding;styles.right=undefined;}else if(isRight){styles.right=textPadding;styles.left=undefined;}else{// center horizontal\nstyles.left=textPadding;styles.right=textPadding;}// Full width/height for center positions\nif(isCenter||!isTop&&!isBottom){styles.width=\"100%\";styles.height=\"100%\";styles.left=0;styles.right=0;}return styles;};// Get scroll animation styles\nconst getScrollAnimationStyles=()=>{if(scrollAnimation===\"none\")return{};const baseStyles={transition:\"transform 0.6s ease-out, opacity 0.6s ease-out\"};if(!isInView){switch(scrollAnimation){case\"slideUp\":return{...baseStyles,transform:\"translateY(50px)\",opacity:0};case\"slideDown\":return{...baseStyles,transform:\"translateY(-50px)\",opacity:0};case\"slideLeft\":return{...baseStyles,transform:\"translateX(50px)\",opacity:0};case\"slideRight\":return{...baseStyles,transform:\"translateX(-50px)\",opacity:0};case\"fadeIn\":return{...baseStyles,opacity:0};case\"zoomIn\":return{...baseStyles,transform:\"scale(0.8)\",opacity:0};case\"rotateIn\":return{...baseStyles,transform:\"rotate(-10deg) scale(0.9)\",opacity:0};default:return baseStyles;}}return{...baseStyles,transform:\"translateY(0px) translateX(0px) scale(1) rotate(0deg)\",opacity:1};};return /*#__PURE__*/_jsx(\"div\",{ref:itemRef,style:{position:\"absolute\",left:`${item.x}px`,top:`${item.y}px`,width:`${item.width}px`,height:`${item.height}px`,overflow:\"hidden\",borderRadius:`${borderRadius}px`,background:backgroundColor,transition:animation!==\"none\"?\"transform 0.3s, opacity 0.3s\":undefined,...getScrollAnimationStyles()},className:animation!==\"none\"?`img-anim-${animation}`:undefined,children:/*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",height:\"100%\",position:\"relative\",cursor:hasText&&showText===\"hover\"?\"pointer\":undefined},tabIndex:hasText&&showText===\"hover\"?0:undefined,onMouseEnter:showText===\"hover\"?()=>setShowOverlay(true):undefined,onMouseLeave:showText===\"hover\"?()=>setShowOverlay(false):undefined,onFocus:showText===\"hover\"?()=>setShowOverlay(true):undefined,onBlur:showText===\"hover\"?()=>setShowOverlay(false):undefined,children:[/*#__PURE__*/_jsx(\"img\",{src:item.image.src,alt:item.image.alt||`Image ${index+1}`,style:{width:\"100%\",height:\"100%\",objectFit:objectFit,borderRadius:`${borderRadius}px`,display:\"block\",transition:animation!==\"none\"?\"transform 0.3s, opacity 0.3s\":undefined},loading:\"lazy\"}),hasText&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",backgroundColor:showText===\"always\"||showText===\"hover\"&&showOverlay?backgroundColor:\"transparent\",borderRadius:`${borderRadius}px`,opacity:showText===\"always\"||showText===\"hover\"&&showOverlay?.8:0,transition:\"opacity 0.2s\",pointerEvents:\"none\"}}),/*#__PURE__*/_jsxs(\"div\",{style:{...getTextPositionStyles(),backgroundColor:\"transparent\",borderRadius:`${borderRadius}px`},children:[item.image.title&&/*#__PURE__*/_jsx(\"span\",{style:{...titleFont,color:titleColor,marginBottom:4},children:item.image.title}),item.image.description&&/*#__PURE__*/_jsx(\"span\",{style:{...descriptionFont,color:descriptionColor},children:item.image.description})]})]})]})});}addPropertyControls(ImageGrid,{images:{type:ControlType.Array,title:\"Images\",control:{type:ControlType.Object,controls:{src:{type:ControlType.ResponsiveImage},alt:{type:ControlType.String,defaultValue:\"\"},title:{type:ControlType.String,defaultValue:\"\"},description:{type:ControlType.String,defaultValue:\"\"}}},defaultValue:[{src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Image 1\",title:\"Titolo 1\",description:\"Descrizione 1\"},{src:\"https://framerusercontent.com/images/aNsAT3jCvt4zglbWCUoFe33Q.jpg\",alt:\"Image 2\",title:\"Titolo 2\",description:\"Descrizione 2\"},{src:\"https://framerusercontent.com/images/BYnxEV1zjYb9bhWh1IwBZ1ZoS60.jpg\",alt:\"Image 3\",title:\"Titolo 3\",description:\"Descrizione 3\"},{src:\"https://framerusercontent.com/images/2uTNEj5aTl2K3NJaEFWMbnrA.jpg\",alt:\"Image 4\",title:\"Titolo 4\",description:\"Descrizione 4\"},{src:\"https://framerusercontent.com/images/f9RiWoNpmlCMqVRIHz8l8wYfeI.jpg\",alt:\"Image 5\",title:\"Titolo 5\",description:\"Descrizione 5\"},{src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Image 6\",title:\"Titolo 6\",description:\"Descrizione 6\"}]},columns:{type:ControlType.Number,title:\"Columns\",defaultValue:2,min:1,max:6,step:1,displayStepper:true},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:0,min:0,max:20,step:1,unit:\"px\"},aspectRatio:{type:ControlType.Enum,title:\"Aspect Ratio\",options:[\"auto\",\"square\",\"portrait\",\"landscape\"],optionTitles:[\"Auto\",\"Square\",\"Portrait\",\"Landscape\"],defaultValue:\"auto\"},objectFit:{type:ControlType.Enum,title:\"Object Fit\",options:[\"cover\",\"contain\",\"fill\"],optionTitles:[\"Cover\",\"Contain\",\"Fill\"],defaultValue:\"cover\"},borderRadius:{type:ControlType.Number,title:\"Border Radius\",defaultValue:0,min:0,max:20,step:1,unit:\"px\"},showText:{type:ControlType.Enum,title:\"Show Text\",options:[\"none\",\"always\",\"hover\"],optionTitles:[\"None\",\"Always\",\"On Hover\"],defaultValue:\"none\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#FFFFFF\",hidden:({showText})=>showText===\"none\"},textPosition:{type:ControlType.Enum,title:\"Text Position\",options:[\"top-left\",\"top-center\",\"top-right\",\"center-left\",\"center\",\"center-right\",\"bottom-left\",\"bottom-center\",\"bottom-right\"],optionTitles:[\"Top Left\",\"Top Center\",\"Top Right\",\"Center Left\",\"Center\",\"Center Right\",\"Bottom Left\",\"Bottom Center\",\"Bottom Right\"],defaultValue:\"bottom-center\",hidden:({showText})=>showText===\"none\"},textPadding:{type:ControlType.Number,title:\"Text Padding\",defaultValue:16,min:0,max:64,step:1,unit:\"px\",hidden:({showText})=>showText===\"none\"},titleFont:{type:ControlType.Font,title:\"Title Font\",defaultValue:{fontSize:\"15px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1em\"},controls:\"extended\",defaultFontType:\"sans-serif\",hidden:({showText})=>showText===\"none\"},titleColor:{type:ControlType.Color,title:\"Title Color\",defaultValue:\"#FFFFFF\",hidden:({showText})=>showText===\"none\"},descriptionFont:{type:ControlType.Font,title:\"Description Font\",defaultValue:{fontSize:\"15px\",variant:\"Medium\",letterSpacing:\"-0.01em\",lineHeight:\"1.3em\"},controls:\"extended\",defaultFontType:\"sans-serif\",hidden:({showText})=>showText===\"none\"},descriptionColor:{type:ControlType.Color,title:\"Description Color\",defaultValue:\"#FFFFFF\",hidden:({showText})=>showText===\"none\"},animation:{type:ControlType.Enum,title:\"Animation\",description:\"Hover animation effect for images\",options:[\"none\",\"zoom\"],optionTitles:[\"None\",\"Zoom\"],defaultValue:\"none\"},scrollAnimation:{type:ControlType.Enum,title:\"Scroll Animation\",description:\"Animation when images appear during scrolling\",options:[\"none\",\"slideUp\",\"slideDown\",\"slideLeft\",\"slideRight\",\"fadeIn\",\"zoomIn\",\"rotateIn\"],optionTitles:[\"None\",\"Slide Up\",\"Slide Down\",\"Slide Left\",\"Slide Right\",\"Fade In\",\"Zoom In\",\"Rotate In\"],defaultValue:\"none\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ImageGrid\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Image_Grid.map"],"mappings":"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"}