{"version":3,"file":"shared-lib.BeBD3dRt.mjs","names":["addPropertyOverrides","enabledGestures","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","useRef","React.useId","addPropertyOverrides","Button","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","getProps","createLayoutDependency","useRef","React.useId","serializationHash","variantClassNames","transition1","toResponsiveImage","Transition","React.useContext","React.useMemo","Variants","React.Fragment","getProps","createLayoutDependency","useRef","React.useId","Image","React.useContext","React.useMemo","React.Fragment","useRef","React.useId","Image","useRef","useState","useCallback","x"],"sources":["https:/framerusercontent.com/modules/ulg4B6boKwAkw9mjzwGZ/5v7LXoXI6XQeXftvjcSk/Lzx5dpHYP.js","https:/framerusercontent.com/modules/sOfK6mcgSjlAfjZWmkII/17EcZWeWUoMJSx5tmC20/bfmCMvYIX.js","https:/framerusercontent.com/modules/OsdCWfXg7nxFVg7Qvnez/DSP5sw6RXzfdbEBp75Vb/IOOhdOvyQ.js","https:/framerusercontent.com/modules/EF7jzJQV5l8i0AQ2BWKI/z8W3D7ktub3g1z4AhUU2/jb3nRqCu0.js","https:/framerusercontent.com/modules/kTT4rKCX9lcGGalXtWlS/Mm8W1fx0ihBreXpvWaC3/ParticleImage.js","https:/framerusercontent.com/modules/qHGDhrvFtMlKeajTJudk/BYgehIXjHXclTfnBIBVC/siteMetadata.js"],"sourcesContent":["// Generated by Framer (046e64a)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,Link,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const enabledGestures={nF45XMfcq:{hover:true}};const cycleOrder=[\"nF45XMfcq\",\"UHIFugHa6\"];const serializationHash=\"framer-YvSrK\";const variantClassNames={nF45XMfcq:\"framer-v-1jqf3ki\",UHIFugHa6:\"framer-v-1q7bgzd\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={delay:0,duration:.2,ease:[.44,0,.56,1],type:\"tween\"};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={Current:\"UHIFugHa6\",Default:\"nF45XMfcq\"};const getProps=({height,id,link,tITle,width,...props})=>{return{...props,ibeUUS3Zw:tITle??props.ibeUUS3Zw??\"Button\",variant:humanReadableVariantMap[props.variant]??props.variant??\"nF45XMfcq\",xRCS_q25S:link??props.xRCS_q25S};};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,ibeUUS3Zw,xRCS_q25S,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"nF45XMfcq\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);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,children:/*#__PURE__*/_jsx(Link,{href:xRCS_q25S,motionChild:true,nodeId:\"nF45XMfcq\",openInNewTab:false,scopeId:\"Lzx5dpHYP\",children:/*#__PURE__*/_jsx(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-1jqf3ki\",className,classNames)} framer-2ksahf`,\"data-border\":true,\"data-framer-name\":\"Default\",\"data-reset\":\"button\",layoutDependency:layoutDependency,layoutId:\"nF45XMfcq\",ref:refBinding,style:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"rgb(52, 52, 52)\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",backgroundColor:\"rgb(31, 31, 31)\",borderBottomLeftRadius:28,borderBottomRightRadius:28,borderTopLeftRadius:28,borderTopRightRadius:28,...style},variants:{\"nF45XMfcq-hover\":{backgroundColor:\"rgb(54, 54, 54)\"},UHIFugHa6:{\"--border-color\":\"rgb(242, 242, 242)\",backgroundColor:\"rgb(242, 242, 242)\"}},...addPropertyOverrides({\"nF45XMfcq-hover\":{\"data-framer-name\":undefined},UHIFugHa6:{\"data-framer-name\":\"Current\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7R2Vpc3QtcmVndWxhcg==\",\"--framer-font-family\":'\"Geist\", \"Geist Placeholder\", sans-serif',\"--framer-font-size\":\"18px\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"Button\"})}),className:\"framer-1k9mi8v\",fonts:[\"GF;Geist-regular\"],layoutDependency:layoutDependency,layoutId:\"wz1_72GCy\",style:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:ibeUUS3Zw,variants:{UHIFugHa6:{\"--extracted-r6o4lv\":\"rgb(31, 31, 31)\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({UHIFugHa6:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7R2Vpc3QtcmVndWxhcg==\",\"--framer-font-family\":'\"Geist\", \"Geist Placeholder\", sans-serif',\"--framer-font-size\":\"18px\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(31, 31, 31))\"},children:\"Button\"})})}},baseVariant,gestureVariant)})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-YvSrK.framer-2ksahf, .framer-YvSrK .framer-2ksahf { display: block; }\",\".framer-YvSrK.framer-1jqf3ki { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 10px 20px 10px 20px; position: relative; text-decoration: none; width: min-content; will-change: var(--framer-will-change-override, transform); }\",\".framer-YvSrK .framer-1k9mi8v { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",'.framer-YvSrK[data-border=\"true\"]::after, .framer-YvSrK [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 42\n * @framerIntrinsicWidth 95\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"UHIFugHa6\":{\"layout\":[\"auto\",\"auto\"]},\"G7kmw8SsU\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"ibeUUS3Zw\":\"tITle\",\"xRCS_q25S\":\"link\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerLzx5dpHYP=withCSS(Component,css,\"framer-YvSrK\");export default FramerLzx5dpHYP;FramerLzx5dpHYP.displayName=\"Button\";FramerLzx5dpHYP.defaultProps={height:42,width:95};addPropertyControls(FramerLzx5dpHYP,{variant:{options:[\"nF45XMfcq\",\"UHIFugHa6\"],optionTitles:[\"Default\",\"Current\"],title:\"Variant\",type:ControlType.Enum},ibeUUS3Zw:{defaultValue:\"Button\",displayTextArea:false,title:\"TItle\",type:ControlType.String},xRCS_q25S:{title:\"Link\",type:ControlType.Link}});addFonts(FramerLzx5dpHYP,[{explicitInter:true,fonts:[{family:\"Geist\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/geist/v3/gyBhhwUxId8gMGYQMKR3pzfaWI_RnOM4mJPby1QNtA.woff2\",weight:\"400\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerLzx5dpHYP\",\"slots\":[],\"annotations\":{\"framerComponentViewportWidth\":\"true\",\"framerColorSyntax\":\"true\",\"framerVariables\":\"{\\\"ibeUUS3Zw\\\":\\\"tITle\\\",\\\"xRCS_q25S\\\":\\\"link\\\"}\",\"framerIntrinsicHeight\":\"42\",\"framerContractVersion\":\"1\",\"framerDisplayContentsDiv\":\"false\",\"framerImmutableVariables\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"UHIFugHa6\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"G7kmw8SsU\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerIntrinsicWidth\":\"95\",\"framerAutoSizeImages\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Lzx5dpHYP.map","// Generated by Framer (046e64a)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,ResolveLinks,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useRouter,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Button from\"https://framerusercontent.com/modules/ulg4B6boKwAkw9mjzwGZ/5v7LXoXI6XQeXftvjcSk/Lzx5dpHYP.js\";const ButtonFonts=getFonts(Button);const cycleOrder=[\"mJPspgNS6\",\"c8sc4r59_\"];const serializationHash=\"framer-FusjM\";const variantClassNames={c8sc4r59_:\"framer-v-nwc7py\",mJPspgNS6:\"framer-v-ii0da2\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const convertFromEnum=(value,activeLocale)=>{switch(value){case\"serbxTYXC\":return\"UHIFugHa6\";default:return\"nF45XMfcq\";}};const convertFromEnum1=(value,activeLocale)=>{switch(value){case\"DBXyLLaBd\":return\"UHIFugHa6\";default:return\"nF45XMfcq\";}};const convertFromEnum2=(value,activeLocale)=>{switch(value){case\"v7l_UG6sb\":return\"UHIFugHa6\";default:return\"nF45XMfcq\";}};const convertFromEnum3=(value,activeLocale)=>{switch(value){case\"Toqw0UNJb\":return\"UHIFugHa6\";default:return\"nF45XMfcq\";}};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 humanReadableEnumMap={art:\"DBXyLLaBd\",brand:\"serbxTYXC\",decoration:\"Toqw0UNJb\",product:\"v7l_UG6sb\"};const humanReadableVariantMap={Default:\"mJPspgNS6\",Wrapped:\"c8sc4r59_\"};const getProps=({activeBtn,height,id,width,...props})=>{return{...props,O_Th832QB:humanReadableEnumMap[activeBtn]??activeBtn??props.O_Th832QB??\"serbxTYXC\",variant:humanReadableVariantMap[props.variant]??props.variant??\"mJPspgNS6\"};};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,O_Th832QB,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"mJPspgNS6\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const router=useRouter();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-ii0da2\",className,classNames),\"data-border\":true,\"data-framer-name\":\"Default\",layoutDependency:layoutDependency,layoutId:\"mJPspgNS6\",ref:refBinding,style:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"rgb(52, 52, 52)\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",backgroundColor:\"rgb(18, 18, 18)\",borderBottomLeftRadius:50,borderBottomRightRadius:50,borderTopLeftRadius:50,borderTopRightRadius:50,...style},variants:{c8sc4r59_:{borderBottomLeftRadius:35,borderBottomRightRadius:35,borderTopLeftRadius:35,borderTopRightRadius:35}},...addPropertyOverrides({c8sc4r59_:{\"data-framer-name\":\"Wrapped\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-iebvx1\",layoutDependency:layoutDependency,layoutId:\"mRKwSSJN8\",children:[/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"augiA20Il\"},implicitPathVariables:undefined},{href:{webPageId:\"augiA20Il\"},implicitPathVariables:undefined}],children:resolvedLinks=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:42,y:(componentViewport?.y||0)+(12+((componentViewport?.height||66)-24-42)/2)+0,...addPropertyOverrides({c8sc4r59_:{y:(componentViewport?.y||0)+12+(((componentViewport?.height||117)-24-94)/2+0+0)+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-ewyt6u-container\",layoutDependency:layoutDependency,layoutId:\"wqmu1M04M-container\",nodeId:\"wqmu1M04M\",rendersWithMotion:true,scopeId:\"bfmCMvYIX\",children:/*#__PURE__*/_jsx(Button,{height:\"100%\",ibeUUS3Zw:\"Brand\",id:\"wqmu1M04M\",layoutId:\"wqmu1M04M\",variant:convertFromEnum(O_Th832QB,activeLocale),width:\"100%\",xRCS_q25S:resolvedLinks[0],...addPropertyOverrides({c8sc4r59_:{xRCS_q25S:resolvedLinks[1]}},baseVariant,gestureVariant)})})})}),/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"LPQ6kBOn0\"},implicitPathVariables:undefined},{href:{webPageId:\"LPQ6kBOn0\"},implicitPathVariables:undefined}],children:resolvedLinks1=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:42,y:(componentViewport?.y||0)+(12+((componentViewport?.height||66)-24-42)/2)+0,...addPropertyOverrides({c8sc4r59_:{y:(componentViewport?.y||0)+12+(((componentViewport?.height||117)-24-94)/2+0+0)+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-mfxd5s-container\",layoutDependency:layoutDependency,layoutId:\"hXArNmNp4-container\",nodeId:\"hXArNmNp4\",rendersWithMotion:true,scopeId:\"bfmCMvYIX\",children:/*#__PURE__*/_jsx(Button,{height:\"100%\",ibeUUS3Zw:\"Art\",id:\"hXArNmNp4\",layoutId:\"hXArNmNp4\",variant:convertFromEnum1(O_Th832QB,activeLocale),width:\"100%\",xRCS_q25S:resolvedLinks1[0],...addPropertyOverrides({c8sc4r59_:{xRCS_q25S:resolvedLinks1[1]}},baseVariant,gestureVariant)})})})})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-11t97z9\",layoutDependency:layoutDependency,layoutId:\"Btl_HgXw1\",children:[/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"G1bwlMCYl\"},implicitPathVariables:undefined},{href:{webPageId:\"G1bwlMCYl\"},implicitPathVariables:undefined}],children:resolvedLinks2=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:42,y:(componentViewport?.y||0)+(12+((componentViewport?.height||66)-24-42)/2)+0,...addPropertyOverrides({c8sc4r59_:{y:(componentViewport?.y||0)+12+(((componentViewport?.height||117)-24-94)/2+42+10)+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1881nqv-container\",layoutDependency:layoutDependency,layoutId:\"QVJ2zCZa3-container\",nodeId:\"QVJ2zCZa3\",rendersWithMotion:true,scopeId:\"bfmCMvYIX\",children:/*#__PURE__*/_jsx(Button,{height:\"100%\",ibeUUS3Zw:\"Product\",id:\"QVJ2zCZa3\",layoutId:\"QVJ2zCZa3\",variant:convertFromEnum2(O_Th832QB,activeLocale),width:\"100%\",xRCS_q25S:resolvedLinks2[0],...addPropertyOverrides({c8sc4r59_:{xRCS_q25S:resolvedLinks2[1]}},baseVariant,gestureVariant)})})})}),/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"Dfs3sdPWy\"},implicitPathVariables:undefined},{href:{webPageId:\"Dfs3sdPWy\"},implicitPathVariables:undefined}],children:resolvedLinks3=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:42,y:(componentViewport?.y||0)+(12+((componentViewport?.height||66)-24-42)/2)+0,...addPropertyOverrides({c8sc4r59_:{y:(componentViewport?.y||0)+12+(((componentViewport?.height||117)-24-94)/2+42+10)+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1tgfqjw-container\",layoutDependency:layoutDependency,layoutId:\"eDFP5Y2dV-container\",nodeId:\"eDFP5Y2dV\",rendersWithMotion:true,scopeId:\"bfmCMvYIX\",children:/*#__PURE__*/_jsx(Button,{height:\"100%\",ibeUUS3Zw:\"Decoration\",id:\"eDFP5Y2dV\",layoutId:\"eDFP5Y2dV\",variant:convertFromEnum3(O_Th832QB,activeLocale),width:\"100%\",xRCS_q25S:resolvedLinks3[0],...addPropertyOverrides({c8sc4r59_:{xRCS_q25S:resolvedLinks3[1]}},baseVariant,gestureVariant)})})})})]})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-FusjM.framer-1p22i0v, .framer-FusjM .framer-1p22i0v { display: block; }\",\".framer-FusjM.framer-ii0da2 { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 12px; position: relative; width: min-content; will-change: var(--framer-will-change-override, transform); }\",\".framer-FusjM .framer-iebvx1, .framer-FusjM .framer-11t97z9 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-FusjM .framer-ewyt6u-container, .framer-FusjM .framer-mfxd5s-container, .framer-FusjM .framer-1881nqv-container, .framer-FusjM .framer-1tgfqjw-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-FusjM.framer-v-nwc7py.framer-ii0da2 { flex-direction: column; padding: 12px 24px 12px 24px; }\",'.framer-FusjM[data-border=\"true\"]::after, .framer-FusjM [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 66\n * @framerIntrinsicWidth 442\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"c8sc4r59_\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"O_Th832QB\":\"activeBtn\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerbfmCMvYIX=withCSS(Component,css,\"framer-FusjM\");export default FramerbfmCMvYIX;FramerbfmCMvYIX.displayName=\"Nav\";FramerbfmCMvYIX.defaultProps={height:66,width:442};addPropertyControls(FramerbfmCMvYIX,{variant:{options:[\"mJPspgNS6\",\"c8sc4r59_\"],optionTitles:[\"Default\",\"Wrapped\"],title:\"Variant\",type:ControlType.Enum},O_Th832QB:{defaultValue:\"serbxTYXC\",options:[\"serbxTYXC\",\"v7l_UG6sb\",\"DBXyLLaBd\",\"Toqw0UNJb\"],optionTitles:[\"brand\",\"product\",\"art\",\"decoration\"],title:\"Active Btn\",type:ControlType.Enum}});addFonts(FramerbfmCMvYIX,[{explicitInter:true,fonts:[]},...ButtonFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerbfmCMvYIX\",\"slots\":[],\"annotations\":{\"framerDisplayContentsDiv\":\"false\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"c8sc4r59_\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerVariables\":\"{\\\"O_Th832QB\\\":\\\"activeBtn\\\"}\",\"framerContractVersion\":\"1\",\"framerColorSyntax\":\"true\",\"framerIntrinsicHeight\":\"66\",\"framerAutoSizeImages\":\"true\",\"framerIntrinsicWidth\":\"442\",\"framerImmutableVariables\":\"true\",\"framerComponentViewportWidth\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./bfmCMvYIX.map","// Generated by Framer (046e64a)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getLoadingLazyAtYPosition,Image,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const serializationHash=\"framer-Qfs1J\";const variantClassNames={Z6LeyAbGx:\"framer-v-djt55a\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const toResponsiveImage=value=>{if(typeof value===\"object\"&&value!==null&&typeof value.src===\"string\"){return value;}return typeof value===\"string\"?{src:value}:undefined;};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 getProps=({height,id,image,width,...props})=>{return{...props,ARfE_PsWJ:image??props.ARfE_PsWJ??{alt:\"Framer App Logo\",pixelHeight:1024,pixelWidth:1024,src:\"https://framerusercontent.com/images/jYRNHRBeZ7qIFzNhWFI6D0Y9U.png?width=1024&height=1024\",srcSet:\"https://framerusercontent.com/images/jYRNHRBeZ7qIFzNhWFI6D0Y9U.png?scale-down-to=512&width=1024&height=1024 512w,https://framerusercontent.com/images/jYRNHRBeZ7qIFzNhWFI6D0Y9U.png?width=1024&height=1024 1024w\"}};};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,ARfE_PsWJ,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"Z6LeyAbGx\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);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,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-djt55a\",className,classNames),\"data-framer-name\":\"Default\",layoutDependency:layoutDependency,layoutId:\"Z6LeyAbGx\",ref:refBinding,style:{...style},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fit\",intrinsicHeight:1024,intrinsicWidth:1024,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+(32+((componentViewport?.height||800)-64-Math.min(1024,(componentViewport?.height||800)*1))/2)),pixelHeight:1024,pixelWidth:1024,sizes:`max(${componentViewport?.width||\"100vw\"} - 64px, 1px)`,...toResponsiveImage(ARfE_PsWJ),...{positionX:\"center\",positionY:\"center\"}},className:\"framer-1x1tts0\",\"data-framer-name\":\"img\",layoutDependency:layoutDependency,layoutId:\"tXQT6jrrJ\"})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-Qfs1J.framer-1iqs369, .framer-Qfs1J .framer-1iqs369 { display: block; }\",\".framer-Qfs1J.framer-djt55a { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 800px; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 32px; position: relative; width: 994px; }\",\".framer-Qfs1J .framer-1x1tts0 { aspect-ratio: 1 / 1; flex: 1 0 0px; height: var(--framer-aspect-ratio-supported, 736px); max-height: 100%; overflow: visible; pointer-events: none; position: relative; width: 1px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 800\n * @framerIntrinsicWidth 994\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"ARfE_PsWJ\":\"image\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerIOOhdOvyQ=withCSS(Component,css,\"framer-Qfs1J\");export default FramerIOOhdOvyQ;FramerIOOhdOvyQ.displayName=\"Preview Img\";FramerIOOhdOvyQ.defaultProps={height:800,width:994};addPropertyControls(FramerIOOhdOvyQ,{ARfE_PsWJ:{__defaultAssetReference:\"data:framer/asset-reference,jYRNHRBeZ7qIFzNhWFI6D0Y9U.png?originalFilename=jYRNHRBeZ7qIFzNhWFI6D0Y9U.png&preferredSize=auto&width=1024&height=1024\",__vekterDefault:{alt:\"Framer App Logo\",assetReference:\"data:framer/asset-reference,jYRNHRBeZ7qIFzNhWFI6D0Y9U.png?originalFilename=jYRNHRBeZ7qIFzNhWFI6D0Y9U.png&preferredSize=auto&width=1024&height=1024\"},title:\"Image\",type:ControlType.ResponsiveImage}});addFonts(FramerIOOhdOvyQ,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerIOOhdOvyQ\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicHeight\":\"800\",\"framerComponentViewportWidth\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerVariables\":\"{\\\"ARfE_PsWJ\\\":\\\"image\\\"}\",\"framerIntrinsicWidth\":\"994\",\"framerColorSyntax\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./IOOhdOvyQ.map","// Generated by Framer (046e64a)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getLoadingLazyAtYPosition,Image,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const enabledGestures={leE3xTF8u:{hover:true}};const serializationHash=\"framer-imhqd\";const variantClassNames={leE3xTF8u:\"framer-v-1vf39pz\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const toResponsiveImage=value=>{if(typeof value===\"object\"&&value!==null&&typeof value.src===\"string\"){return value;}return typeof value===\"string\"?{src:value}:undefined;};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 getProps=({click,height,hover,id,image,width,...props})=>{return{...props,DO7YN4DsC:hover??props.DO7YN4DsC,GlBnTXgAS:image??props.GlBnTXgAS??{alt:\"Framer App Logo\",pixelHeight:1024,pixelWidth:1024,src:\"https://framerusercontent.com/images/jYRNHRBeZ7qIFzNhWFI6D0Y9U.png?scale-down-to=512&width=1024&height=1024\",srcSet:\"https://framerusercontent.com/images/jYRNHRBeZ7qIFzNhWFI6D0Y9U.png?scale-down-to=512&width=1024&height=1024 512w,https://framerusercontent.com/images/jYRNHRBeZ7qIFzNhWFI6D0Y9U.png?width=1024&height=1024 1024w\"},uge3tnn5e:click??props.uge3tnn5e};};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,uge3tnn5e,DO7YN4DsC,GlBnTXgAS,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"leE3xTF8u\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap1qvkmqf=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(uge3tnn5e){const res=await uge3tnn5e(...args);if(res===false)return false;}});const onMouseEnter1xeziaq=activeVariantCallback(async(...args)=>{setGestureState({isHovered:true});if(DO7YN4DsC){const res=await DO7YN4DsC(...args);if(res===false)return false;}});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,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1vf39pz\",className,classNames),\"data-border\":true,\"data-framer-name\":\"Default\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"leE3xTF8u\",onMouseEnter:onMouseEnter1xeziaq,onTap:onTap1qvkmqf,ref:refBinding,style:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"rgb(52, 52, 52)\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",borderBottomLeftRadius:8,borderBottomRightRadius:8,borderTopLeftRadius:8,borderTopRightRadius:8,opacity:.7,...style},variants:{\"leE3xTF8u-hover\":{opacity:1}},...addPropertyOverrides({\"leE3xTF8u-hover\":{\"data-framer-name\":undefined}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fit\",intrinsicHeight:1024,intrinsicWidth:1024,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+0+(((componentViewport?.height||70)-0-1024)/2+0+0)),pixelHeight:1024,pixelWidth:1024,sizes:\"63px\",...toResponsiveImage(GlBnTXgAS),...{positionX:\"center\",positionY:\"center\"}},className:\"framer-5oleei\",\"data-framer-name\":\"img\",layoutDependency:layoutDependency,layoutId:\"nK04neN0F\"})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-imhqd.framer-1crbzjy, .framer-imhqd .framer-1crbzjy { display: block; }\",\".framer-imhqd.framer-1vf39pz { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: 70px; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 70px; will-change: var(--framer-will-change-override, transform); }\",\".framer-imhqd .framer-5oleei { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 63px); overflow: visible; position: relative; width: 63px; }\",'.framer-imhqd[data-border=\"true\"]::after, .framer-imhqd [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 70\n * @framerIntrinsicWidth 70\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"vdq51qRja\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"uge3tnn5e\":\"click\",\"DO7YN4DsC\":\"hover\",\"GlBnTXgAS\":\"image\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const Framerjb3nRqCu0=withCSS(Component,css,\"framer-imhqd\");export default Framerjb3nRqCu0;Framerjb3nRqCu0.displayName=\"Preview Img Btn\";Framerjb3nRqCu0.defaultProps={height:70,width:70};addPropertyControls(Framerjb3nRqCu0,{uge3tnn5e:{title:\"Click\",type:ControlType.EventHandler},DO7YN4DsC:{title:\"Hover\",type:ControlType.EventHandler},GlBnTXgAS:{__defaultAssetReference:\"data:framer/asset-reference,jYRNHRBeZ7qIFzNhWFI6D0Y9U.png?originalFilename=jYRNHRBeZ7qIFzNhWFI6D0Y9U.png&preferredSize=auto&width=1024&height=1024\",__vekterDefault:{alt:\"Framer App Logo\",assetReference:\"data:framer/asset-reference,jYRNHRBeZ7qIFzNhWFI6D0Y9U.png?originalFilename=jYRNHRBeZ7qIFzNhWFI6D0Y9U.png&preferredSize=auto&width=1024&height=1024\"},title:\"Image\",type:ControlType.ResponsiveImage}});addFonts(Framerjb3nRqCu0,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Framerjb3nRqCu0\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"70\",\"framerContractVersion\":\"1\",\"framerColorSyntax\":\"true\",\"framerVariables\":\"{\\\"uge3tnn5e\\\":\\\"click\\\",\\\"DO7YN4DsC\\\":\\\"hover\\\",\\\"GlBnTXgAS\\\":\\\"image\\\"}\",\"framerComponentViewportWidth\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerAutoSizeImages\":\"true\",\"framerIntrinsicHeight\":\"70\",\"framerImmutableVariables\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"vdq51qRja\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./jb3nRqCu0.map","// Particle image component with cursor interaction and animations\n// Created with AI assistance using Framer Workshop\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useRef,useEffect,useState,useCallback,startTransition}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";/**\n * @framerIntrinsicWidth 570\n * @framerIntrinsicHeight 515\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function ParticleImage(props){const{image={src:\"https://framerusercontent.com/images/k1g3nB2M8o2KIniDAdPnjzsS0Y.png\",alt:\"Particle Image\"},particleSize=8,particleDensity=50,brightness=1.2,cursorAttraction=50,idleAttraction=10,oscillationStrength=20,centerOnLeave=true,transitionSpeed=50,padding=50,useFallback=false,fpsThreshold=30,testDuration=3,showFPS=false}=props;const canvasRef=useRef(null);const containerRef=useRef(null);const animationIdRef=useRef(null);const particlesRef=useRef([]);const mouseRef=useRef({x:0,y:0});const targetMouseRef=useRef({x:0,y:0});const isTransitioningRef=useRef(false);const timeRef=useRef(0);const[isLoaded,setIsLoaded]=useState(false);const[canvasSize,setCanvasSize]=useState({width:0,height:0});const isStatic=useIsStaticRenderer();const isHoveringRef=useRef(false);// Performance monitoring refs\nconst performanceTestRef=useRef({isActive:false,startTime:0,frameCount:0,lastFrameTime:0,totalFrameTime:0});const[useFallbackMode,setUseFallbackMode]=useState(false);const[currentFPS,setCurrentFPS]=useState(0);const fpsCounterRef=useRef({frameCount:0,lastTime:0,fps:0});const loadImageData=useCallback(async src=>{return new Promise((resolve,reject)=>{const img=new Image;img.crossOrigin=\"anonymous\";img.onload=()=>{const canvas=document.createElement(\"canvas\");const ctx=canvas.getContext(\"2d\");if(!ctx){reject(new Error(\"Could not get 2D context\"));return;}canvas.width=img.width;canvas.height=img.height;ctx.drawImage(img,0,0);try{const imageData=ctx.getImageData(0,0,canvas.width,canvas.height);resolve(imageData);}catch(error){reject(error);}};img.onerror=()=>reject(new Error(\"Failed to load image\"));img.src=src;});},[]);const createParticles=useCallback(async(canvasWidth,canvasHeight)=>{try{const imageData=await loadImageData(image.src);const{width:imgWidth,height:imgHeight,data}=imageData;const particles=[];// Remap density: 0-100% becomes 5-20 internally, with 70% being the new 100%\nconst mappedDensity=5+Math.min(particleDensity,70)/70*15;// Use user-defined padding\nconst actualPadding=padding;const availableWidth=canvasWidth-actualPadding*2;const availableHeight=canvasHeight-actualPadding*2;// Calculate scaling to maintain aspect ratio\nconst scaleX=availableWidth/imgWidth;const scaleY=availableHeight/imgHeight;const scale=Math.min(scaleX,scaleY)// Use the smaller scale to maintain aspect ratio\n;const scaledWidth=imgWidth*scale;const scaledHeight=imgHeight*scale;// Calculate density based on the actual display area of the image, not canvas size\nconst displayArea=scaledWidth*scaledHeight;const baseDisplayArea=570*515// Reference area from intrinsic dimensions\n;const displayAreaFactor=Math.sqrt(displayArea/baseDisplayArea)// Square root for more gradual scaling\n;// Calculate step based on image size - smaller images get much smaller steps (more particles)\nconst imageArea=imgWidth*imgHeight;const baseStep=Math.max(1,Math.floor(200/mappedDensity));// Scale step inversely with image size - smaller images get exponentially more particles\n// Larger images now get 35% fewer particles\nlet step=baseStep;if(imageArea<5e4){step=Math.max(1,Math.floor(baseStep*.2));}else if(imageArea<1e5){step=Math.max(1,Math.floor(baseStep*.4));}else if(imageArea<2e5){step=Math.max(1,Math.floor(baseStep*.6));}else if(imageArea<4e5){step=Math.max(1,Math.floor(baseStep*.8));}else{step=Math.max(1,Math.floor(baseStep*1.35));}// Apply display area factor to adjust particles based on actual image display size\nstep=Math.max(1,Math.floor(step/displayAreaFactor));// Center the image in the available space\nconst offsetX=actualPadding+(availableWidth-scaledWidth)/2;const offsetY=actualPadding+(availableHeight-scaledHeight)/2;for(let y=0;y<imgHeight;y+=step){for(let x=0;x<imgWidth;x+=step){const index=(y*imgWidth+x)*4;const alpha=data[index+3];// Skip transparent pixels\nif(alpha<128)continue;const r=Math.min(255,data[index]*brightness);const g=Math.min(255,data[index+1]*brightness);const b=Math.min(255,data[index+2]*brightness);// Scale to canvas size with proper aspect ratio and centering\nconst posX=offsetX+x*scale;const posY=offsetY+y*scale;particles.push({x:posX,y:posY,originalX:posX,originalY:posY,color:`rgb(${Math.floor(r)}, ${Math.floor(g)}, ${Math.floor(b)})`,alpha:alpha/255,vx:0,vy:0,phase:Math.random()*Math.PI*2});}}particlesRef.current=particles;startTransition(()=>setIsLoaded(true));}catch(error){console.error(\"Error creating particles:\",error);}},[image.src,particleDensity,brightness,padding]);const updateParticles=useCallback(()=>{const mouse=mouseRef.current;const targetMouse=targetMouseRef.current;// Smooth transition to target mouse position\nif(isTransitioningRef.current){const speed=transitionSpeed/100*.1// Convert percentage to usable speed\n;const dx=targetMouse.x-mouse.x;const dy=targetMouse.y-mouse.y;const distance=Math.sqrt(dx*dx+dy*dy);if(distance>1){mouse.x+=dx*speed;mouse.y+=dy*speed;}else{mouse.x=targetMouse.x;mouse.y=targetMouse.y;isTransitioningRef.current=false;}}timeRef.current+=.02;particlesRef.current.forEach(particle=>{// Cursor/idle attraction force\nconst attractionStrength=isHoveringRef.current?cursorAttraction/100*150:idleAttraction/100*150// Use idle attraction when not hovering - now relative to cursor attraction\n;if(attractionStrength>0){const dx=mouse.x-particle.x;const dy=mouse.y-particle.y;const distance=Math.sqrt(dx*dx+dy*dy);if(distance>0){const force=attractionStrength/(distance*.01+1);particle.vx+=dx/distance*force*.01;particle.vy+=dy/distance*force*.01;}}// Oscillation around original position\nconst oscillationX=Math.sin(timeRef.current+particle.phase)*(oscillationStrength/100)*10;const oscillationY=Math.cos(timeRef.current+particle.phase*1.3)*(oscillationStrength/100)*8;// Spring force back to original position\nconst springForce=.05;const restoreX=(particle.originalX-particle.x)*springForce;const restoreY=(particle.originalY-particle.y)*springForce;// Apply forces\nparticle.vx+=restoreX;particle.vy+=restoreY;// Add oscillation\nparticle.vx+=oscillationX*.01;particle.vy+=oscillationY*.01;// Apply damping\nparticle.vx*=.95;particle.vy*=.95;// Update position\nparticle.x+=particle.vx;particle.y+=particle.vy;});},[oscillationStrength,transitionSpeed,cursorAttraction,idleAttraction]);const drawParticles=useCallback(()=>{const canvas=canvasRef.current;if(!canvas||!isLoaded)return;const ctx=canvas.getContext(\"2d\");if(!ctx)return;ctx.clearRect(0,0,canvas.width,canvas.height);particlesRef.current.forEach(particle=>{ctx.save();// Calculate distance to cursor for size scaling\nconst dx=mouseRef.current.x-particle.x;const dy=mouseRef.current.y-particle.y;const distance=Math.sqrt(dx*dx+dy*dy);const scale=Math.max(.5,Math.min(2,1+(100-distance)/200));const currentSize=particleSize*scale;// Create radial gradient for halo effect\nconst gradient=ctx.createRadialGradient(particle.x,particle.y,0,particle.x,particle.y,currentSize);gradient.addColorStop(0,particle.color);gradient.addColorStop(.3,particle.color);gradient.addColorStop(1,\"transparent\");ctx.fillStyle=gradient;ctx.globalAlpha=particle.alpha;ctx.globalCompositeOperation=\"lighter\";ctx.beginPath();ctx.arc(particle.x,particle.y,currentSize,0,Math.PI*2);ctx.fill();ctx.restore();});},[isLoaded,particleSize]);const drawStaticParticles=useCallback(()=>{const canvas=canvasRef.current;if(!canvas||!isLoaded)return;const ctx=canvas.getContext(\"2d\");if(!ctx)return;ctx.clearRect(0,0,canvas.width,canvas.height);particlesRef.current.forEach(particle=>{ctx.save();// Create radial gradient for halo effect\nconst gradient=ctx.createRadialGradient(particle.originalX,particle.originalY,0,particle.originalX,particle.originalY,particleSize);gradient.addColorStop(0,particle.color);gradient.addColorStop(.3,particle.color);gradient.addColorStop(1,\"transparent\");ctx.fillStyle=gradient;ctx.globalAlpha=particle.alpha;ctx.globalCompositeOperation=\"lighter\";ctx.beginPath();ctx.arc(particle.originalX,particle.originalY,particleSize,0,Math.PI*2);ctx.fill();ctx.restore();});},[isLoaded,particleSize]);const animate=useCallback(()=>{// FPS calculation\nif(showFPS){const currentTime=performance.now();fpsCounterRef.current.frameCount++;if(currentTime-fpsCounterRef.current.lastTime>=1e3){const fps=Math.round(fpsCounterRef.current.frameCount*1e3/(currentTime-fpsCounterRef.current.lastTime));fpsCounterRef.current.fps=fps;setCurrentFPS(fps);fpsCounterRef.current.frameCount=0;fpsCounterRef.current.lastTime=currentTime;}}// Performance monitoring\nif(useFallback&&performanceTestRef.current.isActive){const currentTime=performance.now();if(performanceTestRef.current.lastFrameTime>0){const frameTime=currentTime-performanceTestRef.current.lastFrameTime;performanceTestRef.current.totalFrameTime+=frameTime;performanceTestRef.current.frameCount++;// Check if test duration has elapsed\nconst elapsedTime=(currentTime-performanceTestRef.current.startTime)/1e3;if(elapsedTime>=testDuration){const averageFPS=1e3/(performanceTestRef.current.totalFrameTime/performanceTestRef.current.frameCount);if(averageFPS<=fpsThreshold){setUseFallbackMode(true);if(animationIdRef.current){cancelAnimationFrame(animationIdRef.current);}drawStaticParticles();return;}performanceTestRef.current.isActive=false;}}performanceTestRef.current.lastFrameTime=currentTime;}if(!useFallbackMode){updateParticles();drawParticles();animationIdRef.current=requestAnimationFrame(animate);}},[updateParticles,drawParticles,useFallback,fpsThreshold,testDuration,drawStaticParticles,showFPS]);const handleMouseMove=useCallback(event=>{const canvas=canvasRef.current;if(!canvas)return;const rect=canvas.getBoundingClientRect();const newMousePos={x:event.clientX-rect.left,y:event.clientY-rect.top};// Stop any ongoing transition\nisTransitioningRef.current=false;mouseRef.current=newMousePos;targetMouseRef.current=newMousePos;isHoveringRef.current=true;},[]);const handleMouseLeave=useCallback(()=>{isHoveringRef.current=false;if(centerOnLeave){const canvas=canvasRef.current;if(!canvas)return;const rect=canvas.getBoundingClientRect();targetMouseRef.current={x:rect.width/2,y:rect.height/2};isTransitioningRef.current=true;}},[centerOnLeave]);const handleMouseEnter=useCallback(()=>{isHoveringRef.current=true;},[]);const setupCanvas=useCallback(async()=>{const canvas=canvasRef.current;const container=containerRef.current;if(!canvas||!container)return;// Get the actual style dimensions instead of getBoundingClientRect to avoid zoom issues\nconst computedStyle=window.getComputedStyle(container);const width=parseFloat(computedStyle.width);const height=parseFloat(computedStyle.height);// Fallback to props.style dimensions if available\nconst finalWidth=props.style?.width===\"100%\"?width:props.style?.width?parseFloat(props.style.width.toString()):width;const finalHeight=props.style?.height===\"100%\"?height:props.style?.height?parseFloat(props.style.height.toString()):height;// Update canvas size state\nsetCanvasSize({width:finalWidth,height:finalHeight});// Set canvas size - use consistent scaling regardless of zoom\n// Always use devicePixelRatio of 1 to prevent zoom-related scaling issues\nconst pixelRatio=1;canvas.width=finalWidth*pixelRatio;canvas.height=finalHeight*pixelRatio;canvas.style.width=`${finalWidth}px`;canvas.style.height=`${finalHeight}px`;const ctx=canvas.getContext(\"2d\");if(ctx){ctx.scale(pixelRatio,pixelRatio);}// Initialize mouse position to center\nconst centerPos={x:finalWidth/2,y:finalHeight/2};mouseRef.current=centerPos;targetMouseRef.current=centerPos;await createParticles(finalWidth,finalHeight);if(isStatic){// Draw static particles for Framer canvas\ndrawStaticParticles();}else{animate();}},[createParticles,animate,isStatic,drawStaticParticles,props.style]);useEffect(()=>{setupCanvas();// Start performance test if fallback is enabled\nif(useFallback&&!isStatic){performanceTestRef.current={isActive:true,startTime:performance.now(),frameCount:0,lastFrameTime:0,totalFrameTime:0};setUseFallbackMode(false);}return()=>{if(animationIdRef.current){cancelAnimationFrame(animationIdRef.current);}};},[setupCanvas,useFallback]);// Add resize observer to handle canvas resizing\nuseEffect(()=>{const container=containerRef.current;if(!container)return;const resizeObserver=new ResizeObserver(entries=>{for(const entry of entries){const{width,height}=entry.contentRect;if(width>0&&height>0){// Debounce the resize to avoid too many updates\nsetTimeout(()=>{setupCanvas();},100);}}});resizeObserver.observe(container);return()=>{resizeObserver.disconnect();};},[setupCanvas]);// Recreate particles when image or density changes\nuseEffect(()=>{if(isLoaded){setupCanvas();}},[image.src,particleDensity,brightness,padding]);return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{...props.style,position:\"relative\",overflow:\"hidden\"},children:[/*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,role:\"img\",\"aria-label\":image.alt?`${image.alt} rendered as particles`:\"particles renderer\",onMouseMove:isStatic?undefined:handleMouseMove,onMouseLeave:isStatic?undefined:handleMouseLeave,onMouseEnter:isStatic?undefined:handleMouseEnter,style:{width:\"100%\",height:\"100%\",display:\"block\",backgroundColor:\"transparent\"}}),showFPS&&/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",top:\"10px\",left:\"10px\",color:\"cyan\",fontSize:\"14px\",fontFamily:\"monospace\",fontWeight:\"bold\",textShadow:\"1px 1px 2px rgba(0, 0, 0, 0.8)\",pointerEvents:\"none\",zIndex:10},children:[\"FPS: \",currentFPS]})]});}addPropertyControls(ParticleImage,{image:{type:ControlType.ResponsiveImage,title:\"Image\"},particleSize:{type:ControlType.Number,title:\"Particle Size\",defaultValue:8,min:1,max:20,step:.5,unit:\"px\"},particleDensity:{type:ControlType.Number,title:\"Particle Density\",defaultValue:30,min:0,max:100,step:1,unit:\"%\"},brightness:{type:ControlType.Number,title:\"Brightness\",defaultValue:1.2,min:.5,max:3,step:.1},padding:{type:ControlType.Number,title:\"Padding\",defaultValue:50,min:0,max:200,step:5,unit:\"px\"},oscillationStrength:{type:ControlType.Number,title:\"Oscillation\",defaultValue:20,min:0,max:100,step:5,unit:\"%\"},cursorAttraction:{type:ControlType.Number,title:\"Cursor Attraction\",defaultValue:80,min:0,max:100,step:5,unit:\"%\"},idleAttraction:{type:ControlType.Number,title:\"Idle Attraction\",description:\"The attraction pointer when not hovering.\",defaultValue:10,min:0,max:100,step:5,unit:\"%\"},centerOnLeave:{type:ControlType.Boolean,title:\"Center on Leave\",description:\"The attraction pointer when the cursor leaves.\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\"},transitionSpeed:{type:ControlType.Number,title:\"Transition Speed\",description:\"The attraction pointer when the cursor leaves.\",defaultValue:50,min:10,max:100,step:5,unit:\"%\",hidden:({centerOnLeave})=>!centerOnLeave},useFallback:{type:ControlType.Boolean,title:\"Performance Fallback\",description:\"Apply a fallback if the animation is running slow\",defaultValue:true,enabledTitle:\"Enabled\",disabledTitle:\"Disabled\"},fpsThreshold:{type:ControlType.Number,title:\"FPS Threshold\",description:\"If the FPS average is equal or below, the animation will stop, and it will render 1 static frame of particles.\",defaultValue:12,min:10,max:60,step:5,unit:\"fps\",hidden:({useFallback})=>!useFallback},testDuration:{type:ControlType.Number,title:\"Test Duration\",description:\"For how long the FPS will be tested\",defaultValue:5,min:1,max:10,step:1,unit:\"sec\",hidden:({useFallback})=>!useFallback},showFPS:{type:ControlType.Boolean,title:\"Show FPS\",defaultValue:false,enabledTitle:\"Show\",disabledTitle:\"Hide\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ParticleImage\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicWidth\":\"570\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"515\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ParticleImage.map","// Generated by Framer (046e64a)\nexport default function metadata(params,activeLocale){return{description:\"Made with Framer\",robots:\"max-image-preview:large\",title:\"Image to Particles Component\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}