{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/e2JgzW3zc3RwdHa3AkQV/lbtXixRGRMdpxZojUzYV/animations.js"],
  "sourcesContent": ["import{jsx as _jsx}from\"react/jsx-runtime\";import React from\"react\";import{useScroll,useTransform}from\"framer-motion\";import{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";export function withRotate(Component){return props=>{return /*#__PURE__*/_jsx(Component,{...props,animate:{rotate:360},transition:{duration:1,repeat:Infinity,ease:\"linear\"}});};}const useStore=createStore({});const defaultImageTransforms={input:[.15,.35,.6,.75],output:[0,1,1,0]};const specialImageTransforms={AI:{input:[0,.4,.5,.9],output:[0,1,1,0]},\"Read Statuses\":{input:[0,.4],output:[0,1]},Autocorrect:{input:[0,.4,.5,.9],output:[0,1,1,0]},\"Create Event\":{input:[0,.4],output:[0,1]}};// Images fades in/out based on their scroll progress.\n// Copy blocks fade in/out based on the image's scroll progress:\n//  0-35%: copy is invisible\n// 35-40%: copy fades from 0 to 100% opacity\n// 40-50%: copy stays at 100% opacity\n// 50-60%: copy fades from 100 to 0% opacity\nconst defaultTextTransforms={textInput:[.35,.4,.5,.65],textOutput:[0,1,1,0]};const specialTextTransforms={AI:{textInput:[.4,.5,.6,.7],textOutput:[0,1,1,0]},\"Read Statuses\":{textInput:[.3,.4,.5],textOutput:[0,1,1]},Autocorrect:{textInput:[.4,.5,.6,.7],textOutput:[0,1,1,0]},\"Create Event\":{textInput:[.3,.4,.5],textOutput:[0,1,1]}};export function withFadeFeatureImage(Component){return props=>{// A frame's \"name\" is set in Framer's layout panel.\nconst key=props.name.replace(\" Image\",\"\");const[store,setStore]=useStore();const ref=React.useRef();const{scrollYProgress}=useScroll({target:ref,offset:[\"start end\",\"end start\"]});// Calculate image and copy opacity based on the image's scroll progress.\nconst{input,output}=specialImageTransforms[key]||defaultImageTransforms;const opacity=useTransform(scrollYProgress,input,output);const{textInput,textOutput}=specialTextTransforms[key]||defaultTextTransforms;const textOpacity=useTransform(scrollYProgress,textInput,textOutput);// Save copyOpacity to state so the relevant copy block can access it.\nReact.useEffect(()=>{return textOpacity.onChange(latest=>{setStore({[key]:latest});});},[textOpacity]);return /*#__PURE__*/_jsx(Component,{...props,ref:ref,style:{...props.style,opacity}});};}export function withFadeFeatureCopy(Component){return props=>{// A frame's \"name\" is set in Framer's layout panel.\nconst key=props.name.replace(\" Copy\",\"\");const[store]=useStore();const opacity=store[key]||0;const display=opacity===0?\"none\":\"flex\";return /*#__PURE__*/_jsx(Component,{...props,style:{...props.style,opacity,display}});};}\nexport const __FramerMetadata__ = {\"exports\":{\"withFadeFeatureImage\":{\"type\":\"reactHoc\",\"name\":\"withFadeFeatureImage\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withRotate\":{\"type\":\"reactHoc\",\"name\":\"withRotate\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withFadeFeatureCopy\":{\"type\":\"reactHoc\",\"name\":\"withFadeFeatureCopy\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./animations.map"],
  "mappings": "yIAAkM,SAASA,EAAWC,EAAU,CAAC,OAAOC,GAA4BC,EAAKF,EAAU,CAAC,GAAGC,EAAM,QAAQ,CAAC,OAAO,GAAG,EAAE,WAAW,CAAC,SAAS,EAAE,OAAO,IAAS,KAAK,QAAQ,CAAC,CAAC,CAAI,CAAC,IAAME,EAASC,EAAY,CAAC,CAAC,EAAQC,EAAuB,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAQC,EAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAM5pBC,EAAsB,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,GAAG,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAQC,EAAsB,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC,GAAG,GAAG,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,GAAG,GAAG,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAS,SAASC,EAAqBT,EAAU,CAAC,OAAOC,GAAO,CACzY,IAAMS,EAAIT,EAAM,KAAK,QAAQ,SAAS,EAAE,EAAO,CAACU,EAAMC,CAAQ,EAAET,EAAS,EAAQU,EAAIC,EAAM,OAAO,EAAO,CAAC,gBAAAC,CAAe,EAAEC,EAAU,CAAC,OAAOH,EAAI,OAAO,CAAC,YAAY,WAAW,CAAC,CAAC,EAC7K,CAAC,MAAAI,EAAM,OAAAC,CAAM,EAAEZ,EAAuBI,CAAG,GAAGL,EAA6Bc,EAAQC,EAAaL,EAAgBE,EAAMC,CAAM,EAAO,CAAC,UAAAG,EAAU,WAAAC,CAAU,EAAEd,EAAsBE,CAAG,GAAGH,EAA4BgB,EAAYH,EAAaL,EAAgBM,EAAUC,CAAU,EAClR,OAAAR,EAAM,UAAU,IAAYS,EAAY,SAASC,GAAQ,CAACZ,EAAS,CAAC,CAACF,CAAG,EAAEc,CAAM,CAAC,CAAE,CAAC,EAAI,CAACD,CAAW,CAAC,EAAsBrB,EAAKF,EAAU,CAAC,GAAGC,EAAM,IAAIY,EAAI,MAAM,CAAC,GAAGZ,EAAM,MAAM,QAAAkB,CAAO,CAAC,CAAC,CAAE,CAAE,CAAQ,SAASM,EAAoBzB,EAAU,CAAC,OAAOC,GAAO,CAC7P,IAAMS,EAAIT,EAAM,KAAK,QAAQ,QAAQ,EAAE,EAAO,CAACU,CAAK,EAAER,EAAS,EAAQgB,EAAQR,EAAMD,CAAG,GAAG,EAAQgB,EAAQP,IAAU,EAAE,OAAO,OAAO,OAAoBjB,EAAKF,EAAU,CAAC,GAAGC,EAAM,MAAM,CAAC,GAAGA,EAAM,MAAM,QAAAkB,EAAQ,QAAAO,CAAO,CAAC,CAAC,CAAE,CAAE",
  "names": ["withRotate", "Component", "props", "p", "useStore", "createStore", "defaultImageTransforms", "specialImageTransforms", "defaultTextTransforms", "specialTextTransforms", "withFadeFeatureImage", "key", "store", "setStore", "ref", "e", "scrollYProgress", "useScroll", "input", "output", "opacity", "useTransform", "textInput", "textOutput", "textOpacity", "latest", "withFadeFeatureCopy", "display"]
}
