import{Y as R,cb as tt,aC as De,q as ge,b as D,x as A,C as st,S as at,d as ce,bl as Ve,bm as me,f as xe,o as i,c as k,g as C,w as T,h,l as e,bL as ot,i as E,j as I,F as J,p as se,X as ve,eJ as ye,t as L,k as ne,cq as rt,a as u,r as ue,n as N,ar as Re,_ as Ue,at as Ee,e1 as lt,N as ie,aT as Oe,af as Ae,s as it,an as nt,cs as dt,m as ut,v as ct,bU as pt,aB as ft,u as mt,aF as vt,aE as yt,aD as je,ae as Se,aI as gt,aJ as ht,aK as _t,bA as bt,aq as Z,aL as kt,Q as Ce,aR as xt,ag as wt,bK as $t,dc as Tt,a3 as Ft,aP as Mt,D as Pt,ah as jt,av as St,b4 as Ct}from"./Co0rzPff.js";import{A as qt}from"./CCBW7oxg.js";import{B as Ne}from"./C3q4b65f.js";import{C as Ge}from"./B1zKQxf0.js";import{D as qe}from"./DOEaqF_O.js";import{_ as Ie}from"./B_kDduxG.js";import{_ as It}from"./C1c3RIAg.js";import{_ as be}from"./qC9qCRM4.js";import{A as Lt}from"./wH9RihXo.js";import{S as Bt}from"./DIvdpblU.js";import{d as re}from"./DcFkmsmp.js";import{m as Dt,d as Vt,a as le}from"./z-xUYPp7.js";import{a as Rt,L as Ut}from"./rIDK9jBP.js";import{A as Et}from"./DcnV1fqM.js";import{N as Ot}from"./BzMaBFYO.js";import{P as At}from"./CNjYxwaV.js";import{u as Nt}from"./B1GumCz2.js";import{u as Gt}from"./L_4X0bf_.js";import{d as zt}from"./BKvmybFC.js";import{u as Ht}from"./DN-g_sLF.js";import"./mxhR-slD.js";import"./CdDJKVfF.js";import"./BEt1WLUe.js";import"./BB5xSxcZ.js";import"./DweEgKYS.js";import"./1TRkdg3x.js";const Le=["mod","modpack","resourcepack","shader","datapack","plugin"];function Qt(g,p,c){const l=R(""),b=R(20),x=tt([{display:"Relevance",name:"relevance"},{display:"Downloads",name:"downloads"},{display:"Followers",name:"follows"},{display:"Date published",name:"newest"},{display:"Date updated",name:"updated"}]),$=R({name:"relevance",display:"Relevance"}),V=De(),P=R(1),B=R([]),j=R([]),S=R([]),{formatMessage:n}=ge(),_=D(()=>{const f={};for(const t of Dt(p.value.categories.slice(),["header","name"])){const d=`category_${t.project_type}_${t.header}`;f[d]||(f[d]={id:d,formatted_name:Vt(t.header),supported_project_types:t.project_type==="mod"?["mod","plugin","datapack"]:[t.project_type],display:"all",query_param:t.header==="resolutions"?"g":"f",supports_negative_filter:!0,searchable:!1,options:[]}),f[d].options.push({id:t.name,formatted_name:le(t.name),icon:t.icon,value:`categories:${t.name}`,method:t.header==="resolutions"?"or":"and"})}return[...Object.values(f),{id:"environment",formatted_name:n(A({id:"search.filter_type.environment",defaultMessage:"Environment"})),supported_project_types:["mod","modpack"],display:"all",query_param:"e",supports_negative_filter:!1,searchable:!1,options:[{id:"client",formatted_name:n(A({id:"search.filter_type.environment.client",defaultMessage:"Client"})),icon:st,method:"environment",environment:"client"},{id:"server",formatted_name:n(A({id:"search.filter_type.environment.server",defaultMessage:"Server"})),icon:at,method:"environment",environment:"server"}]},{id:"game_version",formatted_name:n(A({id:"search.filter_type.game_version",defaultMessage:"Game version"})),supported_project_types:Le,display:"scrollable",query_param:"v",supports_negative_filter:!1,toggle_groups:[{id:"all_versions",formatted_name:n(A({id:"search.filter_type.game_version.all_versions",defaultMessage:"Show all versions"})),query_param:"h"}],searchable:!0,options:p.value.gameVersions.map(t=>({id:t.version,toggle_group:t.version_type!=="release"?"all_versions":void 0,value:`versions:${t.version}`,query_value:t.version,method:"or"})),ordering:g.value.includes("mod")?2:void 0},{id:"mod_loader",formatted_name:n(A({id:"search.filter_type.mod_loader",defaultMessage:"Loader"})),supported_project_types:["mod"],display:"expandable",query_param:"g",supports_negative_filter:!0,default_values:["fabric","forge","neoforge","quilt"],searchable:!1,options:p.value.loaders.filter(t=>t.supported_project_types.includes("mod")&&!t.supported_project_types.includes("plugin")&&!t.supported_project_types.includes("datapack")).map(t=>({id:t.name,formatted_name:le(t.name),icon:t.icon,method:"or",value:`categories:${t.name}`})),ordering:g.value.includes("mod")?1:void 0},{id:"modpack_loader",formatted_name:n(A({id:"search.filter_type.modpack_loader",defaultMessage:"Loader"})),supported_project_types:["modpack"],display:"all",query_param:"g",supports_negative_filter:!0,searchable:!1,options:p.value.loaders.filter(t=>t.supported_project_types.includes("modpack")).map(t=>({id:t.name,formatted_name:le(t.name),icon:t.icon,method:"or",value:`categories:${t.name}`}))},{id:"plugin_loader",formatted_name:n(A({id:"search.filter_type.plugin_loader",defaultMessage:"Loader"})),supported_project_types:["plugin"],display:"all",query_param:"g",supports_negative_filter:!0,searchable:!1,options:p.value.loaders.filter(t=>t.supported_project_types.includes("plugin")&&!["bungeecord","waterfall","velocity"].includes(t.name)).map(t=>({id:t.name,formatted_name:le(t.name),icon:t.icon,method:"or",value:`categories:${t.name}`}))},{id:"plugin_platform",formatted_name:n(A({id:"search.filter_type.plugin_platform",defaultMessage:"Platform"})),supported_project_types:["plugin"],display:"all",query_param:"g",supports_negative_filter:!0,searchable:!1,options:p.value.loaders.filter(t=>["bungeecord","waterfall","velocity"].includes(t.name)).map(t=>({id:t.name,formatted_name:le(t.name),icon:t.icon,method:"or",value:`categories:${t.name}`}))},{id:"shader_loader",formatted_name:n(A({id:"search.filter_type.shader_loader",defaultMessage:"Loader"})),supported_project_types:["shader"],display:"all",query_param:"g",supports_negative_filter:!0,searchable:!1,options:p.value.loaders.filter(t=>t.supported_project_types.includes("shader")).map(t=>({id:t.name,formatted_name:le(t.name),icon:t.icon,method:"or",value:`categories:${t.name}`}))},{id:"license",formatted_name:n(A({id:"search.filter_type.license",defaultMessage:"License"})),supported_project_types:["mod","modpack","resourcepack","shader","plugin","datapack"],query_param:"l",supports_negative_filter:!0,display:"all",searchable:!1,options:[{id:"open_source",formatted_name:n(A({id:"search.filter_type.license.open_source",defaultMessage:"Open source"})),method:"and",value:"open_source:true"}]},{id:"project_id",formatted_name:n(A({id:"search.filter_type.project_id",defaultMessage:"Project ID"})),supported_project_types:Le,query_param:"pid",supports_negative_filter:!0,display:"none",searchable:!1,options:[],allows_custom_options:"and"}].filter(t=>t.supported_project_types.some(d=>g.value.includes(d))).sort((t,d)=>(d.ordering??0)-(t.ordering??0))}),ee=D(()=>{const f=c.value.filter(o=>!S.value.includes(o.type)),t=[...B.value.filter(o=>!f.some(F=>F.type===o.type)),...f],d=[],w={};for(const o of t){const F=_.value.find(de=>de.id===o.type);if(!F){console.error(`Filter type ${o.type} not found`);continue}let O=F==null?void 0:F.options.find(de=>de.id===o.option);if(!O&&F.allows_custom_options)O={id:o.option,formatted_name:o.option,icon:void 0,method:F.allows_custom_options,value:o.option};else if(!O){console.error(`Filter option ${o.option} not found`);continue}(O.method==="or"||O.method==="and")&&(o.negative?d.push([O.value.replace(":","!=")]):O.method==="or"?(w[F.id]||(w[F.id]=[]),w[F.id].push(O.value)):O.method==="and"&&d.push([O.value]))}Object.values(w).forEach(o=>d.push(o));const q=B.value.some(o=>o.type==="environment"&&o.option==="client"),s=B.value.some(o=>o.type==="environment"&&o.option==="server");d.push(...Jt(q,s));const y=g.value.map(o=>`project_type:${o}`);return d.length>0?[y,...d]:[y]}),v=D(()=>{const f=[`limit=${b.value}`,`index=${$.value.name}`];l.value.length>0&&f.push(`query=${encodeURIComponent(l.value)}`),f.push(`facets=${encodeURIComponent(JSON.stringify(ee.value))}`);const m=(P.value-1)*b.value;return P.value!==1&&f.push(`offset=${m}`),`?${f.join("&")}`});K();function K(){const f=new Set;z(["l"],m=>{m==="true"&&!B.value.some(t=>t.type==="license"&&t.option==="open_source")&&(B.value.push({type:"license",option:"open_source",negative:!1}),f.add("l"))}),z(["nf"],m=>{const t=typeof m=="string"?new Set([m]):new Set(m);e:for(const d of _.value)for(const w of d.options){const q=ke(w,!1);if(t.has(q)&&!B.value.some(s=>s.type===d.id&&s.option===w.id)&&(B.value.push({type:d.id,option:w.id,negative:!0}),f.add(d.query_param),t.delete(q),t.size===0))break e}}),z(["s"],m=>{$.value=x.find(t=>t.name===m)??x[0],f.add("s")}),z(["m"],m=>{b.value=Number(m),f.add("m")}),z(["o"],m=>{P.value=Math.ceil(Number(m)/b.value)+1,f.add("o")}),z(["page"],m=>{P.value=Number(m),f.add("page")}),z(["q"],m=>{l.value=String(m),f.add("q")});for(const m of Object.keys(V.query).filter(t=>!f.has(t))){const t=_.value.find(d=>d.query_param===m);if(t){const d=Kt(V.query[m]);for(const w of d){const q=!w.includes(":")&&w.includes("!="),s=t.options.find(y=>ke(y,q)===w);!s&&t.allows_custom_options?B.value.push({type:t.id,option:w.replace("!=",":"),negative:q}):s?B.value.push({type:t.id,option:s.id,negative:q}):console.error(`Unknown filter option: ${w}`)}}else console.error(`Unknown filter type: ${m}`)}}function Q(){const f={};return l.value&&(f.q=[l.value]),B.value.forEach(m=>{const t=_.value.find(w=>w.id===m.type),d=t==null?void 0:t.options.find(w=>w.id===m.option);if(t&&d){const w=ke(d,m.negative);f[t.query_param]?f[t.query_param].push(w):f[t.query_param]=[w]}}),j.value.forEach(m=>{const t=_.value.flatMap(d=>d.toggle_groups).find(d=>d&&d.id===m);t&&"query_param"in t&&t.query_param&&(f[t.query_param]=[String(!0)])}),$.value.name!=="relevance"&&(f.s=[$.value.name]),b.value!==20&&(f.m=[String(b.value)]),P.value>1&&(f.page=[String(P.value)]),f}function W(f){let m="";return Object.entries(f).forEach(([t,d])=>{Array.isArray(d)?d.forEach(w=>{m=Be(m,t,w)}):m=Be(m,t,d)}),m}function z(f,m){for(const t of f)if(t in V.query){m(V.query[t]);return}}return{query:l,currentSortType:$,currentFilters:B,toggledGroups:j,currentPage:P,maxResults:b,overriddenProvidedFilterTypes:S,sortTypes:x,filters:_,facets:ee,requestParams:v,createPageParams:Q,createPageParamsString:W}}function Jt(g,p){const c=[];return g&&p?c.push(["client_side:required"],["server_side:required"]):g?c.push(["client_side:optional","client_side:required"],["server_side:optional","server_side:unsupported"]):p&&c.push(["client_side:optional","client_side:unsupported"],["server_side:optional","server_side:required"]),c}function ke(g,p){let c=g.method==="or"||g.method==="and"?g.value:g.id;return p===!0&&(c=c.replace(":","!=")),g.query_value&&(c=g.query_value),c}function Be(g,p,c){return g+`${g?"&":"?"}${p}=${encodeURIComponent(c)}`}function Kt(g){return g===null?[]:typeof g=="string"?[g]:g.filter(p=>p!==null)}const Xt={class:"experimental-styles-within flex flex-wrap items-center gap-1 empty:hidden"},Yt=ce({__name:"SearchFilterControl",props:Ve({filters:{},providedFilters:{},overriddenProvidedFilterTypes:{},providedMessage:{}},{selectedFilters:{required:!0},selectedFiltersModifiers:{}}),emits:["update:selectedFilters"],setup(g){const{formatMessage:p}=ge(),c=me(g,"selectedFilters"),l=g,b=A({id:"search.filter.locked.default",defaultMessage:"Filter locked"});function x(j,S,n){return n.some(_=>_.type===j.id&&_.option===S.id)}const $=D(()=>l.filters.flatMap(j=>j.options.filter(S=>x(j,S,c.value)||x(j,S,l.providedFilters)).map(S=>{var n;return{type:j.id,option:S.id,negative:(n=c.value.find(_=>_.type===j.id&&_.option===S.id))==null?void 0:n.negative,provided:x(j,S,l.providedFilters),formatted_name:S.formatted_name}}))),V=D(()=>$.value.filter(j=>!j.provided));function P(j){c.value=c.value.filter(S=>S.type!==j.type||S.option!==j.option)}async function B(){c.value=[]}return(j,S)=>{const n=xe("tooltip");return i(),k("div",Xt,[V.value.length>1?(i(),C(be,{key:0,class:"transition-transform active:scale-[0.95]",action:B},{default:T(()=>[h(e(ot)),S[0]||(S[0]=E(" Clear all filters "))]),_:1})):I("",!0),(i(!0),k(J,null,se(V.value,_=>(i(),C(be,{key:`remove-filter-${_.type}-${_.option}`,action:()=>P(_)},{default:T(()=>[h(e(ve)),_.negative?(i(),C(e(ye),{key:0,class:"text-brand-red"})):I("",!0),E(" "+L(_.formatted_name??_.option),1)]),_:2},1032,["action"]))),128)),(i(!0),k(J,null,se($.value.filter(_=>_.provided),_=>ne((i(),C(be,{key:`provided-filter-${_.type}-${_.option}`,style:{"--_bg-color":"var(--color-raised-bg)"}},{default:T(()=>[h(e(rt)),E(" "+L(_.formatted_name??_.option),1)]),_:2},1024)),[[n,e(p)(j.providedMessage??e(b))]])),128))])}}}),Wt={class:"search-filter-option group flex gap-1 items-center"},Zt=ce({__name:"SearchFilterOption",props:{option:{},included:{type:Boolean},excluded:{type:Boolean},supportsNegativeFilter:{type:Boolean,default:!1}},emits:["toggle","toggleExclude"],setup(g,{emit:p}){const c=p;return(l,b)=>{const x=xe("tooltip");return i(),k("div",Wt,[u("button",{class:N(`flex border-none cursor-pointer !w-full items-center gap-2 truncate rounded-xl px-2 py-2 [@media(hover:hover)]:py-1 text-sm font-semibold transition-all hover:text-contrast focus-visible:text-contrast active:scale-[0.98] ${l.included?"bg-brand-highlight text-contrast hover:brightness-125":l.excluded?"bg-highlight-red text-contrast hover:brightness-125":"bg-transparent text-secondary hover:bg-button-bg focus-visible:bg-button-bg [&>svg.check-icon]:hover:text-brand [&>svg.check-icon]:focus-visible:text-brand"}`),onClick:b[0]||(b[0]=()=>c("toggle",l.option))},[ue(l.$slots,"default",{},void 0,!0),l.excluded?(i(),C(e(ye),{key:0,class:N(`filter-action-icon ml-auto h-4 w-4 shrink-0 transition-opacity group-hover:opacity-100 ${l.excluded?"":"[@media(hover:hover)]:opacity-0"}`),"aria-hidden":"true"},null,8,["class"])):(i(),C(e(Re),{key:1,class:N(`filter-action-icon check-icon ml-auto h-4 w-4 shrink-0 transition-opacity group-hover:opacity-100 ${l.included?"":"[@media(hover:hover)]:opacity-0"}`),"aria-hidden":"true"},null,8,["class"]))],2),l.supportsNegativeFilter&&!l.excluded?(i(),k("div",{key:0,class:N(["w-px h-[1.75rem] bg-button-bg [@media(hover:hover)]:contents",{"opacity-0":l.included}])},null,2)):I("",!0),l.supportsNegativeFilter&&!l.excluded?ne((i(),k("button",{key:1,class:"flex border-none cursor-pointer items-center justify-center gap-2 rounded-xl bg-transparent px-2 py-1 text-sm font-semibold text-secondary [@media(hover:hover)]:opacity-0 transition-all hover:bg-button-bg hover:text-red focus-visible:bg-button-bg focus-visible:text-red active:scale-[0.96]",onClick:b[1]||(b[1]=()=>c("toggleExclude",l.option))},[h(e(ye),{class:"filter-action-icon h-4 w-4","aria-hidden":"true"})])),[[x,l.excluded?"Remove exclusion":"Exclude"]]):I("",!0)])}}}),es=Ue(Zt,[["__scopeId","data-v-19cffa22"]]),ts={class:"flex gap-1 flex-wrap"},ss={class:"flex flex-col gap-2 p-3 border-dashed border-2 rounded-2xl border-divider mx-2"},as={class:"m-0 font-bold items-center"},os={class:"m-0 text-secondary text-sm"},rs={key:0,class:"iconified-input mx-2 my-1 !flex"},ls=["id"],is=["innerHTML"],ns={class:"truncate text-sm"},ds={class:"truncate text-sm"},us={key:0,class:"mt-2 mx-1"},cs=ce({inheritAttrs:!1,__name:"SearchSidebarFilter",props:Ve({filterType:{},buttonClass:{},contentClass:{},innerPanelClass:{},openByDefault:{type:Boolean},providedFilters:{}},{selectedFilters:{required:!0},selectedFiltersModifiers:{},toggledGroups:{required:!0},toggledGroupsModifiers:{},overriddenProvidedFilterTypes:{required:!1,default:[]},overriddenProvidedFilterTypesModifiers:{}}),emits:["update:selectedFilters","update:toggledGroups","update:overriddenProvidedFilterTypes"],setup(g){const{formatMessage:p}=ge(),c=me(g,"selectedFilters"),l=me(g,"toggledGroups"),b=me(g,"overriddenProvidedFilterTypes"),x=g,$=R(""),V=R(!1),P=R(),B=D(()=>x.filterType.options.filter(s=>_.value?f(s,!1):Q(s))),j=D(()=>x.filterType.options.filter(s=>_.value?f(s,!0):W(s))),S=D(()=>x.filterType.options.filter(s=>z(s)||Q(s)||W(s)).slice().sort((s,y)=>{if(x.filterType.display==="expandable"){const o=x.filterType.default_values.includes(s.id),F=x.filterType.default_values.includes(y.id);if(o&&!F)return-1;if(!o&&F)return 1}return 0})),n=D(()=>x.providedFilters.some(s=>s.type===x.filterType.id)),_=D(()=>n.value&&!b.value.includes(x.filterType.id)),ee=D(()=>S.value.length>=10&&x.filterType.display==="scrollable");function v(s){return l.value.includes(s)}function K(s){l.value.includes(s)?l.value=l.value.filter(y=>y!==s):l.value.push(s)}function Q(s){return c.value.some(y=>y.option===s.id&&!y.negative)}function W(s){return c.value.some(y=>y.option===s.id&&y.negative)}function z(s){var F;const y=((F=s.formatted_name)==null?void 0:F.toLowerCase())??s.id.toLowerCase(),o=!$.value||y.includes($.value.toLowerCase());return x.filterType.display==="expandable"?o&&(V.value||x.filterType.default_values.includes(s.id)):s.toggle_group?l.value.includes(s.toggle_group)&&o:o}function f(s,y){return x.providedFilters.some(o=>o.type===x.filterType.id&&o.option===s.id&&!o.negative==!y)}function m(s){d(s,Q(s)||W(s)?"ignore":"include")}function t(s){d(s,W(s)?"ignore":"exclude")}function d(s,y){const o=c.value.filter(O=>O.option!==s.id),F={type:x.filterType.id,option:s.id};y==="include"?o.push({...F,negative:!1}):y==="exclude"&&o.push({...F,negative:!0}),c.value=o}function w(){c.value=c.value.filter(s=>s.type!==x.filterType.id)}const q=ct({unlockFilterButton:{id:"search.filter.locked.default.unlock",defaultMessage:"Unlock filter"},syncFilterButton:{id:"search.filter.locked.default.sync",defaultMessage:"Sync filter"},lockedTitle:{id:"search.filter.locked.default.title",defaultMessage:"{type} is locked"},lockedDescription:{id:"search.filter.locked.default.description",defaultMessage:"Unlocking this filter may allow you to install incompatible content."}});return(s,y)=>(i(),C(Lt,ut(s.$attrs,{ref_key:"accordion",ref:P,"button-class":s.buttonClass??"flex flex-col gap-2 justify-start items-start","content-class":s.contentClass,"title-wrapper-class":"flex flex-col gap-2 justify-start items-start","open-by-default":!_.value&&(s.openByDefault!==void 0?s.openByDefault:!0)}),Ee({title:T(()=>[ue(s.$slots,"header",{filter:s.filterType},()=>[u("h2",null,L(s.filterType.formatted_name),1)])]),_:2},[_.value||P.value&&!P.value.isOpen&&(B.value.length>0||j.value.length>0)?{name:"summary",fn:T(()=>[u("div",ts,[(i(!0),k(J,null,se(B.value,o=>(i(),k("div",{key:`selected-filter-${s.filterType.id}-${o}`,class:"flex gap-1 text-xs bg-button-bg px-2 py-0.5 rounded-full font-bold text-secondary w-fit shrink-0 items-center"},L(o.formatted_name??o.id),1))),128)),(i(!0),k(J,null,se(j.value,o=>(i(),k("div",{key:`excluded-filter-${s.filterType.id}-${o}`,class:"flex gap-1 text-xs bg-button-bg px-2 py-0.5 rounded-full font-bold text-secondary w-fit shrink-0 items-center"},[h(e(ye),{class:"text-brand-red"}),E(" "+L(o.formatted_name??o.id),1)]))),128))])]),key:"0"}:void 0,_.value?{name:"default",fn:T(()=>[u("div",ss,[u("p",as,[ue(s.$slots,`locked-${s.filterType.id}`,{},()=>[E(L(e(p)(e(q).lockedTitle,{type:s.filterType.formatted_name})),1)])]),u("p",os,L(e(p)(e(q).lockedDescription)),1),h(ie,null,{default:T(()=>[u("button",{class:"w-fit",onClick:y[0]||(y[0]=()=>{b.value.push(s.filterType.id)})},[h(e(lt)),E(" "+L(e(p)(e(q).unlockFilterButton)),1)])]),_:1})])]),key:"1"}:{name:"default",fn:T(()=>[s.filterType.searchable?(i(),k("div",rs,[h(e(Oe),{"aria-hidden":"true"}),ne(u("input",{id:`search-${s.filterType.id}`,"onUpdate:modelValue":y[1]||(y[1]=o=>$.value=o),class:"!min-h-9 text-sm",type:"text",placeholder:"Search...",autocomplete:"off"},null,8,ls),[[Ae,$.value]]),$.value?(i(),C(e(Ne),{key:0,class:"r-btn","aria-label":"Clear search",onClick:y[2]||(y[2]=()=>$.value="")},{default:T(()=>[h(e(ve),{"aria-hidden":"true"})]),_:1})):I("",!0)])):I("",!0),h(e(Bt),{class:N({"h-[16rem]":ee.value}),"disable-scrolling":!ee.value},{default:T(()=>[u("div",{class:N([s.innerPanelClass?s.innerPanelClass:"","flex flex-col gap-1"])},[(i(!0),k(J,null,se(S.value,o=>(i(),C(es,{key:`${s.filterType.id}-${o}`,option:o,included:Q(o),excluded:W(o),"supports-negative-filter":s.filterType.supports_negative_filter,class:N({"mr-3":ee.value}),onToggle:m,onToggleExclude:t},{default:T(()=>[ue(s.$slots,"option",{filter:s.filterType,option:o},()=>[typeof o.icon=="string"?(i(),k("div",{key:0,class:"h-4 w-4",innerHTML:o.icon},null,8,is)):o.icon?(i(),C(it(o.icon),{key:1,class:"h-4 w-4"})):I("",!0),u("span",ns,L(o.formatted_name??o.id),1)])]),_:2},1032,["option","included","excluded","supports-negative-filter","class"]))),128)),s.filterType.display==="expandable"?(i(),k("button",{key:0,class:"flex bg-transparent text-secondary border-none cursor-pointer !w-full items-center gap-2 truncate rounded-xl px-2 py-1 text-sm font-semibold transition-all hover:text-contrast focus-visible:text-contrast active:scale-[0.98]",onClick:y[3]||(y[3]=o=>V.value=!V.value)},[h(e(nt),{class:N(["h-4 w-4 transition-transform",{"rotate-180":V.value}])},null,8,["class"]),u("span",ds,L(V.value?"Show fewer":"Show more"),1)])):I("",!0)],2)]),_:3},8,["class","disable-scrolling"]),u("div",{class:N([s.innerPanelClass?s.innerPanelClass:"","empty:hidden"])},[(i(!0),k(J,null,se(s.filterType.toggle_groups,o=>(i(),C(e(Ge),{key:`toggle-group-${o.id}`,class:"mx-2","model-value":v(o.id),label:`${o.formatted_name}`,"onUpdate:modelValue":F=>K(o.id)},null,8,["model-value","label","onUpdate:modelValue"]))),128)),n.value?(i(),k("div",us,[h(ie,null,{default:T(()=>[u("button",{class:"w-fit",onClick:y[4]||(y[4]=()=>{var o;b.value=b.value.filter(F=>F!==s.filterType.id),(o=P.value)==null||o.close(),w()})},[h(e(dt)),ue(s.$slots,"sync-button",{},()=>[E(L(e(p)(e(q).syncFilterButton)),1)])])]),_:3})])):I("",!0)],2)]),key:"2"}]),1040,["button-class","content-class","open-by-default"]))}}),ps=g=>{const p=Object.create(null);for(const c in g){const l=g[c];l!==void 0&&(p[c]=l)}return p},fs=(g,p)=>(c,l)=>(pt(()=>g({...ps(c),...l.attrs},l)),()=>{var b,x;return p?(x=(b=l.slots).default)==null?void 0:x.call(b):null}),ms=ce({name:"Title",inheritAttrs:!1,setup:fs((g,{slots:p})=>{var c,l,b;return{title:((b=(l=(c=p.default)==null?void 0:c.call(p))==null?void 0:l[0])==null?void 0:b.children)||null}})}),vs=ce({name:"Head",inheritAttrs:!1,setup:(g,p)=>()=>{var c,l;return(l=(c=p.slots).default)==null?void 0:l.call(c)}}),ys={class:"normal-page__header mb-4 flex flex-col gap-4"},gs={class:"flex flex-wrap items-center justify-between gap-3 border-0 border-b border-solid border-divider pb-4"},hs={class:"flex items-center gap-2"},_s={class:"flex flex-col gap-2"},bs={class:"bold font-extrabold text-contrast"},ks={class:"flex items-center gap-2 font-semibold text-secondary"},xs={class:N({"normal-page__sidebar":!0}),"aria-label":"Filters"},ws={key:1,class:"fixed inset-0 z-40 bg-bg"},$s={key:0,class:"sticky top-0 z-10 mx-1 flex items-center justify-between gap-3 border-0 border-b-[1px] border-solid border-divider bg-bg-raised px-6 py-4"},Ts={key:1,class:"rounded-2xl bg-bg-raised"},Fs={class:"flex flex-row items-center justify-between gap-2 px-6"},Ms={key:2,class:"rounded-2xl bg-bg-raised p-4"},Ps={class:"m-0 text-lg"},js={class:"normal-page__content"},Ss={class:"flex flex-col gap-3"},Cs={class:"iconified-input w-full"},qs=["placeholder"],Is={class:"flex flex-wrap items-center gap-2"},Ls={class:"font-semibold text-secondary"},Bs={class:"font-semibold text-secondary"},Ds={class:"lg:hidden"},Vs=["aria-label"],Rs={key:1,class:"no-results"},Us={key:2,class:"search-results-container"},Es={key:0,disabled:"",class:"btn btn-outline btn-primary"},Os={key:1,disabled:"",class:"btn btn-outline btn-primary"},As=["onClick"],Ns={class:"pagination-after"},Gs={__name:"[searchProjectType]",async setup(g){let p,c;const{formatMessage:l}=ge(),b=R(!1),x=ft(),$=De(),V=mt(),P=vt(),B=yt(),j=Gt(),S=([p,c]=je(()=>kt()),p=await p,c(),p),n=R();function _(){const M=B.value.projectTypes.find(a=>a.id===$.path.replaceAll(/^\/|s\/?$/g,""));M&&(n.value=M)}_(),V.afterEach(()=>{_()});const ee=D(()=>[n.value.id]),v=R(),K=R(!1),Q=R(!1),W=["sid","shi"];[p,c]=je(()=>z()),await p,c(),Se($,()=>{z()});async function z(){$.query.sid&&(!v.value||v.value.serverId!==$.query.sid)&&(S.value.user?$.query.sid!==null&&(v.value=await Nt($.query.sid,["general","content"])):V.push("/auth/sign-in?redirect="+encodeURIComponent($.fullPath))),v.value&&v.value.serverId!==$.query.sid&&$.name.startsWith("search")&&(v.value=void 0),$.query.shi&&n.value.id!=="modpack"&&v.value&&(K.value=$.query.shi==="true")}const f=D(()=>{var a,U,G,X;const M=[];if(v.value&&n.value.id!=="modpack"){const fe=(a=v.value.general)==null?void 0:a.mc_version;fe&&M.push({type:"game_version",option:fe});const te=(G=(U=v.value.general)==null?void 0:U.loader)==null?void 0:G.toLowerCase();if(te&&["fabric","forge","quilt","neoforge"].includes(te)&&M.push({type:"mod_loader",option:te}),te&&["paper","purpur"].includes(te)&&M.push({type:"plugin_loader",option:te}),K.value){const H=(X=v.value.content)==null?void 0:X.data.filter(Y=>Y.project_id).map(Y=>Y.project_id);H==null||H.map(Y=>({type:"project_id",option:`project_id:${Y}`,negative:!0})).forEach(Y=>M.push(Y))}}return M}),m=R({list:[5,10,15,20,50,100],grid:[6,12,18,24,48,96],gallery:[6,10,16,20,50,100]}),t=D(()=>m.value[P.value.searchDisplayMode[n.value.id]]),{query:d,currentSortType:w,currentFilters:q,toggledGroups:s,maxResults:y,currentPage:o,overriddenProvidedFilterTypes:F,filters:O,sortTypes:de,requestParams:ze,createPageParams:He}=Qt(ee,B,f),pe=zt({gameVersionProvidedByServer:{id:"search.filter.locked.server-game-version.title",defaultMessage:"Game version is provided by the server"},modLoaderProvidedByServer:{id:"search.filter.locked.server-loader.title",defaultMessage:"Loader is provided by the server"},providedByServer:{id:"search.filter.locked.server",defaultMessage:"Provided by the server"},syncFilterButton:{id:"search.filter.locked.server.sync",defaultMessage:"Sync with server"}});async function Qe(M){M.installing=!0;try{const a=await jt(`project/${M.project_id}/version`,{},!1,!0),U=a.find(G=>G.game_versions.includes(v.value.general.mc_version)&&G.loaders.includes(v.value.general.loader.toLowerCase()))??a[0];n.value.id==="modpack"?(await v.value.general.reinstall(!1,M.project_id,U.id,void 0,Q.value),M.installed=!0,St(`/servers/manage/${v.value.serverId}/options/loader`)):n.value.id==="mod"?(await v.value.content.install("mod",U.project_id,U.id),await v.value.refresh(["content"]),M.installed=!0):n.value.id==="plugin"&&(await v.value.content.install("plugin",U.project_id,U.id),await v.value.refresh(["content"]),M.installed=!0)}catch(a){console.error(a)}M.installing=!1}const he=R(!1),{data:Je,refresh:Ke,pending:Xe}=Rt(()=>`${Ct().public.apiBaseUrl}search${ze.value}`,{transform:M=>(he.value=!1,M)},"$n0qPTPBFd7"),ae=gt(ht(Je)),we=D(()=>ae.value?Math.ceil(ae.value.total_hits/ae.value.limit):1);function $e(M="smooth"){window.scrollTo({top:0,behavior:M})}function oe(M){if(o.value=M||1,$e(),he.value=!0,d.value!==null){Ke();{const a={};for(const[G,X]of Object.entries($.query))W.includes(G)&&(a[G]=X);K.value?a.shi="true":delete a.shi;const U={...a,...He()};V.replace({path:$.path,query:U})}}}Se([q],()=>{oe(1)});function Ye(){P.value.searchDisplayMode[n.value.id]=x.$cycleValue(P.value.searchDisplayMode[n.value.id],B.value.projectViewModes),We()}function We(){const M=P.value.searchDisplayMode[n.value.id],a=m.value[M]??[20],U=y.value;a.includes(U)||(y.value=a.reduce(function(G,X){return Math.abs(X-U)<=Math.abs(G-U)?X:G}))}const Ze=D(()=>[{label:l(re.mod),href:"/mods"},{label:l(re.resourcepack),href:"/resourcepacks"},{label:l(re.datapack),href:"/datapacks"},{label:l(re.shader),href:"/shaders"},{label:l(re.modpack),href:"/modpacks"},{label:l(re.plugin),href:"/plugins"}]),et=D(()=>`Search ${n.value.display}s${d.value?" | "+d.value:""}`),Te=D(()=>`Search and browse thousands of Minecraft ${n.value.display}s on Modrinth with instant, accurate search results. Our filters help you quickly find the best Minecraft ${n.value.display}s.`);return Ht({description:Te,ogTitle:et,ogDescription:Te}),(M,a)=>{var _e;const U=ms,G=vs,X=Ce,fe=Ce,te=xe("tooltip");return i(),k("div",{class:N(["new-page sidebar experimental-styles-within",{"alt-layout":!e(P).rightSearchLayout}])},[h(G,null,{default:T(()=>[h(U,null,{default:T(()=>[E("Search "+L(e(n).display)+"s - Modrinth",1)]),_:1})]),_:1}),e(j).searchBackground?(i(),C(_t,{key:0,to:"#absolute-background-teleport"},[a[17]||(a[17]=u("div",{class:"search-background"},null,-1))])):I("",!0),u("section",ys,[e(v)?(i(),k(J,{key:0},[u("div",gs,[h(X,{to:`/servers/manage/${e(v).serverId}/content`,tabindex:"-1",class:"flex flex-col gap-4 text-primary"},{default:T(()=>[u("span",hs,[h(e(qt),{src:e(v).general.is_medal?"https://cdn-raw.modrinth.com/medal_icon.webp":e(v).general.image,size:"48px"},null,8,["src"]),u("span",_s,[u("span",bs,L(e(v).general.name),1),u("span",ks,[h(e(xt),{class:"h-5 w-5 text-secondary"}),E(" "+L(e(v).general.loader)+" "+L(e(v).general.mc_version),1)])])])]),_:1},8,["to"]),h(e(ie),null,{default:T(()=>[h(X,{to:`/servers/manage/${e(v).serverId}/content`},{default:T(()=>[h(e(wt)),a[18]||(a[18]=E(" Back to server "))]),_:1},8,["to"])]),_:1})]),a[19]||(a[19]=u("h1",{class:"m-0 text-xl font-extrabold leading-none text-contrast"}," Install content to server ",-1))],64)):I("",!0),!e(v)&&!e(j).projectTypesPrimaryNav?(i(),C(Ot,{key:1,links:Ze.value,class:"hidden md:flex"},null,8,["links"])):I("",!0)]),u("aside",xs,[!e(S).user&&!e(v)?(i(),C(Et,{key:0})):I("",!0),e(b)?(i(),k("div",ws)):I("",!0),u("div",{class:N(["flex flex-col gap-3",{"fixed inset-0 z-50 m-4 mb-0 overflow-auto rounded-t-3xl bg-bg-raised":e(b)}])},[e(b)?(i(),k("div",$s,[a[20]||(a[20]=u("h3",{class:"m-0 text-lg text-contrast"},"Filters",-1)),h(e(ie),{circular:""},{default:T(()=>[u("button",{onClick:a[0]||(a[0]=()=>{b.value=!1,$e("instant")})},[h(e(ve))])]),_:1})])):I("",!0),e(v)&&e(n).id==="modpack"?(i(),k("div",Ts,[a[22]||(a[22]=u("div",{class:"flex flex-row items-center gap-2 px-6 py-4 text-contrast"},[u("h3",{class:"m-0 text-lg"},"Options")],-1)),u("div",Fs,[a[21]||(a[21]=u("label",{for:"erase-data-on-install"}," Erase all data on install ",-1)),ne(u("input",{id:"erase-data-on-install","onUpdate:modelValue":a[1]||(a[1]=r=>Z(Q)?Q.value=r:null),label:"Erase all data on install",class:"switch stylized-toggle flex-none",type:"checkbox"},null,512),[[bt,e(Q)]])]),a[23]||(a[23]=u("div",{class:"px-6 py-4 text-sm"}," If enabled, existing mods, worlds, and configurations, will be deleted before installing the selected modpack. ",-1))])):I("",!0),e(v)&&e(n).id!=="modpack"?(i(),k("div",Ms,[h(e(Ge),{modelValue:e(K),"onUpdate:modelValue":[a[2]||(a[2]=r=>Z(K)?K.value=r:null),a[3]||(a[3]=r=>oe())],label:"Hide installed content",class:"filter-checkbox"},null,8,["modelValue"])])):I("",!0),(i(!0),k(J,null,se(e(O).filter(r=>r.display!=="none"),r=>(i(),C(e(cs),{key:`filter-${r.id}`,"selected-filters":e(q),"onUpdate:selectedFilters":a[4]||(a[4]=H=>Z(q)?q.value=H:null),"toggled-groups":e(s),"onUpdate:toggledGroups":a[5]||(a[5]=H=>Z(s)?s.value=H:null),"overridden-provided-filter-types":e(F),"onUpdate:overriddenProvidedFilterTypes":a[6]||(a[6]=H=>Z(F)?F.value=H:null),"provided-filters":f.value,"filter-type":r,class:N(e(b)?"border-0 border-b-[1px] border-solid border-divider last:border-b-0":"rounded-2xl bg-bg-raised"),"button-class":"button-animation flex flex-col gap-1 px-6 py-4 w-full bg-transparent cursor-pointer border-none","content-class":"mb-4 mx-3","inner-panel-class":"p-1","open-by-default":!0},{header:T(()=>[u("h3",Ps,L(r.formatted_name),1)]),"locked-game_version":T(()=>[E(L(e(l)(e(pe).gameVersionProvidedByServer)),1)]),"locked-mod_loader":T(()=>[E(L(e(l)(e(pe).modLoaderProvidedByServer)),1)]),"sync-button":T(()=>[E(L(e(l)(e(pe).syncFilterButton)),1)]),_:2},1032,["selected-filters","toggled-groups","overridden-provided-filter-types","provided-filters","filter-type","class"]))),128))],2)]),u("section",js,[u("div",Ss,[u("div",Cs,[h(e(Oe),{"aria-hidden":"true",class:"text-lg"}),ne(u("input",{"onUpdate:modelValue":a[7]||(a[7]=r=>Z(d)?d.value=r:null),class:"h-12",autocomplete:"off",spellcheck:"false",type:"text",placeholder:`Search ${e(n).display}s...`,onInput:a[8]||(a[8]=r=>oe())},null,40,qs),[[Ae,e(d)]]),e(d)?(i(),C(e(Ne),{key:0,class:"r-btn",onClick:a[9]||(a[9]=()=>d.value="")},{default:T(()=>[h(e(ve))]),_:1})):I("",!0)]),u("div",Is,[h(e(qe),{modelValue:e(w),"onUpdate:modelValue":a[10]||(a[10]=r=>Z(w)?w.value=r:null),class:"!w-auto flex-grow md:flex-grow-0",name:"Sort by",options:e(de),"display-name":r=>r==null?void 0:r.display,onChange:a[11]||(a[11]=r=>oe())},{default:T(({selected:r})=>[a[24]||(a[24]=u("span",{class:"font-semibold text-primary"},"Sort by: ",-1)),u("span",Ls,L(r),1)]),_:1},8,["modelValue","options","display-name"]),h(e(qe),{modelValue:e(y),"onUpdate:modelValue":a[12]||(a[12]=r=>Z(y)?y.value=r:null),name:"Max results",options:t.value,"default-value":e(y),"model-value":e(y),class:"!w-auto flex-grow md:flex-grow-0",onChange:a[13]||(a[13]=r=>oe())},{default:T(({selected:r})=>[a[25]||(a[25]=u("span",{class:"font-semibold text-primary"},"View: ",-1)),u("span",Bs,L(r),1)]),_:1},8,["modelValue","options","default-value","model-value"]),u("div",Ds,[h(e(ie),null,{default:T(()=>[u("button",{onClick:a[14]||(a[14]=r=>b.value=!0)},[h(e($t)),a[26]||(a[26]=E(" Filter results... "))])]),_:1})]),h(e(ie),{circular:""},{default:T(()=>[ne((i(),k("button",{"aria-label":M.$capitalizeString(e(P).searchDisplayMode[e(n).id])+" view",onClick:a[15]||(a[15]=r=>Ye())},[e(P).searchDisplayMode[e(n).id]==="grid"?(i(),C(e(Tt),{key:0})):e(P).searchDisplayMode[e(n).id]==="gallery"?(i(),C(e(Ft),{key:1})):(i(),C(e(Mt),{key:2}))],8,Vs)),[[te,M.$capitalizeString(e(P).searchDisplayMode[e(n).id])+" view"]])]),_:1}),h(e(Ie),{page:e(o),count:we.value,class:"mx-auto sm:ml-auto sm:mr-0",onSwitchPage:oe},null,8,["page","count"])]),h(e(Yt),{"selected-filters":e(q),"onUpdate:selectedFilters":a[16]||(a[16]=r=>Z(q)?q.value=r:null),filters:e(O).filter(r=>r.display!=="none"),"provided-filters":f.value,"overridden-provided-filter-types":e(F),"provided-message":e(pe).providedByServer},null,8,["selected-filters","filters","provided-filters","overridden-provided-filter-types","provided-message"]),e(Xe)&&!e(he)?(i(),C(Ut,{key:0})):e(ae)&&e(ae).hits&&e(ae).hits.length===0?(i(),k("div",Rs,a[27]||(a[27]=[u("p",null,"No results found for your query!",-1)]))):(i(),k("div",Us,[u("div",{id:"search-results",class:N(["project-list","display-mode--"+e(P).searchDisplayMode[e(n).id]]),role:"list","aria-label":"Search results"},[(i(!0),k(J,null,se((_e=e(ae))==null?void 0:_e.hits,r=>(i(),k(J,{key:r.project_id},[e(j).oldProjectCards?(i(),C(At,{key:0,id:r.slug?r.slug:r.project_id,display:e(P).searchDisplayMode[e(n).id],"featured-image":r.featured_gallery?r.featured_gallery:r.gallery[0],type:r.project_type,author:r.author,name:r.title,description:r.description,"created-at":r.date_created,"updated-at":r.date_modified,downloads:r.downloads.toString(),follows:r.follows.toString(),"icon-url":r.icon_url,"client-side":r.client_side,"server-side":r.server_side,categories:r.display_categories,search:!0,"show-updated-date":!e(v)&&e(w).name!=="newest","show-created-date":!e(v),"hide-loaders":["resourcepack","datapack"].includes(e(n).id),color:r.color},{default:T(()=>{var H,Y,Fe,Me;return[e(v)?(i(),k(J,{key:0},[r.installed||(Y=(H=e(v))==null?void 0:H.content)!=null&&Y.data&&e(v).content.data.find(Pe=>Pe.project_id===r.project_id)||((Me=(Fe=e(v).general)==null?void 0:Fe.project)==null?void 0:Me.id)===r.project_id?(i(),k("button",Es,[h(e(Re)),a[28]||(a[28]=E(" Installed "))])):r.installing?(i(),k("button",Os," Installing... ")):(i(),k("button",{key:2,class:"btn btn-outline btn-primary",onClick:Pe=>Qe(r)},[h(e(Pt)),a[29]||(a[29]=E(" Install "))],8,As))],64)):I("",!0)]}),_:2},1032,["id","display","featured-image","type","author","name","description","created-at","updated-at","downloads","follows","icon-url","client-side","server-side","categories","show-updated-date","show-created-date","hide-loaders","color"])):I("",!0),e(j).newProjectCards?(i(),C(fe,{key:1,to:`/${e(n).id}/${r.slug?r.slug:r.project_id}`},{default:T(()=>[h(e(It),{project:r,categories:r.display_categories},Ee({_:2},[void 0]),1032,["project","categories"])]),_:2},1032,["to"])):I("",!0)],64))),128))],2)])),u("div",Ns,[h(e(Ie),{page:e(o),count:we.value,class:"justify-end",onSwitchPage:oe},null,8,["page","count"])])])])],2)}}},ga=Ue(Gs,[["__scopeId","data-v-6397dfb4"]]);export{ga as default};