{"version":3,"file":"SmoothScroll_Prod.BQpWXUs-.mjs","names":["getProps","UtilsComponentMessage","OnScroll","Direction","Path","Preset","e","x","ObjectFitType","SrcType","e","t","e","i","s","u","p","o","n","r","l","h","a","c","e"],"sources":["https:/framer.com/m/Utils-Component-Message-ZVoG.js@cRfVFRl0izzBulKFjOAe","https:/framer.com/m/Utils-FINc.js","https:/framerusercontent.com/modules/bMoRFmipBzJ9ZZyOMr87/qJs7L3oM8TSQbCq1O9pU/TickerPath_Prod.js","https:/framerusercontent.com/modules/lRDHiNWNVWmE0lqtoVHP/IZ0vSV62Dv7ax4rBiGUk/Video.js","https:/ga.jspm.io/npm:lenis@1.1.2/dist/lenis.mjs","https:/framerusercontent.com/modules/Yppqt3Cs3Y8TZqvASnXl/PGrowqBrgWCViHduGfsA/SmoothScroll_Prod.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","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","import{jsx as _jsx}from\"react/jsx-runtime\";import React,{useCallback,useEffect,useRef}from\"react\";import{motion,useAnimationFrame,useMotionValue,useScroll,useSpring,useTransform,useVelocity}from\"framer-motion\";import{ControlType,addPropertyControls,RenderTarget}from\"framer\";import{ComponentMessage}from\"https://framer.com/m/Utils-FINc.js\";var OnScroll;// import { ComponentMessage } from \"../../utils/ComponentMessage\";\n// -------------------------------------------------------------- //\n// INTERFACES\n// -------------------------------------------------------------- //\n(function(OnScroll){OnScroll[\"NoChange\"]=\"No change\";OnScroll[\"SpeedUp\"]=\"Speed up\";})(OnScroll||(OnScroll={}));var Direction;(function(Direction){Direction[\"Normal\"]=\"normal\";Direction[\"Reverse\"]=\"reverse\";})(Direction||(Direction={}));var Path;(function(Path){Path[\"Preset\"]=\"preset\";Path[\"Custom\"]=\"custom\";})(Path||(Path={}));var Preset;(function(Preset){Preset[\"Spiral\"]=\"spiral\";Preset[\"Loop\"]=\"loop\";Preset[\"Wave\"]=\"wave\";Preset[\"Curly\"]=\"curly\";Preset[\"Stripes\"]=\"stripes\";})(Preset||(Preset={}));// -------------------------------------------------------------- //\n// CONSTANTS\n// -------------------------------------------------------------- //\nconst fuSvg=`\n<svg\n  width=\"550\"\n  height=\"550\"\n  viewBox=\"0 0 550 550\"\n  fill=\"none\"\n  xmlns=\"http://www.w3.org/2000/svg\"\n>\n  <g clip-path=\"url(#clip0_967_124)\">\n    <path\n      d=\"M553.75 2.5 L553.75 267.5 A10 10 0 0 1 546.971 274.314 L281.971 539.814 A10 10 0 0 1 275.157 542.593 L10 543 A10 10 0 0 1 0 533 L1.25 285 A10 10 0 0 1 4.036 277.5 L131.616 146.616 A10 10 0 0 1 141.616 146.616 L141.25 405 A10 10 0 0 1 131.25 415 L405 413.75 A10 10 0 0 1 413.75 403.75 L413.75 150 A10 10 0 0 1 416.536 142.5 L541.615 11.61612 A10 10 0 0 1 553.75 2.5\"\n      fill=\"white\"\n    />\n  </g>\n  <defs>\n    <clipPath id=\"clip0_967_124\">\n      <rect width=\"24\" height=\"24\" fill=\"white\" />\n    </clipPath>\n  </defs>\n</svg>\n`;const imgs=[/*#__PURE__*/_jsx(\"img\",{src:\"https://cdn.cosmos.so/b9909337-7a53-48bc-9672-33fbd0f040a1?format=jpeg\",style:{width:\"100%\",height:\"100%\",objectFit:\"cover\"}}),/*#__PURE__*/_jsx(\"img\",{src:\"https://cdn.cosmos.so/ecdc9dd7-2862-4c28-abb1-dcc0947390f3?format=jpeg\",style:{width:\"100%\",height:\"100%\",objectFit:\"cover\"}}),/*#__PURE__*/_jsx(\"img\",{src:\"https://cdn.cosmos.so/79de41ec-baa4-4ac0-a9a4-c090005ca640?format=jpeg\",style:{width:\"100%\",height:\"100%\",objectFit:\"cover\"}}),/*#__PURE__*/_jsx(\"img\",{src:\"https://cdn.cosmos.so/1a18b312-21cd-4484-bce5-9fb7ed1c5e01?format=jpeg\",style:{width:\"100%\",height:\"100%\",objectFit:\"cover\"}}),/*#__PURE__*/_jsx(\"img\",{src:\"https://cdn.cosmos.so/d765f64f-7a66-462f-8b2d-3d7bc8d7db55?format=jpeg\",style:{width:\"100%\",height:\"100%\",objectFit:\"cover\"}}),/*#__PURE__*/_jsx(\"img\",{src:\"https://cdn.cosmos.so/6b9f08ea-f0c5-471f-a620-71221ff1fb65?format=jpeg\",style:{width:\"100%\",height:\"100%\",objectFit:\"cover\"}}),/*#__PURE__*/_jsx(\"img\",{src:\"https://cdn.cosmos.so/40a09525-4b00-4666-86f0-3c45f5d77605?format=jpeg\",style:{width:\"100%\",height:\"100%\",objectFit:\"cover\"}}),/*#__PURE__*/_jsx(\"img\",{src:\"https://cdn.cosmos.so/14f05ab6-b4d0-4605-9007-8a2190a249d0?format=jpeg\",style:{width:\"100%\",height:\"100%\",objectFit:\"cover\"}}),/*#__PURE__*/_jsx(\"img\",{src:\"https://cdn.cosmos.so/d05009a2-a2f8-4a4c-a0de-e1b0379dddb8?format=jpeg\",style:{width:\"100%\",height:\"100%\",objectFit:\"cover\"}}),/*#__PURE__*/_jsx(\"img\",{src:\"https://cdn.cosmos.so/ba646e35-efc2-494a-961b-b40f597e6fc9?format=jpeg\",style:{width:\"100%\",height:\"100%\",objectFit:\"cover\"}}),/*#__PURE__*/_jsx(\"img\",{src:\"https://cdn.cosmos.so/e899f9c3-ed48-4899-8c16-fbd5a60705da?format=jpeg\",style:{width:\"100%\",height:\"100%\",objectFit:\"cover\"}}),/*#__PURE__*/_jsx(\"img\",{src:\"https://cdn.cosmos.so/24e83c11-c607-45cd-88fb-5059960b56a0?format=jpeg\",style:{width:\"100%\",height:\"100%\",objectFit:\"cover\"}}),/*#__PURE__*/_jsx(\"img\",{src:\"https://cdn.cosmos.so/cd346bce-f415-4ea7-8060-99c5f7c1741a?format=jpeg\",style:{width:\"100%\",height:\"100%\",objectFit:\"cover\"}})];// -------------------------------------------------------------- //\n// FRAMER PROPERTY CONTROLS\n// -------------------------------------------------------------- //\naddPropertyControls(TickerPath,{content:{type:ControlType.Array,title:\"Content\",defaultValue:[],control:{type:ControlType.ComponentInstance}},repeat:{type:ControlType.Number,title:\"Amount\",defaultValue:2,min:1,max:100,step:1,displayStepper:true},scale:{type:ControlType.Object,controls:{scale:{type:ControlType.Number,title:\"Scale\",defaultValue:1,min:.1,max:5,step:.1,unit:\"x\"},hover:{type:ControlType.Number,title:\"Hover\",defaultValue:1.5,min:.1,max:5,step:.1,unit:\"x\"}}},path:{type:ControlType.Enum,title:\"Path\",defaultValue:\"preset\",options:[\"preset\",\"custom\"],optionTitles:[\"Preset\",\"Custom\"],displaySegmentedControl:true},preset:{type:ControlType.Enum,title:\" \",defaultValue:\"spiral\",options:[\"spiral\",\"loop\",\"wave\",\"curly\",\"stripes\"],optionTitles:[\"Spiral\",\"Loop\",\"Wave\",\"Curly\",\"Stripes\"],// displaySegmentedControl: true,\nhidden:props=>props.path!==\"preset\"},svg:{title:\" \",type:ControlType.String,defaultValue:fuSvg,description:\"Must be an SVG with a path element\",hidden:props=>props.path!==\"custom\"},fade:{type:ControlType.Boolean,title:\"Fade\",defaultValue:true},direction:{type:ControlType.Enum,title:\"Direction\",defaultValue:\"normal\",options:[\"normal\",\"reverse\"],optionIcons:[\"direction-left\",\"direction-right\"],displaySegmentedControl:true},speed:{title:\"Speed\",type:ControlType.Object,controls:{speed:{title:\"Speed\",type:ControlType.Number,defaultValue:5,min:0,max:10,step:.1},hover:{title:\"Hover\",type:ControlType.Number,defaultValue:.3,min:0,max:1,step:.1,unit:\"x\"},onScroll:{title:\"On Scroll\",type:ControlType.Enum,options:[\"No change\",\"Speed up\"],displaySegmentedControl:true,segmentedControlDirection:\"vertical\"}}},drag:{type:ControlType.Object,controls:{draggable:{type:ControlType.Boolean,title:\"Draggable\",defaultValue:false},dragSensitivity:{type:ControlType.Number,title:\"Sensitivity\",defaultValue:5,min:1,max:10,step:.5,hidden:props=>!props.draggable},grabCursor:{type:ControlType.Boolean,title:\"Grab Cursor\",defaultValue:false,hidden:props=>!props.draggable}},description:\"More components at [Framer University](https://frameruni.link/cc).\"}});// -------------------------------------------------------------- //\n// DEFAULT PROPS\n// -------------------------------------------------------------- //\nTickerPath.defaultProps={content:imgs,repeat:2,scale:{scale:1,hover:1.5},path:\"preset\",preset:\"spiral\",svg:fuSvg,speed:{speed:5,hover:.5,onScroll:\"No change\"},fade:true,direction:\"normal\",drag:{draggable:false,dragSensitivity:.2,grabCursor:false}};// -------------------------------------------------------------- //\n// MAIN COMPONENT\n// -------------------------------------------------------------- //\n/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 200\n * @framerDisableUnlink\n */export default function TickerPath(props){const childrenToRender=props.content.length>0?props.content:imgs;const slowdownOnHover=props.speed.hover<1;const slowDownFactor=props.speed.hover;const containerRef=useRef(null);const transformedSensitivity=useTransform(useMotionValue(props.drag.dragSensitivity),[1,10],[.005,.1]);const presetSvgLookup={[\"spiral\"]:spiralSvg,[\"loop\"]:loopSvg,[\"wave\"]:waveSvg,[\"curly\"]:curlySvg,[\"stripes\"]:stripesSvg};const svgToRender=props.path===\"preset\"?presetSvgLookup[props.preset]:props.svg;// Make all images within container non-draggable\nuseEffect(()=>{const container=document.getElementById(\"ticker-path-container\");if(container){const images=container.getElementsByTagName(\"img\");Array.from(images).forEach(img=>{img.draggable=false;});}},[props.content])// Re-run when content changes\n;// Process children directly without transformation\nconst processedChildren=React.useMemo(()=>childrenToRender,[childrenToRender]);// State to store the extracted path\nconst[extractedPath,setExtractedPath]=React.useState(\"\");// Function to update path based on container size\nconst updatePath=React.useCallback(()=>{if(svgToRender&&containerRef.current){const containerWidth=containerRef.current.offsetWidth;const containerHeight=containerRef.current.offsetHeight;extractPathsFromSvgString(svgToRender,containerWidth,containerHeight).then(path=>{if(path){setExtractedPath(path);}}).catch(error=>{console.error(\"Failed to extract paths from SVG:\",error);});}},[props.path,props.preset,props.svg]);// Effect to handle SVG URL changes and container resizing\nReact.useEffect(()=>{updatePath();// Set up ResizeObserver to watch for container size changes\nconst resizeObserver=new ResizeObserver(()=>{updatePath();});if(containerRef.current){resizeObserver.observe(containerRef.current);}// Cleanup observer on unmount\nreturn()=>{resizeObserver.disconnect();};},[updatePath,props.content]);if(props.content.length===0){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\"},children:/*#__PURE__*/_jsx(ComponentMessage,{title:\"Ticker Path\",subtitle:\"Set up the component by connecting frames to the component or selecting the content from the component properties.\"})});}return /*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{width:\"100%\",height:\"100%\"},id:\"ticker-path-container\",children:/*#__PURE__*/_jsx(MarqueeAlongSvgPath,{path:extractedPath,baseVelocity:props.speed.speed,direction:props.direction,slowdownOnHover:slowdownOnHover,slowDownFactor:slowDownFactor,useScrollVelocity:props.speed.onScroll===\"Speed up\",repeat:props.repeat,draggable:props.drag.draggable,dragSensitivity:transformedSensitivity.get(),grabCursor:props.drag.grabCursor,fade:props.fade,children:React.Children.map(processedChildren,(child,i)=>/*#__PURE__*/_jsx(motion.div,{style:{height:\"100%\",width:\"56px\",userSelect:\"none\",scale:props.scale.scale},whileHover:{scale:props.scale.scale*props.scale.hover,transition:{duration:.3,ease:\"easeInOut\"}},children:child},i))})});}// -------------------------------------------------------------- //\n// SUBCOMPONENT\n// -------------------------------------------------------------- //\n// Custom wrap function\nconst wrap=(min,max,value)=>{const range=max-min;return((value-min)%range+range)%range+min;};const MarqueeAlongSvgPath=({children,style,// Path defaults\npath,// pathId,\n// preserveAspectRatio = \"xMidYMid meet\",\n// showPath = false,\n// // SVG defaults\n// width = \"100%\",\n// height = \"100%\",\n// viewBox = \"0 0 100 100\",\n// Marquee defaults\nbaseVelocity=5,direction=\"normal\",easing,slowdownOnHover=false,slowDownFactor=.3,slowDownSpringConfig={damping:50,stiffness:400},// Scroll defaults\nuseScrollVelocity=false,scrollAwareDirection=true,scrollSpringConfig={damping:50,stiffness:400},// Items repetition\nrepeat=3,// Drag defaults\ndraggable=false,dragSensitivity=.2,dragVelocityDecay=.7,dragAwareDirection=false,grabCursor=false,// Z-index defaults\nenableRollingZIndex=true,zIndexBase=1,zIndexRange=10,cssVariableInterpolation=[],fade=true})=>{const container=useRef(null);const baseOffset=useMotionValue(0);// Create an array of items outside of the render function\nconst items=React.useMemo(()=>{const childrenArray=React.Children.toArray(children);return childrenArray.flatMap((child,childIndex)=>Array.from({length:repeat},(_,repeatIndex)=>{const itemIndex=repeatIndex*childrenArray.length+childIndex;const key=`${childIndex}-${repeatIndex}`;return{child,childIndex,repeatIndex,itemIndex,key};}));},[children,repeat]);// Function to calculate z-index based on offset distance\nconst calculateZIndex=useCallback(offsetDistance=>{if(!enableRollingZIndex){return undefined;}// Simple progress-based z-index\nconst normalizedDistance=offsetDistance/100;return Math.floor(zIndexBase+normalizedDistance*zIndexRange);},[enableRollingZIndex,zIndexBase,zIndexRange]);// Scroll tracking\nconst{scrollY}=useScroll({container:container.current});const scrollVelocity=useVelocity(scrollY);const smoothVelocity=useSpring(scrollVelocity,scrollSpringConfig);// Hover and drag state tracking\nconst isHovered=useRef(false);const isDragging=useRef(false);const dragVelocity=useRef(0);// Direction factor for changing direction based on scroll or drag\nconst directionFactor=useRef(direction===\"normal\"?1:-1);// Motion values for animation\nconst hoverFactorValue=useMotionValue(1);const defaultVelocity=useMotionValue(1);const smoothHoverFactor=useSpring(hoverFactorValue,slowDownSpringConfig);// Transform scroll velocity into a factor that affects marquee speed\nconst velocityFactor=useTransform(useScrollVelocity?smoothVelocity:defaultVelocity,[0,1e3],[0,5],{clamp:false});// Animation frame handler\nuseAnimationFrame((_,delta)=>{if(isDragging.current&&draggable){baseOffset.set(baseOffset.get()+dragVelocity.current);// Add decay to dragVelocity\ndragVelocity.current*=.9;// Stop completely if velocity is very small\nif(Math.abs(dragVelocity.current)<.01){dragVelocity.current=0;}return;}// Update hover factor\nif(isHovered.current){hoverFactorValue.set(slowdownOnHover?slowDownFactor:1);}else{hoverFactorValue.set(1);}// Calculate regular movement\nlet moveBy=directionFactor.current*baseVelocity*(delta/1e3)*smoothHoverFactor.get();// Adjust movement based on scroll velocity if scrollAwareDirection is enabled\nif(scrollAwareDirection&&!isDragging.current){if(velocityFactor.get()<0){directionFactor.current=-1;}else if(velocityFactor.get()>0){directionFactor.current=1;}}moveBy+=directionFactor.current*moveBy*velocityFactor.get();if(draggable){moveBy+=dragVelocity.current;// Update direction based on drag direction if dragAwareDirection is true\nif(dragAwareDirection&&Math.abs(dragVelocity.current)>.1){directionFactor.current=Math.sign(dragVelocity.current);}// Gradually decay drag velocity back to zero\nif(!isDragging.current&&Math.abs(dragVelocity.current)>.01){dragVelocity.current*=dragVelocityDecay;}else if(!isDragging.current){dragVelocity.current=0;}}baseOffset.set(baseOffset.get()+moveBy);});// Pointer event handlers for dragging\nconst lastPointerPosition=useRef({x:0,y:0});const handlePointerDown=e=>{if(!draggable)return;e.currentTarget.setPointerCapture(e.pointerId);if(grabCursor){e.currentTarget.style.cursor=\"grabbing\";}isDragging.current=true;lastPointerPosition.current={x:e.clientX,y:e.clientY};// Add global pointer event listeners\nwindow.addEventListener(\"pointerup\",handleGlobalPointerUp);window.addEventListener(\"pointercancel\",handleGlobalPointerUp);window.addEventListener(\"blur\",handleGlobalPointerUp);// Pause automatic animation by setting velocity to 0\ndragVelocity.current=0;};const handlePointerMove=e=>{if(!draggable||!isDragging.current)return;const currentPosition={x:e.clientX,y:e.clientY};// Calculate movement delta - simplified for path movement\nconst deltaX=currentPosition.x-lastPointerPosition.current.x;const deltaY=currentPosition.y-lastPointerPosition.current.y;// For path following, we use a simple magnitude of movement\nconst delta=Math.sqrt(deltaX*deltaX+deltaY*deltaY);const projectedDelta=deltaX>0?delta:-delta;// Update drag velocity based on the projected movement\ndragVelocity.current=projectedDelta*dragSensitivity;// Update last position\nlastPointerPosition.current=currentPosition;};const handleGlobalPointerUp=useCallback(e=>{if(!isDragging.current)return;isDragging.current=false;dragVelocity.current=0;// Remove global event listeners\nwindow.removeEventListener(\"pointerup\",handleGlobalPointerUp);window.removeEventListener(\"pointercancel\",handleGlobalPointerUp);window.removeEventListener(\"blur\",handleGlobalPointerUp);// Update cursor if needed\nif(grabCursor&&container.current){container.current.style.cursor=\"grab\";}},[grabCursor]);const handlePointerUp=e=>{if(!draggable)return;e.currentTarget.releasePointerCapture(e.pointerId);handleGlobalPointerUp();};// Clean up event listeners on unmount\nuseEffect(()=>{return()=>{window.removeEventListener(\"pointerup\",handleGlobalPointerUp);window.removeEventListener(\"pointercancel\",handleGlobalPointerUp);window.removeEventListener(\"blur\",handleGlobalPointerUp);};},[handleGlobalPointerUp]);// Handlers for individual item hover state, now passed down\nconst handleItemMouseEnter=useCallback(()=>{isHovered.current=true;},[]);const handleItemMouseLeave=useCallback(()=>{isHovered.current=false;},[]);return /*#__PURE__*/_jsx(\"div\",{ref:container,onPointerDown:handlePointerDown,onPointerMove:handlePointerMove,onPointerUp:handlePointerUp,onPointerCancel:handlePointerUp,style:{position:\"relative\",...style},children:items.map(({child,repeatIndex,itemIndex,key})=>/*#__PURE__*/_jsx(MarqueeItem,{itemKey:key,child:child,itemIndex:itemIndex,totalItems:items.length,repeatIndex:repeatIndex,baseOffset:baseOffset,path:path,easing:easing,enableRollingZIndex:enableRollingZIndex,calculateZIndex:calculateZIndex,draggable:draggable,grabCursor:grabCursor,cssVariableInterpolation:cssVariableInterpolation,onMouseEnter:handleItemMouseEnter,onMouseLeave:handleItemMouseLeave,fade:fade},key))});};const MarqueeItem=({child,itemIndex,totalItems,repeatIndex,baseOffset,path,easing,enableRollingZIndex,calculateZIndex,draggable,grabCursor,cssVariableInterpolation,itemKey,onMouseEnter,onMouseLeave,fade})=>{// Create a unique offset transform for this item\nconst itemOffset=useTransform(baseOffset,v=>{const position=itemIndex*100/totalItems;const wrappedValue=wrap(0,100,v+position);return`${easing?easing(wrappedValue/100)*100:wrappedValue}%`;});// Create a motion value for the current offset distance\nconst currentOffsetDistance=useMotionValue(0);// Create opacity transform based on offset distance\nconst opacity=useTransform(currentOffsetDistance,[0,10,90,100],[0,1,1,0]// Output range (opacity values)\n);const isOnFramerCanvas=RenderTarget.hasRestrictions();const finalOpacity=fade?opacity:1;// Update z-index when offset distance changes\nconst zIndex=useTransform(currentOffsetDistance,value=>calculateZIndex(value));// Update current offset distance value when animation runs\nuseEffect(()=>{const unsubscribe=itemOffset.on(\"change\",value=>{const match=value.match(/^([\\d.]+)%$/);if(match&&match[1]){currentOffsetDistance.set(parseFloat(match[1]));}});return unsubscribe;},[itemOffset,currentOffsetDistance]);// Calculate CSS variables based on the offset distance\nconst cssVariables=Object.fromEntries((cssVariableInterpolation||[]).map(({property,from,to})=>[property,useTransform(currentOffsetDistance,[0,100],[from,to])]));return /*#__PURE__*/_jsx(motion.div,{style:{offsetPath:`path('${path}')`,offsetDistance:itemOffset,opacity:isOnFramerCanvas?1:finalOpacity,zIndex:enableRollingZIndex?zIndex:undefined,position:\"absolute\",top:\"0\",left:\"0\",cursor:draggable&&grabCursor?\"grab\":\"default\",...cssVariables},\"aria-hidden\":repeatIndex>0,onMouseEnter:onMouseEnter,onMouseLeave:onMouseLeave,children:child},itemKey);};// -------------------------------------------------------------- //\n// UTILITY FUNCTIONS\n// -------------------------------------------------------------- //\n// New function to scale AND translate SVG path data\nconst scaleAndTranslateSvgPath=(pathString,scale,offsetX,offsetY)=>{if(!pathString||scale<=0)return\"\"// Added scale check\n;const commandRegex=/([MmLlHhVvCcSsQqTtAaZz])([^MmLlHhVvCcSsQqTtAaZz]*)/g;let currentX=0;let currentY=0;let startX=0// Keep track of subpath start for Z\n;let startY=0;const transformedPath=pathString.replace(commandRegex,(_match,command,params)=>{const numbers=params.trim().split(/[\\s,]+/).filter(n=>n!==\"\").map(Number)// Added type :string\n;// Handle Z command specifically as it has no parameters\nif(command.toUpperCase()===\"Z\"){// Move current point back to subpath start for internal tracking\ncurrentX=startX;currentY=startY;return command// Return 'Z' or 'z' as is\n;}// If no numbers and not Z, it's likely an error or empty command, return original\nif(numbers.length===0)return command;const transformedParams=[];const transformX=x=>x*scale+offsetX;const transformY=y=>y*scale+offsetY;const scaleValue=val=>val*scale// Scale delta or radius\n;// Helper to update current point based on original coordinates\nconst updateCurrentPoint=(x,y,isRelative)=>{if(isRelative){currentX+=x;currentY+=y;}else{currentX=x;currentY=y;}};switch(command){// Absolute commands\ncase\"M\":transformedParams.push(transformX(numbers[0]),transformY(numbers[1]));updateCurrentPoint(numbers[0],numbers[1],false);startX=currentX;startY=currentY// New subpath start\n;for(let i=2;i<numbers.length;i+=2){// Implicit LineTos\ntransformedParams.push(transformX(numbers[i]),transformY(numbers[i+1]));updateCurrentPoint(numbers[i],numbers[i+1],false);}break;case\"L\":for(let i=0;i<numbers.length;i+=2){transformedParams.push(transformX(numbers[i]),transformY(numbers[i+1]));updateCurrentPoint(numbers[i],numbers[i+1],false);}break;case\"H\":for(let i=0;i<numbers.length;i++){transformedParams.push(transformX(numbers[i]));updateCurrentPoint(numbers[i],currentY,false)// Y stays the same\n;}break;case\"V\":for(let i=0;i<numbers.length;i++){transformedParams.push(transformY(numbers[i]));updateCurrentPoint(currentX,numbers[i],false)// X stays the same\n;}break;case\"C\":for(let i=0;i<numbers.length;i+=6){transformedParams.push(transformX(numbers[i]),transformY(numbers[i+1]),transformX(numbers[i+2]),transformY(numbers[i+3]),transformX(numbers[i+4]),transformY(numbers[i+5]));updateCurrentPoint(numbers[i+4],numbers[i+5],false);}break;case\"S\":for(let i=0;i<numbers.length;i+=4){transformedParams.push(transformX(numbers[i]),transformY(numbers[i+1]),transformX(numbers[i+2]),transformY(numbers[i+3]));updateCurrentPoint(numbers[i+2],numbers[i+3],false);}break;case\"Q\":for(let i=0;i<numbers.length;i+=4){transformedParams.push(transformX(numbers[i]),transformY(numbers[i+1]),transformX(numbers[i+2]),transformY(numbers[i+3]));updateCurrentPoint(numbers[i+2],numbers[i+3],false);}break;case\"T\":for(let i=0;i<numbers.length;i+=2){transformedParams.push(transformX(numbers[i]),transformY(numbers[i+1]));updateCurrentPoint(numbers[i],numbers[i+1],false);}break;case\"A\":for(let i=0;i<numbers.length;i+=7){// Scale radii rx, ry\ntransformedParams.push(scaleValue(numbers[i]),scaleValue(numbers[i+1]),numbers[i+2],numbers[i+3],numbers[i+4],transformX(numbers[i+5]),transformY(numbers[i+6]))// x, y\n;updateCurrentPoint(numbers[i+5],numbers[i+6],false);}break;// Relative commands\ncase\"m\":transformedParams.push(scaleValue(numbers[0]),scaleValue(numbers[1]));updateCurrentPoint(numbers[0],numbers[1],true);startX=currentX;startY=currentY// New subpath start based on relative move\n;for(let i=2;i<numbers.length;i+=2){// Implicit linetos\ntransformedParams.push(scaleValue(numbers[i]),scaleValue(numbers[i+1]));updateCurrentPoint(numbers[i],numbers[i+1],true);}break;case\"l\":for(let i=0;i<numbers.length;i+=2){transformedParams.push(scaleValue(numbers[i]),scaleValue(numbers[i+1]));updateCurrentPoint(numbers[i],numbers[i+1],true);}break;case\"h\":for(let i=0;i<numbers.length;i++){transformedParams.push(scaleValue(numbers[i]));updateCurrentPoint(numbers[i],0,true)// dy = 0\n;}break;case\"v\":for(let i=0;i<numbers.length;i++){transformedParams.push(scaleValue(numbers[i]));updateCurrentPoint(0,numbers[i],true)// dx = 0\n;}break;case\"c\":for(let i=0;i<numbers.length;i+=6){transformedParams.push(scaleValue(numbers[i]),scaleValue(numbers[i+1]),scaleValue(numbers[i+2]),scaleValue(numbers[i+3]),scaleValue(numbers[i+4]),scaleValue(numbers[i+5]));updateCurrentPoint(numbers[i+4],numbers[i+5],true);}break;case\"s\":for(let i=0;i<numbers.length;i+=4){transformedParams.push(scaleValue(numbers[i]),scaleValue(numbers[i+1]),scaleValue(numbers[i+2]),scaleValue(numbers[i+3]));updateCurrentPoint(numbers[i+2],numbers[i+3],true);}break;case\"q\":for(let i=0;i<numbers.length;i+=4){transformedParams.push(scaleValue(numbers[i]),scaleValue(numbers[i+1]),scaleValue(numbers[i+2]),scaleValue(numbers[i+3]));updateCurrentPoint(numbers[i+2],numbers[i+3],true);}break;case\"t\":for(let i=0;i<numbers.length;i+=2){transformedParams.push(scaleValue(numbers[i]),scaleValue(numbers[i+1]));updateCurrentPoint(numbers[i],numbers[i+1],true);}break;case\"a\":for(let i=0;i<numbers.length;i+=7){// Scale radii and final dx/dy\ntransformedParams.push(scaleValue(numbers[i]),scaleValue(numbers[i+1]),numbers[i+2],numbers[i+3],numbers[i+4],scaleValue(numbers[i+5]),scaleValue(numbers[i+6]))// dx, dy\n;updateCurrentPoint(numbers[i+5],numbers[i+6],true);}break;}// Join parameters for the current command\n// Use space as separator, handle potential extra spaces if params is empty (though unlikely now)\nreturn command+(transformedParams.length>0?\" \"+transformedParams.join(\" \"):\"\");});return transformedPath;};const extractPathsFromSvgString=async(svgString,containerWidth,containerHeight)=>{try{if(!svgString){console.warn(\"SVG string is empty.\");return\"\";}if(containerWidth<=0||containerHeight<=0){console.warn(\"Container dimensions are invalid.\");return\"\"// Cannot scale to zero or negative size\n;}const parser=new DOMParser;const svgDoc=parser.parseFromString(svgString,\"image/svg+xml\");const parserError=svgDoc.querySelector(\"parsererror\");if(parserError){console.error(\"SVG parsing error:\",parserError);throw new Error(\"Invalid SVG format\");}const pathElements=svgDoc.querySelectorAll(\"path\");const paths=Array.from(pathElements).map(path=>path.getAttribute(\"d\")).filter(d=>d!==null);if(paths.length===0){throw new Error(\"No paths found in SVG\");}// Get SVG dimensions\nconst svgElement=svgDoc.querySelector(\"svg\");const viewBox=svgElement?.getAttribute(\"viewBox\")?.split(\" \").map(Number);const svgWidth=parseFloat(svgElement?.getAttribute(\"width\")||\"100\");const svgHeight=parseFloat(svgElement?.getAttribute(\"height\")||\"100\");// Get original dimensions based on viewBox (preferred) or width/height\nlet originalWidth;let originalHeight;let viewBoxMinX=0;let viewBoxMinY=0;if(viewBox&&viewBox.length===4){viewBoxMinX=viewBox[0];viewBoxMinY=viewBox[1];originalWidth=viewBox[2];originalHeight=viewBox[3];}else{// Fallback to width/height, assuming viewBox starts at 0,0 if not specified\noriginalWidth=svgWidth;originalHeight=svgHeight;}if(originalWidth<=0||originalHeight<=0){console.error(\"Invalid original SVG dimensions (width/height or viewBox width/height must be positive).\");throw new Error(\"Invalid SVG dimensions\");}// Calculate scaling factors to fit container while maintaining aspect ratio ('meet')\nconst scaleX=containerWidth/originalWidth;const scaleY=containerHeight/originalHeight;const scale=Math.min(scaleX,scaleY)// Use the smaller scale factor to fit\n;// Calculate the dimensions of the scaled SVG content\nconst scaledWidth=originalWidth*scale;const scaledHeight=originalHeight*scale;// Calculate the translation offset needed to center the scaled content ('xMidYMid')\n// We also need to account for the viewBox minX/minY offset\nconst offsetX=(containerWidth-scaledWidth)/2-viewBoxMinX*scale;const offsetY=(containerHeight-scaledHeight)/2-viewBoxMinY*scale;// Scale, translate, and join all paths\nconst transformedPaths=paths.map(path=>scaleAndTranslateSvgPath(path,scale,offsetX,offsetY));const finalPath=transformedPaths.join(\" \");return finalPath;}catch(error){console.error(\"Error extracting paths from SVG:\",error);return\"\";}};// -------------------------------------------------------------- //\n// SVG PRESETS\n// -------------------------------------------------------------- //\nconst spiralSvg=`\n<svg width=\"554\" height=\"504\" viewBox=\"0 0 554 504\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M552.252 227.051C548.029 306.06 512.971 378.902 455.545 430.344C400.585 479.577 327.738 506.39 252.252 502.051C181.842 498.004 114.56 466.734 66.6361 412.667C22.0061 362.315 -2.09651 295.787 2.25209 227.051C6.32059 162.744 35.3062 101.999 84.3141 59.1129C130.089 19.0564 190.301 -2.3067 252.252 2.0509C309.676 6.09001 364.17 32.2761 402.512 76.7909C437.912 117.89 456.63 171.763 452.252 227.051C448.208 278.129 424.467 326.176 384.835 359.634C348.269 390.502 300.695 406.437 252.252 402.051C207.796 398.026 166.087 376.909 137.347 341.956C111.016 309.933 97.8551 268.651 102.252 227.051C106.263 189.106 124.83 153.774 155.025 129.824C182.472 108.054 217.447 97.6339 252.252 102.051C283.787 106.053 312.708 122.137 331.802 147.501C349.184 170.594 356.655 199.315 352.252 227.051C348.202 252.565 334.364 274.9 314.124 288.923C295.634 301.733 273.22 306.492 252.252 302.051C233.275 298.032 217.287 286.766 208.058 271.245C199.787 257.335 197.75 241.215 202.252 227.051C206.273 214.401 215.087 204.843 225.735 200.534C235.225 196.695 245.107 197.508 252.252 202.051C258.669 206.132 261.767 212.558 261.091 218.212\" stroke=\"white\" stroke-width=\"1\"/>\n</svg>\n`;const loopSvg=`\n<svg width=\"871\" height=\"295\" viewBox=\"0 0 871 295\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M1.08594 231.344C352.809 387.946 512.017 209.267 529.76 135.148C543.975 75.7694 504.152 0.618567 446.536 0.61853C388.986 0.618494 339.625 59.6711 355.081 135.148C372.658 220.984 539.76 378.328 869.94 231.344\" stroke=\"white\"/>\n</svg>\n`;const waveSvg=`\n<svg width=\"1255\" height=\"233\" viewBox=\"0 0 1255 233\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M1.20703 116.533C105.589 -36.9698 209.971 -36.9698 314.353 116.533C418.736 270.036 523.118 270.036 627.5 116.533C731.882 -36.9698 836.264 -36.9698 940.646 116.533C1045.03 270.036 1149.41 270.036 1253.79 116.533\" stroke=\"white\"/>\n</svg>\n`;const curlySvg=`\n<svg width=\"864\" height=\"839\" viewBox=\"0 0 864 839\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M1.23828 418.527C862.941 -138.096 -429.613 -138.096 432.09 418.527C1293.79 975.151 1.23828 979.368 862.941 418.527\" stroke=\"white\"/>\n</svg>\n`;const stripesSvg=`\n<svg width=\"1823\" height=\"756\" viewBox=\"0 0 1823 756\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n<path d=\"M755.676 0.524414L1.20703 754.994M534.32 754.994L1288.79 0.524414M1821.9 0.52448L1067.43 754.994\" stroke=\"white\"/>\n</svg>\n`;TickerPath.displayName=\"Ticker Path\";\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TickerPath\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"400\",\"framerIntrinsicHeight\":\"200\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TickerPath_Prod.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsInCurrentNavigationTarget}from\"framer\";import{isMotionValue,useInView}from\"framer-motion\";import{borderRadiusControl,defaultEvents,useIsBrowserSafari,useIsOnCanvas,useOnEnter,useOnExit,useRadius}from\"https://framer.com/m/framer/default-utils.js@^0.45.0\";import{memo,useCallback,useEffect,useMemo,useRef,useState}from\"react\";var ObjectFitType;(function(ObjectFitType){ObjectFitType[\"Fill\"]=\"fill\";ObjectFitType[\"Contain\"]=\"contain\";ObjectFitType[\"Cover\"]=\"cover\";ObjectFitType[\"None\"]=\"none\";ObjectFitType[\"ScaleDown\"]=\"scale-down\";})(ObjectFitType||(ObjectFitType={}));var SrcType;(function(SrcType){SrcType[\"Video\"]=\"Upload\";SrcType[\"Url\"]=\"URL\";})(SrcType||(SrcType={}));// Reduce renders\nfunction getProps(props){const{width,height,topLeft,topRight,bottomRight,bottomLeft,id,children,...rest}=props;return rest;}/**\n * VIDEO\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 112\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export function Video(props){const newProps=getProps(props);return /*#__PURE__*/_jsx(VideoMemo,{...newProps});}function usePlaybackControls(videoRef){const isInCurrentNavigationTarget=useIsInCurrentNavigationTarget();const requestingPlay=useRef(false);const setProgress=useCallback(rawProgress=>{if(!videoRef.current)return;const newProgress=(rawProgress===1?.999:rawProgress)*videoRef.current.duration;const isAlreadySet=Math.abs(videoRef.current.currentTime-newProgress)<.1;if(videoRef.current.duration>0&&!isAlreadySet){videoRef.current.currentTime=newProgress;}},[]);const play=useCallback(()=>{const isPlaying=videoRef.current.currentTime>0&&videoRef.current.onplaying&&!videoRef.current.paused&&!videoRef.current.ended&&videoRef.current.readyState>videoRef.current.HAVE_CURRENT_DATA;if(!isPlaying&&videoRef.current&&!requestingPlay.current&&isInCurrentNavigationTarget){requestingPlay.current=true;videoRef.current.play().catch(e=>{})// It's likely fine, swallow error\n.finally(()=>requestingPlay.current=false);}},[]);const pause=useCallback(()=>{if(!videoRef.current||requestingPlay.current)return;videoRef.current.pause();},[]);return{play,pause,setProgress};}function useAutoplayBehavior({playingProp,muted,loop,playsinline,controls}){const[initialPlayingProp]=useState(()=>playingProp);const[hasPlayingPropChanged,setHasPlayingPropChanged]=useState(false);if(playingProp!==initialPlayingProp&&!hasPlayingPropChanged){setHasPlayingPropChanged(true);}const behavesAsGif=// passing `playing === true` on mount indicates that the video should\n// autoplay, like a GIF\ninitialPlayingProp&&muted&&loop&&playsinline&&!controls&&// Some users of the <Video> component use it by wrapping it with\n// another smart component and adding their own controls on top. (The\n// controls use transitions to control the video: e.g., when clicking\n// the play button, the smart component will transition to a state with\n// <Video playing={true} />.) In this case, we don't want the video to\n// behave as a gif, as it will be weird if the video suddenly started\n// acting as such (and auto-pausing when leaving the viewport) as soon\n// as the site visitor mutes it and clicks “Play”.\n!hasPlayingPropChanged;let autoplay;if(behavesAsGif)autoplay=\"on-viewport\";else if(initialPlayingProp)autoplay=\"on-mount\";else autoplay=\"no-autoplay\";return autoplay;}/**\n * The Video component has some effects that sync the video element with props\n * like `startTime`, `progress`, etc. React calls these effects whenever these\n * props change. However, it also calls them on the first mount, and this is\n * troublesome – if we’re doing SSR, and the user changed the video state before\n * the video was hydrated, the initial `useEffect` call will reset the video\n * state. To avoid this, we use this flag.\n */let isMountedAndReadyForProgressChanges=false;const VideoMemo=/*#__PURE__*/memo(function VideoInner(props){const{srcType,srcFile,srcUrl,playing:playingProp,muted,playsinline,controls,progress,objectFit,backgroundColor,onSeeked,onPause,onPlay,onEnd,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,poster,posterEnabled,startTime:startTimeProp,volume,loop}=props;const videoRef=useRef();const isSafari=useIsBrowserSafari();const wasPausedOnLeave=useRef(null);const wasEndedOnLeave=useRef(null);const isOnCanvas=useIsOnCanvas();const borderRadius=useRadius(props);// Hard-coding `autoplayBehavior` and `isInViewport` when on canvas as a\n// tiny perf optimization. isOnCanvas won’t change through the lifecycle of\n// the component, so using these hooks conditionally should be safe\nconst autoplayBehavior=isOnCanvas?\"no-autoplay\":useAutoplayBehavior({playingProp,muted,loop,playsinline,controls});const isInViewport=isOnCanvas?true:useInView(videoRef);// Video elements behave oddly at 100% duration\nconst startTime=startTimeProp===100?99.9:startTimeProp;const{play,pause,setProgress}=usePlaybackControls(videoRef);// Pause/play via props\nuseEffect(()=>{if(isOnCanvas)return;if(playingProp)play();else pause();},[playingProp]);// Pause/play via viewport\nuseEffect(()=>{if(isOnCanvas)return;if(autoplayBehavior!==\"on-viewport\")return;if(isInViewport)play();else pause();},[autoplayBehavior,isInViewport]);// Allow scrubbling via progress prop\n// 1) Handle cases when the progress prop itself changes\nuseEffect(()=>{if(!isMountedAndReadyForProgressChanges){isMountedAndReadyForProgressChanges=true;return;}const rawProgressValue=isMotionValue(progress)?progress.get():(progress!==null&&progress!==void 0?progress:0)*.01;setProgress(// When the progress value exists (e.g. <Video startTime={10}\n// progress={50} />), we respect the `progress` value over\n// `startTime`, even if `startTime` changes. That’s because\n// `startTime` == start == changing it shouldn’t affect the current\n// progress\n(rawProgressValue!==null&&rawProgressValue!==void 0?rawProgressValue:0)||// Then why fall back to `startTime` when `progress` doesn’t exist,\n// you might ask? Now, that’s for\n// - canvas UX: we want the video progress to change when the user\n//   is scrobbling the “Start Time” in component settings.\n// - backwards compatibility: maybe some users *are* scrobbling\n//   using `startTime` instead of `progress`? We don’t know, and it\n//   always supported it, so let’s not break it\n(startTime!==null&&startTime!==void 0?startTime:0)/100);},[startTime,srcFile,srcUrl,progress]);// 2) Handle cases when the motion value inside the progress prop changes\nuseEffect(()=>{if(!isMotionValue(progress))return;return progress.on(\"change\",value=>setProgress(value));},[progress]);// (Prototyping) Checking if we need to play on navigation enter\nuseOnEnter(()=>{if(wasPausedOnLeave.current===null)return;if(videoRef.current){// if (restartOnEnter) setProgress(0)\nif(!wasEndedOnLeave&&loop||!wasPausedOnLeave.current)play();}});// (Prototyping) Pausing & saving playing state on navigation exit\nuseOnExit(()=>{if(videoRef.current){wasEndedOnLeave.current=videoRef.current.ended;wasPausedOnLeave.current=videoRef.current.paused;pause();}});const src=useMemo(()=>{let fragment=\"\";// if (\n//     startTime > 0 &&\n//     videoRef.current &&\n//     !isNaN(videoRef.current.duration) &&\n//     !isOnCanvas\n// ) {\n//     console.log(startTime, videoRef.current.duration)\n//     fragment = `#t=${startTime * videoRef.current.duration}`\n// }\nif(srcType===\"URL\")return srcUrl+fragment;if(srcType===\"Upload\")return srcFile+fragment;},[srcType,srcFile,srcUrl,startTime]);// Autoplay via JS to work in Safari\nuseEffect(()=>{if(isSafari&&videoRef.current&&autoplayBehavior===\"on-mount\"){setTimeout(()=>play(),50);}},[]);// Volume Control\nuseEffect(()=>{if(videoRef.current&&!muted)videoRef.current.volume=(volume!==null&&volume!==void 0?volume:0)/100;},[volume]);// When video is ready, set start-time, then autoplay if needed\nconst handleReady=()=>{if(!videoRef.current)return;if(videoRef.current.currentTime<.3)setProgress((startTime!==null&&startTime!==void 0?startTime:0)*.01);if(autoplayBehavior===\"on-mount\")play();};return /*#__PURE__*/_jsx(\"video\",{onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,src:src,loop:loop,ref:videoRef,onSeeked:e=>onSeeked===null||onSeeked===void 0?void 0:onSeeked(e),onPause:e=>onPause===null||onPause===void 0?void 0:onPause(e),onPlay:e=>onPlay===null||onPlay===void 0?void 0:onPlay(e),onEnded:e=>onEnd===null||onEnd===void 0?void 0:onEnd(e),autoPlay:autoplayBehavior===\"on-mount\",poster:posterEnabled?poster:undefined,onLoadedData:handleReady,controls:controls,muted:isOnCanvas?true:muted,playsInline:playsinline,style:{cursor:!!onClick?\"pointer\":\"auto\",width:\"100%\",height:\"100%\",borderRadius,display:\"block\",objectFit:objectFit,backgroundColor:backgroundColor,objectPosition:\"50% 50%\"}});});Video.displayName=\"Video\";Video.defaultProps={srcType:\"URL\",srcUrl:\"https://assets.mixkit.co/videos/preview/mixkit-shining-sun-in-the-sky-surrounded-by-moving-clouds-31793-small.mp4\",srcFile:\"\",posterEnabled:false,controls:false,playing:true,loop:true,muted:true,playsinline:true,restartOnEnter:false,objectFit:\"cover\",backgroundColor:\"rgba(0,0,0,0)\",radius:0,volume:25,startTime:0};const groupsRegex=/[A-Z]{2,}|[A-Z][a-z]+|[a-z]+|[A-Z]|\\d+/gu;function capitalizeFirstLetter(value){return value.charAt(0).toUpperCase()+value.slice(1);}export function titleCase(value){const groups=value.match(groupsRegex)||[];return groups.map(capitalizeFirstLetter).join(\" \");}const objectFitOptions=[\"cover\",\"fill\",\"contain\",\"scale-down\",\"none\"];addPropertyControls(Video,{srcType:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Source\",options:[\"URL\",\"Upload\"]},srcUrl:{type:ControlType.String,title:\"URL\",placeholder:\"../example.mp4\",hidden(props){return props.srcType===\"Upload\";},description:\"Hosted video file URL. For YouTube, use the YouTube component.\"},srcFile:{type:ControlType.File,title:\"File\",allowedFileTypes:[\"mp4\",\"webm\"],hidden(props){return props.srcType===\"URL\";}},playing:{type:ControlType.Boolean,title:\"Playing\",enabledTitle:\"Yes\",disabledTitle:\"No\"},posterEnabled:{type:ControlType.Boolean,title:\"Poster\",enabledTitle:\"Yes\",disabledTitle:\"No\"},poster:{type:ControlType.Image,title:\" \",hidden:({posterEnabled})=>!posterEnabled},backgroundColor:{type:ControlType.Color,title:\"Background\"},...borderRadiusControl,startTime:{title:\"Start Time\",type:ControlType.Number,min:0,max:100,step:.1,unit:\"%\"},loop:{type:ControlType.Boolean,title:\"Loop\",enabledTitle:\"Yes\",disabledTitle:\"No\"},objectFit:{type:ControlType.Enum,title:\"Fit\",options:objectFitOptions,optionTitles:objectFitOptions.map(titleCase)},// restartOnEnter: {\n//     type: ControlType.Boolean,\n//     title: \"On ReEnter\",\n//     enabledTitle: \"Restart\",\n//     disabledTitle: \"Resume\",\n// },\ncontrols:{type:ControlType.Boolean,title:\"Controls\",enabledTitle:\"Show\",disabledTitle:\"Hide\"},muted:{type:ControlType.Boolean,title:\"Muted\",enabledTitle:\"Yes\",disabledTitle:\"No\"},volume:{type:ControlType.Number,max:100,min:0,unit:\"%\",hidden:({muted})=>muted},onEnd:{type:ControlType.EventHandler},onSeeked:{type:ControlType.EventHandler},onPause:{type:ControlType.EventHandler},onPlay:{type:ControlType.EventHandler},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"Video\":{\"type\":\"reactComponent\",\"name\":\"Video\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"200\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"112\"}},\"titleCase\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"VideoProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Video.map","function clamp(t,e,i){return Math.max(t,Math.min(e,i))}class Animate{advance(t){if(!this.isRunning)return;let e=!1;if(this.lerp)this.value=function damp(t,e,i,s){return function lerp(t,e,i){return(1-i)*t+i*e}(t,e,1-Math.exp(-i*s))}(this.value,this.to,60*this.lerp,t),Math.round(this.value)===this.to&&(this.value=this.to,e=!0);else{this.currentTime+=t;const i=clamp(0,this.currentTime/this.duration,1);e=i>=1;const s=e?1:this.easing(i);this.value=this.from+(this.to-this.from)*s}e&&this.stop(),this.onUpdate?.(this.value,e)}stop(){this.isRunning=!1}fromTo(t,e,{lerp:i=.1,duration:s=1,easing:o=(t=>t),onStart:n,onUpdate:r}){this.from=this.value=t,this.to=e,this.lerp=i,this.duration=s,this.easing=o,this.currentTime=0,this.isRunning=!0,n?.(),this.onUpdate=r}}class Dimensions{constructor({wrapper:t,content:e,autoResize:i=!0,debounce:s=250}={}){this.wrapper=t,this.content=e,i&&(this.debouncedResize=function debounce(t,e){let i;return function(){let s=arguments,o=this;clearTimeout(i),i=setTimeout((function(){t.apply(o,s)}),e)}}(this.resize,s),this.wrapper===window?window.addEventListener(\"resize\",this.debouncedResize,!1):(this.wrapperResizeObserver=new ResizeObserver(this.debouncedResize),this.wrapperResizeObserver.observe(this.wrapper)),this.contentResizeObserver=new ResizeObserver(this.debouncedResize),this.contentResizeObserver.observe(this.content)),this.resize()}destroy(){this.wrapperResizeObserver?.disconnect(),this.contentResizeObserver?.disconnect(),window.removeEventListener(\"resize\",this.debouncedResize,!1)}resize=()=>{this.onWrapperResize(),this.onContentResize()};onWrapperResize=()=>{this.wrapper===window?(this.width=window.innerWidth,this.height=window.innerHeight):(this.width=this.wrapper.clientWidth,this.height=this.wrapper.clientHeight)};onContentResize=()=>{this.wrapper===window?(this.scrollHeight=this.content.scrollHeight,this.scrollWidth=this.content.scrollWidth):(this.scrollHeight=this.wrapper.scrollHeight,this.scrollWidth=this.wrapper.scrollWidth)};get limit(){return{x:this.scrollWidth-this.width,y:this.scrollHeight-this.height}}}class Emitter{constructor(){this.events={}}emit(t,...e){let i=this.events[t]||[];for(let t=0,s=i.length;t<s;t++)i[t](...e)}on(t,e){return this.events[t]?.push(e)||(this.events[t]=[e]),()=>{this.events[t]=this.events[t]?.filter((t=>e!==t))}}off(t,e){this.events[t]=this.events[t]?.filter((t=>e!==t))}destroy(){this.events={}}}const t=100/6;class VirtualScroll{constructor(t,{wheelMultiplier:e=1,touchMultiplier:i=1}){this.element=t,this.wheelMultiplier=e,this.touchMultiplier=i,this.touchStart={x:null,y:null},this.emitter=new Emitter,window.addEventListener(\"resize\",this.onWindowResize,!1),this.onWindowResize(),this.element.addEventListener(\"wheel\",this.onWheel,{passive:!1}),this.element.addEventListener(\"touchstart\",this.onTouchStart,{passive:!1}),this.element.addEventListener(\"touchmove\",this.onTouchMove,{passive:!1}),this.element.addEventListener(\"touchend\",this.onTouchEnd,{passive:!1})}on(t,e){return this.emitter.on(t,e)}destroy(){this.emitter.destroy(),window.removeEventListener(\"resize\",this.onWindowResize,!1),this.element.removeEventListener(\"wheel\",this.onWheel,{passive:!1}),this.element.removeEventListener(\"touchstart\",this.onTouchStart,{passive:!1}),this.element.removeEventListener(\"touchmove\",this.onTouchMove,{passive:!1}),this.element.removeEventListener(\"touchend\",this.onTouchEnd,{passive:!1})}onTouchStart=t=>{const{clientX:e,clientY:i}=t.targetTouches?t.targetTouches[0]:t;this.touchStart.x=e,this.touchStart.y=i,this.lastDelta={x:0,y:0},this.emitter.emit(\"scroll\",{deltaX:0,deltaY:0,event:t})};onTouchMove=t=>{const{clientX:e,clientY:i}=t.targetTouches?t.targetTouches[0]:t,s=-(e-this.touchStart.x)*this.touchMultiplier,o=-(i-this.touchStart.y)*this.touchMultiplier;this.touchStart.x=e,this.touchStart.y=i,this.lastDelta={x:s,y:o},this.emitter.emit(\"scroll\",{deltaX:s,deltaY:o,event:t})};onTouchEnd=t=>{this.emitter.emit(\"scroll\",{deltaX:this.lastDelta.x,deltaY:this.lastDelta.y,event:t})};onWheel=e=>{let{deltaX:i,deltaY:s,deltaMode:o}=e;i*=1===o?t:2===o?this.windowWidth:1,s*=1===o?t:2===o?this.windowHeight:1,i*=this.wheelMultiplier,s*=this.wheelMultiplier,this.emitter.emit(\"scroll\",{deltaX:i,deltaY:s,event:e})};onWindowResize=()=>{this.windowWidth=window.innerWidth,this.windowHeight=window.innerHeight}}class Lenis{constructor({wrapper:t=window,content:e=document.documentElement,wheelEventsTarget:i=t,eventsTarget:s=i,smoothWheel:o=!0,syncTouch:n=!1,syncTouchLerp:r=.075,touchInertiaMultiplier:l=35,duration:h,easing:a=(t=>Math.min(1,1.001-Math.pow(2,-10*t))),lerp:c=!h&&.1,infinite:u=!1,orientation:d=\"vertical\",gestureOrientation:p=\"vertical\",touchMultiplier:m=1,wheelMultiplier:v=1,autoResize:g=!0,prevent:w=!1,__experimental__naiveDimensions:S=!1}={}){this.__isScrolling=!1,this.__isStopped=!1,this.__isLocked=!1,this.onVirtualScroll=({deltaX:t,deltaY:e,event:i})=>{if(i.ctrlKey)return;const s=i.type.includes(\"touch\"),o=i.type.includes(\"wheel\");this.isTouching=\"touchstart\"===i.type||\"touchmove\"===i.type;if(this.options.syncTouch&&s&&\"touchstart\"===i.type&&!this.isStopped&&!this.isLocked)return void this.reset();const n=0===t&&0===e,r=\"vertical\"===this.options.gestureOrientation&&0===e||\"horizontal\"===this.options.gestureOrientation&&0===t;if(n||r)return;let l=i.composedPath();l=l.slice(0,l.indexOf(this.rootElement));const h=this.options.prevent;if(l.find((t=>{var e,i,n,r,l;return(\"function\"==typeof h?null==h?void 0:h(t):h)||(null===(e=t.hasAttribute)||void 0===e?void 0:e.call(t,\"data-lenis-prevent\"))||s&&(null===(i=t.hasAttribute)||void 0===i?void 0:i.call(t,\"data-lenis-prevent-touch\"))||o&&(null===(n=t.hasAttribute)||void 0===n?void 0:n.call(t,\"data-lenis-prevent-wheel\"))||(null===(r=t.classList)||void 0===r?void 0:r.contains(\"lenis\"))&&!(null===(l=t.classList)||void 0===l?void 0:l.contains(\"lenis-stopped\"))})))return;if(this.isStopped||this.isLocked)return void i.preventDefault();if(!(this.options.syncTouch&&s||this.options.smoothWheel&&o))return this.isScrolling=\"native\",void this.animate.stop();i.preventDefault();let a=e;\"both\"===this.options.gestureOrientation?a=Math.abs(e)>Math.abs(t)?e:t:\"horizontal\"===this.options.gestureOrientation&&(a=t);const c=s&&this.options.syncTouch,u=s&&\"touchend\"===i.type&&Math.abs(a)>5;u&&(a=this.velocity*this.options.touchInertiaMultiplier),this.scrollTo(this.targetScroll+a,Object.assign({programmatic:!1},c?{lerp:u?this.options.syncTouchLerp:1}:{lerp:this.options.lerp,duration:this.options.duration,easing:this.options.easing}))},this.onNativeScroll=()=>{if(clearTimeout(this.__resetVelocityTimeout),delete this.__resetVelocityTimeout,this.__preventNextNativeScrollEvent)delete this.__preventNextNativeScrollEvent;else if(!1===this.isScrolling||\"native\"===this.isScrolling){const t=this.animatedScroll;this.animatedScroll=this.targetScroll=this.actualScroll,this.lastVelocity=this.velocity,this.velocity=this.animatedScroll-t,this.direction=Math.sign(this.animatedScroll-t),this.isScrolling=\"native\",this.emit(),0!==this.velocity&&(this.__resetVelocityTimeout=setTimeout((()=>{this.lastVelocity=this.velocity,this.velocity=0,this.isScrolling=!1,this.emit()}),400))}},window.lenisVersion=\"1.1.2\",t!==document.documentElement&&t!==document.body||(t=window),this.options={wrapper:t,content:e,wheelEventsTarget:i,eventsTarget:s,smoothWheel:o,syncTouch:n,syncTouchLerp:r,touchInertiaMultiplier:l,duration:h,easing:a,lerp:c,infinite:u,gestureOrientation:p,orientation:d,touchMultiplier:m,wheelMultiplier:v,autoResize:g,prevent:w,__experimental__naiveDimensions:S},this.animate=new Animate,this.emitter=new Emitter,this.dimensions=new Dimensions({wrapper:t,content:e,autoResize:g}),this.updateClassName(),this.userData={},this.time=0,this.velocity=this.lastVelocity=0,this.isLocked=!1,this.isStopped=!1,this.isScrolling=!1,this.targetScroll=this.animatedScroll=this.actualScroll,this.options.wrapper.addEventListener(\"scroll\",this.onNativeScroll,!1),this.virtualScroll=new VirtualScroll(s,{touchMultiplier:m,wheelMultiplier:v}),this.virtualScroll.on(\"scroll\",this.onVirtualScroll)}destroy(){this.emitter.destroy(),this.options.wrapper.removeEventListener(\"scroll\",this.onNativeScroll,!1),this.virtualScroll.destroy(),this.dimensions.destroy(),this.cleanUpClassName()}on(t,e){return this.emitter.on(t,e)}off(t,e){return this.emitter.off(t,e)}setScroll(t){this.isHorizontal?this.rootElement.scrollLeft=t:this.rootElement.scrollTop=t}resize(){this.dimensions.resize()}emit({userData:t={}}={}){this.userData=t,this.emitter.emit(\"scroll\",this),this.userData={}}reset(){this.isLocked=!1,this.isScrolling=!1,this.animatedScroll=this.targetScroll=this.actualScroll,this.lastVelocity=this.velocity=0,this.animate.stop()}start(){this.isStopped&&(this.isStopped=!1,this.reset())}stop(){this.isStopped||(this.isStopped=!0,this.animate.stop(),this.reset())}raf(t){const e=t-(this.time||t);this.time=t,this.animate.advance(.001*e)}scrollTo(t,{offset:e=0,immediate:i=!1,lock:s=!1,duration:o=this.options.duration,easing:n=this.options.easing,lerp:r=!o&&this.options.lerp,onStart:l,onComplete:h,force:a=!1,programmatic:c=!0,userData:u={}}={}){if(!this.isStopped&&!this.isLocked||a){if([\"top\",\"left\",\"start\"].includes(t))t=0;else if([\"bottom\",\"right\",\"end\"].includes(t))t=this.limit;else{let i;if(\"string\"==typeof t?i=document.querySelector(t):(null==t?void 0:t.nodeType)&&(i=t),i){if(this.options.wrapper!==window){const t=this.options.wrapper.getBoundingClientRect();e-=this.isHorizontal?t.left:t.top}const s=i.getBoundingClientRect();t=(this.isHorizontal?s.left:s.top)+this.animatedScroll}}if(\"number\"==typeof t){if(t+=e,t=Math.round(t),this.options.infinite?c&&(this.targetScroll=this.animatedScroll=this.scroll):t=clamp(0,t,this.limit),i)return this.animatedScroll=this.targetScroll=t,this.setScroll(this.scroll),this.reset(),void(null==h||h(this));t!==this.targetScroll&&(c||(this.targetScroll=t),this.animate.fromTo(this.animatedScroll,t,{duration:o,easing:n,lerp:r,onStart:()=>{s&&(this.isLocked=!0),this.isScrolling=\"smooth\",null==l||l(this)},onUpdate:(t,e)=>{this.isScrolling=\"smooth\",this.lastVelocity=this.velocity,this.velocity=t-this.animatedScroll,this.direction=Math.sign(this.velocity),this.animatedScroll=t,this.setScroll(this.scroll),c&&(this.targetScroll=t),e||this.emit({userData:u}),e&&(this.reset(),this.emit({userData:u}),null==h||h(this),this.__preventNextNativeScrollEvent=!0)}}))}}}get rootElement(){return this.options.wrapper===window?document.documentElement:this.options.wrapper}get limit(){return this.options.__experimental__naiveDimensions?this.isHorizontal?this.rootElement.scrollWidth-this.rootElement.clientWidth:this.rootElement.scrollHeight-this.rootElement.clientHeight:this.dimensions.limit[this.isHorizontal?\"x\":\"y\"]}get isHorizontal(){return\"horizontal\"===this.options.orientation}get actualScroll(){return this.isHorizontal?this.rootElement.scrollLeft:this.rootElement.scrollTop}get scroll(){return this.options.infinite?function modulo(t,e){return(t%e+e)%e}(this.animatedScroll,this.limit):this.animatedScroll}get progress(){return 0===this.limit?1:this.scroll/this.limit}get isScrolling(){return this.__isScrolling}set isScrolling(t){this.__isScrolling!==t&&(this.__isScrolling=t,this.updateClassName())}get isStopped(){return this.__isStopped}set isStopped(t){this.__isStopped!==t&&(this.__isStopped=t,this.updateClassName())}get isLocked(){return this.__isLocked}set isLocked(t){this.__isLocked!==t&&(this.__isLocked=t,this.updateClassName())}get isSmooth(){return\"smooth\"===this.isScrolling}get className(){let t=\"lenis\";return this.isStopped&&(t+=\" lenis-stopped\"),this.isLocked&&(t+=\" lenis-locked\"),this.isScrolling&&(t+=\" lenis-scrolling\"),\"smooth\"===this.isScrolling&&(t+=\" lenis-smooth\"),t}updateClassName(){this.cleanUpClassName(),this.rootElement.className=`${this.rootElement.className} ${this.className}`.trim()}cleanUpClassName(){this.rootElement.className=this.rootElement.className.replace(/lenis(-\\w+)?/g,\"\").trim()}}export{Lenis as default};\n//# sourceMappingURL=lenis.mjs.map\n","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,withCSS}from\"framer\";import Lenis from\"lenis\";import{useEffect,useRef}from\"react\";function SmoothScrollComponent(props){const{intensity}=props;const lenis=useRef(null);useEffect(()=>{if(lenis.current){try{lenis.current.scrollTo(0,{immediate:true});}catch(error){console.error(\"Error scrolling to top:\",error);}}},[lenis]);// Watch for stop scroll elements\nuseEffect(()=>{const checkForStopScroll=()=>{try{const stopScrollElement=document.querySelector(\"[data-frameruni-stop-scroll]\");const htmlElement=document.documentElement;const hasHiddenOverflow=htmlElement&&htmlElement.style&&htmlElement.style.overflow===\"hidden\";if(lenis.current){if(stopScrollElement||hasHiddenOverflow){lenis.current.stop();}else{lenis.current.start();}}}catch(error){console.error(\"Error in checkForStopScroll:\",error);}};// Initial check\ncheckForStopScroll();// Set up observers\nlet stopScrollObserver;let htmlStyleObserver;try{stopScrollObserver=new MutationObserver(checkForStopScroll);htmlStyleObserver=new MutationObserver(checkForStopScroll);// Observe document for data-frameruni-stop-scroll attribute\nif(document&&document.documentElement){stopScrollObserver.observe(document.documentElement,{childList:true,subtree:true,attributes:true,attributeFilter:[\"data-frameruni-stop-scroll\"]});// Observe only the HTML element for style changes\nhtmlStyleObserver.observe(document.documentElement,{attributes:true,attributeFilter:[\"style\"]});}}catch(error){console.error(\"Error setting up observers:\",error);}return()=>{try{if(stopScrollObserver)stopScrollObserver.disconnect();if(htmlStyleObserver)htmlStyleObserver.disconnect();}catch(error){console.error(\"Error disconnecting observers:\",error);}};},[]);useEffect(()=>{try{if(!document)return;const allElements=document.getElementsByTagName(\"*\");for(let i=0;i<allElements.length;i++){const element=allElements[i];if(!element)continue;try{const computedStyle=window.getComputedStyle(element);if(computedStyle&&computedStyle.getPropertyValue(\"overflow\")===\"auto\"){element.setAttribute(\"data-lenis-prevent\",\"true\");}}catch(styleError){console.error(\"Error getting computed style:\",styleError);}}}catch(error){console.error(\"Error in overflow detection:\",error);}},[]);useEffect(()=>{try{if(typeof Lenis!==\"function\"){console.error(\"Lenis is not available\");return;}lenis.current=new Lenis({duration:(intensity||10)/10});const raf=time=>{if(lenis.current){try{lenis.current.raf(time);requestAnimationFrame(raf);}catch(error){console.error(\"Error in animation frame:\",error);}}};const animationId=requestAnimationFrame(raf);return()=>{cancelAnimationFrame(animationId);if(lenis.current){try{lenis.current.destroy();lenis.current=null;}catch(error){console.error(\"Error destroying Lenis:\",error);}}};}catch(error){console.error(\"Error initializing Lenis:\",error);return()=>{};}},[intensity]);//https://github.com/darkroomengineering/lenis?tab=readme-ov-file#anchor-links\nuseEffect(()=>{try{if(!document||!lenis.current)return;// Get all anchor links and store click handlers with their targets\nconst anchorLinksData=Array.from(document.querySelectorAll(\"a[href]\")||[]).filter(element=>{if(!element)return false;const anchor=element;if(!anchor.href)return false;// Only handle internal anchor links\nconst isInternalLink=anchor.href.startsWith(window.location.origin)||anchor.href.startsWith(\"./\")||anchor.href.startsWith(\"/\");const hasHash=anchor.href.includes(\"#\");return isInternalLink&&hasHash;}).map(anchor=>{try{const anchorElement=anchor;const href=anchorElement.href.includes(\"#\")?`#${anchorElement.href.split(\"#\").pop()}`:\"\";const decodedHref=href?decodeURIComponent(href):\"\";let scrollMargin=0;try{if(decodedHref){const targetElement=document.querySelector(decodedHref);if(targetElement){const marginStyle=window.getComputedStyle(targetElement).scrollMarginTop;scrollMargin=marginStyle?parseInt(marginStyle)||0:0;}}}catch(targetError){console.error(\"Error finding target element:\",targetError);}return{href,scrollMargin,anchorElement:anchorElement};}catch(anchorError){console.error(\"Error processing anchor:\",anchorError);return null;}}).filter(Boolean);const handleClick=(e,href,scrollMargin)=>{try{if(e&&e.preventDefault)e.preventDefault();if(lenis.current&&href){lenis.current.scrollTo(href,{offset:-(scrollMargin||0)});}}catch(error){console.error(\"Error in anchor click handler:\",error);}};const handlers=anchorLinksData.map(({href,scrollMargin})=>e=>handleClick(e,href,scrollMargin));anchorLinksData.forEach(({anchorElement},index)=>{if(anchorElement&&handlers[index]){anchorElement.addEventListener(\"click\",handlers[index]);}});return()=>{anchorLinksData.forEach(({anchorElement},index)=>{if(anchorElement&&handlers[index]){anchorElement.removeEventListener(\"click\",handlers[index]);}});};}catch(error){console.error(\"Error setting up anchor links:\",error);return()=>{};}},[lenis]);return /*#__PURE__*/_jsx(\"div\",{style:props.style});}/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n *\n * @framerDisableUnlink\n */const SmoothScroll=withCSS(SmoothScrollComponent,[\"html.lenis { height: auto; }\",\".lenis.lenis-smooth { scroll-behavior: auto !important; }\",\".lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }\",\".lenis.lenis-stopped { overflow: hidden; }\",\".lenis.lenis-scrolling iframe { pointer-events: none; }\"],\"\");export default SmoothScroll;SmoothScroll.displayName=\"Smooth Scroll\";addPropertyControls(SmoothScroll,{intensity:{title:\"Intensity\",type:ControlType.Number,defaultValue:10,min:0,description:\"More components at [Framer University](https://frameruni.link/cc).\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"SmoothScroll\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"auto\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SmoothScroll_Prod.map"],"mappings":"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"}