{"version":3,"file":"RandomCollection.DkQ0jqKV.mjs","names":["useState","__esmMin","init_npm_react_18_3_1","ce","init_jsx_runtime","c","_e","init_framer_DymZktPS","useQueryData","addPropertyControls","RenderTarget","ControlType","findQueryInProps","updateQueryInProps","findPropsBeforeQuery","init_Utlis","obj","key","result","newQuery","updatedChild","RandomCMSItemsDisplay","props","isCanvas","clProps","collectionList","data","renderedItems","setRenderedItems","fetchData","styledItems","getRandomItems","maxItems","layoutDirection","itemSpacing","wrap","sizing","fixedWidth","item","index","intervalId","cycle","cycleInterval","containerStyle","items","init_RandomCollection"],"sources":["https:/framerusercontent.com/modules/j8U5BGmcx6wYvh7husW6/U9vmYX0zDZtz999aDBu4/Utlis.js","https:/framerusercontent.com/modules/xAd1LKohiF1easgr2BFb/eG4yeCgFAQEKJGwWdSl0/RandomCollection.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}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget,// @ts-ignore\nuseQueryData}from\"framer\";import{cloneElement,useEffect,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 auto\n */export default function RandomCMSItemsDisplay(props){var _collectionList_;const{collectionList,maxItems,layoutDirection,itemSpacing,wrap,sizing,fixedWidth,cycle,cycleInterval}=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([]);useEffect(()=>{const fetchData=()=>{if(data){const randomItems=getRandomItems(clProps===null||clProps===void 0?void 0:clProps.children(data).props.children,maxItems);const styledItems=randomItems.map((item,index)=>/*#__PURE__*/_jsx(\"div\",{style:{marginRight:layoutDirection===\"horizontal\"?itemSpacing:0,marginBottom:wrap&&layoutDirection===\"horizontal\"?itemSpacing:layoutDirection===\"vertical\"?itemSpacing:0,width:sizing===\"fixed\"?fixedWidth:\"100%\",boxSizing:sizing===\"fixed\"?\"border-box\":undefined,minWidth:50,minHeight:50},children:/*#__PURE__*/cloneElement(item,{style:{...item.props.style}})},index));setRenderedItems(styledItems);}else{setRenderedItems([]);}};!isCanvas&&fetchData();const intervalId=cycle?setInterval(fetchData,cycleInterval*1e3):null;return()=>{if(intervalId){clearInterval(intervalId);}};},[collectionList,maxItems,layoutDirection,itemSpacing,wrap,sizing,fixedWidth,cycle,cycleInterval]);const containerStyle={...props.style,display:isCanvas?\"flex\":layoutDirection===\"horizontal\"?\"flex\":\"block\",flexDirection:isCanvas?\"column\":layoutDirection===\"horizontal\"?\"row\":undefined,justifyContent:isCanvas?\"center\":undefined,alignItems:isCanvas?\"center\":undefined,flexWrap:wrap?\"wrap\":\"nowrap\"};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?renderedItems:/*#__PURE__*/_jsx(\"div\",{style:{color:\"#594FEE\",padding:\"20px\",textAlign:\"center\",fontFamily:\"Arial, sans-serif\"},children:\"CMS Random Items - Connect, configure & preview to see the component\"}):renderedItems.length>0?renderedItems:/*#__PURE__*/_jsx(\"div\",{children:\"Connect, configure and preview\"})});}RandomCMSItemsDisplay.displayName=\"Random CMS Items Display\";addPropertyControls(RandomCMSItemsDisplay,{collectionList:{type:ControlType.ComponentInstance},maxItems:{type:ControlType.Number,defaultValue:1,min:1},layoutDirection:{type:ControlType.Enum,defaultValue:\"vertical\",options:[\"vertical\",\"horizontal\"],displaySegmentedControl:true,segmentedControlDirection:\"horizontal\"},itemSpacing:{type:ControlType.Number,defaultValue:0,min:0},wrap:{type:ControlType.Boolean,defaultValue:false},sizing:{type:ControlType.Enum,defaultValue:\"fill\",options:[\"fill\",\"fixed\"],displaySegmentedControl:true,segmentedControlDirection:\"horizontal\",description:\"Please ensure that the connected CMS is vertically stacked\"},fixedWidth:{type:ControlType.Number,defaultValue:100,min:0,hidden:props=>props.sizing!==\"fixed\"},cycle:{type:ControlType.Boolean,defaultValue:false,title:\"Cycle\",enabledTitle:\"Yes\",disabledTitle:\"No\",description:\"v2.0 \\n[via SegmentUI](https://www.segmentUI.com)\"},cycleInterval:{type:ControlType.Number,defaultValue:5,min:1,hidden:props=>!props.cycle}});function getRandomItems(items,maxItems){if(!items||items.length===0){return[];}const shuffledItems=items.sort(()=>.5-Math.random());return shuffledItems.slice(0,maxItems);}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"RandomCMSItemsDisplay\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerIntrinsicWidth\":\"600\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"*\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./RandomCollection.map"],"mappings":"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"}