{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/L7TdKQ7OCrUDcI7mEHAV/saJ1D5cYziXCHw3cuoS0/Branding_Tag.js", "ssg:https://framerusercontent.com/modules/tb6g3uFMaN9A8Y0Nh5te/NSmLj9GJ3YcGYE7rQwfM/Header.js", "ssg:https://framer.com/m/Main-Frame-iHC5.js", "ssg:https://framer.com/m/Header-Nmng.js", "ssg:https://framerusercontent.com/modules/bmCFSKUhALa4QmIOqr6i/BpmPTjkfVB4lOyz9EiXT/List_Item.js", "ssg:https://framer.com/m/To-Do-List-rlLo.js", "ssg:https://framer.com/m/framer/store.js@^1.0.0", "ssg:https://framerusercontent.com/modules/oaAH7umUjUOTeKmykfom/4GSr51yWhuxjuWu6QpOf/Stores.js", "ssg:https://framerusercontent.com/modules/NktNXvnf4m4T7jKQcOHx/ld1Thy4iHs6v3180zPrJ/Utilities.js", "ssg:https://framerusercontent.com/modules/uaC9hWf3ec7HqMv3sXMc/fThGQnEUZeWwDLSQMzea/Hooks.js", "ssg:https://framerusercontent.com/modules/vJeS6Ad5hYI9zKL5FEp9/wNCgKkRRnPgVUCkatxyA/Collection_Plus.js", "ssg:https://framerusercontent.com/modules/Hxho9sUnioBkMjGbLBed/csoxszrftuhmv2NyuE1c/collectionID.js", "ssg:https://framerusercontent.com/modules/b9Ahpqbe406WaEtVhaF0/XCBQ4QWWxYvqLLSTRUiO/Clear_Plus.js", "ssg:https://framerusercontent.com/modules/TlyZ8mYrgXAzcglJBpiE/QWCW7LcrMAZJmFKxqt9f/pJc6A2olN.js", "ssg:https://framerusercontent.com/modules/1abSdslctova79WmNQRw/3fHstYFUOpeaxageGRMz/Filter_Base.js", "ssg:https://framerusercontent.com/modules/xPWn77sAdxuRvon75kLo/B2UIyi7WVbdsZJvHIaDR/cmsFieldName.js", "ssg:https://framerusercontent.com/modules/rh6e2sb1Jywsg0Jg5MC9/nU76KIngapLuixkcwZx7/PlainText_Plus.js", "ssg:https://framerusercontent.com/modules/UBVQx95LhIAxWniU7nMk/olT4PKCB6yXO3g8jukT1/PZ1h_drg_.js", "ssg:https://framerusercontent.com/modules/cF4BbWM5faZdppOwbrSl/vBy9iE1F80dKTzAwjEt2/Option_Plus.js", "ssg:https://framerusercontent.com/modules/zM72JZMRozlAEd5fnWR5/UxIt3OH9d6JVwH7mOenA/RinFalM6D.js", "ssg:https://framerusercontent.com/modules/TSH30cLODdO4rbbD7Bqe/hcEC75NT29yeBVkCiF4c/Sort_Plus.js"],
  "sourcesContent": ["/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n *\n * @framerDisableUnlink\n */import{jsx as _jsx}from\"react/jsx-runtime\";export default function Branding_Tag({productName}){const styles={fontSize:\"10px\",position:\"absolute\",top:6,left:6};return /*#__PURE__*/_jsx(\"div\",{style:styles,children:productName||\"productName\"});}Branding_Tag.displayName=\"Branding Tag\";\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Branding_Tag\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Branding_Tag.map", "/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n *\n * @framerDisableUnlink\n */import{jsx as _jsx}from\"react/jsx-runtime\";export default function Header({text,align=\"left\"}){const styles={fontWeight:\"bold\",textAlign:align,width:\"100%\"};// @ts-ignore\nreturn /*#__PURE__*/_jsx(\"div\",{style:styles,children:text||\"Header\"});}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Header\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"auto\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Header.map", "import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import Branding_Tag from\"https://framerusercontent.com/modules/L7TdKQ7OCrUDcI7mEHAV/saJ1D5cYziXCHw3cuoS0/Branding_Tag.js\";import Header from\"https://framerusercontent.com/modules/tb6g3uFMaN9A8Y0Nh5te/NSmLj9GJ3YcGYE7rQwfM/Header.js\";/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n *\n * @framerIntrinsicHeight 400\n * @framerIntrinsicWidth 800\n *\n * @framerDisableUnlink\n */export default function HelperFrame({children,productName,align=\"center\",error=null,justify=\"center\"}){const colors={default:[67,198,135],error:[255,43,43]};const rgb=colors[error?\"error\":\"default\"].join(\",\");const containerProps={style:{alignItems:align,background:`rgba(${rgb}, 0.05)`,border:`1px solid rgb(${rgb})`,color:`rgb(${rgb})`,display:\"flex\",flexDirection:\"column\",fontSize:\"12px\",gap:\"12px\",height:\"fit-content\",justifyContent:justify,padding:\"32px 8px 8px 8px\",position:\"relative\",width:\"100%\"}};if(error){containerProps.style.cursor=\"pointer\";containerProps.onClick=()=>alert(error.message);}return /*#__PURE__*/_jsxs(\"div\",{...containerProps,className:\"cmsPlusError\",children:[/*#__PURE__*/_jsx(Branding_Tag,{productName:productName}),error&&/*#__PURE__*/_jsx(Header,{text:\"Error!\"}),children]});}HelperFrame.displayName=\"Helper Frame\";\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"HelperFrame\",\"slots\":[\"children\"],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"400\",\"framerIntrinsicWidth\":\"800\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}", "/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n *\n * @framerDisableUnlink\n */import{jsx as _jsx}from\"react/jsx-runtime\";export default function Header({text,align=\"left\"}){const styles={fontWeight:\"bold\",textAlign:align,width:\"100%\"};// @ts-ignore\nreturn /*#__PURE__*/_jsx(\"div\",{style:styles,children:text||\"Header\"});}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Header\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"auto\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Header.map", "/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n *\n * @framerDisableUnlink\n */import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";export default function ListItem({text,isChecked}){const bulletUnicode=\"\u2022\";const checkUnicode=\"\u2713\";const listStyles={alignItems:\"start\",display:\"flex\",gap:\"10px\",marginBottom:\"10px\",width:\"100%\"};const iconStyles={textAlign:\"center\",minWidth:\"20px\"};return /*#__PURE__*/_jsxs(\"li\",{style:listStyles,children:[/*#__PURE__*/_jsx(\"span\",{style:iconStyles,children:isChecked?checkUnicode:bulletUnicode}),/*#__PURE__*/_jsx(\"span\",{children:text})]});}ListItem.displayName=\"List Item\";\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ListItem\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerSupportedLayoutWidth\":\"auto\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./List_Item.map", "import{jsx as _jsx}from\"react/jsx-runtime\";import ListItem from\"https://framerusercontent.com/modules/bmCFSKUhALa4QmIOqr6i/BpmPTjkfVB4lOyz9EiXT/List_Item.js\";/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n *\n * @framerDisableUnlink\n */export default function ToDoList({items}){const listStyles={listStyle:\"none\",marginTop:0,paddingLeft:\"16px\",width:\"100%\"};return /*#__PURE__*/_jsx(\"ul\",{style:listStyles,children:items===null||items===void 0?void 0:items.map((item,index)=>/*#__PURE__*/_jsx(ListItem,{text:item.text,isChecked:item.isChecked},index))});}ToDoList.displayName=\"To Do List\";\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ToDoList\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"auto\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\",\"framerDisableUnlink\":\"\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./To_Do_List.map", "import{useState,useEffect}from\"react\";import{Data,useObserveData}from\"framer\";export function createStore(state1){// Use Data so that a Preview reload resets the state\nconst dataStore=Data({state:Object.freeze({...state1})});// Create a set function that updates the state\nconst setDataStore=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(dataStore.state);}dataStore.state=Object.freeze({...dataStore.state,...newState});};// Store the initial state, copy the object if it's an object\nlet storeState=typeof state1===\"object\"?Object.freeze({...state1}):state1;// Keep a list of all the listeners, in the form of React hook setters\nconst storeSetters=new Set();// Create a set function that updates all the listeners / setters\nconst setStoreState=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(storeState);}storeState=typeof newState===\"object\"?Object.freeze({...storeState,...newState}):newState;// Update all the listeners / setters with the new value\nstoreSetters.forEach(setter=>setter(storeState));};// Create the actual hook based on everything above\nfunction useStore(){// Create the hook we are going to use as a listener\nconst[state,setState]=useState(storeState);// If we unmount the component using this hook, we need to remove the listener\n// @ts-ignore\nuseEffect(()=>{// But right now, we need to add the listener\nstoreSetters.add(setState);return()=>storeSetters.delete(setState);},[]);// If Data context exists, use Data, otherwise use vanilla React state\nif(useObserveData()===true){useObserveData();return[dataStore.state,setDataStore];}else{// Return the state and a function to update the central store\nreturn[state,setStoreState];}}return useStore;}\nexport const __FramerMetadata__ = {\"exports\":{\"createStore\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./createStore.map", "import{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";export const useStore=createStore({});export const useDevStore=createStore({isDebugging:null});\nexport const __FramerMetadata__ = {\"exports\":{\"useStore\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useDevStore\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Stores.map", "/**\n * Accepts a string, and returns true/false if the string is in ISO 8601 format with the option of adding \"Z\" at the end.\n * @param {string} str - A string representing a date in ISO 8601 format.\n * @returns {boolean} - Returns true if str is in ISO 8601 format, otherwise returns false.\n */export function isISO8601(str){const isoDateRegex=/^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(Z|([+-]\\d{2}:\\d{2}))?$/;return isoDateRegex.test(str);}/**\n * Accepts a text, checks to see if it's in ISO 8601 format, if yes, resets the time and returns ISO 8601 string, otherwise return empty string.\n * @param {string} text - Date as a string in ISO 8601 format.\n * @returns {string} - Returns the same string value with the time cleared or an empty string.\n */export function resetTimeOfISODateString(text){return isISO8601(text)?`${text.substring(0,10)}T00:00:00.000Z`:\"\";}export function getProps({object,target,returnParent=false}){if(!object||!target.name||!target.type)return undefined;const propMatch=object[target.name];const typeMatch=target.type.toLowerCase()===\"array\"?Array.isArray(propMatch):typeof propMatch===target.type.toLowerCase();if(propMatch&&typeMatch){// return the target or the target's parent (which will contain the target)\nreturn returnParent?object:propMatch;}for(let nestedProp in object){const value=object[nestedProp];// don't go down another level if the value is not of type object/array\nif(typeof value!==\"object\")continue;const result=getProps({returnParent,target,object:value});if(result!==undefined)return result;}}export function getAllCollections({queryFrom,referencedCollections={}}){if(!queryFrom)return false;const{constraint,left,right,type}=queryFrom;if(type===\"Collection\"){referencedCollections[queryFrom.alias]={...queryFrom};}getAllCollections({queryFrom:queryFrom.left,referencedCollections});getAllCollections({queryFrom:queryFrom.right,referencedCollections});return referencedCollections;}// the most basic of nodes, mostly used for literal value comparisons\nexport function createBinaryOperationNode({left,right,operator}){return{left,right,operator,type:\"BinaryOperation\"};}// used for enum/option CMS field types\nexport function createCaseNode({controlId,optionIds}){const createCondition=optionId=>{return{then:{type:\"LiteralValue\",value:true},type:\"Condition\",when:{type:\"LiteralValue\",value:optionId}};};return{type:\"Case\",conditions:optionIds.map(createCondition),else:{type:\"LiteralValue\",value:false},value:{name:controlId,type:\"Identifier\"}};}// used for string fields where the condition includes 'starts_with', 'ends_with', or 'contains'\nexport function createFunctionCallNode({binaryNode,functionName}){return{functionName,arguments:[binaryNode.left,binaryNode.right],type:\"FunctionCall\"};}// wraps a node to negate its value\nexport function createUnaryOperationNode({value}){return{operator:\"not\",type:\"UnaryOperation\",value};}export function handleCondition_IsIncludedIn({collection,condition,name,type,value}){// check if the filter condition is for the negated value\nconst negateValue=condition.charAt(0)===\"!\";const node=createBinaryOperationNode({left:{collection,name,type},right:{value,type:\"LiteralValue\"},operator:\"in\"});// if the value needs to be negated, wrap the node in a unary operation\nreturn negateValue?createUnaryOperationNode({value:node}):node;}/**\n * Handles filters with conditions as \"IS_SET\" or \"!IS_SET\".\n * @param {object} controlIdentifier - An object representing the control, composed of\n *   {collection, name, type} properties.\n * @param {string} condition - The string defining the type of filtering condition.\n * @returns {object} - Returns a binary operation node or unary operation node if the value is negated.\n */export function handleCondition_IsSet({collection,name,type,condition}){// check if the filter condition is for the negated value\nconst negateValue=condition.charAt(0)===\"!\";const left=createBinaryOperationNode({operator:\"!=\",left:{collection,name,type},right:{value:null,type:\"LiteralValue\"}});const right=createBinaryOperationNode({operator:\"!=\",left:{collection,name,type},right:{value:\"\",type:\"LiteralValue\"}});const node=createBinaryOperationNode({left,right,operator:\"and\"});// if the value needs to be negated, wrap the node in a unary operation\nreturn negateValue?createUnaryOperationNode({value:node}):node;}/**\n * Handles filters with conditions as \"STARTS_WITH\", \"!STARTS_WITH\", \"ENDS_WITH\", \"!ENDS_WITH\", \"CONTAINS\", \"!CONTAINS\".\n * @param {object} controlIdentifier - An object representing the control, composed of\n *   {collection, name, type} properties.\n * @param {string} condition - The string defining the type of filtering condition.\n * @returns {object} - Returns a binary operation node or unary operation node if the value is negated.\n */export function handleCondition_StartsWith_EndsWith_Contains({controlIdentifier,condition,value}){// check if the filter condition is for the negated value\nconst negateValue=condition.charAt(0)===\"!\";// Framer uses filter functions in their query tree for \"STARTS_WITH\", \"ENDS_WITH\", or \"CONTAINS\"\nconst functionName=negateValue?condition.substring(1):condition;const node=createFunctionCallNode({binaryNode:createBinaryOperationNode({left:controlIdentifier,right:{value,type:\"LiteralValue\"},operator:\"==\"}),functionName});// if the value needs to be negated, wrap the node in a unary operation\nreturn negateValue?createUnaryOperationNode({value:node}):node;}/**\n * Parses a string representing a range\n * @param {string} rangeString - String formatted to represent a range.\n * @returns {object} - Returns an object with the start and end values, and if they're inclusive or exclusive.\n */export function parseRangeCondition({rangeString}){// inclusive:\n// greater than or equal: [\n// lesser than or equal: ]\n//exclusive:\n// greater than: (\n// lesser than: )\n// check the first character to determine if the condition is \"greater than\", or \"greater than or equal\"\nconst startOperator=rangeString.charAt(0)===\"[\"?\">=\":\">\";// check the last character to determine if the condition is \"lesser than\", or \"lesser than or equal\"\nconst endOperator=rangeString.charAt(rangeString.length-1)===\"]\"?\"<=\":\"<\";// ommit the first and last charaters to split the values\nconst ranges=rangeString.substring(1,rangeString.length-1).split(\",\");return{start:{operator:startOperator,value:ranges[0]},end:{operator:endOperator,value:ranges[1]}};}/**\n * Handles filters with conditions that contains the substring \"IS_BETWEEN\".\n * @param {object} controlIdentifier - An object with properties of the control.\n * @param {object} start - The starting value and operator of the range.\n * @param {object} end - The ending value and operator of the range.\n * @returns {object} - Returns a binary operation node.\n */export function handleCondition_IsBetween({controlIdentifier,start,end}){const left=createBinaryOperationNode({left:controlIdentifier,right:{value:start.value,type:\"LiteralValue\"},operator:start.operator});// the results will be less than or equal to this end\nconst right=createBinaryOperationNode({left:controlIdentifier,right:{value:end.value,type:\"LiteralValue\"},operator:end.operator});return createBinaryOperationNode({left,right,operator:\"and\"});}// returns the tree structure used by Framer to apply filters to collection list\nexport function createFramerFilterTree({nodes=[],operator=\"and\"}){let tree={};nodes.forEach((node,index)=>{if(index===0){tree=node;}else{tree={operator,left:tree,right:node,type:\"BinaryOperation\"};}});return tree;}\nexport const __FramerMetadata__ = {\"exports\":{\"handleCondition_IsBetween\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"resetTimeOfISODateString\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getProps\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"handleCondition_StartsWith_EndsWith_Contains\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isISO8601\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"createCaseNode\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"createBinaryOperationNode\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"createUnaryOperationNode\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"createFramerFilterTree\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getAllCollections\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"createFunctionCallNode\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"parseRangeCondition\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"handleCondition_IsIncludedIn\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"handleCondition_IsSet\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Utilities.map", "// @ts-ignore\nimport{useQueryData,useIsOnFramerCanvas}from\"framer\";import{useState,useEffect,useRef,useMemo}from\"react\";import{useStore,useDevStore}from\"https://framerusercontent.com/modules/oaAH7umUjUOTeKmykfom/4GSr51yWhuxjuWu6QpOf/Stores.js\";import{getProps,getAllCollections,createFramerFilterTree,createBinaryOperationNode,createCaseNode,createFunctionCallNode,createUnaryOperationNode,handleCondition_IsBetween,handleCondition_IsIncludedIn,handleCondition_IsSet,handleCondition_StartsWith_EndsWith_Contains,parseRangeCondition}from\"https://framerusercontent.com/modules/NktNXvnf4m4T7jKQcOHx/ld1Thy4iHs6v3180zPrJ/Utilities.js\";/**\n * Hook that prints to the console when debugging CMS Plus.\n * @param {boolean} debug - Is debugging CMS Plus or not.\n *\n * @returns {object} - An object with the following properties:\n * @param {function} consoleLogWhenDebuggingCMSPlus - Function that acts just like console.log, but only when debugging CMS Plus.\n */export const useConsoleLogWhenDebuggingCMSPlus=()=>{const[store]=useDevStore();const consoleLogWhenDebuggingCMSPlus=(...args)=>{if(store.isDebugging)console.log(...args);};return{consoleLogWhenDebuggingCMSPlus};};export const useGetFramerCMSItems=query=>{const[items,setItem]=useState([]);useEffect(()=>{if(!!query){const extractedItems=useQueryData(query);setItem(extractedItems);}},[query]);return items;};/**\n * Hook to debounce a value.\n * @param {number} delay - The delay in milliseconds before the debounced value is returned. Default is 2000.\n * @param {any} value - The value to debounce; the hook will return this value only after the specified delay without changes.\n * @returns {any} - Returns the debounced value after the delay.\n */export const useDebouncer=({delay,value})=>{const[debouncedValue,setDebouncedValue]=useState(value);useEffect(()=>{const ID=setTimeout(()=>{setDebouncedValue(value);},delay);return()=>clearTimeout(ID);},[value]);return debouncedValue;};/**\n * Hook to manage error alerts with a customizable delay.\n * @param {object} options - Configuration options for the hook.\n * @param {number} [options.delay=2000] - Optional delay in milliseconds before showing the alert. Defaults to 2000 if not provided.\n * @returns {object} - An object with the following properties:\n * @property {string[]} addMessage - An array of text messages representing the current error messages.\n * @property {boolean} hasMessages - A boolean indicating if there are any error messages.\n */export const useAlert=({delay=2e3}={})=>{const isOnFramerCanvas=useIsOnFramerCanvas();const[messages,setMessages]=useState([]);const debouncedMessages=useDebouncer({delay,value:messages});const addMessage=message=>{if(!isOnFramerCanvas)setMessages(prev=>[...prev,message]);};const clearMessages=()=>{if(!isOnFramerCanvas)setMessages([]);};useEffect(()=>{if(debouncedMessages.length>0)alert(`\nError!\n\n${debouncedMessages.join(\"\\n\")}`);},[debouncedMessages]);return{addMessage,clearMessages,hasMessages:messages.length>0};};/**\n * Custom hook that uses the cmsPlus collection's active filters to construct Framer's collection query where object.\n * @param {string} collectionID - The id of the collection stored in cmsPlus store.\n * @returns {function} Returns the where object structures as Framer's filtering tree to be used within the colleciton list query.\n */export const useConstructFramerCollectionQueryWhere=({collectionID})=>{const{consoleLogWhenDebuggingCMSPlus}=useConsoleLogWhenDebuggingCMSPlus();const[store]=useStore();const collection=store[collectionID];// get the current collection's props\nconst alias=collection?.alias||\"\";const fields=collection?.fields||{};const realTimeSearch=collection?.realTimeSearch||null;const collectionReferences=collection?.collectionReferences||null;// every element stores Framer's query filter structure made up of all the filters for that CMS field,\n// 'branches' will looped throught and formatted into the same Framer query filter structure\nconst branches=[];// if there is a search text, loop through the selected CMS fields and create a Framer query tree joined with \"or\" logic.\n// this is the only time were different CMS field are joined as \"match any\" logic\nif(!!realTimeSearch&&realTimeSearch.text!==\"\"){const nodes=[];// gather all the fields to search in and remove any duplicates\nconst realTimeSearchFields=Array.from(new Set(realTimeSearch.fields));realTimeSearchFields.forEach(fieldName=>{// if the field does not exist in the CMS, skip\nif(!fields.hasOwnProperty(fieldName))return;const control=fields[fieldName];const{type}=control;const controlIdentifier={collection:alias,name:control.id,type:\"Identifier\"};if(type===\"string\"){nodes.push(createFunctionCallNode({binaryNode:createBinaryOperationNode({left:controlIdentifier,right:{value:realTimeSearch.text,type:\"LiteralValue\"},operator:\"==\"}),functionName:\"CONTAINS\"}));}});if(nodes.length>0)branches.push(createFramerFilterTree({nodes,operator:\"or\"}));}// loop through each CMS field, for each active filter create a node, store in 'nodes', then format the 'nodes' into Framer's query filter structure with 'or' logic\nfor(const[name,props]of Object.entries(fields)){// @ts-ignore\nconst{id,type,options,optionTitles,filters}=props;// required for building the Framer query where object\n// collection alias is what collection this field is derived from\n// id is the Framer identification for this field control\nconst controlIdentifier={collection:alias,name:id,type:\"Identifier\"};const nodes=[];filters?.forEach((activeFilter,currentFilterIndex,theseFilters)=>{const{condition,value,isActive}=activeFilter;// handle the active filter based on CMS field type\nswitch(type){case\"enum\":// enum/option CMS field type is different. it does not need to loop through each active filter.\n// all possible options are gathered, and if theres one active filter, then a binary operation node is pushed into nodes, otherwise, more than 1 active filter uses a case note instead.\nif(currentFilterIndex>0)return;// cross reference the filter values to their corresponding Framer control IDs\nconst activeFilterOptionIds=theseFilters.filter(thisFilter=>thisFilter.isActive).map(thisFilter=>{const index=optionTitles.indexOf(thisFilter.value);return options[index];});if(activeFilterOptionIds.length<1)return;// use a binary operation node for 1 active filter, otherwise, for more active filters, use a case node\nnodes.push(theseFilters.length===1?createBinaryOperationNode({left:controlIdentifier,right:{value:activeFilterOptionIds[0],type:\"LiteralValue\"},operator:activeFilter.condition}):createCaseNode({controlId:id,optionIds:activeFilterOptionIds}));break;case\"slug\":case\"string\":// skip if the filter is inactive\nif(!isActive)return;// handles when the condition is \"Equals\" or \"Doesn't Equal\"\nif(condition==\"==\"||condition==\"!=\"){nodes.push(createBinaryOperationNode({left:controlIdentifier,right:{value,type:\"LiteralValue\"},operator:condition}));// handles when the condition is \"IS_SET\" or \"!IS_SET\"\n}else if(condition.includes(\"IS_SET\")){nodes.push(handleCondition_IsSet({...controlIdentifier,condition}));// handles filters with conditions as \"STARTS_WITH\", \"!STARTS_WITH\", \"ENDS_WITH\", \"!ENDS_WITH\", \"CONTAINS\", or \"!CONTAINS\"\n}else if(condition.includes(\"STARTS_WITH\")||condition.includes(\"ENDS_WITH\")||condition.includes(\"CONTAINS\")){nodes.push(handleCondition_StartsWith_EndsWith_Contains({controlIdentifier,condition,value}));}break;case\"number\":// skip if the filter is inactive\nif(!isActive)return;if(condition===\"IS_BETWEEN_NUMBERS\"){const range=parseRangeCondition({rangeString:value});const start={value:Number(range.start.value),operator:range.start.operator};const end={value:Number(range.end.value),operator:range.end.operator};nodes.push(handleCondition_IsBetween({controlIdentifier,start,end}));}else{// handles single values\nnodes.push(createBinaryOperationNode({left:controlIdentifier,right:{value,type:\"LiteralValue\"},operator:condition}));}break;case\"date\":// skip if the filter is inactive\nif(!isActive)return;if(condition===\"IS_BETWEEN_DATES\"){const range=parseRangeCondition({rangeString:value});const start={value:range.start.value,operator:range.start.operator};const end={value:range.end.value,operator:range.end.operator};nodes.push(handleCondition_IsBetween({controlIdentifier,start,end}));}else{// handles single dates\nnodes.push(createBinaryOperationNode({left:controlIdentifier,right:{value,type:\"LiteralValue\"},operator:condition}));}break;case\"file\":case\"richtext\":case\"responsiveimage\":case\"link\":// skip if the filter is inactive\nif(!isActive)return;nodes.push(handleCondition_IsSet({...controlIdentifier,condition}));break;case\"boolean\":// skip if the filter is inactive\nif(!isActive)return;nodes.push(activeFilter.value?controlIdentifier:createUnaryOperationNode({value:controlIdentifier}));break;case\"collectionreference\":// skip if the filter is inactive\nif(!isActive)return;// for references, the referenced collection alias is used as this field control's id, and the name is replaced with 'id'\nconst collectionIdentifier={...controlIdentifier,collection:id,name:\"id\"};if(condition.includes(\"IS_SET\")){nodes.push(handleCondition_IsSet({...collectionIdentifier,condition}));}if(condition==\"==\"||condition==\"!=\"){nodes.push(createBinaryOperationNode({left:collectionIdentifier,right:{value,type:\"LiteralValue\"},operator:condition}));}if(condition.includes(\"IS_INCLUDED\")){nodes.push(handleCondition_IsIncludedIn({...collectionIdentifier,condition,value}));}break;case\"multicollectionreference\":// skip of the filter is inactive\nif(!isActive)return;// get the multi referenced collection\nconst argument=collectionReferences[value];if(condition.includes(\"CONTAINS\")){// check if the filter condition is for the negated value\nconst negateValue=condition.charAt(0)===\"!\";const node=createBinaryOperationNode({left:{value,type:\"LiteralValue\"},right:{arguments:[argument],functionName:\"FLAT_ARRAY\",type:\"FunctionCall\"},operator:\"in\"});nodes.push(negateValue?createUnaryOperationNode({value:node}):node);}break;// do nothing if the control is not supported\ndefault:consoleLogWhenDebuggingCMSPlus(\"\uD83C\uDD87:\",`CMS field ${type} type is not supported.`);break;}});// every node will be used to construct Framer's query tree joined with \"or\" logic.\n// this will allow filters from the same CMS fields applied as \"match any\" logic.\nif(nodes.length>0)branches.push(createFramerFilterTree({nodes,operator:\"or\"}));}// every branch will be used to construct Framer's query tree joined with \"and\" logic.\n// this will allow filters from different CMS fields applied as \"match all\" logic.\nconst where=createFramerFilterTree({nodes:branches,operator:\"and\"});return()=>Object.keys(where).length>0?where:null;};export const useFramerCollectionList=({collectionPlusID,framerCollectionList,isDebugging=false})=>{// stores\nconst[store,setStore]=useStore();const[devStore,setDevStore]=useDevStore();// states\n// key for updating the collection list on the page, a change will trigger a render\nconst[key,setKey]=useState(0);const[noSearchResults,setNoSearchResults]=useState(false);const[collection,setCollection]=useState({alias:null,id:null,name:null,query:null});// local variables\nconst collectionInitializedInStore=!!store[collection.id];const sortDirection=store[collection.id]?.sort;const debounced_delay=250;// hooks\nconst isOnFramerCanvas=useIsOnFramerCanvas();const constructFramerCollectionQueryWhere=useConstructFramerCollectionQueryWhere({collectionID:collection.id});// any dependencies that can trigger the render key should be debounced to prevent collection list flicker\nconst fields_debounced=useDebouncer({delay:debounced_delay,value:store[collection.id]?.fields});const searchText_debounced=useDebouncer({delay:debounced_delay,value:store[collection.id]?.realTimeSearch.text});const framerCollectionList_debounced=useDebouncer({delay:debounced_delay,value:framerCollectionList});// in order to extract cms query data, the cmsPlus filters will need to be formatted into Framer's query where tree structure and applied to query\nconst searchResults=useMemo(()=>{if(!!fields_debounced&&!!collection.query){const where=constructFramerCollectionQueryWhere();const orderBy=collection.query?.orderBy||null;// by default, sort is ascending when orberBy is undefined, and is not neede\nif(!!orderBy&&!!sortDirection){if(isDebugging){console.log(\"\u2195\uFE0F:\",`Setting ${sortDirection} order.`);}collection.query.orderBy[0]={...collection.query.orderBy[0],direction:sortDirection};}if(!!where){if(isDebugging)console.log(\"\uD83C\uDE38:\",where);collection.query.where=where;}else{delete collection.query.where;}if(isDebugging){console.log(\"\uD83D\uDFE0:\",\"Query:\",Object.assign({},collection.query));}return useQueryData(collection.query);}return null;},[fields_debounced,sortDirection,!!collection.query,searchText_debounced,framerCollectionList]);// updates the collection store with cms items, updates the render key for the collection list, and updates if the noSearchResults frame shoule be shown\nuseEffect(()=>{/**\n         * at this point:\n         * 1. framerCollectionList has been validated\n         * 2. the collection has been stored\n         * 3. its query has been altered by applying CMS+ filters\n         * 4. the cms items (query data) has been extracted using the altered query\n         * 5. finally the collection list on the page needs to be updated by changing the render key\n         */if(!!searchResults){if(isDebugging){console.log(\"\uD83D\uDFE2:\",`Updating CMS Items: id# ${collection.id} || name ${collection.name} || item count ${searchResults.length}`);}const noResults=searchResults.length<1;// key = 0 signifies the collection list is updating on Collection+\n// this avoids a split-second double render when switching from no results --> results until the collection list is updated with the latest filters\nconst updatedKey=noResults?0:Math.floor(Math.random()*1e5);setNoSearchResults(noResults);setKey(updatedKey);setStore(prev=>({...prev,[collection.id]:{...prev[collection.id],searchResults}}));}},[collectionInitializedInStore,sortDirection,fields_debounced,searchText_debounced,framerCollectionList_debounced]);// when on Preview/Live view only\n// if collection is not set in store, initialize a valid Framer collection list in store\n// otherwise, if it's the same list, sync the stored collection to Collection+\nuseEffect(()=>{if(!isOnFramerCanvas){if(isDebugging){console.log(\"\uD83D\uDEE0\uFE0F:\",\"CMS Plus debugging enabled...\");console.log(\"\");}// get the query object from the Framer collection list\n// if a query object does not exist, then the linked frame is not a valid Framer collection list instance\nconst query=getProps({object:framerCollectionList,target:{name:\"query\",type:\"object\"}});// for Framer collection lists not using any references, this will return query.from\n// otherwise, list using references, it will return query.from.left\nconst props=getProps({object:query,target:{name:\"alias\",type:\"string\"},returnParent:true});// get the name of the collection\n// for collections that include references, multiple collections will be in the query object, but the first one is the target\nconst name=getProps({object:props,target:{name:\"displayName\",type:\"string\"}});// initialize in store\nif(!!name&&!!query){const storedCollection=store[collectionPlusID];if(!storedCollection){if(isDebugging){console.log(\"\u2705:\",`Initializing Collection+: \"${name}\" with id# ${collectionPlusID} in store.`);console.log(\"\uD83D\uDFE0:\",\"Query:\",Object.assign({},query));}// these are any native Framer filters applied on the list via the canvas\nconst defaultFilters=getProps({object:query,target:{name:\"where\",type:\"object\"}});// make the cms fields easier to manage by having the object props by readable titles, rather than its Framer ID\nconst cmsFieldsByID=getProps({object:props,target:{name:\"propertyControls\",type:\"object\"}});const cmsFieldsByName={};for(const[controlID,field]of Object.entries(cmsFieldsByID)){// @ts-ignore\nconst{title,...otherProps}=field;cmsFieldsByName[title]={...otherProps,id:controlID};}const from=getProps({object:query,target:{name:\"from\",type:\"object\"}});// if this collection list includes reference CMS fields, then gather all collections and remove the current one to be left the referenced collections only\nconst allCollections=getAllCollections({queryFrom:from});delete allCollections[props?.alias];const collectionReferences=Object.keys(allCollections).length>0?allCollections:null;if(isDebugging&&collectionReferences){console.log(\"\uD83D\uDFE0:\",\"References:\",collectionReferences);}// initiate the collection in store if valid\nsetStore(prev=>({...prev,[collectionPlusID]:{...defaultFilters&&{defaultFilters},...collectionReferences&&{collectionReferences},name,alias:props?.alias,fields:cmsFieldsByName,realTimeSearch:{fields:[],text:\"\"},searchResults:[]}}));}else{if(isDebugging){console.log(\"\uD83D\uDFE9:\",`Syncing Collection+ from store: id#${storedCollection.id} \"${storedCollection.name}\"`);}if(name===storedCollection.name){if(collection.query?.where){query.where=collection.query.where;}}}}// store query from a valid Framer collection list\nsetCollection({name,alias:props?.alias,id:collectionPlusID,...!!query&&{query}});// always start off with a 0 key, this notifies Collection+ the list is not ready and do not show\nsetKey(0);// cmsPlus collection+ must have props._cmsPlusDebugging = true via an override\nsetDevStore(prev=>({...prev,isDebugging}));}},[isOnFramerCanvas,framerCollectionList]);if(isDebugging)console.log(\"\uD83D\uDCC0:\",Object.assign({},store));return{key,noSearchResults};};/**\n * Accesses a collection from the store using its ID.\n *\n * @param {string} collectionID - The collection's unique ID.\n * @returns {Object} -\n *   - `isCollectionReady`: True if the collection exists and the view is not on Framer Canvas.\n *   - `collectionFromStore`: The collection data or null if not found.\n */export const useCollectionFromStore=collectionID=>{const[store,setStore]=useStore();const collection=store[collectionID]||null;const isOnFramerCanvas=useIsOnFramerCanvas();return{isCollectionReady:!isOnFramerCanvas&&!!collection,collectionFromStore:collection};};/**\n * Validates the Filter+ component for CMS Plus.\n * Ensures the collection, field, and value are valid based on the given conditions.\n *\n * @param {string} collectionID - The ID of the CMS collection to validate.\n * @param {string} controlType - The expected control type of the field (e.g., 'string', 'number').\n * @param {string} cmsFieldName - The name of the CMS field to validate.\n * @param {*} value - The value being checked; must not be undefined if required.\n * @param {boolean} valueIsRequired - Whether a value is required (true) or not (false).\n *\n * @returns {boolean} - Returns true if the filter is valid; otherwise, false.\n */export const useIsFilter_Valid=({collectionID,controlType,cmsFieldName,value,valueIsRequired})=>{const{consoleLogWhenDebuggingCMSPlus}=useConsoleLogWhenDebuggingCMSPlus();const[isFilter_Valid,setIsFilter_Valid]=useState(false);const{isCollectionReady,collectionFromStore}=useCollectionFromStore(collectionID);const supportedControlTypes=[\"boolean\",\"collectionreference\",\"date\",\"enum\",\"file\",\"link\",\"multicollectionreference\",\"number\",\"responsiveimage\",\"richtext\",\"string\"];// Validate the filter when collection or related dependencies change\nuseEffect(()=>{setIsFilter_Valid(false)// Reset filter validity on dependency changes\n;if(isCollectionReady){const field=collectionFromStore.fields[cmsFieldName];const isSupportedType=supportedControlTypes.includes(field?.type);const usingMatchingFilterType=field?.type===controlType;const value_isValid=valueIsRequired?value!==undefined// Value must not be undefined if required\n:value===null// For optional values, null is acceptable\n;if(!!field&&isSupportedType&&usingMatchingFilterType&&value_isValid){setIsFilter_Valid(true)// Mark filter as valid\n;}else{const errors=[`\u2757\uFE0F Invalid Filter+ for ${cmsFieldName}:`];if(!field)errors.push(`${cmsFieldName} does not exist.`);if(!isSupportedType)errors.push(`${!!field?field.type:`Field`} type is not supported.`);if(!usingMatchingFilterType)errors.push(\"Using the wrong type of Filter+ for CMS field.\");if(value===undefined)errors.push(\"Value is required.\");consoleLogWhenDebuggingCMSPlus(errors.join(\"\\n\"));}}},[isCollectionReady,cmsFieldName,value,valueIsRequired]);return isFilter_Valid// Returns whether the filter is valid\n;};/**\n * Hook to initialize a filter in the collection store.\n *\n * Ensures that the specified filter is added to the store when valid and handles\n * clean-up or reset logic for non-preserved filters.\n *\n * Arguments:\n * @param {string} cmsFieldName - The CMS field to apply the filter to.\n * @param {string} collectionID - The ID of the collection this filter belongs to.\n * @param {string} condition - The filter's condition (e.g., \"equals\").\n * @param {string} controlType - The type of control (e.g., toggle, dropdown).\n * @param {boolean} isFilterActive - Whether the filter is currently active.\n * @param {boolean} isFilter_Valid - Indicates if the filter is valid for initialization.\n * @param {boolean} isPreserving - Whether the filter should be preserved on page reload.\n * @param {*} value - The value the filter applies.\n *\n * Returns:\n * - `isFilter_Initialized`: True if the filter is already initialized.\n * - `isFilter_CurrentlyActive`: The active status of the filter or null if uninitialized.\n */export const useInitializeFilter=({cmsFieldName,collectionID,condition,controlType,isFilterActive,isFilter_Valid,isPreserving,value})=>{const{consoleLogWhenDebuggingCMSPlus}=useConsoleLogWhenDebuggingCMSPlus();const setStore=useStore()[1];// Store default values for the filter to detect overrides.\nconst defaultValues_Ref=useRef({cmsFieldName,collectionID,condition,isPreserving,value});const{collectionFromStore}=useCollectionFromStore(collectionID);// Check if the filter is already initialized in the collection store.\nconst initializedFilter=collectionFromStore?.fields?.[cmsFieldName]?.filters?.find(f=>f.condition===condition&&(f.value===value||JSON.stringify(f.value)===JSON.stringify(value)))??null;const isFilterActive_defaultRef=useRef(isFilterActive);const isFilterActive_Ref=useRef(isFilterActive);const isFilter_Initialized_Ref=useRef(!!initializedFilter);// Keep track of filter active state.\nuseEffect(()=>{isFilterActive_Ref.current=isFilterActive;},[isFilterActive]);// Initialize the filter in the collection store if it is valid and not already initialized.\nuseEffect(()=>{if(isFilter_Valid&&!initializedFilter){consoleLogWhenDebuggingCMSPlus(`\u2705 Initializing Filter+: id# ${collectionID} | field ${cmsFieldName} | type ${controlType} | condition ${condition} | value ${value} | active? ${isFilterActive}`);isFilter_Initialized_Ref.current=true;setStore(prev=>{const prevFilters=prev[collectionID]?.fields[cmsFieldName]?.filters??[];return{...prev,[collectionID]:{...prev[collectionID],fields:{...prev[collectionID]?.fields,[cmsFieldName]:{...prev[collectionID]?.fields[cmsFieldName],filters:[...prevFilters,{condition,value,isActive:isFilterActive}]}}}};});}// Clean up: handle overrides if default values have changed.\nreturn()=>{const currentValues={cmsFieldName,collectionID,condition,isPreserving,value};const hasOverrides=Object.keys(currentValues).some(key=>{const currentValue=currentValues[key];const defaultValue=defaultValues_Ref.current[key];consoleLogWhenDebuggingCMSPlus(`Hooks > ${defaultValues_Ref.current.cmsFieldName}:`);consoleLogWhenDebuggingCMSPlus(`Hooks > Current Value:`,currentValue);consoleLogWhenDebuggingCMSPlus(`Hooks > Default Value:`,defaultValue);if(typeof defaultValue===\"object\"){return JSON.stringify(currentValue)!==JSON.stringify(defaultValue);}return currentValue!==defaultValue;});if(isFilter_Valid&&hasOverrides){const{cmsFieldName:prevCMSFieldName,collectionID:prevCollectionID,condition:prevCondition,value:prevValue}=defaultValues_Ref.current;consoleLogWhenDebuggingCMSPlus(`\uD83C\uDD91 Clean Up Filter+: id# ${prevCollectionID} | field ${prevCMSFieldName} | type ${controlType} | condition ${prevCondition} | value ${prevValue}`);setStore(prev=>{const prevFilters=prev[prevCollectionID]?.fields[prevCMSFieldName]?.filters??[];return{...prev,[prevCollectionID]:{...prev[prevCollectionID],fields:{...prev[prevCollectionID]?.fields,[prevCMSFieldName]:{...prev[prevCollectionID]?.fields[prevCMSFieldName],filters:prevFilters.filter(f=>f.condition!==prevCondition||f.value!==prevValue)}}}};});}Object.assign(defaultValues_Ref.current,currentValues);};},[isFilter_Valid,cmsFieldName,collectionID,condition,isPreserving,value]);// Reset filters that are not preserved to their default state.\nuseEffect(()=>{return()=>{if(isFilter_Initialized_Ref.current&&!defaultValues_Ref.current.isPreserving){if(isFilterActive_Ref.current!==isFilterActive_defaultRef.current){const{cmsFieldName,collectionID,condition,value}=defaultValues_Ref.current;consoleLogWhenDebuggingCMSPlus(`\uD83D\uDFE8 Resetting Filter+: id# ${collectionID} | field ${cmsFieldName} | type ${controlType} | condition ${condition} | value ${value}`);setStore(prev=>{const prevFilters=prev[collectionID]?.fields[cmsFieldName]?.filters??[];return{...prev,[collectionID]:{...prev[collectionID],fields:{...prev[collectionID]?.fields,[cmsFieldName]:{...prev[collectionID]?.fields[cmsFieldName],filters:prevFilters.map(f=>f.condition===condition&&f.value===value?{...f,isActive:isFilterActive_defaultRef.current}:f)}}}};});}}};},[]);return{isFilter_Initialized:!!initializedFilter,isFilter_CurrentlyActive:initializedFilter?.isActive??null};};/**\n * Custom hook to sync a component's variant with its stored state.\n *\n * Arguments:\n * @param {boolean} component_isReady - Indicates if the component is ready for synchronization.\n * @param {function} debuggingLog - Logs debug information during synchronization.\n * @param {boolean} desynchronized - True if the component state differs from the stored state.\n * @param {boolean} isPreserving - Enables synchronization when state preservation is active.\n * @param {*} remoteValue - The value representing changes from an external source.\n * @param {function} transitionToVariant - Triggers a transition to the correct variant.\n *\n * Returns:\n * @returns {object} - `{ checkVariantSync }`, a flag indicating if the synchronization check is in progress.\n */export const useVariantSync=({component_isReady,debuggingLog,desynchronized,isPreserving,remoteValue,transitionToVariant})=>{const[checkVariantSync,setCheckVariantSync]=useState(isPreserving);// Sync to the correct variant when the component is ready and preserving state.\nuseEffect(()=>{if(component_isReady){if(isPreserving&&desynchronized){debuggingLog();transitionToVariant?.();}// Mark the synchronization check as completed.\nsetCheckVariantSync(false);}},[component_isReady]);// Handle changes from an external source.\nuseEffect(()=>{if(desynchronized&&!checkVariantSync){debuggingLog();transitionToVariant?.();}},[remoteValue]);return{checkVariantSync};};export const useFilter=({cmsPlusComponentName,collectionID,condition,value,cmsFieldName,isPreserving,isFilterActive,interactionActiveFilter,interactionInactiveFilter,controlType,valueIsRequired})=>{const{consoleLogWhenDebuggingCMSPlus}=useConsoleLogWhenDebuggingCMSPlus();const setStore=useStore()[1];const isFilterActive_defaultRef=useRef(isFilterActive);// Step 1: Validate the filter configuration.\nconst isFilter_Valid=useIsFilter_Valid({collectionID,controlType,cmsFieldName,valueIsRequired,value});// Step 2: Initialize the filter with its default state if not already done.\nconst{isFilter_Initialized,isFilter_CurrentlyActive}=useInitializeFilter({cmsFieldName,collectionID,condition,controlType,isFilterActive,isFilter_Valid,isPreserving,value});// compares the current active status with what is in the collection store\nconst desynchronized=isFilterActive!==isFilter_CurrentlyActive;// wait for the component to be ready, then check if the variant needs to be synced\nconst{checkVariantSync}=useVariantSync({desynchronized,isPreserving,component_isReady:isFilter_Initialized,remoteValue:isFilter_CurrentlyActive,debuggingLog:()=>consoleLogWhenDebuggingCMSPlus(`\uD83D\uDD04 Syncing Filter+ to ${isFilter_CurrentlyActive?\"active\":\"inactive\"} variant: id# ${collectionID} | field ${cmsFieldName} | type ${controlType} | condition ${condition} | value ${value}`),transitionToVariant:isFilter_CurrentlyActive?interactionActiveFilter:interactionInactiveFilter});const isFilterActive_Debounced=useDebouncer({delay:200,value:isFilterActive});useEffect(()=>{if(isFilter_Initialized&&desynchronized&&!checkVariantSync){setStore(prev=>({...prev,[collectionID]:{...prev[collectionID],fields:{...prev[collectionID]?.fields,[cmsFieldName]:{...prev[collectionID]?.fields?.[cmsFieldName],filters:prev[collectionID]?.fields?.[cmsFieldName]?.filters?.map(f=>{if(f.condition===condition&&(f.value===value||JSON.stringify(f.value)===JSON.stringify(value))){return{...f,isActive:isFilterActive};}return f;})}}}}));consoleLogWhenDebuggingCMSPlus(`\uD83D\uDFE8 ${isFilterActive?\"Activating\":\"Deactivating\"} Filter+`,cmsFieldName,condition,value,`for id# ${collectionID}.`);}},[isFilter_Initialized,isFilterActive_Debounced,checkVariantSync]);};export const useReferencedCMSIds=()=>{const[store]=useStore();console.log(\"reference cms ids >\",store);};\nexport const __FramerMetadata__ = {\"exports\":{\"useConstructFramerCollectionQueryWhere\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useDebouncer\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useCollectionFromStore\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useGetFramerCMSItems\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useAlert\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useFilter\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useConsoleLogWhenDebuggingCMSPlus\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsFilter_Valid\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useFramerCollectionList\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useInitializeFilter\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useVariantSync\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useReferencedCMSIds\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}", "import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsOnFramerCanvas}from\"framer\";import{cloneElement}from\"react\";import{Header,HelperFrame,ToDoList}from\"https://framer.com/m/Index-nylz.js\";import{useFramerCollectionList}from\"https://framerusercontent.com/modules/uaC9hWf3ec7HqMv3sXMc/fThGQnEUZeWwDLSQMzea/Hooks.js\";/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n *\n * @framerIntrinsicWidth 500\n *\n * @framerDisableUnlink\n */export default function Collection_Plus(props){const cmsPlusComponentName=\"CMS+ Collection+\";const isOnFramerCanvas=useIsOnFramerCanvas();const isDebuggingCMSPlus=!!props._cmsPlusDebugging;const linkedCollectionListFrame=props._collectionListInstance?.[0];const linkedNoSearchResultsFrame=props._noSearchResultsInstance?.[0];// any missing linked frames will show helper frame\nconst missingFrames=!linkedCollectionListFrame||!linkedNoSearchResultsFrame;const{key,noSearchResults}=useFramerCollectionList({collectionPlusID:props.collectionID,framerCollectionList:linkedCollectionListFrame,isDebugging:isDebuggingCMSPlus});/**\n     * The collection list may undergo multiple updates during initial render and filter changes.\n     * To optimize performance and prevent unnecessary re-renders, a key is used to track the list's state:\n     * key = 0: The list is still being initialized or updated due to filter changes.\n     * key > 0: The list is stable and has finished updating.\n     */const isUpdating=isOnFramerCanvas?false:key===0;// show the list when not loading, no missing frames, and doesn't have any errors\nconst showCollectionList=!isUpdating&&!missingFrames&&!noSearchResults;const showNoResultsFrame=isOnFramerCanvas?false:!missingFrames&&noSearchResults;if(isDebuggingCMSPlus){console.log(\"\uD83D\uDD11:\",key);console.log(\"\");}return /*#__PURE__*/_jsxs(_Fragment,{children:[missingFrames&&/*#__PURE__*/_jsxs(HelperFrame,{productName:cmsPlusComponentName,children:[/*#__PURE__*/_jsx(Header,{text:\"Connect Frames\"}),/*#__PURE__*/_jsx(ToDoList,{items:[{text:\"Connect to a Collection List.\",isChecked:!!linkedCollectionListFrame},{text:\"Connect a custom frame to display when there's no search results.\",isChecked:!!linkedNoSearchResultsFrame}]})]}),showCollectionList&&/*#__PURE__*/cloneElement(linkedCollectionListFrame,{key,id:\"cmsPlus\",style:{...linkedCollectionListFrame.props?.style,...props?.style}}),showNoResultsFrame&&/*#__PURE__*/cloneElement(linkedNoSearchResultsFrame,{style:{...linkedNoSearchResultsFrame.props?.style,...props?.style}})]});}// set the name that will be displayed in Assets menu\nCollection_Plus.displayName=\"Collection+\";// property controls for Collection_Plus\naddPropertyControls(Collection_Plus,{collectionID:{type:ControlType.Number,title:\"ID\",defaultValue:0,min:0,displayStepper:true,step:1,description:`Explore its [documentation](https://framercms.plus/documentation/component-collection-plus).`},_collectionListInstance:{type:ControlType.ComponentInstance,title:\"Collection List\",description:`Getting started [video](https://framercms.plus/documentation#quick-start) guide.`},_noSearchResultsInstance:{type:ControlType.ComponentInstance,title:\"No Search Results\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Collection_Plus\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerIntrinsicWidth\":\"500\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}", "import{jsx as _jsx,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n *\n * @framerDisableUnlink\n */export default function CollectionIDControl(props){return /*#__PURE__*/_jsx(_Fragment,{});}addPropertyControls(CollectionIDControl,{collectionID:{type:ControlType.Number,title:\"Collection+ ID\",defaultValue:0,min:0,displayStepper:true,step:1}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CollectionIDControl\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"auto\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./collectionID.map", "import{jsx as _jsx,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,// @ts-ignore\ngetPropertyControls,ControlType,useIsOnFramerCanvas}from\"framer\";import{useEffect}from\"react\";import{useConsoleLogWhenDebuggingCMSPlus}from\"https://framerusercontent.com/modules/uaC9hWf3ec7HqMv3sXMc/fThGQnEUZeWwDLSQMzea/Hooks.js\";import{useStore}from\"https://framerusercontent.com/modules/oaAH7umUjUOTeKmykfom/4GSr51yWhuxjuWu6QpOf/Stores.js\";import CollectionIDControl from\"https://framerusercontent.com/modules/Hxho9sUnioBkMjGbLBed/csoxszrftuhmv2NyuE1c/collectionID.js\";/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n *\n * @framerDisableUnlink\n */export default function Clear_Plus(props){const cmsPlusComponentName=\"Clear+\";const{selectedFilters,selectedRealTimeSearches,clearNow}=props;const[store,setStore]=useStore();const isOnFramerCanvas=useIsOnFramerCanvas();const{consoleLogWhenDebuggingCMSPlus}=useConsoleLogWhenDebuggingCMSPlus();const hasSelectedFilters=selectedFilters.length>0;const hasSelectedRealTimeSearches=selectedRealTimeSearches.length>0;const hasSelections=hasSelectedFilters||hasSelectedRealTimeSearches;// handles clearing filters/searches\nuseEffect(()=>{if(!isOnFramerCanvas&&clearNow&&hasSelections){consoleLogWhenDebuggingCMSPlus(\"\uD83C\uDD91:\",\"Clear+:\",`${hasSelectedFilters?\"filter\":\"\"}${hasSelectedFilters&&hasSelectedRealTimeSearches?\" / \":\"\"}${hasSelectedRealTimeSearches?\"search\":\"\"}`);consoleLogWhenDebuggingCMSPlus(selectedFilters,selectedRealTimeSearches);setStore(prev=>{const newStore={...prev};// loop through the user inputs selected collection ID(s) to clear search text(s)\nfor(let index=0;index<selectedRealTimeSearches.length;index++){const collectionID=selectedRealTimeSearches[index];const collection=newStore[collectionID];//  skip if collection is undefined\nif(!collection)continue;// if the user also listed to clear any real time searches, check if this collecition in included and null the text\nif(selectedRealTimeSearches.includes(collectionID)){newStore[collectionID].realTimeSearch={...newStore[collectionID].realTimeSearch,text:\"\",fields:[]};}}// this loop handles the selected filters to clear\nfor(let index=0;index<selectedFilters.length;index++){const{collectionID,clearAllActiveFilters,cmsFieldNames}=selectedFilters[index];const collection=newStore[collectionID];//  skip if collection is undefined\nif(!collection)continue;if(clearAllActiveFilters){for(const[name1,{filters}]of Object.entries(collection.fields)){if(!filters)continue;// deactivate all active filters\nconsoleLogWhenDebuggingCMSPlus(\"\uD83C\uDD91:\",\"Clear+:\",`All filters for id#${collectionID} \"${name1}\".`);newStore[collectionID].fields={...newStore[collectionID].fields,[name1]:{...newStore[collectionID].fields[name1],filters:filters.map(f=>{if(f.isActive){return{...f,isActive:false};}return f;})}};}}else{cmsFieldNames.forEach(cmsFieldName=>{const field=newStore[collectionID].fields[cmsFieldName];// abort if field does not exist\nif(!field){consoleLogWhenDebuggingCMSPlus(\"\u274C:\",\"Clear+:\",`Field ${cmsFieldName} not found on id# ${collectionID} \"${name}\".`);return;}// abort if this doesn't have any filters to clear\nif(!field.filters||field.filters.length===0){consoleLogWhenDebuggingCMSPlus(\"\u274C:\",\"Clear+:\",`Field ${cmsFieldName} from id# ${collectionID} has no filters.`);return;}// deactivate all active filters\nnewStore[collectionID].fields={...newStore[collectionID].fields,[cmsFieldName]:{...newStore[collectionID].fields[cmsFieldName],filters:field.filters.map(f=>{if(f.isActive){return{...f,isActive:false};}return f;})}};});}}return newStore;});}},[isOnFramerCanvas,clearNow]);return /*#__PURE__*/_jsx(_Fragment,{});}Clear_Plus.displayName=\"Clear+\";addPropertyControls(Clear_Plus,{clearNow:{type:ControlType.Boolean,defaultValue:false,description:`Triggers clearing function. [Learn more](https://framercms.plus/documentation/pure-functionality).\nExplore its [documentation](https://framercms.plus/documentation/component-clear-plus).`,title:\"Clear\"},selectedFilters:{type:ControlType.Array,title:\"Active Filters\",defaultValue:[],control:{type:ControlType.Object,title:\"Collections & Filters\",controls:{...getPropertyControls(CollectionIDControl),clearAllActiveFilters:{type:ControlType.Boolean,title:\"All Filters\",defaultValue:true},cmsFieldNames:{type:ControlType.Array,title:\"Fields\",description:\"Must match exactly as the field is named in its collection.\",control:{type:ControlType.String,title:\"Field\",defaultValue:\"\"},hidden:props=>props.clearAllActiveFilters}}}},selectedRealTimeSearches:{type:ControlType.Array,title:\"Real Time Searches\",description:\"Clear the search text for the listed Collection+ IDs.\",defaultValue:[],control:{title:\"ID\",type:ControlType.Number,defaultValue:0,min:0,displayStepper:true,step:1}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Clear_Plus\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"auto\",\"framerDisableUnlink\":\"\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}", "// Generated by Framer (a4aa1f7)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,ComponentViewportProvider,cx,getFonts,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Clear from\"https://framerusercontent.com/modules/b9Ahpqbe406WaEtVhaF0/XCBQ4QWWxYvqLLSTRUiO/Clear_Plus.js\";import{Icon as Phosphor}from\"https://framerusercontent.com/modules/tYScH7LTqUtz5KUaUAYP/p8dptk4UIND8hbFWz9V7/Phosphor.js\";const PhosphorFonts=getFonts(Phosphor);const ClearFonts=getFonts(Clear);const enabledGestures={QMT22FFoV:{pressed:true}};const serializationHash=\"framer-RBoyH\";const variantClassNames={QMT22FFoV:\"framer-v-10x2lnl\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const transformTemplate1=(_,t)=>`translateY(-50%) ${t}`;const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"QMT22FFoV\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-10x2lnl\",className,classNames),\"data-framer-name\":\"Inactive\",layoutDependency:layoutDependency,layoutId:\"QMT22FFoV\",ref:refBinding,style:{backgroundColor:\"rgba(0, 0, 0, 0)\",borderBottomLeftRadius:5,borderBottomRightRadius:5,borderTopLeftRadius:5,borderTopRightRadius:5,...style},variants:{\"QMT22FFoV-pressed\":{backgroundColor:\"rgb(186, 39, 39)\"}},...addPropertyOverrides({\"QMT22FFoV-pressed\":{\"data-framer-name\":undefined}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1ff5z5x-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"uJJY7mMGM-container\",nodeId:\"uJJY7mMGM\",rendersWithMotion:true,scopeId:\"pJc6A2olN\",style:{opacity:.8,rotateY:180},variants:{\"QMT22FFoV-pressed\":{opacity:1}},children:/*#__PURE__*/_jsx(Phosphor,{color:\"var(--token-9e4d3cd9-c6a1-4d3f-93c0-3bd54ca04155, rgb(17, 25, 33))\",height:\"100%\",iconSearch:\"House\",iconSelection:\"ArrowClockwise\",id:\"uJJY7mMGM\",layoutId:\"uJJY7mMGM\",mirrored:false,selectByList:true,style:{height:\"100%\",width:\"100%\"},weight:\"regular\",width:\"100%\",...addPropertyOverrides({\"QMT22FFoV-pressed\":{color:\"var(--token-7cfab920-9d1e-4f38-8c7a-a58d533b8508, rgb(255, 255, 255))\"}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-qqveal-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"wwo9Oojnx-container\",nodeId:\"wwo9Oojnx\",rendersWithMotion:true,scopeId:\"pJc6A2olN\",transformTemplate:transformTemplate1,children:/*#__PURE__*/_jsx(Clear,{clearNow:false,height:\"100%\",id:\"wwo9Oojnx\",layoutId:\"wwo9Oojnx\",selectedFilters:[{clearAllActiveFilters:true,cmsFieldNames:[],collectionID:1}],selectedRealTimeSearches:[],width:\"100%\",...addPropertyOverrides({\"QMT22FFoV-pressed\":{clearNow:true}},baseVariant,gestureVariant)})})})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-RBoyH.framer-17ax14e, .framer-RBoyH .framer-17ax14e { display: block; }\",\".framer-RBoyH.framer-10x2lnl { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: 30px; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 30px; will-change: var(--framer-will-change-override, transform); }\",\".framer-RBoyH .framer-1ff5z5x-container { flex: none; height: 25px; position: relative; width: 25px; }\",\".framer-RBoyH .framer-qqveal-container { flex: none; height: auto; position: absolute; right: 3px; top: 50%; width: auto; z-index: 1; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 30\n * @framerIntrinsicWidth 30\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"SgA40WrTH\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerpJc6A2olN=withCSS(Component,css,\"framer-RBoyH\");export default FramerpJc6A2olN;FramerpJc6A2olN.displayName=\"Sort Item - Reset - Icon\";FramerpJc6A2olN.defaultProps={height:30,width:30};addFonts(FramerpJc6A2olN,[{explicitInter:true,fonts:[]},...PhosphorFonts,...ClearFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerpJc6A2olN\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\",\"framerColorSyntax\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerIntrinsicHeight\":\"30\",\"framerComponentViewportWidth\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicWidth\":\"30\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"SgA40WrTH\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./pJc6A2olN.map", "// @ts-ignore\nimport{jsx as _jsx,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,getPropertyControls,ControlType}from\"framer\";import CollectionIDControl from\"https://framerusercontent.com/modules/Hxho9sUnioBkMjGbLBed/csoxszrftuhmv2NyuE1c/collectionID.js\";/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n *\n * @framerDisableUnlink\n */export default function BaseFilterControls(props){return /*#__PURE__*/_jsx(_Fragment,{});}addPropertyControls(BaseFilterControls,{...getPropertyControls(CollectionIDControl),interactionActiveFilter:{type:ControlType.EventHandler,title:\"Active Filter\",defaultValue:null},interactionInactiveFilter:{type:ControlType.EventHandler,title:\"Inactive Filter\",defaultValue:null},applyFilter:{type:ControlType.Boolean,title:\"Filter\",defaultValue:false,enabledTitle:\"Apply\",disabledTitle:\"Clear\",description:`Triggers filter function. [Learn more](https://framercms.plus/documentation/pure-functionality).\nExplore its [documentation](https://framercms.plus/documentation/component-filters-plus).`},preserveActiveFilter:{type:ControlType.Boolean,title:\"Preserve\",defaultValue:true,description:`Filter state. [Explore feature.](https://framercms.plus/documentation/preserve-settings)`}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"BaseFilterControls\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"auto\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}", "import{jsx as _jsx,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n *\n * @framerDisableUnlink\n */export default function CMSFieldNameControl(props){return /*#__PURE__*/_jsx(_Fragment,{});}addPropertyControls(CMSFieldNameControl,{cmsFieldName:{type:ControlType.String,title:\"Field Name\",description:\"Must match exactly as the field is named in its collection.\",defaultValue:\"\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CMSFieldNameControl\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./cmsFieldName.map", "import{jsx as _jsx,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,// @ts-ignore\ngetPropertyControls,ControlType}from\"framer\";import{useFilter}from\"https://framerusercontent.com/modules/uaC9hWf3ec7HqMv3sXMc/fThGQnEUZeWwDLSQMzea/Hooks.js\";import BaseControls from\"https://framerusercontent.com/modules/1abSdslctova79WmNQRw/3fHstYFUOpeaxageGRMz/Filter_Base.js\";import CollectionIDControl from\"https://framerusercontent.com/modules/Hxho9sUnioBkMjGbLBed/csoxszrftuhmv2NyuE1c/collectionID.js\";import CMSFieldNameControl from\"https://framerusercontent.com/modules/xPWn77sAdxuRvon75kLo/B2UIyi7WVbdsZJvHIaDR/cmsFieldName.js\";/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n *\n * @framerDisableUnlink\n */export default function PlainTextFilterPlus(props){const{applyFilter,cmsFieldName,collectionID,condition,interactionActiveFilter,interactionInactiveFilter,preserveActiveFilter,value}=props;const cmsPlusComponentName=\"Filter+ PlainText\";useFilter({cmsFieldName,cmsPlusComponentName,collectionID,condition,interactionActiveFilter,interactionInactiveFilter,isPreserving:preserveActiveFilter,value:value.trim()?value:undefined,isFilterActive:applyFilter,controlType:\"string\",valueIsRequired:!condition.includes(\"IS_SET\")});return /*#__PURE__*/_jsx(_Fragment,{});}PlainTextFilterPlus.displayName=\"Filter+ PlainText\";addPropertyControls(PlainTextFilterPlus,{...getPropertyControls(CollectionIDControl),...getPropertyControls(BaseControls),...getPropertyControls(CMSFieldNameControl),condition:{type:ControlType.Enum,title:\"Condition\",defaultValue:\"==\",optionTitles:[\"Is Set\",\"Isn't Set\",\"Equals\",\"Doesn't Equal\",\"Starts With\",\"Doesn't Start With\",\"Ends With\",\"Doesn't End With\",\"Contains\",\"Doesn't Contain\"],options:[\"IS_SET\",\"!IS_SET\",\"==\",\"!=\",\"STARTS_WITH\",\"!STARTS_WITH\",\"ENDS_WITH\",\"!ENDS_WITH\",\"CONTAINS\",\"!CONTAINS\"]},value:{type:ControlType.String,title:\"Value\",defaultValue:\"\",placeholder:\"case-sensitive\",hidden:props=>props.condition.includes(\"IS_SET\")}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PlainTextFilterPlus\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"auto\",\"framerSupportedLayoutHeight\":\"auto\",\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}", "// Generated by Framer (a4aa1f7)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getPropertyControls,SmartComponentScopedContainer,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import FilterPlainText from\"https://framerusercontent.com/modules/rh6e2sb1Jywsg0Jg5MC9/nU76KIngapLuixkcwZx7/PlainText_Plus.js\";import{Icon as Phosphor}from\"https://framerusercontent.com/modules/tYScH7LTqUtz5KUaUAYP/p8dptk4UIND8hbFWz9V7/Phosphor.js\";const PhosphorFonts=getFonts(Phosphor);const FilterPlainTextFonts=getFonts(FilterPlainText);const PhosphorControls=getPropertyControls(Phosphor);const FilterPlainTextControls=getPropertyControls(FilterPlainText);const cycleOrder=[\"vaFEGMBYD\",\"cFXedVDiO\"];const serializationHash=\"framer-8I7ws\";const variantClassNames={cFXedVDiO:\"framer-v-zv4l0o\",vaFEGMBYD:\"framer-v-1tmt14w\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const transformTemplate1=(_,t)=>`translateX(-50%) ${t}`;const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableEnumMap={\"Doesn't Contain\":\"!CONTAINS\",\"Doesn't End With\":\"!ENDS_WITH\",\"Doesn't Equal\":\"!=\",\"Doesn't Start With\":\"!STARTS_WITH\",\"Ends With\":\"ENDS_WITH\",\"Is Set\":\"IS_SET\",\"Isn't Set\":\"!IS_SET\",\"Starts With\":\"STARTS_WITH\",Contains:\"CONTAINS\",Equals:\"==\"};const humanReadableVariantMap={Active:\"cFXedVDiO\",Inactive:\"vaFEGMBYD\"};const getProps=({collectionID,condition,fieldName,height,icon,id,value,width,...props})=>{return{...props,M2cHHMy2I:collectionID??props.M2cHHMy2I,ObawQz_fZ:icon??props.ObawQz_fZ??\"NumberCircleTwo\",tiBnMttah:fieldName??props.tiBnMttah??\"Price\",UYeYBy9mw:value??props.UYeYBy9mw,v_zPHRhiF:humanReadableEnumMap[condition]??condition??props.v_zPHRhiF??\"==\",variant:humanReadableVariantMap[props.variant]??props.variant??\"vaFEGMBYD\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,M2cHHMy2I,tiBnMttah,UYeYBy9mw,ObawQz_fZ,v_zPHRhiF,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"vaFEGMBYD\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap161j6e5=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});setVariant(\"cFXedVDiO\");});const onTapqgvbqg=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});setVariant(\"vaFEGMBYD\");});const interactionActiveFilter1ep96ic=activeVariantCallback(async(...args)=>{setVariant(\"cFXedVDiO\");});const interactionInactiveFilter38wj90=activeVariantCallback(async(...args)=>{setVariant(\"vaFEGMBYD\");});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1tmt14w\",className,classNames),\"data-framer-name\":\"Inactive\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"vaFEGMBYD\",onTap:onTap161j6e5,ref:refBinding,style:{backgroundColor:\"var(--token-8870a9c4-2a9d-46c2-84fc-3470fbec519e, rgba(0, 0, 0, 0.05))\",...style},variants:{cFXedVDiO:{backgroundColor:\"var(--token-9f0badbf-8d74-41b8-a73a-e1a6bdec487b, rgb(254, 209, 9))\"}},...addPropertyOverrides({cFXedVDiO:{\"data-framer-name\":\"Active\",onTap:onTapqgvbqg}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1svfdeh-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"w9cSFF11A-container\",nodeId:\"w9cSFF11A\",rendersWithMotion:true,scopeId:\"PZ1h_drg_\",style:{opacity:.8},children:/*#__PURE__*/_jsx(Phosphor,{color:\"var(--token-9e4d3cd9-c6a1-4d3f-93c0-3bd54ca04155, rgb(17, 25, 33))\",height:\"100%\",iconSearch:\"House\",iconSelection:ObawQz_fZ,id:\"w9cSFF11A\",layoutId:\"w9cSFF11A\",mirrored:false,selectByList:true,style:{height:\"100%\",width:\"100%\"},weight:\"regular\",width:\"100%\",...addPropertyOverrides({cFXedVDiO:{weight:\"fill\"}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-yodv85-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"UEyp72zHh-container\",nodeId:\"UEyp72zHh\",rendersWithMotion:true,scopeId:\"PZ1h_drg_\",transformTemplate:transformTemplate1,children:/*#__PURE__*/_jsx(FilterPlainText,{applyFilter:false,cmsFieldName:tiBnMttah,collectionID:M2cHHMy2I,condition:v_zPHRhiF,height:\"100%\",id:\"UEyp72zHh\",interactionActiveFilter:interactionActiveFilter1ep96ic,interactionInactiveFilter:interactionInactiveFilter38wj90,layoutId:\"UEyp72zHh\",preserveActiveFilter:true,value:UYeYBy9mw,width:\"100%\",...addPropertyOverrides({cFXedVDiO:{applyFilter:true}},baseVariant,gestureVariant)})})})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-8I7ws.framer-ij6ls1, .framer-8I7ws .framer-ij6ls1 { display: block; }\",\".framer-8I7ws.framer-1tmt14w { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 5px; height: 30px; justify-content: center; overflow: hidden; padding: 10px 5px 10px 5px; position: relative; width: min-content; }\",\".framer-8I7ws .framer-1svfdeh-container { flex: none; height: 20px; position: relative; width: 20px; }\",\".framer-8I7ws .framer-yodv85-container { bottom: 225px; flex: none; height: auto; left: 50%; position: absolute; width: auto; z-index: 1; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 30\n * @framerIntrinsicWidth 30\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"fixed\"]},\"cFXedVDiO\":{\"layout\":[\"auto\",\"fixed\"]}}}\n * @framerVariables {\"M2cHHMy2I\":\"collectionID\",\"tiBnMttah\":\"fieldName\",\"UYeYBy9mw\":\"value\",\"ObawQz_fZ\":\"icon\",\"v_zPHRhiF\":\"condition\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerPZ1h_drg_=withCSS(Component,css,\"framer-8I7ws\");export default FramerPZ1h_drg_;FramerPZ1h_drg_.displayName=\"Sort Item - Plain Text - Icon\";FramerPZ1h_drg_.defaultProps={height:30,width:30};addPropertyControls(FramerPZ1h_drg_,{variant:{options:[\"vaFEGMBYD\",\"cFXedVDiO\"],optionTitles:[\"Inactive\",\"Active\"],title:\"Variant\",type:ControlType.Enum},M2cHHMy2I:{defaultValue:0,displayStepper:true,min:0,step:1,title:\"Collection ID\",type:ControlType.Number},tiBnMttah:{defaultValue:\"Price\",title:\"Field Name\",type:ControlType.String},UYeYBy9mw:{defaultValue:\"\",title:\"Value\",type:ControlType.String},ObawQz_fZ:PhosphorControls?.[\"iconSelection\"]&&{...PhosphorControls[\"iconSelection\"],defaultValue:\"NumberCircleTwo\",description:undefined,hidden:undefined,title:\"Icon\"},v_zPHRhiF:FilterPlainTextControls?.[\"condition\"]&&{...FilterPlainTextControls[\"condition\"],defaultValue:\"==\",description:undefined,hidden:undefined,title:\"Condition\"}});addFonts(FramerPZ1h_drg_,[{explicitInter:true,fonts:[]},...PhosphorFonts,...FilterPlainTextFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerPZ1h_drg_\",\"slots\":[],\"annotations\":{\"framerDisplayContentsDiv\":\"false\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"30\",\"framerImmutableVariables\":\"true\",\"framerVariables\":\"{\\\"M2cHHMy2I\\\":\\\"collectionID\\\",\\\"tiBnMttah\\\":\\\"fieldName\\\",\\\"UYeYBy9mw\\\":\\\"value\\\",\\\"ObawQz_fZ\\\":\\\"icon\\\",\\\"v_zPHRhiF\\\":\\\"condition\\\"}\",\"framerIntrinsicWidth\":\"30\",\"framerColorSyntax\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]},\\\"cFXedVDiO\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]}}}\",\"framerAutoSizeImages\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./PZ1h_drg_.map", "import{jsx as _jsx,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,// @ts-ignore\ngetPropertyControls,ControlType}from\"framer\";import{useFilter}from\"https://framerusercontent.com/modules/uaC9hWf3ec7HqMv3sXMc/fThGQnEUZeWwDLSQMzea/Hooks.js\";import BaseControls from\"https://framerusercontent.com/modules/1abSdslctova79WmNQRw/3fHstYFUOpeaxageGRMz/Filter_Base.js\";import CollectionIDControl from\"https://framerusercontent.com/modules/Hxho9sUnioBkMjGbLBed/csoxszrftuhmv2NyuE1c/collectionID.js\";import CMSFieldNameControl from\"https://framerusercontent.com/modules/xPWn77sAdxuRvon75kLo/B2UIyi7WVbdsZJvHIaDR/cmsFieldName.js\";/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n *\n * @framerDisableUnlink\n */export default function OptionFilterPlus(props){const{applyFilter,cmsFieldName,collectionID,condition,interactionActiveFilter,interactionInactiveFilter,preserveActiveFilter,value}=props;const cmsPlusComponentName=\"Filter+ Option\";useFilter({cmsFieldName,cmsPlusComponentName,collectionID,condition,interactionActiveFilter,interactionInactiveFilter,isPreserving:preserveActiveFilter,isFilterActive:applyFilter,controlType:\"enum\",value:value.trim()?value:undefined,valueIsRequired:true});return /*#__PURE__*/_jsx(_Fragment,{});}OptionFilterPlus.displayName=\"Filter+ Option\";addPropertyControls(OptionFilterPlus,{...getPropertyControls(CollectionIDControl),...getPropertyControls(BaseControls),...getPropertyControls(CMSFieldNameControl),condition:{type:ControlType.Enum,title:\"Condition\",defaultValue:\"==\",optionTitles:[\"Equals\",\"Doesn't Equal\"],options:[\"==\",\"!=\"]},value:{type:ControlType.String,title:\"Value\",defaultValue:\"\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"OptionFilterPlus\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutWidth\":\"auto\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}", "// Generated by Framer (a4aa1f7)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getPropertyControls,RichText,SmartComponentScopedContainer,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import FilterOption from\"https://framerusercontent.com/modules/cF4BbWM5faZdppOwbrSl/vBy9iE1F80dKTzAwjEt2/Option_Plus.js\";const FilterOptionFonts=getFonts(FilterOption);const FilterOptionControls=getPropertyControls(FilterOption);const cycleOrder=[\"bOY39NKIi\",\"MzXL1C3hM\"];const serializationHash=\"framer-pImvh\";const variantClassNames={bOY39NKIi:\"framer-v-1hseool\",MzXL1C3hM:\"framer-v-18tsawa\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const transformTemplate1=(_,t)=>`translateY(-50%) ${t}`;const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableEnumMap={\"Doesn't Equal\":\"!=\",Equals:\"==\"};const humanReadableVariantMap={Active:\"MzXL1C3hM\",Inactive:\"bOY39NKIi\"};const getProps=({collectionID,condition,fieldName,height,id,label,value,width,...props})=>{return{...props,bHXT06Gqj:humanReadableEnumMap[condition]??condition??props.bHXT06Gqj??\"==\",M2cHHMy2I:collectionID??props.M2cHHMy2I,tiBnMttah:fieldName??props.tiBnMttah??\"Price\",UYeYBy9mw:value??props.UYeYBy9mw,variant:humanReadableVariantMap[props.variant]??props.variant??\"bOY39NKIi\",VqE7pnXod:label??props.VqE7pnXod??\"Beds\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,VqE7pnXod,M2cHHMy2I,tiBnMttah,UYeYBy9mw,bHXT06Gqj,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"bOY39NKIi\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap17r8pyv=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});setVariant(\"MzXL1C3hM\");});const onTapvrlbft=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});setVariant(\"bOY39NKIi\");});const interactionActiveFilter13d2l31=activeVariantCallback(async(...args)=>{setVariant(\"MzXL1C3hM\");});const interactionInactiveFiltery1i040=activeVariantCallback(async(...args)=>{setVariant(\"bOY39NKIi\");});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1hseool\",className,classNames),\"data-framer-name\":\"Inactive\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"bOY39NKIi\",onTap:onTap17r8pyv,ref:refBinding,style:{backgroundColor:\"var(--token-8870a9c4-2a9d-46c2-84fc-3470fbec519e, rgba(0, 0, 0, 0.05))\",...style},variants:{MzXL1C3hM:{backgroundColor:\"var(--token-9f0badbf-8d74-41b8-a73a-e1a6bdec487b, rgb(254, 209, 9))\"}},...addPropertyOverrides({MzXL1C3hM:{\"data-framer-name\":\"Active\",onTap:onTapvrlbft}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7SW50ZXItNTAw\",\"--framer-font-family\":'\"Inter\", \"Inter Placeholder\", sans-serif',\"--framer-font-size\":\"12px\",\"--framer-font-weight\":\"500\",\"--framer-letter-spacing\":\"-0.02em\",\"--framer-line-height\":\"120%\",\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-9e4d3cd9-c6a1-4d3f-93c0-3bd54ca04155, rgb(20, 20, 20)))\"},children:\"Beds\"})}),className:\"framer-1h5sqcq\",fonts:[\"GF;Inter-500\"],layoutDependency:layoutDependency,layoutId:\"YoBeAGaxd\",style:{\"--extracted-r6o4lv\":\"var(--token-9e4d3cd9-c6a1-4d3f-93c0-3bd54ca04155, rgb(20, 20, 20))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\",opacity:.8},text:VqE7pnXod,verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-11lsvf5-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"KLjZhodhl-container\",nodeId:\"KLjZhodhl\",rendersWithMotion:true,scopeId:\"RinFalM6D\",transformTemplate:transformTemplate1,children:/*#__PURE__*/_jsx(FilterOption,{applyFilter:false,cmsFieldName:tiBnMttah,collectionID:M2cHHMy2I,condition:bHXT06Gqj,height:\"100%\",id:\"KLjZhodhl\",interactionActiveFilter:interactionActiveFilter13d2l31,interactionInactiveFilter:interactionInactiveFiltery1i040,layoutId:\"KLjZhodhl\",preserveActiveFilter:true,value:UYeYBy9mw,width:\"100%\",...addPropertyOverrides({MzXL1C3hM:{applyFilter:true}},baseVariant,gestureVariant)})})})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-pImvh.framer-ru30rv, .framer-pImvh .framer-ru30rv { display: block; }\",\".framer-pImvh.framer-1hseool { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 5px; height: 30px; justify-content: center; overflow: hidden; padding: 10px 7px 10px 7px; position: relative; width: min-content; }\",\".framer-pImvh .framer-1h5sqcq { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-pImvh .framer-11lsvf5-container { flex: none; height: auto; left: 0px; position: absolute; top: 50%; width: auto; z-index: 1; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 30\n * @framerIntrinsicWidth 42\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"fixed\"]},\"MzXL1C3hM\":{\"layout\":[\"auto\",\"fixed\"]}}}\n * @framerVariables {\"VqE7pnXod\":\"label\",\"M2cHHMy2I\":\"collectionID\",\"tiBnMttah\":\"fieldName\",\"UYeYBy9mw\":\"value\",\"bHXT06Gqj\":\"condition\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerRinFalM6D=withCSS(Component,css,\"framer-pImvh\");export default FramerRinFalM6D;FramerRinFalM6D.displayName=\"Sort Item - Option Toggle - Text\";FramerRinFalM6D.defaultProps={height:30,width:42};addPropertyControls(FramerRinFalM6D,{variant:{options:[\"bOY39NKIi\",\"MzXL1C3hM\"],optionTitles:[\"Inactive\",\"Active\"],title:\"Variant\",type:ControlType.Enum},VqE7pnXod:{defaultValue:\"Beds\",displayTextArea:false,title:\"Label\",type:ControlType.String},M2cHHMy2I:{defaultValue:0,displayStepper:true,min:0,step:1,title:\"Collection ID\",type:ControlType.Number},tiBnMttah:{defaultValue:\"Price\",title:\"Field Name\",type:ControlType.String},UYeYBy9mw:{defaultValue:\"\",title:\"Value\",type:ControlType.String},bHXT06Gqj:FilterOptionControls?.[\"condition\"]&&{...FilterOptionControls[\"condition\"],defaultValue:\"==\",description:undefined,hidden:undefined,title:\"Condition\"}});addFonts(FramerRinFalM6D,[{explicitInter:true,fonts:[{family:\"Inter\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/inter/v19/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuI6fMZ1rib2Bg-4.woff2\",weight:\"500\"}]},...FilterOptionFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerRinFalM6D\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"30\",\"framerComponentViewportWidth\":\"true\",\"framerContractVersion\":\"1\",\"framerDisplayContentsDiv\":\"false\",\"framerImmutableVariables\":\"true\",\"framerColorSyntax\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]},\\\"MzXL1C3hM\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]}}}\",\"framerIntrinsicWidth\":\"42\",\"framerVariables\":\"{\\\"VqE7pnXod\\\":\\\"label\\\",\\\"M2cHHMy2I\\\":\\\"collectionID\\\",\\\"tiBnMttah\\\":\\\"fieldName\\\",\\\"UYeYBy9mw\\\":\\\"value\\\",\\\"bHXT06Gqj\\\":\\\"condition\\\"}\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./RinFalM6D.map", "import{jsx as _jsx,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,// @ts-ignore\ngetPropertyControls,ControlType,useIsOnFramerCanvas}from\"framer\";import{useEffect,useRef}from\"react\";import{useConsoleLogWhenDebuggingCMSPlus,useDebouncer}from\"https://framerusercontent.com/modules/uaC9hWf3ec7HqMv3sXMc/fThGQnEUZeWwDLSQMzea/Hooks.js\";import{useStore}from\"https://framerusercontent.com/modules/oaAH7umUjUOTeKmykfom/4GSr51yWhuxjuWu6QpOf/Stores.js\";import CollectionIDControl from\"https://framerusercontent.com/modules/Hxho9sUnioBkMjGbLBed/csoxszrftuhmv2NyuE1c/collectionID.js\";/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n *\n * @framerDisableUnlink\n */export default function Sort_Plus(props){const{collectionID,interactionAscendingSort,interactionDescendingSort,orderDirection,preserveSort}=props;const cmsPlusComponentName=\"Sort+\";const{consoleLogWhenDebuggingCMSPlus}=useConsoleLogWhenDebuggingCMSPlus();const isOnFramerCanvas=useIsOnFramerCanvas();const[store,setStore]=useStore();const collection=store[collectionID]||null;const sortIsInitialized=collection?.sort||null;const collectionIsInitializedInStore=!!collection;const collectionIsReady=!isOnFramerCanvas&&collectionIsInitializedInStore;const needsVariantSyncCheckRef=useRef(true);// debounces between ascending and descening toggle\nconst orderDirectionDebounced=useDebouncer({delay:200,value:orderDirection});// handles toggling the sorting order\nuseEffect(()=>{if(collectionIsReady&&!needsVariantSyncCheckRef.current){consoleLogWhenDebuggingCMSPlus(\"\uD83D\uDD03:\",`Sort+: ${orderDirectionDebounced?\"Ascending\":\"Descending\"}.`);setStore(prev=>({...prev,[collectionID]:{...prev[collectionID],sort:orderDirectionDebounced?\"asc\":\"desc\"}}));}},[collectionIsReady,orderDirectionDebounced]);// on mount, will initiate the sort on the collection in store, or if it already exists and this sort is bieng preserved, it will sync the corresponding variant\nuseEffect(()=>{if(collectionIsReady){if(sortIsInitialized){if(preserveSort){const currentSort=collection.sort;const variantSort=orderDirection?\"asc\":\"desc\";if(variantSort!==currentSort){consoleLogWhenDebuggingCMSPlus(\"\uD83D\uDD04:\",\"Preserving active sort variant, syncing...\");currentSort===\"asc\"?interactionAscendingSort?.():interactionDescendingSort?.();}}}else{consoleLogWhenDebuggingCMSPlus(\"\u2705:\",`Initializing Sort+: id# ${collectionID} || direction ${orderDirection?\"Ascending\":\"Descending\"}`);setStore(prev=>({...prev,[collectionID]:{...prev[collectionID],sort:orderDirection?\"asc\":\"desc\"}}));}needsVariantSyncCheckRef.current=false;}// clean up function for component unmounting, will reset sorting if not being preserved\nreturn()=>{if(collectionIsReady&&!preserveSort){setStore(prev=>({...prev,[collectionID]:{...prev[collectionID],sort:orderDirection?\"asc\":\"desc\"}}));}};},[collectionIsReady]);return /*#__PURE__*/_jsx(_Fragment,{});}Sort_Plus.displayName=\"Sort+\";addPropertyControls(Sort_Plus,{...getPropertyControls(CollectionIDControl),orderDirection:{type:ControlType.Boolean,title:\"Sort By\",defaultValue:true,enabledTitle:\"A -> Z\",disabledTitle:\"Z -> A\",description:`Triggers sorting function. [Learn more](https://framercms.plus/documentation/pure-functionality).\nExplore its [documentation](https://framercms.plus/documentation/component-sort-plus).`},preserveSort:{type:ControlType.Boolean,title:\"Preserve\",defaultValue:true,description:`Sort order. [Explore feature.](https://framercms.plus/documentation/preserve-settings)`},interactionAscendingSort:{type:ControlType.EventHandler,title:\"Ascending Sort\"},interactionDescendingSort:{type:ControlType.EventHandler,title:\"Descending Sort\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Sort_Plus\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"auto\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],
  "mappings": "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",
  "names": ["Branding_Tag", "productName", "p", "Header", "text", "align", "p", "HelperFrame", "children", "productName", "align", "error", "justify", "rgb", "containerProps", "u", "p", "Branding_Tag", "Header", "Header", "text", "align", "p", "ListItem", "text", "isChecked", "u", "p", "ToDoList", "items", "p", "item", "index", "ListItem", "createStore", "state1", "dataStore", "Data", "setDataStore", "newState", "storeState", "storeSetters", "setStoreState", "setter", "useStore", "state", "setState", "ye", "ue", "useObserveData", "useStore", "createStore", "useDevStore", "getProps", "object", "target", "returnParent", "propMatch", "typeMatch", "nestedProp", "value", "result", "getAllCollections", "queryFrom", "referencedCollections", "constraint", "left", "right", "type", "createBinaryOperationNode", "operator", "createCaseNode", "controlId", "optionIds", "createCondition", "optionId", "createFunctionCallNode", "binaryNode", "functionName", "createUnaryOperationNode", "handleCondition_IsIncludedIn", "collection", "condition", "name", "negateValue", "node", "handleCondition_IsSet", "handleCondition_StartsWith_EndsWith_Contains", "controlIdentifier", "parseRangeCondition", "rangeString", "startOperator", "endOperator", "ranges", "handleCondition_IsBetween", "start", "end", "createFramerFilterTree", "nodes", "tree", "index", "useConsoleLogWhenDebuggingCMSPlus", "store", "useDevStore", "args", "useDebouncer", "delay", "value", "debouncedValue", "setDebouncedValue", "ye", "ue", "ID", "useConstructFramerCollectionQueryWhere", "collectionID", "consoleLogWhenDebuggingCMSPlus", "useConsoleLogWhenDebuggingCMSPlus", "store", "useStore", "collection", "alias", "fields", "realTimeSearch", "collectionReferences", "branches", "nodes", "fieldName", "control", "type", "controlIdentifier", "createFunctionCallNode", "createBinaryOperationNode", "createFramerFilterTree", "name", "props", "id", "options", "optionTitles", "filters", "activeFilter", "currentFilterIndex", "theseFilters", "condition", "value", "isActive", "activeFilterOptionIds", "thisFilter", "index", "createCaseNode", "handleCondition_IsSet", "handleCondition_StartsWith_EndsWith_Contains", "range", "parseRangeCondition", "start", "end", "handleCondition_IsBetween", "createUnaryOperationNode", "collectionIdentifier", "handleCondition_IsIncludedIn", "argument", "negateValue", "node", "where", "useFramerCollectionList", "collectionPlusID", "framerCollectionList", "isDebugging", "setStore", "devStore", "setDevStore", "useDevStore", "key", "setKey", "ye", "noSearchResults", "setNoSearchResults", "setCollection", "collectionInitializedInStore", "sortDirection", "debounced_delay", "isOnFramerCanvas", "useIsOnFramerCanvas", "constructFramerCollectionQueryWhere", "fields_debounced", "useDebouncer", "searchText_debounced", "framerCollectionList_debounced", "searchResults", "se", "useQueryData", "ue", "noResults", "updatedKey", "prev", "query", "getProps", "storedCollection", "defaultFilters", "cmsFieldsByID", "cmsFieldsByName", "controlID", "field", "title", "otherProps", "from", "allCollections", "getAllCollections", "useCollectionFromStore", "useIsFilter_Valid", "controlType", "cmsFieldName", "valueIsRequired", "isFilter_Valid", "setIsFilter_Valid", "isCollectionReady", "collectionFromStore", "supportedControlTypes", "isSupportedType", "usingMatchingFilterType", "errors", "useInitializeFilter", "isFilterActive", "isPreserving", "defaultValues_Ref", "pe", "initializedFilter", "f", "isFilterActive_defaultRef", "isFilterActive_Ref", "isFilter_Initialized_Ref", "prevFilters", "currentValues", "hasOverrides", "currentValue", "defaultValue", "prevCMSFieldName", "prevCollectionID", "prevCondition", "prevValue", "useVariantSync", "component_isReady", "debuggingLog", "desynchronized", "remoteValue", "transitionToVariant", "checkVariantSync", "setCheckVariantSync", "useFilter", "cmsPlusComponentName", "interactionActiveFilter", "interactionInactiveFilter", "isFilter_Initialized", "isFilter_CurrentlyActive", "isFilterActive_Debounced", "Collection_Plus", "props", "cmsPlusComponentName", "isOnFramerCanvas", "useIsOnFramerCanvas", "isDebuggingCMSPlus", "linkedCollectionListFrame", "linkedNoSearchResultsFrame", "missingFrames", "key", "noSearchResults", "useFramerCollectionList", "showCollectionList", "showNoResultsFrame", "u", "l", "HelperFrame", "p", "Header", "ToDoList", "q", "addPropertyControls", "ControlType", "CollectionIDControl", "props", "p", "l", "addPropertyControls", "ControlType", "Clear_Plus", "props", "cmsPlusComponentName", "selectedFilters", "selectedRealTimeSearches", "clearNow", "store", "setStore", "useStore", "isOnFramerCanvas", "useIsOnFramerCanvas", "consoleLogWhenDebuggingCMSPlus", "useConsoleLogWhenDebuggingCMSPlus", "hasSelectedFilters", "hasSelectedRealTimeSearches", "hasSelections", "ue", "prev", "newStore", "index", "collectionID", "clearAllActiveFilters", "cmsFieldNames", "collection", "name1", "filters", "f", "cmsFieldName", "field", "p", "l", "addPropertyControls", "ControlType", "getPropertyControls", "CollectionIDControl", "PhosphorFonts", "getFonts", "Icon", "ClearFonts", "Clear_Plus", "enabledGestures", "serializationHash", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transition1", "transformTemplate1", "_", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "getProps", "height", "id", "width", "props", "createLayoutDependency", "Component", "Y", "ref", "fallbackRef", "pe", "refBinding", "defaultLayoutId", "ae", "activeLocale", "setLocale", "useLocaleInfo", "componentViewport", "useComponentViewport", "style", "className", "layoutId", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "scopingClassNames", "cx", "LayoutGroup", "u", "ComponentViewportProvider", "SmartComponentScopedContainer", "css", "FramerpJc6A2olN", "withCSS", "pJc6A2olN_default", "addFonts", "BaseFilterControls", "props", "p", "l", "addPropertyControls", "getPropertyControls", "CollectionIDControl", "ControlType", "CMSFieldNameControl", "props", "p", "l", "addPropertyControls", "ControlType", "PlainTextFilterPlus", "props", "applyFilter", "cmsFieldName", "collectionID", "condition", "interactionActiveFilter", "interactionInactiveFilter", "preserveActiveFilter", "value", "useFilter", "p", "l", "addPropertyControls", "getPropertyControls", "CollectionIDControl", "BaseFilterControls", "CMSFieldNameControl", "ControlType", "PhosphorFonts", "getFonts", "Icon", "FilterPlainTextFonts", "PlainTextFilterPlus", "PhosphorControls", "getPropertyControls", "FilterPlainTextControls", "cycleOrder", "serializationHash", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transition1", "transformTemplate1", "_", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "humanReadableEnumMap", "humanReadableVariantMap", "getProps", "collectionID", "condition", "fieldName", "height", "icon", "id", "width", "props", "createLayoutDependency", "Component", "Y", "ref", "fallbackRef", "pe", "refBinding", "defaultLayoutId", "ae", "activeLocale", "setLocale", "useLocaleInfo", "componentViewport", "useComponentViewport", "style", "className", "layoutId", "M2cHHMy2I", "tiBnMttah", "UYeYBy9mw", "ObawQz_fZ", "v_zPHRhiF", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "activeVariantCallback", "delay", "useActiveVariantCallback", "onTap161j6e5", "args", "onTapqgvbqg", "interactionActiveFilter1ep96ic", "interactionInactiveFilter38wj90", "scopingClassNames", "cx", "LayoutGroup", "u", "ComponentViewportProvider", "SmartComponentScopedContainer", "css", "FramerPZ1h_drg_", "withCSS", "PZ1h_drg_default", "addPropertyControls", "ControlType", "addFonts", "OptionFilterPlus", "props", "applyFilter", "cmsFieldName", "collectionID", "condition", "interactionActiveFilter", "interactionInactiveFilter", "preserveActiveFilter", "value", "useFilter", "p", "l", "addPropertyControls", "getPropertyControls", "CollectionIDControl", "BaseFilterControls", "CMSFieldNameControl", "ControlType", "FilterOptionFonts", "getFonts", "OptionFilterPlus", "FilterOptionControls", "getPropertyControls", "cycleOrder", "serializationHash", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transition1", "transformTemplate1", "_", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "humanReadableEnumMap", "humanReadableVariantMap", "getProps", "collectionID", "condition", "fieldName", "height", "id", "label", "width", "props", "createLayoutDependency", "Component", "Y", "ref", "fallbackRef", "pe", "refBinding", "defaultLayoutId", "ae", "activeLocale", "setLocale", "useLocaleInfo", "componentViewport", "useComponentViewport", "style", "className", "layoutId", "VqE7pnXod", "M2cHHMy2I", "tiBnMttah", "UYeYBy9mw", "bHXT06Gqj", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "activeVariantCallback", "delay", "useActiveVariantCallback", "onTap17r8pyv", "args", "onTapvrlbft", "interactionActiveFilter13d2l31", "interactionInactiveFiltery1i040", "scopingClassNames", "cx", "LayoutGroup", "u", "RichText", "ComponentViewportProvider", "SmartComponentScopedContainer", "css", "FramerRinFalM6D", "withCSS", "RinFalM6D_default", "addPropertyControls", "ControlType", "addFonts", "Sort_Plus", "props", "collectionID", "interactionAscendingSort", "interactionDescendingSort", "orderDirection", "preserveSort", "cmsPlusComponentName", "consoleLogWhenDebuggingCMSPlus", "useConsoleLogWhenDebuggingCMSPlus", "isOnFramerCanvas", "useIsOnFramerCanvas", "store", "setStore", "useStore", "collection", "sortIsInitialized", "collectionIsReady", "needsVariantSyncCheckRef", "pe", "orderDirectionDebounced", "useDebouncer", "ue", "prev", "currentSort", "p", "l", "addPropertyControls", "getPropertyControls", "CollectionIDControl", "ControlType"]
}
