{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/TyNwZHFtf7uuxVJGEj13/KKo8W5Im7j1dDIBOt0i5/UrlRadiusOverride.js"],
  "sourcesContent": ["import{jsx as _jsx}from\"react/jsx-runtime\";import{useLayoutEffect,useRef,useState,useEffect}from\"react\";// Use useLayoutEffect on the client, but fallback to useEffect on the server.\nconst useIsomorphicLayoutEffect=typeof window!==\"undefined\"?useLayoutEffect:useEffect;export function UrlRadiusOverride(){// Create a ref for the element.\nconst elementRef=useRef(null);// Store the element\u2019s minimum side (width or height).\nconst[minSide,setMinSide]=useState(0);// Initialize isMobile safely; default to false on the server.\nconst[isMobile,setIsMobile]=useState(()=>typeof window!==\"undefined\"?window.innerWidth<=768:false);// Track whether the element is hovered.\nconst[hovered,setHovered]=useState(false);// Function to compute and update the minimum side of the element.\nconst computeMinSide=()=>{if(elementRef.current){const{width,height}=elementRef.current.getBoundingClientRect();setMinSide(Math.min(width,height));}};// Run after layout is complete (client-side) to measure dimensions.\nuseIsomorphicLayoutEffect(()=>{computeMinSide();},[isMobile])// Recompute when the device type might change.\n;// Update dimensions and device type on window resize.\nuseEffect(()=>{// Only run this effect on the client.\nif(typeof window===\"undefined\")return;const handleResize=()=>{setIsMobile(window.innerWidth<=768);computeMinSide();};window.addEventListener(\"resize\",handleResize);return()=>window.removeEventListener(\"resize\",handleResize);},[]);// Determine the multiplier based on hover state and device type.\n// - Default (not hovered): 30% of the min side (15% on mobile)\n// - Hovered: 40% of the min side.\nconst multiplier=hovered?.4:isMobile?.15:.3;const radius=minSide*multiplier;return{// Attach the ref so we can measure the element.\nref:elementRef,onMouseEnter:()=>setHovered(true),onMouseLeave:()=>setHovered(false),style:{borderRadius:`${radius}px`,transition:\"border-radius 200ms ease-out\",overflow:\"visible\"}};}export function RadiusOverride(){// Create a ref for the element.\nconst elementRef=useRef(null);// Store the element\u2019s minimum side (width or height).\nconst[minSide,setMinSide]=useState(0);// Initialize isMobile safely; default to false on the server.\nconst[isMobile,setIsMobile]=useState(()=>typeof window!==\"undefined\"?window.innerWidth<=768:false);// Track whether the element is hovered.\nconst[hovered,setHovered]=useState(false);// Function to compute and update the minimum side of the element.\nconst computeMinSide=()=>{if(elementRef.current){const{width,height}=elementRef.current.getBoundingClientRect();setMinSide(Math.min(width,height));}};// Run after layout is complete (client-side) to measure dimensions.\nuseIsomorphicLayoutEffect(()=>{computeMinSide();},[isMobile])// Recompute when the device type might change.\n;// Update dimensions and device type on window resize.\nuseEffect(()=>{// Only run this effect on the client.\nif(typeof window===\"undefined\")return;const handleResize=()=>{setIsMobile(window.innerWidth<=768);computeMinSide();};window.addEventListener(\"resize\",handleResize);return()=>window.removeEventListener(\"resize\",handleResize);},[]);// Determine the multiplier based on hover state and device type.\n// - Default (not hovered): 30% of the min side (15% on mobile)\n// - Hovered: 40% of the min side.\nconst multiplier=hovered?.4:isMobile?.15:.3;const radius=minSide*multiplier;return{// Attach the ref so we can measure the element.\nref:elementRef,onMouseEnter:()=>setHovered(true),onMouseLeave:()=>setHovered(false),style:{borderRadius:`${radius}px`,transition:\"border-radius 200ms ease-out\",overflow:\"visible\"}};}import{useContext as __legacyOverrideHOC_useContext}from\"react\";import{DataObserverContext as __legacyOverrideHOC_DataObserverContext}from\"framer\";export function withUrlRadiusOverride(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...UrlRadiusOverride(props)});};}withUrlRadiusOverride.displayName=\"UrlRadiusOverride\";export function withRadiusOverride(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...RadiusOverride(props)});};}withRadiusOverride.displayName=\"RadiusOverride\";\nexport const __FramerMetadata__ = {\"exports\":{\"withUrlRadiusOverride\":{\"type\":\"reactHoc\",\"name\":\"withUrlRadiusOverride\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withRadiusOverride\":{\"type\":\"reactHoc\",\"name\":\"withRadiusOverride\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RadiusOverride\":{\"type\":\"override\",\"name\":\"RadiusOverride\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"UrlRadiusOverride\":{\"type\":\"override\",\"name\":\"UrlRadiusOverride\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./UrlRadiusOverride.map"],
  "mappings": "yIAAAA,IACA,IAAMC,EAA0B,OAAO,OAAS,IAAYC,EAAgBC,EAAiB,SAASC,GAAmB,CACzH,IAAMC,EAAWC,EAAO,IAAI,EACvB,CAACC,EAAQC,CAAU,EAAEC,EAAS,CAAC,EAC/B,CAACC,EAASC,CAAW,EAAEF,EAAS,IAAI,OAAO,OAAS,IAAY,OAAO,YAAY,IAAI,EAAK,EAC5F,CAACG,EAAQC,CAAU,EAAEJ,EAAS,EAAK,EAClCK,EAAe,IAAI,CAAC,GAAGT,EAAW,QAAQ,CAAC,GAAK,CAAC,MAAAU,EAAM,OAAAC,CAAM,EAAEX,EAAW,QAAQ,sBAAsB,EAAEG,EAAW,KAAK,IAAIO,EAAMC,CAAM,CAAC,EAAG,EACpJf,EAA0B,IAAI,CAACa,EAAe,CAAE,EAAE,CAACJ,CAAQ,CAAC,EAE5DP,EAAU,IAAI,CACd,GAAG,OAAO,OAAS,IAAY,OAAO,IAAMc,EAAa,IAAI,CAACN,EAAY,OAAO,YAAY,GAAG,EAAEG,EAAe,CAAE,EAAE,cAAO,iBAAiB,SAASG,CAAY,EAAQ,IAAI,OAAO,oBAAoB,SAASA,CAAY,CAAE,EAAE,CAAC,CAAC,EAGxL,IAAMC,EAAOX,GAAxCK,EAAQ,GAAGF,EAAS,IAAI,IAAmC,MAAM,CAClF,IAAIL,EAAW,aAAa,IAAIQ,EAAW,EAAI,EAAE,aAAa,IAAIA,EAAW,EAAK,EAAE,MAAM,CAAC,aAAa,GAAGK,MAAW,WAAW,+BAA+B,SAAS,SAAS,CAAC,CAAE,CAAQ,SAASC,GAAgB,CACtN,IAAMd,EAAWC,EAAO,IAAI,EACvB,CAACC,EAAQC,CAAU,EAAEC,EAAS,CAAC,EAC/B,CAACC,EAASC,CAAW,EAAEF,EAAS,IAAI,OAAO,OAAS,IAAY,OAAO,YAAY,IAAI,EAAK,EAC5F,CAACG,EAAQC,CAAU,EAAEJ,EAAS,EAAK,EAClCK,EAAe,IAAI,CAAC,GAAGT,EAAW,QAAQ,CAAC,GAAK,CAAC,MAAAU,EAAM,OAAAC,CAAM,EAAEX,EAAW,QAAQ,sBAAsB,EAAEG,EAAW,KAAK,IAAIO,EAAMC,CAAM,CAAC,EAAG,EACpJf,EAA0B,IAAI,CAACa,EAAe,CAAE,EAAE,CAACJ,CAAQ,CAAC,EAE5DP,EAAU,IAAI,CACd,GAAG,OAAO,OAAS,IAAY,OAAO,IAAMc,EAAa,IAAI,CAACN,EAAY,OAAO,YAAY,GAAG,EAAEG,EAAe,CAAE,EAAE,cAAO,iBAAiB,SAASG,CAAY,EAAQ,IAAI,OAAO,oBAAoB,SAASA,CAAY,CAAE,EAAE,CAAC,CAAC,EAGxL,IAAMC,EAAOX,GAAxCK,EAAQ,GAAGF,EAAS,IAAI,IAAmC,MAAM,CAClF,IAAIL,EAAW,aAAa,IAAIQ,EAAW,EAAI,EAAE,aAAa,IAAIA,EAAW,EAAK,EAAE,MAAM,CAAC,aAAa,GAAGK,MAAW,WAAW,+BAA+B,SAAS,SAAS,CAAC,CAAE,CAA2J,SAASE,EAAsBC,EAAE,CAAC,OAAOC,IAAQC,EAA+BC,CAAuC,EAAS,EAAKH,EAAE,CAAC,GAAGC,EAAM,GAAGlB,EAAkBkB,CAAK,CAAC,CAAC,EAAI,CAACF,EAAsB,YAAY,oBAA2B,SAASK,EAAmBJ,EAAE,CAAC,OAAOC,IAAQC,EAA+BC,CAAuC,EAAS,EAAKH,EAAE,CAAC,GAAGC,EAAM,GAAGH,EAAeG,CAAK,CAAC,CAAC,EAAI,CAACG,EAAmB,YAAY",
  "names": ["init_ssg_sandbox_shims", "useIsomorphicLayoutEffect", "fe", "ue", "UrlRadiusOverride", "elementRef", "pe", "minSide", "setMinSide", "ye", "isMobile", "setIsMobile", "hovered", "setHovered", "computeMinSide", "width", "height", "handleResize", "radius", "RadiusOverride", "withUrlRadiusOverride", "C", "props", "re", "DataObserverContext", "withRadiusOverride"]
}
