{"version":3,"file":"MultiSelectDropdown.59lZqCDW.mjs","names":["React.useState","_Fragment","React.useRef"],"sources":["https:/framer.com/m/framer/store.js@^1.0.0","https:/framerusercontent.com/modules/YrhOxI4nb0KgwQJzTs7n/XuBGcAvzSJ5JKDSG6A5X/MultiSelectDropdown.js"],"sourcesContent":["/*\n * createStore (framer/store@1.0.1)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/vj7bFUjvEQFgEzNBkdoG/vf3CKm378wlVcBk7IhSU/createStore.js\"\n","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{motion,AnimatePresence}from\"framer-motion\";import{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";// Utility to grab the current path reliably\nconst getCurrentPath=()=>typeof window!==\"undefined\"?window.location.pathname:\"/\";const routeChangeEventName=\"lifted:routechange\";function subscribeToRouteChanges(handler){if(typeof window===\"undefined\")return()=>{};const win=window;if(!win.__liftedRouteChangeEmitterInstalled){win.__liftedRouteChangeEmitterInstalled=true;const dispatch=()=>window.dispatchEvent(new Event(routeChangeEventName));const patchHistory=method=>{const original=history[method];history[method]=function(...args){const result=original.apply(history,args);window.requestAnimationFrame(dispatch);return result;};};patchHistory(\"pushState\");patchHistory(\"replaceState\");window.addEventListener(\"popstate\",dispatch);window.addEventListener(\"hashchange\",dispatch);}window.addEventListener(routeChangeEventName,handler);return()=>window.removeEventListener(routeChangeEventName,handler);}// =========================================\n// 1. THE BRAIN & BUFFERS (Data Logic)\n// =========================================\nconst useStore=createStore({filters:{},searchQueries:{},availableOptions:{},visibleCount:0,dateFilterConfig:{enabled:false,dateKey:\"Date\",condition:\"after\"},currentPath:getCurrentPath()});// The registry is now PATH AWARE -> globalRegistry[path][key][value] = Set of instances\nconst globalRegistry={};let debounceTimer=null;const safeRegister=(key,value,instanceId,path,setStore)=>{if(!globalRegistry[path])globalRegistry[path]={};if(!globalRegistry[path][key])globalRegistry[path][key]={};if(!globalRegistry[path][key][value])globalRegistry[path][key][value]=new Set;globalRegistry[path][key][value].add(instanceId);if(debounceTimer)clearTimeout(debounceTimer);debounceTimer=setTimeout(()=>{setStore({availableOptions:{...globalRegistry}});},50);};const visibleItemsRegistry=new Set;let counterDebounceTimer=null;const updateCounter=(id,isVisible,setStore)=>{if(isVisible){visibleItemsRegistry.add(id);}else{visibleItemsRegistry.delete(id);}if(counterDebounceTimer)clearTimeout(counterDebounceTimer);counterDebounceTimer=setTimeout(()=>{setStore({visibleCount:visibleItemsRegistry.size});},50);};const toggleFilter=(group,value,store,setStore,isMultiSelect)=>{const current=store.filters[group]||[];let next=[];if(isMultiSelect){next=current.includes(value)?current.filter(i=>i!==value):[...current,value];}else{next=current.includes(value)?[]:[value];}setStore({filters:{...store.filters,[group]:next}});};// \"Layer Name\" may name a single layer (\"usecase\") or several, separated by\n// commas (\"usecase, usecase2, usecase3\"). Split it into individual names,\n// trim surrounding whitespace and drop empty entries.\nconst parseFilterKeys=filterKey=>String(filterKey??\"\").split(\",\").map(key=>key.trim()).filter(Boolean);// =========================================\n// 1B. ROUTE RESET ENGINE\n// =========================================\n// Instantly wipes active filters and searches if the URL has changed\nfunction useRouteReset(store,setStore){const[path,setPath]=React.useState(getCurrentPath);React.useEffect(()=>{const updatePath=()=>setPath(getCurrentPath());return subscribeToRouteChanges(updatePath);},[]);React.useEffect(()=>{if(store.currentPath!==path){setStore({filters:{},searchQueries:{},currentPath:path});}},[path,store.currentPath,setStore]);}// =========================================\n// 2. SEARCH COMPONENT UI\n// =========================================\nfunction SearchUI(props){const[store,setStore]=useStore();useRouteReset(store,setStore);const[isFocused,setIsFocused]=React.useState(false);const searchKey=props.searchKey||\"Title\";const query=store.searchQueries[searchKey]||\"\";const defStyle=props.searchDefaultStyle||{};const actStyle=props.searchActiveStyle||{};const currentBg=isFocused&&actStyle.background?actStyle.background:defStyle.background;const currentColor=isFocused&&actStyle.color?actStyle.color:defStyle.color;const currentBorder=isFocused&&actStyle.border?actStyle.border:defStyle.border;const currentFont=isFocused&&actStyle.font?actStyle.font:defStyle.font;const handleSearch=e=>{setStore({searchQueries:{...store.searchQueries,[searchKey]:e.target.value}});};const clearSearch=()=>{setStore({searchQueries:{...store.searchQueries,[searchKey]:\"\"}});setIsFocused(false);};const expandAnim=props.searchExpand?{width:isFocused?\"100%\":props.searchBaseWidth,flexGrow:isFocused?1:0}:{width:\"100%\"};return /*#__PURE__*/_jsxs(motion.div,{animate:expandAnim,transition:props.transition,style:{position:\"relative\",height:\"100%\",display:\"flex\",alignItems:\"center\",overflow:\"visible\"},children:[props.showSearchIcon&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:12,display:\"flex\",opacity:.6,pointerEvents:\"none\"},children:props.searchIcon?props.searchIcon:/*#__PURE__*/_jsxs(\"svg\",{width:\"1em\",height:\"1em\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"11\",cy:\"11\",r:\"8\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"21\",y1:\"21\",x2:\"16.65\",y2:\"16.65\"})]})}),/*#__PURE__*/_jsx(\"input\",{type:\"text\",value:query,onChange:handleSearch,onFocus:()=>setIsFocused(true),onBlur:()=>setIsFocused(false),placeholder:props.searchPlaceholder,style:{width:\"100%\",height:\"100%\",padding:defStyle.padding,borderRadius:defStyle.borderRadius,backgroundColor:currentBg,color:currentColor,...currentBorder,...currentFont,outline:\"none\",boxSizing:\"border-box\",transition:\"background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease\"}}),props.showSearchClose&&query.length>0&&/*#__PURE__*/_jsx(\"div\",{onClick:clearSearch,style:{position:\"absolute\",right:12,cursor:\"pointer\",display:\"flex\",opacity:.6},children:props.searchCloseIcon?props.searchCloseIcon:/*#__PURE__*/_jsxs(\"svg\",{width:\"1em\",height:\"1em\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:[/*#__PURE__*/_jsx(\"line\",{x1:\"18\",y1:\"6\",x2:\"6\",y2:\"18\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"6\",y1:\"6\",x2:\"18\",y2:\"18\"})]})})]});}// =========================================\n// 3. DROPDOWN COMPONENT UI\n// =========================================\nfunction DropdownItem({option,isSelected,isPlaceholder,isMultiSelect,onToggle,optStyle,chkStyle,showCount,count,countStyle,maxCountStr,countWidthMode}){const[isHovered,setIsHovered]=React.useState(false);// Fallback line-height to \"inherit\" so it uses whatever the user sets in the font control\nconst textLineHeight=optStyle.font?.lineHeight||\"inherit\";return /*#__PURE__*/_jsxs(\"div\",{onClick:()=>!isPlaceholder&&onToggle(option),onMouseEnter:()=>setIsHovered(true),onMouseLeave:()=>setIsHovered(false),style:{padding:optStyle.padding,borderRadius:optStyle.borderRadius,cursor:isPlaceholder?\"default\":\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",gap:16,color:isPlaceholder?\"#999\":optStyle.textColor,flexShrink:0,...optStyle.font,backgroundColor:isHovered&&!isPlaceholder?optStyle.hoverBg:\"transparent\",transition:\"background-color 0.1s ease, color 0.1s ease\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:12,minWidth:0,flex:1},children:[!isPlaceholder&&isMultiSelect&&/*#__PURE__*/_jsx(\"div\",{style:{width:chkStyle.size,height:chkStyle.size,borderRadius:chkStyle.borderRadius,backgroundColor:isSelected?chkStyle.accent:\"transparent\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",flexShrink:0,...isSelected?{border:`1px solid ${chkStyle.accent}`}:chkStyle.border,transition:\"all 0.1s ease\"},children:isSelected&&/*#__PURE__*/_jsx(\"svg\",{width:\"70%\",height:\"70%\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:chkStyle.checkColor,strokeWidth:\"3\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:/*#__PURE__*/_jsx(\"polyline\",{points:\"20 6 9 17 4 12\"})})}),/*#__PURE__*/_jsx(\"span\",{style:{whiteSpace:\"normal\",wordBreak:\"break-word\",lineHeight:textLineHeight},children:option})]}),!isPlaceholder&&showCount&&/*#__PURE__*/_jsx(\"div\",{style:{padding:countStyle.padding,borderRadius:countStyle.borderRadius,backgroundColor:countStyle.backgroundColor,color:countStyle.color,display:\"flex\",justifyContent:\"center\",alignItems:\"center\",position:\"relative\",fontVariantNumeric:\"tabular-nums\",flexShrink:0,...countStyle.font},children:countWidthMode===\"fixed\"?/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"span\",{style:{visibility:\"hidden\",pointerEvents:\"none\"},children:maxCountStr}),/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\"},children:count})]}):/*#__PURE__*/_jsx(\"span\",{children:count})})]});}function ClearItem({onClear,clearText,clearStyle}){const[isHovered,setIsHovered]=React.useState(false);return /*#__PURE__*/_jsx(\"div\",{onClick:onClear,onMouseEnter:()=>setIsHovered(true),onMouseLeave:()=>setIsHovered(false),style:{padding:clearStyle.padding,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",color:isHovered&&clearStyle.hoverTextColor?clearStyle.hoverTextColor:clearStyle.textColor,cursor:\"pointer\",flexShrink:0,...clearStyle.font,...clearStyle.borderTop,backgroundColor:isHovered?clearStyle.hoverBg:\"transparent\",transition:\"background-color 0.1s ease, color 0.1s ease\"},children:clearText});}function DropdownUI(props){const[store,setStore]=useStore();useRouteReset(store,setStore);const[isOpen,setIsOpen]=React.useState(false);const[currentPath,setCurrentPath]=React.useState(getCurrentPath);const ref=React.useRef(null);const defStyle=props.defaultStyle||{};const actStyle=props.activeStyle||{};const dropStyle=props.dropdownStyle||{};const optStyle=props.optionsStyle||{};const chkStyle=props.checkboxStyle||{};const clrStyle=props.clearStyle||{};React.useEffect(()=>{const handleClickOutside=event=>{if(ref.current&&!ref.current.contains(event.target))setIsOpen(false);};document.addEventListener(\"mousedown\",handleClickOutside);const handlePathChange=()=>setCurrentPath(getCurrentPath());const unsubscribeRouteChanges=subscribeToRouteChanges(handlePathChange);return()=>{document.removeEventListener(\"mousedown\",handleClickOutside);unsubscribeRouteChanges();};},[]);React.useEffect(()=>{if(props.dateFilter)setStore({dateFilterConfig:props.dateFilter});},[props.dateFilter,setStore]);// Fetch options *only* for the current path\nconst pathOptions=store.availableOptions[currentPath]||{};// Collect the options of every layer named in \"Layer Name\" and merge them\n// into one list, so each distinct value is only offered once.\n// Recomputed on every render on purpose. The registry's per-path object is\n// mutated in place as items register, so its identity never changes; a memo\n// keyed on it would freeze the options at whatever had registered when this\n// dropdown first saw the object, stranding the list on \"Waiting...\" after a\n// client-side navigation until a full reload.\nconst mergedOptions={};parseFilterKeys(props.filterKey).forEach(key=>{const keyOptions=pathOptions[key];if(!keyOptions)return;Object.keys(keyOptions).forEach(value=>{if(!mergedOptions[value])mergedOptions[value]=new Set;keyOptions[value].forEach(id=>mergedOptions[value].add(id));});});const rawOptions=Object.keys(mergedOptions).length>0?mergedOptions:null;const dynamicOptions=rawOptions?Object.keys(rawOptions).sort():[];const optionsToShow=dynamicOptions.length>0?dynamicOptions:[`Waiting...`];const activeFilters=store.filters[props.filterKey]||[];let maxCountStr=\"0\";if(props.showCount&&rawOptions){optionsToShow.forEach(opt=>{if(opt!==\"Waiting...\"){const size=rawOptions[opt]?rawOptions[opt].size.toString():\"0\";if(size.length>maxCountStr.length){maxCountStr=Array(size.length).fill(\"0\").join(\"\");}}});}let label=props.defaultText;if(activeFilters.length>0){if(props.isMultiSelect){label=props.activeTextTemplate.replace(\"{n}\",activeFilters.length);if(activeFilters.length===optionsToShow.length&&optionsToShow.length>0)label=props.allSelectedText;}else{label=activeFilters[0];}}const currentBg=isOpen&&actStyle.background?actStyle.background:defStyle.background;const currentColor=isOpen&&actStyle.color?actStyle.color:defStyle.color;const currentBorder=isOpen&&actStyle.border?actStyle.border:defStyle.border;const currentFont=isOpen&&actStyle.font?actStyle.font:defStyle.font;const estimatedItemHeight=(optStyle.font?.fontSize||14)+24;const handleToggle=option=>{toggleFilter(props.filterKey,option,store,setStore,props.isMultiSelect);if(!props.isMultiSelect)setIsOpen(false);};const handleClear=()=>{setStore({filters:{...store.filters,[props.filterKey]:[]}});};return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",zIndex:isOpen?100:1,width:\"100%\",height:\"100%\"},ref:ref,children:[/*#__PURE__*/_jsxs(motion.button,{onClick:()=>setIsOpen(!isOpen),style:{display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",padding:defStyle.padding,borderRadius:defStyle.borderRadius,backgroundColor:currentBg,color:currentColor,...currentBorder,...currentFont,cursor:\"pointer\",width:\"100%\",height:\"100%\",userSelect:\"none\",gap:12},whileTap:{scale:.98},children:[/*#__PURE__*/_jsx(\"span\",{style:{whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\"},children:label}),/*#__PURE__*/_jsx(motion.div,{animate:{rotate:isOpen?180:0},style:{display:\"flex\",alignItems:\"center\",justifyContent:\"center\",opacity:.7},children:props.icon?props.icon:/*#__PURE__*/_jsx(\"svg\",{width:\"1em\",height:\"1em\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",children:/*#__PURE__*/_jsx(\"polyline\",{points:\"6 9 12 15 18 9\"})})})]}),/*#__PURE__*/_jsx(AnimatePresence,{children:isOpen&&/*#__PURE__*/_jsxs(motion.div,{initial:{opacity:0,y:-5},animate:{opacity:1,y:0},exit:{opacity:0,y:-5},transition:props.transition,style:{position:\"absolute\",left:0,right:0,top:`calc(100% + ${dropStyle.offset}px)`,padding:dropStyle.padding,borderRadius:dropStyle.borderRadius,backgroundColor:dropStyle.background,boxShadow:dropStyle.shadow,...dropStyle.border,overflowY:\"auto\",overflowX:\"hidden\",maxHeight:dropStyle.maxHeight||250,display:\"flex\",flexDirection:\"column\",zIndex:200},children:[optionsToShow.map((option,index)=>/*#__PURE__*/_jsx(DropdownItem,{option:option,isSelected:activeFilters.includes(option),isPlaceholder:option===\"Waiting...\",isMultiSelect:props.isMultiSelect,onToggle:handleToggle,optStyle:optStyle,chkStyle:chkStyle,showCount:props.showCount,count:rawOptions&&rawOptions[option]?rawOptions[option].size:0,countStyle:props.countStyle||{},maxCountStr:maxCountStr,countWidthMode:props.countWidthMode},index)),props.isMultiSelect&&activeFilters.length>0&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"sticky\",bottom:0,zIndex:10,backgroundColor:dropStyle.background,borderTop:\"1px solid rgba(0,0,0,0.05)\"},children:/*#__PURE__*/_jsx(ClearItem,{onClear:handleClear,clearText:props.clearText,clearStyle:clrStyle})})]})})]});}// =========================================\n// 4. MAIN ROUTER COMPONENT\n// =========================================\nexport function MultiSelectDropdown(props){if(props.mode===\"search\")return /*#__PURE__*/_jsx(SearchUI,{...props});return /*#__PURE__*/_jsx(DropdownUI,{...props});}// =========================================\n// 5. THE ITEM OVERRIDE (Filters, Dates, Formatted Text, Search)\n// =========================================\nconst extractTextFromNode=(node,depth=0)=>{if(depth>15)return\"\";if(!node)return\"\";if(typeof node===\"string\"||typeof node===\"number\")return String(node);if(Array.isArray(node))return node.map(n=>extractTextFromNode(n,depth+1)).join(\"\");if(typeof node===\"object\"){if(node.type===\"br\")return\"\\n\";let suffix=\"\";if(node.type===\"p\"||node.type===\"div\")suffix=\"\\n\";if(node.blocks&&Array.isArray(node.blocks)){return node.blocks.map(b=>b.text).join(\"\\n\");}if(node.props){let text=extractTextFromNode(node.props.children,depth+1);if(!text&&node.props.text)text=extractTextFromNode(node.props.text,depth+1);if(!text&&node.props.dangerouslySetInnerHTML&&node.props.dangerouslySetInnerHTML.__html){text=node.props.dangerouslySetInnerHTML.__html.replace(/<br\\s*\\/?>/gi,\"\\n\").replace(/<\\/p>/gi,\"\\n\").replace(/<[^>]+>/g,\"\");}return text+suffix;}}return\"\";};export function withItemLogic(Component){return props=>{const[store,setStore]=useStore();useRouteReset(store,setStore);// Grab the path when the item renders\nconst path=React.useRef(getCurrentPath()).current;const instanceId=React.useRef(Math.random().toString(36).substring(2,11)).current;const wrapperRef=React.useRef(null);const ignoredKeys=[\"id\",\"width\",\"height\",\"children\",\"variant\",\"style\",\"className\",\"layoutId\",\"transformTemplate\",\"direction\",\"__framer__\"];React.useEffect(()=>{const registeredItems=[];if(props){Object.keys(props).forEach(key=>{if(!ignoredKeys.includes(key)){const rawVal=props[key];let extractedString=\"\";if(typeof rawVal===\"string\"){extractedString=rawVal;}else if(typeof rawVal===\"object\"&&rawVal!==null){extractedString=extractTextFromNode(rawVal);}if(extractedString&&extractedString.trim().length>0){const items=extractedString.split(\"\\n\").map(s=>s.trim()).filter(Boolean);items.forEach(item=>{// Register item directly to the current path\nsafeRegister(key,item,instanceId,path,setStore);registeredItems.push({key,item});});}}});}return()=>{let needsUpdate=false;registeredItems.forEach(({key,item})=>{if(globalRegistry[path]&&globalRegistry[path][key]&&globalRegistry[path][key][item]){globalRegistry[path][key][item].delete(instanceId);if(globalRegistry[path][key][item].size===0){delete globalRegistry[path][key][item];}needsUpdate=true;}});if(needsUpdate){if(debounceTimer)clearTimeout(debounceTimer);debounceTimer=setTimeout(()=>{setStore({availableOptions:{...globalRegistry}});},50);}};},[props,instanceId,path]);let isVisible=true;for(const[filterKey,selectedValues]of Object.entries(store.filters)){if(selectedValues&&selectedValues.length>0){// Gather this item's values from every layer named in\n// \"Layer Name\", ignoring empties and duplicates.\nconst itemOptions=[];for(const key of parseFilterKeys(filterKey)){const propKey=Object.keys(props).find(k=>k.toLowerCase()===key.toLowerCase());const rawValue=propKey?props[propKey]:undefined;let extractedString=\"\";if(typeof rawValue===\"string\"){extractedString=rawValue;}else if(typeof rawValue===\"object\"&&rawValue!==null){extractedString=extractTextFromNode(rawValue);}extractedString.split(\"\\n\").map(s=>s.trim()).filter(Boolean).forEach(option=>{if(!itemOptions.includes(option))itemOptions.push(option);});}if(itemOptions.length>0){const hasMatch=selectedValues.some(val=>itemOptions.includes(val));if(!hasMatch)isVisible=false;}else{isVisible=false;}}}if(isVisible){for(const[searchKey,query]of Object.entries(store.searchQueries)){if(query&&query.length>0){const keysToSearch=searchKey.split(\",\").map(k=>k.trim().toLowerCase());let matchFound=false;for(const key of keysToSearch){const propKey=Object.keys(props).find(k=>k.toLowerCase()===key);const rawVal=propKey?props[propKey]:undefined;let extractedString=\"\";if(typeof rawVal===\"string\"){extractedString=rawVal;}else if(typeof rawVal===\"object\"&&rawVal!==null){extractedString=extractTextFromNode(rawVal);}if(extractedString.toLowerCase().includes(query.toLowerCase())){matchFound=true;break;}}if(!matchFound){isVisible=false;}}}}if(isVisible&&store.dateFilterConfig?.enabled){const{dateKey,condition}=store.dateFilterConfig;const propKey=Object.keys(props).find(k=>k.toLowerCase()===dateKey.toLowerCase());const dateValue=propKey?props[propKey]:undefined;if(dateValue){const itemDate=new Date(dateValue);const today=new Date;today.setHours(0,0,0,0);itemDate.setHours(0,0,0,0);if(condition===\"after\"&&itemDate<today)isVisible=false;else if(condition===\"before\"&&itemDate>=today)isVisible=false;}}// Only update global count if we are actively viewing this page\nReact.useEffect(()=>{if(typeof window!==\"undefined\"&&window.location.pathname===path){updateCounter(instanceId,isVisible,setStore);}return()=>{updateCounter(instanceId,false,setStore);};},[isVisible,instanceId,path]);React.useEffect(()=>{if(wrapperRef.current&&wrapperRef.current.parentElement){const parentWrapper=wrapperRef.current.parentElement;parentWrapper.setAttribute(\"data-match\",isVisible?\"true\":\"false\");if(!isVisible){parentWrapper.style.display=\"none\";parentWrapper.removeAttribute(\"data-cms-variant\");}else{parentWrapper.style.display=\"\";const variantId=String(props.variant||\"\");const variantType=variantId.includes(\"n4Um2v377\")?\"image\":\"quote\";parentWrapper.setAttribute(\"data-cms-variant\",variantType);}}},[isVisible,props.variant]);if(!isVisible)return /*#__PURE__*/_jsx(\"div\",{ref:wrapperRef,style:{display:\"none\"}});return /*#__PURE__*/_jsx(\"div\",{ref:wrapperRef,style:{display:\"contents\"},children:/*#__PURE__*/_jsx(Component,{...props})});};}// =========================================\n// 6. HELPER: EMPTY STATE UI\n// =========================================\nconst EmptyStateUI=({store,isFiltered})=>{if(!isFiltered||store.visibleCount>0)return null;return /*#__PURE__*/_jsx(\"div\",{\"data-empty-state\":\"true\",style:{width:\"100%\",textAlign:\"left\",marginTop:0,gridColumn:\"1 / -1\",fontFamily:'\"PP Neue Montreal 500\", \"PP Neue Montreal 500 Placeholder\", sans-serif',fontWeight:500,fontSize:16,letterSpacing:\"0.01em\",lineHeight:\"115%\",color:\"#636365\"},children:\"No items match your selected filters. Try clearing them to explore more!\"});};// =========================================\n// 7. THE COUNTER OVERRIDE\n// =========================================\nexport function withCounter(Component){return props=>{const[store,setStore]=useStore();useRouteReset(store,setStore);const template=typeof props.text===\"string\"?props.text:\"{n}\";const resultText=template.replace(\"{n}\",store.visibleCount);return /*#__PURE__*/_jsx(Component,{...props,text:resultText});};}// =========================================\n// 8. THE EMPTY STATE OVERRIDE (Standalone)\n// =========================================\nexport function withEmptyState(Component){return props=>{const[store,setStore]=useStore();useRouteReset(store,setStore);const id=React.useRef(\"empty-state-\"+Math.random().toString(36).substring(2,11)).current;const hasActiveSearch=Object.values(store.searchQueries).some(query=>typeof query===\"string\"&&query.length>0);const hasActiveFilters=Object.values(store.filters).some(arr=>Array.isArray(arr)&&arr.length>0);const isFiltered=hasActiveSearch||hasActiveFilters;return /*#__PURE__*/_jsxs(\"div\",{className:id,style:{display:\"contents\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                    ${isFiltered&&store.visibleCount===0?`\n                        .${id} > :not([data-empty-state]):not(style) {\n                            display: none !important;\n                        }\n                    `:\"\"}\n                `}),/*#__PURE__*/_jsx(Component,{...props}),/*#__PURE__*/_jsx(EmptyStateUI,{store:store,isFiltered:isFiltered})]});};}// =========================================\n// PROPERTY CONTROLS\n// =========================================\naddPropertyControls(MultiSelectDropdown,{mode:{type:ControlType.Enum,title:\"Mode\",options:[\"filter\",\"search\"],optionTitles:[\"Dropdown Filter\",\"Search Input\"],defaultValue:\"filter\"},searchKey:{type:ControlType.String,title:\"Search Field\",defaultValue:\"Title\",hidden(props){return props.mode!==\"search\";}},searchExpand:{type:ControlType.Boolean,title:\"Expand on Focus\",defaultValue:true,hidden(props){return props.mode!==\"search\";}},searchBaseWidth:{type:ControlType.Number,title:\"Base Width\",defaultValue:220,displayStepper:true,hidden(props){return props.mode!==\"search\"||!props.searchExpand;}},searchPlaceholder:{type:ControlType.String,title:\"Placeholder\",defaultValue:\"Search...\",hidden(props){return props.mode!==\"search\";}},showSearchIcon:{type:ControlType.Boolean,title:\"Show Icon\",defaultValue:true,hidden(props){return props.mode!==\"search\";}},searchIcon:{type:ControlType.ComponentInstance,title:\"Search Icon\",hidden(props){return props.mode!==\"search\"||!props.showSearchIcon;}},showSearchClose:{type:ControlType.Boolean,title:\"Show Close\",defaultValue:true,hidden(props){return props.mode!==\"search\";}},searchCloseIcon:{type:ControlType.ComponentInstance,title:\"Close Icon\",hidden(props){return props.mode!==\"search\"||!props.showSearchClose;}},searchDefaultStyle:{type:ControlType.Object,title:\"Input Style\",hidden(props){return props.mode!==\"search\";},controls:{font:{type:ControlType.Font,controls:\"extended\",title:\"Font\"},padding:{type:ControlType.Padding,defaultValue:\"12px 16px\"},borderRadius:{type:ControlType.BorderRadius,defaultValue:\"8px\"},border:{type:ControlType.Border,defaultValue:{borderWidth:1,borderStyle:\"solid\",borderColor:\"#e5e5e5\"}},background:{type:ControlType.Color,defaultValue:\"#ffffff\"},color:{type:ControlType.Color,defaultValue:\"#333333\"}}},searchActiveStyle:{type:ControlType.Object,title:\"Focus Style\",hidden(props){return props.mode!==\"search\";},controls:{font:{type:ControlType.Font,controls:\"extended\",title:\"Font\"},border:{type:ControlType.Border,defaultValue:{borderWidth:1,borderStyle:\"solid\",borderColor:\"#000000\"}},background:{type:ControlType.Color,defaultValue:\"#ffffff\"},color:{type:ControlType.Color,defaultValue:\"#000000\"}}},filterKey:{type:ControlType.String,title:\"Layer Name\",defaultValue:\"Location\",hidden(props){return props.mode!==\"filter\";}},isMultiSelect:{type:ControlType.Boolean,title:\"Multi Select\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\",hidden(props){return props.mode!==\"filter\";}},defaultText:{type:ControlType.String,title:\"Default Text\",defaultValue:\"Select...\",hidden(props){return props.mode!==\"filter\";}},allSelectedText:{type:ControlType.String,title:\"All Selected\",defaultValue:\"All Selected\",hidden(props){return props.mode!==\"filter\"||props.isMultiSelect===false;}},activeTextTemplate:{type:ControlType.String,title:\"Multiple Sel.\",defaultValue:\"{n} Selected\",hidden(props){return props.mode!==\"filter\"||props.isMultiSelect===false;}},clearText:{type:ControlType.String,title:\"Clear Text\",defaultValue:\"Clear Selections\",hidden(props){return props.mode!==\"filter\"||props.isMultiSelect===false;}},maxVisibleItems:{type:ControlType.Number,title:\"Max Items\",defaultValue:5,min:1,max:20,displayStepper:true,hidden(props){return props.mode!==\"filter\";}},showCount:{type:ControlType.Boolean,title:\"Show Count\",defaultValue:true,hidden(props){return props.mode!==\"filter\";}},countWidthMode:{type:ControlType.Enum,title:\"Count Width\",options:[\"fixed\",\"hug\"],optionTitles:[\"Align Width\",\"Hug Content\"],defaultValue:\"fixed\",hidden(props){return props.mode!==\"filter\"||!props.showCount;}},countStyle:{type:ControlType.Object,title:\"Count Badge Style\",hidden(props){return props.mode!==\"filter\"||!props.showCount;},controls:{font:{type:ControlType.Font,controls:\"extended\",title:\"Font\"},padding:{type:ControlType.Padding,defaultValue:\"2px 8px\"},borderRadius:{type:ControlType.BorderRadius,defaultValue:\"12px\"},backgroundColor:{type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.05)\"},color:{type:ControlType.Color,defaultValue:\"#666666\"}}},transition:{type:ControlType.Transition,title:\"Transition\",defaultValue:{type:\"spring\",stiffness:300,damping:30}},icon:{type:ControlType.ComponentInstance,title:\"Custom Icon\",hidden(props){return props.mode!==\"filter\";}},dateFilter:{type:ControlType.Object,title:\"Auto Date Filter\",hidden(props){return props.mode!==\"filter\";},controls:{enabled:{type:ControlType.Boolean,title:\"Enable\",defaultValue:false},dateKey:{type:ControlType.String,title:\"Variable Name\",defaultValue:\"Date\"},condition:{type:ControlType.Enum,title:\"Show Events\",options:[\"after\",\"before\"],optionTitles:[\"Today & Future\",\"Past Only\"],defaultValue:\"after\"}}},defaultStyle:{type:ControlType.Object,title:\"Default Style\",hidden(props){return props.mode!==\"filter\";},controls:{font:{type:ControlType.Font,controls:\"extended\",title:\"Font\"},padding:{type:ControlType.Padding,defaultValue:\"12px 16px\"},borderRadius:{type:ControlType.BorderRadius,defaultValue:\"8px\"},border:{type:ControlType.Border,defaultValue:{borderWidth:1,borderStyle:\"solid\",borderColor:\"#e5e5e5\"}},background:{type:ControlType.Color,defaultValue:\"#ffffff\"},color:{type:ControlType.Color,defaultValue:\"#333333\"}}},activeStyle:{type:ControlType.Object,title:\"Active Style\",hidden(props){return props.mode!==\"filter\";},controls:{font:{type:ControlType.Font,controls:\"extended\",title:\"Font\"},border:{type:ControlType.Border,defaultValue:{borderWidth:1,borderStyle:\"solid\",borderColor:\"#cccccc\"}},background:{type:ControlType.Color,defaultValue:\"#f9f9f9\"},color:{type:ControlType.Color,defaultValue:\"#000000\"}}},dropdownStyle:{type:ControlType.Object,title:\"Dropdown Style\",hidden(props){return props.mode!==\"filter\";},controls:{padding:{type:ControlType.Padding,defaultValue:\"8px 0px\"},borderRadius:{type:ControlType.BorderRadius,defaultValue:\"8px\"},border:{type:ControlType.Border,defaultValue:{borderWidth:1,borderStyle:\"solid\",borderColor:\"#e5e5e5\"}},background:{type:ControlType.Color,defaultValue:\"#ffffff\"},shadow:{type:ControlType.BoxShadow,defaultValue:\"0px 10px 20px rgba(0,0,0,0.05)\"},offset:{type:ControlType.Number,title:\"Top Gap\",defaultValue:8},maxHeight:{type:ControlType.Number,title:\"Max Height\",defaultValue:250,min:100,max:800,displayStepper:true}}},optionsStyle:{type:ControlType.Object,title:\"Options Style\",hidden(props){return props.mode!==\"filter\";},controls:{font:{type:ControlType.Font,controls:\"extended\",title:\"Font\"},padding:{type:ControlType.Padding,defaultValue:\"10px 16px\"},borderRadius:{type:ControlType.BorderRadius,defaultValue:\"0px\"},textColor:{type:ControlType.Color,defaultValue:\"#333333\"},hoverBg:{type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.04)\"}}},checkboxStyle:{type:ControlType.Object,title:\"Checkbox Style\",hidden(props){return props.mode!==\"filter\"||props.isMultiSelect===false;},controls:{size:{type:ControlType.Number,defaultValue:16},borderRadius:{type:ControlType.BorderRadius,defaultValue:\"4px\"},border:{type:ControlType.Border,defaultValue:{borderWidth:1,borderStyle:\"solid\",borderColor:\"#cccccc\"}},accent:{type:ControlType.Color,defaultValue:\"#000000\"},checkColor:{type:ControlType.Color,defaultValue:\"#ffffff\"}}},clearStyle:{type:ControlType.Object,title:\"Clear Btn Style\",hidden(props){return props.mode!==\"filter\"||props.isMultiSelect===false;},controls:{font:{type:ControlType.Font,controls:\"extended\",title:\"Font\"},padding:{type:ControlType.Padding,defaultValue:\"12px 16px\"},textColor:{type:ControlType.Color,defaultValue:\"#ff4444\"},hoverTextColor:{type:ControlType.Color,title:\"Hover Text\",defaultValue:\"#cc0000\"},hoverBg:{type:ControlType.Color,defaultValue:\"rgba(255,0,0,0.05)\"},borderTop:{type:ControlType.Border,defaultValue:{borderWidth:1,borderStyle:\"solid\",borderColor:\"#eeeeee\"}}}}});MultiSelectDropdown.defaultProps={height:45,width:220};// =========================================\n// 9. DYNAMIC GRID LAYOUT OVERRIDE (Infinite Scroll + Zig Zag)\n// =========================================\nexport function withDynamicGridList(Component){return props=>{const[store,setStore]=useStore();useRouteReset(store,setStore);const[limit,setLimit]=React.useState(10);const id=React.useRef(\"grid-dynamic-\"+Math.random().toString(36).substring(2,11)).current;const wrapperRef=React.useRef(null);const sentinelRef=React.useRef(null);const hasActiveSearch=Object.values(store.searchQueries).some(query=>typeof query===\"string\"&&query.length>0);const hasActiveFilters=Object.values(store.filters).some(arr=>Array.isArray(arr)&&arr.length>0);const isFiltered=hasActiveSearch||hasActiveFilters;React.useEffect(()=>{setLimit(10);},[store.filters,store.searchQueries]);React.useEffect(()=>{let frame=null;const updateLayout=()=>{if(!wrapperRef.current)return;// THE NESTING FIX: Pierce through Framer's DOM to reliably find the stamped items\nlet allItems=Array.from(wrapperRef.current.querySelectorAll(\"[data-match]\"));// Fallback: If data-match isn't ready yet, safely locate the grid container\nif(allItems.length===0){const fallbackGrid=wrapperRef.current.querySelector(\"ul\")||wrapperRef.current.firstElementChild;if(fallbackGrid){allItems=Array.from(fallbackGrid.children);}}if(allItems.length===0)return;// Mark the grid container so the CSS applies accurately\nconst gridContainer=allItems[0].parentElement;if(gridContainer&&gridContainer.getAttribute(\"data-smart-grid\")!==\"true\"){gridContainer.setAttribute(\"data-smart-grid\",\"true\");}let visibleCount=0;let trulyVisibleItems=[];for(let i=0;i<allItems.length;i++){const el=allItems[i];// Use data-match if it exists, otherwise default to true to preserve layout\nconst isMatch=el.hasAttribute(\"data-match\")?el.getAttribute(\"data-match\")===\"true\":true;if(!isMatch){el.style.display=\"none\";}else{if(visibleCount<limit){el.style.display=\"\";trulyVisibleItems.push(el);visibleCount++;}else{el.style.display=\"none\";}}}if(!isFiltered){trulyVisibleItems.forEach((el,idx)=>{const mod=idx%4;if(mod===0)el.setAttribute(\"data-cms-span\",\"4\");else if(mod===1)el.setAttribute(\"data-cms-span\",\"2\");else if(mod===2)el.setAttribute(\"data-cms-span\",\"2\");else if(mod===3)el.setAttribute(\"data-cms-span\",\"4\");});}else{trulyVisibleItems.forEach(el=>el.setAttribute(\"data-cms-span\",\"3\"));}};updateLayout();const observer=new MutationObserver(()=>{if(frame!==null)cancelAnimationFrame(frame);frame=requestAnimationFrame(()=>{frame=null;updateLayout();});});if(wrapperRef.current){observer.observe(wrapperRef.current,{childList:true,subtree:true,attributes:true,attributeFilter:[\"data-match\",\"style\",\"class\"]});}return()=>{observer.disconnect();if(frame!==null)cancelAnimationFrame(frame);};},[limit,isFiltered]);React.useEffect(()=>{if(!sentinelRef.current)return;const observer=new IntersectionObserver(entries=>{if(entries[0].isIntersecting){setLimit(prev=>prev+10);}},{rootMargin:\"400px\"});observer.observe(sentinelRef.current);return()=>observer.disconnect();},[]);return /*#__PURE__*/_jsxs(\"div\",{className:id,ref:wrapperRef,style:{display:\"contents\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`\n                    ${isFiltered&&store.visibleCount===0?`\n                        .${id} > :not([data-empty-state]):not(style) {\n                            display: none !important;\n                        }\n                    `:\"\"}\n\n                    @media (min-width: 1200px) {\n                        /* Desktop: Zig-Zag layout */\n                        .${id} [data-smart-grid=\"true\"] {\n                            grid-template-columns: repeat(6, 1fr) !important;\n                            grid-auto-flow: dense !important;\n                        }\n                        \n                        .${id} [data-cms-span=\"4\"] { grid-column: span 4 !important; }\n                        .${id} [data-cms-span=\"3\"] { grid-column: span 3 !important; }\n                        .${id} [data-cms-span=\"2\"] { grid-column: span 2 !important; }\n                    }\n                    \n                    @media (min-width: 810px) and (max-width: 1199px) {\n                        /* Tablet: 2 items per row (each fills 3 of the 6 columns) */\n                        .${id} [data-smart-grid=\"true\"] {\n                            grid-template-columns: repeat(6, 1fr) !important;\n                        }\n                        .${id} [data-cms-span] { grid-column: span 3 !important; }\n                    }\n\n                    @media (max-width: 809px) {\n                        /* Mobile: 1 item per row (fills all available space) */\n                        .${id} [data-smart-grid=\"true\"] {\n                            grid-template-columns: 1fr !important;\n                        }\n                        .${id} [data-cms-span] { grid-column: 1 / -1 !important; }\n                    }\n                `}),/*#__PURE__*/_jsx(Component,{...props}),/*#__PURE__*/_jsx(\"div\",{ref:sentinelRef,style:{width:\"100%\",height:\"1px\",pointerEvents:\"none\"}}),/*#__PURE__*/_jsx(EmptyStateUI,{store:store,isFiltered:isFiltered})]});};}// =========================================\n// 10. HIDE ON FILTER OVERRIDE\n// =========================================\nexport function withHideOnFilter(Component){return props=>{const[store,setStore]=useStore();useRouteReset(store,setStore);const hasActiveSearch=Object.values(store.searchQueries).some(query=>typeof query===\"string\"&&query.length>0);const hasActiveFilters=Object.values(store.filters).some(arr=>Array.isArray(arr)&&arr.length>0);const isFiltered=hasActiveSearch||hasActiveFilters;if(isFiltered){return /*#__PURE__*/_jsx(Component,{...props,style:{...props.style,display:\"none\"}});}return /*#__PURE__*/_jsx(Component,{...props});};}\nexport const __FramerMetadata__ = {\"exports\":{\"MultiSelectDropdown\":{\"type\":\"reactComponent\",\"name\":\"MultiSelectDropdown\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"withItemLogic\":{\"type\":\"reactHoc\",\"name\":\"withItemLogic\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withCounter\":{\"type\":\"reactHoc\",\"name\":\"withCounter\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withHideOnFilter\":{\"type\":\"reactHoc\",\"name\":\"withHideOnFilter\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withDynamicGridList\":{\"type\":\"reactHoc\",\"name\":\"withDynamicGridList\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withEmptyState\":{\"type\":\"reactHoc\",\"name\":\"withEmptyState\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./MultiSelectDropdown.map"],"mappings":"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"}