{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/iGfTQsVZrrkAyjoTiCkJ/E2hDfFVmMbPoSEhYusiX/Title_text.js", "ssg:https://framerusercontent.com/modules/rJZeCvH9BiCx8ydDVFvk/8o5aXFvrXUkiOAdkVqlw/q_7LUlcJ1.js"],
  "sourcesContent": ["/**\n * @framerDisableUnlink\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 100\n */import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{motion}from\"framer-motion\";/**\n * This is the main shimmer heading component.\n */export default function ShimmerHeading(props){const{text,font,textSize,textColor,effectColor,speed,direction,rotation,shimmerSize,style}=props;// Generate a unique keyframe name for the shimmer so each instance can have its own\nconst shimmerAnimationName=React.useMemo(()=>`shimmer-anim-${Math.floor(Math.random()*1e5)}`,[]);// Insert a <style> block with our dynamic keyframes.\nconst styleTag=`\n        @keyframes ${shimmerAnimationName} {\n            0%   { background-position: ${shimmerSize}% 0; }\n            100% { background-position: -${shimmerSize}% 0; }\n        }\n    `;// Construct the linear gradient based on direction and color stops\nconst gradientAngle=`${direction||90}deg`;const gradient=`linear-gradient(\n        ${gradientAngle},\n        ${textColor} 20%,\n        ${effectColor} 50%,\n        ${textColor} 80%\n    )`;// We'll merge the user's font object but override the size with textSize\nconst headingStyle={width:\"100%\",height:\"100%\",margin:0,padding:0,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",textAlign:\"center\",userSelect:\"none\",// Spread user-provided font (e.g., family, weight, lineHeight)\n...font,// Force the size from our separate textSize control\nfontSize:textSize,// We'll rely on background-clip + color: transparent\ncolor:\"transparent\",backgroundImage:gradient,backgroundSize:`${shimmerSize}% auto`,backgroundClip:\"text\",WebkitBackgroundClip:\"text\",// Animate it\nanimation:`${shimmerAnimationName} ${speed}s linear infinite`,// Rotate the entire heading if needed\ntransform:`rotate(${rotation}deg)`,transformOrigin:\"center\",// Merge any user-defined style\n...style};return /*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",height:\"100%\"},children:[/*#__PURE__*/_jsx(\"style\",{children:styleTag}),/*#__PURE__*/_jsx(motion.h1,{style:headingStyle,children:text})]});}// Default props ensure the component has a nice fallback\nShimmerHeading.defaultProps={text:\"SHIMMERING TEXT\",font:{family:\"Arial\",size:48,weight:700},textSize:48,textColor:\"#cccccc\",effectColor:\"#ffffff\",speed:2,direction:90,rotation:0,shimmerSize:200,style:{}};/**\n * Property Controls for Framer\u2019s UI\n */addPropertyControls(ShimmerHeading,{text:{type:ControlType.String,title:\"Text\",defaultValue:ShimmerHeading.defaultProps.text},font:{type:ControlType.Font,title:\"Font\",defaultValue:ShimmerHeading.defaultProps.font},textSize:{type:ControlType.Number,title:\"Text Size\",defaultValue:ShimmerHeading.defaultProps.textSize,min:1,max:200,step:1,displayStepper:true},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:ShimmerHeading.defaultProps.textColor},effectColor:{type:ControlType.Color,title:\"Effect Color\",defaultValue:ShimmerHeading.defaultProps.effectColor},speed:{type:ControlType.Number,title:\"Speed (s)\",defaultValue:ShimmerHeading.defaultProps.speed,min:.1,max:10,step:.1},direction:{type:ControlType.Number,title:\"Direction (\\xb0)\",defaultValue:ShimmerHeading.defaultProps.direction,min:0,max:360,step:1},rotation:{type:ControlType.Number,title:\"Rotation (\\xb0)\",defaultValue:ShimmerHeading.defaultProps.rotation,min:0,max:360,step:1},shimmerSize:{type:ControlType.Number,title:\"Shimmer Size (%)\",defaultValue:ShimmerHeading.defaultProps.shimmerSize,min:50,max:400,step:1},style:{type:ControlType.Object,title:\"Container Style\",defaultValue:{}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ShimmerHeading\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Title_text.map", "// Generated by Framer (1f5f6d9)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"FS;Montserrat-semibold italic\",\"FS;Montserrat-black italic\",\"FS;Montserrat-black italic\",\"FS;Montserrat-semibold italic\"]);export const fonts=[{explicitInter:true,fonts:[{family:\"Montserrat\",source:\"fontshare\",style:\"italic\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/NHQSXRPK2WZQNSVXVPHNEWQTX6ASEI3T/LQUMI7WZAOIVAXJCVJ7ABTISRT4ZYBQO/SOTTHSMCKKCT5M6IOCQJ5LOSJSXCUBMQ.woff2\",weight:\"600\"},{family:\"Montserrat\",source:\"fontshare\",style:\"italic\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/XJQZ5FAAHWM4Y24NF2Z7WYOSV6YPTE5O/EO2YIKJILBXPJTK6LHM7BXB3WCNBRFIW/3ITIUZWY6HV7DWK4WDWMNDJF4FUBLRZN.woff2\",weight:\"900\"}]}];export const css=['.framer-xZxEK .framer-styles-preset-id7cmm:not(.rich-text-wrapper), .framer-xZxEK .framer-styles-preset-id7cmm.rich-text-wrapper h5 { --framer-font-family: \"Montserrat\", \"Montserrat Placeholder\", sans-serif; --framer-font-family-bold: \"Montserrat\", sans-serif; --framer-font-family-bold-italic: \"Montserrat\", sans-serif; --framer-font-family-italic: \"Montserrat\", \"Montserrat Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 22px; --framer-font-style: italic; --framer-font-style-bold: italic; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 600; --framer-font-weight-bold: 900; --framer-font-weight-bold-italic: 900; --framer-font-weight-italic: 600; --framer-letter-spacing: -0.01em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 40px; --framer-text-alignment: center; --framer-text-color: #b8c4cf; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }'];export const className=\"framer-xZxEK\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],
  "mappings": "sFAMkB,SAARA,EAAgCC,EAAM,CAAC,GAAK,CAAC,KAAAC,EAAK,KAAAC,EAAK,SAAAC,EAAS,UAAAC,EAAU,YAAAC,EAAY,MAAAC,EAAM,UAAAC,EAAU,SAAAC,EAAS,YAAAC,EAAY,MAAAC,CAAK,EAAEV,EACtIW,EAA2BC,EAAQ,IAAI,gBAAgB,KAAK,MAAM,KAAK,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,EACzFC,EAAS;AAAA,qBACMF,CAAoB;AAAA,0CACCF,CAAW;AAAA,2CACVA,CAAW;AAAA;AAAA,MAGNK,EAAS;AAAA,UAArC,GAAGP,GAAW,EAAE,KACb;AAAA,UACbH,CAAS;AAAA,UACTC,CAAW;AAAA,UACXD,CAAS;AAAA,OAEbW,EAAa,CAAC,MAAM,OAAO,OAAO,OAAO,OAAO,EAAE,QAAQ,EAAE,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,UAAU,SAAS,WAAW,OAC3J,GAAGb,EACH,SAASC,EACT,MAAM,cAAc,gBAAgBW,EAAS,eAAe,GAAGL,CAAW,SAAS,eAAe,OAAO,qBAAqB,OAC9H,UAAU,GAAGE,CAAoB,IAAIL,CAAK,oBAC1C,UAAU,UAAUE,CAAQ,OAAO,gBAAgB,SACnD,GAAGE,CAAK,EAAE,OAAoBM,EAAM,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,OAAO,MAAM,EAAE,SAAS,CAAcC,EAAK,QAAQ,CAAC,SAASJ,CAAQ,CAAC,EAAeI,EAAKC,EAAO,GAAG,CAAC,MAAMH,EAAa,SAASd,CAAI,CAAC,CAAC,CAAC,CAAC,CAAE,CAC1MF,EAAe,aAAa,CAAC,KAAK,kBAAkB,KAAK,CAAC,OAAO,QAAQ,KAAK,GAAG,OAAO,GAAG,EAAE,SAAS,GAAG,UAAU,UAAU,YAAY,UAAU,MAAM,EAAE,UAAU,GAAG,SAAS,EAAE,YAAY,IAAI,MAAM,CAAC,CAAC,EAExMoB,EAAoBpB,EAAe,CAAC,KAAK,CAAC,KAAKqB,EAAY,OAAO,MAAM,OAAO,aAAarB,EAAe,aAAa,IAAI,EAAE,KAAK,CAAC,KAAKqB,EAAY,KAAK,MAAM,OAAO,aAAarB,EAAe,aAAa,IAAI,EAAE,SAAS,CAAC,KAAKqB,EAAY,OAAO,MAAM,YAAY,aAAarB,EAAe,aAAa,SAAS,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,eAAe,EAAI,EAAE,UAAU,CAAC,KAAKqB,EAAY,MAAM,MAAM,aAAa,aAAarB,EAAe,aAAa,SAAS,EAAE,YAAY,CAAC,KAAKqB,EAAY,MAAM,MAAM,eAAe,aAAarB,EAAe,aAAa,WAAW,EAAE,MAAM,CAAC,KAAKqB,EAAY,OAAO,MAAM,YAAY,aAAarB,EAAe,aAAa,MAAM,IAAI,GAAG,IAAI,GAAG,KAAK,EAAE,EAAE,UAAU,CAAC,KAAKqB,EAAY,OAAO,MAAM,mBAAmB,aAAarB,EAAe,aAAa,UAAU,IAAI,EAAE,IAAI,IAAI,KAAK,CAAC,EAAE,SAAS,CAAC,KAAKqB,EAAY,OAAO,MAAM,kBAAkB,aAAarB,EAAe,aAAa,SAAS,IAAI,EAAE,IAAI,IAAI,KAAK,CAAC,EAAE,YAAY,CAAC,KAAKqB,EAAY,OAAO,MAAM,mBAAmB,aAAarB,EAAe,aAAa,YAAY,IAAI,GAAG,IAAI,IAAI,KAAK,CAAC,EAAE,MAAM,CAAC,KAAKqB,EAAY,OAAO,MAAM,kBAAkB,aAAa,CAAC,CAAC,CAAC,CAAC,EC5BnnCC,EAAU,UAAU,CAAC,gCAAgC,6BAA6B,6BAA6B,+BAA+B,CAAC,EAAS,IAAMC,EAAM,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,OAAO,aAAa,OAAO,YAAY,MAAM,SAAS,IAAI,yKAAyK,OAAO,KAAK,EAAE,CAAC,OAAO,aAAa,OAAO,YAAY,MAAM,SAAS,IAAI,yKAAyK,OAAO,KAAK,CAAC,CAAC,CAAC,EAAeC,EAAI,CAAC,wjCAAwjC,EAAeC,EAAU",
  "names": ["ShimmerHeading", "props", "text", "font", "textSize", "textColor", "effectColor", "speed", "direction", "rotation", "shimmerSize", "style", "shimmerAnimationName", "se", "styleTag", "gradient", "headingStyle", "u", "p", "motion", "addPropertyControls", "ControlType", "fontStore", "fonts", "css", "className"]
}
