{"version":3,"file":"CollectionFilter.Ckz-jnw6.mjs","names":["useRef","__esmMin","init_ssg_sandbox_shims","init_npm_react_18_3_1","ce","c","init_jsx_runtime","de","window","init_framer_BWFVvmND","useIsStaticRenderer","addPropertyControls","ControlType","CollectionFilter","props","noun1","nounOne","noun2","nounTwo","nounPl","nounPlural","nounAcc","nounMany","totalLayer","total","pageCSS","pageSize","list","pageSizePhone","isStatic","ref","hydrated","el","k","section","tries","timer","current","textOf","chips","C","labelOf","chip","kids","items","l","moreBtn","more","moreLabel","n","toAr","countLabel","setText","root","p","text","t","paged","limit","expanded","norm","query","emptyOrig","matchQ","hay","it","w","wantMore","moreObs","ALL","apply","value","shown","matches","cap","reduce","f","field","hit","match","was","push","reveal","mb","rest","btn","outside","featured","none","emptyEl","ep","search","on","look","looks","L","url","param","read","cs","counts","byLabel","label","onClick","onKey","setup","its","all","other","group","ph","phP","inp","mirror","run","q","valid","resync","CSS","T","ACTIVE_BG","ACTIVE_FG","TEXT","BORDER","HOVER","AR","ON","init_CollectionFilter","id","d"],"sources":["https:/framerusercontent.com/modules/vLS4XcKYkr8e0ZvjeyJ2/pLJxTtvsrPTHXiDeV23L/CollectionFilter.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";// Marsa Collection Filter (phase 8B). Invisible helper placed in a section that holds:\n//   • chip layers named \"Filter · <label>\" (\"Filter · الكل\" = everything),\n//   • a Collection List layer (name set in \"List\"),\n//   • inside each item, a text layer (name set in \"Field\") whose text is the item's category,\n//   • optionally a text layer named \"Filter empty\" (shown when nothing matches),\n//   • optionally a featured item outside the list (\"Featured field\"): if it matches, the empty state stays hidden.\n// Chips become buttons (aria-pressed, keyboard), the choice is kept in the URL (?c=…), counts come from the data\n// (a \"Count\" text inside a chip is filled automatically), and items without the field (e.g. a CTA card) always stay.\n// Add a chip by duplicating one and renaming it \"Filter · <exact category text>\".\nconst T=id=>`var(--token-${id})`;const ACTIVE_BG=T(\"5cb0f000-6cc6-4424-b78f-8f2c893820a1\")// action/primary/bg\n;const ACTIVE_FG=T(\"0d853e04-88be-4c4a-b29c-c04198e32c4b\")// action/primary/fg\n;const TEXT=T(\"090f6528-568c-438a-8c3c-375d561ad823\")// text/primary\n;const BORDER=T(\"d8a4ee5e-0e30-41c4-8a1a-a90100bc6515\")// chip border\n;const HOVER=T(\"865f760d-9168-4b00-a596-dae9a6aa0c28\")// bg/subtle\n;const AR=\"٠١٢٣٤٥٦٧٨٩\";const toAr=n=>String(n).replace(/[0-9]/g,d=>AR[+d]);const C='[data-framer-name^=\"Filter \\xb7 \"]';const ON=`:is([data-mf-on=\"true\"], :not([data-mf-ready]) > [data-framer-name=\"Filter \\xb7 الكل\"])`;// Ships in the page HTML, so chips look final from the first paint and never change size when the active one moves.\nconst P=\":not([data-mf-copy]) >\";const CSS=`\n[data-mf-copy] ${C}{cursor:pointer;transition:background-color 200ms cubic-bezier(0.16,1,0.3,1)}\n[data-mf-copy] ${C}[data-mf-on]{background-color:var(--mf-bg) !important;--border-color:var(--mf-bd) !important}\n[data-mf-copy] ${C}[data-mf-on] p{--framer-text-color:var(--mf-fg) !important}\nbody:not(:has([data-marsa-filter][data-look=\"Copy\"])) ${C}{padding:8px 16px !important;background:transparent !important;box-shadow:inset 0 0 0 1px ${BORDER};cursor:pointer;transition:background-color 140ms cubic-bezier(0.16,1,0.3,1)}\nbody:not(:has([data-marsa-filter][data-look=\"Copy\"])) ${C}::after{display:none !important}\nbody:not(:has([data-marsa-filter][data-look=\"Copy\"])) ${C} p{--framer-text-color:${TEXT} !important}\nbody:not(:has([data-marsa-filter][data-look=\"Copy\"])) ${C} [data-framer-name=\"Dot\"]{background:${TEXT} !important}\n@media (hover:hover){body:not(:has([data-marsa-filter][data-look=\"Copy\"])) ${C}:hover{background:${HOVER} !important}}\nbody:not(:has([data-marsa-filter][data-look=\"Copy\"])) ${C}${ON}{background:${ACTIVE_BG} !important;box-shadow:none}\nbody:not(:has([data-marsa-filter][data-look=\"Copy\"])) ${C}${ON} p{--framer-text-color:${ACTIVE_FG} !important}\nbody:not(:has([data-marsa-filter][data-look=\"Copy\"])) ${C}${ON} [data-framer-name=\"Dot\"]{background:${ACTIVE_FG} !important}\n:not([data-mf-empty=\"true\"]) > * [data-framer-name=\"Filter empty\"]{display:none !important}\n[data-mf-empty=\"true\"] [data-framer-name=\"Filter empty\"]{display:block !important}\n[data-mf-field] [data-framer-name=\"Placeholder\"]{display:none !important}\n[data-mf-field]{flex:1 1 auto !important;min-width:0 !important;width:auto !important}\n[data-mf-input]{all:unset;box-sizing:border-box;flex:1 1 auto;min-width:0;width:100%;direction:rtl;text-align:right;font-family:\"IBM Plex Sans Arabic\",sans-serif;font-size:16px;line-height:1.75;color:${TEXT};caret-color:${TEXT};cursor:text}\n[data-mf-input]::placeholder{color:var(--token-86b01899-f6a1-495d-9fed-06f71d7caada);opacity:1}\n[data-mf-input]::-webkit-search-cancel-button{display:none}\n`;/**\n * @framerIntrinsicWidth 0\n * @framerIntrinsicHeight 0\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function CollectionFilter(props){const{list=\"Posts\",field=\"Category\",param=\"c\",featured=\"\",more=\"\",look=\"Pill\",nounOne=\"تكامل\",nounTwo=\"تكاملين\",nounPlural=\"تكاملات\",nounMany=\"تكاملاً\",pageSize=0,pageSizePhone=0,total=\"\",search=\"\"}=props;const noun1=nounOne,noun2=nounTwo,nounPl=nounPlural,nounAcc=nounMany,totalLayer=total;// First paint (static HTML): only the first page of the list is shown, so nothing jumps when the script takes over.\nconst pageCSS=pageSize>0?`@media (min-width: 810px){[data-framer-name^=\"section_\"]:not([data-mf-paged]) [data-framer-name=\"${list}\"] > * > :nth-child(n+${pageSize+1}){display:none !important}}`+`@media (max-width: 809.98px){[data-framer-name^=\"section_\"]:not([data-mf-paged]) [data-framer-name=\"${list}\"] > * > :nth-child(n+${(pageSizePhone||pageSize)+1}){display:none !important}}`:\"\";const isStatic=useIsStaticRenderer();const ref=useRef(null);useEffect(()=>{if(isStatic||typeof window===\"undefined\")return;const hydrated=el=>Object.keys(el).some(k=>k.startsWith(\"__reactFiber\"));const anchor=ref.current;const section=(anchor?.closest('[data-framer-name^=\"section_\"]'))||document.body;let tries=0;let timer=0;let current=\"\";const textOf=el=>(el?.textContent||\"\").trim();const chips=()=>Array.from(section.querySelectorAll(C));const labelOf=chip=>(chip.getAttribute(\"data-framer-name\")||\"\").replace(\"Filter \\xb7 \",\"\").trim();// items = children of the list, stepping through Framer's display:contents wrappers\nconst kids=el=>Array.from(el.children).flatMap(c=>getComputedStyle(c).display===\"contents\"?kids(c):[c]);const items=()=>Array.from(section.querySelectorAll(`[data-framer-name=\"${list}\"]`)).flatMap(l=>kids(l));// optional «more» button: «عرض N تكاملاً آخر» = what the active filter hides; click → back to «الكل»\nconst moreBtn=()=>more?Array.from(section.querySelectorAll(`[data-framer-name=\"${more}\"]`)).find(e=>e.getClientRects().length||e.style.display===\"none\")||null:null;const moreLabel=n=>n===1?`عرض ${noun1} آخر`:n===2?`عرض ${noun2} آخرين`:n<=10?`عرض ${toAr(n)} ${nounPl} أخرى`:`عرض ${toAr(n)} ${nounAcc} آخر`;const countLabel=n=>n===1?`${noun1} واحد`:n===2?noun2:n<=10?`${toAr(n)} ${nounPl}`:`${toAr(n)} ${nounAcc}`;// Round 3: write into the styled <p> (its own text node), never over the Label container,\n// so the Button keeps its text style; a re-render (hover variant) is corrected by the observer.\nconst setText=(root,text)=>{if(!root)return;const p=root.matches(\"p\")?root:root.querySelector(\"p\");if(!p)return;if((p.textContent||\"\")===text)return;const t=p.firstChild;if(t&&t.nodeType===3&&p.childNodes.length===1)t.nodeValue=text;else p.textContent=text;};const paged=pageSize>0;const limit=()=>window.matchMedia(\"(max-width: 809.98px)\").matches?pageSizePhone||pageSize:pageSize;let expanded=false;// Round 3 (r2) — search field (layer «${search}» › «Field» with a «Placeholder» text): a real input that filters by every word\nconst norm=t=>t.toLowerCase().replace(/[\\u064B-\\u0652\\u0640]/g,\"\").replace(/[إأآا]/g,\"ا\").replace(/ة/g,\"ه\").replace(/[ىي]/g,\"ي\").replace(/\\s+/g,\" \").trim();let query=\"\";let emptyOrig=null;const matchQ=it=>{if(!query)return true;const hay=norm(it.textContent||\"\");return query.split(\" \").every(w=>hay.includes(w));};let wantMore=\"\";let moreObs=null;const ALL=\"الكل\";const apply=(value,push,reveal=false)=>{if(value!==current)expanded=false;current=value;let shown=0;let total=0;let k=0;let matches=0;const cap=paged&&!expanded&&!query?limit():Infinity;const reduce=window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;for(const it of items()){const f=it.querySelector(`[data-framer-name=\"${field}\"]`);if(!f)continue;// items without the field (CTA cards) always stay\ntotal++;const hit=(value===ALL||textOf(f)===value)&&matchQ(it);if(hit)matches++;const match=hit&&matches<=cap;const was=it.style.display!==\"none\";it.style.display=match?\"\":\"none\";if(match&&it.getClientRects().length){shown++;if((push||reveal&&!was)&&!reduce){it.animate([{opacity:0,transform:\"translateY(16px) scale(0.97)\"},{opacity:1,transform:\"none\"}],{duration:420,delay:Math.min(k++,8)*35,easing:\"cubic-bezier(0.16, 1, 0.3, 1)\",fill:\"backwards\"});}else if(!was)k++;}}const mb=moreBtn();if(mb){// paged: what the active filter still hides; otherwise: what the filter hides\nconst rest=paged?matches-shown:total-shown;mb.style.display=rest>0?\"\":\"none\";wantMore=rest>0?moreLabel(rest):\"\";if(wantMore)setText(mb.querySelector('[data-framer-name=\"Label\"]'),wantMore);mb.setAttribute(\"data-mf-more\",\"\");const btn=mb.firstElementChild;if(btn&&!btn.getAttribute(\"href\")){btn.setAttribute(\"role\",\"button\");btn.setAttribute(\"tabindex\",\"0\");}if(!moreObs&&\"MutationObserver\"in window){moreObs=new MutationObserver(()=>{if(wantMore)setText(mb.querySelector('[data-framer-name=\"Label\"]'),wantMore);});moreObs.observe(mb,{childList:true,subtree:true,characterData:true});}}// A featured item outside the list (same field name elsewhere in the page) also counts as a result.\nconst outside=Array.from(document.querySelectorAll(`[data-framer-name=\"${featured||field}\"]`)).filter(f=>!f.closest(`[data-framer-name=\"${list}\"]`)&&f.getClientRects().length&&textOf(f)===value).length;const none=(value!==ALL||!!query)&&shown+outside===0;section.setAttribute(\"data-mf-empty\",none?\"true\":\"false\");const emptyEl=section.querySelector('[data-framer-name=\"Filter empty\"]');if(emptyEl){const ep=emptyEl.matches(\"p\")?emptyEl:emptyEl.querySelector(\"p\");if(ep&&emptyOrig===null)emptyOrig=ep.textContent||\"\";if(emptyOrig!==null)setText(emptyEl,query?\"لا نتائج — جرّب كلمة أخرى أو اختر فئة أخرى.\":emptyOrig);}if(search&&totalLayer&&total){for(const t of Array.from(document.querySelectorAll(`[data-framer-name=\"${totalLayer}\"]`)))setText(t,query?matches?countLabel(matches):\"لا نتائج\":countLabel(total));}for(const chip of chips()){const on=labelOf(chip)===value;chip.setAttribute(\"data-mf-on\",on?\"true\":\"false\");chip.setAttribute(\"aria-pressed\",on?\"true\":\"false\");if(look===\"Copy\"&&looks){const L=on?looks.on:looks.off;chip.style.setProperty(\"--mf-bg\",L.bg);chip.style.setProperty(\"--mf-bd\",L.bd);chip.style.setProperty(\"--mf-fg\",L.fg);}}if(push){const url=new URL(window.location.href);if(value===ALL)url.searchParams.delete(param);else url.searchParams.set(param,value);history.replaceState(history.state,\"\",url.toString());}};// «Copy» look: chips keep their Figma style; the active one takes the look «الكل» has in the design\nlet looks=null;const read=c=>{const cs=getComputedStyle(c);const p=c.querySelector(\"p\");return{bg:cs.backgroundColor,bd:cs.getPropertyValue(\"--border-color\")||\"transparent\",fg:p?getComputedStyle(p).color:cs.color};};const counts=()=>{const byLabel=new Map;for(const it of items()){const f=it.querySelector(`[data-framer-name=\"${field}\"]`);if(!f)continue;byLabel.set(textOf(f),(byLabel.get(textOf(f))||0)+1);}let total=0;byLabel.forEach(n=>total+=n);if(total&&totalLayer)for(const t of Array.from(document.querySelectorAll(`[data-framer-name=\"${totalLayer}\"]`)))setText(t,countLabel(total));for(const chip of chips()){const label=labelOf(chip);const n=label===ALL?total:byLabel.get(label)||0;for(const c of Array.from(chip.querySelectorAll('[data-framer-name=\"Count\"] p, [data-framer-name=\"Count\"]:not(:has(p))'))){if(c.textContent!==toAr(n))c.textContent=toAr(n);}}};const onClick=e=>{const mb=e.target?.closest?.(\"[data-mf-more]\");if(mb&&section.contains(mb)){e.preventDefault();if(paged){expanded=true;apply(current||ALL,false,true);}else apply(ALL,true);return;}const chip=e.target?.closest?.(C);if(!chip||!section.contains(chip))return;e.preventDefault();apply(labelOf(chip),true);};const onKey=e=>{if(e.key!==\"Enter\"&&e.key!==\" \")return;onClick(e);};const setup=()=>{const cs=chips();const its=items();if(!cs.length||!its.length||!cs.every(hydrated)||!its.every(hydrated)){if(tries++<30)timer=window.setTimeout(setup,100);return;}if(look===\"Copy\"){const all=cs.find(c=>labelOf(c)===ALL);const other=cs.find(c=>labelOf(c)!==ALL);if(all&&other)looks={on:read(all),off:read(other)};section.setAttribute(\"data-mf-copy\",\"\");}else section.setAttribute(\"data-mf-pill\",\"\");for(const chip of cs){chip.setAttribute(\"role\",\"button\");chip.setAttribute(\"tabindex\",\"0\");chip.setAttribute(\"data-mf-chip\",\"\");chip.parentElement?.setAttribute(\"data-mf-ready\",\"\");}const group=cs[0].parentElement;if(group){group.setAttribute(\"role\",\"group\");group.setAttribute(\"aria-label\",\"تصفية حسب التصنيف\");}counts();if(paged)section.setAttribute(\"data-mf-paged\",\"\");if(search){const field=Array.from(document.querySelectorAll(`[data-framer-name=\"${search}\"] [data-framer-name=\"Field\"]`)).find(f=>f.getClientRects().length&&f.querySelector('[data-framer-name=\"Placeholder\"]')&&!f.hasAttribute(\"data-mf-field\"));if(field&&hydrated(field)){const ph=field.querySelector('[data-framer-name=\"Placeholder\"]');const phP=ph.querySelector(\"p\")||ph;const inp=document.createElement(\"input\");inp.type=\"search\";inp.setAttribute(\"data-mf-input\",\"\");inp.setAttribute(\"enterkeyhint\",\"search\");inp.setAttribute(\"autocomplete\",\"off\");inp.placeholder=(ph.textContent||\"\").trim();inp.setAttribute(\"aria-label\",inp.placeholder.replace(/…$/,\"\"));const mirror=()=>{const c=getComputedStyle(phP);inp.style.fontFamily=c.fontFamily;inp.style.fontSize=c.fontSize;inp.style.lineHeight=c.lineHeight;inp.style.fontWeight=c.fontWeight;};mirror();window.addEventListener(\"resize\",mirror);field.setAttribute(\"data-mf-field\",\"\");ph.insertAdjacentElement(\"afterend\",inp);const run=()=>{query=norm(inp.value);apply(current||ALL,false);};inp.addEventListener(\"input\",run);inp.addEventListener(\"keydown\",e=>{if(e.key===\"Escape\"){if(inp.value){inp.value=\"\";run();}else inp.blur();}if(e.key===\"Enter\"){e.preventDefault();section.scrollIntoView({behavior:window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches?\"auto\":\"smooth\",block:\"start\"});}});// the whole pill focuses the field\nfield.parentElement?.addEventListener(\"click\",e=>{if(e.target!==inp)inp.focus();});}}const q=new URL(window.location.href).searchParams.get(param);const valid=q&&cs.some(c=>labelOf(c)===q);apply(valid?q:ALL,false);// Framer may re-render the CMS list right after hydration: re-sync counts and the filter once it settles\nconst resync=()=>{counts();apply(current,false);};window.setTimeout(resync,700);if(document.readyState!==\"complete\")window.addEventListener(\"load\",()=>window.setTimeout(resync,200),{once:true});};section.addEventListener(\"click\",onClick);section.addEventListener(\"keydown\",onKey);setup();return()=>{window.clearTimeout(timer);section.removeEventListener(\"click\",onClick);section.removeEventListener(\"keydown\",onKey);moreObs?.disconnect();if(current)for(const it of items())it.style.display=\"\";};},[isStatic,look,list,field,param,featured,more,noun1,noun2,nounPl,nounAcc,pageSize,pageSizePhone,totalLayer,search]);return /*#__PURE__*/_jsx(\"div\",{ref:ref,\"data-marsa-filter\":\"\",\"data-look\":look,\"aria-hidden\":\"true\",style:{...props.style,width:0,height:0,overflow:\"hidden\",position:\"relative\"},children:/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:CSS+pageCSS}})});}CollectionFilter.displayName=\"Collection Filter\";addPropertyControls(CollectionFilter,{list:{type:ControlType.String,title:\"List\",defaultValue:\"Posts\",description:\"Layer name of the Collection List\"},field:{type:ControlType.String,title:\"Field\",defaultValue:\"Category\",description:\"Text layer inside each item\"},param:{type:ControlType.String,title:\"URL key\",defaultValue:\"c\"},featured:{type:ControlType.String,title:\"Featured field\",defaultValue:\"\",description:\"Text layer of a featured item outside the list (counts as a result)\"},look:{type:ControlType.Enum,title:\"Chip look\",options:[\"Pill\",\"Copy\"],defaultValue:\"Pill\",displaySegmentedControl:true,description:\"Copy = keep the designed chips; the active one copies \\xabالكل\\xbb\"},more:{type:ControlType.String,title:\"More button\",defaultValue:\"\",description:\"Layer name of a \\xabshow N more\\xbb button: counts what the filter hides; click shows all\"},nounOne:{type:ControlType.String,title:\"Noun (1)\",defaultValue:\"تكامل\",hidden:p=>!p.more},nounTwo:{type:ControlType.String,title:\"Noun (2)\",defaultValue:\"تكاملين\",hidden:p=>!p.more},nounPlural:{type:ControlType.String,title:\"Noun (3–10)\",defaultValue:\"تكاملات\",hidden:p=>!p.more},nounMany:{type:ControlType.String,title:\"Noun (11+)\",defaultValue:\"تكاملاً\",hidden:p=>!p.more},pageSize:{type:ControlType.Number,title:\"Page size\",defaultValue:0,min:0,step:1,displayStepper:true,description:\"0 = show all. Otherwise the list shows this many per filter and the More button reveals the rest\"},pageSizePhone:{type:ControlType.Number,title:\"Page size (phone)\",defaultValue:0,min:0,step:1,displayStepper:true,hidden:p=>!p.pageSize},search:{type:ControlType.String,title:\"Search layer\",defaultValue:\"\",description:\"Layer holding \\xabField\\xbb › \\xabPlaceholder\\xbb: becomes a real search input\"},total:{type:ControlType.String,title:\"Total layer\",defaultValue:\"\",description:\"Text layer that shows the total count (\\xab٤١ تكاملاً\\xbb)\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CollectionFilter\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicHeight\":\"0\",\"framerIntrinsicWidth\":\"0\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CollectionFilter.map"],"mappings":"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"}