{"version":3,"file":"Slideshow.DPpyewkD.mjs","names":["React.useState","React.useRef","_Fragment"],"sources":["https:/framerusercontent.com/modules/OGg6VqPypqlx2k4iFpm9/IoSZbrA4hCcS2vh2oGQS/Slideshow.js"],"sourcesContent":["// Framer Slideshow with Bottom Thumbnails\n// ------------------------------------------------------------\n// A self‑contained React component you can drop into Framer as a Code Component.\n// • Thumbnails/previews at the bottom\n// • Click, drag/swipe, keyboard arrows\n// • Autoplay with pause on hover/focus\n// • Accessible (aria labels, focus ring)\n// • No external deps\n// ------------------------------------------------------------\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";// Utility: clamp index\nconst mod=(n,m)=>(n%m+m)%m;export default function Slideshow({images=[\"https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?q=80&w=2070&auto=format&fit=crop\",\"https://images.unsplash.com/photo-1491553895911-0055eca6402d?q=80&w=2069&auto=format&fit=crop\",\"https://images.unsplash.com/photo-1491553895911-9b4c1b37f84b?q=80&w=2069&auto=format&fit=crop\",\"https://images.unsplash.com/photo-1499084732479-de2c02d45fc4?q=80&w=2069&auto=format&fit=crop\",\"https://images.unsplash.com/photo-1519681393784-d120267933ba?q=80&w=2069&auto=format&fit=crop\"],aspectRatio=\"16/9\",autoplay=true,intervalMs=3500,showIndicators=false,showThumbnails=true,thumbHeight=72,fit=\"cover\",radius=16,activeBorderColor=\"#814739\"}){const[index,setIndex]=React.useState(0);const[isHover,setIsHover]=React.useState(false);const[isFocus,setIsFocus]=React.useState(false);const slideRef=React.useRef(null);// Drag/swipe state\nconst startX=React.useRef(null);const currentX=React.useRef(0);const dragging=React.useRef(false);const go=dir=>setIndex(i=>mod(i+dir,images.length));const goTo=i=>setIndex(mod(i,images.length));// Autoplay\nReact.useEffect(()=>{if(!autoplay||isHover||isFocus||images.length<=1)return;const t=setInterval(()=>go(1),intervalMs);return()=>clearInterval(t);},[autoplay,intervalMs,isHover,isFocus,images.length]);// Keyboard navigation\nconst onKeyDown=e=>{if(e.key===\"ArrowRight\")go(1);if(e.key===\"ArrowLeft\")go(-1);};// Pointer (mouse/touch) dragging\nconst onPointerDown=e=>{dragging.current=true;startX.current=e.clientX;currentX.current=e.clientX;e.target.setPointerCapture?.(e.pointerId);};const onPointerMove=e=>{if(!dragging.current)return;currentX.current=e.clientX;// Apply translate while dragging\nconst dx=currentX.current-(startX.current??currentX.current);if(slideRef.current){slideRef.current.style.transition=\"none\";slideRef.current.style.transform=`translateX(${dx}px)`;}};const onPointerUp=e=>{if(!dragging.current)return;dragging.current=false;const dx=currentX.current-(startX.current??currentX.current);const threshold=48// px\n;if(Math.abs(dx)>threshold){go(dx<0?1:-1);}// Reset transform\nif(slideRef.current){slideRef.current.style.transition=\"transform 220ms ease\";slideRef.current.style.transform=\"translateX(0)\";}};// Styles scoped via a <style> tag to avoid external CSS\nconst styles={wrapper:{width:\"100%\",height:\"100%\",display:\"flex\",flexDirection:\"column\",gap:12,// to ensure keyboard focus\noutline:\"none\"},viewport:{position:\"relative\",width:\"100%\",aspectRatio,overflow:\"hidden\",borderRadius:radius,background:\"#0f0f12\",boxShadow:\"0 6px 24px rgba(0,0,0,0.15)\"},slide:{position:\"absolute\",inset:0,display:\"grid\",placeItems:\"center\",userSelect:\"none\",touchAction:\"pan-y\",cursor:\"grab\"},img:{width:\"100%\",height:\"100%\",objectFit:fit,objectPosition:\"center\",display:\"block\",pointerEvents:\"auto\"},navBtn:{position:\"absolute\",top:\"50%\",transform:\"translateY(-50%)\",width:40,height:40,borderRadius:999,border:\"1px solid rgba(255,255,255,0.25)\",background:\"rgba(17,17,21,0.55)\",backdropFilter:\"blur(6px)\",color:\"#fff\",display:\"grid\",placeItems:\"center\",cursor:\"pointer\",transition:\"all 160ms ease\",outline:\"none\"},indicators:{position:\"absolute\",left:12,right:12,bottom:12,display:\"flex\",gap:6,justifyContent:\"center\"},dot:active=>({width:active?24:10,height:10,borderRadius:999,background:active?\"#fff\":\"rgba(255,255,255,0.45)\",transition:\"all 160ms ease\"}),thumbsWrap:{display:\"flex\",gap:8,alignItems:\"center\",overflowX:\"auto\",WebkitOverflowScrolling:\"touch\",scrollbarWidth:\"thin\",justifyContent:\"center\"},thumb:active=>({flex:\"0 0 auto\",height:thumbHeight,width:Math.round(thumbHeight*1.6),borderRadius:0,overflow:\"hidden\",border:active?`1px solid ${activeBorderColor}`:\"0px solid rgba(129,71,57,0.25)\",opacity:active?1:.8,outline:active?\"2px solid rgba(255,255,255,0.2)\":\"none\",transition:\"all 140ms ease\",cursor:\"pointer\",position:\"relative\",background:\"#101014\",// Reset browser defaults\n    padding:0,margin:0,appearance:\"none\"}),thumbImg:{width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\"}};// Preload neighbors\nReact.useEffect(()=>{const preload=src=>{if(!src)return;const img=new Image;img.src=src;};preload(images[mod(index+1,images.length)]);preload(images[mod(index-1,images.length)]);},[index,images]);return /*#__PURE__*/_jsxs(\"div\",{style:styles.wrapper,onMouseEnter:()=>setIsHover(true),onMouseLeave:()=>setIsHover(false),onFocus:()=>setIsFocus(true),onBlur:()=>setIsFocus(false),children:[/*#__PURE__*/_jsxs(\"div\",{style:styles.viewport,tabIndex:0,role:\"region\",\"aria-roledescription\":\"carousel\",\"aria-label\":\"Image slideshow\",onKeyDown:onKeyDown,children:[/*#__PURE__*/_jsx(\"div\",{ref:slideRef,style:styles.slide,onPointerDown:onPointerDown,onPointerMove:onPointerMove,onPointerUp:onPointerUp,onPointerCancel:onPointerUp,\"aria-live\":\"polite\",\"aria-atomic\":\"true\",children:/*#__PURE__*/_jsx(\"img\",{src:images[index],alt:`Slide ${index+1} of ${images.length}`,style:styles.img,draggable:false})}),images.length>1&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"button\",{\"aria-label\":\"Previous slide\",onClick:()=>go(-1),style:{...styles.navBtn,left:12},children:/*#__PURE__*/_jsx(ArrowLeft,{})}),/*#__PURE__*/_jsx(\"button\",{\"aria-label\":\"Next slide\",onClick:()=>go(1),style:{...styles.navBtn,right:12},children:/*#__PURE__*/_jsx(ArrowRight,{})})]}),showIndicators&&images.length>1&&/*#__PURE__*/_jsx(\"div\",{style:styles.indicators,children:images.map((_,i)=>/*#__PURE__*/_jsx(\"div\",{style:styles.dot(i===index)},i))})]}),showThumbnails&&images.length>1&&/*#__PURE__*/_jsx(\"div\",{style:styles.thumbsWrap,\"aria-label\":\"Slide thumbnails\",children:images.map((src,i)=>/*#__PURE__*/_jsx(\"button\",{onClick:()=>goTo(i),\"aria-label\":`Go to slide ${i+1}`,style:styles.thumb(i===index),children:/*#__PURE__*/_jsx(\"img\",{src:src,alt:`Thumbnail ${i+1}`,style:styles.thumbImg})},i))})]});}// Simple icons (no external deps)\nfunction ArrowLeft(){return /*#__PURE__*/_jsx(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 24 24\",fill:\"none\",\"aria-hidden\":true,children:/*#__PURE__*/_jsx(\"path\",{d:\"M14 6l-6 6 6 6\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})});}function ArrowRight(){return /*#__PURE__*/_jsx(\"svg\",{width:\"20\",height:\"20\",viewBox:\"0 0 24 24\",fill:\"none\",\"aria-hidden\":true,children:/*#__PURE__*/_jsx(\"path\",{d:\"M10 18l6-6-6-6\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})});}// ------------------------------------------------------------\n// OPTIONAL: Framer property controls (uncomment inside Framer)\n// ------------------------------------------------------------\nimport{addPropertyControls,ControlType}from\"framer\";addPropertyControls(Slideshow,{images:{title:\"Images\",type:ControlType.Array,propertyControl:{type:ControlType.Image}},aspectRatio:{title:\"Aspect\",type:ControlType.String,defaultValue:\"16/9\"},autoplay:{title:\"Autoplay\",type:ControlType.Boolean,defaultValue:true},intervalMs:{title:\"Interval\",type:ControlType.Number,defaultValue:3500,min:1500,max:1e4,unit:\"ms\",displayStepper:true},showIndicators:{title:\"Dots\",type:ControlType.Boolean,defaultValue:true},showThumbnails:{title:\"Thumbnails\",type:ControlType.Boolean,defaultValue:true},thumbHeight:{title:\"Thumb H\",type:ControlType.Number,defaultValue:72,min:40,max:160},fit:{title:\"Fit\",type:ControlType.Enum,options:[\"cover\",\"contain\"],optionTitles:[\"Cover\",\"Contain\"],defaultValue:\"cover\"},radius:{title:\"Radius\",type:ControlType.Number,defaultValue:16,min:0,max:40},activeBorderColor:{title:\"Active Border\",type:ControlType.Color,defaultValue:\"#814739\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Slideshow\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Slideshow.map"],"mappings":"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"}