{
  "version": 3,
  "sources": ["ssg:https://framer.com/m/Utlis-SwIN.js@U9vmYX0zDZtz999aDBu4", "ssg:https://framerusercontent.com/modules/MEwNH2Jtzb5hmutaeYr3/qPiJqjCyIUiFbqDg8xTO/CMSItemsTicker.js"],
  "sourcesContent": ["// new utils\nexport const findQueryInProps=obj=>{if(obj==null)return null;// Check if `query` exists in the current level\nif(obj.hasOwnProperty(\"query\"))return obj.query;// Iterate over the properties\nfor(let key in obj){if(obj.hasOwnProperty(key)&&typeof obj[key]===\"object\"){let result=findQueryInProps(obj[key]);if(result!==null)return result;}}// If `query` is not found\nreturn null;};export const updateQueryInProps=(obj,newQuery)=>{if(obj==null)return obj;// Check if `query` exists in the current level\nif(obj.hasOwnProperty(\"query\"))return{...obj,query:newQuery};// Iterate over the properties\nfor(let key in obj){if(obj.hasOwnProperty(key)&&typeof obj[key]===\"object\"){const updatedChild=updateQueryInProps(obj[key],newQuery);if(updatedChild!==obj[key]){return{...obj,[key]:updatedChild};}}}return obj;};export const findPropsBeforeQuery=obj=>{if(obj==null)return null;// Check if `query` exists in the current level\nif(obj.hasOwnProperty(\"query\"))return obj;// Iterate over the properties\nfor(let key in obj){if(obj.hasOwnProperty(key)&&typeof obj[key]===\"object\"){let result=findPropsBeforeQuery(obj[key]);if(result!==null)return result;}}// If `query` is not found\nreturn null;};\nexport const __FramerMetadata__ = {\"exports\":{\"findQueryInProps\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"updateQueryInProps\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"findPropsBeforeQuery\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Utlis.map", "import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget,// @ts-ignore\nuseQueryData}from\"framer\";import{cloneElement,useEffect,useRef,useState}from\"react\";import{findPropsBeforeQuery}from\"https://framer.com/m/Utlis-SwIN.js@U9vmYX0zDZtz999aDBu4\";/**\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerIntrinsicWidth 600\n * @framerSupportedLayoutHeight any-prefer-auto\n */export default function CMSItemsTicker(props){var _collectionList_;const{collectionList,direction,speed,itemSpacing,itemWidth,fixedWidth}=props;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const clProps=!isCanvas?findPropsBeforeQuery(collectionList===null||collectionList===void 0?void 0:(_collectionList_=collectionList[0])===null||_collectionList_===void 0?void 0:_collectionList_.props):undefined;const data=(clProps===null||clProps===void 0?void 0:clProps.query)?useQueryData(clProps.query):[];const[renderedItems,setRenderedItems]=useState([]);const tickerRef=useRef(null);useEffect(()=>{if(data&&(clProps===null||clProps===void 0?void 0:clProps.children)){var _childrenData_props;const childrenData=clProps.children(data);const items=(childrenData===null||childrenData===void 0?void 0:(_childrenData_props=childrenData.props)===null||_childrenData_props===void 0?void 0:_childrenData_props.children)||[];if(Array.isArray(items)){const styledItems=items.map((item,index)=>/*#__PURE__*/_jsx(\"div\",{style:{marginRight:direction===\"left\"||direction===\"right\"?itemSpacing:0,marginBottom:direction===\"up\"||direction===\"down\"?itemSpacing:0,display:direction===\"up\"||direction===\"down\"?\"block\":\"inline-block\",width:itemWidth===\"fixed\"?`${fixedWidth}px`:\"auto\"},children:/*#__PURE__*/cloneElement(item,{style:{...item.props.style}})},index));setRenderedItems(styledItems);}else{setRenderedItems([]);}}else{setRenderedItems([]);}},[collectionList,direction,itemSpacing,itemWidth,fixedWidth,data]);useEffect(()=>{const ticker=tickerRef.current;let animationId;const animate=()=>{if(ticker){const isHorizontal=direction===\"left\"||direction===\"right\";const translateProp=isHorizontal?\"translateX\":\"translateY\";const scrollSize=isHorizontal?ticker.scrollWidth:ticker.scrollHeight;const clientSize=isHorizontal?ticker.clientWidth:ticker.clientHeight;const currentTranslate=parseFloat(ticker.style.transform.split(\"(\")[1])||0;let newTranslate;if(direction===\"left\"||direction===\"up\"){newTranslate=currentTranslate-speed;if(Math.abs(newTranslate)>=scrollSize/2){newTranslate+=scrollSize/2;}}else{newTranslate=currentTranslate+speed;if(newTranslate>=0){newTranslate-=scrollSize/2;}}ticker.style.transform=`${translateProp}(${newTranslate}px)`;}animationId=requestAnimationFrame(animate);};if(renderedItems.length>0){animationId=requestAnimationFrame(animate);}return()=>{if(animationId){cancelAnimationFrame(animationId);}};},[direction,speed,renderedItems]);const containerStyle={...props.style,overflow:\"hidden\",whiteSpace:direction===\"up\"||direction===\"down\"?\"normal\":\"nowrap\"};const tickerStyle={display:direction===\"up\"||direction===\"down\"?\"block\":\"inline-block\"};if(isCanvas){containerStyle.padding=10;containerStyle.border=\"1px dashed #594FEE\";containerStyle.borderRadius=\"8px\";containerStyle.backgroundColor=\"#EEEDFD\";}return /*#__PURE__*/_jsx(\"div\",{style:containerStyle,children:isCanvas?renderedItems.length>0?/*#__PURE__*/_jsx(\"div\",{style:tickerStyle,children:renderedItems}):/*#__PURE__*/_jsx(\"div\",{style:{color:\"#594FEE\",padding:\"20px\",textAlign:\"center\",fontFamily:\"Arial, sans-serif\"},children:\"CMS Ticker - Connect, configure and preview to see the component\"}):renderedItems.length>0?/*#__PURE__*/_jsxs(\"div\",{ref:tickerRef,style:tickerStyle,children:[renderedItems,renderedItems]}):/*#__PURE__*/_jsx(\"div\",{children:\"Segment\"})});}CMSItemsTicker.displayName=\"CMS Items Ticker\";addPropertyControls(CMSItemsTicker,{collectionList:{type:ControlType.ComponentInstance,description:\"Please ensure that the CMS item that you are connecting to is vertically stacked\"},direction:{type:ControlType.Enum,defaultValue:\"left\",options:[\"left\",\"right\",\"up\",\"down\"],displaySegmentedControl:true},speed:{type:ControlType.Number,defaultValue:1,min:.1,max:10,displayStepper:true},itemSpacing:{type:ControlType.Number,defaultValue:20,min:0},itemWidth:{type:ControlType.Enum,defaultValue:\"auto\",options:[\"auto\",\"fixed\"],optionTitles:[\"Auto\",\"Fixed\"],displaySegmentedControl:true,description:\"v2.0 \\n[via SegmentUI](https://www.segmentUI.com)\"},fixedWidth:{type:ControlType.Number,defaultValue:200,min:1,max:1e3,displayStepper:true,hidden:({itemWidth})=>itemWidth!==\"fixed\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CMSItemsTicker\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"*\",\"framerIntrinsicWidth\":\"600\",\"framerSupportedLayoutHeight\":\"any-prefer-auto\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CMSItemsTicker.map"],
  "mappings": "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",
  "names": ["findPropsBeforeQuery", "obj", "key", "result", "CMSItemsTicker", "props", "_collectionList_", "collectionList", "direction", "speed", "itemSpacing", "itemWidth", "fixedWidth", "isCanvas", "RenderTarget", "clProps", "findPropsBeforeQuery", "data", "useQueryData", "renderedItems", "setRenderedItems", "ye", "tickerRef", "pe", "ue", "_childrenData_props", "childrenData", "items", "styledItems", "item", "index", "p", "ticker", "animationId", "animate", "isHorizontal", "translateProp", "scrollSize", "clientSize", "currentTranslate", "newTranslate", "containerStyle", "tickerStyle", "u", "addPropertyControls", "ControlType"]
}
