{"version":3,"file":"AdaptiveShadowImage.BH_c_KS3.mjs","names":["React.useContext","React.useMemo","React.Fragment","useRef","React.useId","Image","useRef","useState","useMemo","useCallback","r","g","b","x","startTransition"],"sources":["https:/framerusercontent.com/modules/A4OYBW2y4eNx7FZdm6wm/lEHwywqva38Wz8eBMbDL/G9OmY6dHc.js","https:/framerusercontent.com/modules/afVWTrJNkdWD26t5qL09/G37CJoJ9P1Vj4ggJoOXd/AdaptiveShadowImage.js"],"sourcesContent":["// Generated by Framer (9aabefb)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,CycleVariantState,getLoadingLazyAtYPosition,Image,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useOnVariantChange,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const cycleOrder=[\"NSWQlax83\",\"Dhgd9UUcN\"];const serializationHash=\"framer-KnogB\";const variantClassNames={Dhgd9UUcN:\"framer-v-fqsfl4\",NSWQlax83:\"framer-v-7ky9zj\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={duration:0,type:\"tween\"};const transition2={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={End:\"Dhgd9UUcN\",Start:\"NSWQlax83\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"NSWQlax83\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"NSWQlax83\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onAppearf382t5=activeVariantCallback(async(...args)=>{await delay(()=>setVariant(CycleVariantState),2e3);});useOnVariantChange(baseVariant,{default:onAppearf382t5});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,...addPropertyOverrides({Dhgd9UUcN:{value:transition2}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-7ky9zj\",className,classNames),\"data-framer-name\":\"Start\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"NSWQlax83\",ref:refBinding,style:{...style},...addPropertyOverrides({Dhgd9UUcN:{\"data-framer-name\":\"End\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-cz5w95\",\"data-framer-name\":\"Background\",layoutDependency:layoutDependency,layoutId:\"MWrytTE2I\",style:{backgroundColor:\"var(--token-a1bbbd6e-47db-4a4a-9287-1fde5982623f, rgb(255, 255, 255))\",borderBottomLeftRadius:16,borderBottomRightRadius:16,borderTopLeftRadius:16,borderTopRightRadius:16}}),/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:16,intrinsicWidth:17,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+((componentViewport?.height||20)*.5000000000000002-9)),pixelHeight:16,pixelWidth:17,src:\"https://framerusercontent.com/images/CFeo9YNAvOOOutdGL9kOwWpT8.svg?width=17&height=16\"},className:\"framer-8r3co7\",\"data-framer-name\":\"Container\",layoutDependency:layoutDependency,layoutId:\"Hn5ulSzlT\"}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-16i293e\",\"data-framer-name\":\"Shimmer\",layoutDependency:layoutDependency,layoutId:\"ZfcMJtHxG\",style:{background:\"radial-gradient(16% 92% at -7.199999999999999% 42.6%, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0) 84%)\",mask:\"url('https://framerusercontent.com/images/CFeo9YNAvOOOutdGL9kOwWpT8.svg?width=17&height=16') alpha no-repeat center / cover add\",WebkitMask:\"url('https://framerusercontent.com/images/CFeo9YNAvOOOutdGL9kOwWpT8.svg?width=17&height=16') alpha no-repeat center / cover add\"},variants:{Dhgd9UUcN:{background:\"radial-gradient(16% 92% at 104.3% 50%, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0) 84%)\"}}})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-KnogB.framer-14kd78j, .framer-KnogB .framer-14kd78j { display: block; }\",\".framer-KnogB.framer-7ky9zj { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: 20px; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 20px; }\",\".framer-KnogB .framer-cz5w95 { flex: none; height: 12px; overflow: visible; position: relative; width: 12px; }\",\".framer-KnogB .framer-8r3co7, .framer-KnogB .framer-16i293e { flex: none; height: 18px; left: 0px; overflow: visible; position: absolute; right: 0px; top: calc(50.00000000000002% - 18px / 2); }\",\".framer-KnogB.framer-v-fqsfl4.framer-7ky9zj { aspect-ratio: 1 / 1; height: var(--framer-aspect-ratio-supported, 20px); }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 20\n * @framerIntrinsicWidth 20\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"Dhgd9UUcN\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerG9OmY6dHc=withCSS(Component,css,\"framer-KnogB\");export default FramerG9OmY6dHc;FramerG9OmY6dHc.displayName=\"Badge\";FramerG9OmY6dHc.defaultProps={height:20,width:20};addPropertyControls(FramerG9OmY6dHc,{variant:{options:[\"NSWQlax83\",\"Dhgd9UUcN\"],optionTitles:[\"Start\",\"End\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerG9OmY6dHc,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerG9OmY6dHc\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"20\",\"framerComponentViewportWidth\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerIntrinsicWidth\":\"20\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"Dhgd9UUcN\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerImmutableVariables\":\"true\",\"framerColorSyntax\":\"true\",\"framerDisplayContentsDiv\":\"false\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./G9OmY6dHc.map","// Adaptive Shadow Image Component - Creates a dynamic shadow that adapts to the colors within the uploaded image\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useState,startTransition,useCallback,useMemo}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";/**\n * Adaptive Shadow Image Component\n * \n * @framerIntrinsicWidth 300\n * @framerIntrinsicHeight 300\n * \n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function AdaptiveShadowImage(props){const{image={src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Default image\"},shadowIntensity=1,lightModeShadowIntensity=.7,darkModeShadowIntensity=1.3,useAdaptiveIntensity=true,shadowBlur=40,shadowOffset=20,shadowOpacity=.6,borderRadius=16,enableHover=true,hoverScale=1.05,hoverShadowMultiplier=1.5,performanceMode=\"balanced\"}=props;const canvasRef=useRef(null);const imageRef=useRef(null);const containerRef=useRef(null);const colorExtractionTimeoutRef=useRef();const mouseThrottleRef=useRef();const[dominantColor,setDominantColor]=useState(\"#000000\");const[isLoaded,setIsLoaded]=useState(false);const[isHovered,setIsHovered]=useState(false);const[mousePosition,setMousePosition]=useState({x:.5,y:.5});const[isDarkMode,setIsDarkMode]=useState(false);const isStatic=useIsStaticRenderer();// Theme detection\nuseEffect(()=>{if(typeof window===\"undefined\"||!useAdaptiveIntensity)return;const mediaQuery=window.matchMedia(\"(prefers-color-scheme: dark)\");const handleThemeChange=e=>{startTransition(()=>setIsDarkMode(e.matches));};// Set initial theme\nstartTransition(()=>setIsDarkMode(mediaQuery.matches));// Listen for theme changes\nmediaQuery.addEventListener(\"change\",handleThemeChange);return()=>{mediaQuery.removeEventListener(\"change\",handleThemeChange);};},[useAdaptiveIntensity]);// Performance settings based on mode\nconst performanceSettings=useMemo(()=>{switch(performanceMode){case\"high\":return{colorSampleStep:5,colorQuantization:16,mouseThrottleMs:8,colorDebounceMs:100,useGPUAcceleration:true};case\"performance\":return{colorSampleStep:20,colorQuantization:64,mouseThrottleMs:32,colorDebounceMs:300,useGPUAcceleration:false};default:return{colorSampleStep:10,colorQuantization:32,mouseThrottleMs:16,colorDebounceMs:200,useGPUAcceleration:true};}},[performanceMode]);// Debounced color extraction function\nconst extractDominantColor=useCallback(img=>{if(!canvasRef.current)return;// Clear existing timeout\nif(colorExtractionTimeoutRef.current){clearTimeout(colorExtractionTimeoutRef.current);}// Debounce color extraction\ncolorExtractionTimeoutRef.current=window.setTimeout(()=>{const canvas=canvasRef.current;const ctx=canvas.getContext(\"2d\");if(!ctx||!canvas)return;try{// Optimize canvas size for performance\nconst maxSize=performanceMode===\"performance\"?200:performanceMode===\"high\"?400:300;const aspectRatio=img.naturalWidth/img.naturalHeight;let canvasWidth,canvasHeight;if(aspectRatio>1){canvasWidth=Math.min(maxSize,img.naturalWidth);canvasHeight=canvasWidth/aspectRatio;}else{canvasHeight=Math.min(maxSize,img.naturalHeight);canvasWidth=canvasHeight*aspectRatio;}canvas.width=canvasWidth;canvas.height=canvasHeight;// Draw image to canvas\nctx.drawImage(img,0,0,canvasWidth,canvasHeight);// Get image data\nconst imageData=ctx.getImageData(0,0,canvasWidth,canvasHeight);const data=imageData.data;// Sample colors with performance-optimized step\nconst colorCounts={};const step=performanceSettings.colorSampleStep;const quantization=performanceSettings.colorQuantization;for(let i=0;i<data.length;i+=4*step){const r=data[i];const g=data[i+1];const b=data[i+2];const a=data[i+3];// Skip transparent pixels\nif(a<128)continue;// Quantize colors for better performance\nconst quantizedR=Math.floor(r/quantization)*quantization;const quantizedG=Math.floor(g/quantization)*quantization;const quantizedB=Math.floor(b/quantization)*quantization;const colorKey=`${quantizedR},${quantizedG},${quantizedB}`;colorCounts[colorKey]=(colorCounts[colorKey]||0)+1;}// Find most common color\nlet maxCount=0;let dominantRGB=\"0,0,0\";for(const[color,count]of Object.entries(colorCounts)){if(count>maxCount){maxCount=count;dominantRGB=color;}}// Convert to hex\nconst[r,g,b]=dominantRGB.split(\",\").map(Number);const hex=`#${((1<<24)+(r<<16)+(g<<8)+b).toString(16).slice(1)}`;startTransition(()=>{setDominantColor(hex);setIsLoaded(true);});}catch(error){console.warn(\"Could not extract color from image:\",error);startTransition(()=>{setDominantColor(\"#666666\");setIsLoaded(true);});}},performanceSettings.colorDebounceMs);},[performanceSettings]);useEffect(()=>{if(!image.src||isStatic){startTransition(()=>setIsLoaded(true));return;}const img=new Image;img.crossOrigin=\"anonymous\";img.onload=()=>{if(imageRef.current){extractDominantColor(img);}};img.onerror=()=>{startTransition(()=>{setDominantColor(\"#666666\");setIsLoaded(true);});};img.src=image.src;// Cleanup timeout on unmount\nreturn()=>{if(colorExtractionTimeoutRef.current){clearTimeout(colorExtractionTimeoutRef.current);}};},[image.src,isStatic,extractDominantColor]);// Throttled mouse move handler\nconst handleMouseMove=useCallback(e=>{if(!enableHover||!containerRef.current)return;// Clear existing throttle\nif(mouseThrottleRef.current){clearTimeout(mouseThrottleRef.current);}// Throttle mouse updates for performance\nmouseThrottleRef.current=window.setTimeout(()=>{if(!containerRef.current)return;const rect=containerRef.current.getBoundingClientRect();const x=(e.clientX-rect.left)/rect.width;const y=(e.clientY-rect.top)/rect.height;startTransition(()=>{setMousePosition({x:Math.max(0,Math.min(1,x)),y:Math.max(0,Math.min(1,y))});});},performanceSettings.mouseThrottleMs);},[enableHover,performanceSettings.mouseThrottleMs]);// Memoized shadow calculations for performance\nconst shadowCalculations=useMemo(()=>{// Calculate dynamic shadow offset based on cursor position\nconst dynamicShadowOffset={x:shadowOffset*(isHovered&&enableHover?hoverShadowMultiplier:1),y:shadowOffset*(isHovered&&enableHover?hoverShadowMultiplier:1)};// Use theme-specific intensity if adaptive mode is enabled\nconst baseIntensity=useAdaptiveIntensity?isDarkMode?darkModeShadowIntensity:lightModeShadowIntensity:shadowIntensity;const dynamicIntensity=isHovered&&enableHover?baseIntensity:baseIntensity;return{dynamicShadowOffset,dynamicIntensity};},[mousePosition,isHovered,enableHover,shadowOffset,hoverShadowMultiplier,shadowIntensity,useAdaptiveIntensity,isDarkMode,lightModeShadowIntensity,darkModeShadowIntensity]);// Memoized shadow styles for performance\nconst shadowStyle=useMemo(()=>{if(!isLoaded)return{};const{dynamicShadowOffset,dynamicIntensity}=shadowCalculations;const gpuAcceleration=performanceSettings.useGPUAcceleration;return{filter:`blur(${shadowBlur*(isHovered&&enableHover?hoverShadowMultiplier:1)}px)`,opacity:shadowOpacity*dynamicIntensity,transform:`translate3d(${dynamicShadowOffset.x}px, ${dynamicShadowOffset.y}px, 0) scale(${.95+dynamicIntensity*.05})`,transition:enableHover?\"all 0.15s cubic-bezier(0.4, 0, 0.2, 1)\":\"none\",willChange:gpuAcceleration&&enableHover?\"transform, opacity, filter\":\"auto\",backfaceVisibility:\"hidden\",perspective:gpuAcceleration?1e3:\"none\"};},[isLoaded,shadowCalculations,shadowBlur,shadowOpacity,isHovered,enableHover,hoverShadowMultiplier,performanceSettings.useGPUAcceleration]);const coloredShadowStyle=useMemo(()=>{if(!isLoaded)return{};const{dynamicShadowOffset,dynamicIntensity}=shadowCalculations;const gpuAcceleration=performanceSettings.useGPUAcceleration;return{backgroundColor:dominantColor,borderRadius:`${borderRadius}px`,filter:`blur(${shadowBlur*.8*(isHovered&&enableHover?hoverShadowMultiplier:1)}px)`,opacity:shadowOpacity*dynamicIntensity*.3,transform:`translate3d(${dynamicShadowOffset.x*.7}px, ${dynamicShadowOffset.y*.7}px, 0) scale(${.9+dynamicIntensity*.1})`,transition:enableHover?\"all 0.15s cubic-bezier(0.4, 0, 0.2, 1)\":\"none\",willChange:gpuAcceleration&&enableHover?\"transform, opacity, filter\":\"auto\",backfaceVisibility:\"hidden\"};},[isLoaded,shadowCalculations,dominantColor,borderRadius,shadowBlur,shadowOpacity,isHovered,enableHover,hoverShadowMultiplier,performanceSettings.useGPUAcceleration]);// Cleanup throttle timeout on unmount\nuseEffect(()=>{return()=>{if(mouseThrottleRef.current){clearTimeout(mouseThrottleRef.current);}};},[]);return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{position:\"relative\",width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",cursor:enableHover?\"pointer\":\"default\",transform:isHovered&&enableHover?`scale3d(${hoverScale}, ${hoverScale}, 1)`:\"scale3d(1, 1, 1)\",transition:enableHover?\"transform 0.3s cubic-bezier(0.4, 0, 0.2, 1)\":\"none\",willChange:performanceSettings.useGPUAcceleration&&enableHover?\"transform\":\"auto\",backfaceVisibility:\"hidden\",...props.style},onMouseEnter:()=>enableHover&&startTransition(()=>setIsHovered(true)),onMouseLeave:()=>{if(enableHover){startTransition(()=>{setIsHovered(false);setMousePosition({x:.5,y:.5});});}},onMouseMove:handleMouseMove,children:[/*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,style:{display:\"none\"},\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",backgroundImage:`url(${image.src})`,backgroundSize:\"cover\",backgroundPosition:\"center\",backgroundRepeat:\"no-repeat\",borderRadius:`${borderRadius}px`,zIndex:1,...shadowStyle},\"aria-hidden\":\"true\"}),isLoaded&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",zIndex:0,...coloredShadowStyle},\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsx(\"img\",{ref:imageRef,src:image.src,alt:image.alt,style:{position:\"relative\",width:\"100%\",height:\"100%\",objectFit:\"cover\",borderRadius:`${borderRadius}px`,zIndex:2,transition:enableHover?\"all 0.3s cubic-bezier(0.4, 0, 0.2, 1)\":\"none\",willChange:performanceSettings.useGPUAcceleration&&enableHover?\"transform\":\"auto\",backfaceVisibility:\"hidden\"},onLoad:e=>{if(!isStatic){extractDominantColor(e.currentTarget);}}})]});}addPropertyControls(AdaptiveShadowImage,{image:{type:ControlType.ResponsiveImage,title:\"Image\"},shadowIntensity:{type:ControlType.Number,title:\"Shadow Intensity\",defaultValue:1,min:0,max:2,step:.1},shadowBlur:{type:ControlType.Number,title:\"Shadow Blur\",defaultValue:40,min:0,max:100,step:1,unit:\"px\"},shadowOffset:{type:ControlType.Number,title:\"Shadow Offset\",defaultValue:20,min:0,max:50,step:1,unit:\"px\"},shadowOpacity:{type:ControlType.Number,title:\"Shadow Opacity\",defaultValue:.6,min:0,max:1,step:.1},borderRadius:{type:ControlType.Number,title:\"Border Radius\",defaultValue:16,min:0,max:50,step:1,unit:\"px\"},enableHover:{type:ControlType.Boolean,title:\"Enable Hover\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},hoverScale:{type:ControlType.Number,title:\"Hover Scale\",defaultValue:1.05,min:1,max:1.2,step:.01,hidden:({enableHover})=>!enableHover},hoverShadowMultiplier:{type:ControlType.Number,title:\"Hover Shadow Boost\",defaultValue:1.5,min:1,max:3,step:.1,hidden:({enableHover})=>!enableHover},useAdaptiveIntensity:{type:ControlType.Boolean,title:\"Adaptive Theme Intensity\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},lightModeShadowIntensity:{type:ControlType.Number,title:\"Light Mode Intensity\",defaultValue:.7,min:0,max:2,step:.1,hidden:({useAdaptiveIntensity})=>!useAdaptiveIntensity},darkModeShadowIntensity:{type:ControlType.Number,title:\"Dark Mode Intensity\",defaultValue:1.3,min:0,max:2,step:.1,hidden:({useAdaptiveIntensity})=>!useAdaptiveIntensity}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AdaptiveShadowImage\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"300\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"300\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AdaptiveShadowImage.map"],"mappings":"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"}