{"version":3,"file":"AnimatedLogoStack.D66iPyvB.mjs","names":["useLayoutEffect","useEffect","React.useState","useRef","useMemo"],"sources":["https:/framerusercontent.com/modules/5sD1L34Nn4AzaFRyCPrW/BT9HMtTDsUFnXFBXXei7/useIsomorphicLayoutEffect.js","https:/framer.com/m/framer/useIsomorphicLayoutEffect.js@^0.2.0","https:/framerusercontent.com/modules/GBoYA6hnuFwSZZCbht26/cguAGhuQfx1BXbfShe7V/useMeasuredSize.js","https:/framer.com/m/framer/useMeasuredSize.js","https:/framerusercontent.com/modules/aWiXZZ6tx79f319hlXas/HZ7UolQNTnFmEDnTSCiF/AnimatedLogoStack.js"],"sourcesContent":["import{useLayoutEffect,useEffect}from\"react\";/**\n * Swaps `useLayoutEffect` for `useEffect` on the server to avoid React warnings.\n * NOTE! The effect won't run on the server.\n */ export const useIsomorphicLayoutEffect=typeof document!==\"undefined\"?useLayoutEffect:useEffect;\nexport const __FramerMetadata__ = {\"exports\":{\"useIsomorphicLayoutEffect\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useIsomorphicLayoutEffect.map","/*\n * useIsomorphicLayoutEffect (framer/useIsomorphicLayoutEffect@0.2.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/5sD1L34Nn4AzaFRyCPrW/BT9HMtTDsUFnXFBXXei7/useIsomorphicLayoutEffect.js\"\n","import*as React from\"react\";import{useIsomorphicLayoutEffect}from\"https://framer.com/m/framer/useIsomorphicLayoutEffect.js@^0.2.0\";let safeResizeObserver=undefined;try{if(typeof window!==undefined){safeResizeObserver=window.ResizeObserver;}}catch(e){// happy linting!\n}class SharedObserver{//@ts-ignore\nupdateResizedElements(entries){for(const entry of entries){const callbackForElement=this.callbacks.get(entry.target);if(callbackForElement)callbackForElement(entry.contentRect);}}observeElementWithCallback(element,callback){if(!this.sharedResizeObserver)return;this.sharedResizeObserver.observe(element);this.callbacks.set(element,callback);}unobserve(element){if(!this.sharedResizeObserver)return;this.sharedResizeObserver.unobserve(element);this.callbacks.delete(element);}constructor(){this.callbacks=new WeakMap();const ResizeObserver1=safeResizeObserver;if(!ResizeObserver1)return;this.sharedResizeObserver=new ResizeObserver1(this.updateResizedElements.bind(this));}}const sharedResizeObserver=new SharedObserver();/**\n * Uses a globally shared resize observer, and returns an updated\n * size object when the element's size changes. This is the recommended way to\n * use a Resize Observer: https://github.com/WICG/resize-observer/issues/59.\n */ export function useMeasuredSize(ref,callback){const[size,setSize]=React.useState(null);function updateSize(newSize){if(!size||newSize.height!==size.height||newSize.width!==size.width){if(callback)callback(newSize);setSize({width:newSize.width,height:newSize.height});}}// On mount, immediately measure and set a size. This will defer paint until\n// no more updates are scheduled. Additionally add our element to the shared\n// ResizeObserver with a callback to perform when the element resizes.\n// Finally, remove the element from the observer when the component is unmounted.\nuseIsomorphicLayoutEffect(()=>{if(!ref.current)return;const{offsetWidth,offsetHeight}=ref.current;// Defer paint until initial size is added.\nupdateSize({width:offsetWidth,height:offsetHeight});// Resize observer will race to add the initial size, but since the size\n// is set above, it won't trigger a render on mount since it should\n// match the measured size. Future executions of the callback will\n// trigger renders if the size changes.\nsharedResizeObserver.observeElementWithCallback(ref.current,updateSize);return()=>{if(!ref.current)return;sharedResizeObserver.unobserve(ref.current);};},[]);return size;}export function useSizeChange(ref,callback){const size=React.useRef(null);const updateSize=React.useCallback(newSize=>{if(!size.current||newSize.height!==size.current.height||newSize.width!==size.current.width){size.current={width:newSize.width,height:newSize.height};if(callback)callback(size.current);}},[callback]);// On mount, immediately measure and set a size. This will defer paint until\n// no more updates are scheduled. Additionally add our element to the shared\n// ResizeObserver with a callback to perform when the element resizes.\n// Finally, remove the element from the observer when the component is unmounted.\nuseIsomorphicLayoutEffect(()=>{if(!ref.current)return;const{offsetWidth,offsetHeight}=ref.current;// Defer paint until initial size is added.\nupdateSize({width:offsetWidth,height:offsetHeight});// Resize observer will race to add the initial size, but since the size\n// is set above, it won't trigger a render on mount since it should\n// match the measured size. Future executions of the callback will\n// trigger renders if the size changes.\nsharedResizeObserver.observeElementWithCallback(ref.current,updateSize);return()=>{if(!ref.current)return;sharedResizeObserver.unobserve(ref.current);};},[callback]);return null;}\nexport const __FramerMetadata__ = {\"exports\":{\"useSizeChange\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMeasuredSize\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useMeasuredSize.map","/*\n * useMeasuredSize (framer/useMeasuredSize@0.13.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/GBoYA6hnuFwSZZCbht26/cguAGhuQfx1BXbfShe7V/useMeasuredSize.js\"\n","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{animate,motion,useAnimationFrame,useMotionValue,useTransform}from\"framer-motion\";import{useEffect,useMemo,useRef}from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{useMeasuredSize}from\"https://framer.com/m/framer/useMeasuredSize.js\";const variants=[\"Fill\",\"Outline\"];const LogoOutline=()=>/*#__PURE__*/_jsx(\"div\",{className:\"flex aspect-square w-[500px] items-center justify-center\",children:/*#__PURE__*/_jsxs(\"svg\",{width:\"100%\",height:\"100%\",viewBox:\"0 0 838 700\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M551.52 699.835L0.165455 699.835L0.165473 500.165L208.642 500.165L208.342 499.881L65.1928 363.845C53.6386 352.865 44.9795 344.636 38.5678 337.541C32.1574 330.448 28.0021 324.497 25.4497 318.078C20.9444 306.747 19.9247 294.432 22.5092 282.571C23.9735 275.852 27.0977 269.358 32.2612 261.399C37.426 253.439 44.6234 244.024 54.228 231.461L198.839 42.3077C210.668 26.836 216.563 19.1267 224.113 13.5616C230.802 8.63016 238.414 4.94523 246.544 2.70025C255.721 0.166595 265.751 0.165092 285.874 0.165094L837.232 0.165142L837.232 199.835L628.755 199.835L629.054 200.119L772.196 336.119C783.751 347.098 792.411 355.327 798.824 362.421C805.235 369.514 809.392 375.464 811.945 381.883C816.451 393.214 817.472 405.529 814.888 417.391C813.424 424.11 810.3 430.605 805.137 438.565C799.973 446.526 792.775 455.941 783.171 468.505L638.557 657.687C626.729 673.16 620.833 680.871 613.284 686.437C606.594 691.369 598.982 695.055 590.851 697.3C581.674 699.834 571.643 699.835 551.52 699.835ZM418.73 500.165C487.505 500.165 546.028 458.404 567.728 400.077C573.564 384.419 576.724 367.54 576.724 350C576.724 333.008 573.758 316.655 568.267 301.432L567.728 299.962C546.26 242.197 488.686 200.658 420.776 199.856L420.776 199.856C420.1 199.835 419.403 199.835 418.73 199.835C418.057 199.835 417.36 199.835 416.684 199.856L416.685 199.856C348.775 200.658 291.179 242.197 269.711 299.962C263.875 315.6 260.715 332.44 260.715 350C260.715 367.56 263.897 384.419 269.711 400.077C291.411 458.404 349.955 500.165 418.73 500.165Z\",fill:\"white\",stroke:\"#4F7BB0\",strokeWidth:\"0.33\"}),/*#__PURE__*/_jsx(\"g\",{clipPath:\"url(#clip0_6009_31)\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M418.698 517.835C511.391 517.835 586.533 442.693 586.533 350C586.533 257.307 511.391 182.165 418.698 182.165C326.006 182.165 250.863 257.307 250.863 350C250.863 442.693 326.006 517.835 418.698 517.835Z\",fill:\"white\",stroke:\"#4F7BB0\",strokeWidth:\"0.33\",strokeDasharray:\"8 8\"})}),/*#__PURE__*/_jsx(\"defs\",{children:/*#__PURE__*/_jsx(\"clipPath\",{id:\"clip0_6009_31\",children:/*#__PURE__*/_jsx(\"rect\",{width:\"336\",height:\"336\",fill:\"white\",transform:\"translate(250.698 182)\"})})})]})});const LogoFill=()=>/*#__PURE__*/_jsx(\"div\",{className:\"flex aspect-square w-[1760px] items-center justify-center\",children:/*#__PURE__*/_jsxs(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:\"100%\",height:\"100%\",viewBox:\"0 0 1760 1277\",children:[/*#__PURE__*/_jsx(\"path\",{filter:\"url(#shadow)\",d:\"M1657.71 57.1441L672.115 240.902C648.782 245.252 637.116 247.427 627.01 252.477C618.061 256.949 610.04 263.046 603.37 270.449C595.838 278.807 590.717 289.394 580.474 310.569L455.181 569.577C438.542 603.973 430.223 621.172 429.841 638.051C429.506 652.929 433.465 667.572 441.256 680.271C450.096 694.679 465.962 705.395 497.695 726.826L694.261 859.581L57.144 978.367L102.031 1219.12L1137.37 1026.09C1160.7 1021.74 1172.37 1019.56 1182.47 1014.51C1191.42 1010.04 1199.44 1003.95 1206.11 996.545C1213.64 988.188 1218.76 977.602 1229.01 956.429L1354.3 697.457C1370.94 663.062 1379.26 645.865 1379.65 628.986C1379.98 614.109 1376.03 599.465 1368.23 586.766C1359.4 572.358 1343.53 561.641 1311.8 540.207L1115.22 407.411L1702.6 297.898L1657.71 57.1441Z\",fill:\"url(#paint_fill)\",stroke:\"url(#paint_stroke)\",strokeWidth:\"2.10112\",strokeLinejoin:\"round\",strokeLinecap:\"round\"}),/*#__PURE__*/_jsxs(\"defs\",{children:[/*#__PURE__*/_jsx(\"filter\",{id:\"shadow\",x:\"-20%\",y:\"-20%\",width:\"140%\",height:\"140%\",filterUnits:\"objectBoundingBox\",colorInterpolationFilters:\"sRGB\",children:/*#__PURE__*/_jsx(\"feDropShadow\",{dx:\"0\",dy:\"2.4\",stdDeviation:\"8\",floodColor:\"#000\",floodOpacity:\"0.05\"})}),/*#__PURE__*/_jsxs(\"linearGradient\",{id:\"paint_fill\",x1:\"801.317\",y1:\"216.813\",x2:\"1006.02\",y2:\"1314.76\",gradientUnits:\"userSpaceOnUse\",children:[/*#__PURE__*/_jsx(\"stop\",{stopColor:\"#A8F8FF\"}),/*#__PURE__*/_jsx(\"stop\",{offset:\"1\",stopColor:\"white\"})]}),/*#__PURE__*/_jsxs(\"linearGradient\",{id:\"paint_stroke\",x1:\"826.187\",y1:\"212.176\",x2:\"983.292\",y2:\"1054.82\",gradientUnits:\"userSpaceOnUse\",children:[/*#__PURE__*/_jsx(\"stop\",{stopColor:\"#E8FFFF\",stopOpacity:\"0.25\"}),/*#__PURE__*/_jsx(\"stop\",{offset:\"1\",stopColor:\"#E8FFFF\"})]})]})]})});const defaults={repeat:8,speed:.25,minAngle:0,maxAngle:360,scale:1,childScaleMultiplier:1,childSpeedMultiplier:1,childOffset:0,motionTransition:{type:\"spring\",stiffness:800,damping:60},variant:\"Outline\"};function Instance({i,repeatCount,startAngleMV,deltaShortestMV,baseScaleMV,childScaleMultMV,childSpeedMultMV,childOffsetMV,loopClock,spinClock,spinModeMV,spinDegreesPerCycleMV,children}){const normalizedIndex=repeatCount>1?i/(repeatCount-1):0;const childScaleMultPowMV=useTransform(childScaleMultMV,v=>Math.pow(Math.max(0,v),i));const perChildSpeedPowMV=useTransform(childSpeedMultMV,v=>Math.pow(Math.max(0,v),i));const childOffsetPhaseMV=useTransform(childOffsetMV,v=>normalizedIndex*v);const spinPhase=useTransform([spinClock,perChildSpeedPowMV,childOffsetPhaseMV],([spin,speedPow,offset])=>spin*speedPow+offset);const loopPhase=useTransform([loopClock,perChildSpeedPowMV,childOffsetPhaseMV],([loop,speedPow,offset])=>(loop*speedPow+offset)%1);const rotationSpin=useTransform([startAngleMV,spinDegreesPerCycleMV,spinPhase],([start,spinDeg,phase])=>start+spinDeg*phase);const rotationBackForth=useTransform([startAngleMV,deltaShortestMV,loopPhase],([start,deltaShortest,phase])=>{const eased=Math.sin(2*Math.PI*phase)*.5+.5;return start+eased*deltaShortest;});const rotation=useTransform([spinModeMV,rotationSpin,rotationBackForth],([spinMode,rotSpin,rotLoop])=>spinMode>.5?rotSpin:rotLoop);const scaleValue=useTransform([baseScaleMV,childScaleMultPowMV],([base,multPow])=>base*multPow);return /*#__PURE__*/_jsx(motion.div,{style:{position:\"absolute\",inset:0,display:\"flex\",justifyContent:\"center\",alignItems:\"center\",rotate:rotation,scale:scaleValue,transformOrigin:\"center\"},children:children});}/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerIntrinsicHeight 600\n * @framerIntrinsicWidth 1200\n */export default function AnimatedLogoStack({repeat=defaults.repeat,speed=defaults.speed,minAngle=defaults.minAngle,maxAngle=defaults.maxAngle,scale=defaults.scale,childScaleMultiplier=defaults.childScaleMultiplier,childSpeedMultiplier=defaults.childSpeedMultiplier,childOffset=defaults.childOffset,motionTransition=defaults.motionTransition,variant=defaults.variant,style={},...props}){const containerRef=useRef(null);const measuredSize=useMeasuredSize(containerRef);const containerWidth=measuredSize?.width??320;const containerHeight=measuredSize?.height??260;const repeatCount=Math.max(1,Math.floor(repeat||1));const instanceIndices=useMemo(()=>Array.from({length:repeatCount},(_,i)=>i),[repeatCount]);const speedMV=useMotionValue(speed);const minAngleMV=useMotionValue(minAngle);const maxAngleMV=useMotionValue(maxAngle);const scaleMV=useMotionValue(scale);const childScaleMultMV=useMotionValue(childScaleMultiplier);const childSpeedMultMV=useMotionValue(childSpeedMultiplier);const childOffsetMV=useMotionValue(childOffset);useEffect(()=>{const c=animate(speedMV,Math.max(0,speed),motionTransition);return()=>c.stop();},[speed,motionTransition]);useEffect(()=>{const c=animate(minAngleMV,minAngle,motionTransition);return()=>c.stop();},[minAngle,motionTransition]);useEffect(()=>{const c=animate(maxAngleMV,maxAngle,motionTransition);return()=>c.stop();},[maxAngle,motionTransition]);useEffect(()=>{const c=animate(scaleMV,Math.max(0,scale),motionTransition);return()=>c.stop();},[scale,motionTransition]);useEffect(()=>{const c=animate(childScaleMultMV,Math.max(0,childScaleMultiplier),motionTransition);return()=>c.stop();},[childScaleMultiplier,motionTransition]);useEffect(()=>{const c=animate(childSpeedMultMV,Math.max(0,childSpeedMultiplier),motionTransition);return()=>c.stop();},[childSpeedMultiplier,motionTransition]);useEffect(()=>{const c=animate(childOffsetMV,Math.max(0,Math.min(1,childOffset)),motionTransition);return()=>c.stop();},[childOffset,motionTransition]);const deltaRawMV=useTransform([maxAngleMV,minAngleMV],([maxA,minA])=>maxA-minA);const deltaModMV=useTransform(deltaRawMV,delta=>(delta%360+360)%360);const fullCircleMV=useTransform([deltaModMV,deltaRawMV],([mod,raw])=>mod===0&&raw!==0?1:0);const deltaShortestWrappedMV=useTransform(deltaRawMV,delta=>((delta+180)%360+360)%360-180);const deltaShortestMV=useTransform([fullCircleMV,deltaShortestWrappedMV,deltaRawMV],([full,wrapped,raw])=>full?360*Math.sign(raw):wrapped);const spinModeMV=fullCircleMV;const spinDegreesPerCycleMV=useTransform(deltaRawMV,delta=>360*Math.sign(delta||1));const loopClock=useMotionValue(0);const spinClock=useMotionValue(0);useAnimationFrame((_,deltaMs)=>{const deltaSeconds=deltaMs/1e3;const speedNow=speedMV.get();loopClock.set((loopClock.get()+deltaSeconds*speedNow)%1);spinClock.set(spinClock.get()+deltaSeconds*speedNow);});return /*#__PURE__*/_jsx(motion.div,{ref:containerRef,style:{contain:\"layout paint\",width:containerWidth,height:containerHeight,position:\"relative\",overflow:\"clip\",minWidth:160,minHeight:160,z:1,...style},...props,children:/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,display:\"flex\",justifyContent:\"center\",alignItems:\"center\"},children:/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",height:\"100%\",width:\"100%\"},children:instanceIndices.map(i=>/*#__PURE__*/_jsxs(Instance,{i:i,repeatCount:repeatCount,startAngleMV:minAngleMV,deltaShortestMV:deltaShortestMV,baseScaleMV:scaleMV,childScaleMultMV:childScaleMultMV,childSpeedMultMV:childSpeedMultMV,childOffsetMV:childOffsetMV,loopClock:loopClock,spinClock:spinClock,spinModeMV:spinModeMV,spinDegreesPerCycleMV:spinDegreesPerCycleMV,children:[variant===\"Outline\"&&/*#__PURE__*/_jsx(LogoOutline,{}),variant===\"Fill\"&&/*#__PURE__*/_jsx(LogoFill,{})]},i))})})});}addPropertyControls(AnimatedLogoStack,{repeat:{type:ControlType.Number,title:\"Repeat\",defaultValue:defaults.repeat,step:1,displayStepper:true},speed:{type:ControlType.Number,title:\"Speed\",defaultValue:defaults.speed,step:.05,displayStepper:true},minAngle:{type:ControlType.Number,title:\"Min Angle\",defaultValue:defaults.minAngle},maxAngle:{type:ControlType.Number,title:\"Max Angle\",defaultValue:defaults.maxAngle},scale:{type:ControlType.Number,title:\"Scale\",defaultValue:defaults.scale,step:.05,displayStepper:true},childScaleMultiplier:{type:ControlType.Number,title:\"Child Scale Mult\",defaultValue:defaults.childScaleMultiplier,step:.05,displayStepper:true},childSpeedMultiplier:{type:ControlType.Number,title:\"Child Speed Mult\",defaultValue:defaults.childSpeedMultiplier,step:.05,displayStepper:true},childOffset:{type:ControlType.Number,title:\"Child Offset (0-1)\",defaultValue:defaults.childOffset,min:0,max:1,step:.01,displayStepper:true},motionTransition:{type:ControlType.Transition,title:\"Transition\",defaultValue:defaults.motionTransition},variant:{type:ControlType.Enum,title:\"Variant\",options:variants}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AnimatedLogoStack\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"1200\",\"framerSupportedLayoutHeight\":\"any\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any\",\"framerIntrinsicHeight\":\"600\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AnimatedLogoStack.map"],"mappings":"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"}