{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/8TtjecrrZM6688kaKB5n/YLf9QNF3wQCSfyhDVqAE/Gradient_ease.js"],
  "sourcesContent": ["import{jsx as _jsx}from\"react/jsx-runtime\";import{motion}from\"framer-motion\";import{addPropertyControls,ControlType}from\"framer\";// Easing functions\nconst easings={linear:t=>t,easeIn:t=>t*t,easeInOut:t=>t<.5?2*t*t:-1+(4-2*t)*t,exponential:t=>t===0?0:Math.pow(1024,t-1)};/**\n\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 200\n * \n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function Gradientease(props){const{gradientDirection,cornerRadius,easing,grayScale}=props;// Generate gradient stops\nconst generateGradientStops=(easingFunc,numberOfStops=30)=>{return Array.from({length:numberOfStops},(_,i)=>{const t=i/(numberOfStops-1);const easedT=easingFunc(t);return`hsla(0, 0%, ${grayScale}%, ${easedT}) ${t*100}%`;}).join(\", \");};const gradient=`linear-gradient(${gradientDirection}, ${generateGradientStops(easings[easing])})`;const style={width:\"100%\",height:\"100%\",background:gradient,borderRadius:cornerRadius};return /*#__PURE__*/_jsx(motion.div,{style:style});}Gradientease.defaultProps={gradientDirection:\"to bottom\",cornerRadius:0,easing:\"easeInOut\",grayScale:0};addPropertyControls(Gradientease,{gradientDirection:{type:ControlType.Enum,title:\"Direction\",options:[\"to left\",\"to right\",\"to top\",\"to bottom\"],optionTitles:[\"Left\",\"Right\",\"Up\",\"Down\"],displaySegmentedControl:true,optionIcons:[\"direction-left\",\"direction-right\",\"direction-up\",\"direction-down\"],defaultValue:\"to bottom\"},cornerRadius:{type:ControlType.Number,title:\"Corner Radius\",min:0,max:100,step:1,unit:\"px\"},easing:{type:ControlType.Enum,title:\"Easing\",options:[\"linear\",\"easeIn\",\"easeInOut\",\"exponential\"],optionTitles:[\"Linear\",\"Ease In\",\"Ease In-Out\",\"Exponential\"],defaultValue:\"easeInOut\"},grayScale:{type:ControlType.Number,title:\"Gray Scale\",min:0,max:100,defaultValue:0,unit:\"%\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Gradientease\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"*\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicHeight\":\"200\",\"framerIntrinsicWidth\":\"200\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Gradient_ease.map"],
  "mappings": "gGACA,IAAMA,EAAQ,CAAC,OAAOC,GAAGA,EAAE,OAAOA,GAAGA,EAAEA,EAAE,UAAUA,GAAGA,EAAE,GAAG,EAAEA,EAAEA,EAAE,IAAI,EAAE,EAAEA,GAAGA,EAAE,YAAYA,GAAGA,IAAI,EAAE,EAAE,KAAK,IAAI,KAAKA,EAAE,CAAC,CAAC,EASrG,SAARC,EAA8BC,EAAM,CAAC,GAAK,CAAC,kBAAAC,EAAkB,aAAAC,EAAa,OAAAC,EAAO,UAAAC,CAAS,EAAEJ,EAC8OK,EAAM,CAAC,MAAM,OAAO,OAAO,OAAO,WAA3H,mBAAmBJ,CAAiB,MAAnQ,CAACK,EAAWC,EAAc,KAAa,MAAM,KAAK,CAAC,OAAOA,CAAa,EAAE,CAACC,EAAEC,IAAI,CAAC,IAAMX,EAAEW,GAAGF,EAAc,GAASG,EAAOJ,EAAWR,CAAC,EAAE,MAAM,eAAeM,CAAS,MAAMM,CAAM,KAAKZ,EAAE,GAAG,GAAI,CAAC,EAAE,KAAK,IAAI,GAAkFD,EAAQM,CAAM,CAAC,CAAC,IAAgE,aAAaD,CAAY,EAAE,OAAoBS,EAAKC,EAAO,IAAI,CAAC,MAAMP,CAAK,CAAC,CAAE,CAACN,EAAa,aAAa,CAAC,kBAAkB,YAAY,aAAa,EAAE,OAAO,YAAY,UAAU,CAAC,EAAEc,EAAoBd,EAAa,CAAC,kBAAkB,CAAC,KAAKe,EAAY,KAAK,MAAM,YAAY,QAAQ,CAAC,UAAU,WAAW,SAAS,WAAW,EAAE,aAAa,CAAC,OAAO,QAAQ,KAAK,MAAM,EAAE,wBAAwB,GAAK,YAAY,CAAC,iBAAiB,kBAAkB,eAAe,gBAAgB,EAAE,aAAa,WAAW,EAAE,aAAa,CAAC,KAAKA,EAAY,OAAO,MAAM,gBAAgB,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,IAAI,EAAE,OAAO,CAAC,KAAKA,EAAY,KAAK,MAAM,SAAS,QAAQ,CAAC,SAAS,SAAS,YAAY,aAAa,EAAE,aAAa,CAAC,SAAS,UAAU,cAAc,aAAa,EAAE,aAAa,WAAW,EAAE,UAAU,CAAC,KAAKA,EAAY,OAAO,MAAM,aAAa,IAAI,EAAE,IAAI,IAAI,aAAa,EAAE,KAAK,GAAG,CAAC,CAAC",
  "names": ["easings", "t", "Gradientease", "props", "gradientDirection", "cornerRadius", "easing", "grayScale", "style", "easingFunc", "numberOfStops", "_", "i", "easedT", "p", "motion", "addPropertyControls", "ControlType"]
}
