{"version":3,"file":"Superfields.B3iOo7SL.mjs","names":["useRef","useState","useMemo","Children","elementHeight","t","e","Cookies","useId","useRef","useMemo","data","dataIds","dataItemsById","itemIds","filteredData","id","_Fragment","clonedChild","j","item","propertyId","property","useContext"],"sources":["https:/framerusercontent.com/modules/PNm0aYRdp2Urx1MCseUn/ELGxjV92WFMoGKTv2Ojs/CMSLibrary.js","https:/framerusercontent.com/modules/JfW6EfEeJnrqM1YQCYmc/GJijJu4WrREqn6Sg1VOH/Masonry.js","https:/ga.jspm.io/npm:js-cookie@3.0.1/dist/js.cookie.mjs","https:/framerusercontent.com/modules/c1jaZMVo1HBulMCJfZHW/nDkfDJo0USWraGjwBvUd/FavouriteStore.js","https:/framerusercontent.com/modules/1o5Bk6b6qvbR58A6b2Ej/sF7EYcr7Uafuaib9OhEy/Superfields.js"],"sourcesContent":["export function getCollectionData(collectionList){let queryParent=null;if(collectionList?.props?.query){queryParent=collectionList;}else if(collectionList?.props?.children?.props?.query){queryParent=collectionList.props.children;}else if(collectionList?.props?.children?.props?.children?.props?.query){queryParent=collectionList.props.children.props.children;}const query=queryParent?.props?.query;const from=query?.from;let collections=[];if(from){if(from.type===\"Collection\"){collections.push(from);}else if(from.type===\"LeftJoin\"){processJoin(from.left,collections);processJoin(from.right,collections);}}const select=query?.select;if(collections.length>1&&Array.isArray(select)){for(const field of select){if(field.type==\"Identifier\"&&field.name==\"id\"&&!field.alias){const mainCollection=collections.find(c=>c.alias==field.collection);if(mainCollection){collections=[mainCollection,...collections.filter(c=>c!==mainCollection)];}break;}}}const multiReferenceQueries={};const multiReferenceIdMap={};// Get collections from multi-reference fields\nif(Array.isArray(select)){for(const field of select){if(field.type===\"FunctionCall\"&&(field.functionName===\"ARRAY\"||field.functionName===\"FLAT_ARRAY\")&&Array.isArray(field.arguments)){for(const argument of field.arguments){if(argument.from?.type===\"Collection\"){const alias=argument.from.alias;let fieldId=alias;const right=argument.where?.right;if(right&&right.type===\"Identifier\"&&right.name){fieldId=right.name;}collections.push({...argument.from,fieldId});multiReferenceIdMap[fieldId]=alias;multiReferenceIdMap[alias]=alias;multiReferenceQueries[alias]=argument;}}}}}let queryData=collections[0]?.data;const propertyControlsById={};const propertyControlsByTitle={};for(const collection of collections){const byId={};const byName={};propertyControlsById[collection.alias]=byId;propertyControlsByTitle[collection.alias]=byName;const propertyControls=collection.data?.propertyControls;for(const id of Object.keys(propertyControls)){const control={id,...propertyControls[id]};byId[id]=control;byName[control.title]=control;}}// Get children function\nlet childrenFunction=null;if(collectionList){const clpc=collectionList.props?.children;if(typeof clpc==\"function\"){childrenFunction=clpc;}else if(typeof clpc?.props?.children==\"function\"){childrenFunction=clpc.props.children;}else if(typeof clpc?.props?.children?.props?.children==\"function\"){childrenFunction=clpc.props.children.props.children;}}return{query,queryParent,queryData,collections,propertyControlsById,propertyControlsByTitle,childrenFunction,multiReferenceQueries,multiReferenceIdMap};}function processJoin(join,collections){if(join&&typeof join===\"object\"){if(join.type===\"Collection\"){collections.push(join);}else if(join.type===\"LeftJoin\"){processJoin(join.left,collections);processJoin(join.right,collections);}}}// field: { name: string, referenceFieldName: string }\nexport function addFieldsToSelect(fields,query,propertyControlsByTitle,collections){const select=Array.isArray(query?.select)?[...query.select]:[];for(const field of fields){const selectItem=getSelectItemForField(field.name,field.referenceFieldName,query,propertyControlsByTitle,collections,select);if(selectItem){select.push(selectItem);}}return select;}export function getSelectItemForField(name,referenceFieldName,query,propertyControlsByTitle,collections,select=null// When there is a select, check for a matching existing select item\n){// const mainAlias = query?.from?.alias || \"\"\nconst mainAlias=collections[0]?.alias||\"\";const propertyControl=propertyControlsByTitle[mainAlias]?.[name];if(!propertyControl){return null;}const fieldId=propertyControl?.id;const alias=referenceFieldName?fieldId:mainAlias;const referencedField=referenceFieldName?propertyControlsByTitle[fieldId]?.[referenceFieldName]:null;if(select){let matchFound=false;for(const item of select){if(item.type===\"Identifier\"){if(referenceFieldName){if(referencedField&&item.alias===`${fieldId}.${referencedField.id}`&&item.collection===fieldId&&item.name===referencedField.id){matchFound=true;break;}}else{if(item.name===fieldId&&item.collection===alias){matchFound=true;break;}}}else if(item.type===\"FunctionCall\"){if(item.alias===fieldId){matchFound=true;break;}}}if(matchFound){return null;}}if(referenceFieldName){if(referencedField){return{alias:`${fieldId}.${referencedField.id}`,collection:fieldId,name:referencedField.id,type:\"Identifier\"};}}else{return{collection:alias,name:fieldId,type:\"Identifier\"};}}\nexport const __FramerMetadata__ = {\"exports\":{\"getSelectItemForField\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getCollectionData\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"addFieldsToSelect\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CMSLibrary.map","// Code from Nikolay Goncharuk on GitHub:\n// https://github.com/GoncharukBro/react-smart-masonry/blob/master/src/Masonry.tsx\n// https://github.com/GoncharukBro/react-smart-masonry/blob/master/src/useResize.ts\n//\n// Modified by Isaac Roberts for Superfields\n// https://superfields.io\n//\n// Copyright (c) 2021 Nikolay Goncharuk\n// MIT License\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{useState,useLayoutEffect,useEffect,useMemo,useRef,Children,isValidElement}from\"react\";const DEFAULT_COLUMNS=1;const DEFAULT_GAP=0;export default function Masonry({breakpoints,columns=DEFAULT_COLUMNS,gapH=DEFAULT_GAP,gapV=DEFAULT_GAP,reverse=false,autoArrange=false,alignment=\"center\",children,style,...otherProps},forwardedRef){const elements=useRef([]);const previousLayout=useRef([]);const[arrange,setArrange]=useState(false);const[layoutVersion,setLayoutVersion]=useState(0);const resizeObservers=useRef(new Map);const updateTimeoutRef=useRef(null);const earliestChangedIndex=useRef(null);// Replace image load handler with resize observer handler\nconst handleElementResize=element=>{if(!resizeObservers.current.has(element)){let lastUpdatedHeight=element.offsetHeight;const observer=new ResizeObserver(entries=>{const entry=entries[0];const newHeight=entry.target.offsetHeight;if(newHeight!==lastUpdatedHeight&&Math.abs(newHeight-lastUpdatedHeight)>2){lastUpdatedHeight=newHeight;// Find the index of the changed element\nconst changedIndex=elements.current.findIndex(el=>el.element===element);// Update earliest changed index\nif(earliestChangedIndex.current===null){earliestChangedIndex.current=changedIndex;}else{earliestChangedIndex.current=Math.min(earliestChangedIndex.current,changedIndex);}// Only set timeout if one isn't already running\nif(!updateTimeoutRef.current){const delay=layoutVersion===0?10:200// 10ms for first update, 200ms for subsequent\n;updateTimeoutRef.current=setTimeout(()=>{setLayoutVersion(v=>v+1);updateTimeoutRef.current=null;},delay);}}});observer.observe(element);resizeObservers.current.set(element,observer);}};const addElement=index=>element=>{if(element!==null){temporaryElements.push({element,index});elements.current=temporaryElements;handleElementResize(element);}};// Cleanup resize observers when component unmounts\nuseEffect(()=>{return()=>{resizeObservers.current.forEach(observer=>observer.disconnect());resizeObservers.current.clear();};},[]);// Clean up timeout on unmount\nuseEffect(()=>{return()=>{if(updateTimeoutRef.current){clearTimeout(updateTimeoutRef.current);}};},[]);useLayoutEffect(()=>{if(autoArrange&&!arrange)setArrange(true);if(autoArrange&&arrange)setLayoutVersion(v=>v+1);return()=>{if(autoArrange&&arrange)setArrange(false);};},[autoArrange]);const layout=useMemo(()=>{if(columns<1)return[];const arrayOfChildren=Children.toArray(children);if(reverse)arrayOfChildren.reverse();const newLayout=Array.from({length:columns},()=>{return[];});const columnHeights=newLayout.map(()=>0);var _earliestChangedIndex_current;// Use the ref directly instead of parsing from layoutVersion\nconst changedIndex=(_earliestChangedIndex_current=earliestChangedIndex.current)!==null&&_earliestChangedIndex_current!==void 0?_earliestChangedIndex_current:-1;const getColumnIndex=index=>{if(autoArrange&&arrange&&elements.current.length>0){// If we're after the changed element, find the shortest column\nif(changedIndex===-1||index>changedIndex){const columnIndex=columnHeights.findIndex(item=>{return item===Math.min(...columnHeights);});const element=elements.current.find(item=>item.index===index);const elementHeight=element===null||element===void 0?void 0:element.element.getBoundingClientRect().height;columnHeights[columnIndex]+=(elementHeight||0)+gapV;return columnIndex;}else{// For elements before or at the changed index, use their current column\nconst element=elements.current.find(item=>item.index===index);if(element){const currentColumn=previousLayout.current.findIndex(col=>col.some(item=>item.index===index));if(currentColumn!==-1){const elementHeight=element.element.getBoundingClientRect().height;columnHeights[currentColumn]+=(elementHeight||0)+gapV;return currentColumn;}}// Fallback to default behavior if element not found\nconst columnIndex=columnHeights.findIndex(item=>{return item===Math.min(...columnHeights);});const elementHeight=element===null||element===void 0?void 0:element.element.getBoundingClientRect().height;columnHeights[columnIndex]+=(elementHeight||0)+gapV;return columnIndex;}}return index%columns;};arrayOfChildren.forEach((child,index)=>{if(child&&/*#__PURE__*/isValidElement(child)){newLayout[getColumnIndex(index)].push({element:child,index});}});// Store the new layout for next render\npreviousLayout.current=newLayout;return newLayout;},[layoutVersion,arrange,children,columns,reverse,autoArrange]);const temporaryElements=[];return /*#__PURE__*/_jsx(\"div\",{ref:forwardedRef,style:{display:\"flex\",gap:gapH,...style},...otherProps,children:layout.map((column,columnIndex)=>/*#__PURE__*/_jsx(\"div\",{style:{flex:1,display:\"flex\",flexDirection:\"column\",alignItems:alignment,gap:gapV},children:column.map((item,itemIndex)=>/*#__PURE__*/_jsx(\"div\",{ref:addElement(item.index),children:item.element},itemIndex))},columnIndex))});}Masonry.displayName=\"Superfields/Masonry\";\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Masonry\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"MasonryProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Masonry.map","function assign(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)e[r]=n[r]}return e}var e={read:function(e){'\"'===e[0]&&(e=e.slice(1,-1));return e.replace(/(%[\\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function init(e,t){function set(n,r,i){if(\"undefined\"!==typeof document){i=assign({},t,i);\"number\"===typeof i.expires&&(i.expires=new Date(Date.now()+864e5*i.expires));i.expires&&(i.expires=i.expires.toUTCString());n=encodeURIComponent(n).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var o=\"\";for(var c in i)if(i[c]){o+=\"; \"+c;true!==i[c]&&(o+=\"=\"+i[c].split(\";\")[0])}return document.cookie=n+\"=\"+e.write(r,n)+o}}function get(t){if(\"undefined\"!==typeof document&&(!arguments.length||t)){var n=document.cookie?document.cookie.split(\"; \"):[];var r={};for(var i=0;i<n.length;i++){var o=n[i].split(\"=\");var c=o.slice(1).join(\"=\");try{var a=decodeURIComponent(o[0]);r[a]=e.read(c,a);if(t===a)break}catch(e){}}return t?r[t]:r}}return Object.create({set:set,get:get,remove:function(e,t){set(e,\"\",assign({},t,{expires:-1}))},withAttributes:function(e){return init(this.converter,assign({},this.attributes,e))},withConverter:function(e){return init(assign({},this.converter,e),this.attributes)}},{attributes:{value:Object.freeze(t)},converter:{value:Object.freeze(e)}})}var t=init(e,{path:\"/\"});export{t as default};\n\n//# sourceMappingURL=js.cookie.mjs.map","import{create}from\"https://framerusercontent.com/modules/XPZpWLgM1p9otlAim6ab/YZGwyfuvWTDLYoiYQunH/zustand.js\";import Cookies from\"js-cookie\";const useBaseStore=create((set,get)=>({collections:{},getFavourites:slugFieldId=>{const state=get().collections[slugFieldId];return state||[];},setFavourites:(slugFieldId,favourites)=>{set(state=>({collections:{...state.collections,[slugFieldId]:favourites}}));Cookies.set(`superfieldsFavourites_${slugFieldId}`,favourites);},addFavourite:(slugFieldId,favourite)=>{const currentFavourites=get().getFavourites(slugFieldId);get().setFavourites(slugFieldId,[...currentFavourites,favourite]);},removeFavourite:(slugFieldId,favouriteToRemove)=>{const currentFavourites=get().getFavourites(slugFieldId);get().setFavourites(slugFieldId,currentFavourites.filter(fav=>fav!==favouriteToRemove));}}));const useFavouriteStore=(slugFieldId,selector,cmsCollectionName=null)=>{return useBaseStore(state=>{let newState={favourites:state.getFavourites(slugFieldId)};if(!Array.isArray(state.collections[slugFieldId])){// Load favourites from cookies\ntry{const cookieId=`superfieldsFavourites_${slugFieldId}`;let savedState=Cookies.get(cookieId);if(!savedState&&cmsCollectionName){const cmsNameCookieId=`superfieldsFavourites_${cmsCollectionName}`;savedState=Cookies.get(cmsNameCookieId);if(savedState){Cookies.set(cookieId,savedState);Cookies.remove(cmsNameCookieId);}}if(savedState){const savedFavourites=savedState.split(\",\");state.setFavourites(slugFieldId,savedFavourites);newState.favourites=savedFavourites;}}catch(error){console.error(\"Failed to load or parse favourites cookie:\",error);}}for(const key in state){const value=state[key];if(typeof value===\"function\"){newState[key]=(...args)=>value(slugFieldId,...args);}else{newState[key]=value;}}return selector(newState);});};export default useFavouriteStore;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FavouriteStore.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{createElement as _createElement}from\"react\";import{addPropertyControls,ControlType,RenderTarget,// @ts-ignore\nResolveLinks,// @ts-ignore\nuseQueryData,// @ts-ignore\nPathVariablesContext,MotionConfigContext}from\"framer\";import{cloneElement,useEffect,useRef,useMemo,memo,useContext,useId}from\"react\";import{motion,LayoutGroup}from\"framer-motion\";import{Message,sortingControls,FAVOURITES_FILTER_ID,DELIMITER,FieldType,FilterFieldType,FilterTextCondition,DEFAULT_SORTING_ID}from\"https://framerusercontent.com/modules/FZjYlw33eNo8pxLbSFLX/NS2M1g7qVI7y5CFDNb6m/SuperfieldsShared.js\";import{getCollectionData,addFieldsToSelect}from\"https://framerusercontent.com/modules/PNm0aYRdp2Urx1MCseUn/ELGxjV92WFMoGKTv2Ojs/CMSLibrary.js\";import Masonry from\"https://framerusercontent.com/modules/JfW6EfEeJnrqM1YQCYmc/GJijJu4WrREqn6Sg1VOH/Masonry.js\";import useSuperfieldsStore from\"https://framerusercontent.com/modules/OoGHZMzWDzm2mNN7bmeR/UmOIjvpgKrLZznysVdbK/Store.js\";import useFavouriteStore from\"https://framerusercontent.com/modules/c1jaZMVo1HBulMCJfZHW/nDkfDJo0USWraGjwBvUd/FavouriteStore.js\";const fieldTypeNames={[FieldType.String]:\"Text\",[FieldType.Number]:\"Number\",[FieldType.Date]:\"Date\",[FieldType.Boolean]:\"Toggle\",[FieldType.Enum]:\"Option\"};var Order;(function(Order){Order[\"Ascending\"]=\"ascending\";Order[\"Descending\"]=\"descending\";})(Order||(Order={}));var PaginationType;(function(PaginationType){PaginationType[\"PrevNextButtons\"]=\"prevNextButtons\";PaginationType[\"LoadMoreButton\"]=\"loadMoreButton\";PaginationType[\"FramerPagination\"]=\"framerPagination\";})(PaginationType||(PaginationType={}));export var LayoutType;(function(LayoutType){LayoutType[\"Stack\"]=\"stack\";LayoutType[\"Grid\"]=\"grid\";LayoutType[\"Masonry\"]=\"masonry\";})(LayoutType||(LayoutType={}));export var SearchFieldType;(function(SearchFieldType){SearchFieldType[\"Default\"]=\"default\";SearchFieldType[\"Reference\"]=\"reference\";})(SearchFieldType||(SearchFieldType={}));/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any\n * @framerIntrinsicWidth 600\n * @framerDisableUnlink\n */export default function Superfields(props){const{superfieldsId,layout,componentConfig,cmsCollectionName,favouritesOnly,searchFields,sortingField,urlParameters,slugFieldName,scrollUp,transition,customOverrideFilter=null,customOverrideSort=null}=props;const id=useId();const collectionList=props.collectionList?.[0];const emptyState=props.emptyState?.[0];const isCanvas=RenderTarget.current()===RenderTarget.canvas;const isOptimizing=typeof window===\"undefined\";const scrollUpRef=useRef(null);const itemCountRef=useRef(-1);const isFirstRender=useRef(true);const{query,queryParent,propertyControlsById,propertyControlsByTitle,childrenFunction,collections,multiReferenceQueries,multiReferenceIdMap}=useMemo(()=>getCollectionData(collectionList),[collectionList]);const mainCollection=collections[0];const framerPaginationSize=isCanvas?0:queryParent?.props?.pageSize||0;const framerPagination=framerPaginationSize>0;const paginationActive=framerPagination||props.pagination;const[filters,randomizationSeed,search,sortOption,defaultSortOption,sortingUrlParameter,paginationType,itemsPerPage,page,setPage,setTotalItems,paginationButtonsCount,storeSearchFields,setPaginationType]=useSuperfieldsStore(superfieldsId,state=>[state.filters,state.randomizationSeed,state.search,state.sortOption,state.defaultSortOption,state.sortingUrlParameter,state.paginationType,state.itemsPerPage,state.page,state.setPage,state.setTotalItems,state.paginationButtonsCount,state.searchFields,state.setPaginationType],state=>{state.itemsPerPage=framerPagination?framerPaginationSize:props.pagination?props.itemsPerPage:0;state.paginationActive=paginationActive;// Only set searchFields if not already set in store\n// This can also be set from the SearchBar. If that happens, it should take precedence.\nif(!state.searchFields){state.searchFields=props.searchFields;}if(!isOptimizing&&!isCanvas){if(props.randomize){state.randomizationSeed=Math.floor(Math.random()*1e8);}const urlParams=new URLSearchParams(window.location.search);if(urlParameters?.search&&urlParameters.searchName){const searchParam=urlParams.get(urlParameters.searchName);if(searchParam){state.search=searchParam;}}if(urlParameters?.pagination&&urlParameters.paginationName){const pageParam=urlParams.get(urlParameters.paginationName);if(pageParam){const parsedPage=parseInt(pageParam,10);const maxPages=Math.ceil(data.length/state.itemsPerPage);if(!isNaN(parsedPage)&&parsedPage>=1&&parsedPage<=maxPages){state.page=parsedPage-1// Convert to 0-based index\n;}}}}});// Calculate paginationType dynamically based on paginationButtonsCount\nconst calculatedPaginationType=useMemo(()=>{return paginationButtonsCount>0?\"prevNextButtons\":framerPagination?\"framerPagination\":props.pagination?props.paginationType:null;},[paginationButtonsCount,framerPagination,props.pagination,props.paginationType]);// Update the store's paginationType when calculatedPaginationType changes\nuseEffect(()=>{setPaginationType(calculatedPaginationType);},[calculatedPaginationType,setPaginationType]);const randomize=props.randomize||(randomizationSeed?true:false);const mainAlias=mainCollection?.alias;const mainPropertyControlsByTitle=propertyControlsByTitle[mainAlias]||{};const mainPropertyControlsById=propertyControlsById[mainAlias]||{};const slugFieldId=mainPropertyControlsByTitle[slugFieldName||\"Slug\"]?.id;const filterIds=Object.keys(filters);let sort=props.sorting?sortingField:null;if(sortOption&&sortOption.id!==DEFAULT_SORTING_ID){sort=sortOption;}const favourites=useFavouriteStore(slugFieldId,state=>state.favourites,cmsCollectionName);// Use storeSearchFields if available, otherwise use props.searchFields\nconst finalSearchFields=storeSearchFields||props.searchFields;const select=useMemo(()=>{return modifySelect(query,filters,props.search,finalSearchFields,sort,propertyControlsByTitle,collections);},[query,filters,props.search,finalSearchFields,sort?.sortBy,sort?.fieldName]);const multiReferenceSelects=useMemo(()=>{const selects={};for(const alias of Object.keys(multiReferenceQueries)){// const cmsFieldsForCollection = []\n// for (const fieldId of Object.keys(mainPropertyControlsById)) {\n//     const field = mainPropertyControlsById[fieldId]\n//     // if (field?.title)\n// }\nlet cmsField=mainPropertyControlsById[alias];if(!cmsField){for(const key of Object.keys(multiReferenceIdMap)){if(multiReferenceIdMap[key]===alias){cmsField=mainPropertyControlsById[key];break;}}}if(cmsField){const fieldTitle=cmsField.title;const referenceSearchFields=[];for(const searchField of finalSearchFields){if(searchField.fieldType===\"reference\"&&searchField.fieldName===fieldTitle){referenceSearchFields.push({fieldName:searchField.referenceFieldName,fieldType:\"default\"});}}const referenceFilters={};for(const filterId of Object.keys(filters)){const filter=filters[filterId];if(filter.fieldType===FilterFieldType.MultiReference&&filter.fieldName===fieldTitle){referenceFilters[filterId]={...filter,fieldName:filter.referenceFieldName,fieldType:filter.referenceFieldType,referenceFieldName:undefined,referenceFieldType:undefined};}}selects[alias]=modifySelect(multiReferenceQueries[alias],referenceFilters,props.search,referenceSearchFields,null,propertyControlsByTitle,[...collections].sort((a,b)=>a.alias===alias?-1:b.alias===alias?1:0));}else{const rQuery=multiReferenceQueries[alias];if(rQuery){selects[alias]=rQuery.select;}}}return selects;},[multiReferenceQueries,filters,props.search,finalSearchFields]);const originalData=query?useQueryData({...query,select}):[];const multiReferenceItemsById={};for(const fieldId of Object.keys(multiReferenceQueries)){const refSelect=multiReferenceSelects[fieldId];const refQuery=multiReferenceQueries[fieldId];const refDataItemsById={};if(refSelect&&refQuery){const refData=useQueryData({...refQuery,select:refSelect,where:undefined,orderBy:undefined});for(const item of refData){refDataItemsById[item.id]=item;}}multiReferenceItemsById[fieldId]=refDataItemsById;}const[data,dataIds,dataItemsById]=useMemo(()=>{const data=mapCollectionDataValues(originalData,propertyControlsById,mainAlias,multiReferenceItemsById,multiReferenceIdMap);const dataIds=originalData.map(item=>item.id);const dataItemsById={};if(!isCanvas&&Array.isArray(data)){for(const item of data){dataItemsById[item.id]=item;}}return[data,dataIds,dataItemsById];},[originalData,propertyControlsById,mainAlias,multiReferenceItemsById,multiReferenceIdMap]);const scrollToTop=()=>{if(scrollUp&&scrollUpRef.current&&!isOptimizing&&!isCanvas){const rect=scrollUpRef.current.getBoundingClientRect();const topIsInView=rect.top>=0&&rect.top<=window.innerHeight;if(!topIsInView){scrollUpRef.current.scrollIntoView({behavior:scrollUp.scrollStyle});}}};useEffect(()=>{if(isFirstRender.current){return;}if(scrollUp&&(scrollUp.filteringEnabled&&filterIds.length>0||scrollUp.sortingEnabled&&sort?.sortBy!==\"defaultSorting\")){scrollToTop();}},[filters,sort?.sortBy]);useEffect(()=>{if(isFirstRender.current){isFirstRender.current=false;return;}if(paginationActive&&scrollUp&&scrollUp.paginationEnabled&&paginationType==\"prevNextButtons\"){scrollToTop();}// Update URL parameter\nif(paginationActive&&urlParameters?.pagination&&urlParameters.paginationName&&!isOptimizing){const url=new URL(window.location.href);const pageNumber=page+1// Convert to 1-based\n;if(pageNumber>1){url.searchParams.set(urlParameters.paginationName,pageNumber.toString());}else{url.searchParams.delete(urlParameters.paginationName);}window.history.replaceState({path:url.href},\"\",url.href);}},[page,paginationActive,paginationType,urlParameters]);useEffect(()=>{if(!urlParameters?.search||!urlParameters.searchName||isCanvas||isOptimizing){return;}const url=new URL(window.location.href);if(search){url.searchParams.set(urlParameters.searchName,search);}else{url.searchParams.delete(urlParameters.searchName);}window.history.replaceState({path:url.href},\"\",url.href);},[search,urlParameters]);useEffect(()=>{if(isCanvas||isOptimizing){return;}const url=new URL(window.location.href);let hasUrlParameterFilter=false;for(const filterId of filterIds){const filter=filters[filterId];if(filter&&filter.urlParameter){hasUrlParameterFilter=true;const value=filter.value;if(value!=null&&value!==undefined&&value!==\"\"){url.searchParams.set(filter.urlParameter,value.toString());}else{url.searchParams.delete(filter.urlParameter);}}}if(hasUrlParameterFilter){window.history.replaceState({path:url.href},\"\",url.href);}},[filters,urlParameters]);useEffect(()=>{if(isCanvas||isOptimizing||!sortingUrlParameter){return;}const url=new URL(window.location.href);if(sortOption&&sortOption.title!==defaultSortOption?.title){url.searchParams.set(sortingUrlParameter,sortOption.title);}else{url.searchParams.delete(sortingUrlParameter);}window.history.replaceState({path:url.href},\"\",url.href);},[sortOption,defaultSortOption,sortingUrlParameter]);// Filtering\nconst filteredData=useMemo(()=>{if(isCanvas||!filterIds.length){return dataIds;}let itemIds=dataIds;for(const filterId of filterIds){if(filterId==FAVOURITES_FILTER_ID){continue;}const filter=filters[filterId];const{fieldName,fieldType}=filter;const filterValue=filter.value;const conditionContains=filter?.condition===FilterTextCondition.Contains;const fields=[];if(fieldType===FilterFieldType.MultipleOptions){for(const n of fieldName.split(DELIMITER)){const field=mainPropertyControlsByTitle[n.trim()];if(field){fields.push(field);}}}else if(fieldType===FilterFieldType.Reference||fieldType===FilterFieldType.MultiReference){const{referenceFieldName}=filter;const field=mainPropertyControlsByTitle[fieldName];const isMultiRef=field?.type===\"multicollectionreference\";if(field&&(field.type===\"collectionreference\"||isMultiRef)){const collection=collections.find(c=>c.alias===field.id||isMultiRef&&c.alias===multiReferenceIdMap[field.id]);const collectionPropControls=collection?.data?.propertyControls;if(collectionPropControls){let propertyControlId=null;let propertyControl=null;for(const propertyId of Object.keys(collectionPropControls)){const control=collectionPropControls[propertyId];if(control.title===referenceFieldName){propertyControlId=propertyId;propertyControl=control;break;}}if(propertyControl&&propertyControlId){if(isMultiRef){fields.push({...field,referenceAlias:multiReferenceIdMap[field.id],referenceId:propertyControlId,referenceType:propertyControl.type});}else{fields.push({id:`${field.id}.${propertyControlId}`,type:propertyControl.type});}}}}}else{const field=mainPropertyControlsByTitle[fieldName];if(field){fields.push(field);}}const isMultipleFields=fields.length>1;if(filter&&fields.length&&filterValue!=null&&filterValue!=undefined){const filteredData=[];for(const id of itemIds){let foundMatch=false;const dataItem=dataItemsById[id];if(isMultipleFields){for(const field of fields){if(processField(field,dataItem[field.id],filterValue,filter.multiSelect,conditionContains,multiReferenceItemsById)){foundMatch=true;break;}}}else{const field=fields[0];foundMatch=processField(field,dataItem[field.id],filterValue,filter.multiSelect,conditionContains,multiReferenceItemsById);}if(foundMatch){filteredData.push(id);}}itemIds=filteredData;}}return itemIds;},[filters,data]);// Favourites filter\nconst favouriteFilterValue=filters[FAVOURITES_FILTER_ID]?.value;const favouriteFilteredData=useMemo(()=>{if(isCanvas||!slugFieldId||!favouritesOnly&&typeof favouriteFilterValue!==FieldType.Boolean){return dataIds;}const shouldFilterFavorites=favouriteFilterValue===true||favouritesOnly;if(!Array.isArray(favourites)||favourites.length===0){if(shouldFilterFavorites){return[];}}else{return dataIds.filter(id=>favourites.includes(dataItemsById[id][slugFieldId])===shouldFilterFavorites);}return dataIds;},[favouriteFilterValue,favouritesOnly,favourites,data]);const customFilteredData=useMemo(()=>{if(!customOverrideFilter){return dataIds;}const value=customOverrideFilter({dataIds,dataItemsById,collections,propertyControlsById,propertyControlsByTitle,mainPropertyControlsByTitle});if(Array.isArray(value)){return value;}return dataIds;},[customOverrideFilter,data]);// Search\nconst searchText=search?.trim().toLowerCase()??\"\";const[searchData,hasSearch,missingSearchField]=useMemo(()=>{if(isCanvas||!searchText.length||!Array.isArray(data)){return[dataIds,false,null];}let missingFieldName=null;// 0: Hidden\n// 1: Includes text\n// 2: Includes full word\n// 3: Starts with\n// 4: Exact match\nconst levels=[[...dataIds],[],[],[],[]];const itemLevels=new Array(data.length).fill(0);for(let i=0;i<finalSearchFields.length;i++){const{fieldType,fieldName,referenceFieldName}=finalSearchFields[i];const{property}=getPropertyControl(fieldName,fieldType,referenceFieldName,null,propertyControlsByTitle,mainAlias,\"Title\");if(!property){missingFieldName=fieldName;break;}const propertyID=property.id;const propertyType=property.type;const propIsString=propertyType==FieldType.String||propertyType==FieldType.Enum;const propIsNumber=propertyType==FieldType.Number;const propIsMultiReference=propertyType==\"multicollectionreference\";for(const ii in data){const cmsItem=data[ii];let level=0;if(propIsMultiReference){const items=dataItemsById[cmsItem.id]?.[propertyID];const alias=multiReferenceIdMap[property.id];const propertyControls=propertyControlsByTitle[alias];if(propertyControls&&typeof propertyControls===\"object\"&&Array.isArray(items)){const rPropertyControl=propertyControls[referenceFieldName||\"Title\"];const propId=rPropertyControl?.id;if(propId){for(const rItem of items){if(rItem){const rValue=rItem[propId];level=Math.max(level,getSearchLevelForValue(rValue,searchText));}}}}}else{const value=dataItemsById[cmsItem.id]?.[propertyID];level=getSearchLevelForValue(value,searchText);}// Move item to new level if it's a higher level\nconst oldLevel=itemLevels[ii];if(level>oldLevel){// Remove from old level\nconst oldLevelItems=[];for(const item of levels[oldLevel]){if(item!=cmsItem.id){oldLevelItems.push(item);}}levels[oldLevel]=oldLevelItems;// Add to new level\nlevels[level].push(cmsItem.id);itemLevels[ii]=level;}}}if(missingFieldName){return[dataIds,false,missingFieldName];}return[[...levels[4],...levels[3],...levels[2],...levels[1]],true,missingFieldName];},[searchText,data,finalSearchFields]);// Pagination, randomization and sorting are applied after filtering and search\nlet itemIds=searchData.filter(itemId=>filteredData.includes(itemId)&&favouriteFilteredData.includes(itemId)&&customFilteredData.includes(itemId));const itemCount=itemIds.length;const pageCount=itemsPerPage&&itemCount?Math.ceil(itemCount/itemsPerPage):1;if(itemCount!==itemCountRef.current){setTotalItems(itemCount);}itemCountRef.current=itemCount;// Randomization\nconst dataOrder=useMemo(()=>{if(randomizationSeed&&!isCanvas&&Array.isArray(data)){const newDataOrder=Array.from({length:data.length},(_,i)=>i);return shuffle(newDataOrder,randomizationSeed);}return null;},[randomizationSeed,isCanvas,data]);if(!isCanvas&&!hasSearch&&randomize){let orderedItemIds=dataIds;if(dataOrder){orderedItemIds=new Array(dataIds.length);for(let i=0;i<dataOrder.length;i++){orderedItemIds[dataOrder[i]]=dataIds[i];}}itemIds=orderedItemIds.filter(itemId=>itemIds.includes(itemId));}const canSort=!isCanvas&&!randomize&&!hasSearch;let missingSortField=\"\";let mismatchedSortFieldName=\"\";let mismatchedSortFieldType=\"\";if(canSort&&sort&&sort.sortBy!==\"defaultSorting\"){const{sortBy}=sort;const isReference=sort.fieldType===\"reference\";const fieldType=isReference?sort.referenceFieldType:sort.fieldType;const{property,mismatchedFieldName,mismatchedFieldType}=getPropertyControl(sort.fieldName,sort.fieldType,sort.referenceFieldName,sort.referenceFieldType,propertyControlsByTitle,mainAlias);if(mismatchedFieldName){mismatchedSortFieldName=mismatchedFieldName;mismatchedSortFieldType=mismatchedFieldType;}else{const fieldId=property?.id;if(sortBy===\"field\"&&fieldId||sortBy===\"favourites\"&&slugFieldId){const isAscending=sortBy===\"favourites\"?sort.favouritesSort===\"favouritesLast\":fieldType===FieldType.String&&sort.stringSort===\"ascending\"||fieldType===FieldType.Number&&sort.numberSort===\"ascending\"||fieldType===FieldType.Date&&sort.dateSort===\"ascending\"||fieldType===FieldType.Boolean&&sort.booleanSort===\"noYes\"||fieldType===FieldType.Enum&&(sort.enumSort===\"optionOrder\"||sort.enumSort===\"ascending\");const getSortValue=id=>{if(sortBy===\"favourites\"){const slug=dataItemsById[id]?.[slugFieldId];return Array.isArray(favourites)&&favourites.includes(slug)?1:0;}const value=dataItemsById[id]?.[fieldId];if(value==null){return null;}switch(fieldType){case FieldType.Number:return Number(value);case FieldType.Date:return new Date(value).getTime();case FieldType.Boolean:return value?1:0;case FieldType.Enum:return sort.enumSort===\"optionOrder\"||sort.enumSort===\"reverseOptionOrder\"?property.optionTitles?property.optionTitles.indexOf(value):-1:String(value);default:return String(value);}};const sortedItemIds=[...itemIds].sort((a,b)=>{const aValue=getSortValue(a);const bValue=getSortValue(b);if(aValue===null&&bValue===null)return 0;if(aValue===null)return 1;if(bValue===null)return-1;let comparison;if(fieldType===FieldType.String||fieldType===FieldType.Enum&&(sort.enumSort===\"ascending\"||sort.enumSort===\"descending\")){comparison=aValue.localeCompare(bValue);}else{comparison=aValue<bValue?-1:aValue>bValue?1:0;}return isAscending?comparison:-comparison;});itemIds=sortedItemIds;}else{missingSortField=sort.fieldName;}}}if(canSort&&customOverrideSort){const value=customOverrideSort({itemIds,dataItemsById,collections,propertyControlsById,propertyControlsByTitle});if(Array.isArray(value)){itemIds=value;}}// Pagination\nif(!isCanvas&&paginationActive){switch(paginationType){case\"prevNextButtons\":itemIds=itemIds.slice(page*itemsPerPage,(page+1)*itemsPerPage);break;case\"loadMoreButton\":case\"framerPagination\":itemIds=itemIds.slice(0,(page+1)*itemsPerPage);break;}}const memoizedChildren=useMemo(()=>{if(isCanvas||!collectionList||!query||!childrenFunction){return null;}const{offset,limit}=query;const paginationInfo={currentPage:page+1,totalPages:pageCount,isLoading:false};const loadMore=()=>{if(paginationActive){const newPage=page+1;if(newPage>=0&&newPage<pageCount){setPage(newPage);}}};const originalDataItemsById={};for(const item of originalData){originalDataItemsById[item.id]=item;}const items=itemIds.map(itemId=>originalDataItemsById[itemId]).filter(Boolean);let clChildren=childrenFunction(items,paginationInfo,loadMore);const modifyChildren=elements=>{let newChildren=elements;if(Array.isArray(elements)&&elements.length&&componentConfig&&componentConfig.variant.length>0){const componentChildren=[];let isComponentWithVariants=true;for(let i=0;i<elements.length;i++){const child=elements[i];const key=child.key??child.props?.id;const component=/*#__PURE__*/_jsx(MemoizedComponentVariantSwitch,{child:child,componentConfig:componentConfig},key);if(component===child){isComponentWithVariants=false;break;}else{componentChildren.push(/*#__PURE__*/_jsx(LayoutGroup,{id:key,children:component},key));}}if(isComponentWithVariants){newChildren=componentChildren;}}let result=[];// Add layout transitions\nfor(let i=0;i<newChildren.length;i++){const child=newChildren[i];const key=child.key??child.props?.id;const isVertical=layout?.direction==\"vertical\";result.push(/*#__PURE__*/_createElement(motion.div,{// Motion Layout Props\nlayout:\"position\",layoutId:key,...child.props||{},style:{...child.props.style||{},width:isVertical?props.style?.width:undefined},key:key}));}return result;};let children=null;if(Array.isArray(clChildren)){children=modifyChildren(clChildren);}else if(Array.isArray(clChildren?.props?.children)){const childrenArray=clChildren.props.children;let arrayIndex=childrenArray.findIndex(child=>Array.isArray(child));if(arrayIndex==-1){children=modifyChildren(childrenArray);}else{let newChildren=[];for(const child of childrenArray){if(Array.isArray(child)){newChildren=newChildren.concat(modifyChildren(child));}else{newChildren.push(child);}}children=newChildren;}}const childrenSlugs=[];if(Array.isArray(children)){for(const child of children){let slug=null;const id=child.props?.child?.key;if(id){slug=dataItemsById[id]?.[slugFieldId];}childrenSlugs.push(slug);}}return children.map((child,index)=>/*#__PURE__*/_jsx(PathVariablesContext.Provider,{value:{[slugFieldId]:childrenSlugs[index]||null},children:child}));},[isCanvas,collectionList,query,itemIds,page,componentConfig]);if(!collectionList){return /*#__PURE__*/_jsx(Message,{title:\"Connect a CMS Collection List\",subtitle:\"Drag the handle on the right side to a Collection List or select from the dropdown list. The Collection List must be outside of a page to be connected.\"});}else if(!isCanvas&&!query){return /*#__PURE__*/_jsx(Message,{title:\"Connect a CMS Collection List\",subtitle:\"The layer that's connected isn't a Collection List. Make sure the Collection List isn't inside of any other layers or components when connecting it.\"});}else if(missingSearchField){return /*#__PURE__*/_jsx(Message,{title:`\"${missingSearchField}\" field does not exist in your CMS collection`,subtitle:`The field \"${missingSearchField}\" is in the search fields list, but there are no fields in your CMS collection with that name. Edit the field name in the search fields list or add a new CMS field with that name.`});}else if(missingSortField){return /*#__PURE__*/_jsx(Message,{title:`\"${missingSortField}\" field does not exist in your CMS collection`,subtitle:`The field \"${missingSortField}\" is in the search fields list, but there are no fields in your CMS collection with that name. Edit the field name in the sorting configuration or add a new CMS field with that name.`});}else if(mismatchedSortFieldName){return /*#__PURE__*/_jsx(Message,{title:`\"${mismatchedSortFieldName}\" is not a ${fieldTypeNames[mismatchedSortFieldType]||mismatchedSortFieldType} field.`,subtitle:\"Please update the Superfields sorting mode to match the field type on the CMS collection\"});}let layoutStyle={};if(layout){switch(layout.type){case\"stack\":const isVertical=layout.direction==\"vertical\";layoutStyle={display:\"flex\",flexDirection:isVertical?\"column\":\"row\",flexWrap:layout.wrap?\"wrap\":\"nowrap\",alignItems:isVertical?layout.alignV:layout.alignH,justifyContent:layout.distribute,gap:layout.gap};break;case\"grid\":// Columns\nlet gridTemplateColumns=\"\";if(layout.columns==\"auto\"){if(layout.gridWidthType==\"min\"){gridTemplateColumns=`repeat(auto-fill, minmax(${layout.gridWidth}px, 1fr))`;}else{// \"fixed\"\ngridTemplateColumns=`repeat(auto-fill, ${layout.gridWidth}px)`;}}else{if(layout.gridWidthType==\"min\"){gridTemplateColumns=`repeat(${layout.columnCount}, minmax(${layout.gridWidth}px, 1fr))`;}else{// \"fixed\"\ngridTemplateColumns=`repeat(${layout.columnCount}, ${layout.gridWidth}px)`;}}// Rows\nlet gridAutoRows=\"\";switch(layout.gridHeightType){case\"fixed\":gridAutoRows=`${layout.gridHeight}px`;break;case\"fit\":gridAutoRows=\"min-content\";break;}layoutStyle={display:\"grid\",gridTemplateColumns,gridAutoRows,justifyContent:layout.gridAlign,alignItems:layout.gridAlignV,columnGap:layout.gapH,rowGap:layout.gapV};break;}}const isMasonry=layout?.type===\"masonry\";const collectionListStyle={...isMasonry?{}:collectionList.props?.style,...props.style,...layoutStyle,position:\"relative\",padding:layout?layout.paddingIsMixed?`${layout.paddingTop}px ${layout.paddingRight}px ${layout.paddingBottom}px ${layout.paddingLeft}px`:`${layout.padding}px`:undefined};const masonryProps=isMasonry?{columns:layout.masonryColumns,gapH:layout.gapH,gapV:layout.gapV,alignment:layout.masonryItemWidth===\"fit\"?layout.masonryAlign:\"stretch\",autoArrange:true,reverse:false}:{};// Canvas view\nif(isCanvas){if(collectionList){let paginationPreviewOffset=0;let paginationItemsAfter=0;if(paginationActive&&paginationType!==\"framerPagination\"){try{// const children = collectionList.type.type(collectionList.props).props.children.props\n// \t.children;\n// if (children.length > 1) {\n// \tfor (let i = 0; i < children.length; i++) {\n// \t\tif (children[i].key == \"repeated\") {\n// \t\t\tpaginationPreviewOffset = i;\n// \t\t\tpaginationItemsAfter = children.length - i - 1;\n// \t\t\tbreak;\n// \t\t}\n// \t}\n// }\n}catch{console.warn(\"Failed to calculate Superfields pagination preview offset.\");}}if(isMasonry){return /*#__PURE__*/_jsx(Message,{title:\"Preview site to view masonry layout\",subtitle:\"The CMS masonry layout is not available in the editor. Preview or publish your site to see the CMS items.\"});// const htmlElement = collectionList.props?.__node?.cache?.htmlElement;\n// if (htmlElement) {\n// \tlet reactFiberKey = \"\";\n// \tfor (const key of Object.keys(htmlElement)) {\n// \t\tif (key.startsWith(\"__reactFiber\")) {\n// \t\t\treactFiberKey = key;\n// \t\t}\n// \t}\n// \t// Solution for getting React children from CMS collection on canvas by Fehmi Ozuseven\n// \tlet cmsChildren =\n// \t\thtmlElement[reactFiberKey]?.memoizedProps?.children?.[0]?.props?.children?.props\n// \t\t\t?.children?.[1]?.props?.children?.[0]?.props?.children;\n// \tconsole.log(cmsChildren);\n// \tif (Array.isArray(cmsChildren)) {\n// \t\tlet children = [];\n// \t\tfor (const child of cmsChildren) {\n// \t\t\tif (child.key == \"repeated\" && Array.isArray(child.props?.children)) {\n// \t\t\t\tchildren = children.concat(child.props.children);\n// \t\t\t} else {\n// \t\t\t\tchildren.push(child);\n// \t\t\t}\n// \t\t}\n// \t\treturn (\n// \t\t\t<div data-superfields style={collectionListStyle}>\n// \t\t\t\t<MemoizedMasonry {...masonryProps}>{children}</MemoizedMasonry>\n// \t\t\t</div>\n// \t\t);\n// \t}\n// }\n}else{const id=props.id??\"a\"+String(Math.floor(Math.random()*999999999));return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/cloneElement(collectionList,{id,style:collectionListStyle}),paginationActive&&paginationType!==\"framerPagination\"&&/*#__PURE__*/_jsx(\"style\",{children:`#${id} > *:nth-child(n+${itemsPerPage+1+paginationPreviewOffset})${paginationItemsAfter?`:not(:nth-last-child(-n+${paginationItemsAfter}))`:\"\"} { display: none !important; }`})]});}}else{return /*#__PURE__*/_jsx(\"div\",{style:{height:100}});}}// Empty state\nif(!itemIds?.length){if(emptyState){return /*#__PURE__*/cloneElement(emptyState,{style:{...emptyState.props.style,...props.style},\"data-superfields\":true});}else{return /*#__PURE__*/_jsx(\"div\",{\"data-superfields\":true});}}return /*#__PURE__*/_jsxs(\"div\",{...collectionList.props,style:collectionListStyle,className:isMasonry?\"\":collectionList.props?.className||\"\",\"data-superfields\":true,children:[/*#__PURE__*/_jsx(LayoutGroup,{id:id,children:/*#__PURE__*/_jsx(Transition,{value:transition,children:isMasonry?/*#__PURE__*/_jsx(MemoizedMasonry,{...masonryProps,children:memoizedChildren}):memoizedChildren})}),paginationActive&&scrollUp&&/*#__PURE__*/_jsx(\"div\",{ref:scrollUpRef,style:{position:\"absolute\",top:scrollUp.offset,pointerEvents:\"none\"}})]});}addPropertyControls(Superfields,{superfieldsId:{type:ControlType.Number,defaultValue:0,step:1,min:0,displayStepper:true,title:\"ID\"},collectionList:{type:ControlType.ComponentInstance},emptyState:{type:ControlType.ComponentInstance},layout:{type:ControlType.Object,optional:true,controls:{type:{type:ControlType.Enum,defaultValue:\"stack\",options:[\"stack\",\"grid\",\"masonry\"],optionTitles:[\"Stack\",\"Grid\",\"Masonry\"],displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},direction:{type:ControlType.Enum,defaultValue:\"vertical\",options:[\"horizontal\",\"vertical\"],optionTitles:[\"Horizontal\",\"Vertical\"],optionIcons:[\"direction-horizontal\",\"direction-vertical\"],displaySegmentedControl:true,hidden:props=>props.type!=\"stack\"},distribute:{type:ControlType.Enum,defaultValue:\"start\",options:[\"start\",\"center\",\"end\",\"space-between\",\"space-around\",\"space-evenly\"],optionTitles:[\"Start\",\"Center\",\"End\",\"Space Between\",\"Space Around\",\"Space Evenly\"],hidden:props=>props.type!=\"stack\"},alignH:{type:ControlType.Enum,defaultValue:\"start\",options:[\"start\",\"center\",\"end\"],optionTitles:[\"Top\",\"Center\",\"Bottom\"],optionIcons:[\"align-top\",\"align-middle\",\"align-bottom\"],displaySegmentedControl:true,title:\"Align\",hidden:props=>props.type!=\"stack\"||props.direction!=\"horizontal\"},alignV:{type:ControlType.Enum,defaultValue:\"start\",options:[\"start\",\"center\",\"end\"],optionTitles:[\"Left\",\"Center\",\"Right\"],optionIcons:[\"align-left\",\"align-center\",\"align-right\"],displaySegmentedControl:true,title:\"Align\",hidden:props=>props.type!=\"stack\"||props.direction!=\"vertical\"},wrap:{type:ControlType.Boolean,defaultValue:false,hidden:props=>props.type!=\"stack\"},columns:{type:ControlType.Enum,defaultValue:\"fixed\",options:[\"auto\",\"fixed\"],optionTitles:[\"Auto\",\"Fixed\"],displaySegmentedControl:true,hidden:props=>props.type!=\"grid\"},columnCount:{type:ControlType.Number,defaultValue:2,min:1,step:1,displayStepper:true,title:\" \",hidden:props=>props.type!=\"grid\"||props.columns==\"auto\"},gridWidthType:{type:ControlType.Enum,defaultValue:\"min\",options:[\"min\",\"fixed\"],optionTitles:[\"Min\",\"Fixed\"],displaySegmentedControl:true,title:\"Width\",hidden:props=>props.type!=\"grid\"},gridWidth:{type:ControlType.Number,defaultValue:200,min:1,step:1,title:\" \",hidden:props=>props.type!=\"grid\"},gridHeightType:{type:ControlType.Enum,defaultValue:\"fit\",options:[\"fit\",\"fixed\"],optionTitles:[\"Fit\",\"Fixed\"],displaySegmentedControl:true,title:\"Height\",hidden:props=>props.type!=\"grid\"},gridHeight:{type:ControlType.Number,defaultValue:200,min:1,step:1,title:\" \",hidden:props=>props.type!=\"grid\"||props.gridHeightType!=\"fixed\"},gridAlign:{type:ControlType.Enum,defaultValue:\"center\",options:[\"start\",\"center\",\"end\"],optionTitles:[\"Left\",\"Center\",\"Right\"],displaySegmentedControl:true,title:\"Align\",hidden:props=>props.type!=\"grid\"},gridAlignV:{type:ControlType.Enum,defaultValue:\"start\",options:[\"start\",\"center\",\"end\"],optionTitles:[\"Top\",\"Center\",\"Bottom\"],optionIcons:[\"align-top\",\"align-middle\",\"align-bottom\"],displaySegmentedControl:true,title:\" \",hidden:props=>props.type!=\"grid\"||props.gridHeightType!==\"fit\"},masonryColumns:{type:ControlType.Number,defaultValue:3,min:1,step:1,displayStepper:true,title:\"Columns\",hidden:props=>props.type!==\"masonry\"},masonryItemWidth:{type:ControlType.Enum,defaultValue:\"fill\",options:[\"fit\",\"fill\"],optionTitles:[\"Fit\",\"Fill\"],displaySegmentedControl:true,title:\"Item Width\",hidden:props=>props.type!==\"masonry\"},masonryAlign:{type:ControlType.Enum,defaultValue:\"center\",options:[\"start\",\"center\",\"end\"],optionTitles:[\"Left\",\"Center\",\"Right\"],displaySegmentedControl:true,title:\"Align\",hidden:props=>props.type!==\"masonry\"||props.masonryItemWidth!==\"fit\"},gap:{type:ControlType.Number,defaultValue:10,min:0,step:1,hidden:props=>props.type!==\"stack\"},gapH:{type:ControlType.Number,defaultValue:10,min:0,step:1,hidden:props=>props.type!==\"grid\"&&(props.type!==\"masonry\"||props.masonryColumns===1)},gapV:{type:ControlType.Number,defaultValue:10,min:0,step:1,hidden:props=>props.type!==\"grid\"&&props.type!==\"masonry\"},padding:{type:ControlType.FusedNumber,defaultValue:0,toggleKey:\"paddingIsMixed\",toggleTitles:[\"All\",\"Individual\"],valueKeys:[\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0}}},componentConfig:{type:ControlType.Object,optional:true,title:\"Component\",controls:{variant:{type:ControlType.String,defaultValue:\"\",placeholder:\"Variant Name\",preventLocalization:true,description:\"Override the component's variant for responsive design.\\n\\n*Note:* The component must be the only layer inside the Collection List to use this.\\n\\n*Note:* Variant does not appear while editing. Preview your project to see the variant.\"}}},scrollUp:{type:ControlType.Object,optional:true,defaultValue:{scrollStyle:\"smooth\",offset:0},title:\"Scroll to Top\",controls:{scrollStyle:{type:ControlType.Enum,defaultValue:\"smooth\",options:[\"smooth\",\"instant\"],optionTitles:[\"Smooth\",\"Instant\"],displaySegmentedControl:true,title:\"Scroll\"},offset:{type:ControlType.Number,defaultValue:-32,step:1,description:\" \"},paginationEnabled:{type:ControlType.Boolean,defaultValue:true,title:\"Pagination\"},filteringEnabled:{type:ControlType.Boolean,defaultValue:false,title:\"Filters\"},sortingEnabled:{type:ControlType.Boolean,defaultValue:false,title:\"Sorting\",description:\"Scroll to the top of the Superfields component when page, filter, or sorting is changed.\"}}},transition:{type:ControlType.Transition,defaultValue:{type:false},description:\" \"},// urlParameters: {\n//     type: ControlType.Object,\n//     title: \"URL Parameters\",\n//     description: \" \",\n//     controls: {\n//         pagination: {\n//             type: ControlType.Boolean,\n//             defaultValue: false,\n//         },\n//         paginationName: {\n//             type: ControlType.String,\n//             defaultValue: \"page\",\n//             placeholder: \"URL Parameter\",\n//             title: \"Name\",\n//             description: \"Current page\",\n//             hidden: (props) => !props.pagination,\n//         },\n//         search: {\n//             type: ControlType.Boolean,\n//             defaultValue: false,\n//         },\n//         searchName: {\n//             type: ControlType.String,\n//             defaultValue: \"search\",\n//             placeholder: \"URL Parameter\",\n//             title: \"Name\",\n//             description: \"Search input text\",\n//             // \"Search input text\\n\\n*Note:* URL parameters for filters and sorting can be added on the Filter and Sorting Selector components.\",\n//             hidden: (props) => !props.search,\n//         },\n//     },\n// },\npagination:{type:ControlType.Boolean,defaultValue:false},paginationType:{type:ControlType.Enum,defaultValue:\"pagination\",options:[\"prevNextButtons\",\"loadMoreButton\"],optionTitles:[\"Prev/Next Buttons\",\"Load More Button\"],title:\"Type\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\",hidden:props=>!props.pagination},itemsPerPage:{type:ControlType.Number,defaultValue:4,min:1,step:1,displayStepper:true,hidden:props=>!props.pagination},filtering:{type:ControlType.Boolean,defaultValue:false},favouriting:{type:ControlType.Boolean,defaultValue:false},favouritesOnly:{type:ControlType.Boolean,defaultValue:false,hidden:props=>!props.favouriting},search:{type:ControlType.Boolean,defaultValue:false},searchFields:{type:ControlType.Array,defaultValue:[{fieldType:\"default\",fieldName:\"Title\"}],title:\"Fields\",control:{type:ControlType.Object,controls:{fieldType:{type:ControlType.Enum,defaultValue:\"default\",options:[\"reference\",\"default\"],optionTitles:[\"Yes\",\"No\"],displaySegmentedControl:true,title:\"Reference\"},fieldName:{type:ControlType.String,defaultValue:\"Title\",placeholder:\"CMS Field Name\",preventLocalization:true},referenceFieldName:{type:ControlType.String,defaultValue:\"\",placeholder:\"CMS Field Name\",preventLocalization:true,hidden:props=>props.fieldType!==\"reference\"}}},description:\"CMS fields to search\",hidden:props=>!props.search},randomize:{type:ControlType.Boolean,defaultValue:false},sorting:{type:ControlType.Boolean,defaultValue:false,hidden:props=>props.randomize},sortingField:{type:ControlType.Object,optional:true,hidden:props=>props.randomize||!props.sorting,controls:sortingControls()},slugFieldName:{type:ControlType.String,defaultValue:\"Slug\",placeholder:\"Slug Field Name\",preventLocalization:true,hidden:props=>!props.favouriting&&!props.sorting},cmsCollectionName:{type:ControlType.String,defaultValue:\"\",preventLocalization:true,hidden:props=>true}});function ComponentVariantSwitch({child,componentConfig}){const componentChild=child?.props?.children?.props?.children;const componentProps=componentChild?.props;const component=componentProps?.children;const variant=componentConfig.variant;if(!component){return child;}const clonedComponent=cloneComponent(componentChild,variant);if(clonedComponent){return clonedComponent;}if(componentProps&&typeof componentProps===\"object\"&&componentProps?.hasOwnProperty(\"href\")){const clonedChild=cloneComponent(componentProps.children?.props?.children,variant);if(clonedChild){return /*#__PURE__*/cloneElement(componentChild,{children:{...componentProps?.children,props:{...componentProps?.children?.props,children:clonedChild}}});}}const clonedChild=cloneComponent(componentProps?.children,variant);if(clonedChild){return /*#__PURE__*/cloneElement(componentChild,{children:clonedChild});}if(clonedComponent?.props?.hasOwnProperty(\"variant\")){return /*#__PURE__*/cloneElement(component,{variant});}return child;}const MemoizedComponentVariantSwitch=/*#__PURE__*/memo(ComponentVariantSwitch);const MemoizedMasonry=/*#__PURE__*/memo(Masonry);function cloneComponent(componentChild,variant){const componentProps=componentChild?.props;const component=componentProps?.children;if(componentChild?.type==ResolveLinks){return /*#__PURE__*/_jsx(ResolveLinks,{...componentProps,children:(...values)=>{const element=component(...values);return /*#__PURE__*/cloneElement(element,{children:{...element.props.children,props:{...element.props.children.props,children:{...element.props.children.props.children,props:{...element.props.children.props.children.props,variant}}}}});}});}else if(!component?.type?.propertyControls){const cData=component?.props?.children;if(component&&cData){const variantProp=cData.type?.propertyControls?.variant;if(variantProp){return /*#__PURE__*/cloneElement(component,{children:{...cData,props:{...cData.props,variant}}});}}}return null;}function shuffle(array,seed){// Create a copy of the original array to avoid modifying it directly\nconst shuffled=array.slice();// Create a seeded random number generator\nlet currentSeed=seed;const random=()=>{const x=Math.sin(currentSeed++)*1e4;return x-Math.floor(x);};// Fisher-Yates shuffle algorithm\nfor(let i=shuffled.length-1;i>0;i--){const j=Math.floor(random()*(i+1));[shuffled[i],shuffled[j]]=[shuffled[j],shuffled[i]];}return shuffled;}function getPropertyControl(fieldName,fieldType,referenceFieldName,referenceFieldType,propertyControlsByTitle,mainAlias,defaultReferencePropertyTitle=\"\"){let property=propertyControlsByTitle[mainAlias]?.[fieldName]||null;let mismatchedFieldName=\"\";let mismatchedFieldType=\"\";if(property){if(property.type===\"collectionreference\"){const alias=property.id;const propertyControls=propertyControlsByTitle[alias];if(propertyControls){const name=fieldType===\"reference\"?referenceFieldName:defaultReferencePropertyTitle;const control=propertyControls[name];if(control){if(referenceFieldType&&referenceFieldType!==control.type){mismatchedFieldName=fieldName;mismatchedFieldType=control.type;}else{property={...control,id:`${alias}.${control.id}`};}}}}else if(property.type!==fieldType){mismatchedFieldName=fieldName;mismatchedFieldType=fieldType;}}return{property,mismatchedFieldName,mismatchedFieldType};}function processField(field,fieldValue,filterValue,multiSelect,conditionContains,multiReferenceItemsById){if(field.type===\"multicollectionreference\"&&Array.isArray(fieldValue)){// const rItems = multiReferenceItemsById[field.referenceAlias]\nfor(const item of fieldValue){if(!item){continue;}const itemValue=item[field.referenceId];if(itemValue===null||itemValue===undefined){continue;}if(filterData(itemValue,filterValue,field.referenceType,multiSelect,conditionContains)){return true;}}}else{if(fieldValue===null||fieldValue===undefined){return false;}return filterData(fieldValue,filterValue,field.type,multiSelect,conditionContains);}return false;}function filterData(fieldValue,filterValue,fieldType,multiSelect,conditionContains){if(typeof filterValue==\"string\"&&multiSelect){const values=filterValue.split(DELIMITER);switch(fieldType){case FieldType.String:case FieldType.Enum:if(conditionContains){for(const v of values){if(fieldValue.includes(v)){return true;}}}else{if(values.includes(fieldValue)){return true;}}break;}}else{switch(fieldType){case FieldType.Boolean:if(fieldValue==filterValue){return true;}break;case FieldType.String:case FieldType.Enum:if(conditionContains){if(fieldValue?.includes(filterValue)){return true;}}else{if(fieldValue==filterValue){return true;}}break;}}return false;}function modifySelect(query,filters,search,searchFields,sort,propertyControlsByTitle,collections){const filterIds=Object.keys(filters);const hasFilters=filterIds.length;if(query?.select&&(hasFilters||search||sort?.sortBy===\"field\")){const fields=[];if(hasFilters){for(const filterId of filterIds){const filter=filters[filterId];if(filter.fieldType===FilterFieldType.MultipleOptions){for(const name of filter.fieldName.split(DELIMITER)){fields.push({name:name});}}else if(filter.fieldType===FilterFieldType.Reference){fields.push({name:filter.fieldName,referenceFieldName:filter.referenceFieldName});}else{fields.push({name:filter.fieldName});}}}for(const field of searchFields){if(field.fieldType===\"reference\"){fields.push({name:field.fieldName,referenceFieldName:field.referenceFieldName});}else{fields.push({name:field.fieldName});}}if(sort&&sort.sortBy===\"field\"){fields.push({name:sort.fieldName});}// Deduplicate fields\nconst uniqueFields=[];for(const field of fields){if(!uniqueFields.some(f=>f.name===field.name&&f.referenceFieldName===field.referenceFieldName)){uniqueFields.push(field);}}return addFieldsToSelect(uniqueFields,query,propertyControlsByTitle,collections);}return query?.select;}function mapCollectionDataValues(items,propertyControlsById,mainAlias,multiReferenceItemsById,multiReferenceIdMap){if(!Array.isArray(items)||typeof propertyControlsById!==\"object\"||typeof multiReferenceItemsById!==\"object\"||typeof multiReferenceIdMap!==\"object\"||typeof mainAlias!==\"string\"){return items// Return the original array if inputs are invalid\n;}const mainPropertyControlsById=propertyControlsById[mainAlias];// Create a shallow copy of the items array\nconst copiedItems=items.map(item=>({...item}));for(const propertyId of Object.keys(mainPropertyControlsById)){const property=mainPropertyControlsById[propertyId];if(property.type===\"enum\"){const optionMap={};if(property.options&&property.optionTitles){for(let i=0;i<property.options.length;i++){optionMap[property.options[i]]=property.optionTitles[i];}}for(const item of copiedItems){if(item[propertyId]){item[propertyId]=optionMap[item[propertyId]]||\"\";}}}else if(property.type===\"multicollectionreference\"){const alias=multiReferenceIdMap[propertyId];const referenceItemsById=multiReferenceItemsById[alias];if(referenceItemsById){for(const item of copiedItems){const referenceItems=item[alias];const rPropertyControlsById=propertyControlsById[alias];const newItemValues=[];if(Array.isArray(referenceItems)&&typeof rPropertyControlsById===\"object\"){const rCopiedItems=referenceItems.map(item=>{const value=typeof item===\"string\"?referenceItemsById[item]:item;return value?{...value}:{};});for(const propertyId of Object.keys(rPropertyControlsById)){const property=rPropertyControlsById[propertyId];if(property.type===\"enum\"){const optionMap={};if(property.options&&property.optionTitles){for(let i=0;i<property.options.length;i++){optionMap[property.options[i]]=property.optionTitles[i];}}for(const item of rCopiedItems){if(item[propertyId]){item[propertyId]=optionMap[item[propertyId]]||\"\";}}}}for(const item of rCopiedItems){newItemValues.push(item);}}item[propertyId]=newItemValues;}}}}return copiedItems;}function getSearchLevelForValue(value,searchText){if(value==undefined||value==null){return 0;}const text=String(value).toLowerCase();if(text==searchText){return 4;}else if(text.includes(searchText)){if(text.startsWith(searchText)){return 3;}else if((\" \"+text+\" \").includes(\" \"+searchText+\" \")){return 2;}else{return 1;}}return 0;}const Transition=({value,children})=>{const config=useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};\nexport const __FramerMetadata__ = {\"exports\":{\"LayoutType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchFieldType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Superfields\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"600\",\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}