{"version":3,"file":"TextShimmer_Prod.Da6BvB0H.mjs","names":["useRef"],"sources":["https:/framerusercontent.com/modules/43YkYbU41oSDqN9C6ZLe/KXNVkpA1iaXrZa0sBguP/GX7OjHAmG.js","https:/framerusercontent.com/modules/TS5bPiMUGtjrWMUlvKp9/AciUHRnNOn8057WveTGJ/TextShimmer_Prod.js"],"sourcesContent":["// Generated by Framer (d5224d0)\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 16.349 4.361 L 9.876 0.339 C 9.522 0.117 9.112 0 8.695 0 C 8.277 0 7.868 0.117 7.514 0.339 L 1.04 4.383 C 0.672 4.615 0.38 4.95 0.2 5.346 C 0.02 5.742 -0.04 6.182 0.027 6.612 L 1.698 16.639 C 1.786 17.164 2.059 17.641 2.467 17.982 C 2.876 18.323 3.394 18.507 3.926 18.5 L 13.508 18.5 C 14.041 18.507 14.558 18.323 14.967 17.982 C 15.376 17.641 15.649 17.164 15.736 16.639 L 17.408 6.612 C 17.475 6.174 17.41 5.726 17.222 5.325 C 17.033 4.924 16.729 4.588 16.349 4.361 Z\" fill=\"transparent\" height=\"18.500009487603567px\" id=\"M6OAWz4K5\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--fbr8zx, 1.5)\" stroke=\"var(--34440n, rgb(0, 0, 0))\" transform=\"translate(3.283 2.75)\" width=\"17.433533180994424px\"/><path d=\"M 6.528 0 L 1.306 0 C 0.585 0 0 0.541 0 1.208 L 0 4.831 C 0 5.498 0.585 6.038 1.306 6.038 L 6.528 6.038 C 7.249 6.038 7.834 5.498 7.834 4.831 L 7.834 1.208 C 7.834 0.541 7.249 0 6.528 0 Z\" fill=\"transparent\" height=\"6.038499999999999px\" id=\"YVGxKVTNF\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--fbr8zx, 1.5)\" stroke=\"var(--34440n, rgb(0, 0, 0))\" transform=\"translate(8.083 11.538)\" width=\"7.83371px\"/><path d=\"M 0 3.623 L 0 2.415 C 0 1.775 0.254 1.16 0.707 0.707 C 1.16 0.254 1.775 0 2.415 0 C 3.056 0 3.67 0.254 4.123 0.707 C 4.576 1.16 4.831 1.775 4.831 2.415 L 4.831 3.623\" fill=\"transparent\" height=\"3.62312px\" id=\"lBnq0fJ1O\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--fbr8zx, 1.5)\" stroke=\"var(--34440n, rgb(0, 0, 0))\" transform=\"translate(9.585 7.915)\" width=\"4.83075px\"/></svg>';const getProps=({color,height,id,width,width1,...props})=>{return{...props,htQyJXMKW:width1??props.htQyJXMKW??1.5,jDue3c8Jy:color??props.jDue3c8Jy??\"rgb(0, 0, 0)\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,jDue3c8Jy,htQyJXMKW,...restProps}=getProps(props);const href=useSVGTemplate(\"3932605796\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-0KRrf\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--34440n\":jDue3c8Jy,\"--fbr8zx\":htQyJXMKW,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-0KRrf { -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 {\"jDue3c8Jy\":\"color\",\"htQyJXMKW\":\"width1\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Home Security Lock\",\"color\":{\"type\":\"variable\",\"value\":\"34440n\"},\"set\":{\"localId\":\"vectorSet/N6bZIbxLR\",\"id\":\"N6bZIbxLR\",\"moduleId\":\"NCiKiaU9qhVJumKU6JAo\"}}\n */const Icon=withCSS(Component,css,\"framer-0KRrf\");Icon.displayName=\"Home Security Lock\";export default Icon;addPropertyControls(Icon,{jDue3c8Jy:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},htQyJXMKW:{defaultValue:1.5,displayStepper:true,hidden:false,max:8,min:1,title:\"Width\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"24\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerVariables\":\"{\\\"jDue3c8Jy\\\":\\\"color\\\",\\\"htQyJXMKW\\\":\\\"width1\\\"}\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"24\",\"framerVector\":\"{\\\"name\\\":\\\"Home Security Lock\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"34440n\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/N6bZIbxLR\\\",\\\"id\\\":\\\"N6bZIbxLR\\\",\\\"moduleId\\\":\\\"NCiKiaU9qhVJumKU6JAo\\\"}}\"}},\"__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":"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"}