{"version":3,"file":"Examples.02fbS8f0.mjs","names":["e.useState","e.useRef","e.Component","e.createElement"],"sources":["https:/ga.jspm.io/npm:react-intersection-observer@9.4.1/react-intersection-observer.modern.mjs","https:/framerusercontent.com/modules/FdbdccxGDfirekdDsLgZ/iFOd0tFXizbN5ZHOJZeW/Examples.js"],"sourcesContent":["import*as e from\"react\";function _extends(){_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e};return _extends.apply(this,arguments)}function _objectWithoutPropertiesLoose(e,t){if(null==e)return{};var i={};var n=Object.keys(e);var r,o;for(o=0;o<n.length;o++){r=n[o];t.indexOf(r)>=0||(i[r]=e[r])}return i}const t=new Map;const i=new WeakMap;let n=0;let r;function defaultFallbackInView(e){r=e}\n/**\n * Generate a unique ID for the root element\n * @param root\n */function getRootId(e){if(!e)return\"0\";if(i.has(e))return i.get(e);n+=1;i.set(e,n.toString());return i.get(e)}\n/**\n * Convert the options to a string Id, based on the values.\n * Ensures we can reuse the same observer when observing elements with the same options.\n * @param options\n */function optionsToId(e){return Object.keys(e).sort().filter((t=>void 0!==e[t])).map((t=>`${t}_${\"root\"===t?getRootId(e.root):e[t]}`)).toString()}function createObserver(e){let i=optionsToId(e);let n=t.get(i);if(!n){const r=new Map;let o;const s=new IntersectionObserver((t=>{t.forEach((t=>{var i;const n=t.isIntersecting&&o.some((e=>t.intersectionRatio>=e));e.trackVisibility&&\"undefined\"===typeof t.isVisible&&(t.isVisible=n);null==(i=r.get(t.target))?void 0:i.forEach((e=>{e(n,t)}))}))}),e);o=s.thresholds||(Array.isArray(e.threshold)?e.threshold:[e.threshold||0]);n={id:i,observer:s,elements:r};t.set(i,n)}return n}\n/**\n * @param element - DOM Element to observe\n * @param callback - Callback function to trigger when intersection status changes\n * @param options - Intersection Observer options\n * @param fallbackInView - Fallback inView value.\n * @return Function - Cleanup function that should be triggered to unregister the observer\n */function observe(e,i,n={},o=r){if(\"undefined\"===typeof window.IntersectionObserver&&void 0!==o){const t=e.getBoundingClientRect();i(o,{isIntersecting:o,target:e,intersectionRatio:\"number\"===typeof n.threshold?n.threshold:0,time:0,boundingClientRect:t,intersectionRect:t,rootBounds:t});return()=>{}}const{id:s,observer:l,elements:h}=createObserver(n);let a=h.get(e)||[];h.has(e)||h.set(e,a);a.push(i);l.observe(e);return function unobserve(){a.splice(a.indexOf(i),1);if(0===a.length){h.delete(e);l.unobserve(e)}if(0===h.size){l.disconnect();t.delete(s)}}}const o=[\"children\",\"as\",\"triggerOnce\",\"threshold\",\"root\",\"rootMargin\",\"onChange\",\"skip\",\"trackVisibility\",\"delay\",\"initialInView\",\"fallbackInView\"];function isPlainChildren(e){return\"function\"!==typeof e.children}class InView extends e.Component{constructor(e){super(e);this.node=null;this._unobserveCb=null;this.handleNode=e=>{if(this.node){this.unobserve();e||this.props.triggerOnce||this.props.skip||this.setState({inView:!!this.props.initialInView,entry:void 0})}this.node=e||null;this.observeNode()};this.handleChange=(e,t)=>{e&&this.props.triggerOnce&&this.unobserve();isPlainChildren(this.props)||this.setState({inView:e,entry:t});this.props.onChange&&this.props.onChange(e,t)};this.state={inView:!!e.initialInView,entry:void 0}}componentDidUpdate(e){if(e.rootMargin!==this.props.rootMargin||e.root!==this.props.root||e.threshold!==this.props.threshold||e.skip!==this.props.skip||e.trackVisibility!==this.props.trackVisibility||e.delay!==this.props.delay){this.unobserve();this.observeNode()}}componentWillUnmount(){this.unobserve();this.node=null}observeNode(){if(!this.node||this.props.skip)return;const{threshold:e,root:t,rootMargin:i,trackVisibility:n,delay:r,fallbackInView:o}=this.props;this._unobserveCb=observe(this.node,this.handleChange,{threshold:e,root:t,rootMargin:i,trackVisibility:n,delay:r},o)}unobserve(){if(this._unobserveCb){this._unobserveCb();this._unobserveCb=null}}render(){if(!isPlainChildren(this.props)){const{inView:e,entry:t}=this.state;return this.props.children({inView:e,entry:t,ref:this.handleNode})}const t=this.props,{children:i,as:n}=t,r=_objectWithoutPropertiesLoose(t,o);return e.createElement(n||\"div\",_extends({ref:this.handleNode},r),i)}}function useInView({threshold:t,delay:i,trackVisibility:n,rootMargin:r,root:o,triggerOnce:s,skip:l,initialInView:h,fallbackInView:a,onChange:c}={}){var d;const[u,p]=e.useState(null);const b=e.useRef();const[f,g]=e.useState({inView:!!h,entry:void 0});b.current=c;e.useEffect((()=>{if(l||!u)return;let e;e=observe(u,((t,i)=>{g({inView:t,entry:i});b.current&&b.current(t,i);if(i.isIntersecting&&s&&e){e();e=void 0}}),{root:o,rootMargin:r,threshold:t,trackVisibility:n,delay:i},a);return()=>{e&&e()}}),[Array.isArray(t)?t.toString():t,u,o,r,s,l,n,a,i]);const v=null==(d=f.entry)?void 0:d.target;e.useEffect((()=>{u||!v||s||l||g({inView:!!h,entry:void 0})}),[u,v,s,l,h]);const y=[p,f.inView,f.entry];y.ref=y[0];y.inView=y[1];y.entry=y[2];return y}export{InView,defaultFallbackInView,observe,useInView};\n\n//# sourceMappingURL=react-intersection-observer.modern.mjs.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{useAnimation}from\"framer-motion\";import{useInView}from\"react-intersection-observer\";// Learn more: https://www.framer.com/docs/guides/overrides/\nexport function fadeInUp(Component){return props=>{const animation=useAnimation();const[ref,inView]=useInView({threshold:.01,triggerOnce:true,rootMargin:\"1px 0px 1px 0px\"});if(inView){animation.start(\"visible\");}return /*#__PURE__*/_jsx(Component,{ref:ref,animate:animation,initial:\"hidden\"// Set the initial state to \"hidden\"\n,variants:{// Define the animation variants\nvisible:{y:0,opacity:1,transition:{y:{type:\"spring\",stiffness:260,damping:60},duration:.8}},hidden:{y:0,opacity:0}},...props});};}\nexport const __FramerMetadata__ = {\"exports\":{\"fadeInUp\":{\"type\":\"reactHoc\",\"name\":\"fadeInUp\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Examples.map"],"mappings":"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"}