{"version":3,"file":"DashedLineScroller.Dt010fX0.mjs","names":["useMemo"],"sources":["https:/framerusercontent.com/modules/I8nuH8daHmmtW11yfr71/eaEeQSe93fxwoLqAWJHJ/DashedLineScroller.js"],"sourcesContent":["// Animated dashed line with infinite horizontal scrolling\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{motion}from\"framer-motion\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{useMemo}from\"react\";/**\n * @framerIntrinsicWidth 300\n * @framerIntrinsicHeight 5\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight fixed\n */export default function DashedLineScroller(props){const{thickness=4,dashColor=\"#000000\",dashLength=20,gapLength=10,dashCount=50,animationSpeed=5}=props;const isStatic=useIsStaticRenderer();// Ensure minimum thickness of 5px for canvas visibility\nconst actualThickness=Math.max(thickness,5);const{totalWidth,patternWidth}=useMemo(()=>{const patternWidth=dashLength+gapLength;const totalWidth=patternWidth*dashCount;return{totalWidth,patternWidth};},[dashLength,gapLength,dashCount]);const dashes=useMemo(()=>{return Array.from({length:dashCount*2},(_,i)=>/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:i*(dashLength+gapLength),top:0,width:dashLength,height:actualThickness,backgroundColor:dashColor}},i));},[dashCount,dashLength,gapLength,actualThickness,dashColor]);return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:Math.max(actualThickness,5),minHeight:5,overflow:\"hidden\",position:\"relative\",...props.style},children:/*#__PURE__*/_jsx(motion.div,{style:{position:\"absolute\",top:0,left:0,width:totalWidth*2,height:actualThickness},animate:isStatic?{}:{x:[-patternWidth,0]},transition:{duration:animationSpeed,repeat:Infinity,ease:\"linear\"},children:dashes})});}addPropertyControls(DashedLineScroller,{thickness:{type:ControlType.Number,title:\"Thickness\",defaultValue:4,max:100,step:.1,unit:\"px\"},dashColor:{type:ControlType.Color,title:\"Dash Color\",defaultValue:\"#000000\"},dashLength:{type:ControlType.Number,title:\"Dash Length\",defaultValue:20,max:100,step:1,unit:\"px\"},gapLength:{type:ControlType.Number,title:\"Gap Length\",defaultValue:10,max:50,step:1,unit:\"px\"},dashCount:{type:ControlType.Number,title:\"Dash Count\",defaultValue:50,max:200,step:1},animationSpeed:{type:ControlType.Number,title:\"Animation Speed\",defaultValue:5,max:20,step:.1,unit:\"s\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"DashedLineScroller\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"300\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"5\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./DashedLineScroller.map"],"mappings":"mOAMG,SAAwB,EAAmB,EAAM,CAAC,GAAK,CAAC,YAAU,EAAE,YAAU,UAAU,aAAW,GAAG,YAAU,GAAG,YAAU,GAAG,iBAAe,GAAG,EAAY,EAAS,EAAoB,EACxL,EAAgB,KAAK,IAAI,EAAU,CAAC,EAAO,CAAC,aAAW,gBAAcA,MAAY,CAAC,IAAM,EAAa,EAAW,EAAkD,MAAM,CAAC,WAA9B,EAAa,EAA4B,cAAY,CAAE,EAAE,CAAC,EAAW,EAAU,CAAS,CAAC,EAAQ,EAAOA,MAAoB,MAAM,KAAK,CAAC,OAAO,EAAU,CAAC,GAAG,EAAE,IAAiB,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,KAAK,GAAG,EAAW,GAAW,IAAI,EAAE,MAAM,EAAW,OAAO,EAAgB,gBAAgB,CAAS,CAAC,EAAE,CAAC,CAAC,EAAI,CAAC,EAAU,EAAW,EAAU,EAAgB,CAAS,CAAC,EAAE,OAAoB,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,OAAO,KAAK,IAAI,EAAgB,CAAC,EAAE,UAAU,EAAE,SAAS,SAAS,SAAS,WAAW,GAAG,EAAM,KAAK,EAAE,SAAsB,EAAK,EAAO,IAAI,CAAC,MAAM,CAAC,SAAS,WAAW,IAAI,EAAE,KAAK,EAAE,MAAM,EAAW,EAAE,OAAO,CAAe,EAAE,QAAQ,EAAS,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAa,CAAC,CAAC,EAAE,WAAW,CAAC,SAAS,EAAe,OAAO,IAAS,KAAK,QAAQ,EAAE,SAAS,CAAM,CAAC,CAAC,CAAC,CAAE,iBAN53B,IAAkC,IAAwE,IAA2B,EAMwvB,EAAoB,EAAmB,CAAC,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,EAAE,IAAI,IAAI,KAAK,GAAG,KAAK,IAAI,EAAE,UAAU,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,SAAS,EAAE,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,GAAG,IAAI,IAAI,KAAK,EAAE,KAAK,IAAI,EAAE,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,GAAG,IAAI,GAAG,KAAK,EAAE,KAAK,IAAI,EAAE,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,GAAG,IAAI,IAAI,KAAK,CAAC,EAAE,eAAe,CAAC,KAAK,EAAY,OAAO,MAAM,kBAAkB,aAAa,EAAE,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC"}