{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/khetdb2g1wrJNnY4sZ7y/oiq2exTGb6yYApgY8wCP/vav01OOpW.js", "ssg:https://framerusercontent.com/modules/TS5bPiMUGtjrWMUlvKp9/AciUHRnNOn8057WveTGJ/TextShimmer_Prod.js"],
  "sourcesContent": ["// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 0 0 L 0 18 L 3 18 L 3 0.75 C 3 0.336 2.664 0 2.25 0 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"18px\" id=\"kjl3rC1bs\" transform=\"translate(15.75 3)\" width=\"3px\"/><path d=\"M 0 0 L 19.5 0\" fill=\"transparent\" height=\"1px\" id=\"oQntKcB4L\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(2.25 21)\" width=\"19.5px\"/><path d=\"M 0 18 L 0 0.75 C 0 0.336 0.336 0 0.75 0 L 12.75 0 C 13.164 0 13.5 0.336 13.5 0.75 L 13.5 18\" fill=\"transparent\" height=\"18px\" id=\"nhvO2ZEal\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(5.25 3)\" width=\"13.5px\"/><path d=\"M 0 1.125 C 0 0.504 0.504 0 1.125 0 C 1.746 0 2.25 0.504 2.25 1.125 C 2.25 1.746 1.746 2.25 1.125 2.25 C 0.504 2.25 0 1.746 0 1.125 Z\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"2.25px\" id=\"CXFUlnfs7\" transform=\"translate(11.25 11.25)\" width=\"2.25px\"/><path d=\"M 0 0 L 0 18\" fill=\"transparent\" height=\"18px\" id=\"amhzhfpvU\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(15.75 3)\" width=\"1px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"1393240352\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-5lJXH\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-5lJXH { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Door Open\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-5lJXH\");Icon.displayName=\"Door Open\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"true\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerVector\":\"{\\\"name\\\":\\\"Door Open\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\",\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\",\"framerIntrinsicHeight\":\"24\",\"framerImmutableVariables\":\"true\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"24\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}", "import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useRef,useEffect}from\"react\";import{addPropertyControls,ControlType}from\"framer\";function getUniqueClassName(){return\"text-shimmer-\"+Math.random().toString(36).substr(2,9);}/**\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 200\n *\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function TextShimmer({font,content,color,shimmer,size,speed,userSelect,rotation,delay,tag,direction}){const classNameRef=useRef(getUniqueClassName());const Tag=tag;const backgroundSize=`200% 200%`;const speedFormatted=11-speed;const gradientFirst=50-size*(50-20)/100;const gradientLast=50+size*(80-50)/100;const animationDuration=speedFormatted+delay;// Calculate keyframes\nconst startPos=direction===\"left\"?\"-100%\":\"200%\";const endPos=direction===\"left\"?\"200%\":\"-100%\";const keyframes=`\n        @keyframes shimmer-${classNameRef.current} {\n            0%, ${delay/animationDuration*100}% {\n                background-position: ${startPos};\n            }\n            100% {\n                background-position: ${endPos};\n            }\n        }\n    `;// Inject style tag once per instance\nuseEffect(()=>{const styleId=`shimmer-style-${classNameRef.current}`;let styleEl=document.getElementById(styleId);if(!styleEl){styleEl=document.createElement(\"style\");styleEl.id=styleId;document.head.appendChild(styleEl);}styleEl.innerHTML=`\n            ${keyframes}\n            .${classNameRef.current} {\n                background: linear-gradient(\n                    ${rotation}deg,\n                    transparent 0%,\n                    transparent ${gradientFirst}%,\n                    ${shimmer} 50%,\n                    transparent ${gradientLast}%,\n                    transparent 100%\n                );\n                -webkit-background-size: ${backgroundSize};\n                -moz-background-size: ${backgroundSize};\n                background-size: ${backgroundSize};\n                -webkit-background-clip: text;\n                -moz-background-clip: text;\n                background-clip: text;\n                background-repeat: no-repeat;\n                animation: shimmer-${classNameRef.current} ${animationDuration}s linear infinite;\n            }\n        `;return()=>{if(styleEl&&styleEl.parentNode){styleEl.parentNode.removeChild(styleEl);}};},[shimmer,rotation,gradientFirst,gradientLast,backgroundSize,animationDuration,delay,direction,keyframes]);return /*#__PURE__*/_jsxs(\"div\",{style:{userSelect:userSelect?\"auto\":\"none\",position:\"relative\"},children:[/*#__PURE__*/_jsx(Tag,{style:{...font,color,marginBlockStart:\"0px\",marginBlockEnd:\"0px\"},children:content}),/*#__PURE__*/_jsx(Tag,{\"aria-hidden\":\"true\",className:classNameRef.current,style:{...font,color:\"transparent\",position:\"absolute\",top:0,left:0,right:0,bottom:0,zIndex:1,marginBlockStart:\"0px\",marginBlockEnd:\"0px\",pointerEvents:\"none\"},children:content})]});}TextShimmer.displayName=\"Text Shimmer\";addPropertyControls(TextShimmer,{font:{type:ControlType.Font,title:\"Font\",defaultValue:\"Inter\",controls:\"extended\"},content:{type:ControlType.String,title:\"Content\",defaultValue:\"Learn Framer With Framer University\"},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#FFFFFF1A\"},shimmer:{type:ControlType.Color,title:\"Shimmer\",defaultValue:\"#ffffff\"},size:{type:ControlType.Number,title:\"Size\",defaultValue:30,step:1,max:100,min:1},speed:{type:ControlType.Number,title:\"Speed\",defaultValue:5,max:10,min:1,step:1},direction:{type:ControlType.Enum,title:\"Direction\",defaultValue:\"left\",options:[\"left\",\"right\"],optionTitles:[\"Left\",\"Right\"],displaySegmentedControl:true,segmentedControlDirection:\"horizontal\",optionIcons:[\"direction-left\",\"direction-right\"]},userSelect:{title:\"User Select\",type:ControlType.Boolean,defaultValue:false},rotation:{type:ControlType.Number,title:\"Rotation\",defaultValue:90,min:45,unit:\"\\xb0\",max:135,step:1},delay:{type:ControlType.Number,title:\"Delay\",defaultValue:0,min:0,max:10,step:.1},tag:{type:ControlType.Enum,title:\"Tag\",defaultValue:\"p\",displaySegmentedControl:true,segmentedControlDirection:\"horizontal\",options:[\"h1\",\"h2\",\"h3\",\"p\"],optionTitles:[\"H1\",\"H2\",\"H3\",\"P\"],description:\"More components at [Framer University](https://frameruni.link/cc).\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TextShimmer\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"400\",\"framerIntrinsicHeight\":\"200\",\"framerSupportedLayoutHeight\":\"any\",\"framerDisableUnlink\":\"*\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TextShimmer_Prod.map"],
  "mappings": "6IAC0L,IAAMA,EAAK,0BAAgCC,EAAkBC,EAAW,SAASC,EAAMC,EAAI,CAAC,OAAoBC,EAAK,MAAM,CAAC,GAAGF,EAAM,IAAIC,EAAI,SAASD,EAAM,QAAQ,CAAC,CAAE,CAAC,EAAQG,EAAUC,EAAO,OAAON,CAAI,EAAQO,EAAiBN,EAAW,CAACC,EAAMC,IAAM,CAAC,GAAK,CAAC,SAAAK,EAAS,SAAAC,EAAS,SAAAC,EAAS,GAAGC,CAAI,EAAET,EAAM,OAAOM,EAAsBJ,EAAKC,EAAU,CAAC,GAAGM,EAAK,SAASF,EAAS,IAAIN,EAAI,SAASO,CAAQ,CAAC,EAAeN,EAAK,MAAM,CAAC,GAAGO,EAAK,IAAIR,EAAI,SAASO,CAAQ,CAAC,CAAE,CAAC,EAAQE,EAAI,04CAAg5CC,EAAS,CAAC,CAAC,MAAAC,EAAM,MAAAC,EAAM,OAAAC,EAAO,GAAAC,EAAG,MAAAC,EAAM,OAAAC,EAAO,GAAGjB,CAAK,KAAW,CAAC,GAAGA,EAAM,UAAUa,GAAOb,EAAM,WAAW,eAAe,UAAUiB,GAAQjB,EAAM,WAAW,IAAI,UAAUY,GAAOZ,EAAM,SAAS,GAAUkB,EAA6BnB,EAAW,SAASC,EAAMC,EAAI,CAAC,GAAK,CAAC,MAAAkB,EAAM,UAAAC,EAAU,SAAAb,EAAS,QAAAc,EAAQ,UAAAC,EAAU,UAAAC,EAAU,UAAAC,EAAU,GAAGC,CAAS,EAAEd,EAASX,CAAK,EAAQ0B,EAAKC,EAAe,aAAajB,CAAG,EAAE,OAAoBR,EAAKG,EAAI,CAAC,GAAGoB,EAAU,UAAUG,EAAG,eAAeR,CAAS,EAAE,SAASb,EAAS,IAAIN,EAAI,KAAK,eAAe,MAAM,CAAC,YAAYuB,EAAU,WAAWF,EAAU,WAAWC,EAAU,GAAGJ,CAAK,EAAE,QAAQ,YAAY,SAAsBjB,EAAK,MAAM,CAAC,KAAKwB,CAAI,CAAC,CAAC,CAAC,CAAE,CAAC,EAAQG,EAAI,CAAC,iCAAiChC,CAAI,4CAA4CA,CAAI,kBAAkB,EAU9zFiC,EAAKC,EAAQb,EAAUW,EAAI,cAAc,EAAEC,EAAK,YAAY,YAAY,IAAOE,EAAQF,EAAKG,EAAoBH,EAAK,CAAC,UAAU,CAAC,aAAa,eAAe,OAAO,GAAM,MAAM,QAAQ,KAAKI,EAAY,KAAK,EAAE,UAAU,CAAC,aAAa,IAAI,eAAe,GAAK,OAAO,GAAM,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,MAAM,QAAQ,KAAKA,EAAY,MAAM,EAAE,UAAU,CAAC,aAAa,EAAE,eAAe,GAAK,OAAO,GAAM,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,MAAM,QAAQ,KAAKA,EAAY,MAAM,CAAC,CAAC,ECXtT,SAASC,GAAoB,CAAC,MAAM,gBAAgB,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,CAAE,CAQ1N,SAARC,EAA6B,CAAC,KAAAC,EAAK,QAAAC,EAAQ,MAAAC,EAAM,QAAAC,EAAQ,KAAAC,EAAK,MAAAC,EAAM,WAAAC,EAAW,SAAAC,EAAS,MAAAC,EAAM,IAAAC,EAAI,UAAAC,CAAS,EAAE,CAAC,IAAMC,EAAaC,EAAOd,EAAmB,CAAC,EAAQe,EAAIJ,EAAUK,EAAe,YAAkBC,EAAe,GAAGV,EAAYW,EAAc,GAAGZ,EAAM,GAAO,IAAUa,EAAa,GAAGb,EAAM,GAAO,IAAUc,EAAkBH,EAAeP,EACrWW,EAAST,IAAY,OAAO,QAAQ,OAAaU,EAAOV,IAAY,OAAO,OAAO,QAAcW,EAAU;AAAA,6BACnFV,EAAa,OAAO;AAAA,kBAC/BH,EAAMU,EAAkB,GAAG;AAAA,uCACNC,CAAQ;AAAA;AAAA;AAAA,uCAGRC,CAAM;AAAA;AAAA;AAAA,MAI7C,OAAAE,EAAU,IAAI,CAAC,IAAMC,EAAQ,iBAAiBZ,EAAa,OAAO,GAAOa,EAAQ,SAAS,eAAeD,CAAO,EAAE,OAAIC,IAASA,EAAQ,SAAS,cAAc,OAAO,EAAEA,EAAQ,GAAGD,EAAQ,SAAS,KAAK,YAAYC,CAAO,GAAGA,EAAQ,UAAU;AAAA,cAClOH,CAAS;AAAA,eACRV,EAAa,OAAO;AAAA;AAAA,sBAEbJ,CAAQ;AAAA;AAAA,kCAEIS,CAAa;AAAA,sBACzBb,CAAO;AAAA,kCACKc,CAAY;AAAA;AAAA;AAAA,2CAGHH,CAAc;AAAA,wCACjBA,CAAc;AAAA,mCACnBA,CAAc;AAAA;AAAA;AAAA;AAAA;AAAA,qCAKZH,EAAa,OAAO,IAAIO,CAAiB;AAAA;AAAA,UAE9D,IAAI,CAAIM,GAASA,EAAQ,YAAYA,EAAQ,WAAW,YAAYA,CAAO,CAAG,CAAE,EAAE,CAACrB,EAAQI,EAASS,EAAcC,EAAaH,EAAeI,EAAkBV,EAAME,EAAUW,CAAS,CAAC,EAAsBI,EAAM,MAAM,CAAC,MAAM,CAAC,WAAWnB,EAAW,OAAO,OAAO,SAAS,UAAU,EAAE,SAAS,CAAcoB,EAAKb,EAAI,CAAC,MAAM,CAAC,GAAGb,EAAK,MAAAE,EAAM,iBAAiB,MAAM,eAAe,KAAK,EAAE,SAASD,CAAO,CAAC,EAAeyB,EAAKb,EAAI,CAAC,cAAc,OAAO,UAAUF,EAAa,QAAQ,MAAM,CAAC,GAAGX,EAAK,MAAM,cAAc,SAAS,WAAW,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,MAAM,eAAe,MAAM,cAAc,MAAM,EAAE,SAASC,CAAO,CAAC,CAAC,CAAC,CAAC,CAAE,CAACF,EAAY,YAAY,eAAe4B,EAAoB5B,EAAY,CAAC,KAAK,CAAC,KAAK6B,EAAY,KAAK,MAAM,OAAO,aAAa,QAAQ,SAAS,UAAU,EAAE,QAAQ,CAAC,KAAKA,EAAY,OAAO,MAAM,UAAU,aAAa,qCAAqC,EAAE,MAAM,CAAC,KAAKA,EAAY,MAAM,MAAM,QAAQ,aAAa,WAAW,EAAE,QAAQ,CAAC,KAAKA,EAAY,MAAM,MAAM,UAAU,aAAa,SAAS,EAAE,KAAK,CAAC,KAAKA,EAAY,OAAO,MAAM,OAAO,aAAa,GAAG,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC,EAAE,MAAM,CAAC,KAAKA,EAAY,OAAO,MAAM,QAAQ,aAAa,EAAE,IAAI,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,UAAU,CAAC,KAAKA,EAAY,KAAK,MAAM,YAAY,aAAa,OAAO,QAAQ,CAAC,OAAO,OAAO,EAAE,aAAa,CAAC,OAAO,OAAO,EAAE,wBAAwB,GAAK,0BAA0B,aAAa,YAAY,CAAC,iBAAiB,iBAAiB,CAAC,EAAE,WAAW,CAAC,MAAM,cAAc,KAAKA,EAAY,QAAQ,aAAa,EAAK,EAAE,SAAS,CAAC,KAAKA,EAAY,OAAO,MAAM,WAAW,aAAa,GAAG,IAAI,GAAG,KAAK,OAAO,IAAI,IAAI,KAAK,CAAC,EAAE,MAAM,CAAC,KAAKA,EAAY,OAAO,MAAM,QAAQ,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,EAAE,IAAI,CAAC,KAAKA,EAAY,KAAK,MAAM,MAAM,aAAa,IAAI,wBAAwB,GAAK,0BAA0B,aAAa,QAAQ,CAAC,KAAK,KAAK,KAAK,GAAG,EAAE,aAAa,CAAC,KAAK,KAAK,KAAK,GAAG,EAAE,YAAY,oEAAoE,CAAC,CAAC",
  "names": ["mask", "Base", "Y", "props", "ref", "p", "MotionSVG", "motion", "SVG", "animated", "layoutId", "children", "rest", "svg", "getProps", "alpha", "color", "height", "id", "width", "width1", "Component", "style", "className", "variant", "ezTt3ayMo", "lschgej4H", "qxTvv_EBh", "restProps", "href", "useSVGTemplate", "cx", "css", "Icon", "withCSS", "vav01OOpW_default", "addPropertyControls", "ControlType", "getUniqueClassName", "TextShimmer", "font", "content", "color", "shimmer", "size", "speed", "userSelect", "rotation", "delay", "tag", "direction", "classNameRef", "pe", "Tag", "backgroundSize", "speedFormatted", "gradientFirst", "gradientLast", "animationDuration", "startPos", "endPos", "keyframes", "ue", "styleId", "styleEl", "u", "p", "addPropertyControls", "ControlType"]
}
