{"version":3,"file":"ParallaxMedia.BC_FEpRe.mjs","names":["useRef","_Fragment","Children","React.useRef","React.useState","FramerImage"],"sources":["https:/framerusercontent.com/modules/bSeEZJm22jsjERCOGQvq/crq5K3ZDvRSa1euf8yEU/Lenis.js","https:/framerusercontent.com/modules/dOr1DZz91gvDyvb3gfWj/U9md0vCwflfMAVwkMUhV/ParallaxMedia.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import Lenis from\"https://unpkg.com/lenis@1.3.17-framer/dist/lenis.mjs\";import Snap from\"https://unpkg.com/lenis@1.3.17-framer/dist/lenis-snap.mjs\";import{useEffect,useRef,Children,isValidElement,cloneElement}from\"react\";/**\n * @framerSupportedLayoutHeight any\n * @framerSupportedLayoutWidth any\n * @framerDisableUnlink\n */export default function Component({smooth,infinite,orientation,intensity,children,snap}){const wrapperRef=useRef();const contentRef=useRef();const lenisRef=useRef();useEffect(()=>{if(children&&(!wrapperRef.current||!contentRef.current))return;if(wrapperRef.current&&contentRef.current){if(orientation===\"horizontal\"){wrapperRef.current.style.setProperty(\"overflowX\",\"auto\");}else{wrapperRef.current.style.setProperty(\"overflowY\",\"auto\");}}const lenis=new Lenis({smoothWheel:smooth,// duration: intensity / 10,\ninfinite,orientation,gestureOrientation:orientation===\"horizontal\"?\"both\":\"vertical\",autoRaf:true,autoToggle:true,anchors:true,allowNestedScroll:true,wrapper:wrapperRef.current,content:contentRef.current,syncTouch:Boolean(infinite)||orientation===\"horizontal\"});lenisRef.current=lenis;let lenisSnap;if(snap&&snap.snaps.length>0){lenisSnap=new Snap(lenis,{type:snap.type,distanceThreshold:snap.threshold+\"%\"});snap.snaps.forEach(item=>{if(!item.target?.current)return;const id=item.target.current.id;// workaround when content is duplicated by LenisSeamlessInfinite\nconst elements=document.querySelectorAll(`#${id}`);elements.forEach(element=>{lenisSnap.addElement(element,{align:item.align});});});}window.lenis=lenis;window.lenisSnap=snap;return()=>{if(lenis)lenis.destroy();if(lenisSnap)lenisSnap.destroy();};},[smooth,infinite,orientation,intensity,children,snap]);useEffect(()=>{function onClick(event){const path=event.composedPath();const pageLink=path.find(node=>node instanceof HTMLAnchorElement&&(node.getAttribute(\"href\")?.startsWith(\"./\")||node.getAttribute(\"href\")?.startsWith(\"../\")));if(pageLink){if(lenisRef.current){lenisRef.current.reset();}}}window.addEventListener(\"click\",onClick);return()=>{window.removeEventListener(\"click\",onClick);};},[]);return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"link\",{href:\"https://unpkg.com/lenis@1.3.17-framer/dist/lenis.css\",rel:\"stylesheet\"}),children&&/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(\"div\",{ref:wrapperRef,style:orientation===\"horizontal\"?{overflowX:\"auto\",width:\"100%\"}:{overflowY:\"auto\",height:\"100%\"},children:/*#__PURE__*/_jsx(\"div\",{ref:contentRef,style:{width:\"100%\"},children:Children.map(children,child=>/*#__PURE__*/isValidElement(child)?/*#__PURE__*/cloneElement(child,{style:{...child.props.style,width:\"100%\"}}):child)})})})]});}Component.displayName=\"Lenis\";addPropertyControls(Component,{smooth:{type:ControlType.Boolean,title:\"Smooth\",defaultValue:true},intensity:{type:ControlType.Number,title:\"Intensity\",defaultValue:12,step:1,min:1,max:100,hidden(props){return props.smooth===false;},description:\"This will be ignored on mobile.\"},infinite:{type:ControlType.Boolean,title:\"Infinite\",defaultValue:false,hidden(props){return props.smooth===false;}},orientation:{type:ControlType.Enum,defaultValue:\"Vertical\",displaySegmentedControl:true,options:[\"vertical\",\"horizontal\"],optionTitles:[\"Vertical\",\"Horizontal\"],hidden(props){return props.smooth===false;}},children:{type:ControlType.ComponentInstance,title:\"Content\"},snap:{type:ControlType.Object,optional:true,description:\"Cooked and served by [darkroom.engineering](https://darkroom.engineering).\",controls:{type:{type:ControlType.Enum,defaultValue:\"proximity\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\",options:[\"proximity\",\"mandatory\",\"lock\"],optionTitles:[\"Proximity\",\"Mandatory\",\"Lock\"]},threshold:{type:ControlType.Number,defaultValue:50,min:0,max:100,unit:\"%\",hidden:props=>{return props.snap.type===\"mandatory\";}},snaps:{type:ControlType.Array,control:{type:ControlType.Object,controls:{target:{title:\"Target\",type:ControlType.ScrollSectionRef},align:{type:ControlType.Enum,defaultValue:\"center\",displaySegmentedControl:true,segmentedControlDirection:\"horizontal\",options:[\"start\",\"center\",\"end\"],optionIcons:[\"align-top\",\"align-middle\",\"align-bottom\"]}}}}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Component\",\"slots\":[\"children\"],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any\",\"framerDisableUnlink\":\"\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Lenis.map","// ParallaxMedia.tsx\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{motion,useScroll,useTransform,addPropertyControls,ControlType,Image as FramerImage}from\"framer\";const clamp=(v,min,max)=>Math.max(min,Math.min(max,v));export default function ParallaxMedia({sourceType=\"image\",image,videoUrl=\"\",videoFile=\"\",alt=\"\",direction=\"vertical\",invert=false,radius=0,focalX=50,focalY=50,parallax=25,autoplay=true,loop=true,muted=true,controls=false}){const ref=React.useRef(null);const[size,setSize]=React.useState({width:0,height:0});React.useLayoutEffect(()=>{if(!ref.current||typeof ResizeObserver===\"undefined\")return;const ro=new ResizeObserver(entries=>{const r=entries[0].contentRect;setSize({width:r.width,height:r.height});});ro.observe(ref.current);return()=>ro.disconnect();},[]);const{scrollYProgress}=useScroll({target:ref,offset:[\"start end\",\"end start\"]});// Parallax travel\nconst base=direction===\"vertical\"?size.height:size.width;const pct=clamp(parallax,5,60)/100;const desiredOverflow=base>0?clamp(base*pct,40,480):0;const scale=base>0?1+desiredOverflow/Math.max(base,1):1.2;const overflow=Math.max(base,1)*(scale-1);const from=invert?overflow/2:-overflow/2;const to=invert?-overflow/2:overflow/2;const mv=useTransform(scrollYProgress,[0,1],[from,to]);const transformOrigin=`${clamp(focalX??50,0,100)}% ${clamp(focalY??50,0,100)}%`;// Resolve media\nconst resolvedVideo=videoFile&&videoFile.trim()||videoUrl&&videoUrl.trim()||\"\";const hasVideo=resolvedVideo!==\"\";const imageStr=typeof image===\"string\"?image.trim():\"\";const isImageString=imageStr!==\"\";const isImageObject=!!image&&!isImageString;const wantVideo=sourceType===\"video\";const renderVideo=wantVideo&&hasVideo||!isImageString&&!isImageObject&&hasVideo;const renderImage=!renderVideo&&(isImageString||isImageObject);// Stable key helps remount when switching object ↔ string\nconst mediaKey=renderVideo?`vid:${resolvedVideo}`:isImageObject?`imgobj:${image?.id??image?.hash??image?.key??\"asset\"}`:isImageString?`imgstr:${imageStr}`:\"none\";return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{position:\"relative\",width:\"100%\",height:\"100%\",overflow:\"hidden\",borderRadius:radius},children:renderVideo||renderImage?/*#__PURE__*/_jsx(motion.div,{style:{position:\"absolute\",inset:0,x:direction===\"horizontal\"?mv:0,y:direction===\"vertical\"?mv:0,scale,transformOrigin,willChange:\"transform\"},children:renderVideo?/*#__PURE__*/_jsx(\"video\",{src:resolvedVideo,autoPlay:autoplay,loop:loop,muted:muted,controls:controls,playsInline:true,style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:\"cover\",objectPosition:`${focalX}% ${focalY}%`}}):isImageObject?// ✅ Variable-bound images render here in Preview & Canvas\n/*#__PURE__*/_jsx(FramerImage,{image:image,alt:alt,fit:\"cover\",position:`${focalX}% ${focalY}%`,style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\"}}):// ✅ Direct uploads (string URL) render here\n/*#__PURE__*/_jsx(\"img\",{src:imageStr,alt:alt,draggable:false,style:{position:\"absolute\",inset:0,width:\"100%\",height:\"100%\",objectFit:\"cover\",objectPosition:`${focalX}% ${focalY}%`,pointerEvents:\"none\"}})},mediaKey):// Empty state\n/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",inset:0,display:\"flex\",flexDirection:\"column\",justifyContent:\"center\",alignItems:\"center\",background:\"#0f0b1f\",color:\"#b99cff\",padding:\"clamp(12px, 4vw, 24px)\",textAlign:\"center\",gap:\"clamp(12px, 2vw, 16px)\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:\"clamp(14px, 2vw, 18px)\",fontWeight:600},children:\"ParallaxMedia\"}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:\"clamp(12px, 1.6vw, 14px)\",opacity:.8,maxWidth:\"min(90%, 420px)\",lineHeight:1.45},children:\"Add an Image or Video in the right panel to enable the parallax effect. Adjust Parallax (%), Direction, and Focal Point.\"}),/*#__PURE__*/_jsx(\"a\",{href:\"https://www.lavidesign.studio/\",target:\"_blank\",rel:\"noopener noreferrer\",style:{position:\"absolute\",bottom:12,fontSize:12,opacity:.6,textDecoration:\"none\",color:\"#b99cff\",transition:\"opacity 0.2s ease\"},onMouseEnter:e=>e.currentTarget.style.opacity=\"1\",onMouseLeave:e=>e.currentTarget.style.opacity=\"0.6\",children:\"Made by Lavi\"})]})});}ParallaxMedia.defaultProps={width:1200,height:600,sourceType:\"image\",image:undefined,videoUrl:\"\",videoFile:\"\",alt:\"\",direction:\"vertical\",invert:false,radius:0,focalX:50,focalY:50,parallax:25,autoplay:true,loop:true,muted:true,controls:false};addPropertyControls(ParallaxMedia,{sourceType:{type:ControlType.SegmentedEnum,title:\"Media\",options:[\"image\",\"video\"],optionTitles:[\"Image\",\"Video\"]},image:{type:ControlType.Image,title:\"Image\",hidden:p=>p.sourceType!==\"image\"},alt:{type:ControlType.String,title:\"Alt\",hidden:p=>p.sourceType!==\"image\"},videoUrl:{type:ControlType.String,title:\"Video (URL)\",placeholder:\"https://your.cdn/video.mp4\",hidden:p=>p.sourceType!==\"video\"},videoFile:{type:ControlType.File,title:\"Video (Upload)\",allowedFileTypes:[\"mp4\",\"webm\",\"ogg\",\"mov\"],hidden:p=>p.sourceType!==\"video\",description:\"Upload overrides URL if both are set.\"},direction:{type:ControlType.SegmentedEnum,title:\"Direction\",options:[\"vertical\",\"horizontal\"],optionTitles:[\"Vertical\",\"Horizontal\"]},invert:{type:ControlType.Boolean,title:\"Invert\"},radius:{type:ControlType.Number,title:\"Radius\",min:0,max:64,step:1},focalX:{type:ControlType.Number,title:\"Focal X\",min:0,max:100,step:1},focalY:{type:ControlType.Number,title:\"Focal Y\",min:0,max:100,step:1},parallax:{type:ControlType.Number,title:\"Parallax (%)\",min:5,max:60,step:1,displayStepper:true},autoplay:{type:ControlType.Boolean,title:\"Autoplay\",hidden:p=>p.sourceType!==\"video\"},loop:{type:ControlType.Boolean,title:\"Loop\",hidden:p=>p.sourceType!==\"video\"},muted:{type:ControlType.Boolean,title:\"Muted\",hidden:p=>p.sourceType!==\"video\"},controls:{type:ControlType.Boolean,title:\"Controls\",hidden:p=>p.sourceType!==\"video\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ParallaxMedia\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ParallaxMedia.map"],"mappings":"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"}