import{_ as $}from"./GameSearchInput.vue_vue_type_script_setup_true_lang-pdOUkKu5.js";import{d as L,aF as U,aG as V,Z as w,Q as M,a9 as g,am as j,J as h,c as x,w as c,af as E,ai as O,f as p,aH as R,aI as q,m as v,n as z,aJ as A,ag as k,t as _,ad as G,F as J,aK as H,b as K,ab as F,N as Q,p as T,o as d,ap as D,aj as Z,E as b}from"./index-BTTFajzp.js";import{p as W}from"./Index.vue_vue_type_script_setup_true_lang-B2sEhv-d.js";import{V as X}from"./VCheckbox-Dc8-Q04r.js";const Y={key:0},ee={key:1},ae={key:0,class:"bg-brand-separator rounded-md px-2 py-1 text-xs font-bold"};function oe(l,e){for(const t of e){const a=l[t];if(typeof a=="string"&&a.trim())return a.trim()}return""}function te(l){const e=[];for(const t of l){if(!t||typeof t!="object")continue;const a=t,u=a.id;if(typeof u!="string"&&typeof u!="number")continue;const n=oe(a,["name","title"]);if(!n)continue;const i=a.games_count??a.gamesCount,f=typeof i=="number"?i:void 0;e.push({id:u,name:n,games_count:f})}return e}function re(l){return te(W(l))}const se=L({__name:"ProviderFilterDropdown",props:U({categoryId:{}},{modelValue:{default:()=>[]},modelModifiers:{}}),emits:["update:modelValue"],setup(l){const e=l,t=V(l,"modelValue"),a=w(!1),u=w(null),n=w([]),i=w(!1);let f=0;const y=M(()=>t.value.length),I=M(()=>y.value===0?g("game-filters.providers-toggle-aria"):g("game-filters.providers-toggle-aria-count").replace("{count}",String(y.value)));function C(r){return g("game-filters.provider-option-aria").replace("{name}",r)}function P(r){return t.value.includes(r)}function B(r){const s=[...t.value],m=s.indexOf(r);m>=0?s.splice(m,1):s.push(r),t.value=s}async function S(){const r=++f;i.value=!0;try{const s=e.categoryId!==null&&e.categoryId!==void 0,{data:m}=await O.get("/api/casino-games/providers",s?{params:{"casino_game_category_ids[]":e.categoryId}}:void 0);if(r!==f)return;n.value=re(m)}catch(s){if(r!==f)return;console.error("/api/casino-games/providers request failed:",s),n.value=[]}finally{r===f&&(i.value=!1)}}return j(()=>{S()}),h(()=>e.categoryId,()=>{S()}),h(a,r=>{r&&D(()=>u.value?.refresh())}),h(n,()=>{a.value&&D(()=>u.value?.refresh())},{deep:!0}),(r,s)=>{const m=R;return d(),x(E,{modelValue:a.value,"onUpdate:modelValue":s[1]||(s[1]=o=>a.value=o),location:"bottom end","close-on-content-click":!1,class:"h-full w-full"},{activator:c(({props:o})=>[p(T,Q(o,{variant:"flat",class:"brand-hover-link border-brand-separator bg-brand-input flex h-full w-full min-w-0 items-center justify-center gap-2 overflow-hidden rounded-md border text-xs font-bold normal-case sm:text-sm","aria-label":I.value,title:I.value}),{default:c(()=>[K("span",null,_(F(g)("game-filters.providers-label")),1),y.value===0?(d(),v("span",Y,_(F(g)("game-filters.providers-all")),1)):(d(),v("span",ee,_(y.value),1))]),_:1},16,["aria-label","title"])]),default:c(()=>[p(H,{class:"bg-brand-input overflow-hidden rounded-md shadow-2xl","min-width":"224"},{default:c(()=>[p(m,{ref_key:"dropdownScrollRef",ref:u,class:"provider-filter-dropdown__scroll"},{default:c(()=>[p(q,{density:"compact",class:"py-0"},{default:c(()=>[(d(!0),v(J,null,z(n.value,o=>(d(),x(A,{key:o.id,title:o.name,"aria-label":C(o.name),class:"border-brand-separator border-b",active:P(o.id),onClick:N=>B(o.id)},{prepend:c(()=>[p(X,{"model-value":P(o.id),"hide-details":"",density:"compact","aria-label":C(o.name),onClick:s[0]||(s[0]=G(()=>{},["stop"])),"onUpdate:modelValue":N=>B(o.id)},null,8,["model-value","aria-label","onUpdate:modelValue"])]),append:c(()=>[o.games_count!=null?(d(),v("span",ae,_(o.games_count),1)):k("",!0)]),_:2},1032,["title","aria-label","active","onClick"]))),128))]),_:1})]),_:1},512)]),_:1})]),_:1},8,["modelValue"])}}}),le=Z(se,[["__scopeId","data-v-c5a29a31"]]),ce=L({__name:"Index",props:U({categoryId:{default:null},showProviderDropdown:{type:Boolean,default:!0},showSearch:{type:Boolean,default:!0},class:{}},{search:{default:""},searchModifiers:{},providerIds:{default:()=>[]},providerIdsModifiers:{}}),emits:["update:search","update:providerIds"],setup(l){const e=l,t=V(l,"search"),a=V(l,"providerIds");return(u,n)=>(d(),v("div",{class:b(["flex h-10 w-full min-w-0 gap-2",e.class])},[e.showSearch?(d(),x($,{key:0,modelValue:t.value,"onUpdate:modelValue":n[0]||(n[0]=i=>t.value=i),class:b(e.showProviderDropdown?"w-4/6 min-w-0":"w-full")},null,8,["modelValue","class"])):k("",!0),e.showProviderDropdown?(d(),v("div",{key:1,class:b(["relative h-full min-w-0",e.showSearch?"w-2/6":"w-full"])},[p(le,{modelValue:a.value,"onUpdate:modelValue":n[1]||(n[1]=i=>a.value=i),"category-id":e.categoryId??null},null,8,["modelValue","category-id"])],2)):k("",!0)],2))}});export{ce as _};