{"version":3,"file":"Videos3DStack.ConnnddZ.mjs","names":["useState","useRef","useCallback","startTransition"],"sources":["https:/framerusercontent.com/modules/fijMa4iwKqbWOvaexTDM/rjwV6FNLjRX7EM7tclrp/Videos3DStack.js"],"sourcesContent":["// Videos3DStack - Framer version (video-only 3D stack, no image option)\n// Implements a vertical 3D video stack with scroll/drag navigation, adapted from the provided VerticalImageStack code\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useCallback,useEffect,useRef,startTransition}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{motion}from\"framer-motion\";// Add inView detection for videos\nimport{useInView}from\"framer-motion\";const defaultVideos=[{video:\"https://framerusercontent.com/assets/MLWPbW1dUQawJLhhun3dBwpgJak.mp4\",url:\"\",alt:\"Luxury sneaker video showcase\",preview:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\"},{video:\"https://framerusercontent.com/assets/MLWPbW1dUQawJLhhun3dBwpgJak.mp4\",url:\"\",alt:\"Minimalist sneaker video\",preview:\"https://framerusercontent.com/images/aNsAT3jCvt4zglbWCUoFe33Q.jpg\"},{video:\"https://framerusercontent.com/assets/MLWPbW1dUQawJLhhun3dBwpgJak.mp4\",url:\"\",alt:\"Navy blue sneaker video\",preview:\"https://framerusercontent.com/images/BYnxEV1zjYb9bhWh1IwBZ1ZoS60.jpg\"}];/**\n * 3D Vertical Video Stack - Framer port (videos only)\n *\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 350\n * @framerIntrinsicHeight 520\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function Videos3DStack(props){const{videos=defaultVideos,backgroundColor=\"#f5f5f7\",foregroundColor=\"#222222\",borderColor=\"#222222\",cardRadius=32,cardBorder={borderWidth:1,borderStyle:\"solid\",borderColor:\"#222222\"},cardShadow=true,instructionFont={fontSize:\"12px\",variant:\"Medium\",letterSpacing:0,lineHeight:\"1.1em\"},showCounter=true,countFont={fontSize:16,variant:\"Medium\",letterSpacing:0,lineHeight:\"1.2em\"},style,orientation:controlledOrientation=\"vertical\",currentIndex:controlledIndex,navigationCooldown:controlledCooldown,switchButtonOptions={},cardSize={width:320,height:420},navigationDelay=400,spacing=8,dot={},hoverEffect={}}=props;const[currentIndex,setCurrentIndex]=useState(controlledIndex??0);const[orientation,setOrientation]=useState(controlledOrientation);const lastNavigationTime=useRef(0);const navigationCooldown=controlledCooldown??navigationDelay??400;const isStatic=useIsStaticRenderer();const navigate=useCallback(newDirection=>{const now=Date.now();if(now-lastNavigationTime.current<navigationCooldown)return;lastNavigationTime.current=now;startTransition(()=>{setCurrentIndex(prev=>{if(newDirection>0){return prev===videos.length-1?0:prev+1;}return prev===0?videos.length-1:prev-1;});});},[videos.length,navigationCooldown]);const handleDragEnd=(_e,info)=>{const threshold=50;if(orientation===\"horizontal\"){if(info?.offset?.x<-threshold){navigate(1);}else if(info?.offset?.x>threshold){navigate(-1);}}else{if(info?.offset?.y<-threshold){navigate(1);}else if(info?.offset?.y>threshold){navigate(-1);}}};const handleWheel=useCallback(e=>{if(orientation===\"horizontal\"){if(Math.abs(e.deltaX)>30){if(e.deltaX>0){navigate(1);}else{navigate(-1);}}}else{if(Math.abs(e.deltaY)>30){if(e.deltaY>0){navigate(1);}else{navigate(-1);}}}},[navigate,orientation]);useEffect(()=>{if(isStatic)return;if(typeof window!==\"undefined\"){window.addEventListener(\"wheel\",handleWheel,{passive:true});return()=>window.removeEventListener(\"wheel\",handleWheel);}},[handleWheel,isStatic]);// Allow scroll both vertically and horizontally always\nconst originalHandleWheel=handleWheel;useEffect(()=>{if(isStatic)return;if(typeof window!==\"undefined\"){const handler=e=>{let handled=false;if(Math.abs(e.deltaY)>30){if(e.deltaY>0)navigate(1);else navigate(-1);handled=true;}if(Math.abs(e.deltaX)>30){if(e.deltaX>0)navigate(1);else navigate(-1);handled=true;}if(handled)e.preventDefault?.();};window.addEventListener(\"wheel\",handler,{passive:false});return()=>window.removeEventListener(\"wheel\",handler);}},[navigate,isStatic]);// Use orientation for stack\nconst getCardStyle=index=>{const total=videos.length;let diff=index-currentIndex;if(diff>total/2)diff-=total;if(diff<-total/2)diff+=total;if(orientation===\"horizontal\"){if(diff===0){return{x:0,scale:1,opacity:1,zIndex:5,rotateY:0};}else if(diff===-1){return{x:-1*(20*spacing),scale:.82,opacity:.6,zIndex:4,rotateY:8};}else if(diff===-2){return{x:-1*(35*spacing),scale:.7,opacity:.3,zIndex:3,rotateY:15};}else if(diff===1){return{x:1*(20*spacing),scale:.82,opacity:.6,zIndex:4,rotateY:-8};}else if(diff===2){return{x:1*(35*spacing),scale:.7,opacity:.3,zIndex:3,rotateY:-15};}else{return{x:diff>0?50*spacing:-50*spacing,scale:.6,opacity:0,zIndex:0,rotateY:diff>0?-20:20};}}else{if(diff===0){return{y:0,scale:1,opacity:1,zIndex:5,rotateX:0};}else if(diff===-1){return{y:-1*(20*spacing),scale:.82,opacity:.6,zIndex:4,rotateX:8};}else if(diff===-2){return{y:-1*(35*spacing),scale:.7,opacity:.3,zIndex:3,rotateX:15};}else if(diff===1){return{y:1*(20*spacing),scale:.82,opacity:.6,zIndex:4,rotateX:-8};}else if(diff===2){return{y:1*(35*spacing),scale:.7,opacity:.3,zIndex:3,rotateX:-15};}else{return{y:diff>0?50*spacing:-50*spacing,scale:.6,opacity:0,zIndex:0,rotateX:diff>0?-20:20};}}};const isVisible=index=>{const total=videos.length;let diff=index-currentIndex;if(diff>total/2)diff-=total;if(diff<-total/2)diff+=total;return Math.abs(diff)<=2;};return /*#__PURE__*/_jsxs(\"div\",{style:{...style,position:\"relative\",display:\"flex\",width:\"100%\",height:\"100%\",alignItems:\"center\",justifyContent:\"center\",overflow:\"hidden\",background:backgroundColor},role:\"region\",\"aria-label\":\"Video slider\",children:[switchButtonOptions.showSwitchButton!==false&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:16,left:16,zIndex:10,display:\"flex\",gap:10},children:/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:6},children:[/*#__PURE__*/_jsx(\"button\",{style:{...switchButtonOptions.switchButtonFont,padding:\"7px 15px\",borderRadius:switchButtonOptions.switchButtonRadius,border:\"none\",background:orientation===\"vertical\"?switchButtonOptions.switchButtonBG:switchButtonOptions.switchButtonInactiveBG,color:orientation===\"vertical\"?switchButtonOptions.switchButtonFG:switchButtonOptions.switchButtonInactiveFG,cursor:orientation===\"vertical\"?\"default\":\"pointer\",fontWeight:600,fontSize:14},tabIndex:0,\"aria-label\":\"Switch to vertical orientation\",disabled:orientation===\"vertical\",onClick:()=>{if(orientation!==\"vertical\")startTransition(()=>{setOrientation(\"vertical\");setCurrentIndex(0);});},children:\"Vertical\"}),/*#__PURE__*/_jsx(\"button\",{style:{...switchButtonOptions.switchButtonFont,padding:\"7px 15px\",borderRadius:switchButtonOptions.switchButtonRadius,border:\"none\",background:orientation===\"horizontal\"?switchButtonOptions.switchButtonBG:switchButtonOptions.switchButtonInactiveBG,color:orientation===\"horizontal\"?switchButtonOptions.switchButtonFG:switchButtonOptions.switchButtonInactiveFG,cursor:orientation===\"horizontal\"?\"default\":\"pointer\",fontWeight:600,fontSize:14},tabIndex:0,\"aria-label\":\"Switch to horizontal orientation\",disabled:orientation===\"horizontal\",onClick:()=>{if(orientation!==\"horizontal\")startTransition(()=>{setOrientation(\"horizontal\");setCurrentIndex(0);});},children:\"Horizontal\"})]})}),/*#__PURE__*/_jsx(\"div\",{style:{pointerEvents:\"none\",position:\"absolute\",left:\"50%\",top:\"50%\",transform:\"translate(-50%, -50%)\",height:600,width:600,borderRadius:\"50%\",background:`${foregroundColor}08`,filter:\"blur(60px)\"}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",display:\"flex\",height:cardSize?.height??500,width:cardSize?.width??320,alignItems:\"center\",justifyContent:\"center\",perspective:1200},children:videos.map((videoObj,index)=>{if(!isVisible(index))return null;const styleObj=getCardStyle(index);const isCurrent=index===currentIndex;// Use user-supplied or default video\nconst vidSrc=videoObj.url&&videoObj.url.trim()!==\"\"?videoObj.url:videoObj.video||defaultVideos[0].video;// Use preview image if provided for poster\nconst poster=videoObj.preview||undefined;const vidAlt=videoObj.alt||\"\";// NEW: useRef per card, track if video is in view\nconst divRef=useRef(null);const inView=useInView(divRef,{margin:\"-1% 0px -1% 0px\",amount:.5});// Video ref for imperative playing/pausing\nconst videoRef=useRef(null);useEffect(()=>{const el=videoRef.current;if(!el)return;if(isCurrent&&inView&&!isStatic){// If video is not already playing\nif(el.readyState>=2){const playPromise=el.play?.();if(playPromise&&typeof playPromise.then===\"function\"){playPromise.catch(()=>{});}}else{const handler=()=>{el.play?.();el.removeEventListener(\"loadeddata\",handler);};el.addEventListener(\"loadeddata\",handler);}}else{el.pause?.();el.currentTime=0;}},[isCurrent,inView,isStatic,vidSrc]);return /*#__PURE__*/_jsx(motion.div,{ref:divRef,style:{position:\"absolute\",cursor:isCurrent?\"grab\":\"auto\",zIndex:styleObj.zIndex,transformStyle:\"preserve-3d\",WebkitTapHighlightColor:\"transparent\"},animate:orientation===\"horizontal\"?{x:styleObj.x,scale:styleObj.scale,opacity:styleObj.opacity,rotateY:styleObj.rotateY,zIndex:styleObj.zIndex}:{y:styleObj.y,scale:styleObj.scale,opacity:styleObj.opacity,rotateX:styleObj.rotateX,zIndex:styleObj.zIndex},transition:{type:\"spring\",stiffness:300,damping:30,mass:1},drag:isCurrent&&!isStatic?orientation===\"horizontal\"?\"x\":\"y\":false,dragConstraints:orientation===\"horizontal\"?{left:0,right:0}:{top:0,bottom:0},dragElastic:.22,onDragEnd:isStatic?undefined:orientation===\"horizontal\"?(_e,info)=>{const threshold=50;if(info?.offset?.x<-threshold){navigate(1);}else if(info?.offset?.x>threshold){navigate(-1);}}:handleDragEnd,tabIndex:isCurrent?0:-1,\"aria-label\":vidAlt,children:/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",height:cardSize?.height??420,width:cardSize?.width??280,overflow:\"hidden\",borderRadius:cardRadius,background:\"#000\",boxShadow:cardShadow&&isCurrent?cardShadow:cardShadow?cardShadow:undefined,display:\"flex\",...cardBorder||{}},children:/*#__PURE__*/_jsx(motion.video,{ref:videoRef,src:vidSrc,poster:poster,alt:vidAlt,preload:\"auto\",muted:true,loop:true,playsInline:true,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\",borderRadius:cardRadius,transition:`transform ${hoverEffect?.duration??.35}s cubic-bezier(0.33, 1, 0.68, 1), filter ${hoverEffect?.duration??.35}s cubic-bezier(0.33, 1, 0.68, 1)`},initial:{scale:1,filter:hoverEffect?.grayscale??true?\"grayscale(100%)\":\"none\"},whileHover:{scale:hoverEffect?.enableZoom===false?1:hoverEffect?.zoom??1.11,filter:hoverEffect?.grayscale??true?\"grayscale(0%)\":\"none\"},transition:{duration:hoverEffect?.duration??.35,ease:\"easeOut\"},tabIndex:-1,\"aria-label\":vidAlt})})},index);})}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",right:orientation===\"horizontal\"?\"50%\":16,top:orientation===\"horizontal\"?\"auto\":\"50%\",bottom:orientation===\"horizontal\"?16:\"auto\",transform:orientation===\"horizontal\"?\"translateX(50%)\":\"translateY(-50%)\",display:\"flex\",flexDirection:orientation===\"horizontal\"?\"row\":\"column\",gap:8,zIndex:2},children:videos.map((_,index)=>/*#__PURE__*/_jsx(\"button\",{tabIndex:0,\"aria-label\":`Go to video ${index+1}`,onClick:()=>startTransition(()=>setCurrentIndex(index)),style:{width:orientation===\"horizontal\"?index===currentIndex?dot?.dotSizeActive??30:dot?.dotSize??10:dot?.dotSize??10,height:orientation===\"horizontal\"?dot?.dotSize??10:index===currentIndex?dot?.dotSizeActive??30:dot?.dotSize??10,borderRadius:5,border:\"none\",background:foregroundColor,opacity:index===currentIndex?1:.45,margin:0,padding:0,outline:\"none\",transition:\"all 0.25s\"}},index))}),showCounter&&/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",left:16,top:\"50%\",transform:\"translateY(-50%)\",zIndex:2,display:\"flex\",flexDirection:\"column\",alignItems:\"center\",fontSize:countFont.fontSize,color:foregroundColor,fontWeight:400},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:\"monospace\",fontSize:countFont.fontSize,fontWeight:300,...countFont},children:String(currentIndex+1).padStart(2,\"0\")}),/*#__PURE__*/_jsx(\"div\",{style:{height:2,width:20,background:foregroundColor,opacity:.18,margin:8}}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:16,color:foregroundColor},children:String(videos.length).padStart(2,\"0\")})]})]});}addPropertyControls(Videos3DStack,{videos:{type:ControlType.Array,title:\"Videos\",description:\"The list of videos displayed in the stack. You can reorder, add, or remove.\",control:{type:ControlType.Object,controls:{video:{type:ControlType.File,allowedFileTypes:[\"mp4\",\"webm\",\"mov\"],// Add a note about default value handling\ndescription:\"Upload a video file. If both this and Video URL are set, Video URL takes precedence.\"},url:{type:ControlType.String,defaultValue:\"\",title:\"Video URL (optional)\",description:\"Optional external video URL. Must be a direct link to a video file (mp4, webm, mov) and CORS-accessible. Overrides upload if present.\"},preview:{type:ControlType.String,defaultValue:\"\",title:\"Preview Image (poster)\",description:\"Poster image URL for video before playing.\"},alt:{type:ControlType.String,defaultValue:defaultVideos[0].alt,title:\"Alt Text\",description:\"Alt text for video accessibility.\"}}},defaultValue:defaultVideos},cardSize:{type:ControlType.Object,title:\"Card Size\",description:\"Adjust width and height of video cards.\",controls:{width:{type:ControlType.Number,title:\"Width\",description:\"Card width in px.\",defaultValue:320,min:180,max:600},height:{type:ControlType.Number,title:\"Height\",description:\"Card height in px.\",defaultValue:420,min:100,max:800}}},orientation:{type:ControlType.Enum,title:\"Orientation\",description:\"Switch between vertical or horizontal stack orientation.\",options:[\"vertical\",\"horizontal\"],optionTitles:[\"Vertical\",\"Horizontal\"],defaultValue:\"vertical\",displaySegmentedControl:true},switchButtonOptions:{type:ControlType.Object,title:\"Switch Button\",description:\"Customize the switch orientation button appearance.\",controls:{showSwitchButton:{type:ControlType.Boolean,title:\"Show Switch Button\",description:\"Show or hide the orientation switch button.\",defaultValue:true},switchButtonFont:{type:ControlType.Font,title:\"Font\",description:\"Font settings for switch orientation button.\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:14,variant:\"Semibold\",letterSpacing:0,lineHeight:\"1.1em\"}},switchButtonBG:{type:ControlType.Color,title:\"Active BG\",description:\"Background color for active orientation button.\",defaultValue:\"#222222\"},switchButtonFG:{type:ControlType.Color,title:\"Active FG\",description:\"Text color for active orientation button.\",defaultValue:\"#fff\"},switchButtonInactiveBG:{type:ControlType.Color,title:\"Inactive BG\",description:\"Background color for inactive orientation button.\",defaultValue:\"#f5f5f7\"},switchButtonInactiveFG:{type:ControlType.Color,title:\"Inactive FG\",description:\"Text color for inactive orientation button.\",defaultValue:\"#222\"},switchButtonRadius:{type:ControlType.Number,title:\"Radius\",description:\"Border radius for the switch button.\",defaultValue:8,min:0,max:40}}},backgroundColor:{type:ControlType.Color,title:\"Background\",description:\"Stack outer background color.\",defaultValue:\"#f5f5f7\"},foregroundColor:{type:ControlType.Color,title:\"Accent Color\",description:\"Accent color for highlights and navigation.\",defaultValue:\"#222222\"},cardRadius:{type:ControlType.Number,title:\"Card Radius\",description:\"Border radius for card corners.\",defaultValue:32,min:8,max:64},cardBorder:{type:ControlType.Border,title:\"Card Border\",description:\"Border style for cards, including color, width, and style.\",defaultValue:{borderWidth:1,borderStyle:\"solid\",borderColor:\"#222222\"}},cardShadow:{type:ControlType.BoxShadow,title:\"Card Shadow\",description:\"Card drop shadow style.\"},showCounter:{type:ControlType.Boolean,title:\"Show Counter\",description:\"Display the current index and total number of videos.\",defaultValue:true},countFont:{type:ControlType.Font,title:\"Counter Font\",description:\"Font settings for the video counter.\",defaultFontType:\"sans-serif\",controls:\"extended\",defaultValue:{fontSize:16,variant:\"Medium\",letterSpacing:0,lineHeight:\"1.2em\"},hidden:({showCounter})=>!showCounter},navigationDelay:{type:ControlType.Number,title:\"Navigation Delay (ms)\",description:\"Cooldown time between navigation steps (milliseconds).\",defaultValue:400,min:0,max:3e3},spacing:{type:ControlType.Number,title:\"Spacing\",description:\"Space between stack layers (cards).\",defaultValue:8,min:0,max:64},dot:{type:ControlType.Object,title:\"Dot Properties\",description:\"Customize the dot navigation indicator size and active size.\",controls:{dotSize:{type:ControlType.Number,title:\"Dot Size\",description:\"Navigation dot size for inactive state.\",defaultValue:10,min:6,max:40},dotSizeActive:{type:ControlType.Number,title:\"Active Dot Size\",description:\"Navigation dot size for current video.\",defaultValue:30,min:10,max:60}}},hoverEffect:{type:ControlType.Object,title:\"Video Hover Effect\",description:\"Customize video card hover animation, zoom, grayscale transition, and duration.\",controls:{enableZoom:{type:ControlType.Boolean,title:\"Enable Zoom\",description:\"Enable or disable video zoom on hover.\",defaultValue:true},zoom:{type:ControlType.Number,title:\"Zoom Scale\",description:\"Zoom scale for video on hover when enabled.\",defaultValue:1.11,min:1,max:1.5,step:.01,hidden:({enableZoom})=>!enableZoom},grayscale:{type:ControlType.Boolean,title:\"Grayscale to Color\",description:\"Animate from grayscale to color when hovering over videos.\",defaultValue:true},duration:{type:ControlType.Number,title:\"Transition Duration\",description:\"Duration for hover transition animations (seconds).\",defaultValue:.35,min:.1,max:2,step:.01}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Videos3DStack\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"*\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"520\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"350\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Videos3DStack.map"],"mappings":"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"}