{"version":3,"file":"ChipFilter.DASie3Sw.mjs","names":["useState","c","__esmMin","init_ssg_sandbox_shims","window","_e","p","c","init_jsx_runtime","init_npm_react_18_3_1","ce","RenderTarget","addPropertyControls","init_framer_BWFVvmND","ControlType","ChipFilter","props","active","setActive","allLabel","counts","setCounts","names","listName","n","byName","visible","els","x","lists","catOf","it","categoryLayer","t","l","k","pick","cat","show","wraps","hideEmpty","empty","box","w","countLayer","words","nm","a","one","many","countNoun","tpl","txt","el","all","categories","label","on","c$1","ink","line","paper","init_ChipFilter"],"sources":["https:/framerusercontent.com/modules/ZtFMAudQH9PHtAUKTpC1/7ZUJjxCyiKXhj9Zr0Lgy/ChipFilter.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useState}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";/**\n * Filter chips for a native Collection List. Each list item needs a text layer named \"Category layer\" bound to\n * the CMS category. List name accepts several comma-separated lists; \"Hide when empty\" names a wrapper layer\n * that is hidden while its list has no visible item. Clicking a chip hides the other items (and tells RingEffect to rebuild). Counts are\n * read from the list, so they follow the CMS.\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n */export default function ChipFilter(props){const{listName,categoryLayer,categories,allLabel,ink,paper,line,label,hideEmpty,countLayer,countNoun}=props;const[active,setActive]=useState(allLabel);const[counts,setCounts]=useState({});const names=String(listName||\"\").split(\",\").map(n=>n.trim()).filter(Boolean);const byName=n=>Array.from(document.querySelectorAll(`[data-framer-name=\"${n}\"]`));const visible=els=>els.find(x=>x.offsetParent!==null)||els[0];const lists=()=>names.flatMap(byName);const catOf=it=>(it.querySelector(`[data-framer-name=\"${categoryLayer}\"]`)?.textContent||\"\").trim();useEffect(()=>{if(typeof window===\"undefined\"||RenderTarget.current()===RenderTarget.canvas)return;const t=setTimeout(()=>{const c={};names.map(n=>visible(byName(n))).filter(Boolean).forEach(l=>Array.from(l.children).forEach(it=>{const k=catOf(it);if(k){c[k]=(c[k]||0)+1;c[allLabel]=(c[allLabel]||0)+1;}}));setCounts(c);},300);return()=>clearTimeout(t);},[listName,categoryLayer]);const pick=cat=>{setActive(cat);lists().forEach(l=>Array.from(l.children).forEach(it=>{const show=cat===allLabel||catOf(it)===cat;it.style.display=show?\"\":\"none\";it.dataset.brHidden=show?\"0\":\"1\";}));const wraps=String(hideEmpty||\"\").split(\",\").map(n=>n.trim()).filter(Boolean);lists().forEach(l=>{const empty=!Array.from(l.children).some(it=>it.dataset.brHidden!==\"1\");wraps.forEach(w=>{const box=l.closest(`[data-framer-name=\"${w}\"]`);if(box)box.style.display=empty?\"none\":\"\";});});if(countLayer){const words=[\"No\",\"One\",\"Two\",\"Three\",\"Four\",\"Five\",\"Six\",\"Seven\",\"Eight\",\"Nine\",\"Ten\",\"Eleven\",\"Twelve\"];const n=names.map(nm=>visible(byName(nm))).filter(Boolean).reduce((a,l)=>a+Array.from(l.children).filter(it=>it.dataset.brHidden!==\"1\"&&catOf(it)).length,0);const[one,many]=String(countNoun||\"story|stories\").split(\"|\");const tpl=String(countNoun||\"\");const txt=tpl.includes(\"{n}\")?tpl.replace(\"{n}\",String(n)):`${words[n]||n} ${n===1?one:many}`;byName(countLayer).forEach(el=>{const t=el.querySelector(\"p,span,h1,h2,h3,h4,h5,h6\")||el;t.textContent=txt;});}window.dispatchEvent(new Event(\"brfilter\"));};const all=[allLabel,...categories||[]];return /*#__PURE__*/_jsx(\"div\",{role:\"toolbar\",\"aria-label\":label||\"Filter\",style:{display:\"flex\",flexWrap:\"wrap\",gap:8},children:all.map(c=>{const on=c===active;return /*#__PURE__*/_jsxs(\"button\",{type:\"button\",\"aria-pressed\":on,onClick:()=>pick(c),style:{cursor:\"pointer\",font:'500 13px/1 \"Inter\", \"Inter Placeholder\", sans-serif',letterSpacing:\"-0.01em\",padding:\"9px 14px\",minHeight:36,borderRadius:99,border:`1px solid ${on?ink:line}`,background:on?ink:\"transparent\",color:on?paper:ink,display:\"inline-flex\",alignItems:\"flex-start\",gap:4,transition:\"background .3s,color .3s,border-color .3s\"},children:[c,counts[c]?/*#__PURE__*/_jsx(\"sup\",{style:{fontSize:10,lineHeight:1,opacity:.7},children:counts[c]}):null]},c);})});}ChipFilter.defaultProps={label:\"Filter projects\",listName:\"Ring list\",categoryLayer:\"Category\",categories:[\"Identity\",\"Campaign\",\"Packaging\",\"Motion\",\"Editorial\"],allLabel:\"All\",hideEmpty:\"\",countLayer:\"\",countNoun:\"story|stories\",ink:\"#0B0B0C\",paper:\"#F2F0EC\",line:\"rgba(11,11,12,0.16)\"};addPropertyControls(ChipFilter,{label:{type:ControlType.String,title:\"Label\"},listName:{type:ControlType.String,title:\"List name\"},categoryLayer:{type:ControlType.String,title:\"Category layer\"},categories:{type:ControlType.Array,control:{type:ControlType.String}},allLabel:{type:ControlType.String,title:\"All label\"},hideEmpty:{type:ControlType.String,title:\"Hide when empty\"},countLayer:{type:ControlType.String,title:\"Count layer\"},countNoun:{type:ControlType.String,title:\"Noun one|many\",placeholder:\"story|stories or ({n})\"},ink:{type:ControlType.Color},paper:{type:ControlType.Color},line:{type:ControlType.Color}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ChipFilter\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ChipFilter.map"],"mappings":"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"}