{"version":3,"file":"WaveGallery.CiwtBkcg.mjs","names":["React.useMemo","React.useState","React.useRef"],"sources":["https:/framerusercontent.com/modules/7nIhUsVbFnbXfENriazb/kWLnZAuiGA86a9GHZ45C/WaveGallery.js"],"sourcesContent":["// Dual ticker gallery with mirrored wave effect and property controls for images, size, corners, directions, center distance, orientation, frequency, wave height, speed, and more.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";// The default image arrays for both tickers\nconst lowRes=\"&w=256&q=40&auto=format&fit=facearea\"// Use Unsplash low-res params\n;const defaultImages=[{src:\"https://images.unsplash.com/photo-1523275335684-37898b6baf30?fit=facearea&w=256&q=40\",alt:\"Image 1\"},{src:\"https://images.unsplash.com/photo-1505740420928-5e560c06d30e?fit=facearea&w=256&q=40\",alt:\"Image 2\"},{src:\"https://images.unsplash.com/photo-1546868871-7041f2a55e12?fit=facearea&w=256&q=40\",alt:\"Image 3\"},{src:\"https://images.unsplash.com/photo-1581235720704-06d3acfcb36f?fit=facearea&w=256&q=40\",alt:\"Image 4\"},{src:\"https://images.unsplash.com/photo-1580870069867-74c57ee1bb07?fit=facearea&w=256&q=40\",alt:\"Image 5\"},{src:\"https://images.unsplash.com/photo-1524638067-feba7e8ed70f?fit=facearea&w=256&q=40\",alt:\"Image 6\"},{src:\"https://images.unsplash.com/photo-1571781926291-c477ebfd024b?fit=facearea&w=256&q=40\",alt:\"Image 7\"},{src:\"https://images.unsplash.com/photo-1615306119247-67565da835da?fit=facearea&w=256&q=40\",alt:\"Image 8\"},{src:\"https://images.unsplash.com/photo-1600185365483-26d7a4cc7519?fit=facearea&w=256&q=40\",alt:\"Image 9\"},{src:\"https://images.unsplash.com/photo-1555487505-8603a1a69755?fit=facearea&w=256&q=40\",alt:\"Image 10\"}];const defaultTicker2Images=[...defaultImages];function getImageSrc(image){// Prefer ResponsiveImage prop (for plugin or upload)\nif(image&&image.responsiveImage&&image.responsiveImage.src)return image.responsiveImage.src;// Accept plugin/file upload via file prop (legacy)\nif(image&&image.file)return image.file;// Accept bare src string\nif(image&&image.src)return image.src;return\"\";}function getImageAlt(image){if(image&&image.responsiveImage&&image.responsiveImage.alt)return image.responsiveImage.alt;if(image&&typeof image.alt===\"string\")return image.alt;return\"Image\";}function Ticker({images,imageSize,cornerRadius,waveFreq,waveHeight,isMirrored,orientation,direction,animationOffset,tickerGap,aspectRatio=\"4:4\",flipDirection,containerDims,sizeUnit=\"px\"}){const isHorizontal=orientation===\"horizontal\";// Aspect ratio normalization\nconst aspectMap={\"9:16\":9/16,\"3:4\":3/4,\"4:4\":1,\"4:3\":4/3,\"16:9\":16/9};const aspect=aspectMap[aspectRatio]||1;// Calculate actual pixel size based on unit type\nconst actualImageSize=React.useMemo(()=>{if(sizeUnit===\"%\"){// Use percentage of the smaller container dimension\nconst refDimension=Math.min(containerDims.width,containerDims.height);return refDimension*imageSize/100;}return imageSize;},[sizeUnit,imageSize,containerDims]);const repeatImages=React.useMemo(()=>images.length<1?[]:[...images,...images],[images]);let movementDirection=direction===\"same\"?1:isMirrored?-1:1;if(flipDirection)movementDirection*=-1;// Correct ticker length for wrapping\nconst tickerDisplayLength=images.length*(actualImageSize+tickerGap)*2;// Calculate Ticker dimensions\nlet tickerWidth=isHorizontal?containerDims.width:actualImageSize*aspect;let tickerHeight=isHorizontal?actualImageSize:containerDims.height;return /*#__PURE__*/_jsx(\"div\",{style:{width:tickerWidth,height:tickerHeight,position:\"relative\",pointerEvents:\"none\"},children:repeatImages.map((img,idx)=>{const src=getImageSrc(img);const alt=getImageAlt(img);let travelPos=(idx*(actualImageSize+tickerGap)+animationOffset*movementDirection)%tickerDisplayLength;if(travelPos<0)travelPos+=tickerDisplayLength;const phase=travelPos/tickerDisplayLength;const theta=2*Math.PI*waveFreq*phase;const wave=Math.sin(theta)*waveHeight*(isMirrored?-1:1);const x=isHorizontal?travelPos-(actualImageSize+tickerGap)*images.length/2:wave;const y=isHorizontal?wave:travelPos-(actualImageSize+tickerGap)*images.length/2;// Width/height calculation\nlet w;let h;if(aspectRatio===\"Custom\"){// Let the browser use the intrinsic image aspect ratio\nif(isHorizontal){w=actualImageSize;h=\"auto\";}else{w=\"auto\";h=actualImageSize;}}else{const itemAspect=aspect;w=isHorizontal?actualImageSize:actualImageSize*itemAspect;h=isHorizontal?actualImageSize/itemAspect:actualImageSize;}if(!src){return /*#__PURE__*/_jsx(\"div\",{style:{width:typeof w===\"number\"?w:actualImageSize,height:typeof h===\"number\"?h:actualImageSize,borderRadius:cornerRadius,position:\"absolute\",left:isHorizontal?0:tickerWidth/2,top:isHorizontal?tickerHeight/2:0,transform:`translate(-50%, -50%) translate(${x}px, ${y}px)`,willChange:\"transform\",backgroundColor:\"#f0f0f0\",border:\"2px dashed #d0d0d0\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",fontSize:\"12px\",color:\"#999\"},children:/*#__PURE__*/_jsxs(\"svg\",{width:\"24\",height:\"24\",viewBox:\"0 0 24 24\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",children:[/*#__PURE__*/_jsx(\"rect\",{x:\"3\",y:\"3\",width:\"18\",height:\"18\",rx:\"2\",stroke:\"#999\",strokeWidth:\"2\"}),/*#__PURE__*/_jsx(\"circle\",{cx:\"8.5\",cy:\"8.5\",r:\"1.5\",fill:\"#999\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M3 15L8 10L12 14L16 10L21 15V19C21 20.1046 20.1046 21 19 21H5C3.89543 21 3 20.1046 3 19V15Z\",fill:\"#999\"})]})},idx);}return /*#__PURE__*/_jsx(\"img\",{src:src,alt:alt,style:{width:w,height:h,borderRadius:cornerRadius,objectFit:\"cover\",position:\"absolute\",left:isHorizontal?0:tickerWidth/2,top:isHorizontal?tickerHeight/2:0,transform:`translate(-50%, -50%) translate(${x}px, ${y}px)`,willChange:\"transform\"},draggable:false},idx);})});}/**\n * WaveGallery Fully Responsive, Default 800x800px\n *\n * @framerIntrinsicWidth 800\n * @framerIntrinsicHeight 800\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function WaveGallery(props){const{ticker1Images=defaultImages,ticker2Images=defaultTicker2Images,aspectRatio=\"4:4\",imageSize={unit:\"px\",value:64},cornerRadius=8,orientation=\"horizontal\",direction=\"opposite\",flipDirection=false,centerDistance=25,waveFreq=2.5,waveHeight=40,speed=3,tickerGap=25,backgroundColor=\"#ffffff\",style={},advanced={}}=props;const tickerOnTop=advanced.tickerOnTop||\"ticker1\";const isHorizontal=orientation===\"horizontal\";const[offset,setOffset]=React.useState(0);const isStatic=useIsStaticRenderer();// Responsive container size\nconst containerRef=React.useRef(null);const[container,setContainer]=React.useState({width:800,height:800});React.useEffect(()=>{if(isStatic){setContainer({width:800,height:800});return;}const update=()=>{if(!containerRef.current)return;const rect=containerRef.current.getBoundingClientRect();setContainer({width:rect.width,height:rect.height});};update();window.addEventListener(\"resize\",update);return()=>window.removeEventListener(\"resize\",update);},[isStatic]);// Animation loop\nReact.useEffect(()=>{if(isStatic)return;let running=true;let animFrame=null;let lastTimestamp=0;const animate=ts=>{if(!running)return;if(!lastTimestamp)lastTimestamp=ts;const dt=Math.min(32,ts-lastTimestamp);lastTimestamp=ts;setOffset(prev=>(prev+dt*speed*.03)%99999);animFrame=requestAnimationFrame(animate);};animFrame=requestAnimationFrame(animate);return()=>{running=false;if(animFrame)cancelAnimationFrame(animFrame);};},[speed,isStatic]);// Center tickers at distance\nconst aspectMap={\"9:16\":9/16,\"3:4\":3/4,\"4:4\":1,\"4:3\":4/3,\"16:9\":16/9};const aspect=aspectMap[aspectRatio]||1;const centerOffset=isHorizontal?container.height*centerDistance/100:container.width*centerDistance/100;// Calculate actual pixel size for positioning\nconst actualImageSize=React.useMemo(()=>{if(imageSize.unit===\"%\"){const refDimension=Math.min(container.width,container.height);return refDimension*imageSize.value/100;}return imageSize.value;},[imageSize,container]);return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{width:\"100%\",height:\"100%\",position:\"relative\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\",overflow:\"hidden\",background:backgroundColor,...style},children:[tickerOnTop===\"ticker1\"&&/*#__PURE__*/_jsx(\"div\",{style:isHorizontal?{position:\"absolute\",left:0,top:`calc(50% + ${centerOffset}px)`,width:\"100%\",height:actualImageSize,transform:\"translateY(-50%)\"}:{position:\"absolute\",top:0,left:`calc(50% + ${centerOffset}px)`,width:actualImageSize,height:\"100%\",transform:\"translateX(-50%)\"},children:/*#__PURE__*/_jsx(Ticker,{images:ticker2Images,imageSize:imageSize.value,cornerRadius:cornerRadius,waveFreq:waveFreq,waveHeight:waveHeight,isMirrored:true,orientation:orientation,direction:direction,animationOffset:offset,tickerGap:tickerGap,aspectRatio:aspectRatio,flipDirection:flipDirection,containerDims:container,sizeUnit:imageSize.unit})}),/*#__PURE__*/_jsx(\"div\",{style:isHorizontal?{position:\"absolute\",left:0,top:`calc(50% - ${centerOffset}px)`,width:\"100%\",height:actualImageSize,transform:\"translateY(-50%)\"}:{position:\"absolute\",top:0,left:`calc(50% - ${centerOffset}px)`,width:actualImageSize,height:\"100%\",transform:\"translateX(-50%)\"},children:/*#__PURE__*/_jsx(Ticker,{images:ticker1Images,imageSize:imageSize.value,cornerRadius:cornerRadius,waveFreq:waveFreq,waveHeight:waveHeight,isMirrored:false,orientation:orientation,direction:direction,animationOffset:offset,tickerGap:tickerGap,aspectRatio:aspectRatio,flipDirection:flipDirection,containerDims:container,sizeUnit:imageSize.unit})}),tickerOnTop===\"ticker2\"&&/*#__PURE__*/_jsx(\"div\",{style:isHorizontal?{position:\"absolute\",left:0,top:`calc(50% + ${centerOffset}px)`,width:\"100%\",height:actualImageSize,transform:\"translateY(-50%)\"}:{position:\"absolute\",top:0,left:`calc(50% + ${centerOffset}px)`,width:actualImageSize,height:\"100%\",transform:\"translateX(-50%)\"},children:/*#__PURE__*/_jsx(Ticker,{images:ticker2Images,imageSize:imageSize.value,cornerRadius:cornerRadius,waveFreq:waveFreq,waveHeight:waveHeight,isMirrored:true,orientation:orientation,direction:direction,animationOffset:offset,tickerGap:tickerGap,aspectRatio:aspectRatio,flipDirection:flipDirection,containerDims:container,sizeUnit:imageSize.unit})})]});}addPropertyControls(WaveGallery,{ticker1Images:{type:ControlType.Array,title:\"Ticker 1 Images\",control:{type:ControlType.Object,controls:{src:{type:ControlType.String,title:\"Image URL\",placeholder:\"Paste or upload image URL…\"},alt:{type:ControlType.String,title:\"Alt Text\",placeholder:\"Alt text…\",defaultValue:\"Image\"},responsiveImage:{type:ControlType.ResponsiveImage,title:\"Image\"}}},defaultValue:defaultImages,maxCount:20},ticker2Images:{type:ControlType.Array,title:\"Ticker 2 Images\",control:{type:ControlType.Object,controls:{src:{type:ControlType.String,title:\"Image URL\",placeholder:\"Paste or upload image URL…\"},alt:{type:ControlType.String,title:\"Alt Text\",placeholder:\"Alt text…\",defaultValue:\"Image\"},responsiveImage:{type:ControlType.ResponsiveImage,title:\"Image\"}}},defaultValue:defaultTicker2Images,maxCount:20},aspectRatio:{type:ControlType.Enum,title:\"Aspect Ratio\",options:[\"9:16\",\"3:4\",\"4:4\",\"4:3\",\"16:9\",\"Custom\"],optionTitles:[\"9:16\",\"3:4\",\"1:1\",\"4:3\",\"16:9\",\"Custom\"],defaultValue:\"4:4\"},imageSize:{type:ControlType.Object,title:\"Image Size\",controls:{unit:{type:ControlType.Enum,title:\"Unit\",options:[\"px\",\"%\"],optionTitles:[\"Fixed (px)\",\"Relative (%)\"],defaultValue:\"px\"},value:{type:ControlType.Number,title:\"Size\",defaultValue:64}},defaultValue:{unit:\"px\",value:64}},cornerRadius:{type:ControlType.Number,title:\"Corner Radius\",defaultValue:8,min:0,max:100,unit:\"px\"},tickerGap:{type:ControlType.Number,title:\"Image Gap\",defaultValue:25,min:0,max:100,unit:\"px\"},orientation:{type:ControlType.Enum,title:\"Orientation\",options:[\"horizontal\",\"vertical\"],optionTitles:[\"Horizontal\",\"Vertical\"],defaultValue:\"horizontal\"},direction:{type:ControlType.Enum,title:\"Direction\",options:[\"same\",\"opposite\"],optionTitles:[\"Same\",\"Opposite\"],defaultValue:\"opposite\"},flipDirection:{type:ControlType.Boolean,title:\"Flip Direction\",defaultValue:false},centerDistance:{type:ControlType.Number,title:\"Distance from Center\",defaultValue:25,min:0,max:50,unit:\"%\"},waveHeight:{type:ControlType.Number,title:\"Wave Height\",defaultValue:40,min:0,max:120,unit:\"px\"},waveFreq:{type:ControlType.Number,title:\"Wave Frequency\",defaultValue:2.5,min:0,max:7,step:.1},speed:{type:ControlType.Number,title:\"Speed\",defaultValue:3,min:0,max:10},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#ffffff\"},advanced:{type:ControlType.Object,title:\"Advanced\",controls:{tickerOnTop:{type:ControlType.Enum,title:\"Overlap Control\",description:\"Select which ticker appears on top when overlapping.\",options:[\"ticker1\",\"ticker2\"],optionTitles:[\"Ticker 1\",\"Ticker 2\"],defaultValue:\"ticker2\"}},defaultValue:{}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"WaveGallery\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"800\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"800\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./WaveGallery.map"],"mappings":"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"}