{"version":3,"file":"Examples.CFWISXio.mjs","names":["React.useContext","React.useMemo","React.Fragment","React.useRef","React.useId","UtilsComponentMessage","useState","useRef","useStore","useState","useState","e"],"sources":["https:/framerusercontent.com/modules/fMDE7Cqb2uOvQFAHEP2m/cRfVFRl0izzBulKFjOAe/W7oLCU4_B.js","https:/framer.com/m/Utils-Component-Message-ZVoG.js@cRfVFRl0izzBulKFjOAe","https:/framerusercontent.com/modules/aej5zpwxBpkMdzOteBwy/DWeAZ5wauvGM5oFwVdgS/Utils.js","https:/framer.com/m/Utils-FINc.js","https:/framerusercontent.com/modules/PYVd1T3YZoPfLVfKcMDG/VDvJb1f0Z8YmOQ4JK0OM/CircleAnimator_prod.js","https:/framerusercontent.com/modules/vj7bFUjvEQFgEzNBkdoG/vf3CKm378wlVcBk7IhSU/createStore.js","https:/framer.com/m/framer/store.js@^1.0.0","https:/framerusercontent.com/modules/WlBk6Llnq7VkrO9aJ75x/YuGGV6cPc4iSgufQHQ72/Examples.js"],"sourcesContent":["// Generated by Framer (0b8b5e5)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,RichText,SVG,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";const serializationHash=\"framer-q8Ttd\";const variantClassNames={XvqTw0Be9:\"framer-v-jjcw9a\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants===null||variants===void 0?void 0:variants.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value!==null&&value!==void 0?value:config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion(React.Fragment);const getProps=({height,id,subtitle,title,width,...props})=>{var _ref,_ref1;return{...props,WuF2iG84P:(_ref=subtitle!==null&&subtitle!==void 0?subtitle:props.WuF2iG84P)!==null&&_ref!==void 0?_ref:\"Set up the component by adding background and bouncer elements to the component properties.\",yeAnKbEUZ:(_ref1=title!==null&&title!==void 0?title:props.yeAnKbEUZ)!==null&&_ref1!==void 0?_ref1:\"Screen Saver\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,yeAnKbEUZ,WuF2iG84P,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"XvqTw0Be9\",variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const ref1=React.useRef(null);const defaultLayoutId=React.useId();const sharedStyleClassNames=[];const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId!==null&&layoutId!==void 0?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(serializationHash,...sharedStyleClassNames,\"framer-jjcw9a\",className,classNames),\"data-framer-name\":\"Default\",layoutDependency:layoutDependency,layoutId:\"XvqTw0Be9\",ref:ref!==null&&ref!==void 0?ref:ref1,style:{backgroundColor:\"rgba(136, 85, 255, 0.1)\",...style},children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-uh2i08\",layoutDependency:layoutDependency,layoutId:\"aM7oiNoFL\",children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-flw0dh\",\"data-framer-name\":\"Logo\",layout:\"position\",layoutDependency:layoutDependency,layoutId:\"GthLmGmBt\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 28 28\"><g id=\"ss11036020200_1\"><path d=\"M 0 0 L 28 0 L 28 28 L 0 28 Z\" fill=\"transparent\"></path><path d=\"M 21 7.113 C 21 7.041 21.029 6.971 21.079 6.921 L 27.534 0.465 C 27.613 0.388 27.73 0.365 27.831 0.407 C 27.933 0.449 28 0.548 28 0.658 L 28 13.888 C 28 13.96 27.971 14.028 27.921 14.079 L 21 21 Z M 7 21 L 7 7.658 C 7 7.548 6.933 7.449 6.831 7.407 C 6.73 7.365 6.613 7.388 6.534 7.465 L 0.079 13.921 C 0.028 13.972 0 14.041 0 14.113 L 0 27.728 C 0 27.877 0.122 28 0.273 28 L 13.888 28 C 13.96 28 14.028 27.971 14.079 27.921 L 21 21 Z\" fill=\"rgb(153, 102, 255)\"></path></g></svg>',svgContentId:11036020200,withExternalLayout:true}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-k3ullq\",layoutDependency:layoutDependency,layoutId:\"E3DQBYSAf\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"SW50ZXItQm9sZA==\",\"--framer-font-family\":'\"Inter\", \"Inter Placeholder\", sans-serif',\"--framer-font-size\":\"11px\",\"--framer-font-weight\":\"700\",\"--framer-letter-spacing\":\"-0.02em\",\"--framer-line-height\":\"1em\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(153, 102, 255))\"},children:\"Screen Saver\"})}),className:\"framer-q0gs4u\",\"data-framer-name\":\"Title\",fonts:[\"Inter-Bold\"],layoutDependency:layoutDependency,layoutId:\"UqJwZqJjg\",style:{\"--extracted-r6o4lv\":\"rgb(153, 102, 255)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:yeAnKbEUZ,verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--framer-font-size\":\"11px\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"1.4em\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgba(153, 102, 255, 0.7))\"},children:\"Set up the component by adding background and bouncer elements to the component properties.\"})}),className:\"framer-g5dqhc\",\"data-framer-name\":\"Subtitle\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"RJ7UF99m8\",style:{\"--extracted-r6o4lv\":\"rgba(153, 102, 255, 0.7)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:WuF2iG84P,verticalAlignment:\"top\",withExternalLayout:true})]})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-q8Ttd.framer-qanqo2, .framer-q8Ttd .framer-qanqo2 { display: block; }\",\".framer-q8Ttd.framer-jjcw9a { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 200px; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 400px; }\",\".framer-q8Ttd .framer-uh2i08 { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 16px; height: min-content; justify-content: center; overflow: hidden; padding: 0px 20px 0px 20px; position: relative; width: 1px; }\",\".framer-q8Ttd .framer-flw0dh { flex: none; height: 28px; position: relative; width: 28px; }\",\".framer-q8Ttd .framer-k3ullq { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 12px; height: min-content; justify-content: center; max-width: 200px; overflow: hidden; padding: 0px; position: relative; width: 100%; }\",\".framer-q8Ttd .framer-q0gs4u, .framer-q8Ttd .framer-g5dqhc { flex: none; height: auto; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-q8Ttd.framer-jjcw9a, .framer-q8Ttd .framer-uh2i08, .framer-q8Ttd .framer-k3ullq { gap: 0px; } .framer-q8Ttd.framer-jjcw9a > * { margin: 0px; margin-left: calc(10px / 2); margin-right: calc(10px / 2); } .framer-q8Ttd.framer-jjcw9a > :first-child { margin-left: 0px; } .framer-q8Ttd.framer-jjcw9a > :last-child { margin-right: 0px; } .framer-q8Ttd .framer-uh2i08 > * { margin: 0px; margin-bottom: calc(16px / 2); margin-top: calc(16px / 2); } .framer-q8Ttd .framer-uh2i08 > :first-child, .framer-q8Ttd .framer-k3ullq > :first-child { margin-top: 0px; } .framer-q8Ttd .framer-uh2i08 > :last-child, .framer-q8Ttd .framer-k3ullq > :last-child { margin-bottom: 0px; } .framer-q8Ttd .framer-k3ullq > * { margin: 0px; margin-bottom: calc(12px / 2); margin-top: calc(12px / 2); } }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 200\n * @framerIntrinsicWidth 400\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"yeAnKbEUZ\":\"title\",\"WuF2iG84P\":\"subtitle\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramerW7oLCU4_B=withCSS(Component,css,\"framer-q8Ttd\");export default FramerW7oLCU4_B;FramerW7oLCU4_B.displayName=\"Utils/Component Message\";FramerW7oLCU4_B.defaultProps={height:200,width:400};addPropertyControls(FramerW7oLCU4_B,{yeAnKbEUZ:{defaultValue:\"Screen Saver\",displayTextArea:false,title:\"Title\",type:ControlType.String},WuF2iG84P:{defaultValue:\"Set up the component by adding background and bouncer elements to the component properties.\",displayTextArea:false,title:\"Subtitle\",type:ControlType.String}});addFonts(FramerW7oLCU4_B,[{explicitInter:true,fonts:[{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/DpPBYI0sL4fYLgAkX8KXOPVt7c.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/4RAEQdEOrcnDkhHiiCbJOw92Lk.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/1K3W8DizY3v4emK8Mb08YHxTbs.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/tUSCtfYVM1I1IchuyCwz9gDdQ.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/VgYFWiwsAC5OYxAycRXXvhze58.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/DXD0Q7LSl7HEvDzucnyLnGBHM.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/GIryZETIX4IFypco5pYZONKhJIo.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/vQyevYAyHtARFwPqUzQGpnDs.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerW7oLCU4_B\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerVariables\":\"{\\\"yeAnKbEUZ\\\":\\\"title\\\",\\\"WuF2iG84P\\\":\\\"subtitle\\\"}\",\"framerIntrinsicWidth\":\"400\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"200\",\"framerDisplayContentsDiv\":\"false\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./W7oLCU4_B.map","/*\n * Utils/Component Message\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/fMDE7Cqb2uOvQFAHEP2m/cRfVFRl0izzBulKFjOAe/W7oLCU4_B.js\"\nexport { default } from \"https://framerusercontent.com/modules/fMDE7Cqb2uOvQFAHEP2m/cRfVFRl0izzBulKFjOAe/W7oLCU4_B.js\"\n","import{jsx as _jsx}from\"react/jsx-runtime\";import{cloneElement}from\"react\";import UtilsComponentMessage from\"https://framer.com/m/Utils-Component-Message-ZVoG.js@cRfVFRl0izzBulKFjOAe\";export const ComponentMessage=({title,subtitle,style})=>{return /*#__PURE__*/_jsx(UtilsComponentMessage,{yeAnKbEUZ:title,WuF2iG84P:subtitle,style:{width:\"100%\",height:\"100%\",...style}});};/* \n    This function is also used many times to make sure components work even if we set a color style like \"Accent\" on their color properties. We can make this into a utility function.\n*/export const extractRGBColorFromString=str=>{const rgbRegex=/(rgba|rgb)\\(.*?\\)/g;const match=str.match(rgbRegex);return match?match[0]:str;};/*\n    This function makes a connected layer use the sizing of the component it is inside,\n    preventing it from being larger or smaller than the component's size.\n    Use this on layers connected with ControlType.ComponentInstance.\n*/export function styleLayer(layer,style={}){layer=Array.isArray(layer)?layer[0]:layer;let newLayer=layer;const{width,height,...otherStyle}=style;if(layer&&layer.props&&style&&(width||height)){if(typeof layer.type===\"function\"&&typeof layer.props.children===\"object\"){newLayer=/*#__PURE__*/cloneElement(layer,{children:{...layer.props.children,props:{...layer.props.children.props,style:{...layer.props.children.props.style,...width&&{width},...height&&{height},...otherStyle}}}});}else{newLayer=/*#__PURE__*/cloneElement(layer,{style:{...layer.props.style,...width&&{width},...height&&{height},...otherStyle}});}}return newLayer;}\nexport const __FramerMetadata__ = {\"exports\":{\"ComponentMessage\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"extractRGBColorFromString\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"styleLayer\":{\"type\":\"function\",\"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/aej5zpwxBpkMdzOteBwy/DWeAZ5wauvGM5oFwVdgS/Utils.js\"\n","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import React,{useState,useEffect,useRef}from\"react\";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 400\n * @framerIntrinsicHeight 400\n * @framerDisableUnlink\n */export default function CirclingElements({mode=\"images\",itemCount=4,content=[],image1,image2,image3,image4,image5,image6,image7,image8,image9,image10,radius=120,speed=.5,orientation=\"rotate\",rotationAlignment=\"fixed\",fixedAngle=0,direction=\"normal\",pauseOnHover=false,itemWidth=80,itemHeight=80,sizing=\"fixed\",preview=true,style}){const[isHovered,setIsHovered]=useState(false);const isCanvas=RenderTarget.current()===RenderTarget.canvas;// Linear mapping of speed (0.1 to 1) to rotations per second\n// This ensures equal speed increments = equal rotation speed increments\nconst minSpeed=.1;const maxSpeed=1;const minRotationsPerSec=1/300// slowest: 1 rotation per 5 minutes\n;const maxRotationsPerSec=1/3// fastest: 1 rotation per 3 seconds\n;const normalizedSpeed=(speed-minSpeed)/(maxSpeed-minSpeed);const rotationsPerSec=minRotationsPerSec+normalizedSpeed*(maxRotationsPerSec-minRotationsPerSec);const duration=1/rotationsPerSec;// Measure intrinsic sizes of child components when sizing = \"fit-content\"\nconst contentMeasureRefs=useRef([]);const zoomProbeRef=useRef(null);const[maxContentSize,setMaxContentSize]=useState({width:0,height:0});// measurement useEffect is declared after actualCount to avoid TS \"used before declaration\" warning\n// Get images array\nconst images=[image1,image2,image3,image4,image5,image6,image7,image8,image9,image10];// Determine actual count based on mode\nconst actualCount=mode===\"components\"?content.length>0?content.length:4:itemCount;// Force re-render when count changes to recalculate positions\nuseEffect(()=>{// This effect will trigger a re-render when actualCount changes\n},[actualCount]);// Measure intrinsic sizes of child components when sizing = \"fit-content\"\nuseEffect(()=>{if(!(mode===\"components\"&&sizing===\"fit-content\"))return;const t=setTimeout(()=>{const probe=zoomProbeRef.current;const editorZoom=probe?probe.getBoundingClientRect().width/20:1;const safeZoom=Math.max(editorZoom,1e-4);let maxW=0;let maxH=0;for(const el of contentMeasureRefs.current){if(!el)continue;const child=el.firstElementChild;const rect=(child??el).getBoundingClientRect();const adjustedW=rect.width/safeZoom;const adjustedH=rect.height/safeZoom;if(adjustedW>maxW)maxW=adjustedW;if(adjustedH>maxH)maxH=adjustedH;}setMaxContentSize({width:maxW,height:maxH});},0);return()=>clearTimeout(t);},[mode,sizing,content,actualCount,itemWidth,itemHeight]);// Removed forced remount key to prevent animation restarts\nreturn /*#__PURE__*/_jsxs(\"div\",{style:{...style,position:\"relative\",zIndex:0,width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},onMouseEnter:()=>pauseOnHover&&setIsHovered(true),onMouseLeave:()=>pauseOnHover&&setIsHovered(false),children:[/*#__PURE__*/_jsx(\"style\",{children:`\n        @keyframes rotate360 {\n          from { transform: translate3d(-50%, -50%, 0) rotate(0deg); }\n          to { transform: translate3d(-50%, -50%, 0) rotate(360deg); }\n        }\n        @keyframes counterRotate360 {\n          from { transform: rotate(0deg); }\n          to { transform: rotate(-360deg); }\n        }\n      `}),Array.from({length:actualCount}).map((_,index)=>{const offsetDegrees=index*360/(actualCount===0?1:actualCount);const animationDelaySeconds=-(offsetDegrees/360*duration);const rotatingWrapperStyle={position:\"absolute\",top:\"50%\",left:\"50%\",transform:\"translate3d(-50%, -50%, 0)\",transformOrigin:\"center\",willChange:\"transform\",animationName:\"rotate360\",animationDuration:`${duration}s`,animationTimingFunction:\"linear\",animationIterationCount:\"infinite\",animationDirection:direction,animationDelay:`${animationDelaySeconds}s`,animationPlayState:isCanvas&&!preview||pauseOnHover&&isHovered?\"paused\":\"running\"};const radiusWrapperStyle={transform:`translateX(${radius}px)`,willChange:\"transform\"};// Calculate item rotation based on orientation mode\nlet itemRotation=0;if(orientation===\"rotate\"){if(rotationAlignment===\"tangent\"){// tangent: Items are tangent to the path\nitemRotation=0;}else if(rotationAlignment===\"radial\"){// Radial: fixed angle + 90deg\nitemRotation=90;}else{// Fixed angle\nitemRotation=fixedAngle;}}else{// pin mode keeps items upright, rotation is handled via counter animation below\nitemRotation=0;}const itemImage=images[index];const itemComponent=content[index];return /*#__PURE__*/_jsx(\"div\",{style:rotatingWrapperStyle,children:/*#__PURE__*/_jsx(\"div\",{style:radiusWrapperStyle,children:/*#__PURE__*/_jsx(\"div\",{style:{...mode===\"components\"&&sizing===\"fit-content\"?{display:\"inline-block\"}:{width:itemWidth,height:itemHeight},position:\"relative\",borderRadius:8,overflow:\"visible\",animationName:orientation===\"pin\"?\"counterRotate360\":\"none\",animationDuration:`${duration}s`,animationTimingFunction:\"linear\",animationIterationCount:\"infinite\",animationDirection:direction,animationDelay:`${animationDelaySeconds}s`,animationPlayState:isCanvas&&!preview||pauseOnHover&&isHovered?\"paused\":\"running\",transform:orientation===\"rotate\"?`rotate(${itemRotation}deg)`:\"none\",backgroundColor:mode===\"images\"&&!itemImage?\"rgba(243, 239, 255, 0.8)\":\"transparent\",backdropFilter:mode===\"images\"&&!itemImage?\"blur(10px)\":\"none\",border:mode===\"images\"&&!itemImage||mode===\"components\"&&!itemComponent?\"1.5px solid #9967FF\":\"none\"},children:mode===\"images\"?itemImage?/*#__PURE__*/_jsx(\"img\",{src:itemImage.src,alt:`Item ${index+1}`,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\"}}):/*#__PURE__*/_jsx(ComponentMessage,{title:`Item ${index+1}`,subtitle:\"Add an image\"}):itemComponent?/*#__PURE__*/_jsx(\"div\",{ref:el=>{contentMeasureRefs.current[index]=el;},style:{position:\"relative\",...sizing===\"fixed\"?{width:\"100%\",height:\"100%\"}:{}},children:/*#__PURE__*/React.cloneElement(itemComponent,{style:{...sizing===\"fixed\"?{width:\"100%\",height:\"100%\",position:\"absolute\",top:0,left:0}:{},...itemComponent.props?.style}})}):/*#__PURE__*/_jsx(ComponentMessage,{title:`Item ${index+1}`,subtitle:\"Add a component\"})})})},`${actualCount}-${index}`);}),/*#__PURE__*/_jsx(\"div\",{ref:zoomProbeRef,style:{position:\"absolute\",width:20,height:20,opacity:0,pointerEvents:\"none\"}}),(()=>{const effectiveItemW=mode===\"components\"&&sizing===\"fit-content\"?Math.max(maxContentSize.width,0):itemWidth;const effectiveItemH=mode===\"components\"&&sizing===\"fit-content\"?Math.max(maxContentSize.height,0):itemHeight;const w=2*radius+effectiveItemW;const h=2*radius+effectiveItemH;return /*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:w,height:h,opacity:0,pointerEvents:\"none\",zIndex:-1}});})()]});}addPropertyControls(CirclingElements,{preview:{type:ControlType.Boolean,title:\"Preview\",defaultValue:true,enabledTitle:\"On\",disabledTitle:\"Off\"},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\"},itemCount:{type:ControlType.Number,title:\"Count\",min:2,max:10,step:1,defaultValue:4,hidden:props=>props.mode===\"components\"},sizing:{type:ControlType.Enum,title:\"Sizing\",options:[\"fixed\",\"fit-content\"],optionTitles:[\"Fixed\",\"Fit content\"],defaultValue:\"fixed\",hidden:props=>props.mode!==\"components\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},itemWidth:{type:ControlType.Number,title:\"Width\",min:20,max:1e3,step:10,defaultValue:200,unit:\"px\",hidden:props=>props.mode===\"components\"&&props.sizing===\"fit-content\"},itemHeight:{type:ControlType.Number,title:\"Height\",min:20,max:1e3,step:10,defaultValue:200,unit:\"px\",hidden:props=>props.mode===\"components\"&&props.sizing===\"fit-content\"},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?.itemCount??4)<2},image3:{type:ControlType.ResponsiveImage,title:\"Image 3\",hidden:props=>props.mode!==\"images\"||(props?.itemCount??4)<3},image4:{type:ControlType.ResponsiveImage,title:\"Image 4\",hidden:props=>props.mode!==\"images\"||(props?.itemCount??4)<4},image5:{type:ControlType.ResponsiveImage,title:\"Image 5\",hidden:props=>props.mode!==\"images\"||(props?.itemCount??4)<5},image6:{type:ControlType.ResponsiveImage,title:\"Image 6\",hidden:props=>props.mode!==\"images\"||(props?.itemCount??4)<6},image7:{type:ControlType.ResponsiveImage,title:\"Image 7\",hidden:props=>props.mode!==\"images\"||(props?.itemCount??4)<7},image8:{type:ControlType.ResponsiveImage,title:\"Image 8\",hidden:props=>props.mode!==\"images\"||(props?.itemCount??4)<8},image9:{type:ControlType.ResponsiveImage,title:\"Image 9\",hidden:props=>props.mode!==\"images\"||(props?.itemCount??4)<9},image10:{type:ControlType.ResponsiveImage,title:\"Image 10\",hidden:props=>props.mode!==\"images\"||(props?.itemCount??4)<10},radius:{type:ControlType.Number,title:\"Radius\",min:0,max:500,step:10,defaultValue:100,unit:\"px\"},speed:{type:ControlType.Number,title:\"Speed\",min:.1,max:1,step:.01,defaultValue:.5},orientation:{type:ControlType.Enum,title:\"Orientation\",options:[\"rotate\",\"pin\"],optionTitles:[\"Fixed\",\"Pin\"],defaultValue:\"pin\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},rotationAlignment:{type:ControlType.Enum,title:\"Rotation\",options:[\"fixed\",\"radial\",\"tangent\"],optionTitles:[\"Fixed angle\",\"Radial\",\"Tangent\"],defaultValue:\"fixed\",hidden:props=>props.orientation!==\"rotate\"},fixedAngle:{type:ControlType.Number,title:\"Angle\",min:-360,max:360,step:1,defaultValue:0,unit:\"deg\",hidden:props=>props.orientation!==\"rotate\"||props.rotationAlignment!==\"fixed\"},direction:{type:ControlType.Enum,title:\"Direction\",options:[\"normal\",\"reverse\"],optionTitles:[\"Clockwise\",\"Counter-clockwise\"],defaultValue:\"normal\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},pauseOnHover:{type:ControlType.Boolean,title:\"On Hover\",defaultValue:false,enabledTitle:\"Pause\",disabledTitle:\"None\",description:\"More components at [Framer University](https://frameruni.link/cc).\"}});CirclingElements.displayName=\"Circle Animator\";\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CirclingElements\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"400\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"400\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CircleAnimator_prod.map","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}from\"react/jsx-runtime\";import{useState,useEffect}from\"react\";import{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";const useStore=createStore({isValid:true});export function setParent(Component){return props=>{const[store]=useStore();return /*#__PURE__*/_jsx(Component,{...props,variant:store.isValid?\"Default\":\"Error\"});};}export function withValidation(Component){return props=>{const[value,setValue]=useState(\"\");const[isFocused,setIsFocused]=useState(false);const[store,setStore]=useStore();const getIsValid=async()=>{try{const isValid=/^[0-9]*$/.test(value);await setStore({isValid});}catch(error){console.error(\"Validation error:\",error);}};useEffect(()=>{if(!isFocused||value.length<=1)return;const handler=setTimeout(()=>{getIsValid();},800);return()=>{clearTimeout(handler);};},[value,isFocused]);return /*#__PURE__*/_jsx(Component,{...props,value:value,onValueChange:input=>{if(/^[0-9]*$/.test(input)){setValue(input);}},onKeyDown:e=>{if(!/[0-9]/.test(e.key)&&e.key!==\"Backspace\"&&e.key!==\"Delete\"&&e.key!==\"ArrowLeft\"&&e.key!==\"ArrowRight\"&&e.key!==\"Tab\"){e.preventDefault();}},onFocus:()=>setIsFocused(true),onBlur:getIsValid});};}\nexport const __FramerMetadata__ = {\"exports\":{\"withValidation\":{\"type\":\"reactHoc\",\"name\":\"withValidation\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"setParent\":{\"type\":\"reactHoc\",\"name\":\"setParent\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Examples.map"],"mappings":"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"}