{"version":3,"file":"SwipeCardStack_prod.CyrTN4eC.mjs","names":["mask","Base","MotionSVG","SVG","svg","getProps","Icon","React.forwardRef","useRef","useState","React.useState","mask","SVG","getProps","Icon","React.forwardRef","useState","useState","React.forwardRef","useState"],"sources":["https:/framerusercontent.com/modules/4NPoFPQEhSNg2OoiApwj/ob6f5zVw0r8uyASOMKVq/KF85dqOX0.js","https:/framerusercontent.com/modules/jfK7C7JmdHGaVBsvt1V7/AGG8ARtz8MurBNtcvgvB/DotLottie.js","https:/framerusercontent.com/modules/kUdWB3WNWrJ5OJFzvbkt/uvEd8qo1MBBr8GtT5vlD/HaRsYXyM7.js","https:/framerusercontent.com/modules/vj7bFUjvEQFgEzNBkdoG/vf3CKm378wlVcBk7IhSU/createStore.js","https:/framer.com/m/framer/store.js@^1.0.0","https:/framerusercontent.com/modules/PN5c9Lm200xYeKxP2Gcy/hDBsItohjMEOACix8wDv/Utils.js","https:/framer.com/m/Utils-QTIc.js@hDBsItohjMEOACix8wDv","https:/framerusercontent.com/modules/OiCf4NNLLpuN6FqtIYsk/wGbuIsu8iT0mQHxWNLoS/Look3D_Prod.js","https:/framerusercontent.com/modules/QEytd7xyjUsL7yuVUzSs/qmGVLBWjftYFZgHPHJJB/LiquidGradient.js","https:/framerusercontent.com/modules/QtsbQR2Yh5GCaKXZvNy5/EISkuRusq43kePfq3pMa/QKPndRBgo.js","https:/framerusercontent.com/modules/yLZ7nAnfk8SyZHqWqNbr/ypoOKIPBB6bfEPkYKStR/SwipeCardStack_prod.js"],"sourcesContent":["// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 0 4.875 C 0 2.183 2.183 0 4.875 0 C 7.567 0 9.75 2.183 9.75 4.875 C 9.75 7.567 7.567 9.75 4.875 9.75 C 2.183 9.75 0 7.567 0 4.875 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"9.75px\" id=\"tjlKcqq_S\" transform=\"translate(3 5.25)\" width=\"9.75px\"/><path d=\"M 0 3.752 C 1.522 1.412 4.124 0 6.916 0 C 9.708 0 12.31 1.412 13.832 3.752\" fill=\"transparent\" height=\"3.751966152184508px\" id=\"Y_D97Q52v\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(0.959 14.998)\" width=\"13.831875px\"/><path d=\"M 0 0 C 2.792 -0.002 5.394 1.41 6.916 3.75\" fill=\"transparent\" height=\"3.750001425001699px\" id=\"wf06kpyW8\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(16.125 15)\" width=\"6.915937499999984px\"/><path d=\"M 0 4.875 C 0 2.183 2.183 0 4.875 0 C 7.567 0 9.75 2.183 9.75 4.875 C 9.75 7.567 7.567 9.75 4.875 9.75 C 2.183 9.75 0 7.567 0 4.875 Z\" fill=\"transparent\" height=\"9.75px\" id=\"Wx0EkSCiK\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(3 5.25)\" width=\"9.75px\"/><path d=\"M 0 0.347 C 1.824 -0.38 3.906 0.057 5.282 1.457 C 6.659 2.858 7.061 4.947 6.303 6.758 C 5.545 8.569 3.774 9.748 1.81 9.75\" fill=\"transparent\" height=\"9.750149315941101px\" id=\"Eesqcmrby\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(14.315 5.25)\" width=\"6.681148882469131px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"2109778876\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-5yi3D\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-5yi3D { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Users\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-5yi3D\");Icon.displayName=\"Users\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerVector\":\"{\\\"name\\\":\\\"Users\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"24\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicWidth\":\"24\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerDisableUnlink\":\"true\",\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useEffect,useRef,useState}from\"react\";const placeholderUrl=\"https://lottie.host/d826e0a7-b7e8-4072-8afe-c943ed2dd2ca/DpX3m5yT5Z.lottie\";/**\n * DOT LOTTIE\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 200\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function DotLottie(props){return /*#__PURE__*/_jsx(OptimizationFriendly,{loading:/*#__PURE__*/_jsx(\"div\",{}),loaded:/*#__PURE__*/_jsx(LottiePlayer,{...props})});}function LottiePlayer(props){/* Checks */const isCanvas=RenderTarget.current()===RenderTarget.canvas;const lottieInstanceRef=useRef(null);const shouldPlay=isCanvas||props.hover===true||props.autoplay===false?null:true;/* File or URL */let src;switch(props.srcType){case\"url\":src=props.srcUrl;break;case\"file\":src=props.srcFile;break;default:src=placeholderUrl;break;}/* Progress */const[isReady,setIsReady]=useState(false);/* For canvas states */useEffect(()=>{if(!lottieInstanceRef.current)return;lottieInstanceRef.current.addEventListener(\"ready\",()=>setIsReady(true));},[]);useEffect(()=>{if(!lottieInstanceRef.current)return;lottieInstanceRef.current.seek(`${props.progress}%`);},[isReady,props.progress]);const lastVariant=useRef();/* For component variant support */useEffect(()=>{if(isCanvas)return;if(lastVariant.current!==props.autoplay){if(!lottieInstanceRef.current)return;if(props.autoplay===true){lottieInstanceRef.current.play();}if(props.autoplay===false){lottieInstanceRef.current.pause();}}lastVariant.current=props.autoplay;},[props.autoplay]);return(// @ts-ignore\n/*#__PURE__*/_jsx(\"dotlottie-player\",{src:src,ref:lottieInstanceRef,autoplay:shouldPlay,loop:props.loop?true:null,hover:props.hover?true:null,controls:props.controls?true:null,background:props.background?props.background:null,speed:props.speed,direction:props.direction,style:{...props.style,width:\"100%\",height:\"100%\"}},src));}DotLottie.defaultProps={srcUrl:placeholderUrl,autoplay:true,background:\"#05F\",controls:false,direction:1,hover:false,loop:true,speed:1};DotLottie.displayName=\"Dot Lottie\";addPropertyControls(DotLottie,{srcType:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Source\",options:[\"url\",\"file\"],optionTitles:[\"URL\",\"File\"]},srcUrl:{type:ControlType.String,title:\"Link\",placeholder:\"../example.lottie\",hidden:props=>props.srcType===\"file\"},srcFile:{type:ControlType.File,title:\"File\",allowedFileTypes:[\"lottie\",\"json\"],hidden:props=>props.srcType===\"url\"},autoplay:{type:ControlType.Boolean,title:\"Autoplay\",defaultValue:true},background:{type:ControlType.Color,title:\"Backdrop\",defaultValue:\"#05F\"},controls:{type:ControlType.Boolean,title:\"Controls\"},direction:{type:ControlType.Enum,title:\"Direction\",defaultValue:\"1\",displaySegmentedControl:true,segmentedControlDirection:\"horizontal\",options:[\"1\",\"-1\"],optionTitles:[\"Normal\",\"Reverse\"]},hover:{type:ControlType.Boolean,title:\"Hover Play\"},loop:{type:ControlType.Boolean,title:\"Loop\"},speed:{type:ControlType.Number,title:\"Speed\",defaultValue:1,min:1,max:10,unit:\"x\",step:.5,displayStepper:true},progress:{type:ControlType.Number,title:\"Progress\",defaultValue:0,min:0,max:100,step:1,description:\"This component is made for Lottie files. [Learn more here](https://dotlottie.io/).\"}});/* For SSG */function OptimizationFriendly({loading,loaded}){const[isLoading,setLoading]=React.useState(true);// We can't load web-components in ssg on the server,\n// so we defer rendering until we hit the client.\nReact.useEffect(()=>{import(\"https://unpkg.com/@dotlottie/player-component@2.7.12/dist/dotlottie-player.js\").then(()=>{setLoading(false);});},[]);return isLoading?loading:loaded;}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"DotLottie\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"200\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerDisableUnlink\":\"*\",\"framerIntrinsicWidth\":\"200\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./DotLottie.map","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask='url(\\'data:image/svg+xml,<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 14 0 L 0 0\" fill=\"transparent\" height=\"1px\" id=\"clgh_hWer\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" stroke=\"var(--43q7um, rgb(0,0,0))\" transform=\"translate(5 12)\" width=\"14px\"/><path d=\"M 7 14 L 0 7 L 7 0\" fill=\"transparent\" height=\"14px\" id=\"UFl1uCQr0\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" stroke=\"var(--43q7um, rgb(0,0,0))\" transform=\"translate(5 5)\" width=\"7px\"/></svg>\\') alpha no-repeat center / auto var(--framer-icon-mask-mode, add), var(--framer-icon-mask, none)';const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(motion.div,{...rest,layoutId:layoutId,ref:ref}):/*#__PURE__*/_jsx(\"div\",{...rest,ref:ref});});const getProps=({height,id,stroke,width,...props})=>{return{...props,UO5clYVeQ:stroke??props.UO5clYVeQ??\"rgb(0, 0, 0)\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,UO5clYVeQ,...restProps}=getProps(props);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-nHkCo\",className),layoutId:layoutId,ref:ref,style:{\"--43q7um\":UO5clYVeQ,...style}});});const css=[`.framer-nHkCo { -webkit-mask: ${mask}; aspect-ratio: 1; background-color: var(--43q7um); mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"UO5clYVeQ\":\"stroke\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Arrow Left\",\"color\":{\"type\":\"variable\",\"value\":\"43q7um\"},\"set\":{\"localId\":\"vectorSet/T8qKXkLfy\",\"id\":\"T8qKXkLfy\",\"moduleId\":\"fiHEoJwBMFnT6QLOcpPz\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-nHkCo\");Icon.displayName=\"Arrow Left\";export default Icon;addPropertyControls(Icon,{UO5clYVeQ:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Stroke\",type:ControlType.Color}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"true\",\"framerIntrinsicWidth\":\"24\",\"framerImmutableVariables\":\"true\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerVariables\":\"{\\\"UO5clYVeQ\\\":\\\"stroke\\\"}\",\"framerVector\":\"{\\\"name\\\":\\\"Arrow Left\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"43q7um\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/T8qKXkLfy\\\",\\\"id\\\":\\\"T8qKXkLfy\\\",\\\"moduleId\\\":\\\"fiHEoJwBMFnT6QLOcpPz\\\"}}\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"24\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{useState,useEffect}from\"react\";import{Data,useObserveData}from\"framer\";export function createStore(state1){// Use Data so that a Preview reload resets the state\nconst dataStore=Data({state:Object.freeze({...state1})});// Create a set function that updates the state\nconst setDataStore=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(dataStore.state);}dataStore.state=Object.freeze({...dataStore.state,...newState});};// Store the initial state, copy the object if it's an object\nlet storeState=typeof state1===\"object\"?Object.freeze({...state1}):state1;// Keep a list of all the listeners, in the form of React hook setters\nconst storeSetters=new Set();// Create a set function that updates all the listeners / setters\nconst setStoreState=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(storeState);}storeState=typeof newState===\"object\"?Object.freeze({...storeState,...newState}):newState;// Update all the listeners / setters with the new value\nstoreSetters.forEach(setter=>setter(storeState));};// Create the actual hook based on everything above\nfunction useStore(){// Create the hook we are going to use as a listener\nconst[state,setState]=useState(storeState);// If we unmount the component using this hook, we need to remove the listener\n// @ts-ignore\nuseEffect(()=>{// But right now, we need to add the listener\nstoreSetters.add(setState);return()=>storeSetters.delete(setState);},[]);// If Data context exists, use Data, otherwise use vanilla React state\nif(useObserveData()===true){useObserveData();return[dataStore.state,setDataStore];}else{// Return the state and a function to update the central store\nreturn[state,setStoreState];}}return useStore;}\nexport const __FramerMetadata__ = {\"exports\":{\"createStore\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./createStore.map","/*\n * createStore (framer/store@1.0.1)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/vj7bFUjvEQFgEzNBkdoG/vf3CKm378wlVcBk7IhSU/createStore.js\"\n","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{ControlType}from\"framer\";import{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";export const updateChildren=(children,properties)=>{return[{...children,props:{...children.props,children:{...children.props.children,props:{...children.props.children.props,children:{...children.props.children.props.children,props:{...children.props.children.props.children.props,...properties}}}}}}];};export const SettingsMessage=({title,description,containerStyle})=>{return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",alignItems:\"center\",textAlign:\"center\",justifyContent:\"center\",backgroundColor:\"rgba(136, 85, 255, 0.1)\",overflow:\"hidden\",...containerStyle},children:[/*#__PURE__*/_jsx(\"span\",{role:\"img\",\"aria-label\":\"icon\",style:{fontSize:\"32px\"},children:\"✨\"}),/*#__PURE__*/_jsxs(\"div\",{style:{maxWidth:\"240px\"},children:[/*#__PURE__*/_jsx(\"h1\",{style:{fontSize:11,color:\"#96F\",fontWeight:600},children:title}),/*#__PURE__*/_jsx(\"p\",{style:{fontSize:11,color:\"rgba(153, 102, 255, 0.7)\",lineHeight:1.5},children:description})]})]});};export const getBorder=border=>{if(!border)return{border:\"none\"};const{width,color,style}=border;return{borderWidth:width,borderColor:color,borderStyle:style};};export const borderProperty=(title=\"Border\",width=\"0px\",color=\"#fff\")=>({title,type:ControlType.Object,controls:{width:{title:\"Width\",type:ControlType.Padding,defaultValue:width},color:{title:\"Color\",type:ControlType.Color,defaultValue:color},style:{type:ControlType.Enum,defaultValue:\"solid\",options:[\"solid\",\"dashed\",\"dotted\",\"double\"],optionTitles:[\"Solid\",\"Dashed\",\"Dotted\",\"Double\"]}}});export const getBoxShadow=property=>{const{x,y,blur,color}=property.shadow;return`${x}px ${y}px ${blur}px ${color}`;};export const shadowProperty={type:ControlType.Object,controls:{color:{title:\"Color\",type:ControlType.Color,defaultValue:\"#bfbfbf\"},x:{title:\"X\",type:ControlType.Number,defaultValue:0,min:-100,max:100},y:{title:\"Y\",type:ControlType.Number,defaultValue:0,min:-100,max:100},blur:{title:\"Blur\",type:ControlType.Number,defaultValue:0,min:0,max:100}}};export const heightProperty={height:{type:ControlType.Enum,defaultValue:\"auto\",displaySegmentedControl:true,options:[\"auto\",\"fixed\"],optionTitles:[\"Auto\",\"Fixed\"]},heightNumber:{title:\" \",type:ControlType.Number,defaultValue:50,hidden(props){return props.height===\"auto\";}}};export const getHeight=property=>{if(property.height===\"auto\"){return property.height;}else{return`${property.heightNumber}px`;}};export const getPageQueryParam=()=>{const urlParams=new URLSearchParams(window.location.search);const pageParam=urlParams.get(\"page\");return pageParam?parseInt(pageParam,10):1;};export const updatePageQueryParam=newPage=>{const url=new URL(window.location.href);url.searchParams.set(\"page\",newPage);window.history.replaceState({},\"\",url.toString());};export const useStore=createStore({initialLimit:undefined,initialOffset:undefined,limit:undefined,offset:undefined,totalItems:undefined,page:1,searchQuery:\"\",totalPages:undefined});export const scrollToTop=(withScroll,scrollTop,scrollBehavior)=>{if(withScroll){window.scrollTo({top:scrollTop,behavior:scrollBehavior});}};\nexport const __FramerMetadata__ = {\"exports\":{\"heightProperty\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"updatePageQueryParam\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useStore\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getHeight\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getBoxShadow\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"updateChildren\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"borderProperty\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"shadowProperty\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getBorder\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SettingsMessage\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getPageQueryParam\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"scrollToTop\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Utils.map","/*\n * Utils\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/PN5c9Lm200xYeKxP2Gcy/hDBsItohjMEOACix8wDv/Utils.js\"\n","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useState,useEffect,cloneElement}from\"react\";import{motion,useMotionValue,useSpring}from\"framer-motion\";import{SettingsMessage}from\"https://framer.com/m/Utils-QTIc.js@hDBsItohjMEOACix8wDv\";/**\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth any-prefer-auto\n * @framerIntrinsicWidth 600\n * @framerSupportedLayoutHeight any-prefer-auto\n * @framerIntrinsicHeight 300\n */export default function CursorRotation(props){const{style,draggingOptions:{withDragging,withSnapBack,transition},rotationOptions:{withRotationLimitX,withRotationLimitY,maxX,maxY,minX,minY},perspectiveOptions:{withPerspective,perspectiveValue},sensitivity}=props;const children=Array.isArray(props.children)?props.children[0]:props.children;if(!children||children.length===0){return /*#__PURE__*/_jsx(SettingsMessage,{title:\"Set Up the Component\",description:\"Connect a frame to the component.\",containerStyle:{...props.style,width:\"400px\",height:\"200px\",borderRadius:props.borderRadius}});}const[isDragging,setIsDragging]=useState(false);const rotateX=useMotionValue(0);const rotateY=useMotionValue(0);const springConfig=withDragging?transition:{duration:0};const rotateXSpring=useSpring(rotateX,springConfig);const rotateYSpring=useSpring(rotateY,springConfig);const[startingRotation,setStartingRotation]=useState({x:0,y:0});const[startingMousePosition,setStartingMousePosition]=useState({clientX:0,clientY:0});useEffect(()=>{const handleMove=event=>{if(isDragging){event.preventDefault();}const isTouchEvent=event.type.startsWith(\"touch\");const clientX=isTouchEvent?event.touches[0].clientX:event.clientX;const clientY=isTouchEvent?event.touches[0].clientY:event.clientY;const{innerWidth,innerHeight}=window;let rotationX,rotationY;if(withDragging){if(isDragging){const mouseX=clientX-startingMousePosition.clientX;const mouseY=clientY-startingMousePosition.clientY;const rotationFactorX=mouseY/(10/sensitivity);const rotationFactorY=-mouseX/(10/sensitivity);rotationX=startingRotation.x-rotationFactorX;rotationY=startingRotation.y-rotationFactorY;}else if(withSnapBack){rotationX=0;rotationY=0;}else{rotationX=rotateX.get();rotationY=rotateY.get();}}else{const adjustedSensitivity=sensitivity/10;const rotationFactorX=(clientY/innerHeight-.5)*adjustedSensitivity;const rotationFactorY=(clientX/innerWidth-.5)*adjustedSensitivity;rotationX=-rotationFactorX*180;rotationY=rotationFactorY*180;}if(withRotationLimitX){rotationX=Math.max(-minX,Math.min(maxX,rotationX));}if(withRotationLimitY){rotationY=Math.max(-minY,Math.min(maxY,rotationY));}rotateX.set(rotationX);rotateY.set(rotationY);};window.addEventListener(\"mousemove\",handleMove);window.addEventListener(\"touchmove\",handleMove);return()=>{window.removeEventListener(\"mousemove\",handleMove);window.removeEventListener(\"touchmove\",handleMove);};},[isDragging,withDragging,withSnapBack,withRotationLimitX,withRotationLimitY,maxX,maxY,sensitivity]);useEffect(()=>{if(!isDragging&&withDragging&&withSnapBack){rotateX.set(0);rotateY.set(0);}},[isDragging]);const handleOnStart=e=>{const isTouchEvent=e.type.startsWith(\"touch\");const clientX=isTouchEvent?e.touches[0].clientX:e.clientX;const clientY=isTouchEvent?e.touches[0].clientY:e.clientY;setIsDragging(true);setStartingRotation({x:rotateX.get(),y:rotateY.get()});setStartingMousePosition({clientX,clientY});};const handleOnEnd=()=>setIsDragging(false);// Clone the children and apply preserve-3d to them as well\nconst clonedChildren=/*#__PURE__*/cloneElement(children,{style:{...children.props.style,transformStyle:\"preserve-3d\"}});return /*#__PURE__*/_jsx(motion.div,{onPanStart:handleOnStart,onPanEnd:handleOnEnd,onTouchStart:handleOnStart,onTouchEnd:handleOnEnd,style:{...style,rotateX:rotateXSpring,rotateY:rotateYSpring,transformStyle:\"preserve-3d\",transformPerspective:withPerspective?perspectiveValue:undefined,userSelect:\"none\",touchAction:\"none\"},children:clonedChildren});}CursorRotation.displayName=\"3D Look\";addPropertyControls(CursorRotation,{children:{title:\"Element\",type:ControlType.ComponentInstance},sensitivity:{title:\"Sensitivity\",type:ControlType.Number,defaultValue:2,step:1,displayStepper:true,min:1,max:10},draggingOptions:{type:ControlType.Object,title:\"Dragging\",controls:{withDragging:{title:\"Enable\",type:ControlType.Boolean,defaultValue:false},transition:{title:\"Transition\",type:ControlType.Transition,defaultValue:{type:\"spring\",stiffness:600,damping:100},hidden(props){return!props.withDragging;}},withSnapBack:{title:\"Snap Back\",type:ControlType.Boolean,defaultValue:false,hidden(props){return!props.withDragging;}}}},rotationOptions:{type:ControlType.Object,title:\"Rota. Limit\",controls:{withRotationLimitX:{title:\"Limit X\",type:ControlType.Boolean,defaultValue:false},maxX:{title:\"Max X\",type:ControlType.Number,defaultValue:90,step:1,displayStepper:true,min:0,max:undefined,hidden(props){return!props.withRotationLimitX;}},minX:{title:\"Min X\",type:ControlType.Number,defaultValue:90,step:1,displayStepper:true,min:0,max:undefined,hidden(props){return!props.withRotationLimitX;}},withRotationLimitY:{title:\"Limit Y\",type:ControlType.Boolean,defaultValue:false},maxY:{title:\"Max Y\",type:ControlType.Number,defaultValue:90,step:1,displayStepper:true,min:0,max:undefined,hidden(props){return!props.withRotationLimitY;}},minY:{title:\"Min Y\",type:ControlType.Number,defaultValue:90,step:1,displayStepper:true,min:0,max:undefined,hidden(props){return!props.withRotationLimitY;}}}},perspectiveOptions:{type:ControlType.Object,title:\"Perspective\",description:\"Need help with the component? Watch [this video](https://youtu.be/WdMR737ptFs).\\nMore components at [Framer University](https://frameruni.link/cc).\",controls:{withPerspective:{title:\"Enable\",type:ControlType.Boolean,defaultValue:false},perspectiveValue:{title:\"Value\",type:ControlType.Number,defaultValue:1200,step:100,min:500,max:5e3,hidden(props){return!props.withPerspective;}}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CursorRotation\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-auto\",\"framerIntrinsicHeight\":\"300\",\"framerDisableUnlink\":\"*\",\"framerSupportedLayoutHeight\":\"any-prefer-auto\",\"framerIntrinsicWidth\":\"600\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Look3D_Prod.map","// Liquid Gradient\nimport{defineShader,ControlType}from\"framer\";export default defineShader({title:\"Liquid Gradient\",resolutionScale:\"consistent\",fragment:`\n// === CONSTANTS ===\nconst float GOLDEN_ANGLE = 2.3999632;\nconst float TAU = 6.28318530;\n\n// === PCG hash - https://www.jcgt.org/published/0009/03/02/\nuvec3 hash3(uvec3 v) {\n    v = v * 1664525u + 1013904223u;\n    v.x += v.y * v.z;\n    v.y += v.z * v.x;\n    v.z += v.x * v.y;\n    v ^= v >> 16u;\n    v.x += v.y * v.z;\n    v.y += v.z * v.x;\n    v.z += v.x * v.y;\n    return v;\n}\n\n// Seed\nvec3 seedRandom(float seedVal) {\n    uvec3 s = uvec3(\n        floatBitsToUint(seedVal),\n        floatBitsToUint(seedVal * 1.5 + 7.31),\n        floatBitsToUint(seedVal * 2.7 + 13.37)\n    );\n    s = hash3(s);\n    return vec3(s) / float(0xFFFFFFFFu);\n}\n\n// === COLOR SPACE UTILITIES ===\nvec3 toLinear(vec3 c) {\n    return pow(c, vec3(2.2));\n}\n\nvec3 toSrgb(vec3 c) {\n    return pow(clamp(c, 0.0, 1.0), vec3(0.4545));\n}\n\nvec3 linearToOklab(vec3 c) {\n    float l = 0.4122214708 * c.r + 0.5363325363 * c.g + 0.0514459929 * c.b;\n    float m = 0.2119034982 * c.r + 0.6806995451 * c.g + 0.1073969566 * c.b;\n    float s = 0.0883024619 * c.r + 0.2817188376 * c.g + 0.6299787005 * c.b;\n    \n    l = pow(max(l, 0.0), 1.0/3.0);\n    m = pow(max(m, 0.0), 1.0/3.0);\n    s = pow(max(s, 0.0), 1.0/3.0);\n    \n    return vec3(\n        0.2104542553 * l + 0.7936177850 * m - 0.0040720468 * s,\n        1.9779984951 * l - 2.4285922050 * m + 0.4505937099 * s,\n        0.0259040371 * l + 0.7827717662 * m - 0.8086757660 * s\n    );\n}\n\nvec3 oklabToLinear(vec3 c) {\n    float l = c.x + 0.3963377774 * c.y + 0.2158037573 * c.z;\n    float m = c.x - 0.1055613458 * c.y - 0.0638541728 * c.z;\n    float s = c.x - 0.0894841775 * c.y - 1.2914855480 * c.z;\n    \n    l = l * l * l;\n    m = m * m * m;\n    s = s * s * s;\n    \n    return vec3(\n        +4.0767416621 * l - 3.3077115913 * m + 0.2309699292 * s,\n        -1.2684380046 * l + 2.6097574011 * m - 0.3413193965 * s,\n        -0.0041960863 * l - 0.7034186147 * m + 1.7076147010 * s\n    );\n}\n\nvec3 oklabToLch(vec3 lab) {\n    return vec3(lab.x, length(lab.yz), atan(lab.z, lab.y));\n}\n\nvec3 lchToOklab(vec3 lch) {\n    return vec3(lch.x, lch.y * cos(lch.z), lch.y * sin(lch.z));\n}\n\nvec3 mixLch(vec3 lab0, vec3 lab1, float t) {\n    vec3 lch0 = oklabToLch(lab0);\n    vec3 lch1 = oklabToLch(lab1);\n    \n    if (lch0.y < 0.05) lch0.z = lch1.z;\n    if (lch1.y < 0.05) lch1.z = lch0.z;\n    \n    float dh = lch1.z - lch0.z;\n    if (dh > 3.14159265) dh -= 6.28318530;\n    if (dh < -3.14159265) dh += 6.28318530;\n    \n    return lchToOklab(vec3(\n        mix(lch0.x, lch1.x, t),\n        mix(lch0.y, lch1.y, t),\n        lch0.z + dh * t\n    ));\n}\n\n// === PALETTE SAMPLING ===\nvec3 getColor(int idx) {\n    if (u_colors_length < 1) return vec3(0.0);\n    int safeIdx = clamp(idx, 0, u_colors_length - 1);\n    return u_colors[safeIdx].rgb;\n}\n\nvec3 paletteN(float t, int count) {\n    if (count < 1) return vec3(0.0);\n    if (count < 2) return toLinear(getColor(0));\n    \n    float segmentSize = 1.0 / float(count - 1);\n    t = clamp(t, 0.0, 1.0);\n    int idx = min(int(floor(t / segmentSize)), count - 2);\n    float localT = clamp((t - float(idx) * segmentSize) / segmentSize, 0.0, 1.0);\n    \n    vec3 lab0 = linearToOklab(toLinear(getColor(idx)));\n    vec3 lab1 = linearToOklab(toLinear(getColor(idx + 1)));\n    \n    return oklabToLinear(mixLch(lab0, lab1, localT));\n}\n\n// === DITHER ===\nfloat IGN(vec2 uv) {\n    return fract(52.9829189 * fract(dot(uv, vec2(0.06711056, 0.00583715))));\n}\n\nfloat quickNoise(vec2 I) {\n    return fract(sin(dot(I, vec2(12.9898, 78.233))) * 43758.5453);\n}\n\n// Dither Mode: 0=Off, 1=IGN, 2=quickNoise\nfloat getDither(vec2 I, float mode) {\n    if (mode < 0.5) return 0.5;          // 0: Off\n    if (mode < 1.5) return IGN(I);       // 1: Smooth\n    return quickNoise(I);                // 2: Grain\n}\n\n// === POST-PROCESS ===\nvec3 softGamutMap(vec3 linearRgb) {\n    float maxC = max(linearRgb.r, max(linearRgb.g, linearRgb.b));\n    float minC = min(linearRgb.r, min(linearRgb.g, linearRgb.b));\n    \n    if (minC >= 0.0 && maxC <= 1.0) return linearRgb;\n    \n    vec3 lab = linearToOklab(max(linearRgb, 0.0));\n    float L = clamp(lab.x, 0.0, 1.0);\n    float C = length(lab.yz);\n    float h = atan(lab.z, lab.y);\n    \n    float maxChroma = 0.4 * (1.0 - pow(abs(2.0 * L - 1.0), 2.0));\n    \n    if (C > maxChroma * 0.7) {\n        float knee = maxChroma * 0.7;\n        C = knee + (maxChroma - knee) * tanh((C - knee) / (maxChroma - knee + 0.001));\n    }\n    \n    return clamp(oklabToLinear(vec3(L, C * cos(h), C * sin(h))), 0.0, 1.0);\n}\n\nvec3 applyContrastSaturation(vec3 linearRgb, float contrast, float saturation) {\n    vec3 lab = linearToOklab(linearRgb);\n    float C = length(lab.yz);\n    float h = atan(lab.z, lab.y);\n    \n    lab.x = clamp((lab.x - 0.5) * contrast + 0.5, 0.0, 1.0);\n    C *= saturation;\n    lab.y = C * cos(h);\n    lab.z = C * sin(h);\n    \n    return oklabToLinear(lab);\n}\n\n// === MAIN ===\nvoid main() {\n    vec2 fragCoord = v_uv * u_resolution;\n    vec2 r = u_resolution;\n    vec2 p = (fragCoord * 2.0 - r) / r.y;\n    \n    int colorCount = u_colors_length;\n    \n    // Early out: no colors -> black\n    if (colorCount < 1) {\n        fragColor = vec4(0.0, 0.0, 0.0, 1.0);\n        return;\n    }\n\n    float t = u_time * 0.3;\n    \n    // Map time onto a circle so animation seamlessly wraps.\n    float looping = step(0.5, u_loop);\n    float phase = TAU * u_time / max(u_loop, 0.01);\n    float radius = u_loop * u_speed * 0.3 / TAU;\n    float tA = sin(phase) * radius;\n    float tB = (1.0 - cos(phase)) * radius;\n    \n    // Seed-based offsets\n    vec3 seedOffset = seedRandom(u_seed);\n    vec3 seedOffset2 = seedRandom(u_seed + 100.0);\n    \n    // Golden angle rotation\n    float seedAngle = u_seed * GOLDEN_ANGLE;\n    vec2 seedPhase = (seedOffset2.xy - 0.5) * TAU;\n    \n    // Seed-based rotation\n    float cs = cos(seedAngle);\n    float sn = sin(seedAngle);\n    p = mat2(cs, -sn, sn, cs) * p;\n    \n    // Get dither value\n    float dither = getDither(floor(fragCoord / u_pixelRatio), u_ditherMode);\n    \n    // === TURBULENCE ===\n    float totalVal = 0.0;\n    float totalWeight = 0.0;\n    int turbIter = int(u_turbIter);\n    \n    float freq = 1.0 / max(u_turbFreq, 0.01);\n    \n    for (float i = 0.0; i < 4.0; i++) {\n        float eph = i / 4.0;\n       \n        vec2 q = p * u_scale;\n        float sq = eph * eph;\n        \n        if (u_jellify > 0.5) {\n            q.yx *= mix(1.0, 0.5, 1.0 - exp(-sq));\n        }\n        \n        float a = seedPhase.x;\n        float d = seedPhase.y;\n        \n        for (int j = 2; j < 13; j++) {\n            if (j >= turbIter) break;\n            float fj = float(j);\n            // When looping, use circular time. Otherwise original t.\n            float t1 = mix(t * u_speed, tA, looping);\n            float t2 = mix(t * u_speed, tB, looping);\n            q += u_turbAmp * sin(q.yx / freq * fj + t1 + vec2(a, d) + seedOffset.xy * fj) / fj;\n            a += cos(fj + d * 1.2 + q.x * 2.0 - t1 + seedOffset2.z + t2 * 0.3 * looping);\n            d += sin(fj * q.y + a + seedOffset.z + t1 + seedOffset2.y + t2 * 0.3 * looping);\n        }\n        \n        float v = 0.5 + 0.5 * sin(length(q.yx + vec2(a, d) * 0.2) * u_waveFreq + i * i + seedOffset.x);\n        float weight = smoothstep(0.0, 0.5, eph) * smoothstep(1.0, 0.5, eph);\n        totalVal += v * weight;\n        totalWeight += weight;\n    }\n    \n    float val = totalVal / totalWeight;\n    val = clamp((val - 0.3) / 0.4, 0.0, 1.0);\n    val = pow(val, exp(-u_distBias));\n    val = clamp(val + (dither - 0.5) * u_dither, 0.0, 1.0);\n    \n    vec3 col = paletteN(val, colorCount);\n    col *= u_exposure;\n    col = applyContrastSaturation(col, u_contrast, u_saturation);\n    col = softGamutMap(col);\n    col = toSrgb(col);\n    \n    fragColor = vec4(col, 1.0);\n}\n`,propertyControls:{colors:{type:ControlType.Array,title:\"Colors\",control:{type:ControlType.Color},maxCount:8,defaultValue:[\"#000329\",\"#0080FF\",\"#FF8330\"]},seed:{type:ControlType.Number,title:\"Seed\",defaultValue:40,min:0,max:1e3,step:1},speed:{type:ControlType.Number,title:\"Speed\",defaultValue:.3,min:0,max:2,step:.01},loop:{type:ControlType.Number,title:\"Loop\",defaultValue:0,min:0,max:60,step:.5,hiddenWhenUnset:true,displayStepper:true},scale:{type:ControlType.Number,title:\"Scale\",defaultValue:1.1,min:.1,max:2,step:.01},turbAmp:{type:ControlType.Number,title:\"Amplitude\",defaultValue:.5,min:0,max:1,step:.01},turbFreq:{type:ControlType.Number,title:\"Frequency\",defaultValue:.2,min:.1,max:2,step:.01},turbIter:{type:ControlType.Number,title:\"Definition\",defaultValue:7,min:3,max:10,step:1,displayStepper:true},waveFreq:{type:ControlType.Number,title:\"Bands\",defaultValue:2,min:.1,max:5,step:.1},distBias:{type:ControlType.Number,title:\"Bias\",defaultValue:0,min:-1,max:1,step:.1,hiddenWhenUnset:true},jellify:{type:ControlType.Boolean,title:\"Jellify\",defaultValue:false,hiddenWhenUnset:true},ditherMode:{type:ControlType.Enum,title:\"Noise\",options:[0,1,2],optionTitles:[\"Off\",\"Smooth\",\"Grain\"],defaultValue:0},dither:{type:ControlType.Number,title:\"Amount\",defaultValue:.05,min:0,max:.2,step:.01,hidden:props=>props.ditherMode===0},exposure:{type:ControlType.Number,title:\"Exposure\",defaultValue:1,min:.5,max:2,step:.1,section:\"Filters\",displayStepper:true,hiddenWhenUnset:true},contrast:{type:ControlType.Number,title:\"Contrast\",defaultValue:1.2,min:.5,max:2,step:.1,section:\"Filters\",displayStepper:true,hiddenWhenUnset:true},saturation:{type:ControlType.Number,title:\"Saturation\",defaultValue:1,min:0,max:2,step:.1,section:\"Filters\",displayStepper:true,hiddenWhenUnset:true}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"shader\",\"name\":null,\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./LiquidGradient.map","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 4.5 9 C 2.015 9 0 6.985 0 4.5 L 0 4.5 C 0 2.015 2.015 0 4.5 0 L 16.5 0 C 18.985 0 21 2.015 21 4.5 L 21 4.5 C 21 6.985 18.985 9 16.5 9 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"9px\" id=\"cFizItON6\" transform=\"translate(1.5 7.5)\" width=\"21px\"/><path d=\"M 0 0 L 9 0\" fill=\"transparent\" height=\"1px\" id=\"yPLoNSpls\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(7.5 12)\" width=\"9px\"/><path d=\"M 8.25 9 L 4.5 9 C 2.015 9 0 6.985 0 4.5 C 0 2.015 2.015 0 4.5 0 L 8.25 0\" fill=\"transparent\" height=\"9px\" id=\"BIctovaDR\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(1.5 7.5)\" width=\"8.25px\"/><path d=\"M 0 0 L 3.75 0 C 6.235 0 8.25 2.015 8.25 4.5 L 8.25 4.5 C 8.25 6.985 6.235 9 3.75 9 L 0 9\" fill=\"transparent\" height=\"9px\" id=\"HfXDK7CIT\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(14.25 7.5)\" width=\"8.25px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"3159389296\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-MoNqW\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-MoNqW { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Link Simple Horizontal\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-MoNqW\");Icon.displayName=\"Link Simple Horizontal\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerVector\":\"{\\\"name\\\":\\\"Link Simple Horizontal\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerDisableUnlink\":\"true\",\"framerImmutableVariables\":\"true\",\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\",\"framerIntrinsicWidth\":\"24\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"24\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx}from\"react/jsx-runtime\";import React,{useState}from\"react\";import{motion}from\"framer-motion\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{ComponentMessage}from\"https://framer.com/m/Utils-FINc.js\";/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerIntrinsicWidth 300\n * @framerIntrinsicHeight 400\n * @framerDisableUnlink\n */export default function CardStack({mode=\"images\",cardCount=4,content=[],image1,image2,image3,image4,image5,image6,image7,image8,image9,image10,cardRadius=16,swipeThreshold=250,tiltAngle=8,tiltAngleStart=0,xOffset=50,perspective=1e3,depthSpacing=30,transition={type:\"spring\",stiffness:300,damping:30},style,cardShadow=\"0 10px 25px rgba(0, 0, 0, 0.15)\"}){// Determine the number of cards based on mode\nconst actualCardCount=mode===\"components\"?content.length>0?content.length:4:cardCount;// Initialize cards with stable IDs and image indices\nconst[cards,setCards]=useState(()=>Array.from({length:actualCardCount},(_,i)=>({id:i+1,content:`Card ${i+1}`,imageIndex:i})));// Track if currently dragging\nconst[isDragging,setIsDragging]=useState(false);// Track if pointer is pressed down\nconst[isPressed,setIsPressed]=useState(false);// Track if card should return to center\nconst[shouldReturnToCenter,setShouldReturnToCenter]=useState(false);// Update cards when cardCount or content changes\nReact.useEffect(()=>{setCards(prevCards=>{if(prevCards.length!==actualCardCount){return Array.from({length:actualCardCount},(_,i)=>({id:i+1,content:`Card ${i+1}`,imageIndex:i}));}return prevCards;});},[actualCardCount]);// Handle pointer press down\nconst handlePointerDown=()=>{setIsPressed(true);};// Handle pointer release\nconst handlePointerUp=()=>{setIsPressed(false);};// Handle drag start\nconst handleDragStart=()=>{setIsDragging(true);};// Handle drag end - check if card should move to bottom\nconst handleDragEnd=info=>{setIsDragging(false);setIsPressed(false)// Also reset press state when drag ends\n;const{offset}=info;// Check if dragged far enough in any direction (2D distance)\nconst distance=Math.sqrt(offset.x*offset.x+offset.y*offset.y);if(distance>swipeThreshold){// Move top card to bottom (reorder existing cards)\nsetCards(prevCards=>{const[topCard,...restCards]=prevCards;return[...restCards,topCard]// Simply move to end, keep same ID\n;});}else{// If distance < swipeThreshold, return card to center\nsetShouldReturnToCenter(true);// Reset the flag after a short delay\nsetTimeout(()=>setShouldReturnToCenter(false),1e3);}};// Get card styling based on position in stack\nconst getCardStyle=index=>{const totalCards=cards.length;const stackOffset=index*8;const scaleValue=1-index*.05;// Distribute tilt angle from tiltAngleStart (first card) to tiltAngle (last card)\nconst rotationValue=totalCards>1?tiltAngleStart+index/(totalCards-1)*(tiltAngle-tiltAngleStart):tiltAngleStart;// Distribute X offset from 0 (first card) to max offset (last card)\nconst xOffsetValue=totalCards>1?index/(totalCards-1)*xOffset:0;const depthOffset=index*depthSpacing;// If this is the top card and should return to center, override position\nconst isTopCard=index===0;const shouldReturn=isTopCard&&shouldReturnToCenter;return{zIndex:cards.length-index,scale:scaleValue,x:shouldReturn?0:xOffsetValue,y:shouldReturn?0:-stackOffset,rotate:shouldReturn?0:rotationValue,z:-depthOffset,opacity:1};};// Check if we're in canvas mode\nconst isCanvas=RenderTarget.current()===RenderTarget.canvas;return /*#__PURE__*/_jsx(\"div\",{style:{...style,width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",position:\"relative\",perspective:`${perspective}px`},children:cards.map((card,index)=>{const isTopCard=index===0;const cardStyle=getCardStyle(index);// Get image or component for this card using its imageIndex (stays with the card)\nconst images=[image1,image2,image3,image4,image5,image6,image7,image8,image9,image10];const cardImage=images[card.imageIndex];const cardComponent=content[card.imageIndex];return /*#__PURE__*/_jsx(motion.div,{drag:isTopCard&&!isCanvas?true:false,dragConstraints:{left:0,right:0,top:0,bottom:0},dragElastic:.7,dragMomentum:false,dragTransition:{bounceStiffness:300,bounceDamping:20},onMouseDown:isTopCard&&!isCanvas?handlePointerDown:undefined,onMouseUp:isTopCard&&!isCanvas?handlePointerUp:undefined,onDragStart:isTopCard&&!isCanvas?handleDragStart:undefined,onDragEnd:isTopCard&&!isCanvas?(_,info)=>handleDragEnd(info):undefined,animate:cardStyle,transition:{x:isCanvas?{duration:0}:transition,y:isCanvas?{duration:0}:transition,rotate:isCanvas?{duration:0}:transition,scale:isCanvas?{duration:0}:transition,zIndex:{duration:.3,ease:\"easeOut\"},z:{duration:.3,ease:\"easeOut\"}},initial:isCanvas?cardStyle:false,style:{position:\"absolute\",width:\"100%\",height:\"100%\",backgroundColor:mode===\"images\"?\"rgba(243, 239, 255, 0.8)\":\"transparent\",borderRadius:cardRadius,display:\"flex\",alignItems:\"center\",backdropFilter:mode===\"images\"&&!cardImage?\"blur(10px)\":\"none\",justifyContent:\"center\",fontSize:\"32px\",fontWeight:\"300\",fontFamily:\"system-ui\",color:\"#9967FF\",cursor:isTopCard&&!isCanvas?isPressed?\"grabbing\":\"grab\":\"default\",userSelect:\"none\",boxShadow:cardShadow,backgroundImage:mode===\"images\"&&cardImage?`url(${cardImage.src})`:undefined,backgroundSize:\"cover\",backgroundPosition:\"center\",backgroundRepeat:\"no-repeat\",overflow:\"hidden\",border:mode===\"images\"&&!cardImage||mode===\"components\"&&!cardComponent?\"1.5px solid #9967FF\":\"none\"},whileDrag:{scale:1.05,rotate:tiltAngleStart,zIndex:1e3},children:mode===\"images\"?!cardImage&&/*#__PURE__*/_jsx(ComponentMessage,{title:card.content,subtitle:\"Add an image in the properties to fill this card\"}):/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",position:\"relative\",backgroundColor:!cardComponent?\"rgba(243, 239, 255, 0.8)\":\"transparent\",backdropFilter:!cardComponent?\"blur(10px)\":\"none\"},children:cardComponent?/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",position:\"absolute\",top:0,left:0},children:/*#__PURE__*/React.cloneElement(cardComponent,{style:{width:\"100%\",height:\"100%\",position:\"absolute\",top:0,left:0,//ts-ignore\n...cardComponent.props?.style}})}):/*#__PURE__*/_jsx(ComponentMessage,{style:{width:\"100%\",height:\"100%\",position:\"absolute\",top:0,left:0},title:card.content,subtitle:\"Add components to the Content property control to fill this card\"})})},card.id);})});}addPropertyControls(CardStack,{mode:{type:ControlType.Enum,title:\"Mode\",options:[\"images\",\"components\"],optionTitles:[\"Images\",\"Components\"],defaultValue:\"images\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},content:{type:ControlType.Array,title:\"Content\",control:{type:ControlType.ComponentInstance},hidden:props=>props.mode===\"images\"},cardCount:{type:ControlType.Number,title:\"Count\",min:2,max:10,step:1,defaultValue:4,hidden:props=>props.mode===\"components\"},image1:{type:ControlType.ResponsiveImage,title:\"Image 1\",hidden:props=>props.mode!==\"images\"},image2:{type:ControlType.ResponsiveImage,title:\"Image 2\",hidden:props=>props.mode!==\"images\"||(props?.cardCount??5)<2},image3:{type:ControlType.ResponsiveImage,title:\"Image 3\",hidden:props=>props.mode!==\"images\"||(props?.cardCount??5)<3},image4:{type:ControlType.ResponsiveImage,title:\"Image 4\",hidden:props=>props.mode!==\"images\"||(props?.cardCount??5)<4},image5:{type:ControlType.ResponsiveImage,title:\"Image 5\",hidden:props=>props.mode!==\"images\"||(props?.cardCount??5)<5},image6:{type:ControlType.ResponsiveImage,title:\"Image 6\",hidden:props=>props.mode!==\"images\"||(props?.cardCount??5)<6},image7:{type:ControlType.ResponsiveImage,title:\"Image 7\",hidden:props=>props.mode!==\"images\"||(props?.cardCount??5)<7},image8:{type:ControlType.ResponsiveImage,title:\"Image 8\",hidden:props=>props.mode!==\"images\"||(props?.cardCount??5)<8},image9:{type:ControlType.ResponsiveImage,title:\"Image 9\",hidden:props=>props.mode!==\"images\"||(props?.cardCount??5)<9},image10:{type:ControlType.ResponsiveImage,title:\"Image 10\",hidden:props=>props.mode!==\"images\"||(props?.cardCount??5)<10},cardRadius:{type:ControlType.Number,title:\"Radius\",min:0,max:50,defaultValue:16,unit:\"px\"},swipeThreshold:{type:ControlType.Number,title:\"Min Swipe\",min:50,max:1e3,defaultValue:250,unit:\"px\",step:10},tiltAngleStart:{type:ControlType.Number,title:\"Angle Start\",min:-180,max:180,step:.5,defaultValue:0,unit:\"deg\"},tiltAngle:{type:ControlType.Number,title:\"Angle End\",min:-180,max:180,step:.5,defaultValue:8,unit:\"deg\"},xOffset:{type:ControlType.Number,title:\"X Offset\",min:-200,max:200,step:10,defaultValue:50,unit:\"px\"},perspective:{type:ControlType.Number,title:\"Perspective\",min:500,max:2e3,step:50,defaultValue:1e3,unit:\"px\"},depthSpacing:{type:ControlType.Number,title:\"Depth\",min:10,max:100,step:5,defaultValue:30,unit:\"px\"},cardShadow:{//@ts-ignore\ntype:ControlType.BoxShadow,title:\"Shadow\"},transition:{type:ControlType.Transition,title:\"Transition\",defaultValue:{type:\"spring\",stiffness:300,damping:30},description:\"More components at [Framer University](https://frameruni.link/cc).\"}});CardStack.displayName=\"Swipe Card Stack\";\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CardStack\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"400\",\"framerIntrinsicWidth\":\"300\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SwipeCardStack_prod.map"],"mappings":"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"}