{"version":3,"file":"SingleRefFilter.2yTRHT5x.mjs","names":["_jsx","_Fragment","_Fragment","useState","useRef","_Fragment","_Fragment","useRef","useCallback","useState","_Fragment","_Fragment","React.useState","React.useCallback","_Fragment","useMemo","useState","useMemo","useState"],"sources":["https:/framerusercontent.com/modules/gpP9NQZkGM08zua7fzDA/jjWgT6Q2XID15HzGSoSb/filter_utils.js","https:/framerusercontent.com/modules/6NPURxBM0dOECdL7VbnS/OqPgmCos4XXqMe8dqAWp/TextFilter.js","https:/framerusercontent.com/modules/UqIxQlR9i7N7s5eURJXt/ErL7ZtTlaJYNFRjazcqH/NumberFilter.js","https:/framerusercontent.com/modules/rhjV7CBikISubRqt2bpe/MfG80Yu4s9uqHKOzAH4Q/SelectFilter.js","https:/framerusercontent.com/modules/yoPENdwUHgW0xBoBrcKB/HQ5bZw4WpAVh1kswM02n/TagFilter.js","https:/framerusercontent.com/modules/ktAWutRRdcvtUBylxWdw/JISMXRhcmkYcSbZCnDe2/CheckboxFilter.js","https:/framerusercontent.com/modules/bf8X1kauFnevisLXUtaB/j1toEpmGFkCPZHe8avbe/DropdownFilter.js","https:/framerusercontent.com/modules/BNKPJXocDPceT63H0PHv/HZXq3K8EHwi0eLjf10eU/DoubleRangeSlider.js","https:/framerusercontent.com/modules/f4De0XAwI4Kf8M6qHjz8/MrXH9bEQDvqNHRvQElUR/RangeFilter.js","https:/framerusercontent.com/modules/CI7Pin8tWGfRHLuGR8tI/LqwS7Xole9r3NBDO35tX/ToggleFilter.js","https:/framerusercontent.com/modules/YJVHOw7sdl2iLFF7oTta/oeC4OQrLJywe5b6Od6Aw/CMSEnumFilter.js","https:/framerusercontent.com/modules/DiZxJ6bZqOMdV8ieN9sM/Am4diUBL5Xi6FMKEpsYM/MultiRefFilter.js","https:/framerusercontent.com/modules/hPN8XUHynAMierFs62Hi/n6GLlDQjZaeryY0xviWc/SingleRefFilter.js"],"sourcesContent":["// Shared utility functions for CMS Filter components\n// Extracted from CMSFilters.tsx for better modularity and DRY principles\n// @ts-ignore-next-line\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{useQueryData}from\"framer\";// Helper to get option values and titles from config\nexport const getOptionData=config=>{if(!config.options||config.options.length===0){return{values:[],titles:[],optionMap:new Map};}// Handle both old format (string[]) and new format (object[])\nconst values=[];const titles=[];const optionMap=new Map// value -> title mapping\n;config.options.forEach(option=>{if(typeof option===\"string\"){// Backward compatibility: old format\nvalues.push(option);titles.push(option);optionMap.set(option,option);}else if(option&&typeof option===\"object\"&&option.value&&option.title){// New format: {value, title}\nvalues.push(option.value);titles.push(option.title);optionMap.set(option.value,option.title);}});return{values,titles,optionMap};};// Operator definitions by field type - renamed to Match\nexport const getMatchOptions=(fieldType,filterType)=>{switch(filterType){case\"text\":return{options:[\"contains\",\"not_contains\",\"starts_with\",\"ends_with\",\"equals\",\"not_equals\",\"is_set\",\"is_not_set\"],titles:[\"Contains\",\"Doesn't contain\",\"Starts with\",\"Ends with\",\"Equals\",\"Doesn't equal\",\"Is set\",\"Is not set\"],default:\"contains\"};case\"dropdown\":return{options:[\"contains\",\"not_contains\",\"starts_with\",\"ends_with\",\"equals\",\"not_equals\",\"greater_than\",\"less_than\",\"greater_than_or_equal\",\"less_than_or_equal\",\"is_set\",\"is_not_set\"],titles:[\"Contains\",\"Doesn't contain\",\"Starts with\",\"Ends with\",\"Equals\",\"Doesn't equal\",\"Greater than\",\"Less than\",\"Greater than or equal\",\"Less than or equal\",\"Is set\",\"Is not set\"],default:\"equals\"};case\"number\":return{options:[\"equals\",\"not_equals\",\"greater_than\",\"less_than\",\"greater_than_or_equal\",\"less_than_or_equal\",\"is_set\",\"is_not_set\"],titles:[\"Equals\",\"Doesn't equal\",\"Greater than\",\"Less than\",\"Greater than or equal\",\"Less than or equal\",\"Is set\",\"Is not set\"],default:\"equals\"};case\"toggle\":return{options:[// Boolean operators (for boolean fields)\n\"is_enabled\",\"is_disabled\",// Value operators (works for all field types)\n\"has_value\",\"is_empty\",\"is_set\",\"is_not_set\"],titles:[// Boolean\n\"Enabled (true)\",\"Disabled (false)\",// Value\n\"Has Value\",\"Is Empty\",\"Is Set (not null)\",\"Is Not Set (null)\"],default:\"is_enabled\"};case\"cms-enum\":return{options:[\"equals\",\"not_equals\",\"is_set\",\"is_not_set\"],titles:[\"Equals\",\"Doesn't equal\",\"Is set\",\"Is not set\"],default:\"equals\"};case\"single-ref\":return{options:[\"equals\",\"not_equals\",\"is_set\",\"is_not_set\"],titles:[\"Equals\",\"Doesn't equal\",\"Is set\",\"Is not set\"],default:\"equals\"};case\"range\":return{options:[\"between\"],titles:[\"Between\"],default:\"between\"};default:return{options:[\"equals\"],titles:[\"Equals\"],default:\"equals\"};}};// Helper to get the appropriate match value based on filter type\nexport const getActiveMatch=config=>{// Defensive check for missing filterType\nif(!config.filterType){console.warn(\"getActiveMatch: config.filterType is undefined, defaulting to 'dropdown'\",config);return config.matchText||\"equals\";}switch(config.filterType){case\"text\":return config.matchText||\"contains\";case\"dropdown\":return config.matchText||\"equals\"// Use matchText for dropdown too\n;case\"number\":return config.matchNumber||\"equals\";case\"toggle\":return config.matchToggle||\"is_enabled\";case\"range\":return\"between\"// Always between for range\n;case\"cms-enum\":return config.matchEnum||\"equals\"// Use matchEnum for CMS enum\n;case\"single-ref\":return config.singleRefAllowMultiple?\"includes\":\"equals\";case\"multi-ref\":return\"includes\";default:return config.match||\"equals\";}};// Helper to auto-detect filter type based on CMS field type\nexport const getRecommendedFilterType=cmsFieldType=>{switch(cmsFieldType){case\"string\":case\"richtext\":return\"text\"// or \"toggle\" for simple on/off filtering\n;case\"number\":return\"range\"// or \"number\" or \"toggle\" for threshold filtering\n;case\"enum\":return\"cms-enum\";case\"collectionreference\":return\"single-ref\";case\"multicollectionreference\":return\"multi-ref\";case\"boolean\":return\"toggle\";default:return\"text\";}};// Helper to get count for each CMS dropdown option\nexport const getOptionCounts=(collectionId,fieldKey,enumValues,originalQuery)=>{const counts={};// For each enum value, create a query to count items with that value\nenumValues.forEach(enumValue=>{try{const countQuery={...originalQuery,where:originalQuery.where?{left:originalQuery.where,operator:\"and\",right:{left:{collection:collectionId,name:fieldKey,type:\"Identifier\"},operator:\"==\",right:{type:\"LiteralValue\",value:enumValue},type:\"BinaryOperation\"},type:\"BinaryOperation\"}:{left:{collection:collectionId,name:fieldKey,type:\"Identifier\"},operator:\"==\",right:{type:\"LiteralValue\",value:enumValue},type:\"BinaryOperation\"},select:[]};// Use the same count hook as the main collection\nconst countData=useQueryData(countQuery);counts[enumValue]=countData.length;}catch(error){// If count query fails, default to 0\ncounts[enumValue]=0;}});return counts;};// Helper to format count display using template\nexport const formatCountDisplay=(option,count,template=\"[{count}]\",countStyle)=>{if(!template||!template.includes(\"{count}\")){return{text:option};}const countText=template.replace(\"{count}\",count.toString());// If template has styling, create a styled element\nif(countStyle&&Object.keys(countStyle).length>0){const styledCount=/*#__PURE__*/_jsx(\"span\",{style:{color:countStyle.color,backgroundColor:countStyle.backgroundColor,padding:countStyle.padding,borderRadius:countStyle.borderRadius,margin:countStyle.margin,...countStyle.font,fontSize:countStyle?.font?.fontSize,...countStyle.size!==0&&{width:countStyle.size,height:countStyle.size,placeContent:\"center\",textAlign:\"center\",display:\"inline-block\"}},children:countText});return{text:option,countElement:styledCount};}// Simple text replacement\nreturn{text:`${option} ${countText}`};};// Helper to validate toggle operator against field type\nexport const getValidToggleOperators=fieldType=>{switch(fieldType){case\"boolean\":return[\"is_enabled\",\"is_disabled\",\"is_set\",\"is_not_set\",\"has_value\",\"is_empty\"];case\"number\":return[\"has_value\",\"is_empty\",\"is_set\",\"is_not_set\",\"equals\",\"not_equals\",\"greater_than\",\"less_than\",\"greater_than_or_equal\",\"less_than_or_equal\"];case\"string\":case\"richtext\":return[\"is_set\",\"is_not_set\",\"has_value\",\"is_empty\",\"contains\",\"not_contains\",\"starts_with\",\"ends_with\",\"equals\",\"not_equals\"];default:return[\"is_set\",\"is_not_set\",\"has_value\",\"is_empty\"];}};// Better value validation for different filter types including range and toggle\nexport const hasValidValue=(config,value)=>{const activeMatch=getActiveMatch(config);// 1. FIELD NAME VALIDATION - must have field name\nif(!config.fieldName||!config.fieldName.trim()){return false;}// 2. Operators that don't need values\nif([\"is_set\",\"is_not_set\"].includes(activeMatch)){return true;}// 3. TOGGLE SPECIAL LOGIC - only apply filter when user explicitly enables it\nif(config.filterType===\"toggle\"){// Tri-state support: null/undefined = ANY (no filter), true = ON, false = OFF\nif(config.toggleTriState){// Apply filter when value is explicitly true or false (not null/undefined)\nreturn value===true||value===false;}// Binary toggle: Only apply filter when toggle is ON (value === true)\n// This prevents filter from applying on page load\nreturn value===true;}// 4. Handle range filters\nif(config.filterType===\"range\"){if(!value||typeof value!==\"object\"){return false;}return value.min!==undefined&&!isNaN(value.min)||value.max!==undefined&&!isNaN(value.max);}// Handle dropdown with multiple selection\nif(config.filterType===\"dropdown\"&&config.allowMultiple){if(!Array.isArray(value)){return false;}return value.length>0;}// 5. Handle CMS enum, single-ref, and multi-ref with multiple selection\nif((config.filterType===\"cms-enum\"||config.filterType===\"single-ref\"||config.filterType===\"multi-ref\")&&(config.allowMultiple||config.multiRefAllowMultiple||config.singleRefAllowMultiple)){if(Array.isArray(value)){return value.length>0;}// If it's a string (single value), use string check\nif(typeof value===\"string\"){return value.trim()!==\"\";}}// 6. Handle null/undefined\nif(value===null||value===undefined){return false;}// 7. Handle string values\nif(typeof value===\"string\"){return value.trim()!==\"\";}// 8. Handle number values\nif(typeof value===\"number\"){return!isNaN(value);}// 9. Handle boolean values\nif(typeof value===\"boolean\"){return true// Booleans are always valid\n;}// 10. Default: value exists\nreturn true;};\nexport const __FramerMetadata__ = {\"exports\":{\"getMatchOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getOptionCounts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getRecommendedFilterType\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getValidToggleOperators\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"hasValidValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getOptionData\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getActiveMatch\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"formatCountDisplay\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./filter_utils.map","// TextFilter component for CMS Filter system\n// Extracted from CMSFilters.tsx for better modularity\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{getActiveMatch}from\"https://framerusercontent.com/modules/gpP9NQZkGM08zua7fzDA/jjWgT6Q2XID15HzGSoSb/filter_utils.js\";/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerDisableUnlink\n */export function TextFilter({config,value,onChange,debugLevel,filterInputStyles,uniqueClassName}){const activeMatch=getActiveMatch(config);// No input needed for is_set/is_not_set operators\nif(activeMatch===\"is_set\"||activeMatch===\"is_not_set\"){return /*#__PURE__*/_jsx(\"div\",{style:{padding:8,fontSize:12,color:\"#666\",fontStyle:\"italic\"},children:\"No input needed - checks if field has value\"});}return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{suppressHydrationWarning:true,children:`\n              .cms-filter-input.${uniqueClassName} {                  \n  ${(()=>{if(typeof filterInputStyles?.border===\"string\"){return`border: ${filterInputStyles.border};`;}else if(filterInputStyles?.border){const border=filterInputStyles.border;return`\n        ${border.borderWidth!==undefined?`border-width: ${border.borderWidth}px;`:\"\"}\n        ${border.borderTopWidth!==undefined?`border-top-width: ${border.borderTopWidth}px;`:\"\"}\n        ${border.borderBottomWidth!==undefined?`border-bottom-width: ${border.borderBottomWidth}px;`:\"\"}\n        ${border.borderLeftWidth!==undefined?`border-left-width: ${border.borderLeftWidth}px;`:\"\"}\n        ${border.borderRightWidth!==undefined?`border-right-width: ${border.borderRightWidth}px;`:\"\"}\n        ${border.borderStyle?`border-style: ${border.borderStyle};`:\"border-style: solid;\"}\n        ${border.borderColor?`border-color: ${border.borderColor};`:\"border-color: #dee2e6;\"}\n      `;}else{return\"border: none;\";}})()}\n                  transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;\n              }\n              .cms-filter-input.${uniqueClassName}:hover:not(:focus) {\n                  border-color: ${filterInputStyles?.hoverBorderColor||filterInputStyles?.selectedBorderColor||\"#007AFF\"} !important;\n                  background-color: ${filterInputStyles?.hoverBackgroundColor||\"#f8f9fa\"} !important;\n                  color: ${filterInputStyles?.hoverTextColor||filterInputStyles?.color||\"#333\"} !important;\n              }\n              .cms-filter-input.${uniqueClassName}:focus {\n                  border-color: ${filterInputStyles?.selectedBorderColor||\"#007AFF\"} !important;\n                  background-color: ${filterInputStyles?.selectedBackgroundColor||\"#fff\"} !important;\n                  color: ${filterInputStyles?.selectedTextColor||\"#333\"} !important;\n              }\n          `}),/*#__PURE__*/_jsx(\"input\",{className:`${uniqueClassName} cms-filter-input`,type:\"text\",placeholder:config.placeholderTextInput?config.placeholderTextInput:`Enter ${config.title.toLowerCase()}...`,value:value||\"\",onChange:e=>onChange(e.target.value),style:{padding:\"8px 12px\",borderRadius:4,outline:\"none\",width:\"100%\",lineHeight:1.2,...filterInputStyles,...filterInputStyles.font,fontSize:filterInputStyles?.font?.fontSize||\"13px\"}})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"TextFilter\":{\"type\":\"reactComponent\",\"name\":\"TextFilter\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// NumberFilter component for CMS Filter system\n// Extracted from CMSFilters.tsx for better modularity\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{getActiveMatch}from\"https://framerusercontent.com/modules/gpP9NQZkGM08zua7fzDA/jjWgT6Q2XID15HzGSoSb/filter_utils.js\";/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerDisableUnlink\n */export function NumberFilter({config,value,onChange,debugLevel,filterInputStyles,uniqueClassName}){const activeMatch=getActiveMatch(config);// No input needed for is_set/is_not_set operators\nif(activeMatch===\"is_set\"||activeMatch===\"is_not_set\"){return /*#__PURE__*/_jsx(\"div\",{style:{padding:8,fontSize:12,color:\"#666\",fontStyle:\"italic\"},children:\"No input needed - checks if field has value\"});}return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{suppressHydrationWarning:true,children:`\n                .cms-filter-input.${uniqueClassName} {               \n  ${(()=>{if(typeof filterInputStyles?.border===\"string\"){return`border: ${filterInputStyles.border};`;}else if(filterInputStyles?.border){const border=filterInputStyles.border;return`\n        ${border.borderWidth!==undefined?`border-width: ${border.borderWidth}px;`:\"\"}\n        ${border.borderTopWidth!==undefined?`border-top-width: ${border.borderTopWidth}px;`:\"\"}\n        ${border.borderBottomWidth!==undefined?`border-bottom-width: ${border.borderBottomWidth}px;`:\"\"}\n        ${border.borderLeftWidth!==undefined?`border-left-width: ${border.borderLeftWidth}px;`:\"\"}\n        ${border.borderRightWidth!==undefined?`border-right-width: ${border.borderRightWidth}px;`:\"\"}\n        ${border.borderStyle?`border-style: ${border.borderStyle};`:\"border-style: solid;\"}\n        ${border.borderColor?`border-color: ${border.borderColor};`:\"border-color: #dee2e6;\"}\n      `;}else{return\"border: none;\";}})()}\n                    transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;\n                }\n                .cms-filter-input.${uniqueClassName}:hover:not(:focus) {\n                    border-color: ${filterInputStyles?.hoverBorderColor||filterInputStyles?.selectedBorderColor||\"#007AFF\"} !important;\n                    background-color: ${filterInputStyles?.hoverBackgroundColor||\"#f8f9fa\"} !important;\n                    color: ${filterInputStyles?.hoverTextColor||filterInputStyles?.color||\"#333\"} !important;\n                }\n                .cms-filter-input.${uniqueClassName}:focus {\n                    border-color: ${filterInputStyles?.selectedBorderColor||\"#007AFF\"} !important;\n                    background-color: ${filterInputStyles?.selectedBackgroundColor||\"#fff\"} !important;\n                    color: ${filterInputStyles?.selectedTextColor||\"#333\"} !important;\n                }\n            `}),/*#__PURE__*/_jsx(\"input\",{className:`${uniqueClassName} cms-filter-input`,type:\"number\",placeholder:config.placeholderNumberInput?config.placeholderNumberInput:`Enter ${config.title.toLowerCase()}...`,value:value||\"\",onChange:e=>{const stringValue=e.target.value.trim();if(stringValue===\"\"){onChange(\"\");}else{const numValue=parseFloat(stringValue);onChange(isNaN(numValue)?\"\":numValue);}},style:{padding:\"8px 12px\",borderRadius:4,outline:\"none\",width:\"100%\",lineHeight:1.2,...filterInputStyles,...filterInputStyles.font,fontSize:filterInputStyles?.font?.fontSize||\"14px\"}})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"NumberFilter\":{\"type\":\"reactComponent\",\"name\":\"NumberFilter\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// SelectFilter component for div-based custom dropdowns\n// Extracted from DropdownFilter.tsx for better maintainability\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{getActiveMatch,getOptionData}from\"https://framerusercontent.com/modules/gpP9NQZkGM08zua7fzDA/jjWgT6Q2XID15HzGSoSb/filter_utils.js\";import{useState,useRef,useEffect}from\"react\";/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerDisableUnlink\n */export function SelectFilter({config,value,onChange,debugLevel,filterSelectStyles,uniqueClassName}){const[isOpen,setIsOpen]=useState(false);const dropdownRef=useRef(null);const activeMatch=getActiveMatch(config);// Close dropdown when clicking outside\nuseEffect(()=>{const handleClickOutside=event=>{if(dropdownRef.current&&!dropdownRef.current.contains(event.target)){setIsOpen(false);}};if(isOpen){document.addEventListener(\"mousedown\",handleClickOutside);}return()=>{document.removeEventListener(\"mousedown\",handleClickOutside);};},[isOpen]);// No input needed for is_set/is_not_set operators\nif(activeMatch===\"is_set\"||activeMatch===\"is_not_set\"){return /*#__PURE__*/_jsx(\"div\",{style:{padding:8,fontSize:12,color:\"#666\",fontStyle:\"italic\"},children:\"No input needed - checks if field has value\"});}const{values,titles}=getOptionData(config);if(values.length===0){return /*#__PURE__*/_jsx(\"div\",{style:{padding:8,fontSize:12,color:\"#dc3545\",fontStyle:\"italic\",backgroundColor:\"#f8d7da\",borderRadius:4},children:\"No options configured. Please add options to the filter configuration.\"});}if(config.allowMultiple){const selectedValues=Array.isArray(value)?value:[];const isAllSelected=selectedValues.length===0;const toggleOption=optionValue=>{const newSelected=selectedValues.includes(optionValue)?selectedValues.filter(v=>v!==optionValue):[...selectedValues,optionValue];onChange(newSelected);};const getDisplayText=()=>{if(selectedValues.length===0)return config.placeholderDropdownInput?config.placeholderDropdownInput:`Select ${config.title}`;if(selectedValues.length===1){const idx=values.indexOf(selectedValues[0]);return titles[idx]||selectedValues[0];}return`${selectedValues.length} selected`;};const selectControls=filterSelectStyles?.selectControls||{};const optionControls=filterSelectStyles?.optionControls||{};return /*#__PURE__*/_jsxs(\"div\",{ref:dropdownRef,style:{position:\"relative\",width:\"100%\"},children:[/*#__PURE__*/_jsx(\"style\",{suppressHydrationWarning:true,children:`\n                    .dropdown-trigger.${uniqueClassName} {\n                        position: relative;\n                        padding: ${selectControls?.padding||\"8px 32px 8px 12px\"};\n                        border-radius: ${selectControls?.borderRadius||\"4\"};\n                        background-color: ${selectControls?.backgroundColor||\"#fff\"};\n                        color: ${selectControls?.color||\"#333\"};\n                    ${(()=>{if(typeof selectControls?.border===\"string\"){return`border: ${selectControls.border};`;}else if(selectControls?.border){const border=selectControls.border;return`\n        ${border.borderWidth!==undefined?`border-width: ${border.borderWidth}px;`:\"\"}\n        ${border.borderTopWidth!==undefined?`border-top-width: ${border.borderTopWidth}px;`:\"\"}\n        ${border.borderBottomWidth!==undefined?`border-bottom-width: ${border.borderBottomWidth}px;`:\"\"}\n        ${border.borderLeftWidth!==undefined?`border-left-width: ${border.borderLeftWidth}px;`:\"\"}\n        ${border.borderRightWidth!==undefined?`border-right-width: ${border.borderRightWidth}px;`:\"\"}\n        ${border.borderStyle?`border-style: ${border.borderStyle};`:\"border-style: solid;\"}\n        ${border.borderColor?`border-color: ${border.borderColor};`:\"border-color: #dee2e6;\"}\n      `;}else{return\"border: none;\";}})()}\n                        transition: border-color 0.2s ease, background-color 0.2s ease;\n                        cursor: pointer;\n                    }\n                    .dropdown-trigger.${uniqueClassName}:hover {\n                        border-color: ${selectControls?.hoverBorderColor||\"#007AFF\"};\n                        background-color: ${selectControls?.hoverBackgroundColor||\"#f8f9fa\"};\n                        color: ${selectControls?.hoverTextColor||\"#007AFF\"};\n                    }\n                    .dropdown-trigger.${uniqueClassName}.open {\n                        border-color: ${selectControls?.selectedBorderColor||\"#007AFF\"};\n                        background-color: ${selectControls?.selectedBackgroundColor||\"#007AFF\"};\n                        color: ${selectControls?.selectedTextColor||\"#fff\"};\n                    }\n                    .dropdown-options.${uniqueClassName} {\n                        margin-top: ${selectControls?.marginTop||\"4\"}px;\n                        padding: ${optionControls?.dropdownPadding||\"0px\"};\n                        background-color: ${optionControls?.dropdownBackgroundColor||\"#fff\"};\n                        ${(()=>{if(typeof optionControls?.dropdownBorder===\"string\"){return`border: ${optionControls.dropdownBorder};`;}else if(optionControls?.dropdownBorder){const border=optionControls.dropdownBorder;return`\n            ${border.borderWidth!==undefined?`border-width: ${border.borderWidth}px;`:\"\"}\n            ${border.borderTopWidth!==undefined?`border-top-width: ${border.borderTopWidth}px;`:\"\"}\n            ${border.borderBottomWidth!==undefined?`border-bottom-width: ${border.borderBottomWidth}px;`:\"\"}\n            ${border.borderLeftWidth!==undefined?`border-left-width: ${border.borderLeftWidth}px;`:\"\"}\n            ${border.borderRightWidth!==undefined?`border-right-width: ${border.borderRightWidth}px;`:\"\"}\n            ${border.borderStyle?`border-style: ${border.borderStyle};`:\"border-style: solid;\"}\n            ${border.borderColor?`border-color: ${border.borderColor};`:\"border-color: #dee2e6;\"}\n        `;}else{return\"border: none;\";}})()}\n                        border-radius: ${optionControls?.dropdownBorderRadius||\"3px\"};\n                        max-height: ${optionControls?.maxHeight||\"200\"}px;\n                        position: absolute;\n                        width: 100%;\n                        overflow-y: auto;\n                        z-index: 1000;\n                        box-shadow: 0 2px 8px rgba(0,0,0,0.15);\n                    }\n                    .dropdown-option.${uniqueClassName} {\n                        font-family: ${optionControls?.optionFont?.fontFamily||\"\"};\n                        font-weight: ${optionControls?.optionFont?.fontWeight||\"normal\"};\n                        font-style: ${optionControls?.optionFont?.fontStyle||\"normal\"};\n                        font-size: ${optionControls?.optionFontSize||\"14px\"};\n                        padding: ${optionControls?.optionPadding||\"8px 12px\"};\n                        margin: ${optionControls?.optionMargin||\"0\"};\n                        background-color: ${optionControls?.optionBackgroundColor||\"#fff\"};\n                        color: ${optionControls?.optionColor||\"#333\"};\n                    ${(()=>{if(typeof optionControls?.optionBorder===\"string\"){return`border: ${optionControls.optionBorder};`;}else if(optionControls?.optionBorder){const border=optionControls.optionBorder;return`\n        ${border.borderWidth!==undefined?`border-width: ${border.borderWidth}px;`:\"\"}\n        ${border.borderTopWidth!==undefined?`border-top-width: ${border.borderTopWidth}px;`:\"\"}\n        ${border.borderBottomWidth!==undefined?`border-bottom-width: ${border.borderBottomWidth}px;`:\"\"}\n        ${border.borderLeftWidth!==undefined?`border-left-width: ${border.borderLeftWidth}px;`:\"\"}\n        ${border.borderRightWidth!==undefined?`border-right-width: ${border.borderRightWidth}px;`:\"\"}\n        ${border.borderStyle?`border-style: ${border.borderStyle};`:\"border-style: solid;\"}\n        ${border.borderColor?`border-color: ${border.borderColor};`:\"border-color: #dee2e6;\"}\n      `;}else{return\"border: none;\";}})()}\n                        border-radius: ${optionControls?.optionBorderRadius||\"0px\"};\n                        transition: background-color 0.15s ease;\n                        cursor: pointer;\n                    }\n                    .dropdown-option.${uniqueClassName}:hover {\n                        background-color: ${optionControls?.optionHoverBackgroundColor||\"#f8f9fa\"};\n                        color: ${optionControls?.optionHoverTextColor||\"#333\"};\n                        border-color: ${optionControls?.optionHoverBorderColor||\"#dee2e6\"};\n                    }\n                    .dropdown-option.${uniqueClassName}.selected {\n                        background-color: ${optionControls?.optionSelectedBackgroundColor||\"#007AFF\"} !important;\n                        border-color: ${optionControls?.optionSelectedBorderColor||\"#007AFF\"} !important;\n                        color: ${optionControls?.optionSelectedTextColor||\"#fff\"} !important;\n                    }\n                `}),/*#__PURE__*/_jsxs(\"div\",{className:`dropdown-trigger ${uniqueClassName} ${isOpen?\"open\":\"\"}`,onClick:()=>setIsOpen(!isOpen),style:{width:\"100%\",...selectControls?.font,fontSize:selectControls?.font?.fontSize||\"13px\"},children:[/*#__PURE__*/_jsx(\"span\",{children:getDisplayText()}),/*#__PURE__*/_jsx(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:selectControls?.arrowSize??16,height:selectControls?.arrowSize??16,viewBox:\"0 0 24 24\",fill:\"none\",style:{position:\"absolute\",right:selectControls?.arrowPosition??8,top:\"50%\",transform:`translateY(-50%) rotate(${isOpen?\"180deg\":\"0deg\"})`,transition:\"transform 0.2s ease\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M7 10l5 5 5-5\",fill:\"none\",stroke:selectControls?.arrowColor||\"currentColor\",strokeWidth:\"2\"})})]}),isOpen&&/*#__PURE__*/_jsxs(\"div\",{className:`dropdown-options ${uniqueClassName}`,children:[config.showAllOption&&/*#__PURE__*/_jsx(\"div\",{className:`dropdown-option ${uniqueClassName} ${isAllSelected?\"selected\":\"\"}`,style:{...optionControls?.optionFont,fontSize:optionControls?.optionFont?.fontSize||\"14px\"},onClick:()=>{onChange([]);setIsOpen(false);},children:/*#__PURE__*/_jsx(\"span\",{children:config.allOptionLabel||`All ${config.title}`})}),values.map((optionValue,idx)=>/*#__PURE__*/_jsx(\"div\",{className:`dropdown-option ${uniqueClassName} ${selectedValues.includes(optionValue)?\"selected\":\"\"}`,style:{...optionControls?.optionFont,fontSize:optionControls?.optionFont?.fontSize||\"14px\"},onClick:()=>toggleOption(optionValue),children:/*#__PURE__*/_jsx(\"span\",{children:titles[idx]})},idx))]})]});}else{// Single selection\nconst selectedIdx=values.indexOf(value);const displayText=selectedIdx>=0?titles[selectedIdx]:config.placeholderDropdownInput?config.placeholderDropdownInput:`Select ${config.title}`;const showPlaceholderClearOption=!config.showAllOption&&(config.allowDeselect??true);const selectControls=filterSelectStyles?.selectControls||{};const optionControls=filterSelectStyles?.optionControls||{};return /*#__PURE__*/_jsxs(\"div\",{ref:dropdownRef,style:{position:\"relative\",width:\"100%\"},children:[/*#__PURE__*/_jsx(\"style\",{suppressHydrationWarning:true,children:`\n                    .dropdown-trigger-single.${uniqueClassName} {\n                        position: relative;\n                        padding: ${selectControls?.padding||\"8px 32px 8px 12px\"};\n                        border-radius: ${selectControls?.borderRadius||\"4\"};\n                        background-color: ${selectControls?.backgroundColor||\"#fff\"};\n                        color: ${selectControls?.color||\"#333\"};\n                    ${(()=>{if(typeof selectControls?.border===\"string\"){return`border: ${selectControls.border};`;}else if(selectControls?.border){const border=selectControls.border;return`\n        ${border.borderWidth!==undefined?`border-width: ${border.borderWidth}px;`:\"\"}\n        ${border.borderTopWidth!==undefined?`border-top-width: ${border.borderTopWidth}px;`:\"\"}\n        ${border.borderBottomWidth!==undefined?`border-bottom-width: ${border.borderBottomWidth}px;`:\"\"}\n        ${border.borderLeftWidth!==undefined?`border-left-width: ${border.borderLeftWidth}px;`:\"\"}\n        ${border.borderRightWidth!==undefined?`border-right-width: ${border.borderRightWidth}px;`:\"\"}\n        ${border.borderStyle?`border-style: ${border.borderStyle};`:\"border-style: solid;\"}\n        ${border.borderColor?`border-color: ${border.borderColor};`:\"border-color: #dee2e6;\"}\n      `;}else{return\"border: none;\";}})()}\n                        transition: border-color 0.2s ease, background-color 0.2s ease;\n                        cursor: pointer;\n                    }\n                    .dropdown-trigger-single.${uniqueClassName}:hover {\n                        border-color: ${selectControls?.hoverBorderColor||\"#007AFF\"};\n                        background-color: ${selectControls?.hoverBackgroundColor||\"#f8f9fa\"};\n                        color: ${selectControls?.hoverTextColor||\"#007AFF\"};\n                    }\n                    .dropdown-trigger-single.${uniqueClassName}.open {\n                        border-color: ${selectControls?.selectedBorderColor||\"#007AFF\"};\n                        background-color: ${selectControls?.selectedBackgroundColor||\"#007AFF\"};\n                        color: ${selectControls?.selectedTextColor||\"#fff\"};\n                    }\n                    .dropdown-options.${uniqueClassName} {\n                        margin-top: ${selectControls?.marginTop||\"4\"}px;\n                        padding: ${optionControls?.dropdownPadding||\"0px\"};\n                        background-color: ${optionControls?.dropdownBackgroundColor||\"#fff\"};\n                        ${(()=>{if(typeof optionControls?.dropdownBorder===\"string\"){return`border: ${optionControls.dropdownBorder};`;}else if(optionControls?.dropdownBorder){const border=optionControls.dropdownBorder;return`\n            ${border.borderWidth!==undefined?`border-width: ${border.borderWidth}px;`:\"\"}\n            ${border.borderTopWidth!==undefined?`border-top-width: ${border.borderTopWidth}px;`:\"\"}\n            ${border.borderBottomWidth!==undefined?`border-bottom-width: ${border.borderBottomWidth}px;`:\"\"}\n            ${border.borderLeftWidth!==undefined?`border-left-width: ${border.borderLeftWidth}px;`:\"\"}\n            ${border.borderRightWidth!==undefined?`border-right-width: ${border.borderRightWidth}px;`:\"\"}\n            ${border.borderStyle?`border-style: ${border.borderStyle};`:\"border-style: solid;\"}\n            ${border.borderColor?`border-color: ${border.borderColor};`:\"border-color: #dee2e6;\"}\n        `;}else{return\"border: none;\";}})()}\n                        border-radius: ${optionControls?.dropdownBorderRadius||\"3px\"};\n                        max-height: ${optionControls?.maxHeight||\"200\"}px;\n                        position: absolute;\n                        width: 100%;\n                        overflow-y: auto;\n                        z-index: 1000;\n                        box-shadow: 0 2px 8px rgba(0,0,0,0.15);\n                    }\n                    .dropdown-option-single.${uniqueClassName} {\n                        font-family: ${optionControls?.optionFont?.fontFamily||\"\"};\n                        font-weight: ${optionControls?.optionFont?.fontWeight||\"normal\"};\n                        font-style: ${optionControls?.optionFont?.fontStyle||\"normal\"};\n                        padding: ${optionControls?.optionPadding||\"8px 12px\"};\n                        margin: ${optionControls?.optionMargin||\"0\"};\n                        background-color: ${optionControls?.optionBackgroundColor||\"#fff\"};\n                        color: ${optionControls?.optionColor||\"#333\"};\n                        ${(()=>{if(typeof optionControls?.optionBorder===\"string\"){return`border: ${optionControls.optionBorder};`;}else if(optionControls?.optionBorder){const border=optionControls.optionBorder;return`\n        ${border.borderWidth!==undefined?`border-width: ${border.borderWidth}px;`:\"\"}\n        ${border.borderTopWidth!==undefined?`border-top-width: ${border.borderTopWidth}px;`:\"\"}\n        ${border.borderBottomWidth!==undefined?`border-bottom-width: ${border.borderBottomWidth}px;`:\"\"}\n        ${border.borderLeftWidth!==undefined?`border-left-width: ${border.borderLeftWidth}px;`:\"\"}\n        ${border.borderRightWidth!==undefined?`border-right-width: ${border.borderRightWidth}px;`:\"\"}\n        ${border.borderStyle?`border-style: ${border.borderStyle};`:\"border-style: solid;\"}\n        ${border.borderColor?`border-color: ${border.borderColor};`:\"border-color: #dee2e6;\"}\n      `;}else{return\"border: none;\";}})()}\n                        border-radius: ${optionControls?.optionBorderRadius||\"0px\"};\n                        transition: background-color 0.15s ease;\n                        cursor: pointer;\n                    }\n                    .dropdown-option-single.${uniqueClassName}:hover {\n                        background-color: ${optionControls?.optionHoverBackgroundColor||\"#f8f9fa\"};\n                        color: ${optionControls?.optionHoverTextColor||\"#333\"};\n                        border-color: ${optionControls?.optionHoverBorderColor||\"#007AFF\"};\n                    }\n                    .dropdown-option-single.${uniqueClassName}.selected {\n                        background-color: ${optionControls?.optionSelectedBackgroundColor||\"#007AFF\"} !important;\n                        border-color: ${optionControls?.optionSelectedBorderColor||\"#007AFF\"} !important;\n                        color: ${optionControls?.optionSelectedTextColor||\"#fff\"} !important;\n                    }\n                `}),/*#__PURE__*/_jsxs(\"div\",{className:`dropdown-trigger-single ${uniqueClassName} ${isOpen?\"open\":\"\"}`,onClick:()=>setIsOpen(!isOpen),style:{width:\"100%\",...selectControls?.font,fontSize:selectControls?.font?.fontSize||\"13px\"},children:[/*#__PURE__*/_jsx(\"span\",{children:displayText}),/*#__PURE__*/_jsx(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:selectControls?.arrowSize??16,height:selectControls?.arrowSize??16,viewBox:\"0 0 24 24\",fill:\"none\",style:{position:\"absolute\",right:selectControls?.arrowPosition??8,top:\"50%\",transform:`translateY(-50%) rotate(${isOpen?\"180deg\":\"0deg\"})`,transition:\"transform 0.2s ease\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M7 10l5 5 5-5\",fill:\"none\",stroke:selectControls?.arrowColor||\"currentColor\",strokeWidth:\"2\"})})]}),isOpen&&/*#__PURE__*/_jsxs(\"div\",{className:`dropdown-options ${uniqueClassName}`,children:[config.showAllOption&&/*#__PURE__*/_jsx(\"div\",{className:`dropdown-option-single ${uniqueClassName} ${!value?\"selected\":\"\"}`,style:{...optionControls?.optionFont,fontSize:optionControls?.optionFont?.fontSize||\"14px\"},onClick:()=>{onChange(\"\");setIsOpen(false);},children:config.allOptionLabel||`All ${config.title}`}),showPlaceholderClearOption&&/*#__PURE__*/_jsx(\"div\",{className:`dropdown-option-single ${uniqueClassName} ${!value?\"selected\":\"\"}`,style:{...optionControls?.optionFont,fontSize:optionControls?.optionFont?.fontSize||\"14px\"},onClick:()=>{onChange(\"\");setIsOpen(false);},children:config.placeholderDropdownInput?config.placeholderDropdownInput:`Select ${config.title}`}),values.map((optionValue,idx)=>/*#__PURE__*/_jsx(\"div\",{className:`dropdown-option-single ${uniqueClassName} ${value===optionValue?\"selected\":\"\"}`,style:{...optionControls?.optionFont,fontSize:optionControls?.optionFont?.fontSize||\"14px\"},onClick:()=>{// Respect allowDeselect setting - if current option is selected and allowDeselect is false, don't change\n    if(value===optionValue&&!(config.allowDeselect??true)){// Just close the dropdown, don't change selection\n    setIsOpen(false);}else{onChange(optionValue);setIsOpen(false);}},children:titles[idx]},idx))]})]});}}\nexport const __FramerMetadata__ = {\"exports\":{\"SelectFilter\":{\"type\":\"reactComponent\",\"name\":\"SelectFilter\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"any\",\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// TagFilter component for tag-style selection\n// Extracted from DropdownFilter.tsx for better maintainability\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{getActiveMatch,getOptionData}from\"https://framerusercontent.com/modules/gpP9NQZkGM08zua7fzDA/jjWgT6Q2XID15HzGSoSb/filter_utils.js\";/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerDisableUnlink\n */export function TagFilter({config,value,onChange,debugLevel,filterPillStyles,uniqueClassName}){const activeMatch=getActiveMatch(config);// No input needed for is_set/is_not_set operators\nif(activeMatch===\"is_set\"||activeMatch===\"is_not_set\"){return /*#__PURE__*/_jsx(\"div\",{style:{padding:8,fontSize:12,color:\"#666\",fontStyle:\"italic\"},children:\"No input needed - checks if field has value\"});}const{values,titles,optionMap}=getOptionData(config);if(values.length===0){return /*#__PURE__*/_jsx(\"div\",{style:{padding:8,fontSize:12,color:\"#dc3545\",fontStyle:\"italic\",backgroundColor:\"#f8d7da\",borderRadius:4},children:\"No options configured. Please add options to the filter configuration.\"});}const selectedValues=Array.isArray(value)?value:value?[value]:[];const isAllSelected=config.allowMultiple?selectedValues.length===0:!value||Array.isArray(value)&&value.length===0;// Compute pill width based on sizing option (only applies in block layout)\nconst getPillWidthStyle=()=>{if(config.pillLayout!==\"block\"){return{width:\"fit-content\"};}switch(config.pillSizing){case\"fill\":return{width:\"100%\"};case\"fixed\":return{width:config.pillWidth||\"200px\"};case\"auto\":default:return{width:\"fit-content\"};}};const pillWidthStyle=getPillWidthStyle();return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{suppressHydrationWarning:true,children:`\n                .tag-filter.${uniqueClassName} {\n                    display: flex;\n                    align-items: center;\n                    padding: 6px 12px;\n                    border-radius: 4px;\n                    cursor: pointer;\n                    transition: all 0.2s ease;\n                    background-color: ${filterPillStyles?.backgroundColor||\"#fff\"};\n                    color: ${filterPillStyles?.color||\"#333\"};\n  ${(()=>{if(typeof filterPillStyles?.border===\"string\"){return`border: ${filterPillStyles.border};`;}else if(filterPillStyles?.border){const border=filterPillStyles.border;return`\n        ${border.borderWidth!==undefined?`border-width: ${border.borderWidth}px;`:\"\"}\n        ${border.borderTopWidth!==undefined?`border-top-width: ${border.borderTopWidth}px;`:\"\"}\n        ${border.borderBottomWidth!==undefined?`border-bottom-width: ${border.borderBottomWidth}px;`:\"\"}\n        ${border.borderLeftWidth!==undefined?`border-left-width: ${border.borderLeftWidth}px;`:\"\"}\n        ${border.borderRightWidth!==undefined?`border-right-width: ${border.borderRightWidth}px;`:\"\"}\n        ${border.borderStyle?`border-style: ${border.borderStyle};`:\"border-style: solid;\"}\n        ${border.borderColor?`border-color: ${border.borderColor};`:\"border-color: #dee2e6;\"}\n      `;}else{return\"border: none;\";}})()}\n                }\n                .tag-filter.${uniqueClassName}:hover {\n                    color: ${filterPillStyles?.hoverTextColor||\"#fff\"} !important;\n                    border-color: ${filterPillStyles?.hoverBorderColor||\"#007AFF\"} !important;\n                    background-color: ${filterPillStyles?.hoverBackgroundColor||\"#f8f9fa\"} !important;\n                }\n                .tag-filter.${uniqueClassName}.selected {\n                    background-color: ${filterPillStyles?.selectedBackgroundColor||\"#007AFF\"} !important;\n                    color: ${filterPillStyles?.selectedTextColor||\"#fff\"} !important;\n                    border-color: ${filterPillStyles?.selectedBorderColor||\"#007AFF\"} !important;\n                }\n            `}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:8},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:config.pillLayout===\"block\"?\"column\":\"row\",flexWrap:config.pillLayout===\"block\"?\"nowrap\":\"wrap\",gap:filterPillStyles?.gap||8},children:[config.showAllOption&&/*#__PURE__*/_jsx(\"div\",{className:`tag-filter ${uniqueClassName} ${isAllSelected?\"selected\":\"\"}`,style:{...filterPillStyles,...filterPillStyles?.font,fontSize:filterPillStyles?.font?.fontSize||\"14px\",...isAllSelected?filterPillStyles?.selectedFont:{},...pillWidthStyle},onClick:()=>{// \"All\" should not be deselectable - only select it if not already selected\nif(!isAllSelected){onChange(config.allowMultiple?[]:\"\");}},children:config.allOptionLabel||`All ${config.title}`}),values.map((optionValue,idx)=>{const optionTitle=titles[idx];const isSelected=selectedValues.includes(optionValue);return /*#__PURE__*/_jsx(\"div\",{className:`tag-filter ${uniqueClassName} ${isSelected?\"selected\":\"\"}`,style:{...filterPillStyles,...filterPillStyles?.font,fontSize:filterPillStyles?.font?.fontSize||\"14px\",...isSelected?filterPillStyles?.selectedFont:{},...pillWidthStyle},onClick:()=>{if(config.allowMultiple){if(isSelected){onChange(selectedValues.filter(v=>v!==optionValue));}else{onChange([...selectedValues,optionValue]);}}else{// Single select mode\nif(isSelected){// Already selected - only deselect if allowDeselect is true\nif(config.allowDeselect!==false){onChange(\"\");}// If allowDeselect is false, do nothing (keep selected)\n}else{// Not selected - select it\nonChange(optionValue);}}},children:optionTitle},idx);})]}),(debugLevel===\"ui_helpers\"||debugLevel===\"full_debug\")&&selectedValues.length>0&&/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:11,color:\"#007AFF\",padding:\"6px 10px\",backgroundColor:\"#f0f8ff\",borderRadius:4,border:\"1px solid #b3d9ff\"},children:[/*#__PURE__*/_jsx(\"strong\",{children:selectedValues.length}),\" selected:\",\" \",selectedValues.map(val=>optionMap.get(val)||val).join(\", \")]})]})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"TagFilter\":{\"type\":\"reactComponent\",\"name\":\"TagFilter\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any\",\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// CheckboxFilter component - Checkbox style for manual dropdown options\n// Based on CMSEnumFilter checkbox implementation\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerDisableUnlink\n */export function CheckboxFilter({config,value,onChange,debugLevel,filterCheckboxStyles,uniqueClassName}){const selected=config.allowMultiple?value||[]:value||\"\";const options=config.options||[];return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{suppressHydrationWarning:true,children:`\n            .cms-checkbox-filter.${uniqueClassName} {\n                background-color: ${filterCheckboxStyles.backgroundColor};\n                ${(()=>{if(typeof filterCheckboxStyles?.border===\"string\"){return`border: ${filterCheckboxStyles.border};`;}else if(filterCheckboxStyles?.border){const border=filterCheckboxStyles.border;return`\n    ${border.borderWidth!==undefined?`border-width: ${border.borderWidth}px;`:\"\"}\n    ${border.borderTopWidth!==undefined?`border-top-width: ${border.borderTopWidth}px;`:\"\"}\n    ${border.borderBottomWidth!==undefined?`border-bottom-width: ${border.borderBottomWidth}px;`:\"\"}\n    ${border.borderLeftWidth!==undefined?`border-left-width: ${border.borderLeftWidth}px;`:\"\"}\n    ${border.borderRightWidth!==undefined?`border-right-width: ${border.borderRightWidth}px;`:\"\"}\n    ${border.borderStyle?`border-style: ${border.borderStyle};`:\"border-style: solid;\"}\n    ${border.borderColor?`border-color: ${border.borderColor};`:\"border-color: #dee2e6;\"}\n  `;}else{return\"border: none;\";}})()}\n                padding: ${filterCheckboxStyles.padding||\"8px 0px 8px 0px\"};\n                border-radius: ${filterCheckboxStyles.borderRadius};\n            }\n            .cms-checkbox-filter.${uniqueClassName}:hover {\n                background-color: ${filterCheckboxStyles.hoverBackgroundColor};\n                border-color: ${filterCheckboxStyles.hoverBorderColor};\n            }\n            .cms-checkbox-filter.${uniqueClassName}.cms-checkbox-filter-selected {\n                background-color: ${filterCheckboxStyles.activeBackgroundColor};\n                border-color: ${filterCheckboxStyles.activeBorderColor};\n            }\n        `}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:config.checkboxLayout===\"inline\"?\"row\":\"row\",flexWrap:config.checkboxLayout===\"inline\"?\"wrap\":\"wrap\",gap:filterCheckboxStyles.gap||6},children:[config.showAllOption&&(()=>{// \"All\" should not be deselectable - only select it if not already selected\nconst isAllSelected=config.allowMultiple?Array.isArray(selected)&&selected.length===0:selected===\"\";return /*#__PURE__*/_jsxs(\"div\",{onClick:()=>{if(!isAllSelected){onChange(config.allowMultiple?[]:\"\");}},className:isAllSelected?`cms-checkbox-filter ${uniqueClassName} cms-checkbox-filter-selected`:`cms-checkbox-filter ${uniqueClassName}`,style:{display:\"flex\",alignItems:\"center\",gap:filterCheckboxStyles.checkboxGap||10,cursor:\"pointer\",transition:\"all 0.2s ease\",width:config.checkboxLayout===\"block\"?config.checkboxWidth||\"100%\":\"auto\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",...filterCheckboxStyles.checkboxBorder,borderColor:isAllSelected?filterCheckboxStyles.selectedBorderColor:filterCheckboxStyles.checkboxBorder.borderColor,borderRadius:filterCheckboxStyles.checkboxBorderRadius,backgroundColor:isAllSelected?filterCheckboxStyles.selectedBackgroundColor:filterCheckboxStyles.checkboxBackgroundColor,color:isAllSelected?filterCheckboxStyles.selectedTextColor:filterCheckboxStyles.color,transition:\"all 0.2s ease\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",flexShrink:0,width:filterCheckboxStyles.scale||18,height:filterCheckboxStyles.scale||18},children:isAllSelected&&/*#__PURE__*/_jsx(\"svg\",{width:(filterCheckboxStyles.scale||18)!=18?\"70%\":\"12px\",height:(filterCheckboxStyles.scale||18)!=18?\"70%\":\"12px\",viewBox:\"0 0 24 24\",fill:\"none\",style:{color:filterCheckboxStyles.selectedSvgColor},children:/*#__PURE__*/_jsx(\"path\",{d:\"M20 6L9 17L4 12\",stroke:\"currentColor\",strokeWidth:\"2.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})}),/*#__PURE__*/_jsx(\"span\",{style:{...filterCheckboxStyles.font,fontSize:filterCheckboxStyles?.font?.fontSize||\"14px\",transition:\"color 0.2s ease\",color:isAllSelected?filterCheckboxStyles.selectedTextColor:filterCheckboxStyles.color,...isAllSelected?filterCheckboxStyles.selectedFont:{}},children:config.allOptionLabel||`All ${config.title}`})]});})(),options.map((option,idx)=>{const optionValue=option.value||option.title;const optionTitle=option.title||option.value;const isSelected=config.allowMultiple?Array.isArray(selected)&&selected.includes(optionValue):selected===optionValue;return /*#__PURE__*/_jsxs(\"div\",{onClick:()=>{if(config.allowMultiple){const current=Array.isArray(selected)?[...selected]:[];if(isSelected){onChange(current.filter(v=>v!==optionValue));}else{current.push(optionValue);onChange(current);}}else{onChange(isSelected&&(config.allowDeselect??true)?\"\":optionValue);}},className:isSelected?`cms-checkbox-filter ${uniqueClassName} cms-checkbox-filter-selected`:`cms-checkbox-filter ${uniqueClassName}`,style:{display:\"flex\",alignItems:\"center\",gap:filterCheckboxStyles.checkboxGap||10,cursor:\"pointer\",transition:\"all 0.2s ease\",width:config.checkboxLayout===\"block\"?config.checkboxWidth||\"100%\":\"auto\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",...filterCheckboxStyles.checkboxBorder,borderColor:isSelected?filterCheckboxStyles.selectedBorderColor:filterCheckboxStyles.checkboxBorder.borderColor,borderRadius:filterCheckboxStyles.checkboxBorderRadius,backgroundColor:isSelected?filterCheckboxStyles.selectedBackgroundColor:filterCheckboxStyles.checkboxBackgroundColor,color:isSelected?filterCheckboxStyles.selectedTextColor:filterCheckboxStyles.color,transition:\"all 0.2s ease\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",flexShrink:0,width:filterCheckboxStyles.scale||18,height:filterCheckboxStyles.scale||18},children:isSelected&&/*#__PURE__*/_jsx(\"svg\",{width:(filterCheckboxStyles.scale||18)!=18?\"70%\":\"12px\",height:(filterCheckboxStyles.scale||18)!=18?\"70%\":\"12px\",viewBox:\"0 0 24 24\",fill:\"none\",style:{color:isSelected?filterCheckboxStyles.selectedSvgColor:\"\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M20 6L9 17L4 12\",stroke:\"currentColor\",strokeWidth:\"2.5\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})}),/*#__PURE__*/_jsx(\"span\",{style:{...filterCheckboxStyles.font,...isSelected?filterCheckboxStyles.selectedFont:{},transition:\"color 0.2s ease\",color:isSelected?filterCheckboxStyles.selectedTextColor:filterCheckboxStyles.color},children:optionTitle})]},idx);}),(debugLevel===\"ui_helpers\"||debugLevel===\"full_debug\")&&/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:11,color:\"#666\",marginTop:4},children:[\"Selected:\",\" \",Array.isArray(selected)?selected.join(\", \"):selected]})]})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"CheckboxFilter\":{\"type\":\"reactComponent\",\"name\":\"CheckboxFilter\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"any\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CheckboxFilter.map","// DropdownFilter component - Clean router for different dropdown styles\n// Separated into specialized components for better maintainability\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{SelectFilter}from\"https://framerusercontent.com/modules/rhjV7CBikISubRqt2bpe/MfG80Yu4s9uqHKOzAH4Q/SelectFilter.js\";import{TagFilter}from\"https://framerusercontent.com/modules/yoPENdwUHgW0xBoBrcKB/HQ5bZw4WpAVh1kswM02n/TagFilter.js\";import{CheckboxFilter}from\"https://framerusercontent.com/modules/ktAWutRRdcvtUBylxWdw/JISMXRhcmkYcSbZCnDe2/CheckboxFilter.js\";/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerDisableUnlink\n */export function DropdownFilter({config,value,onChange,debugLevel,filterSelectStyles,filterPillStyles,filterCheckboxStyles,uniqueClassName}){// Route to appropriate component based on multiStyle\n// Handle different styles (works for both single and multiple selection)\nif(config.multiStyle===\"checkboxes\"){return /*#__PURE__*/_jsx(CheckboxFilter,{config:config,value:value,onChange:onChange,debugLevel:debugLevel,filterCheckboxStyles:filterCheckboxStyles,uniqueClassName:uniqueClassName});}if(config.multiStyle===\"tags\"){return /*#__PURE__*/_jsx(TagFilter,{config:config,value:value,onChange:onChange,debugLevel:debugLevel,filterPillStyles:filterPillStyles,uniqueClassName:uniqueClassName});}if(config.multiStyle===\"select\"){return /*#__PURE__*/_jsx(SelectFilter,{config:config,value:value,onChange:onChange,debugLevel:debugLevel,filterSelectStyles:filterSelectStyles,uniqueClassName:uniqueClassName});}}\nexport const __FramerMetadata__ = {\"exports\":{\"DropdownFilter\":{\"type\":\"reactComponent\",\"name\":\"DropdownFilter\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// DoubleRangeSlider component for CMS Filter system\n// Complete rewrite with pointer events for better UX and reliability\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useEffect,useRef,useCallback}from\"react\";/**\n * Custom debounce hook for onChange emissions\n * Prevents excessive callback invocations during dragging\n */function useDebouncedCallback(callback,delay){const timeoutRef=useRef();const callbackRef=useRef(callback);useEffect(()=>{callbackRef.current=callback;},[callback]);return useCallback((...args)=>{if(timeoutRef.current){clearTimeout(timeoutRef.current);}timeoutRef.current=setTimeout(()=>{callbackRef.current(...args);},delay);},[delay]);}/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerDisableUnlink\n */export function DoubleRangeSlider({config,minRangeValueGap=1,trackColor=\"#dddddd\",rangeColor=\"#007AFF\",thumbColor=\"#fff\",thumbBorderColor=\"#007AFF\",bubbleColor=\"#007AFF\",bubbleTextColor=\"#ffffff\",padding=0,borderRadius=20,backgroundColor=\"#ffffff\",font,fontSize,value,onRangeChange}){// Configuration from props\nconst min=config?.min||0;const max=config?.max||100;const step=config?.step||1;const unit=config?.unit||\"\";const numberFormat=config?.numberFormat||\"normal\";const unitType=config?.unitType||\"none\";const unitSymbol=config?.unitSymbol||\"\";const unitPosition=config?.unitPosition||\"suffix\";const unitGap=config?.unitGap??0// Gap between number and unit in characters/spaces\n;/**\n     * Format a numeric value with compact notation (10K, 1M) and unit display\n     * @param value - The numeric value to format\n     * @returns JSX element with formatted value and unit with proper gap\n     */const formatValue=value=>{let formatted;// Apply number format (normal or compact notation)\nif(numberFormat===\"compact\"){formatted=new Intl.NumberFormat(\"en\",{notation:\"compact\",maximumFractionDigits:1}).format(value);}else{formatted=value.toLocaleString();}// Determine the unit to display based on unitType\nlet displayUnit=\"\";switch(unitType){case\"currency\":displayUnit=unitSymbol||\"$\";break;case\"percent\":displayUnit=\"%\";break;case\"sqft\":displayUnit=\"sq ft\";break;case\"custom\":displayUnit=unitSymbol||unit;break;case\"none\":default:// Fallback to legacy unit prop if no unitType specified\ndisplayUnit=unit;break;}// If no unit, just return the formatted number\nif(!displayUnit){return formatted;}// Return JSX with proper pixel-based gap\nif(unitPosition===\"prefix\"){return /*#__PURE__*/_jsxs(\"span\",{style:{display:\"inline-flex\",alignItems:\"center\",gap:`${unitGap}px`},children:[/*#__PURE__*/_jsx(\"span\",{children:displayUnit}),/*#__PURE__*/_jsx(\"span\",{children:formatted})]});}else{return /*#__PURE__*/_jsxs(\"span\",{style:{display:\"inline-flex\",alignItems:\"center\",gap:`${unitGap}px`},children:[/*#__PURE__*/_jsx(\"span\",{children:formatted}),/*#__PURE__*/_jsx(\"span\",{children:displayUnit})]});}};// Smart gap calculation to ensure visual separation\n// Calculate 0.5% of range as minimum visible gap\nconst rangeSize=max-min;const minVisibleGap=Math.ceil(rangeSize*1e-9)// 1% of range\n;// Use the largest of: explicit gap, step size, or minimum visible gap\nconst effectiveGap=Math.max(minRangeValueGap,step,minVisibleGap);// Internal state - source of truth during interaction\nconst[minValue,setMinValue]=useState(value?.min??min);const[maxValue,setMaxValue]=useState(value?.max??max);// Track which thumb is being actively dragged\nconst[activeThumb,setActiveThumb]=useState(null);// Refs for DOM elements and pointer tracking\nconst containerRef=useRef(null);const isDraggingRef=useRef(false);// Debounced onChange to prevent excessive emissions\nconst debouncedOnChange=useDebouncedCallback((newMin,newMax)=>{onRangeChange?.(newMin,newMax);},300);// Sync with external value changes (URL state, etc.)\n// Only sync when not actively dragging to prevent conflicts\nuseEffect(()=>{if(isDraggingRef.current)return;if(value===null||value===undefined){// Reset to defaults when cleared\nsetMinValue(min);setMaxValue(max);}else{const newMin=value.min??min;const newMax=value.max??max;if(newMin!==minValue||newMax!==maxValue){setMinValue(newMin);setMaxValue(newMax);}}},[value,min,max])// Intentionally omit minValue/maxValue to prevent loops\n;// Helper: Clamp value to valid range and apply step\nconst clampValue=useCallback(val=>{// Apply step rounding\nconst stepped=Math.round(val/step)*step;// Clamp to min/max bounds\nreturn Math.max(min,Math.min(max,stepped));},[min,max,step]);// Helper: Convert value to percentage position\nconst valueToPercentage=useCallback(val=>{return(val-min)/(max-min)*100;},[min,max]);// Helper: Convert pixel position to value\nconst positionToValue=useCallback(clientX=>{if(!containerRef.current)return min;const rect=containerRef.current.getBoundingClientRect();const percentage=Math.max(0,Math.min(100,(clientX-rect.left)/rect.width*100));const rawValue=min+percentage/100*(max-min);return clampValue(rawValue);},[min,max,clampValue]);// Helper: Determine which thumb is nearest to a click position\nconst getNearestThumb=useCallback(clickValue=>{const distanceToMin=Math.abs(clickValue-minValue);const distanceToMax=Math.abs(clickValue-maxValue);return distanceToMin<=distanceToMax?\"min\":\"max\";},[minValue,maxValue]);// Update values with constraint enforcement\nconst updateValues=useCallback((newMin,newMax)=>{// Ensure min doesn't exceed max\nconst constrainedMin=Math.min(newMin,newMax-effectiveGap);const constrainedMax=Math.max(newMax,newMin+effectiveGap);setMinValue(constrainedMin);setMaxValue(constrainedMax);// Emit debounced change\ndebouncedOnChange(constrainedMin,constrainedMax);},[effectiveGap,debouncedOnChange]);// Handle pointer down on thumb - start dragging\nconst handleThumbPointerDown=useCallback((e,thumb)=>{e.stopPropagation();e.preventDefault();isDraggingRef.current=true;setActiveThumb(thumb);e.target.setPointerCapture(e.pointerId);},[]);// Handle pointer move - update value during drag\nconst handlePointerMove=useCallback(e=>{if(!isDraggingRef.current||!activeThumb)return;const newValue=positionToValue(e.clientX);if(activeThumb===\"min\"){// First apply step rounding and bounds\nconst clampedMin=clampValue(newValue);// Then ensure gap constraint (this is the final constraint)\nconst constrainedMin=Math.min(clampedMin,maxValue-effectiveGap);setMinValue(constrainedMin);}else{// First apply step rounding and bounds\nconst clampedMax=clampValue(newValue);// Then ensure gap constraint (this is the final constraint)\nconst constrainedMax=Math.max(clampedMax,minValue+effectiveGap);setMaxValue(constrainedMax);}},[activeThumb,minValue,maxValue,effectiveGap,positionToValue,clampValue]);// Handle pointer up - end dragging and emit final value\nconst handlePointerUp=useCallback(e=>{if(isDraggingRef.current){isDraggingRef.current=false;setActiveThumb(null);e.target.releasePointerCapture(e.pointerId);// Emit immediate final value (not debounced)\nonRangeChange?.(minValue,maxValue);}},[minValue,maxValue,onRangeChange]);// Handle track click - move nearest thumb to clicked position\nconst handleTrackClick=useCallback(e=>{// Ignore if clicking on a thumb\nif(e.target.classList.contains(\"thumb\")){return;}const clickValue=positionToValue(e.clientX);const nearestThumb=getNearestThumb(clickValue);if(nearestThumb===\"min\"){// First apply step rounding and bounds\nconst clampedMin=clampValue(clickValue);// Then ensure gap constraint\nconst newMin=Math.min(clampedMin,maxValue-effectiveGap);setMinValue(newMin);onRangeChange?.(newMin,maxValue);}else{// First apply step rounding and bounds\nconst clampedMax=clampValue(clickValue);// Then ensure gap constraint\nconst newMax=Math.max(clampedMax,minValue+effectiveGap);setMaxValue(newMax);onRangeChange?.(minValue,newMax);}},[positionToValue,getNearestThumb,minValue,maxValue,effectiveGap,clampValue,onRangeChange]);// Handle keyboard navigation\nconst handleKeyDown=useCallback((e,thumb)=>{let delta=0;switch(e.key){case\"ArrowLeft\":case\"ArrowDown\":delta=-step;break;case\"ArrowRight\":case\"ArrowUp\":delta=step;break;case\"PageDown\":delta=-step*10;break;case\"PageUp\":delta=step*10;break;case\"Home\":delta=thumb===\"min\"?min-minValue:min-maxValue;break;case\"End\":delta=thumb===\"min\"?max-minValue:max-maxValue;break;default:return;// Don't prevent default for other keys\n}e.preventDefault();if(thumb===\"min\"){// First apply step rounding and bounds\nconst clampedMin=clampValue(minValue+delta);// Then ensure gap constraint\nconst newMin=Math.min(clampedMin,maxValue-effectiveGap);setMinValue(newMin);onRangeChange?.(newMin,maxValue);}else{// First apply step rounding and bounds\nconst clampedMax=clampValue(maxValue+delta);// Then ensure gap constraint\nconst newMax=Math.max(clampedMax,minValue+effectiveGap);setMaxValue(newMax);onRangeChange?.(minValue,newMax);}},[step,min,max,minValue,maxValue,effectiveGap,clampValue,onRangeChange]);// Calculate positions for rendering\nconst minPercentage=valueToPercentage(minValue);const maxPercentage=valueToPercentage(maxValue);// Helper to calculate thumb position that prevents overflow\n// At 0%, no offset (left edge aligns with track start)\n// At 100%, full offset (right edge aligns with track end)\n// In between, interpolate smoothly\nconst getThumbTransform=percentage=>{// At 0%: translateX(0) - left edge of thumb at track start\n// At 100%: translateX(-100%) - right edge of thumb at track end\n// Linear interpolation between\nconst xOffset=-percentage;return`translate(${xOffset}%, -50%)`;};// Helper for min bubble: left-aligned at 0%, smoothly moves to centered at 100%\nconst getMinBubbleTransform=percentage=>{// At 0%: translateX(0) - left aligned\n// At 100%: translateX(-50%) - centered\n// Smooth interpolation: -0.5 * percentage\nconst xOffset=-1*percentage;return`translateX(${xOffset}%)`;};// Helper for max bubble: same smooth interpolation as min to stay within bounds\nconst getMaxBubbleTransform=percentage=>{// At 0%: translateX(0) - left aligned\n// At 100%: translateX(-100%) - right aligned (stays within track)\nconst xOffset=-1*percentage;return`translateX(${xOffset}%)`;};return /*#__PURE__*/_jsx(\"div\",{className:\"double_range_slider_box\",style:{width:\"100%\",height:\"auto\",backgroundColor,borderRadius:`${borderRadius}px`,padding:`${padding}px`,// Add padding to prevent thumbs/bubbles from overflowing\npaddingLeft:`${padding+10}px`,paddingRight:`${padding+10}px`,paddingTop:`${padding+50}px`,paddingBottom:`${padding+10}px`},children:/*#__PURE__*/_jsxs(\"div\",{ref:containerRef,className:\"track_container\",onClick:handleTrackClick,style:{position:\"relative\",width:\"100%\",height:\"5px\",backgroundColor:trackColor,borderRadius:\"20px\",marginTop:\"30px\",marginBottom:\"15px\",cursor:\"pointer\"},children:[/*#__PURE__*/_jsx(\"div\",{className:\"track_fill\",style:{position:\"absolute\",height:\"100%\",backgroundColor:rangeColor,borderRadius:\"20px\",left:`${minPercentage}%`,width:`${maxPercentage-minPercentage}%`,pointerEvents:\"none\"}}),/*#__PURE__*/_jsx(\"div\",{className:\"thumb min\",onPointerDown:e=>handleThumbPointerDown(e,\"min\"),onPointerMove:handlePointerMove,onPointerUp:handlePointerUp,onKeyDown:e=>handleKeyDown(e,\"min\"),tabIndex:0,role:\"slider\",\"aria-label\":\"Minimum value\",\"aria-valuemin\":min,\"aria-valuemax\":max,\"aria-valuenow\":minValue,style:{position:\"absolute\",top:\"50%\",left:`${minPercentage}%`,transform:getThumbTransform(minPercentage),width:\"20px\",height:\"20px\",borderRadius:\"50%\",backgroundColor:thumbColor,border:`3px solid ${thumbBorderColor}`,cursor:\"grab\",// When dragging min, it gets highest priority (3)\n// Otherwise it stays below max (1) to ensure max is clickable when overlapping\nzIndex:activeThumb===\"min\"?3:1,touchAction:\"none\",transition:activeThumb===\"min\"?\"none\":\"left 0.1s ease\"},children:/*#__PURE__*/_jsx(\"div\",{className:\"bubble\",style:{position:\"absolute\",bottom:\"calc(100% + 8px)\",// Smooth transition: left-aligned at 0%, centered at 100%\nleft:`${minPercentage}%`,transform:getMinBubbleTransform(minPercentage),padding:\"6px 12px\",borderRadius:\"1rem\",backgroundColor:bubbleColor,color:bubbleTextColor,whiteSpace:\"nowrap\",fontSize:fontSize,fontFamily:font?.fontFamily||undefined,fontWeight:font?.fontWeight??undefined,fontStyle:font?.fontStyle??undefined,pointerEvents:\"none\",userSelect:\"none\"},children:formatValue(minValue)})}),/*#__PURE__*/_jsx(\"div\",{className:\"thumb max\",onPointerDown:e=>handleThumbPointerDown(e,\"max\"),onPointerMove:handlePointerMove,onPointerUp:handlePointerUp,onKeyDown:e=>handleKeyDown(e,\"max\"),tabIndex:0,role:\"slider\",\"aria-label\":\"Maximum value\",\"aria-valuemin\":min,\"aria-valuemax\":max,\"aria-valuenow\":maxValue,style:{position:\"absolute\",top:\"50%\",left:`${maxPercentage}%`,transform:getThumbTransform(maxPercentage),width:\"20px\",height:\"20px\",borderRadius:\"50%\",backgroundColor:thumbColor,border:`3px solid ${thumbBorderColor}`,cursor:\"grab\",// When dragging max, it gets highest priority (3)\n// When not dragging, it stays at 2 (above min's 1) so it's always clickable when overlapping\nzIndex:activeThumb===\"max\"?3:2,touchAction:\"none\",transition:activeThumb===\"max\"?\"none\":\"left 0.1s ease\"},children:/*#__PURE__*/_jsx(\"div\",{className:\"bubble\",style:{position:\"absolute\",bottom:\"calc(100% + 8px)\",// Smooth transition: right-aligned at 100%, centered at 0%\nleft:`${maxPercentage}%`,transform:getMaxBubbleTransform(maxPercentage),padding:\"6px 12px\",borderRadius:\"1rem\",backgroundColor:bubbleColor,color:bubbleTextColor,whiteSpace:\"nowrap\",fontSize:fontSize,fontFamily:font?.fontFamily||undefined,fontWeight:font?.fontWeight??undefined,fontStyle:font?.fontStyle??undefined,pointerEvents:\"none\",userSelect:\"none\"},children:formatValue(maxValue)})})]})});}\nexport const __FramerMetadata__ = {\"exports\":{\"DoubleRangeSlider\":{\"type\":\"reactComponent\",\"name\":\"DoubleRangeSlider\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any\",\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./DoubleRangeSlider.map","// RangeFilter component for CMS Filter system\n// Extracted from CMSFilters.tsx for better modularity\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{DoubleRangeSlider}from\"https://framerusercontent.com/modules/BNKPJXocDPceT63H0PHv/HZXq3K8EHwi0eLjf10eU/DoubleRangeSlider.js\";/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerDisableUnlink\n */export function RangeFilter({config,value,onChange,filterInputStyles,filterRangeStyles,uniqueClassName}){const min=config.min||0;const max=config.max||100;const step=config.step||1;const currentValue=value||{min:min,max:max};const unit=config.unit||\"\";// Use range slider if specified\nif(config.rangeStyle===\"range-slider\"){return /*#__PURE__*/_jsx(DoubleRangeSlider,{...filterRangeStyles,...filterRangeStyles.font,config:config,value:value,onRangeChange:(min,max)=>onChange({min,max})});}// Dual input style (default)\nreturn /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{suppressHydrationWarning:true,children:`\n                .cms-filter-input.${uniqueClassName} {\n                    transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;\n                }\n                .cms-filter-input.${uniqueClassName}:hover:not(:focus) {\n                    border-color: ${filterInputStyles?.hoverBorderColor||filterInputStyles?.selectedBorderColor||\"#007AFF\"} !important;\n                    background-color: ${filterInputStyles?.hoverBackgroundColor||\"#f8f9fa\"} !important;\n                    color: ${filterInputStyles?.hoverTextColor||filterInputStyles?.color||\"#333\"} !important;\n                }\n                .cms-filter-input.${uniqueClassName}:focus {\n                    border-color: ${filterInputStyles?.selectedBorderColor||\"#007AFF\"} !important;\n                    background-color: ${filterInputStyles?.selectedBackgroundColor||\"#fff\"} !important;\n                    color: ${filterInputStyles?.selectedTextColor||\"#333\"} !important;\n                }\n            `}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:8},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:config.rangeInputOptions===\"left-right\"?\"row\":\"column\",justifyContent:config.rangeInputOptions===\"left-right\"?\"space-between\":\"space-around\",flexWrap:\"wrap\",gap:8},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:config.rangeInputOptions===\"left-right\"?\"flex-start\":\"center\",flexDirection:config.rangeInputOptions===\"left-right\"?\"column\":\"row\",gap:8},children:[/*#__PURE__*/_jsx(\"label\",{style:{fontSize:12,color:\"#666\",minWidth:30,...filterInputStyles.font,fontSize:filterInputStyles?.font?.fontSize||\"12px\"},children:\"Min:\"}),/*#__PURE__*/_jsx(\"input\",{className:`${uniqueClassName} cms-filter-input`,type:\"number\",value:currentValue.min!==undefined?currentValue.min:min,onChange:e=>{const newMin=e.target.value?parseFloat(e.target.value):min;onChange({min:newMin,max:currentValue.max!==undefined?currentValue.max:max});},min:min,max:currentValue.max!==undefined?currentValue.max:max,step:step,style:{padding:\"6px 8px\",border:\"1px solid #dee2e6\",borderRadius:4,lineHeight:1.2,outline:\"none\",flex:1,...filterInputStyles,...filterInputStyles.font,fontSize:filterInputStyles?.font?.fontSize||\"12px\"}}),unit&&/*#__PURE__*/_jsx(\"span\",{style:{fontSize:12,color:\"#666\",minWidth:\"auto\"},children:unit})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:config.rangeInputOptions===\"left-right\"?\"flex-start\":\"center\",flexDirection:config.rangeInputOptions===\"left-right\"?\"column\":\"row\",gap:8},children:[/*#__PURE__*/_jsx(\"label\",{style:{fontSize:12,color:\"#666\",minWidth:30,...filterInputStyles.font,fontSize:filterInputStyles?.font?.fontSize||\"12px\"},children:\"Max:\"}),/*#__PURE__*/_jsx(\"input\",{className:`${uniqueClassName} cms-filter-input`,type:\"number\",value:currentValue.max!==undefined?currentValue.max:max,onChange:e=>{const newMax=e.target.value?parseFloat(e.target.value):max;onChange({min:currentValue.min!==undefined?currentValue.min:min,max:newMax});},min:currentValue.min!==undefined?currentValue.min:min,max:max,step:step,style:{padding:\"6px 8px\",border:\"1px solid #dee2e6\",borderRadius:4,lineHeight:1.2,outline:\"none\",flex:1,...filterInputStyles,...filterInputStyles.font,fontSize:filterInputStyles?.font?.fontSize||\"12px\"}}),unit&&/*#__PURE__*/_jsx(\"span\",{style:{fontSize:12,color:\"#666\",minWidth:\"auto\"},children:unit})]})]}),config.rangeBottomLabel&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\",fontSize:11,color:\"#999\",marginTop:4},children:[/*#__PURE__*/_jsxs(\"span\",{children:[\"Min: \",min,unit]}),/*#__PURE__*/_jsxs(\"span\",{children:[\"Max: \",max,unit]})]})]})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"RangeFilter\":{\"type\":\"reactComponent\",\"name\":\"RangeFilter\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"any\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./RangeFilter.map","// ToggleFilter component for CMS Filter system\n// Enhanced with tri-state support, custom labels, and multiple UI styles\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{getActiveMatch}from\"https://framerusercontent.com/modules/gpP9NQZkGM08zua7fzDA/jjWgT6Q2XID15HzGSoSb/filter_utils.js\";/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerDisableUnlink\n */export function ToggleFilter({config,value,onChange,debugLevel,filterToggleStyles,uniqueClassName}){const activeMatch=getActiveMatch(config);// No input needed for is_set/is_not_set operators\nif(activeMatch===\"is_set\"||activeMatch===\"is_not_set\"){return /*#__PURE__*/_jsx(\"div\",{style:{padding:8,fontSize:12,color:\"#666\",fontStyle:\"italic\"},children:\"No input needed - checks if field has value\"});}// Get toggle style and tri-state setting\nconst toggleStyle=config.toggleStyle||\"switch\";const isTriState=config.toggleTriState||false;const showLabels=config.toggleShowLabels!==false// Default true\n;const isInverse=config.toggleInverse||false;// Get labels with smart defaults based on operator and inverse mode\nconst getDefaultLabels=()=>{// If inverse mode, flip ON/OFF meanings\nconst base=(()=>{switch(activeMatch){// Boolean operators (for boolean fields)\ncase\"is_enabled\":return isInverse?{on:\"Disabled\",off:\"Enabled\",any:\"Any\"}:{on:\"Enabled\",off:\"Disabled\",any:\"Any\"};case\"is_disabled\":return isInverse?{on:\"Enabled\",off:\"Disabled\",any:\"Any\"}:{on:\"Disabled\",off:\"Enabled\",any:\"Any\"};// Value operators (works for all field types)\ncase\"has_value\":return isInverse?{on:\"Hide With Value\",off:\"Show With Value\",any:\"Any\"}:{on:\"Has Value\",off:\"Empty\",any:\"Any\"};case\"is_empty\":return isInverse?{on:\"Hide Empty\",off:\"Show Empty\",any:\"Any\"}:{on:\"Empty\",off:\"Has Value\",any:\"Any\"};default:return isInverse?{on:\"Exclude\",off:\"Include\",any:\"Any\"}:{on:\"On\",off:\"Off\",any:\"Any\"};}})();return base;};const defaultLabels=getDefaultLabels();const onLabel=config.toggleOnLabel||defaultLabels.on;const offLabel=config.toggleOffLabel||defaultLabels.off;const anyLabel=config.toggleAnyLabel||defaultLabels.any;// Determine if toggle is \"active\" (ON state)\n// For boolean: true = ON, false = OFF\n// For other types: any truthy value = ON, null/undefined = OFF\nconst isValueActive=()=>{if(value===null||value===undefined)return false;if(typeof value===\"boolean\")return value;// For strings and numbers, check if they exist (not empty)\nif(typeof value===\"string\")return value.trim()!==\"\";if(typeof value===\"number\")return true;return!!value;};// Determine current state for tri-state or binary\nconst getCurrentState=()=>{if(isTriState){if(value===null||value===undefined)return\"any\";return isValueActive()?\"on\":\"off\";}else{return isValueActive()?\"on\":\"off\";}};const currentState=getCurrentState();// Handle click based on tri-state or binary mode\nconst handleClick=()=>{if(isTriState){// Cycle: ANY -> ON -> OFF -> ANY\nif(value===null||value===undefined){onChange(true)// Set to ON (true for any field type)\n;}else if(isValueActive()){onChange(false)// Set to OFF (false for any field type)\n;}else{onChange(null)// Set to ANY (null)\n;}}else{// Toggle: OFF -> ON -> OFF\n// For boolean: toggle true/false\n// For other types: toggle between value and null\nonChange(isValueActive()?false:true);}};// Render based on toggle style\nswitch(toggleStyle){case\"switch\":return renderSwitch();case\"pill\":return renderPill();default:return renderSwitch();}// Switch Style (CSS-based)\nfunction renderSwitch(){const switchWidth=filterToggleStyles?.switchWidth??52;const switchHeight=filterToggleStyles?.switchHeight??24;const knobSize=filterToggleStyles?.knobSize??18;const gap=filterToggleStyles?.gap??12;// Convert border object to CSS string\nconst getBorderString=()=>{const border=filterToggleStyles?.border;if(typeof border===\"string\"){return border;}else if(border&&typeof border===\"object\"){const{borderWidth=1,borderStyle=\"solid\",borderColor=\"#dee2e6\"}=border;return`${borderWidth}px ${borderStyle} ${borderColor}`;}return`1px solid ${filterToggleStyles?.borderColor||\"#dee2e6\"}`;};const borderString=getBorderString();// Calculate knob positions for different states\nconst knobPositionOff=gap;const knobPositionAny=(switchWidth-knobSize)/2;const knobPositionOn=switchWidth-knobSize-gap-1;// State classes\nconst stateClass=currentState===\"on\"?\"is-on\":currentState===\"any\"?\"is-any\":\"is-off\";return /*#__PURE__*/_jsxs(\"div\",{className:\"cms-toggle-wrapper\",children:[/*#__PURE__*/_jsx(\"style\",{suppressHydrationWarning:true,children:`\n                    /* Switch Container */\n                    .cms-toggle-switch.${uniqueClassName} {\n                        position: relative;\n                        width: ${switchWidth}px;\n                        height: ${switchHeight}px;\n                        border-radius: ${switchHeight/2}px;\n                        cursor: pointer;\n                        transition: all 0.2s ease;\n                        place-content: center;\n                        border: ${borderString};\n                    }\n\n                    /* Any State (Tri-state) \n                    .cms-toggle-switch.${uniqueClassName}.is-any {\n                        background-color: ${filterToggleStyles?.anyBackgroundColor||\"#6c757d\"};\n                        border-color: ${filterToggleStyles?.anyBorderColor||\"#6c757d\"};\n                    }*/\n\n                    /* Default/Off State */\n                    .cms-toggle-switch.${uniqueClassName}.is-off {\n                        background-color: ${filterToggleStyles?.backgroundColor||\"#ccc\"};\n                        border-color: ${filterToggleStyles?.borderColor||\"#dee2e6\"};\n                    }\n\n                    /* Hover States */\n                    .cms-toggle-switch.${uniqueClassName}:hover {\n                        box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1);\n                    }\n\n                    .cms-toggle-switch.${uniqueClassName}.is-on:hover {\n                        background-color: ${filterToggleStyles?.hoverBackgroundColor||\"#0056b3\"};\n                        border-color: ${filterToggleStyles?.hoverBorderColor||\"#dee2e6\"};\n                    }\n\n                    /* On/Selected State */\n                    .cms-toggle-switch.${uniqueClassName}.is-on {\n                        background-color: ${filterToggleStyles?.selectedBackgroundColor||\"#007AFF\"};\n                        border-color: ${filterToggleStyles?.selectedBorderColor||\"#007AFF\"};\n                    }\n\n                    /* Switch Knob */\n                    .cms-toggle-knob.${uniqueClassName} {\n                        position: relative;\n                        width: ${knobSize}px;\n                        height: ${knobSize}px;\n                        border-radius: ${filterToggleStyles?.borderRadius||knobSize/2}px;\n                        background-color: ${filterToggleStyles?.innerBackgroundColor||\"#fff\"};\n                        transition: all 0.2s ease;\n                        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n                    }\n\n                    /* Knob Positions */\n                    .cms-toggle-switch.${uniqueClassName}.is-off .cms-toggle-knob.${uniqueClassName} {\n                        left: ${knobPositionOff}px;\n                    }\n\n                    .cms-toggle-switch.${uniqueClassName}.is-any .cms-toggle-knob.${uniqueClassName} {\n                        left: ${knobPositionAny}px;\n                    }\n\n                    .cms-toggle-switch.${uniqueClassName}.is-on .cms-toggle-knob.${uniqueClassName} {\n                        left: ${knobPositionOn}px;\n                    }\n\n                    /* Label Styles */\n                    .cms-toggle-label.${uniqueClassName} {\n                        font-size: ${filterToggleStyles?.font?.fontSize||\"14px\"};\n                        font-family: ${filterToggleStyles?.font?.fontFamily||\"inherit\"};\n                        font-weight: ${filterToggleStyles?.font?.fontWeight||\"inherit\"};\n                        font-style: ${filterToggleStyles?.font?.fontStyle||\"inherit\"};\n                        transition: color 0.2s ease;\n                    }\n\n                    .cms-toggle-label.${uniqueClassName}.is-off  {\n                        color: ${filterToggleStyles?.color||\"#666\"};\n                    }\n\n                    .cms-toggle-label.${uniqueClassName}.is-on {\n                        color: ${filterToggleStyles?.selectedTextColor||\"#666\"};\n                    }\n\n                    /*.cms-toggle-label.${uniqueClassName}.is-any {\n                        color: ${filterToggleStyles?.anyTextColor||\"#6c757d\"};\n                    }*/\n\n                    /* Wrapper */\n                    .cms-toggle-wrapper {\n                        display: flex;\n                        align-items: center;\n                        gap: 12px;\n                        padding-left: 2px;\n                    }\n                `}),/*#__PURE__*/_jsx(\"div\",{className:`cms-toggle-switch ${uniqueClassName} ${stateClass}`,onClick:handleClick,children:/*#__PURE__*/_jsx(\"div\",{className:`cms-toggle-knob ${uniqueClassName}`})}),showLabels&&/*#__PURE__*/_jsx(\"span\",{className:`cms-toggle-label ${uniqueClassName} ${stateClass}`,style:{...filterToggleStyles?.font,fontSize:filterToggleStyles?.font?.fontSize||\"14px\"},children:currentState===\"on\"?onLabel:currentState===\"any\"?anyLabel:offLabel}),debugLevel===\"full_debug\"&&/*#__PURE__*/_jsxs(\"span\",{style:{fontSize:11,color:\"#888\",marginLeft:8},children:[isTriState?`Tri-state: ${currentState}`:`Binary: ${currentState}`,isInverse&&\" (Inverted)\"]})]});}// Pill Style (Segmented Control)\nfunction renderPill(){const borderRadius=filterToggleStyles?.borderRadius??20;const pillGap=filterToggleStyles?.pillGap??0;const padding=filterToggleStyles?.padding??8;// Convert border object to CSS string\nconst getBorderString=()=>{const border=filterToggleStyles?.border;if(typeof border===\"string\"){return border;}else if(border&&typeof border===\"object\"){const{borderWidth=1,borderStyle=\"solid\",borderColor=\"#dee2e6\"}=border;return`${borderWidth}px ${borderStyle} ${borderColor}`;}return`1px solid ${filterToggleStyles?.borderColor||\"#dee2e6\"}`;};const borderString=getBorderString();const pillOptions=isTriState?[{value:\"any\",label:anyLabel},{value:\"on\",label:onLabel},{value:\"off\",label:offLabel}]:[{value:\"on\",label:onLabel},{value:\"off\",label:offLabel}];// Calculate sliding pill position and width\nconst activeIndex=pillOptions.findIndex(opt=>opt.value===currentState);const totalOptions=pillOptions.length;// Total gap space between all pills\nconst totalGaps=(totalOptions-1)*pillGap;// Width of each pill = (100% - container padding - all gaps) / number of pills\nconst pillWidthFormula=`(100% - 4px - ${totalGaps}px) / ${totalOptions}`;// Position = container padding + (active index × (pill width + gap between pills))\n// For activeIndex = 0: 2px\n// For activeIndex = 1: 2px + 1 * (pillWidth + gap)\n// For activeIndex = 2: 2px + 2 * (pillWidth + gap)\nconst leftPosition=activeIndex===0?\"2px\":`calc(2px + ${activeIndex} * ((${pillWidthFormula}) + ${pillGap}px))`;const sliderWidth=`calc(${pillWidthFormula})`;const pillBackgroundColor=filterToggleStyles?.selectedBackgroundColor||\"#007AFF\";return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{suppressHydrationWarning:true,children:`\n                    /* Pill Container */\n                    .cms-pill-container.${uniqueClassName} {\n                        position: relative;\n                        display: flex;\n                        gap: ${pillGap}px;\n                        padding: 2px;\n                        background-color: ${filterToggleStyles?.backgroundColor||\"#f0f0f0\"};\n                        border-radius: ${borderRadius}px;\n                        border: ${borderString};\n                    }\n\n                    /* Sliding Background Pill */\n                    .cms-pill-slider.${uniqueClassName} {\n                        position: absolute;\n                        top: 2px;\n                        left: ${leftPosition};\n                        width: ${sliderWidth};\n                        height: calc(100% - 4px);\n                        background-color: ${pillBackgroundColor};\n                        border-radius: ${borderRadius-2}px;\n                        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n                        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);\n                        z-index: 1;\n                    }\n\n                    /* Pill Option Base */\n                    .cms-pill-option.${uniqueClassName} {\n                        position: relative;\n                        flex: 1 1 0;\n                        min-width: 0;\n                        padding: ${filterToggleStyles?.padding||\"0px\"};\n                        border-radius: ${borderRadius-2}px;\n                        font-size: ${filterToggleStyles?.fontSize||\"14px\"};\n                        font-family: ${filterToggleStyles?.font?.fontFamily||\"inherit\"};\n                        font-weight: ${filterToggleStyles?.font?.fontWeight||\"inherit\"};\n                        font-style: ${filterToggleStyles?.font?.fontStyle||\"inherit\"};\n                        text-align: center;\n                        cursor: pointer;\n                        transition: color 0.2s ease;\n                        user-select: none;\n                        display: flex;\n                        align-items: center;\n                        justify-content: center;\n                        white-space: nowrap;\n                        overflow: hidden;\n                        text-overflow: ellipsis;\n                        z-index: 2;\n                    }\n\n                    /* Inactive State */\n                    .cms-pill-option.${uniqueClassName}.is-inactive {\n                        color: ${filterToggleStyles?.color||\"#666\"};\n                        font-weight: 400;\n                    }\n\n                    /* Active State */\n                    .cms-pill-option.${uniqueClassName}.is-active {\n                        color: ${filterToggleStyles?.selectedTextColor||\"#fff\"};\n                    }\n\n                    /* Hover States */\n                    .cms-pill-option.${uniqueClassName}:hover {\n                        opacity: 0.9;\n                    }\n                `}),/*#__PURE__*/_jsxs(\"div\",{className:`cms-pill-container ${uniqueClassName}`,children:[/*#__PURE__*/_jsx(\"div\",{className:`cms-pill-slider ${uniqueClassName}`}),pillOptions.map(option=>{const isActive=currentState===option.value;return /*#__PURE__*/_jsx(\"div\",{className:`cms-pill-option ${uniqueClassName} ${isActive?\"is-active\":\"is-inactive\"}`,style:{...filterToggleStyles?.font,fontSize:filterToggleStyles?.font?.fontSize||\"14px\"},onClick:()=>{if(isTriState){onChange(option.value===\"on\"?true:option.value===\"off\"?false:null);}else{onChange(option.value===\"on\"?true:false);}},children:option.label},option.value);})]})]});}}\nexport const __FramerMetadata__ = {\"exports\":{\"ToggleFilter\":{\"type\":\"reactComponent\",\"name\":\"ToggleFilter\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// CMSEnumFilter component for CMS Filter system\n// Extracted from CMSFilters.tsx for better modularity\n// @ts-ignore-next-line\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import{RenderTarget}from\"framer\";import{getActiveMatch,getOptionCounts,formatCountDisplay}from\"https://framerusercontent.com/modules/gpP9NQZkGM08zua7fzDA/jjWgT6Q2XID15HzGSoSb/filter_utils.js\";import{SelectFilter}from\"https://framerusercontent.com/modules/rhjV7CBikISubRqt2bpe/MfG80Yu4s9uqHKOzAH4Q/SelectFilter.js\";import{CheckboxFilter}from\"https://framerusercontent.com/modules/ktAWutRRdcvtUBylxWdw/JISMXRhcmkYcSbZCnDe2/CheckboxFilter.js\";/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerDisableUnlink\n */export function CMSEnumFilter({config,value,onChange,collection,debugLevel,filterPillStyles,filterSelectStyles,filterCheckboxStyles,uniqueClassName,availableFields,collectionInfo}){const isCanvas=RenderTarget.current()===RenderTarget.canvas;const activeMatch=getActiveMatch(config);const[canvasEnumOptions,setCanvasEnumOptions]=React.useState([]);const[canvasEnumError,setCanvasEnumError]=React.useState(null);// No input needed for is_set/is_not_set operators\nif(activeMatch===\"is_set\"||activeMatch===\"is_not_set\"){return /*#__PURE__*/_jsx(\"div\",{style:{padding:8,fontSize:12,color:\"#666\",fontStyle:\"italic\"},children:\"No input needed - checks if field has value\"});}const enumFieldInfo=availableFields.find(f=>f.title.toLowerCase()===config.fieldName.toLowerCase()&&f.type===\"enum\");React.useEffect(()=>{let cancelled=false;if(!isCanvas||availableFields.length>0){setCanvasEnumOptions([]);setCanvasEnumError(null);return;}(async()=>{try{const helper=await import(\"https://framerusercontent.com/modules/nBejIJomuxnudqgMDip4/O6VNbIvNe44Eml176OKY/canvas_collection_metadata.js\");const nextOptions=await helper.loadCanvasEnumFieldOptions(collection,config.fieldName);if(cancelled)return;setCanvasEnumOptions(nextOptions);setCanvasEnumError(null);}catch(error){if(cancelled)return;setCanvasEnumOptions([]);setCanvasEnumError(error instanceof Error?error.message:\"Failed to load option field metadata\");}})();return()=>{cancelled=true;};},[isCanvas,availableFields.length,collection,config.fieldName]);// Determine enum options and values\nlet enumOptions=[];let enumValues=[];let optionCounts={};let earlyReturnContent=null;if(availableFields.length===0){if(canvasEnumOptions.length>0){enumOptions=canvasEnumOptions.map(option=>option.title);enumValues=canvasEnumOptions.map(option=>option.value);}else if(isCanvas&&canvasEnumError){earlyReturnContent=/*#__PURE__*/_jsx(\"div\",{style:{padding:8,color:\"#dc3545\",fontSize:12,fontStyle:\"italic\",backgroundColor:\"#f8d7da\",borderRadius:4},children:canvasEnumError});}else{// Canvas/loading fallback\nenumOptions=[\"Loading...\",\"Loading...\",\"Loading...\"];enumValues=[\"loading-1\",\"loading-2\",\"loading-3\"];}}else if(!enumFieldInfo||!enumFieldInfo.optionTitles){// Preview mode: show error for invalid field\nearlyReturnContent=/*#__PURE__*/_jsxs(\"div\",{style:{padding:8,color:\"#dc3545\",fontSize:12,fontStyle:\"italic\",backgroundColor:\"#f8d7da\",borderRadius:4},children:['Option field \"',config.fieldName,'\" not found or has no options. Make sure the field exists and is an option field.']});}else{// Preview mode: use actual CMS data\nenumOptions=enumFieldInfo.optionTitles;enumValues=enumFieldInfo.options||enumFieldInfo.optionTitles;// Get counts for each option if enabled\nif(config.showPostCount&&collectionInfo){const fieldKey=Object.keys(collectionInfo.propertyControls).find(key=>collectionInfo.propertyControls[key]?.title?.toLowerCase()===config.fieldName.toLowerCase());if(fieldKey){const originalQuery=collectionInfo.query;optionCounts=getOptionCounts(collectionInfo.collectionId,fieldKey,enumValues,originalQuery);}}}const buildValueTitles=React.useCallback(nextValue=>{const selectedValues=Array.isArray(nextValue)?nextValue:nextValue?[nextValue]:[];const nextValueTitles={};selectedValues.forEach(selectedValue=>{const optionIndex=enumValues.indexOf(selectedValue);if(optionIndex>=0){nextValueTitles[selectedValue]=enumOptions[optionIndex]||selectedValue;}});return nextValueTitles;},[enumOptions,enumValues]);const handleEnumChange=React.useCallback(nextValue=>{const nextValueTitles=buildValueTitles(nextValue);onChange(nextValue,Object.keys(nextValueTitles).length>0?nextValueTitles:undefined);},[buildValueTitles,onChange]);if(earlyReturnContent){return /*#__PURE__*/_jsx(_Fragment,{children:earlyReturnContent});}// Dropdown style - uses SelectFilter component (supports both single and multi-select)\nif(config.enumStyle===\"dropdown\"){// Build config with enum options including counts\n// getOptionData expects config.options in {value, title} format\nconst configWithOptions={...config,options:enumValues.map((optionValue,idx)=>{const optionTitle=enumOptions[idx];const count=optionCounts[optionValue];const displayTitle=config.showPostCount&&count!==undefined?formatCountDisplay(optionTitle,count,config.countTemplate).text:optionTitle;return{value:optionValue,title:displayTitle};})};return /*#__PURE__*/_jsx(SelectFilter,{config:configWithOptions,value:value,onChange:handleEnumChange,debugLevel:debugLevel,filterSelectStyles:filterSelectStyles,uniqueClassName:uniqueClassName});}// Checkboxes style (from archive implementation)\nif(config.enumStyle===\"checkboxes\"){const configWithOptions={...config,options:enumValues.map((optionValue,idx)=>{const optionTitle=enumOptions[idx];const count=optionCounts[optionValue];const displayTitle=config.showPostCount&&count!==undefined?formatCountDisplay(optionTitle,count,config.countTemplate).text:optionTitle;return{value:optionValue,title:displayTitle};})};return /*#__PURE__*/_jsx(CheckboxFilter,{config:configWithOptions,value:value,onChange:handleEnumChange,debugLevel:debugLevel,filterCheckboxStyles:filterCheckboxStyles,uniqueClassName:uniqueClassName});}// Tags style (default for CMS enums)\nconst selectedValues=Array.isArray(value)?value:value?[value]:[];const isAllSelected=config.allowMultiple?selectedValues.length===0:value===\"\"||value===null||value===undefined;// Compute pill width based on sizing option (only applies in block layout)\nconst getPillWidthStyle=()=>{if(config.pillLayout!==\"block\"){return{width:\"fit-content\"};}switch(config.pillSizing){case\"fill\":return{width:\"100%\"};case\"fixed\":return{width:config.pillWidth||\"200px\"};case\"auto\":default:return{width:\"fit-content\"};}};const pillWidthStyle=getPillWidthStyle();return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{suppressHydrationWarning:true,children:`\n                .cms-enum-tag.${uniqueClassName} {\n                    display: flex;\n                    align-items: center;\n                    padding: 6px 12px;\n                    border: 1px solid #dee2e6;\n                    border-radius: 4px;\n                    cursor: pointer;\n                    transition: all 0.2s ease;\n                    background-color: ${filterPillStyles?.backgroundColor||\"#fff\"};\n                    color: ${filterPillStyles?.color||\"#333\"};\n  ${(()=>{if(typeof filterPillStyles?.border===\"string\"){return`border: ${filterPillStyles.border};`;}else if(filterPillStyles?.border){const border=filterPillStyles.border;return`\n        ${border.borderWidth!==undefined?`border-width: ${border.borderWidth}px;`:\"\"}\n        ${border.borderTopWidth!==undefined?`border-top-width: ${border.borderTopWidth}px;`:\"\"}\n        ${border.borderBottomWidth!==undefined?`border-bottom-width: ${border.borderBottomWidth}px;`:\"\"}\n        ${border.borderLeftWidth!==undefined?`border-left-width: ${border.borderLeftWidth}px;`:\"\"}\n        ${border.borderRightWidth!==undefined?`border-right-width: ${border.borderRightWidth}px;`:\"\"}\n        ${border.borderStyle?`border-style: ${border.borderStyle};`:\"border-style: solid;\"}\n        ${border.borderColor?`border-color: ${border.borderColor};`:\"border-color: #dee2e6;\"}\n      `;}else{return\"border: none;\";}})()}\n                    user-select: none;\n                }\n                .cms-enum-tag.${uniqueClassName}:hover {\n                    color: ${filterPillStyles?.hoverTextColor||\"#fff\"} !important;\n                    border-color: ${filterPillStyles?.hoverBorderColor||\"#007AFF\"} !important;\n                    background-color: ${filterPillStyles?.hoverBackgroundColor||\"#f8f9fa\"} !important;\n                }\n                .cms-enum-tag.${uniqueClassName}.selected {\n                    background-color: ${filterPillStyles?.selectedBackgroundColor||\"#007AFF\"} !important;\n                    color: ${filterPillStyles?.selectedTextColor||\"#fff\"} !important;\n                    border-color: ${filterPillStyles?.selectedBorderColor||\"#007AFF\"} !important;\n                }\n            `}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:8},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:config.pillLayout===\"block\"?\"column\":\"row\",flexWrap:config.pillLayout===\"block\"?\"nowrap\":\"wrap\",gap:filterPillStyles?.gap||8},children:[config.showAllOption&&/*#__PURE__*/_jsx(\"div\",{className:`cms-enum-tag ${uniqueClassName} ${isAllSelected?\"selected\":\"\"}`,onClick:()=>{if(!isAllSelected){handleEnumChange(config.allowMultiple?[]:\"\");}},style:{...filterPillStyles,...filterPillStyles?.font,fontSize:filterPillStyles?.font?.fontSize||\"14px\",...isAllSelected?filterPillStyles?.selectedFont:{},...pillWidthStyle},children:config.allOptionLabel||`All ${config.title}`}),enumValues.map((optionValue,idx)=>{const optionTitle=enumOptions[idx];const isSelected=selectedValues.includes(optionValue);const count=optionCounts[optionValue];const{text:displayText,countElement}=config.showPostCount&&count!==undefined?formatCountDisplay(optionTitle,count,config.countTemplate,config.countStyle):{text:optionTitle,countElement:null};return /*#__PURE__*/_jsxs(\"div\",{className:`cms-enum-tag ${uniqueClassName} ${isSelected?\"selected\":\"\"}`,onClick:()=>{if(config.allowMultiple){if(isSelected){const newValues=selectedValues.filter(v=>v!==optionValue);handleEnumChange(newValues);}else{// When selecting any item, ensure \"All\" is not selected\nhandleEnumChange([...selectedValues,optionValue]);}}else{// Single select - respect allowDeselect setting\nhandleEnumChange(isSelected&&(config.allowDeselect??true)?\"\":optionValue);}},style:{...filterPillStyles,...filterPillStyles?.font,fontSize:filterPillStyles?.font?.fontSize||\"14px\",...isSelected?filterPillStyles?.selectedFont:{},...pillWidthStyle},children:[displayText,countElement&&/*#__PURE__*/_jsxs(_Fragment,{children:[\" \",countElement]})]},idx);})]}),(debugLevel===\"ui_helpers\"||debugLevel===\"full_debug\")&&selectedValues.length>0&&/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:11,color:\"#007AFF\",padding:\"6px 10px\",backgroundColor:\"#f0f8ff\",borderRadius:4,border:\"1px solid #b3d9ff\"},children:[/*#__PURE__*/_jsx(\"strong\",{children:selectedValues.length}),\" selected:\",\" \",selectedValues.map(val=>enumOptions[enumValues.indexOf(val)]||val).join(\", \")]})]})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"CMSEnumFilter\":{\"type\":\"reactComponent\",\"name\":\"CMSEnumFilter\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any\",\"framerDisableUnlink\":\"\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// MultiRefFilter - Filter component for multi-reference fields in CMSFilters builder\n// Follows DRY approach, reusing patterns from CMSEnumFilter\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useMemo,useState}from\"react\";import{useQueryData,RenderTarget}from\"framer\";import{getCollectionInfo,getCmsQueryFromSlot}from\"https://framerusercontent.com/modules/2VZikWBxCagm4nJReNjX/PfyILngDXp5cnNZmDCPc/store_management.js\";import{SelectFilter}from\"https://framerusercontent.com/modules/rhjV7CBikISubRqt2bpe/MfG80Yu4s9uqHKOzAH4Q/SelectFilter.js\";import{TagFilter}from\"https://framerusercontent.com/modules/yoPENdwUHgW0xBoBrcKB/HQ5bZw4WpAVh1kswM02n/TagFilter.js\";import{CheckboxFilter}from\"https://framerusercontent.com/modules/ktAWutRRdcvtUBylxWdw/JISMXRhcmkYcSbZCnDe2/CheckboxFilter.js\";import{slugifyParamSegment}from\"https://framerusercontent.com/modules/btKadHcwepCes5ME1dWi/1oPmQbILL9BfunIfeUb3/url_sync.js\";export function MultiRefFilter({config,value,onChange,collection,debugLevel,filterPillStyles={},filterCheckboxStyles={},filterSelectStyles={},uniqueClassName,multiRefCollection}){const isCanvas=RenderTarget.current()===RenderTarget.canvas;const selectedIds=Array.isArray(value)?value:value?[value]:[];const collectionName=config.multiRefCollectionName?.trim().toLowerCase()||\"\";// Find the matching collection from array by name\nconst{matchedCollection,collectionNameMatchError,availableCollectionNames}=useMemo(()=>{if(!multiRefCollection){return{matchedCollection:null,collectionNameMatchError:false,availableCollectionNames:[]};}const collections=Array.isArray(multiRefCollection)?multiRefCollection:[multiRefCollection];// Collect all available collection names for error message\nconst availableNames=[];for(const col of collections){try{const info=getCollectionInfo(col);if(info?.collectionName){availableNames.push(info.collectionName);}}catch{continue;}}// If only one collection, use it regardless of name\nif(collections.length===1){return{matchedCollection:collections[0],collectionNameMatchError:false,availableCollectionNames:availableNames};}// Find collection by matching name\nif(!collectionName){// If no name specified, use first collection\nreturn{matchedCollection:collections[0],collectionNameMatchError:false,availableCollectionNames:availableNames};}// Try to find collection by EXACT name match (case-insensitive)\nfor(const col of collections){try{const info=getCollectionInfo(col);const colName=info?.collectionName?.toLowerCase().trim()||\"\";// Strict equality match (not substring)\nif(colName===collectionName.toLowerCase()){return{matchedCollection:col,collectionNameMatchError:false,availableCollectionNames:availableNames};}}catch{continue;}}// Not found - return first collection but flag the error\nreturn{matchedCollection:collections[0],collectionNameMatchError:true,availableCollectionNames:availableNames};},[multiRefCollection,collectionName]);// Get reference collection info\nconst refCollectionInfo=useMemo(()=>getCollectionInfo(matchedCollection),[matchedCollection]);// Find title field key in reference collection FIRST (needed for query building)\n// This must be computed before refQuery so we can ensure the title field is in the select array\nconst titleField=config.multiRefTitleField||\"Title\";const{titleFieldKey,titleFieldMatchError,availableTitleFields}=useMemo(()=>{if(!refCollectionInfo?.propertyControls){return{titleFieldKey:null,titleFieldMatchError:false,availableTitleFields:[]};}// Collect available field names for error message\nconst availableFields=[];for(const[key,control]of Object.entries(refCollectionInfo.propertyControls)){const ctrl=control;if(ctrl.title){availableFields.push(ctrl.title);}}const entry=Object.entries(refCollectionInfo.propertyControls).find(([key,control])=>control.title?.toLowerCase().trim()===titleField.toLowerCase().trim()||key.toLowerCase().trim()===titleField.toLowerCase().trim());if(entry){return{titleFieldKey:entry[0],titleFieldMatchError:false,availableTitleFields:availableFields};}// Not found - flag the error\nreturn{titleFieldKey:null,titleFieldMatchError:true,availableTitleFields:availableFields};},[refCollectionInfo,titleField]);// Extract query from matchedCollection for useQueryData\n// CRITICAL: Ensure titleFieldKey is always in the select array\n// When converted to a Framer component, Framer optimizes out CMS fields not bound to visible elements\n// This causes the title field to be missing from query.select, resulting in IDs shown instead of labels\nconst refQuery=useMemo(()=>{if(!matchedCollection)return null;try{// Use the helper function that handles both Masonry and standard structures\nconst query=getCmsQueryFromSlot(matchedCollection);if(!query)return null;// Get the original select array\nconst originalSelect=query.select||[];// Ensure titleFieldKey is in the select array (fix for Framer component optimization)\nlet enhancedSelect=[...originalSelect];if(titleFieldKey){const hasTitleField=originalSelect.some(field=>field.name===titleFieldKey||field===titleFieldKey);if(!hasTitleField){// Add the title field to the select array\n// Match the format of other fields in the select array\nconst collectionId=originalSelect[0]?.collection||refCollectionInfo?.collectionId;if(collectionId){enhancedSelect.push({collection:collectionId,name:titleFieldKey,type:\"Identifier\"});}}}return{from:query.from,select:enhancedSelect,// Preserve where clause from reference collection (e.g., filter by \"Active\" status)\nwhere:query.where,// Preserve orderBy clause from reference collection (e.g., sort by \"Order\" field)\norderBy:query.orderBy};}catch{return null;}},[matchedCollection,titleFieldKey,refCollectionInfo?.collectionId]);// Fetch reference items\nconst refItems=refQuery?useQueryData(refQuery):[];// Compute options from reference items\nconst referenceOptions=useMemo(()=>{if(!refItems||!Array.isArray(refItems)||refItems.length===0){return[];}return refItems.map(item=>{const itemData=item.data||item;const id=itemData?.id?.value||itemData?.id;let title=id;if(titleFieldKey){title=itemData?.[titleFieldKey]?.value||itemData?.[titleFieldKey]||id;}else{title=itemData?.title?.value||itemData?.title||itemData?.name?.value||itemData?.name||id;}return{id,title:title||id};}).filter(opt=>opt.id);},[refItems,titleFieldKey]);// Build valueTitles map from referenceOptions for given IDs\nconst buildValueTitles=ids=>{const valueTitles={};ids.forEach(id=>{const option=referenceOptions.find(opt=>opt.id===id);if(option){valueTitles[id]=option.title;}});return valueTitles;};const normalizedSelectedIds=useMemo(()=>{return selectedIds.map(rawValue=>{const normalizedRaw=String(rawValue||\"\").trim().toLowerCase();const sluggedRaw=slugifyParamSegment(String(rawValue||\"\"));const matchedOption=referenceOptions.find(option=>{const optionId=String(option.id||\"\").trim().toLowerCase();const optionTitle=String(option.title||\"\").trim().toLowerCase();return optionId===normalizedRaw||optionTitle===normalizedRaw||!!sluggedRaw&&(slugifyParamSegment(option.id||\"\")===sluggedRaw||slugifyParamSegment(option.title||\"\")===sluggedRaw);});return matchedOption?.id||String(rawValue||\"\");}).filter(Boolean);},[referenceOptions,selectedIds]);useEffect(()=>{if(referenceOptions.length===0||selectedIds.length===0)return;const rawKey=JSON.stringify(selectedIds);const normalizedKey=JSON.stringify(normalizedSelectedIds);if(rawKey===normalizedKey)return;const valueTitles=normalizedSelectedIds.length>0?buildValueTitles(normalizedSelectedIds):undefined;console.log(\"[URL Sync][MultiRefFilter] normalized incoming values\",{fieldName:config.fieldName,selectedIds,normalizedSelectedIds,valueTitles});onChange(normalizedSelectedIds.length>0?normalizedSelectedIds:null,valueTitles);},[config.fieldName,normalizedSelectedIds,onChange,referenceOptions.length,selectedIds]);// Handle option toggle\nconst handleToggle=optionId=>{const currentValues=normalizedSelectedIds;let newValues;if(currentValues.includes(optionId)){// Toggle off\nif(config.multiRefAllowDeselect!==false){newValues=currentValues.filter(v=>v!==optionId);}else{return;// Don't allow deselect\n}}else{// Toggle on - respect allowMultiple\nif(config.multiRefAllowMultiple!==false){newValues=[...currentValues,optionId];}else{newValues=[optionId];}}const valueTitles=newValues.length>0?buildValueTitles(newValues):undefined;onChange(newValues.length>0?newValues:null,valueTitles);};// Handle \"All\" option\nconst handleClearAll=()=>{onChange(null,undefined);};const[canvasReferenceOptions,setCanvasReferenceOptions]=useState([]);const[canvasReferenceError,setCanvasReferenceError]=useState(null);useEffect(()=>{let cancelled=false;if(!isCanvas){setCanvasReferenceOptions([]);setCanvasReferenceError(null);return;}(async()=>{try{const helper=await import(\"https://framerusercontent.com/modules/nBejIJomuxnudqgMDip4/O6VNbIvNe44Eml176OKY/canvas_collection_metadata.js\");const nextOptions=await helper.loadCanvasReferenceFieldOptions(collection,config.fieldName,titleField,multiRefCollection);if(cancelled)return;setCanvasReferenceOptions(nextOptions);setCanvasReferenceError(null);}catch(error){if(cancelled)return;setCanvasReferenceOptions([]);setCanvasReferenceError(error instanceof Error?error.message:\"Failed to load reference field metadata\");}})();return()=>{cancelled=true;};},[isCanvas,collection,multiRefCollection,config.fieldName,titleField]);if(isCanvas){const showAll=config.multiRefShowAllOption??config.showAllOption;const allLabel=config.multiRefAllLabel||config.allOptionLabel||\"All\";const selectionStyle=config.multiRefStyle||\"tags\";const allowMultiple=config.multiRefAllowMultiple??config.allowMultiple??true;const allowDeselect=config.multiRefAllowDeselect??config.allowDeselect??true;// Create mock config for canvas (same as preview but with mock options)\nconst canvasConfig={...config,options:canvasReferenceOptions.length>0?canvasReferenceOptions:[{value:\"loading-1\",title:\"Loading...\"},{value:\"loading-2\",title:\"Loading...\"},{value:\"loading-3\",title:\"Loading...\"}],allowMultiple,allowDeselect,showAllOption:showAll,allOptionLabel:allLabel,multiStyle:selectionStyle===\"dropdown\"?\"select\":selectionStyle};if(canvasReferenceError){return /*#__PURE__*/_jsx(\"div\",{style:{padding:12,color:\"#e74c3c\",fontSize:12,backgroundColor:\"#fdf2f2\",borderRadius:4},children:canvasReferenceError});}// Mock handler for canvas (does nothing)\nconst canvasHandler=()=>{};// Determine value to pass to children based on selection mode\nconst canvasChildValue=allowMultiple?normalizedSelectedIds:normalizedSelectedIds[0]||\"\";// Use same routing as DropdownFilter\nif(selectionStyle===\"dropdown\"){return /*#__PURE__*/_jsx(SelectFilter,{config:canvasConfig,value:canvasChildValue,onChange:canvasHandler,debugLevel:debugLevel,filterSelectStyles:filterSelectStyles||{},uniqueClassName:uniqueClassName});}if(selectionStyle===\"checkboxes\"){return /*#__PURE__*/_jsx(CheckboxFilter,{config:canvasConfig,value:canvasChildValue,onChange:canvasHandler,debugLevel:debugLevel,filterCheckboxStyles:filterCheckboxStyles||{},uniqueClassName:uniqueClassName});}// Default: tags style\nreturn /*#__PURE__*/_jsx(TagFilter,{config:canvasConfig,value:canvasChildValue,onChange:canvasHandler,debugLevel:debugLevel,filterPillStyles:filterPillStyles||{},uniqueClassName:uniqueClassName});}// No reference collection connected (only shows in preview)\nif(!multiRefCollection){return /*#__PURE__*/_jsx(\"div\",{style:{padding:12,color:\"#e74c3c\",fontSize:12,backgroundColor:\"#fdf2f2\",borderRadius:4},children:\"⚠️ Connect Reference Collection to CMSFilters component\"});}// Error: Collection name not found in slot\nif(collectionNameMatchError&&collectionName){return /*#__PURE__*/_jsxs(\"div\",{style:{padding:12,color:\"#e74c3c\",fontSize:12,backgroundColor:\"#fdf2f2\",borderRadius:4},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontWeight:600,marginBottom:4},children:\"⚠️ Reference Collection Not Found\"}),/*#__PURE__*/_jsxs(\"div\",{style:{marginBottom:4},children:['Collection \"',/*#__PURE__*/_jsx(\"strong\",{children:config.multiRefCollectionName}),'\" not found in Reference Collections slot.']}),availableCollectionNames.length>0&&/*#__PURE__*/_jsxs(\"div\",{style:{color:\"#666\"},children:[\"Available: \",availableCollectionNames.join(\", \")]})]});}// Error: Title field not found in reference collection\nif(titleFieldMatchError&&titleField){return /*#__PURE__*/_jsxs(\"div\",{style:{padding:12,color:\"#e74c3c\",fontSize:12,backgroundColor:\"#fdf2f2\",borderRadius:4},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontWeight:600,marginBottom:4},children:\"⚠️ Title Field Not Found\"}),/*#__PURE__*/_jsxs(\"div\",{style:{marginBottom:4},children:['Field \"',/*#__PURE__*/_jsx(\"strong\",{children:titleField}),'\" not found in reference collection.']}),availableTitleFields.length>0&&/*#__PURE__*/_jsxs(\"div\",{style:{color:\"#666\"},children:[\"Available fields:\",\" \",availableTitleFields.slice(0,5).join(\", \"),availableTitleFields.length>5&&` (+${availableTitleFields.length-5} more)`]})]});}// No options found\nif(referenceOptions.length===0){return /*#__PURE__*/_jsxs(\"div\",{style:{padding:12,color:\"#666\",fontSize:12},children:[\"No reference items found\",collectionName?` for \"${config.multiRefCollectionName}\"`:\"\"]});}// Use correct config precedence\nconst showAllOption=config.multiRefShowAllOption??config.showAllOption;const allLabel=config.multiRefAllLabel||config.allOptionLabel||\"All\";const selectionStyle=config.multiRefStyle||\"tags\";// For AllowMultiple/AllowDeselect, we default to TRUE if not specified\n// But we must respect FALSE if specified\nconst allowMultiple=config.multiRefAllowMultiple??config.allowMultiple??true;const allowDeselect=config.multiRefAllowDeselect??config.allowDeselect??true;// Convert reference options to the format expected by existing filter components\nconst refOptions=referenceOptions.map(opt=>({value:opt.id,title:opt.title}));// Create a modified config for the reusable components\nconst modifiedConfig={...config,options:refOptions,allowMultiple,allowDeselect,showAllOption,allOptionLabel:allLabel,// Map multiStyle to match DropdownFilter expectation\nmultiStyle:selectionStyle===\"dropdown\"?\"select\":selectionStyle};// Handler that converts between string[] and string | string[] formats\nconst handleChange=newValue=>{if(Array.isArray(newValue)){const valueTitles=newValue.length>0?buildValueTitles(newValue):undefined;onChange(newValue.length>0?newValue:null,valueTitles);}else{const valueTitles=newValue?buildValueTitles([newValue]):undefined;onChange(newValue?[newValue]:null,valueTitles);}};// Determine value to pass to children based on selection mode\n// Component expects string for single select, array for multi select\nconst childValue=allowMultiple?normalizedSelectedIds:normalizedSelectedIds[0]||\"\";// =========================================================================\n// DROPDOWN STYLE - use SelectFilter\n// =========================================================================\nif(selectionStyle===\"dropdown\"){return /*#__PURE__*/_jsx(SelectFilter,{config:modifiedConfig,value:childValue,onChange:handleChange,debugLevel:debugLevel,filterSelectStyles:filterSelectStyles||{},uniqueClassName:uniqueClassName});}// =========================================================================\n// CHECKBOX STYLE - use CheckboxFilter\n// =========================================================================\nif(selectionStyle===\"checkboxes\"){return /*#__PURE__*/_jsx(CheckboxFilter,{config:modifiedConfig,value:childValue,onChange:handleChange,debugLevel:debugLevel,filterCheckboxStyles:filterCheckboxStyles||{},uniqueClassName:uniqueClassName});}// =========================================================================\n// TAGS STYLE (default) - use TagFilter\n// =========================================================================\nreturn /*#__PURE__*/_jsx(TagFilter,{config:modifiedConfig,value:childValue,onChange:handleChange,debugLevel:debugLevel,filterPillStyles:filterPillStyles||{},uniqueClassName:uniqueClassName});}\nexport const __FramerMetadata__ = {\"exports\":{\"MultiRefFilter\":{\"type\":\"reactComponent\",\"name\":\"MultiRefFilter\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// SingleRefFilter - Filter component for single-reference fields in CMSFilters builder\n// Reuses the same reference slot + patterns as MultiRefFilter but enforces single selection\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useMemo,useState}from\"react\";import{useQueryData,RenderTarget}from\"framer\";import{getCollectionInfo,getCmsQueryFromSlot}from\"https://framerusercontent.com/modules/2VZikWBxCagm4nJReNjX/PfyILngDXp5cnNZmDCPc/store_management.js\";import{SelectFilter}from\"https://framerusercontent.com/modules/rhjV7CBikISubRqt2bpe/MfG80Yu4s9uqHKOzAH4Q/SelectFilter.js\";import{TagFilter}from\"https://framerusercontent.com/modules/yoPENdwUHgW0xBoBrcKB/HQ5bZw4WpAVh1kswM02n/TagFilter.js\";import{CheckboxFilter}from\"https://framerusercontent.com/modules/ktAWutRRdcvtUBylxWdw/JISMXRhcmkYcSbZCnDe2/CheckboxFilter.js\";import{slugifyParamSegment}from\"https://framerusercontent.com/modules/btKadHcwepCes5ME1dWi/1oPmQbILL9BfunIfeUb3/url_sync.js\";/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerDisableUnlink\n */export function SingleRefFilter({config,value,onChange,collection,debugLevel,filterPillStyles={},filterCheckboxStyles={},filterSelectStyles={},uniqueClassName,multiRefCollection}){const isCanvas=RenderTarget.current()===RenderTarget.canvas;// Support both single and multi-select modes\nconst allowMultiple=config.singleRefAllowMultiple??false;const selectedValues=allowMultiple?Array.isArray(value)?value:value?[value]:[]:null;const selectedId=allowMultiple?\"\":(Array.isArray(value)?value[0]:value)||\"\";const collectionName=config.singleRefCollectionName?.trim().toLowerCase()||config.multiRefCollectionName?.trim().toLowerCase()||\"\";// Find the matching collection from array by name (same pattern as MultiRefFilter)\nconst{matchedCollection,collectionNameMatchError,availableCollectionNames}=useMemo(()=>{if(!multiRefCollection){return{matchedCollection:null,collectionNameMatchError:false,availableCollectionNames:[]};}const collections=Array.isArray(multiRefCollection)?multiRefCollection:[multiRefCollection];// Collect all available collection names for error message\nconst availableNames=[];for(const col of collections){try{const info=getCollectionInfo(col);if(info?.collectionName){availableNames.push(info.collectionName);}}catch{continue;}}// If only one collection, use it regardless of name\nif(collections.length===1){return{matchedCollection:collections[0],collectionNameMatchError:false,availableCollectionNames:availableNames};}// If no name specified, use first collection\nif(!collectionName){return{matchedCollection:collections[0],collectionNameMatchError:false,availableCollectionNames:availableNames};}// Try to find collection by EXACT name match (case-insensitive)\nfor(const col of collections){try{const info=getCollectionInfo(col);const colName=info?.collectionName?.toLowerCase().trim()||\"\";if(colName===collectionName){return{matchedCollection:col,collectionNameMatchError:false,availableCollectionNames:availableNames};}}catch{continue;}}// Not found - return first collection but flag the error\nreturn{matchedCollection:collections[0],collectionNameMatchError:true,availableCollectionNames:availableNames};},[multiRefCollection,collectionName]);// Get reference collection info\nconst refCollectionInfo=useMemo(()=>getCollectionInfo(matchedCollection),[matchedCollection]);// Find title field key in reference collection FIRST (needed for query building)\n// This must be computed before refQuery so we can ensure the title field is in the select array\nconst titleField=config.singleRefTitleField||config.multiRefTitleField||\"Title\";const{titleFieldKey,titleFieldMatchError,availableTitleFields}=useMemo(()=>{if(!refCollectionInfo?.propertyControls){return{titleFieldKey:null,titleFieldMatchError:false,availableTitleFields:[]};}// Collect available field names for error message\nconst availableFields=[];for(const[key,control]of Object.entries(refCollectionInfo.propertyControls)){const ctrl=control;if(ctrl.title){availableFields.push(ctrl.title);}}const entry=Object.entries(refCollectionInfo.propertyControls).find(([key,control])=>control.title?.toLowerCase().trim()===titleField.toLowerCase().trim()||key.toLowerCase().trim()===titleField.toLowerCase().trim());if(entry){return{titleFieldKey:entry[0],titleFieldMatchError:false,availableTitleFields:availableFields};}// Not found - flag the error\nreturn{titleFieldKey:null,titleFieldMatchError:true,availableTitleFields:availableFields};},[refCollectionInfo,titleField]);// Extract query from matchedCollection for useQueryData\n// CRITICAL: Ensure titleFieldKey is always in the select array\n// When converted to a Framer component, Framer optimizes out CMS fields not bound to visible elements\n// This causes the title field to be missing from query.select, resulting in IDs shown instead of labels\nconst refQuery=useMemo(()=>{if(!matchedCollection)return null;try{// Use the helper function that handles both Masonry and standard structures\nconst query=getCmsQueryFromSlot(matchedCollection);if(!query)return null;// Get the original select array\nconst originalSelect=query.select||[];// Ensure titleFieldKey is in the select array (fix for Framer component optimization)\nlet enhancedSelect=[...originalSelect];if(titleFieldKey){const hasTitleField=originalSelect.some(field=>field.name===titleFieldKey||field===titleFieldKey);if(!hasTitleField){// Add the title field to the select array\n// Match the format of other fields in the select array\nconst collectionId=originalSelect[0]?.collection||refCollectionInfo?.collectionId;if(collectionId){enhancedSelect.push({collection:collectionId,name:titleFieldKey,type:\"Identifier\"});}}}return{from:query.from,select:enhancedSelect,// Preserve where clause from reference collection (e.g., filter by \"Active\" status)\nwhere:query.where,// Preserve orderBy clause from reference collection (e.g., sort by \"Order\" field)\norderBy:query.orderBy};}catch{return null;}},[matchedCollection,titleFieldKey,refCollectionInfo?.collectionId]);// Fetch reference items\nconst refItems=refQuery?useQueryData(refQuery):[];// Compute options from reference items\nconst referenceOptions=useMemo(()=>{if(!refItems||!Array.isArray(refItems)||refItems.length===0){return[];}return refItems.map(item=>{const itemData=item.data||item;const id=itemData?.id?.value||itemData?.id;if(!id)return null;let title;if(titleFieldKey){title=itemData?.[titleFieldKey]?.value||itemData?.[titleFieldKey]||id;}else{title=itemData?.title?.value||itemData?.title||itemData?.name?.value||itemData?.name||id;}return{id,title:title||id};}).filter(opt=>!!opt&&!!opt.id);},[refItems,titleFieldKey]);const[canvasReferenceOptions,setCanvasReferenceOptions]=useState([]);const[canvasReferenceError,setCanvasReferenceError]=useState(null);useEffect(()=>{let cancelled=false;if(!isCanvas){setCanvasReferenceOptions([]);setCanvasReferenceError(null);return;}(async()=>{try{const helper=await import(\"https://framerusercontent.com/modules/nBejIJomuxnudqgMDip4/O6VNbIvNe44Eml176OKY/canvas_collection_metadata.js\");const nextOptions=await helper.loadCanvasReferenceFieldOptions(collection,config.fieldName,titleField,multiRefCollection);if(cancelled)return;setCanvasReferenceOptions(nextOptions);setCanvasReferenceError(null);}catch(error){if(cancelled)return;setCanvasReferenceOptions([]);setCanvasReferenceError(error instanceof Error?error.message:\"Failed to load reference field metadata\");}})();return()=>{cancelled=true;};},[isCanvas,collection,multiRefCollection,config.fieldName,titleField]);if(isCanvas){const showAll=config.singleRefShowAllOption??config.showAllOption??true;const allLabel=config.singleRefAllLabel||config.allOptionLabel||\"All\";const selectionStyle=config.singleRefStyle||\"dropdown\";const canvasAllowMultiple=config.singleRefAllowMultiple??false;const allowDeselect=config.singleRefAllowDeselect??config.allowDeselect??true;// Create mock config for canvas (same as preview but with mock options)\nconst canvasConfig={...config,options:canvasReferenceOptions.length>0?canvasReferenceOptions:[{value:\"loading-1\",title:\"Loading...\"},{value:\"loading-2\",title:\"Loading...\"},{value:\"loading-3\",title:\"Loading...\"}],allowMultiple:canvasAllowMultiple,allowDeselect,logic:config.singleRefLogic||\"Any\",showAllOption:showAll,allOptionLabel:allLabel,multiStyle:selectionStyle===\"dropdown\"?\"select\":selectionStyle};if(canvasReferenceError){return /*#__PURE__*/_jsx(\"div\",{style:{padding:12,color:\"#e74c3c\",fontSize:12,backgroundColor:\"#fdf2f2\",borderRadius:4},children:canvasReferenceError});}// Mock handler for canvas (does nothing)\nconst canvasHandler=()=>{};const canvasChildValue=canvasAllowMultiple?selectedValues||[]:selectedId;if(selectionStyle===\"dropdown\"){return /*#__PURE__*/_jsx(SelectFilter,{config:canvasConfig,value:canvasChildValue,onChange:canvasHandler,debugLevel:debugLevel,filterSelectStyles:filterSelectStyles||{},uniqueClassName:uniqueClassName});}if(selectionStyle===\"checkboxes\"){return /*#__PURE__*/_jsx(CheckboxFilter,{config:canvasConfig,value:canvasChildValue,onChange:canvasHandler,debugLevel:debugLevel,filterCheckboxStyles:filterCheckboxStyles||{},uniqueClassName:uniqueClassName});}// Default: tags style\nreturn /*#__PURE__*/_jsx(TagFilter,{config:canvasConfig,value:canvasChildValue,onChange:canvasHandler,debugLevel:debugLevel,filterPillStyles:filterPillStyles||{},uniqueClassName:uniqueClassName});}// No reference collection connected (only shows in preview)\nif(!multiRefCollection){return /*#__PURE__*/_jsx(\"div\",{style:{padding:12,color:\"#e74c3c\",fontSize:12,backgroundColor:\"#fdf2f2\",borderRadius:4},children:\"⚠️ Connect Reference Collection to CMSFilters component\"});}// Error: Collection name not found in slot\nif(collectionNameMatchError&&collectionName){return /*#__PURE__*/_jsxs(\"div\",{style:{padding:12,color:\"#e74c3c\",fontSize:12,backgroundColor:\"#fdf2f2\",borderRadius:4},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontWeight:600,marginBottom:4},children:\"⚠️ Reference Collection Not Found\"}),/*#__PURE__*/_jsxs(\"div\",{style:{marginBottom:4},children:['Collection \"',/*#__PURE__*/_jsx(\"strong\",{children:config.singleRefCollectionName||config.multiRefCollectionName}),'\" not found in Reference Collections slot.']}),availableCollectionNames.length>0&&/*#__PURE__*/_jsxs(\"div\",{style:{color:\"#666\"},children:[\"Available: \",availableCollectionNames.join(\", \")]})]});}// Error: Title field not found in reference collection\nif(titleFieldMatchError&&titleField){return /*#__PURE__*/_jsxs(\"div\",{style:{padding:12,color:\"#e74c3c\",fontSize:12,backgroundColor:\"#fdf2f2\",borderRadius:4},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontWeight:600,marginBottom:4},children:\"⚠️ Title Field Not Found\"}),/*#__PURE__*/_jsxs(\"div\",{style:{marginBottom:4},children:['Field \"',/*#__PURE__*/_jsx(\"strong\",{children:titleField}),'\" not found in reference collection.']}),availableTitleFields.length>0&&/*#__PURE__*/_jsxs(\"div\",{style:{color:\"#666\"},children:[\"Available fields:\",\" \",availableTitleFields.slice(0,5).join(\", \"),availableTitleFields.length>5&&` (+${availableTitleFields.length-5} more)`]})]});}// No options found\nif(referenceOptions.length===0){return /*#__PURE__*/_jsxs(\"div\",{style:{padding:12,color:\"#666\",fontSize:12},children:[\"No reference items found\",collectionName?` for \"${config.singleRefCollectionName||config.multiRefCollectionName}\"`:\"\"]});}// Use correct config precedence - prioritize single-ref specific options\nconst showAllOption=config.singleRefShowAllOption??config.showAllOption??true;const allLabel=config.singleRefAllLabel||config.allOptionLabel||\"All\";const selectionStyle=config.singleRefStyle||\"dropdown\";const allowDeselect=config.singleRefAllowDeselect??config.allowDeselect??true;// Convert reference options to the format expected by existing filter components\nconst refOptions=referenceOptions.map(opt=>({value:opt.id,title:opt.title}));// Create a modified config for the reusable components\nconst modifiedConfig={...config,options:refOptions,allowMultiple,allowDeselect,showAllOption,allOptionLabel:allLabel,logic:config.singleRefLogic||\"Any\",// Map selectionStyle to match DropdownFilter expectation\nmultiStyle:selectionStyle===\"dropdown\"?\"select\":selectionStyle};// Build valueTitles map from referenceOptions for given IDs\nconst buildValueTitles=ids=>{const valueTitles={};ids.forEach(id=>{const option=referenceOptions.find(opt=>opt.id===id);if(option){valueTitles[id]=option.title;}});return valueTitles;};const normalizedSelectedValues=useMemo(()=>{const sourceValues=allowMultiple?selectedValues||[]:selectedId?[selectedId]:[];return sourceValues.map(rawValue=>{const normalizedRaw=String(rawValue||\"\").trim().toLowerCase();const sluggedRaw=slugifyParamSegment(String(rawValue||\"\"));const matchedOption=referenceOptions.find(option=>{const optionId=String(option.id||\"\").trim().toLowerCase();const optionTitle=String(option.title||\"\").trim().toLowerCase();return optionId===normalizedRaw||optionTitle===normalizedRaw||!!sluggedRaw&&(slugifyParamSegment(option.id||\"\")===sluggedRaw||slugifyParamSegment(option.title||\"\")===sluggedRaw);});return matchedOption?.id||String(rawValue||\"\");}).filter(Boolean);},[allowMultiple,referenceOptions,selectedId,selectedValues]);useEffect(()=>{const sourceValues=allowMultiple?selectedValues||[]:selectedId?[selectedId]:[];if(referenceOptions.length===0||sourceValues.length===0)return;const rawKey=JSON.stringify(sourceValues);const normalizedKey=JSON.stringify(normalizedSelectedValues);if(rawKey===normalizedKey)return;const valueTitles=normalizedSelectedValues.length>0?buildValueTitles(normalizedSelectedValues):undefined;console.log(\"[URL Sync][SingleRefFilter] normalized incoming values\",{fieldName:config.fieldName,sourceValues,normalizedSelectedValues,valueTitles});if(allowMultiple){onChange(normalizedSelectedValues.length>0?normalizedSelectedValues:null,valueTitles);return;}onChange(normalizedSelectedValues[0]||null,valueTitles);},[allowMultiple,config.fieldName,normalizedSelectedValues,onChange,referenceOptions.length,selectedId,selectedValues]);// Handler that supports both single and multi-select modes\nconst handleChange=newValue=>{if(allowMultiple){// Multi-select mode: keep array format\nif(Array.isArray(newValue)){const valueTitles=newValue.length>0?buildValueTitles(newValue):undefined;onChange(newValue.length>0?newValue:null,valueTitles);}else{const valueTitles=newValue?buildValueTitles([newValue]):undefined;onChange(newValue?[newValue]:null,valueTitles);}}else{// Single-select mode: convert to string\nif(Array.isArray(newValue)){const id=newValue.length>0?newValue[0]:null;const valueTitles=id?buildValueTitles([id]):undefined;onChange(id,valueTitles);}else{const valueTitles=newValue?buildValueTitles([newValue]):undefined;onChange(newValue||null,valueTitles);}}};// Pass appropriate value format based on mode\nconst childValue=allowMultiple?normalizedSelectedValues||[]:normalizedSelectedValues[0]||\"\";// DROPDOWN STYLE - use SelectFilter\nif(selectionStyle===\"dropdown\"){return /*#__PURE__*/_jsx(SelectFilter,{config:modifiedConfig,value:childValue,onChange:handleChange,debugLevel:debugLevel,filterSelectStyles:filterSelectStyles||{},uniqueClassName:uniqueClassName});}// CHECKBOX STYLE - use CheckboxFilter\nif(selectionStyle===\"checkboxes\"){return /*#__PURE__*/_jsx(CheckboxFilter,{config:modifiedConfig,value:childValue,onChange:handleChange,debugLevel:debugLevel,filterCheckboxStyles:filterCheckboxStyles||{},uniqueClassName:uniqueClassName});}// TAGS STYLE (default) - use TagFilter\nreturn /*#__PURE__*/_jsx(TagFilter,{config:modifiedConfig,value:childValue,onChange:handleChange,debugLevel:debugLevel,filterPillStyles:filterPillStyles||{},uniqueClassName:uniqueClassName});}\nexport const __FramerMetadata__ = {\"exports\":{\"SingleRefFilter\":{\"type\":\"reactComponent\",\"name\":\"SingleRefFilter\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}