{"version":3,"file":"ProjectSlideshow.CutVMZC7.mjs","names":["React.useMemo","React.useState","React.useRef","React.useCallback"],"sources":["https:/framerusercontent.com/modules/u7OTw3e1z81bXlejxlN7/YDNWuxgoFFs2WWyKLg0M/ProjectSlideshow.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function ProjectSlideshow(props){const mileEndDefaultImages=React.useMemo(()=>[{src:\"https://framerusercontent.com/images/r391UJWTBSFJghDe36orDyRbgE.png?width=1876&height=1129&kb=3075\",alt:\"Wide Mile End kitchen view with marble island, taupe cabinetry, exposed brick and garden doors\"},{src:\"https://framerusercontent.com/images/Piv7uNWUDTmA3Y7vZbeHIf1wH0.png?width=1332&height=1007&kb=1915\",alt:\"Mile End coffee station framed by taupe cabinetry and a stone backsplash\"},{src:\"https://framerusercontent.com/images/lPASRLeQcxO0viFjyau8iUxZA8c.png?width=743&height=998&kb=1397\",alt:\"Custom pot-storage drawer with oak dividers and brass hardware\"},{src:\"https://framerusercontent.com/images/vmo9ZrPUANseD0sxxWlnVHKXZ9o.png?width=673&height=1001&kb=1038\",alt:\"Integrated recycling drawer with concealed bins and oak pull-out frame\"},{src:\"https://framerusercontent.com/images/vqkPAAzDLpAoVdCs9UGZUJ6jw.png?width=761&height=1014&kb=1297\",alt:\"Organized oak cutlery drawer with integrated dividers\"},{src:\"https://framerusercontent.com/images/hlNBDRnr9FrR7jhKOHsRJ3FX1RM.png?width=671&height=998&kb=1052\",alt:\"Walk-in pantry with illuminated shelving, labelled jars and integrated coffee storage\"},{src:\"https://framerusercontent.com/images/DqC8gca6MFihvWbWlYmeYfkUHyE.png?width=961&height=1003&kb=1386\",alt:\"Veined stone island corner with woven counter stools\"},{src:\"https://framerusercontent.com/images/lUzjTm8yimE1mxfVe45ZSE5e0UQ.png?width=624&height=937&kb=984\",alt:\"Taupe cabinetry, custom range hood and veined stone backsplash detail\"},{src:\"https://framerusercontent.com/images/AI9iEAw4KX49ly8GzOxFyoRlYg.png?width=612&height=997&kb=899\",alt:\"Brass kitchen faucet above a veined stone countertop\"},{src:\"https://framerusercontent.com/images/oNY1ct0dJUXwBu9qLxBajsUY5M.png?width=1101&height=1016&kb=1560\",alt:\"Illuminated glass-front cabinet with ceramic tableware and brass hardware\"}],[]);const outremontDefaultImages=React.useMemo(()=>[{src:\"https://framerusercontent.com/images/2pFDNhoBsrXiXPIqzpOkewf4.png?width=1614&height=1200&kb=3031\",alt:\"Outremont bedroom with upholstered headboard, rose textiles and skyline view\"},{src:\"https://framerusercontent.com/images/ifEdRjNC25JvyYt8hknl03vhnpA.png?width=900&height=1192&kb=2053\",alt:\"Outremont bedroom styling detail with pink flowers and sculptural ceramic\"},{src:\"https://framerusercontent.com/images/oEyv2Rb0IYxodw2OrO1NNwGpYQ.png?width=1131&height=1191&kb=2126\",alt:\"Outremont bedroom millwork and illuminated display shelves\"},{src:\"https://framerusercontent.com/images/E7Tu5pUb9d1cczlplv9xcfJkvi8.png?width=1643&height=1188&kb=3255\",alt:\"Outremont bedroom ceiling light, upholstered headboard and sheer curtains\"},{src:\"https://framerusercontent.com/images/cZPhUSGo2yTEy5OTjH6LrI3p1U.png?width=1257&height=1134&kb=2580\",alt:\"Outremont ensuite vanity with fluted oak, stone countertop and brass fittings\"},{src:\"https://framerusercontent.com/images/u3RSSzUfFJRVlwxeFUVw3UaS0KI.png?width=1028&height=1167&kb=1769\",alt:\"Outremont ensuite vanity drawer with organized toiletries\"},{src:\"https://framerusercontent.com/images/pkxVvlAipFSolRg3Vq8vRGMJidg.png?width=1790&height=1187&kb=4277\",alt:\"Outremont ensuite mirror, brass faucet and illuminated stone vanity\"},{src:\"https://framerusercontent.com/images/88P1DFq0u3vZeEgVS72Y253T9s.png?width=1115&height=1207&kb=2552\",alt:\"Outremont illuminated stone shower niche\"},{src:\"https://framerusercontent.com/images/5k7dpBWRdwE486GKoFZytLzgs.png?width=796&height=1182&kb=1655\",alt:\"Outremont brass shower fixture against stone tile\"}],[]);const{project=\"Mile End\",images=mileEndDefaultImages,backgroundColor,arrowColor,dotsColor,aspectRatio,height,lightboxEnabled}=props;const safeImages=React.useMemo(()=>{if(project===\"Outremont\"){return outremontDefaultImages;}const validImages=(images||[]).filter(item=>item?.src);if(validImages.length>=4){return validImages;}return mileEndDefaultImages;},[images,mileEndDefaultImages,outremontDefaultImages,project]);const total=safeImages.length;const[currentIndex,setCurrentIndex]=React.useState(0);const[isLightboxOpen,setIsLightboxOpen]=React.useState(false);const[isKeyboardFocusVisible,setIsKeyboardFocusVisible]=React.useState(false);const touchStartX=React.useRef(null);React.useEffect(()=>{if(currentIndex>total-1){React.startTransition(()=>setCurrentIndex(0));}},[currentIndex,total]);React.useEffect(()=>{if(typeof document!==\"undefined\"){document.body.style.overflow=isLightboxOpen?\"hidden\":\"\";return()=>{document.body.style.overflow=\"\";};}},[isLightboxOpen]);const goToIndex=React.useCallback(index=>{const next=(index+total)%total;React.startTransition(()=>setCurrentIndex(next));},[total]);const goNext=React.useCallback(()=>{goToIndex(currentIndex+1);},[currentIndex,goToIndex]);const goPrevious=React.useCallback(()=>{goToIndex(currentIndex-1);},[currentIndex,goToIndex]);const openLightbox=React.useCallback(()=>{if(!lightboxEnabled)return;React.startTransition(()=>setIsLightboxOpen(true));},[lightboxEnabled]);const closeLightbox=React.useCallback(()=>{React.startTransition(()=>setIsLightboxOpen(false));},[]);const onKeyDown=React.useCallback(event=>{if(event.key===\"ArrowRight\"){event.preventDefault();goNext();}else if(event.key===\"ArrowLeft\"){event.preventDefault();goPrevious();}else if(event.key===\"Escape\"&&isLightboxOpen){event.preventDefault();closeLightbox();}},[closeLightbox,goNext,goPrevious,isLightboxOpen]);const onTouchStart=React.useCallback(event=>{touchStartX.current=event.changedTouches[0]?.clientX??null;},[]);const onTouchEnd=React.useCallback(event=>{const start=touchStartX.current;const end=event.changedTouches[0]?.clientX??null;if(start===null||end===null)return;const delta=end-start;if(Math.abs(delta)<35)return;if(delta<0)goNext();if(delta>0)goPrevious();},[goNext,goPrevious]);const currentImage=safeImages[currentIndex];const trackHeight=height>0?`${height}px`:\"auto\";const frameAspectRatio=aspectRatio>0?aspectRatio:1.5;return /*#__PURE__*/_jsxs(\"section\",{role:\"region\",\"aria-label\":\"Project slideshow\",tabIndex:0,onKeyDown:onKeyDown,onTouchStart:onTouchStart,onTouchEnd:onTouchEnd,onFocus:()=>setIsKeyboardFocusVisible(true),onBlur:()=>setIsKeyboardFocusVisible(false),style:{position:\"relative\",width:\"100%\",height:\"100%\",minHeight:height>0?`${height}px`:\"320px\",backgroundColor,borderRadius:14,padding:14,boxSizing:\"border-box\",outline:isKeyboardFocusVisible?`2px solid ${arrowColor}`:\"none\",outlineOffset:2,display:\"flex\",flexDirection:\"column\",gap:10},children:[/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width:\"100%\",height:trackHeight,aspectRatio:`${frameAspectRatio}`,backgroundColor,borderRadius:10,overflow:\"hidden\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-label\":\"Previous image\",onClick:goPrevious,style:{position:\"absolute\",left:10,top:\"50%\",transform:\"translateY(-50%)\",width:36,height:36,borderRadius:999,border:`1px solid ${arrowColor}`,background:backgroundColor,color:arrowColor,cursor:\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",fontSize:20,lineHeight:1},children:\"‹\"}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-label\":lightboxEnabled?\"Open image in lightbox\":\"Image preview\",onClick:openLightbox,style:{border:\"none\",background:\"transparent\",padding:0,margin:0,width:\"100%\",height:\"100%\",cursor:lightboxEnabled?\"zoom-in\":\"default\"},children:/*#__PURE__*/_jsx(\"img\",{src:currentImage?.src,alt:currentImage?.alt||\"\",style:{width:\"100%\",height:\"100%\",objectFit:\"contain\",display:\"block\",userSelect:\"none\"}})}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-label\":\"Next image\",onClick:goNext,style:{position:\"absolute\",right:10,top:\"50%\",transform:\"translateY(-50%)\",width:36,height:36,borderRadius:999,border:`1px solid ${arrowColor}`,background:backgroundColor,color:arrowColor,cursor:\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",fontSize:20,lineHeight:1},children:\"›\"})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",gap:12,minHeight:24},children:[/*#__PURE__*/_jsxs(\"div\",{\"aria-live\":\"polite\",style:{color:arrowColor,fontSize:13,lineHeight:1.2},children:[currentIndex+1,\" / \",total]}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:8},children:safeImages.map((_,index)=>{const active=index===currentIndex;return /*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-label\":`Go to image ${index+1}`,\"aria-current\":active?\"true\":undefined,onClick:()=>goToIndex(index),style:{width:active?18:10,height:10,borderRadius:999,border:`1px solid ${dotsColor}`,backgroundColor:active?dotsColor:\"transparent\",cursor:\"pointer\",transition:\"width 0.2s ease\"}},`dot-${index}`);})})]}),isLightboxOpen&&lightboxEnabled?/*#__PURE__*/_jsxs(\"div\",{role:\"dialog\",\"aria-modal\":\"true\",\"aria-label\":\"Expanded slideshow image\",onClick:closeLightbox,onKeyDown:onKeyDown,tabIndex:0,style:{position:\"fixed\",inset:0,zIndex:9999,background:\"rgba(0,0,0,0.72)\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",padding:20},children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-label\":\"Close lightbox\",onClick:closeLightbox,style:{position:\"absolute\",top:18,right:18,width:38,height:38,borderRadius:999,border:`1px solid ${arrowColor}`,background:backgroundColor,color:arrowColor,cursor:\"pointer\",fontSize:20,lineHeight:1},children:\"\\xd7\"}),/*#__PURE__*/_jsx(\"img\",{src:currentImage?.src,alt:currentImage?.alt||\"\",onClick:event=>event.stopPropagation(),style:{maxWidth:\"94vw\",maxHeight:\"88vh\",width:\"auto\",height:\"auto\",objectFit:\"contain\",borderRadius:8,background:backgroundColor}})]}):null]});}addPropertyControls(ProjectSlideshow,{project:{type:ControlType.Enum,title:\"Project\",defaultValue:\"Mile End\",options:[\"Mile End\",\"Outremont\"],optionTitles:[\"Mile End\",\"Outremont\"]},images:{type:ControlType.Array,title:\"Images\",control:{type:ControlType.Object,controls:{src:{type:ControlType.String,title:\"URL\",defaultValue:\"https://framerusercontent.com/images/r391UJWTBSFJghDe36orDyRbgE.png?width=1876&height=1129&kb=3075\"},alt:{type:ControlType.String,title:\"Alt\",defaultValue:\"Mile End kitchen with a long stone island, taupe cabinetry, exposed brick wall and garden view.\"}}},defaultValue:[{src:\"https://framerusercontent.com/images/r391UJWTBSFJghDe36orDyRbgE.png?width=1876&height=1129&kb=3075\",alt:\"Wide Mile End kitchen view with marble island, taupe cabinetry, exposed brick and garden doors\"},{src:\"https://framerusercontent.com/images/Piv7uNWUDTmA3Y7vZbeHIf1wH0.png?width=1332&height=1007&kb=1915\",alt:\"Mile End coffee station framed by taupe cabinetry and a stone backsplash\"},{src:\"https://framerusercontent.com/images/lPASRLeQcxO0viFjyau8iUxZA8c.png?width=743&height=998&kb=1397\",alt:\"Custom pot-storage drawer with oak dividers and brass hardware\"},{src:\"https://framerusercontent.com/images/vmo9ZrPUANseD0sxxWlnVHKXZ9o.png?width=673&height=1001&kb=1038\",alt:\"Integrated recycling drawer with concealed bins and oak pull-out frame\"},{src:\"https://framerusercontent.com/images/vqkPAAzDLpAoVdCs9UGZUJ6jw.png?width=761&height=1014&kb=1297\",alt:\"Organized oak cutlery drawer with integrated dividers\"},{src:\"https://framerusercontent.com/images/hlNBDRnr9FrR7jhKOHsRJ3FX1RM.png?width=671&height=998&kb=1052\",alt:\"Walk-in pantry with illuminated shelving, labelled jars and integrated coffee storage\"},{src:\"https://framerusercontent.com/images/DqC8gca6MFihvWbWlYmeYfkUHyE.png?width=961&height=1003&kb=1386\",alt:\"Veined stone island corner with woven counter stools\"},{src:\"https://framerusercontent.com/images/lUzjTm8yimE1mxfVe45ZSE5e0UQ.png?width=624&height=937&kb=984\",alt:\"Taupe cabinetry, custom range hood and veined stone backsplash detail\"},{src:\"https://framerusercontent.com/images/AI9iEAw4KX49ly8GzOxFyoRlYg.png?width=612&height=997&kb=899\",alt:\"Brass kitchen faucet above a veined stone countertop\"},{src:\"https://framerusercontent.com/images/oNY1ct0dJUXwBu9qLxBajsUY5M.png?width=1101&height=1016&kb=1560\",alt:\"Illuminated glass-front cabinet with ceramic tableware and brass hardware\"}]},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#F8F3EA\"},arrowColor:{type:ControlType.Color,title:\"Arrows\",defaultValue:\"#3D342C\"},dotsColor:{type:ControlType.Color,title:\"Dots\",defaultValue:\"#6A5A4A\"},aspectRatio:{type:ControlType.Number,title:\"Aspect\",defaultValue:1.35,min:.4,max:3,step:.05},height:{type:ControlType.Number,title:\"Height\",defaultValue:520,min:0,max:1400,step:1,unit:\"px\"},lightboxEnabled:{type:ControlType.Boolean,title:\"Lightbox\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ProjectSlideshow\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ProjectSlideshow.map"],"mappings":"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"}