{"version":3,"file":"shared.4wfV58ce.mjs","names":["Phosphor","React.useContext","React.useMemo","React.Fragment","React.forwardRef","useRef","React.useId","mapRange","useRef","useMemo","useRef","useMemo","useCallback"],"sources":["https:/framerusercontent.com/modules/eUuPqrxKHvcoKgxT6wtf/4BBseXiXmb1SYUR5Gtc0/gh1UMK_Z6.js","https:/framerusercontent.com/modules/QbIURI1CrWibjjH7k1PR/2vNdLnvQNPcA8uP12d7k/FollowCursor_Prod.js","https:/framerusercontent.com/modules/Z7W0nR93oDA0ww3oOjR8/Ek6hdyC7N0hvEfTgS47e/ShimmerGrid_Prod.js","https:/framerusercontent.com/modules/wK8r9CRnmNFLJyrAjgYX/eAwoxCEH17J2KKURdLKv/TallyForms.js","https:/framerusercontent.com/modules/oDQ3w5k0f2kzmtcZulSv/4sP2O006zjtA2qPBdN0k/tDwoojSXx.js","https:/framerusercontent.com/modules/rS9t13HU3akx9AtKwaUg/eGb7gRCmRUpEcKYhN3Ns/siteMetadata.js"],"sourcesContent":["// Generated by Framer (9fdca5e)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getPropertyControls,Link,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import{Icon as Phosphor}from\"https://framerusercontent.com/modules/tYScH7LTqUtz5KUaUAYP/p8dptk4UIND8hbFWz9V7/Phosphor.js\";const PhosphorFonts=getFonts(Phosphor);const PhosphorControls=getPropertyControls(Phosphor);const enabledGestures={bL6VlN1t5:{hover:true},idDToAsku:{hover:true},kxmQYFra7:{hover:true,pressed:true}};const cycleOrder=[\"kxmQYFra7\",\"idDToAsku\",\"bL6VlN1t5\",\"ukuR9AZaY\",\"RPHo6PCQw\"];const serializationHash=\"framer-D2Xq4\";const variantClassNames={bL6VlN1t5:\"framer-v-1sre368\",idDToAsku:\"framer-v-1dp4n3m\",kxmQYFra7:\"framer-v-4akcs2\",RPHo6PCQw:\"framer-v-1e3blgh\",ukuR9AZaY:\"framer-v-d50or5\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const lSz_n1vlx=undefined;const TJn7Lb4y5=undefined;const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={Default:\"kxmQYFra7\",Footer:\"idDToAsku\",Hero:\"bL6VlN1t5\",Small:\"RPHo6PCQw\",White:\"ukuR9AZaY\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,link,logo,width,...props})=>{return{...props,lSz_n1vlx:link??props.lSz_n1vlx,TJn7Lb4y5:logo??props.TJn7Lb4y5??\"PhosphorLogo\",variant:humanReadableVariantMap[props.variant]??props.variant??\"kxmQYFra7\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,TJn7Lb4y5,lSz_n1vlx,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"kxmQYFra7\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(Link,{href:lSz_n1vlx,motionChild:true,nodeId:\"kxmQYFra7\",openInNewTab:true,scopeId:\"gh1UMK_Z6\",children:/*#__PURE__*/_jsx(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-4akcs2\",className,classNames)} framer-fhjklg`,\"data-framer-name\":\"Default\",layoutDependency:layoutDependency,layoutId:\"kxmQYFra7\",ref:refBinding,style:{backgroundColor:\"var(--token-eab6e4af-cd69-43e7-8c5b-fa5d3357ba68, rgb(248, 248, 248))\",borderBottomLeftRadius:32,borderBottomRightRadius:32,borderTopLeftRadius:32,borderTopRightRadius:32,...style},variants:{\"bL6VlN1t5-hover\":{backgroundColor:\"var(--token-1fb71ded-1d03-488c-b2cd-3c7ad72720db, rgb(244, 244, 244))\"},\"idDToAsku-hover\":{backgroundColor:\"rgba(255, 255, 255, 0.4)\"},\"kxmQYFra7-hover\":{backgroundColor:\"var(--token-8cd25dc6-9994-45b0-830b-10cdb654dd7c, rgb(238, 243, 255))\"},\"kxmQYFra7-pressed\":{backgroundColor:\"var(--token-69ecf685-f03c-4567-9fc5-27d2c79c4946, rgb(198, 220, 240))\"},idDToAsku:{backgroundColor:\"rgba(255, 255, 255, 0.2)\"},RPHo6PCQw:{backgroundColor:\"var(--token-5ea9d588-a082-4268-a5ad-a118512a6412, rgb(255, 255, 255))\"},ukuR9AZaY:{backgroundColor:\"var(--token-5ea9d588-a082-4268-a5ad-a118512a6412, rgb(255, 255, 255))\"}},...addPropertyOverrides({bL6VlN1t5:{\"data-framer-name\":\"Hero\"},idDToAsku:{\"data-framer-name\":\"Footer\"},RPHo6PCQw:{\"data-framer-name\":\"Small\"},ukuR9AZaY:{\"data-framer-name\":\"White\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1asyky8-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"fbwl8PdOM-container\",nodeId:\"fbwl8PdOM\",rendersWithMotion:true,scopeId:\"gh1UMK_Z6\",children:/*#__PURE__*/_jsx(Phosphor,{color:\"var(--token-3c8849a0-aa18-4f5c-b296-2c2ae9464984, rgb(110, 110, 110))\",height:\"100%\",iconSearch:\"House\",iconSelection:TJn7Lb4y5,id:\"fbwl8PdOM\",layoutId:\"fbwl8PdOM\",mirrored:false,selectByList:true,style:{height:\"100%\",width:\"100%\"},weight:\"regular\",width:\"100%\",...addPropertyOverrides({\"kxmQYFra7-hover\":{color:\"var(--token-ec2999c4-d032-4414-bc4e-6ea37a86746d, rgb(10, 78, 151))\"},\"kxmQYFra7-pressed\":{color:\"var(--token-ec2999c4-d032-4414-bc4e-6ea37a86746d, rgb(10, 78, 151))\"},idDToAsku:{color:\"var(--token-5ea9d588-a082-4268-a5ad-a118512a6412, rgb(255, 255, 255))\"},RPHo6PCQw:{color:\"var(--token-6ef8ff2b-e464-4a4b-8521-f8ac132d9742, rgb(15, 15, 15))\"},ukuR9AZaY:{color:\"var(--token-89d7ab7f-7367-42e7-b155-e220dc21b528, rgb(0, 89, 255))\"}},baseVariant,gestureVariant)})})})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-D2Xq4.framer-fhjklg, .framer-D2Xq4 .framer-fhjklg { display: block; }\",\".framer-D2Xq4.framer-4akcs2 { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 6px; height: min-content; justify-content: center; overflow: hidden; padding: 8px; position: relative; text-decoration: none; width: 64px; will-change: var(--framer-will-change-override, transform); }\",\".framer-D2Xq4 .framer-1asyky8-container { flex: none; height: 32px; position: relative; width: 32px; }\",\".framer-D2Xq4.framer-v-1dp4n3m .framer-1asyky8-container, .framer-D2Xq4.framer-v-1e3blgh .framer-1asyky8-container { height: 20px; width: 20px; }\",\".framer-D2Xq4.framer-v-1sre368.framer-4akcs2 { padding: 4px; }\",\".framer-D2Xq4.framer-v-1sre368 .framer-1asyky8-container { height: 24px; width: 24px; }\",\".framer-D2Xq4.framer-v-d50or5.framer-4akcs2 { cursor: unset; }\",\".framer-D2Xq4.framer-v-1e3blgh.framer-4akcs2 { cursor: unset; height: 32px; width: 32px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 48\n * @framerIntrinsicWidth 64\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"idDToAsku\":{\"layout\":[\"fixed\",\"auto\"]},\"bL6VlN1t5\":{\"layout\":[\"fixed\",\"auto\"]},\"ukuR9AZaY\":{\"layout\":[\"fixed\",\"auto\"]},\"RPHo6PCQw\":{\"layout\":[\"fixed\",\"fixed\"]},\"WgZAxdNPp\":{\"layout\":[\"fixed\",\"auto\"]},\"pzysgaAGC\":{\"layout\":[\"fixed\",\"auto\"]},\"olc8snBlK\":{\"layout\":[\"fixed\",\"auto\"]},\"wI0b2hBGo\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"TJn7Lb4y5\":\"logo\",\"lSz_n1vlx\":\"link\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const Framergh1UMK_Z6=withCSS(Component,css,\"framer-D2Xq4\");export default Framergh1UMK_Z6;Framergh1UMK_Z6.displayName=\"Button/Social\";Framergh1UMK_Z6.defaultProps={height:48,width:64};addPropertyControls(Framergh1UMK_Z6,{variant:{options:[\"kxmQYFra7\",\"idDToAsku\",\"bL6VlN1t5\",\"ukuR9AZaY\",\"RPHo6PCQw\"],optionTitles:[\"Default\",\"Footer\",\"Hero\",\"White\",\"Small\"],title:\"Variant\",type:ControlType.Enum},TJn7Lb4y5:PhosphorControls?.[\"iconSelection\"]&&{...PhosphorControls[\"iconSelection\"],defaultValue:\"PhosphorLogo\",description:undefined,hidden:undefined,optional:undefined,title:\"Logo\"},onTJn7Lb4y5Change:{changes:\"TJn7Lb4y5\",type:ControlType.ChangeHandler},lSz_n1vlx:{title:\"Link\",type:ControlType.Link}});addFonts(Framergh1UMK_Z6,[{explicitInter:true,fonts:[]},...PhosphorFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Framergh1UMK_Z6\",\"slots\":[],\"annotations\":{\"framerColorSyntax\":\"true\",\"framerImmutableVariables\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"idDToAsku\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"bL6VlN1t5\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"ukuR9AZaY\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"RPHo6PCQw\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"WgZAxdNPp\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"pzysgaAGC\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"olc8snBlK\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"wI0b2hBGo\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerComponentViewportWidth\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"48\",\"framerIntrinsicWidth\":\"64\",\"framerVariables\":\"{\\\"TJn7Lb4y5\\\":\\\"logo\\\",\\\"lSz_n1vlx\\\":\\\"link\\\"}\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./gh1UMK_Z6.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useEffect,useRef,useMemo}from\"react\";import{useMotionValue,useSpring,animate}from\"framer-motion\";const ALIGNMENT={left:0,top:0,center:.5,right:1,bottom:1};/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n *\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 200\n */export default function FollowCursor(props){const{smoothing,enabled,horizontalAlignment,verticalAlignment,transition}=props;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const id=generateInstanceId();const movementTransition={damping:100,stiffness:mapRange(smoothing,0,100,2e3,50)};const mouseX=useMotionValue(0);const mouseY=useMotionValue(0);const springX=useSpring(mouseX,movementTransition);const springY=useSpring(mouseY,movementTransition);const ref=useRef(null);const parentRef=useRef(null);const transformRef=useRef(null);const styleRef=useRef(null);const hasSpringRef=useRef(smoothing!==0);const previousXRef=useRef(null);const previousYRef=useRef(null);const previousStyleTransformRef=useRef(null);const isInitializedRef=useRef(false);const previousScrollXRef=useRef(0);const previousScrollYRef=useRef(0);const opacityRef=useRef(1);const currentOpacityRef=useRef(0);useEffect(()=>{hasSpringRef.current=smoothing!==0;},[smoothing]);useEffect(()=>{let animationFrameId;const updateTransform=()=>{if(isCanvas)return;animationFrameId=requestAnimationFrame(updateTransform);if(!parentRef.current||!styleRef.current){return;}const xValue=(hasSpringRef.current?springX.get():mouseX.get()).toFixed(3);const yValue=(hasSpringRef.current?springY.get():mouseY.get()).toFixed(3);// Get computed styles to capture all existing transforms\nconst computedStyle=window.getComputedStyle(parentRef.current);const transform=calculateTransform(parentRef.current,computedStyle,xValue,yValue,previousXRef.current,previousYRef.current,previousStyleTransformRef.current);const opacity=currentOpacityRef.current*opacityRef.current;transformRef.current=transform;styleRef.current.textContent=`\n\t\t\t\t[data-followcursor=\"${id}\"] { \n\t\t\t\t\ttransform: ${transform} !important;\n\t\t\t\t\t${opacity<.995?`opacity: ${opacity} !important;`:\"\"}\n\t\t\t\t}\n\t\t\t`;previousXRef.current=xValue;previousYRef.current=yValue;previousStyleTransformRef.current=parentRef.current.style.transform;};if(ref.current){const container=ref.current.parentElement;if(container){const parent=container.parentElement;if(parent){parentRef.current=parent;parent.setAttribute(\"data-followcursor\",id);}}}// Start the animation loop\nupdateTransform();// Cleanup function\nreturn()=>{if(animationFrameId){cancelAnimationFrame(animationFrameId);}};},[]);useEffect(()=>{const handleMouseMove=event=>{if(!parentRef.current)return;let setSpringsInstantly=false;// When initialized for the first time, animate opacity\nif(!isInitializedRef.current){isInitializedRef.current=true;animate(currentOpacityRef.current,enabled?1:0,{...transition,onUpdate:latest=>{currentOpacityRef.current=latest;}});setSpringsInstantly=true;}// Get the element's position without transforms\nconst computedStyle=window.getComputedStyle(parentRef.current);const matrix=new DOMMatrix(computedStyle.transform);const rect=parentRef.current.getBoundingClientRect();// Subtract the transform translation to get the original position\nconst originalLeft=rect.left-matrix.m41;const originalTop=rect.top-matrix.m42;// Add scroll offsets to mouse position\nconst scrollX=window.pageXOffset||document.documentElement.scrollLeft;const scrollY=window.pageYOffset||document.documentElement.scrollTop;// Update previous scroll positions\npreviousScrollXRef.current=scrollX;previousScrollYRef.current=scrollY;const mouseXPos=event.clientX+scrollX-(originalLeft+scrollX)-ALIGNMENT[horizontalAlignment]*rect.width;const mouseYPos=event.clientY+scrollY-(originalTop+scrollY)-ALIGNMENT[verticalAlignment]*rect.height;mouseX.set(mouseXPos);mouseY.set(mouseYPos);if(setSpringsInstantly){springX.jump(mouseXPos);springY.jump(mouseYPos);}};// Add scroll event handler to update position\nconst handleScroll=()=>{if(!parentRef.current||!isInitializedRef.current)return;const scrollX=window.scrollX||window.pageXOffset||document.documentElement.scrollLeft;const scrollY=window.scrollY||window.pageYOffset||document.documentElement.scrollTop;// Calculate scroll delta\nconst deltaX=scrollX-previousScrollXRef.current;const deltaY=scrollY-previousScrollYRef.current;// Update previous scroll positions\npreviousScrollXRef.current=scrollX;previousScrollYRef.current=scrollY;// Update position using scroll delta\nmouseX.set(mouseX.get()+deltaX);mouseY.set(mouseY.get()+deltaY);};window.addEventListener(\"mousemove\",handleMouseMove);window.addEventListener(\"scroll\",handleScroll);return()=>{window.removeEventListener(\"mousemove\",handleMouseMove);window.removeEventListener(\"scroll\",handleScroll);};},[enabled]);useEffect(()=>{if(!styleRef.current||!parentRef.current)return;const computedStyle=window.getComputedStyle(parentRef.current);opacityRef.current=parseFloat(computedStyle.opacity)||1;animate(currentOpacityRef.current,enabled&&isInitializedRef.current?1:0,{...transition,onUpdate:latest=>{currentOpacityRef.current=latest;}});},[enabled,transition]);return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{...props.style},children:/*#__PURE__*/_jsx(\"style\",{ref:styleRef})});}FollowCursor.displayName=\"Follow Cursor\";addPropertyControls(FollowCursor,{enabled:{type:ControlType.Boolean,defaultValue:true},smoothing:{type:ControlType.Number,defaultValue:0,min:0,max:100,step:1},horizontalAlignment:{type:ControlType.Enum,defaultValue:\"center\",options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"],displaySegmentedControl:true,title:\"Alignment\"},verticalAlignment:{type:ControlType.Enum,defaultValue:\"center\",options:[\"top\",\"center\",\"bottom\"],optionTitles:[\"Top\",\"Center\",\"Bottom\"],displaySegmentedControl:true,title:\" \"},transition:{type:ControlType.Transition,defaultValue:{type:\"spring\",duration:.2,bounce:0},description:\"More components at [Framer University](https://frameruni.link/cc).\"}});const CHARACTERS=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";const generateInstanceId=()=>{const id=useMemo(()=>{let result=\"\";for(let i=0;i<13;i++){result+=CHARACTERS.charAt(Math.floor(Math.random()*CHARACTERS.length));}return result;},[]);return id;};function mapRange(value,fromLow,fromHigh,toLow,toHigh){if(fromLow===fromHigh){return toLow;}const percentage=(value-fromLow)/(fromHigh-fromLow);return toLow+percentage*(toHigh-toLow);}function calculateTransform(element,computedStyle,xValue,yValue,previousX,previousY,previousStyleTransform){xValue=xValue||0;yValue=yValue||0;previousX=previousX||0;previousY=previousY||0;// Get transform\nconst computedTransform=computedStyle.transform;const styleTransform=element.style.transform;// Subtract previous values from current values for a single transform\nconst finalX=xValue-previousX;const finalY=yValue-previousY;const translateTransform=`translate(${finalX}px, ${finalY}px)`;let transform=translateTransform;if(styleTransform&&styleTransform!==\"none\"){if(previousStyleTransform&&previousStyleTransform!==\"none\"){transform=`${translateTransform} ${invertTransform(previousStyleTransform)} ${styleTransform}`;}else{transform=`${translateTransform} ${styleTransform}`;}}return computedTransform&&computedTransform!==\"none\"?`${transform} ${computedTransform}`:transform;}function invertTransform(transformString){const transforms=transformString.match(/\\w+\\([^)]+\\)/g)||[];const invertedTransforms=transforms.reverse().map(transform=>{const[func,valuesString]=transform.match(/(\\w+)\\(([^)]+)\\)/).slice(1);const values=valuesString.split(\",\").map(v=>v.trim());const invertNumber=v=>{const[_,sign,num,unit]=v.match(/^(-?)(\\d*\\.?\\d+)(\\D*)$/);return`${sign?\"\":\"-\"}${num}${unit}`;};switch(func.toLowerCase()){case\"translate\":case\"translate3d\":case\"translatex\":case\"translatey\":case\"translatez\":return`${func}(${values.map(invertNumber).join(\", \")})`;case\"scale\":case\"scale3d\":return`${func}(${values.map(v=>1/parseFloat(v)).join(\", \")})`;case\"scalex\":case\"scaley\":case\"scalez\":return`${func}(${1/parseFloat(values[0])})`;case\"rotate\":case\"rotatex\":case\"rotatey\":case\"rotatez\":return`${func}(${invertNumber(values[0])})`;case\"rotate3d\":const rotateValues=values.map(parseFloat);return`${func}(${rotateValues[0]}, ${rotateValues[1]}, ${rotateValues[2]}, ${invertNumber(values[3])})`;case\"skew\":case\"skewx\":case\"skewy\":return`${func}(${values.map(invertNumber).join(\", \")})`;case\"matrix\":case\"matrix3d\":console.warn(`Inverting ${func} is not supported. Returning original.`);return transform;default:console.warn(`Unknown transform function: ${func}. Returning original.`);return transform;}});return invertedTransforms.join(\" \");}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FollowCursor\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"*\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"400\",\"framerSupportedLayoutHeight\":\"any\",\"framerIntrinsicHeight\":\"200\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FollowCursor_Prod.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import FollowCursor from\"https://framerusercontent.com/modules/QbIURI1CrWibjjH7k1PR/2vNdLnvQNPcA8uP12d7k/FollowCursor_Prod.js\";import{cubicBezier}from\"framer-motion\";const ease=cubicBezier(.7,0,.7,1);var Pattern;(function(Pattern){Pattern[\"Grid\"]=\"grid\";Pattern[\"Checkerboard\"]=\"checkerboard\";Pattern[\"HorizontalLines\"]=\"horizontalLines\";Pattern[\"VerticalLines\"]=\"verticalLines\";Pattern[\"DiagonalLines\"]=\"diagonalLines\";Pattern[\"Dots\"]=\"dots\";Pattern[\"Triangles\"]=\"triangles\";Pattern[\"Custom\"]=\"custom\";})(Pattern||(Pattern={}));const IMAGE_SIZING_MAP={fill:\"cover\",fit:\"contain\",stretch:\"100% 100%\"};const POSITION_MAP={topLeft:\"0 0\",topCenter:\"50% 0\",topRight:\"100% 0\",left:\"0 50%\",center:\"50% 50%\",right:\"100% 50%\",bottomLeft:\"0 100%\",bottomCenter:\"50% 100%\",bottomRight:\"100% 100%\"};/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n *\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 400\n */export default function ShimmerGrid({color,hoverColor,hoverSize,hoverShape,patternPreset,flip,lineWidth,customPatternImage,customPatternSizing,tileSize,customPatternMode,customPatternPosition,dotSize,radius,smoothing,style}){const isCanvas=RenderTarget.current()===RenderTarget.canvas;const isCustom=patternPreset===\"custom\";const bgPosition=isCustom&&customPatternSizing!==\"stretch\"?POSITION_MAP[customPatternPosition]:POSITION_MAP.center;let bgImage=\"\";let bgSize=`${tileSize}px ${tileSize}px`;let bgRepeat=\"repeat\";switch(patternPreset){case\"grid\":bgImage=`repeating-conic-gradient(at ${lineWidth}px ${lineWidth}px, [color] 0deg 90deg, transparent 90deg 180deg, [color] 180deg 360deg)`;break;case\"checkerboard\":bgImage=flip?`repeating-conic-gradient([color] 0% 25%, transparent 0% 50%)`:`repeating-conic-gradient(transparent 0% 25%, [color] 0% 50%)`;break;case\"horizontalLines\":bgImage=`linear-gradient(to top, [color] ${lineWidth}px, transparent ${lineWidth}px)`;break;case\"verticalLines\":bgImage=`linear-gradient(to left, [color] ${lineWidth}px, transparent ${lineWidth}px)`;break;case\"diagonalLines\":const w=lineWidth/2;const sideLength=getSideLength(tileSize*2);bgImage=`linear-gradient(to top ${flip?\"left\":\"right\"}, [color] ${w}px, transparent ${w}px, transparent calc(50% - ${w}px), [color] calc(50% - ${w}px), [color] calc(50% + ${w}px), transparent calc(50% + ${w}px), transparent calc(100% - ${w}px), [color] calc(100% - ${w}px), [color] 100%)`;bgSize=`${sideLength}px ${sideLength}px`;break;case\"dots\":bgImage=`radial-gradient([color] ${dotSize/2-.4}px, transparent ${dotSize/2+.4}px)`;break;case\"triangles\":bgImage=`linear-gradient(${flip?-45:45}deg, transparent calc(50% - 0.1px), [color] calc(50% + 0.1px))`;break;case\"custom\":bgImage=`url(\"${customPatternImage?.src}\")`;if(customPatternSizing!==\"tile\"){bgRepeat=\"no-repeat\";bgSize=IMAGE_SIZING_MAP[customPatternSizing];}break;}let hoverStyle={};let hoverSizeValue=hoverSize;if(hoverShape===\"glow\"){const gradientPoints=[];for(let i=0;i<15;i++){const normalized=mapRange(i,0,14,0,1);gradientPoints.push(`rgba(255, 255, 255, ${ease(1-normalized)}) ${mapRange(i,0,14,0,100)}%`);}hoverStyle={maskImage:`radial-gradient(closest-side, ${gradientPoints.join(\", \")})`};hoverSizeValue=hoverSize*2;}else if(hoverShape===\"circle\"){hoverStyle={borderRadius:\"50%\"};}return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",borderRadius:radius,overflow:\"hidden\",backgroundImage:isCustom?\"\":bgImage.replace(/\\[color\\]/g,color),backgroundSize:bgSize,backgroundPosition:bgPosition,backgroundRepeat:bgRepeat,...style},children:[isCustom&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,backgroundColor:color,maskImage:bgImage,maskSize:bgSize,maskPosition:bgPosition,maskRepeat:bgRepeat,maskMode:customPatternMode}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,maskImage:isCustom?bgImage:bgImage.replace(/\\[color\\]/g,\"white\"),maskSize:bgSize,maskPosition:bgPosition,maskRepeat:bgRepeat,maskMode:isCustom?customPatternMode:undefined,WebkitMaskImage:isCustom?bgImage:bgImage.replace(/\\[color\\]/g,\"white\"),WebkitMaskSize:bgSize,WebkitMaskPosition:bgPosition,WebkitMaskRepeat:bgRepeat,WebkitMaskMode:isCustom?customPatternMode:undefined},children:/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:isCanvas?\"50%\":0,left:isCanvas?\"50%\":0,transform:isCanvas?\"translate(-50%, -50%)\":undefined,width:hoverSizeValue,height:hoverSizeValue,backgroundColor:hoverColor,...hoverStyle},children:/*#__PURE__*/_jsx(\"div\",{style:{display:\"contents\"},children:/*#__PURE__*/_jsx(FollowCursor,{enabled:true,smoothing:smoothing,horizontalAlignment:\"center\",verticalAlignment:\"center\"})})})})]});}ShimmerGrid.displayName=\"Shimmer Grid\";addPropertyControls(ShimmerGrid,{color:{type:ControlType.Color,defaultValue:\"rgba(153, 153, 153, 0.5)\"},hoverColor:{type:ControlType.Color,defaultValue:\"#FFF\"},hoverSize:{type:ControlType.Number,defaultValue:400,min:1,max:2e3,step:1},hoverShape:{type:ControlType.Enum,defaultValue:\"glow\",options:[\"glow\",\"circle\"],optionTitles:[\"Glow\",\"Circle\"],displaySegmentedControl:true,title:\"Shape\"},patternPreset:{type:ControlType.Enum,defaultValue:\"grid\",options:Object.values(Pattern),optionTitles:[\"Grid\",\"Checkerboard\",\"Horizontal Lines\",\"Vertical Lines\",\"Diagonal Lines\",\"Dots\",\"Triangles\",\"Custom\"],title:\"Pattern\"},customPatternImage:{type:ControlType.ResponsiveImage,title:\"Image\",hidden:props=>props.patternPreset!==\"custom\"},customPatternSizing:{type:ControlType.Enum,defaultValue:\"tile\",options:[\"fill\",\"fit\",\"stretch\",\"tile\"],optionTitles:[\"Fill\",\"Fit\",\"Stretch\",\"Tile\"],title:\"Sizing\",hidden:props=>props.patternPreset!==\"custom\"},flip:{type:ControlType.Boolean,defaultValue:false,hidden:props=>props.patternPreset!==\"checkerboard\"&&props.patternPreset!==\"triangles\"&&props.patternPreset!==\"diagonalLines\"},lineWidth:{type:ControlType.Number,defaultValue:2,min:1,step:1,displayStepper:true,hidden:props=>props.patternPreset!==\"horizontalLines\"&&props.patternPreset!==\"verticalLines\"&&props.patternPreset!==\"diagonalLines\"&&props.patternPreset!==\"grid\"},tileSize:{type:ControlType.Number,defaultValue:50,min:1,step:1,hidden:props=>props.patternPreset===\"custom\"&&props.customPatternSizing!==\"tile\"},dotSize:{type:ControlType.Number,defaultValue:10,min:1,step:1,displayStepper:true,hidden:props=>props.patternPreset!==\"dots\"},customPatternPosition:{type:ControlType.Enum,defaultValue:\"center\",options:[\"topLeft\",\"topCenter\",\"topRight\",\"left\",\"center\",\"right\",\"bottomLeft\",\"bottomCenter\",\"bottomRight\"],optionTitles:[\"Top Left\",\"Top Center\",\"Top Right\",\"Left\",\"Center\",\"Right\",\"Bottom Left\",\"Bottom Center\",\"Bottom Right\"],title:\"Position\",hidden:props=>props.patternPreset!==\"custom\"||props.customPatternSizing===\"stretch\"},customPatternMode:{type:ControlType.Enum,defaultValue:\"alpha\",options:[\"alpha\",\"luminance\"],optionTitles:[\"Alpha\",\"Luminance\"],title:\"Mode\",hidden:props=>props.patternPreset!==\"custom\"},smoothing:{type:ControlType.Number,defaultValue:0,min:0,max:100,step:1},radius:{type:ControlType.BorderRadius,defaultValue:\"0px\",description:\"More components at [Framer University](https://frameruni.link/cc).\"}});function getSideLength(hypotenuseLength){// Check if input is a valid number\nif(typeof hypotenuseLength!==\"number\"||isNaN(hypotenuseLength)||hypotenuseLength<=0){return hypotenuseLength;}// Calculate the side length using the Pythagorean theorem\n// In a right isosceles triangle: side² + side² = hypotenuse²\n// So, side² = hypotenuse² / 2\nconst sideLength=Math.sqrt(Math.pow(hypotenuseLength,2)/2);// Round the result to 2 decimal places\nreturn Number(sideLength.toFixed(2));}function mapRange(value,fromLow,fromHigh,toLow,toHigh){if(fromLow===fromHigh){return toLow;}const percentage=(value-fromLow)/(fromHigh-fromLow);return toLow+percentage*(toHigh-toLow);}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ShimmerGrid\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"400\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerDisableUnlink\":\"*\",\"framerIntrinsicHeight\":\"400\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ShimmerGrid_Prod.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{useCallback,useEffect,useMemo,useRef}from\"react\";import{addPropertyControls,ControlType}from\"framer\";const WIDGET_URL=\"https://tally.so/widgets/embed.js\";/**\n * @framerIntrinsicWidth 700\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any\n */export default function TallyForms(props){const{form,title,alignLeft,background}=props;const iframeRef=useRef(null);const embedUrl=useMemo(()=>{const searchParams=new URLSearchParams({hideTitle:title?\"0\":\"1\",alignLeft:alignLeft?\"1\":\"0\",transparentBackground:background?\"0\":\"1\",dynamicHeight:\"1\",formEventsForwarding:\"1\"});let url=\"\";if(form.includes(\"tally.so/\")){// Tally link with form ID\nconst matches=form.match(/\\/(?:r|embed|popup|forms)\\/([a-zA-Z0-9]+)/);if(matches!==null){const formId=matches[1];url=`https://tally.so/embed/${formId}`;}}else if(form.startsWith(\"http\")&&form.includes(\".\")){// Custom domain\nurl=form;searchParams.set(\"embed\",\"1\");}// If we still don't have URL, we assume the form is the form ID itself\nif(!url){url=`https://tally.so/embed/${form}`;}// Append query params\nreturn`${url}?${searchParams.toString()}`;},[form,title,alignLeft,background]);const loadEmbeds=useCallback(()=>{// Remove initialized attribute if any, so we can reload\nconst iframeEl=iframeRef.current;if(iframeEl?.dataset?.tallyEmbedWidgetInitialized){iframeEl.removeAttribute(\"data-tally-embed-widget-initialized\");}// @ts-expect-error Tally is not defined in the global scope\nif(typeof Tally!==\"undefined\"){// @ts-expect-error Tally is not defined in the global scope\nTally.loadEmbeds();}else{document.querySelectorAll(\"iframe[data-tally-src]:not([src])\").forEach(e=>{e.src=e.dataset.tallySrc;});}},[]);const loadWidgetScript=useCallback(()=>{const scriptEl=document.createElement(\"script\");scriptEl.src=WIDGET_URL;scriptEl.onload=loadEmbeds;scriptEl.onerror=loadEmbeds;document.body.appendChild(scriptEl);},[loadEmbeds]);useEffect(()=>{const iframeEl=iframeRef.current;if(!iframeEl){return;}// @ts-expect-error Tally is not defined in the global scope\nif(typeof Tally!==\"undefined\"){/**\n             * Reset iframe to uninitialized state so Tally's widget can reinitialize it properly.\n             * This ensures dynamic height and all other Tally features work correctly.\n             */if(iframeEl.dataset.tallyEmbedWidgetInitialized){iframeEl.removeAttribute(\"data-tally-embed-widget-initialized\");iframeEl.removeAttribute(\"src\");iframeEl.style.height=\"\";// Force a reflow before calling loadEmbeds to ensure DOM updates are applied\nvoid iframeEl.offsetHeight;}// Use setTimeout to ensure the DOM has updated before Tally processes it\nsetTimeout(()=>{// @ts-expect-error Tally is not defined in the global scope\nif(typeof Tally!==\"undefined\"){// @ts-expect-error Tally is not defined in the global scope\nTally.loadEmbeds();}},0);}else if(document.querySelector(`script[src=\"${WIDGET_URL}\"]`)==null){loadWidgetScript();}},[embedUrl,loadWidgetScript]);return /*#__PURE__*/_jsx(\"iframe\",{ref:iframeRef,title:\"Tally form\",\"data-tally-src\":embedUrl,width:\"100%\",height:\"100%\",frameBorder:0,marginHeight:0,marginWidth:0});}addPropertyControls(TallyForms,{form:{type:ControlType.String,title:\"Form\",defaultValue:\"tally.so/r/3EKXW4\",description:\"Create a form in [Tally](https://tally.so?ref=framer) and copy the form link\"},title:{type:ControlType.Boolean,title:\"Title\",enabledTitle:\"Show\",disabledTitle:\"Hide\",defaultValue:false},alignLeft:{type:ControlType.Boolean,title:\"Align\",enabledTitle:\"Left\",disabledTitle:\"Center\",defaultValue:true},background:{type:ControlType.Boolean,title:\"Background\",enabledTitle:\"Show\",disabledTitle:\"Hide\",defaultValue:false}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TallyForms\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicWidth\":\"700\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TallyForms.map","// Generated by Framer (9fdca5e)\nimport{fontStore}from\"framer\";fontStore.loadFonts([]);export const fonts=[{explicitInter:true,fonts:[]}];export const css=[\".framer-zFBX7 .framer-styles-preset-1mht419:not(.rich-text-wrapper), .framer-zFBX7 .framer-styles-preset-1mht419.rich-text-wrapper a { --framer-link-current-text-color: #111111; --framer-link-current-text-decoration: underline; --framer-link-hover-text-color: #0088ff; --framer-link-hover-text-decoration: underline; --framer-link-text-color: #0099ff; --framer-link-text-decoration: none; }\"];export const className=\"framer-zFBX7\";\nexport const __FramerMetadata__ = {\"exports\":{\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (089ff9b)\nexport default function metadata(params,activeLocale){return{description:\"DotAI 係香港首個專注 AI 應用落地的平台，致力以貼地策略提升企業與個人競爭力。提供 5 大 AI 應用服務：AI 公眾課程、AI 企業導入、AI 營銷服務、AI 工具開發同顧問服務，幫你掌握「唔止 AI 工具操作」，而係點樣落地用得着！已獲多間中小企至大型企業採用，全面支援數碼 AI 轉型!\",favicon:\"https://framerusercontent.com/assets/L5tQJUJrsf5mw955S76X8Ty6N5Y.png\",robots:\"max-image-preview:large\",socialImage:\"https://framerusercontent.com/assets/AO9ICfsyNWvy4JipPbdbG7tAiM.jpg\",title:\"DotAI | 香港首個 AI 實用教學及應用平台\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}