{"version":3,"file":"ScrollGradient.CbgtrBfu.mjs","names":["useRef"],"sources":["https:/framerusercontent.com/modules/fb6rNaiQOgJR54wR3K0f/RobW1mGM6r20ZV6lL8Xg/ScrollGradient.js"],"sourcesContent":["// Get Started: https://www.framer.com/developers\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{motion,useScroll,useTransform}from\"framer-motion\";import{useRef}from\"react\";const Direction=[\"up\",\"down\"];const lerp=(a,b,amount)=>(1-amount)*a+amount*b;export default function ScrollGradient({direction,image,maxHeight,minHeight,animation}){const{start,end}=animation;const container=useRef(null);const{scrollYProgress}=useScroll({target:container,offset:direction===\"up\"?[`end ${start}%`,`end ${end}%`]:[`start ${end}%`,`start ${start}%`]});const height=useTransform(scrollYProgress,[0,1],[`${minHeight}rem`,`${maxHeight}rem`]);return /*#__PURE__*/_jsx(motion.img,{ref:container,style:{width:\"100%\",height,rotateZ:direction===\"up\"?0:180},...image});}const defaultProps={image:{src:\"\",srsSet:\"\",alt:\"\"},direction:\"up\",maxHeight:1.5,minHeight:1,animation:{start:100,end:0}};ScrollGradient.defultProps=defaultProps;addPropertyControls(ScrollGradient,{direction:{type:ControlType.Enum,displaySegmentedControl:true,segmentedControlDirection:\"horizontal\",defaultValue:\"up\",options:Direction,optionTitles:Direction},animation:{title:\"Transition\",type:ControlType.Object,buttonTitle:\"Controls\",controls:{start:{title:\"Start\",type:ControlType.Number,unit:\"%\",defaultValue:100,min:0,max:100,description:\"Transition start with respect to the viewport\",hidden(props){return props.customStart===false;}},end:{title:\"End\",type:ControlType.Number,unit:\"%\",defaultValue:0,min:0,max:100,description:\"Transition end with respect to the viewport\",hidden(props){return props.customEnd===false;}}},description:\"Controls at what point during scroll does the gradient expand\"},image:{type:ControlType.ResponsiveImage},maxHeight:{title:\"Max Height\",type:ControlType.Number,unit:\"rem\",defaultValue:6,min:1,max:64},minHeight:{title:\"Min Height\",type:ControlType.Number,unit:\"rem\",defaultValue:2,min:1,max:64}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ScrollGradient\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ScrollGradient.map"],"mappings":"4OAC+P,SAAwB,EAAe,CAAC,YAAU,QAAM,YAAU,YAAU,aAAW,CAAC,GAAK,CAAC,QAAM,OAAK,EAAgB,EAAUA,EAAO,IAAI,EAAO,CAAC,mBAAiB,EAAU,CAAC,OAAO,EAAU,OAAO,IAAY,KAAK,CAAC,OAAO,EAAM,GAAG,OAAO,EAAI,EAAE,EAAE,CAAC,SAAS,EAAI,GAAG,SAAS,EAAM,EAAE,CAAC,CAAC,EAAQ,EAAO,EAAa,EAAgB,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAU,KAAK,GAAG,EAAU,IAAI,CAAC,EAAE,OAAoB,EAAK,EAAO,IAAI,CAAC,IAAI,EAAU,MAAM,CAAC,MAAM,OAAO,SAAO,QAAQ,IAAY,KAAK,EAAE,GAAG,EAAE,GAAG,CAAK,CAAC,CAAE,mBAAtsB,IAAoD,IAAyD,IAA0B,EAAO,EAAU,CAAC,KAAK,MAAM,EAA6pB,EAAe,YAAY,CAAjI,MAAM,CAAC,IAAI,GAAG,OAAO,GAAG,IAAI,EAAE,EAAE,UAAU,KAAK,UAAU,IAAI,UAAU,EAAE,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,CAAyC,EAAE,EAAoB,EAAe,CAAC,UAAU,CAAC,KAAK,EAAY,KAAK,wBAAwB,GAAK,0BAA0B,aAAa,aAAa,KAAK,QAAQ,EAAU,aAAa,CAAS,EAAE,UAAU,CAAC,MAAM,aAAa,KAAK,EAAY,OAAO,YAAY,WAAW,SAAS,CAAC,MAAM,CAAC,MAAM,QAAQ,KAAK,EAAY,OAAO,KAAK,IAAI,aAAa,IAAI,IAAI,EAAE,IAAI,IAAI,YAAY,gDAAgD,OAAO,EAAM,CAAC,OAAO,EAAM,cAAc,EAAM,CAAC,EAAE,IAAI,CAAC,MAAM,MAAM,KAAK,EAAY,OAAO,KAAK,IAAI,aAAa,EAAE,IAAI,EAAE,IAAI,IAAI,YAAY,8CAA8C,OAAO,EAAM,CAAC,OAAO,EAAM,YAAY,EAAM,CAAC,CAAC,EAAE,YAAY,+DAA+D,EAAE,MAAM,CAAC,KAAK,EAAY,eAAe,EAAE,UAAU,CAAC,MAAM,aAAa,KAAK,EAAY,OAAO,KAAK,MAAM,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,UAAU,CAAC,MAAM,aAAa,KAAK,EAAY,OAAO,KAAK,MAAM,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC"}