{"version":3,"file":"Examples.MGOGF7hr.mjs","names":["useState","useRef","useCallback","__esmMin","ne","init_npm_react_18_3_1","window","_e","de","init_jsx_runtime","J","ce","init_ssg_sandbox_shims","useObserveData","init_framer_BWFVvmND","Data","createStore","dataStore","state1","setDataStore","newState","storeState","storeSetters","setStoreState","setter","useStore","state","setState","init_createStore","init_store_js__1_0","centerContent","init_Utils","init_utils_js__0_9","withReadMoreToggle","buttonRef","incomingOnClick","props","assignRef","node","ref","setButtonLabel","reevaluateVisibility","buttonElement","cardContainer","findClosestCardContainer","description","findDescriptionInCard","expandedDescriptions","setButtonVisibility","isDescriptionOverflowing","rafId","settleTimer","lateSettleTimer","handleResize","resizeObserver","isCancelled","onClick","event","descriptionStyleSnapshot","previous","Component","namedCard","startElement","current","named","ariaNamed","allTextNodes","el","buttonRect","aRect","a","bRect","b","textTarget","findTextTarget","buttonDefaultLabel","nextLabel","preferred","verticalOverflow","descriptionElement","horizontalOverflow","computedStyle","buttonVisibilitySnapshot","visible","withImageZoomOnHover","cardRef","getLogo","card","onMouseEnter","logo","onMouseLeave","init_Examples"],"sources":["https:/framerusercontent.com/modules/vj7bFUjvEQFgEzNBkdoG/vf3CKm378wlVcBk7IhSU/createStore.js","https:/framer.com/m/framer/store.js@^1.0.0","https:/framerusercontent.com/modules/28rXvpPsrum7FH6cMELS/1jCAazZw1EGHjrG5Nu5D/Utils.js","https:/framer.com/m/framer/utils.js@^0.9.0","https:/framerusercontent.com/modules/Oj2sUS6o4ybEuXwaPXPi/xfY3N8gfUKLfho8H9Tdq/Examples.js"],"sourcesContent":["import{useState,useEffect}from\"react\";import{Data,useObserveData}from\"framer\";export function createStore(state1){// Use Data so that a Preview reload resets the state\nconst dataStore=Data({state:Object.freeze({...state1})});// Create a set function that updates the state\nconst setDataStore=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(dataStore.state);}dataStore.state=Object.freeze({...dataStore.state,...newState});};// Store the initial state, copy the object if it's an object\nlet storeState=typeof state1===\"object\"?Object.freeze({...state1}):state1;// Keep a list of all the listeners, in the form of React hook setters\nconst storeSetters=new Set();// Create a set function that updates all the listeners / setters\nconst setStoreState=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(storeState);}storeState=typeof newState===\"object\"?Object.freeze({...storeState,...newState}):newState;// Update all the listeners / setters with the new value\nstoreSetters.forEach(setter=>setter(storeState));};// Create the actual hook based on everything above\nfunction useStore(){// Create the hook we are going to use as a listener\nconst[state,setState]=useState(storeState);// If we unmount the component using this hook, we need to remove the listener\n// @ts-ignore\nuseEffect(()=>{// But right now, we need to add the listener\nstoreSetters.add(setState);return()=>storeSetters.delete(setState);},[]);// If Data context exists, use Data, otherwise use vanilla React state\nif(useObserveData()===true){useObserveData();return[dataStore.state,setDataStore];}else{// Return the state and a function to update the central store\nreturn[state,setStoreState];}}return useStore;}\nexport const __FramerMetadata__ = {\"exports\":{\"createStore\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./createStore.map","/*\n * createStore (framer/store@1.0.1)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/vj7bFUjvEQFgEzNBkdoG/vf3CKm378wlVcBk7IhSU/createStore.js\"\n","export const centerContent = {\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nexport const autoSizingText = {\n    width: \"max-content\",\n    wordBreak: \"break-word\",\n    overflowWrap: \"break-word\",\n    overflow: \"hidden\",\n    whiteSpace: \"pre-wrap\",\n    flexShrink: 0\n};\nexport const defaultContainerStyles = {\n    ...centerContent,\n    overflow: \"hidden\"\n};\nexport const containerStyles = defaultContainerStyles;\nexport const randomColor = ()=>\"#\" + Math.floor(Math.random() * 16777215).toString(16)\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"centerContent\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"autoSizingText\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultContainerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomColor\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./Utils.map","/*\n * Utils (framer/utils@0.9.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/28rXvpPsrum7FH6cMELS/1jCAazZw1EGHjrG5Nu5D/Utils.js\"\n","import{jsx as _jsx}from\"react/jsx-runtime\";import{forwardRef,useCallback,useEffect,useMemo,useRef,useState}from\"react\";// @ts-expect-error Framer runtime URL import\nimport{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";// @ts-expect-error Framer runtime URL import\nimport{randomColor}from\"https://framer.com/m/framer/utils.js@^0.9.0\";// Learn more: https://www.framer.com/developers/overrides/\nconst useStore=createStore({background:\"#0099FF\"});const descriptionStyleSnapshot=new WeakMap;const expandedDescriptions=new WeakSet;const buttonDefaultLabel=new WeakMap;const buttonVisibilitySnapshot=new WeakMap;export function withRotate(Component){return /*#__PURE__*/forwardRef((props,ref)=>{return /*#__PURE__*/_jsx(Component,{ref:ref,...props,animate:{rotate:90},transition:{duration:2}});});}export function withHover(Component){return /*#__PURE__*/forwardRef((props,ref)=>{return /*#__PURE__*/_jsx(Component,{ref:ref,...props,whileHover:{scale:1.05}});});}export function withRandomColor(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[store,setStore]=useStore();return /*#__PURE__*/_jsx(Component,{ref:ref,...props,animate:{background:store.background},onClick:()=>{setStore({background:randomColor()});}});});}export function withReadMoreToggle(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const buttonRef=useRef(null);const incomingOnClick=props?.onClick;const assignRef=useCallback(node=>{buttonRef.current=node;if(typeof ref===\"function\"){ref(node);}else if(ref&&typeof ref===\"object\"){ref.current=node;}if(!node)return;setButtonLabel(node,\"Read more\");node.setAttribute(\"aria-expanded\",\"false\");},[ref]);const reevaluateVisibility=useCallback(()=>{const buttonElement=buttonRef.current;if(!buttonElement)return;const cardContainer=findClosestCardContainer(buttonElement);const description=cardContainer?findDescriptionInCard(cardContainer,buttonElement):null;if(!description){setButtonVisibility(buttonElement,false);return;}if(expandedDescriptions.has(description)){setButtonVisibility(buttonElement,true);setButtonLabel(buttonElement,\"Show less\");buttonElement.setAttribute(\"aria-expanded\",\"true\");return;}const hasOverflow=isDescriptionOverflowing(description);if(hasOverflow){setButtonVisibility(buttonElement,true);setButtonLabel(buttonElement,\"Read more\");buttonElement.setAttribute(\"aria-expanded\",\"false\");}else{setButtonVisibility(buttonElement,false);}},[]);useEffect(()=>{const buttonElement=buttonRef.current;if(!buttonElement||typeof window===\"undefined\")return;reevaluateVisibility();const rafId=window.requestAnimationFrame(()=>{reevaluateVisibility();});const settleTimer=window.setTimeout(()=>{reevaluateVisibility();},300);const lateSettleTimer=window.setTimeout(()=>{reevaluateVisibility();},900);const handleResize=()=>{reevaluateVisibility();};window.addEventListener(\"resize\",handleResize);const cardContainer=findClosestCardContainer(buttonElement);const description=cardContainer?findDescriptionInCard(cardContainer,buttonElement):null;let resizeObserver=null;if(typeof ResizeObserver!==\"undefined\"){resizeObserver=new ResizeObserver(()=>{reevaluateVisibility();});if(description)resizeObserver.observe(description);if(cardContainer)resizeObserver.observe(cardContainer);}let isCancelled=false;if(typeof document!==\"undefined\"&&\"fonts\"in document){const fontSet=document.fonts;fontSet?.ready.then(()=>{if(!isCancelled)reevaluateVisibility();}).catch(()=>{});}return()=>{isCancelled=true;window.cancelAnimationFrame(rafId);window.clearTimeout(settleTimer);window.clearTimeout(lateSettleTimer);window.removeEventListener(\"resize\",handleResize);resizeObserver?.disconnect();};},[props,reevaluateVisibility]);const onClick=useCallback(event=>{const clickedElement=event?.currentTarget;const buttonElement=clickedElement??buttonRef.current;if(!buttonElement){incomingOnClick?.(event);return;}const cardContainer=findClosestCardContainer(buttonElement);const description=cardContainer?findDescriptionInCard(cardContainer,buttonElement):null;if(!description){incomingOnClick?.(event);return;}const isExpanded=expandedDescriptions.has(description);if(!isExpanded){if(!descriptionStyleSnapshot.has(description)){descriptionStyleSnapshot.set(description,{WebkitLineClamp:description.style.webkitLineClamp,WebkitBoxOrient:description.style.webkitBoxOrient,overflow:description.style.overflow,textOverflow:description.style.textOverflow,whiteSpace:description.style.whiteSpace,maxHeight:description.style.maxHeight,display:description.style.display});}description.style.webkitLineClamp=\"unset\";description.style.webkitBoxOrient=\"initial\";description.style.overflow=\"visible\";description.style.textOverflow=\"clip\";description.style.whiteSpace=\"normal\";description.style.maxHeight=\"none\";description.style.display=\"block\";expandedDescriptions.add(description);setButtonLabel(buttonElement,\"Show less\");buttonElement.setAttribute(\"aria-expanded\",\"true\");}else{const previous=descriptionStyleSnapshot.get(description);if(previous){description.style.webkitLineClamp=previous.WebkitLineClamp;description.style.webkitBoxOrient=previous.WebkitBoxOrient;description.style.overflow=previous.overflow;description.style.textOverflow=previous.textOverflow;description.style.whiteSpace=previous.whiteSpace;description.style.maxHeight=previous.maxHeight;description.style.display=previous.display;}expandedDescriptions.delete(description);const hasOverflow=isDescriptionOverflowing(description);if(hasOverflow){setButtonVisibility(buttonElement,true);setButtonLabel(buttonElement,\"Read more\");buttonElement.setAttribute(\"aria-expanded\",\"false\");}else{setButtonVisibility(buttonElement,false);}}incomingOnClick?.(event);},[incomingOnClick]);return /*#__PURE__*/_jsx(Component,{ref:assignRef,...props,onClick:onClick});});}function findClosestCardContainer(startElement){const namedCard=startElement.closest('[data-framer-name=\"Gallery Entry\"]');if(namedCard)return namedCard;let current=startElement;while(current){if(current.querySelector('[data-framer-name=\"Description\"]')||current.querySelector('[aria-label=\"Description\"]')){return current;}current=current.parentElement;}return null;}function findDescriptionInCard(cardContainer,buttonElement){const named=cardContainer.querySelector('[data-framer-name=\"Description\"]');if(named)return named;const ariaNamed=cardContainer.querySelector('[aria-label=\"Description\"]');if(ariaNamed)return ariaNamed;const allTextNodes=Array.from(cardContainer.querySelectorAll(\"p, span, div\")).filter(el=>{const text=el.textContent?.trim()??\"\";return text.length>0&&el!==buttonElement&&!buttonElement.contains(el);});if(allTextNodes.length===0)return null;const buttonRect=buttonElement.getBoundingClientRect();return allTextNodes.sort((a,b)=>{const aRect=a.getBoundingClientRect();const bRect=b.getBoundingClientRect();const distanceA=Math.abs(aRect.top-buttonRect.top)+Math.abs(aRect.left-buttonRect.left);const distanceB=Math.abs(bRect.top-buttonRect.top)+Math.abs(bRect.left-buttonRect.left);return distanceA-distanceB;})[0];}function setButtonLabel(buttonElement,nextLabel){const textTarget=findTextTarget(buttonElement);if(!textTarget)return;if(!buttonDefaultLabel.has(buttonElement)){buttonDefaultLabel.set(buttonElement,textTarget.textContent||\"Read more\");}textTarget.textContent=nextLabel;}function findTextTarget(buttonElement){const preferred=buttonElement.querySelector(\"[data-framer-name], [aria-label], span, p, div\");if(preferred&&preferred.textContent?.trim())return preferred;if(buttonElement.textContent?.trim())return buttonElement;return null;}function isDescriptionOverflowing(descriptionElement){const verticalOverflow=descriptionElement.scrollHeight>descriptionElement.clientHeight+1;const horizontalOverflow=descriptionElement.scrollWidth>descriptionElement.clientWidth+1;const computedStyle=window.getComputedStyle(descriptionElement);const clampValue=parseInt(computedStyle.webkitLineClamp||\"0\",10);if(clampValue>0){return verticalOverflow||horizontalOverflow;}const hasOverflowStyle=computedStyle.overflow===\"hidden\"||computedStyle.overflowY===\"hidden\"||computedStyle.textOverflow===\"ellipsis\";return hasOverflowStyle&&(verticalOverflow||horizontalOverflow);}function setButtonVisibility(buttonElement,visible){if(!buttonVisibilitySnapshot.has(buttonElement)){buttonVisibilitySnapshot.set(buttonElement,{display:buttonElement.style.display,pointerEvents:buttonElement.style.pointerEvents});}if(visible){const previous=buttonVisibilitySnapshot.get(buttonElement);buttonElement.style.display=previous?.display??\"\";buttonElement.style.pointerEvents=previous?.pointerEvents??\"\";buttonElement.removeAttribute(\"aria-hidden\");buttonElement.removeAttribute(\"tabindex\");buttonElement.removeAttribute(\"disabled\");return;}buttonElement.style.display=\"none\";buttonElement.style.pointerEvents=\"none\";buttonElement.setAttribute(\"aria-hidden\",\"true\");buttonElement.setAttribute(\"tabindex\",\"-1\");if(buttonElement instanceof HTMLButtonElement){buttonElement.disabled=true;}}// Scales the inner \"Partner Logo\" when the whole card (link block) is hovered.\nexport function withImageZoomOnHover(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const cardRef=useRef(null);const assignRef=useCallback(node=>{cardRef.current=node;if(typeof ref===\"function\")ref(node);else if(ref&&typeof ref===\"object\")ref.current=node;},[ref]);const getLogo=useCallback(()=>{const card=cardRef.current;if(!card)return null;return card.querySelector('[data-framer-name=\"Partner Logo\"]');},[]);const onMouseEnter=useCallback(event=>{const logo=getLogo();if(logo){logo.style.transformOrigin=\"center center\";logo.style.transition=\"transform 0.4s cubic-bezier(0.44,0,0.56,1)\";logo.style.transform=\"scale(1.1)\";}props?.onMouseEnter?.(event);},[getLogo,props]);const onMouseLeave=useCallback(event=>{const logo=getLogo();if(logo){logo.style.transition=\"transform 0.4s cubic-bezier(0.44,0,0.56,1)\";logo.style.transform=\"scale(1)\";}props?.onMouseLeave?.(event);},[getLogo,props]);return /*#__PURE__*/_jsx(Component,{ref:assignRef,...props,onMouseEnter:onMouseEnter,onMouseLeave:onMouseLeave});});}export function withMobileScrollRevealNav(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const headerRef=useRef(null);const lastScrollYRef=useRef(0);const baseHeaderHeightRef=useRef(null);const tickingRef=useRef(false);const[isMobile,setIsMobile]=useState(false);const[isHidden,setIsHidden]=useState(false);const assignRef=useCallback(node=>{headerRef.current=node;if(typeof ref===\"function\")ref(node);else if(ref&&typeof ref===\"object\"){ref.current=node;}},[ref]);useEffect(()=>{if(typeof window===\"undefined\")return;const evaluateViewport=()=>{const mobile=window.innerWidth<=991;setIsMobile(prev=>prev===mobile?prev:mobile);if(!mobile)setIsHidden(false);};evaluateViewport();window.addEventListener(\"resize\",evaluateViewport);return()=>{window.removeEventListener(\"resize\",evaluateViewport);};},[]);useEffect(()=>{if(typeof window===\"undefined\"||!isMobile)return;const update=()=>{tickingRef.current=false;const currentY=Math.max(window.scrollY||0,0);const headerElement=headerRef.current;if(currentY<=0){setIsHidden(false);lastScrollYRef.current=0;return;}if(headerElement){const measuredHeight=headerElement.offsetHeight;if(measuredHeight>0&&(baseHeaderHeightRef.current===null||measuredHeight<baseHeaderHeightRef.current)){baseHeaderHeightRef.current=measuredHeight;}}// While the drawer is open, never hide and keep it interactive.\nif(isHeaderExpandedForInteraction(headerElement,baseHeaderHeightRef.current)){setIsHidden(false);lastScrollYRef.current=currentY;return;}const delta=currentY-lastScrollYRef.current;if(delta>4){setIsHidden(true);}else if(delta<-4){setIsHidden(false);}lastScrollYRef.current=currentY;};const handleScroll=()=>{if(tickingRef.current)return;tickingRef.current=true;window.requestAnimationFrame(update);};update();window.addEventListener(\"scroll\",handleScroll,{passive:true});return()=>{window.removeEventListener(\"scroll\",handleScroll);};},[isMobile]);const mobileStyle=useMemo(()=>{if(!isMobile)return props?.style;return{...props?.style,position:\"sticky\",top:0,zIndex:20,transform:isHidden?\"translateY(-100%)\":\"translateY(0%)\",transition:\"transform 0.25s ease\",willChange:\"transform\",pointerEvents:isHidden?\"none\":\"auto\"};},[isHidden,isMobile,props?.style]);if(!isMobile){return /*#__PURE__*/_jsx(Component,{ref:assignRef,...props});}return /*#__PURE__*/_jsx(Component,{ref:assignRef,...props,style:mobileStyle});});}function isHeaderExpandedForInteraction(headerElement,baseHeight){if(!headerElement)return false;const expandedTrigger=headerElement.querySelector('[aria-expanded=\"true\"]');if(expandedTrigger)return true;const currentHeight=headerElement.offsetHeight;if(!baseHeight||baseHeight<=0)return false;return currentHeight>baseHeight*1.2;}\nexport const __FramerMetadata__ = {\"exports\":{\"withRandomColor\":{\"type\":\"reactHoc\",\"name\":\"withRandomColor\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withHover\":{\"type\":\"reactHoc\",\"name\":\"withHover\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withRotate\":{\"type\":\"reactHoc\",\"name\":\"withRotate\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withReadMoreToggle\":{\"type\":\"reactHoc\",\"name\":\"withReadMoreToggle\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withMobileScrollRevealNav\":{\"type\":\"reactHoc\",\"name\":\"withMobileScrollRevealNav\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withImageZoomOnHover\":{\"type\":\"reactHoc\",\"name\":\"withImageZoomOnHover\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Examples.map"],"mappings":"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"}