PageSourceSearch

https://macosicons.com/_nuxt/CSoA0wf0.js

js macosicons.com collected 2026-10-04 00:27:30 UTC 49,801 bytes, 2 lines download raw bytes

1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./AxILhFd6.js","./BNWMsBwf.js","./CyU4sjus.js","./Dxi30lUR.js","./DOmrB8M6.js","./BsygFA5q.js","./mae8fuSy.js","./WA1QM884.js","./DeFb3Kdw.js","./CYuiUEJU.js","./Nl_ojO17.js","./CNySwjlF.js","./Q7w0U3k9.js","./UQsPw9wn.js","./BcsTi7fm.js","./C5Z5ZGKk.js","./1-o_v2xm.js","./Le2vsdAR.js","./T7Kr6sqh.js","./Cz3xdBrx.js","./DXLa04CY.js","./BuuqxS5P.js","./CNOmfYMf.js","./B1_NeWbR.js","./DHJcRVlE.js","./DSdhTlLm.js","./Wg8hvaKJ.js","./B-BjsAs0.js","./BaJACmq1.js","./DyPjSGhH.js","./Con8gJgh.js","./BxA1TdjY.js","./KsEOCrV5.js","./CVdbJ_kU.js","./DMBY-i8G.js","./CF6ypiH2.js","./BhKwiUAG.js","./B2FW9-OW.js","./CY47Lqao.js","./DblbQjVR.js","./B5cqW8HL.js","./AppLogo.DKaEb2mg.css","./B7NckJ8C.js","./BmDAMQyc.js","./WPZV1zS1.js","./CBmA1iE8.js","./CtEwaiIP.js","./CanTIfpD.js","./BiLaqDCa.js","./B0LdG-NH.js","./D52DD0JZ.js","./wxupSb4P.js","./B8GWB0pY.js","./BxK7Vo76.js","./B0Z-3UdF.js","./CUoHcVCh.js","./6Dqi-YEP.js","./Cpr7ZMs0.js","./CKTqxHxo.js","./ClGlr_h6.js","./BMJyLNvL.js","./BpOOZ2kl.js","./COGSB84w.js","./FLMXV913.js","./BDP0rlbl.js","./CGsHs74S.js","./DUNtkxPL.js","./entry.DXGGGqyu.css","./CMH9FKef.js","./B38K8e-D.js","./C5o5iY8a.js","./OuDtGA0y.js","./DdXP-LsW.js","./CBoqeiuS.js","./Btw6Wu2u.js","./CFybJSxS.js","./BNYsMNIr.js","./DgZ94Qfj.js","./CjyjjxBP.js","./IgF1_z09.js","./Dq9WwEGM.js","./DCOcsJ_h.js","./tPWLolrd.js","./DT5YmV6P.js","./CGWx7CpK.js","./DQXoOgDv.js","./B9jsIwx1.js","./CEygVIdA.js","./InspectorColorField.gAERys4v.css","./h-w27IUD.js","./fYps70pT.js","./4kQ_t1wM.js","./G0kRSx7c.js","./DEHLo71o.js","./ClnDajn2.js","./CZvHRLuO.js","./IconCard.CqWm8c2y.css","./bXsvuPeD.js","./DhjEZXvg.js","./BsaSticky.y4pJhFkC.css","./DAt9Pagn.js","./DRslS7OQ.js","./BPAUp68h.js","./IconModal.CFmyo8Ow.css","./D76vqOX-.js","./BwGw1sDP.js"])))=>i.map(i=>d[i]);
2(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`a3de6139-6b33-41ea-9b78-9dfa677347fe`,e._sentryDebugIdIdentifier=`sentry-dbid-a3de6139-6b33-41ea-9b78-9dfa677347fe`)}catch{}})();import{d as e,p as t}from"./BNWMsBwf.js";import{B as n,C as r,St as i,m as a,wt as o,x as s,yt as c}from"./CyU4sjus.js";import{D as l,E as u,Ht as d,Kt as f,O as p,Ut as m,Yt as h,_ as g,b as _,bt as v,ct as y,g as b,it as x,k as S,mt as C,o as w,qt as T,tt as E,v as D,w as O,y as k}from"./Dxi30lUR.js";import{J as A,_t as j,gt as M,ht as N,mt as P}from"./BsygFA5q.js";import{t as F}from"./mae8fuSy.js";import{n as I,r as L}from"./CVdbJ_kU.js";import{t as R}from"./CYuiUEJU.js";import{t as z}from"./WA1QM884.js";import{t as B}from"./C5Z5ZGKk.js";import{a as V}from"./1-o_v2xm.js";import{a as H,t as U}from"./DSdhTlLm.js";import{n as ee}from"./CF6ypiH2.js";import{n as W}from"./B2FW9-OW.js";import{n as te}from"./DeFb3Kdw.js";import{a as G}from"./BcsTi7fm.js";import{t as ne}from"./Nl_ojO17.js";import{F as re,O as K}from"./DXLa04CY.js";import{C as ie,d as ae,l as oe,m as se,o as ce,v as le}from"./Cz3xdBrx.js";import{t as q}from"./B5cqW8HL.js";import{t as J}from"./BuuqxS5P.js";import{r as Y,t as ue}from"./OuDtGA0y.js";import{i as de}from"./B-BjsAs0.js";import{t as fe}from"./CNOmfYMf.js";import{t as X}from"./IgF1_z09.js";import{t as pe}from"./Wg8hvaKJ.js";import{t as me}from"./FLMXV913.js";import{t as he}from"./BaJACmq1.js";import{i as Z,l as ge,m as _e,o as ve,p as ye,r as be}from"#entry";import{t as xe}from"./CMH9FKef.js";import{t as Se}from"./CZvHRLuO.js";import{o as Ce}from"./DG7gifXW.js";import{t as Q}from"./DmK1-r8J.js";import{t as we}from"./B38K8e-D.js";import{n as Te,t as Ee}from"./C5o5iY8a.js";import{t as De}from"./CFybJSxS.js";import{t as Oe}from"./ClnDajn2.js";import{a as ke,i as Ae,n as je,o as Me}from"./DhjEZXvg.js";import{t as Ne}from"./bXsvuPeD.js";import{r as Pe,t as Fe}from"./BPAUp68h.js";import{n as Ie}from"./DypoHBpA.js";import{t as Le}from"./fFOud0zM.js";import{t as Re}from"./kdFW6LlG.js";import{r as ze,t as Be}from"./CDzWxnM9.js";var Ve={class:`hero-wrapper`},He={class:`hero-title text-center md:text-left`},Ue={class:`text-center text-lg opacity-80`},We={class:`flex flex-row items-center gap-4 pt-2`},Ge=Object.assign(S({__name:`Hero`,setup(e){let t=ge(),{isAuthenticated:r}=ne(),{searchResults:i,isSearchLoading:a,isLoadingMore:s,showAuthModal:c}=V(t);return(e,t)=>{let s=q,d=z,f=pe,p=fe,m=de;return C(),_(`div`,Ve,[l(s,{class:`drop-shadow-md mb-2`,size:48,"track-screen":``,sa
2d:n(i)?.length==0&&!n(a)},null,8,[`sad`]),g(`h1`,He,o(e.$t(`auto.components.Hero.macos_app_icons`)),1),g(`p`,Ue,[u(o(e.$t(`auto.components.Hero.download_free_icon_templates_from_the`))+` `,1),l(d,{class:`link pb-0.5 -mb-0.5`,to:`/resources`},{default:T(()=>[u(o(e.$t(`auto.components.Hero.resources_page`)),1)]),_:1})]),g(`div`,We,[n(r)?k(``,!0):(C(),D(f,{key:0,class:`rounded-full`,variant:`soft`,label:e.$t(`auto.components.AuthModal.sign_in_up`),onClick:t[0]||=e=>c.value=!0},null,8,[`label`])),l(f,{class:`rounded-full`,target:`_blank`,href:`https://buymeacoffee.com/elrumo`},{default:T(()=>[l(p,{name:`lucide:coffee`}),u(` `+o(e.$t(`auto.components.Hero.buy_me_a_coffee`)),1)]),_:1}),l(f,{class:`rounded-full`,variant:`soft`,to:`/editor`},{default:T(()=>[l(m,{color:`primary`,size:`xl`,position:`top-right`},{default:T(()=>[u(o(e.$t(`auto.components.Hero.try_editor`)),1)]),_:1})]),_:1})])])}}}),{__name:`Hero`}),Ke=`all`,qe=Object.assign(S({__name:`SearchFilters`,setup(e){[...Ie];let t=ge(),{isAuthenticated:r}=ne(),i=te(),{categories:o,categorySelected:s,iconTypeSelected:u,showFavorites:d,showPopular:f,showAuthModal:p,isMobile:m}=V(t);b({get:()=>u.value||Ke,set:e=>{u.value=e===Ke?``:e}});function h(){if(!r.value){i.add({title:`Log in to save your favourite icons`}),p.value=!0;return}d.value=!d.value,f.value=!1}let g={Entertainment:`i-heroicons-film`,"Graphics & Design":`i-heroicons-paint-brush`,Medical:`i-heroicons-heart`,Utilities:`i-heroicons-wrench-screwdriver`,Lifestyle:`i-heroicons-home`,News:`i-heroicons-newspaper`,Music:`i-heroicons-musical-note`,Education:`i-heroicons-academic-cap`,"Developer Tools":`i-heroicons-command-line`,"Health & Fitness":`i-heroicons-heart`,Finance:`i-heroicons-banknotes`,"Photo & Video":`i-heroicons-camera`,Travel:`i-heroicons-globe-alt`,Reference:`i-heroicons-book-open`,Weather:`i-heroicons-sun`,Games:`i-heroicons-puzzle-piece`,Productivity:`i-heroicons-briefcase`,"Social Networking":`i-heroicons-users`,"Browser Extensions":`i-heroicons-cube`,Sports:`i-heroicons-trophy`,All:`i-heroicons-squares-2x2`},v=b(()=>[{label:`All`,icon:g.All,value:` `},...(Array.isArray(o.value)?o.value:[]).map(e=>({label:e.CategoryName,icon:g[e.CategoryName]||`i-heroicons-tag`,value:e.objectId})).filter(e=>e.label!==`All`)]);return(e,t)=>{let r=pe,i=X,o=ue;return C(),_(`div`,{class:c([`flex flex-row gap-2`,{"ml-1":!n(m),"p-3 min-w-[300px]":n(m)}])},[l(i,{text:`Your favourite icons`,"delay-duration":300},{default:T(()=>[l(r,{variant:`glass`,color:n(d)?`error`:`neutral`,size:`md`,icon:n(d)?`heroicons:heart-solid`:`heroicons:heart`,square:``,class:c([`h-fit rounded-full shadow-md transition-all`,{"ring-1 bg-red-500/70 dark:bg-red-500/60 ring-red-600/20 backdrop-blur-md text-red-200 shadow-lg":n(d),"bg-default/65":!n(f)}]),onClick:h},null,8,[`color`,`icon`,`class`])]),_:1}),l(i,{text:`Popular icons`,"delay-duration":300},{default:T(()=>[l(r,{variant:`glass`,color:n(f)?`primary`:`neutral`,size:`md`,icon:`heroicons:fire`,square:``,class:c([`h-fit rounded-full shadow-md transition-all`,{"ring-primary-600/10 backdrop-blur-md shadow-lg":n(f),"bg-default/65":!n(f)}]),onClick:t[0]||=e=>{f.value=!n(f),d.value=!1}},null,8,[`color`,`class`])]),_:1}),l(o,{modelValue:n(s),"onUpdate:modelValue":t[1]||=e=>a(s)?s.value=e:null,items:v.value,class:`w-full`,variant:`glass`},null,8,[`modelValue`,`items`])],2)}}}),{__name:`SearchFilters`});function Je(e){return Array.isArray(e)?typeof e[0]==`string`?e[0].trim():``:typeof e==`string`?e.trim():``}function Ye(e){try{return decodeURIComponent(e).trim()}catch{return e.trim()}}function Xe(e,t=``,n=[]){let r=Je(e.query?.query);if(r)return r;let i=Ye((e.hash||``).replace(/^#\//,``));if(i)return i;let a=e.path||``,o=new Set([t,...n].map(e=>String(e||``).trim()).filter(Boolean));for(let e of o){let t=`/${e}`;if(a===t||a.startsWith(`${t}/`)){a=a.slice(t.length);break}}return a===`/apps`?``:Ye(a.replace(/^\//,``))}function Ze(){return R(`home-view-mode`,()=>`icons`)}var Qe={class:`sticky top-20 flex items-center justify-center gap-1.5 sm:gap-2 w-full mx-auto z-10 px-3 sm:px-0 transition-all`},$={class:`search-warpper glass max-w-xs transition-all`},$e=760,et=Object.assign(S({__name:`SearchBar`,setup(e){let i=t(),{t:o,locale:s,locales:u}=W(),f=ge(),p=Ze(),{querySearchIcons:m}=f,{isSearchLoading:h,totalDocuments:v,categorySelected:x,iconTypeSelected:S,showFavorites:w,showPopular:E,isMobile:A,searchQuery:j,semanticSearch:M}=V(f),N=R(`apps-total`,()=>null),P=b(()=>p.value===`apps`?N.value?o(`auto.components.SearchBar.search_apps`,{count:N.value.toLocaleStr
2ing(s.value)}):o(`auto.components.SearchBar.search_apps_no_count`):o(`auto.components.SearchBar.search_icons`,{count:v.value}));y(async()=>{if(N.value===null)try{let{total:e}=await F(`/api/apps`,{query:{count:1}});N.value=e}catch(e){console.error(`[SearchBar] Failed to load apps total:`,e)}});function I(){A.value=window.innerWidth<=$e}y(I),ae(`resize`,I);let L=b(()=>u.value.map(e=>e.code)),z=b(()=>Xe(i,s.value,L.value)),B=r(z.value);d(z,e=>{e!==B.value&&(B.value=e)}),d(B,e=>{j.value=e,te(`query`,e),p.value!==`apps`&&(H(),ee())});let H=K(()=>{h.value=!0},100),U=z.value,ee=K(async()=>{if(p.value!==`apps`){U=B.value;try{await m(B.value,{showFavorites:w.value,showPopular:E.value,category:x.value.value},!1)}catch(e){console.log(`[debouncedSearch] error: `,e)}finally{h.value=!1}}},300),te=K((e,t)=>{let n=new URLSearchParams(window.location.search);if(n.set(e,t),console.log(`[setQueryParam] searchParams: `,n.toString()),!t&&(n.delete(e),n.toString()===``)){window.history.replaceState({},``,window.location.pathname);return}window.history.replaceState({},``,`${window.location.pathname}?${n.toString()}`)},300);return d(p,e=>{e===`icons`&&B.value!==U&&ee()}),d(()=>[w.value,E.value,x.value,S.value,M.value],async(e,t)=>{if(p.value!==`apps`&&(!e.slice(0,4).every((e,n)=>e===t[n])||B.value?.trim()))try{await m(B.value,{showFavorites:w.value,showPopular:E.value,category:x.value.value},!0)}catch(e){console.log(`[watch] error: `,e)}}),(e,t)=>{let r=pe,i=me,o=X,s=qe,u=we;return C(),_(`div`,Qe,[g(`div`,$,[l(i,{modelValue:n(B),"onUpdate:modelValue":t[1]||=e=>a(B)?B.value=e:null,"data-testid":`icon-search-input`,icon:`heroicons:magnifying-glass-16-solid`,variant:`none`,class:`w-full min-w-0 transition-all`,placeholder:P.value,loading:n(h)},O({_:2},[n(B)?.length?{name:`trailing`,fn:T(()=>[l(r,{color:`neutral`,variant:`link`,size:`sm`,icon:`i-lucide-x`,class:`opacity-50 hover:opacity-100`,"aria-label":e.$t(`auto.components.SearchBar.clear_input`),onClick:t[0]||=e=>B.value=``},null,8,[`aria-label`])]),key:`0`}:void 0]),1032,[`modelValue`,`placeholder`,`loading`]),l(o,{text:e.$t(`auto.components.SearchBar.natural_language`),"delay-duration":0},{default:T(()=>[l(r,{variant:`glass`,color:n(M)?`primary`:`neutral`,size:`sm`,square:``,icon:`heroicons:sparkles-16-solid`,class:c([`shrink-0 self-center mr-1.5 opacity-70 hover:opacity-100 rounded-full`,{"opacity-100":n(M)}]),"aria-pressed":n(M),"aria-label":e.$t(`auto.components.SearchBar.natural_language`),onClick:t[2]||=e=>M.value=!n(M)},null,8,[`color`,`class`,`aria-pressed`,`aria-label`])]),_:1},8,[`text`])]),n(A)?(C(),D(u,{key:0,content:{align:`end`,side:`bottom`,sideOffset:8},arrow:``},{content:T(()=>[l(s)]),default:T(()=>[l(r,{variant:`glass`,color:`neutral`,size:`md`,icon:`heroicons:adjustments-horizontal`,class:`rounded-full shadow-lg hover:shadow-lg hover:-translate-y-0.5 ml-1`})]),_:1})):k(``,!0),n(A)?k(``,!0):(C(),D(s,{key:1}))])}}}),{__name:`SearchBar`}),tt=Object.assign(S({__name:`ViewModeToggle`,setup(e){let t=Ze(),r=ee(),i=[{value:`icons`,label:`Icons`,icon:`heroicons:squares-2x2`},{value:`apps`,label:`Apps`,icon:`heroicons:rectangle-group`}];function a(e){if(e!==`icons`&&e!==`apps`||t.value===e)return;t.value=e;let n=r(e===`apps`?`/apps`:`/`);window.history.replaceState(window.history.state,``,`${n}${window.location.search}`)}return(e,r)=>{let o=be;return C(),D(o,{"model-value":n(t),items:i,content:!1,size:`sm`,class:`fixed bottom-8 left-1/2 z-10 -translate-x-1/2`,"aria-label":`Browse mode`,ui:{list:`w-auto gap-0.5 rounded-full bg-default/65 p-1 shadow-md ring ring-default/70 backdrop-blur-md`,indicator:`rounded-full shadow-sm`,trigger:`cursor-pointer rounded-full px-3.5 text-sm`},"onUpdate:modelValue":a},null,8,[`model-value`])}}}),{__name:`ViewModeToggle`}),nt=[`id`],rt=[`innerHTML`],it=[`innerHTML`],at=`CWYD65Q7`,ot=Object.assign(S({__name:`BsaIconListAd`,props:{mode:{},ssrFallback:{type:Boolean,default:!1}},async setup(e){let t,i,a=e,{targetId:o,renderedHtml:s,adData:l,adsAllowed:u,mode:p,setAdViewEl:m}=([t,i]=f(()=>Ae({zoneKey:`CWYD65Q7`,template:je,mode:a.mode,instanceKey:`iconlist`})),t=await t,i(),t),h=je.replace(/##link##/g,`https://webbites.io?utm_source=macOSicons&utm_medium=iconlist&utm_campaign=macOSicons`).replace(/##statlink##/g,`https://webbites.io?utm_source=macOSicons&utm_medium=iconlist&utm_campaign=macOSicons`).replace(/##image##/g,`/images/webbites-logo-medium.webp`).replace(/##logo##/g,``).replace(/##company##/g,`WebBites`).replace(/##tagline##/g,`AI powered bookmarks`).replace(/##description##/g,`AI powered bookmarks`).replace(/##callToAction##/g,`Start now`).replace(/##backgroundColor##/g,`transparent`).replace(/##textColor##/g,``).replace(/##ctaBackgroun
2dColor##/g,``).replace(/##ctaTextColor##/g,``);function v(e){if(e.target.closest(`a`)){let e=j.value?`webbites`:at;M(`adClick`,{props:{zone:e,rendered:p}}),M(`adLoaded`,{props:{zone:e,rendered:p}})}}let S=r(!1),w=r(!1),O=b(()=>!S.value&&!s.value),A=b(()=>S.value||!!s.value||O.value||!!o&&!w.value),j=b(()=>O.value||(l.value?.isWebBites??!1)),M=Me(),N=r(null);r(null);let P=r(!1),F=[];function I(){for(;F.length;)F.pop()?.()}function L(e,t){if(P.value){e.style.transform=`none`,e.style.transition=`none`;return}e.style.transform=`perspective(700px) rotateX(${t.rotateX}deg) rotateY(${t.rotateY}deg) translate3d(${t.shiftX}px, ${t.shiftY}px, 0px) scale(${t.scale})`,e.style.transition=t.isTracking?`transform 90ms linear`:`transform 320ms cubic-bezier(0.22, 1, 0.36, 1)`}function R(e){e.classList.add(`bsa-motion-image`);let t={rotateX:0,rotateY:0,shiftX:0,shiftY:0,scale:1,isTracking:!1},n=()=>{t.isTracking=!1,t.rotateX=0,t.rotateY=0,t.shiftX=0,t.shiftY=0,t.scale=1,L(e,t)},r=()=>{P.value||(t.isTracking=!1,t.scale=1.04,L(e,t))},i=n=>{if(P.value)return;let{left:r,top:i,width:a,height:o}=e.getBoundingClientRect();if(!a||!o)return;let s=(n.clientX-r)/a-.5,c=(n.clientY-i)/o-.5;t.isTracking=!0,t.rotateX=Number((-c*10).toFixed(2)),t.rotateY=Number((s*10).toFixed(2)),t.shiftX=Number((s*6).toFixed(2)),t.shiftY=Number((c*6).toFixed(2)),t.scale=1.08,L(e,t)},a=()=>{n()};e.addEventListener(`mouseenter`,r),e.addEventListener(`mousemove`,i),e.addEventListener(`mouseleave`,a),L(e,t),F.push(()=>{e.removeEventListener(`mouseenter`,r),e.removeEventListener(`mousemove`,i),e.removeEventListener(`mouseleave`,a),e.classList.remove(`bsa-motion-image`),e.style.transform=``,e.style.transition=``})}async function z(){I(),await E();let e=N.value;e&&e.querySelectorAll(`img`).forEach(e=>{R(e)})}return y(async()=>{if(typeof window<`u`&&(P.value=window.matchMedia(`(prefers-reduced-motion: reduce)`).matches),await z(),!o){let e=!1,t=null;t=d(s,n=>{e||!n||l.value?.isWebBites||(e=!0,t?.(),M(`adLoaded`,{props:{zone:at,rendered:`server`}}))},{immediate:!0});return}let e=!1,t=null;t=d(u,async n=>{if(!n||e)return;e=!0,t?.(),await E();let r=document.getElementById(o);if(!r)return;let i=new MutationObserver(()=>{r.children.length>0&&(i.disconnect(),S.value=!0,w.value=!1,z(),M(`adLoaded`,{props:{zone:at,rendered:`client`}}))});i.observe(r,{childList:!0}),setTimeout(()=>{i.disconnect(),S.value||(w.value=!0,M(`adUnfilled`,{props:{zone:at,rendered:`client`}}))},1e4)},{immediate:!0})}),d(()=>s.value,async()=>{await z()}),x(()=>{I()}),(e,t)=>{let r=H;return n(u)&&n(A)?(C(),_(`div`,{key:0,ref_key:`adContainerEl`,ref:N,class:c([`icon-card relative`,{isWebBites:n(j)}]),onClickCapture:v},[n(o)?(C(),D(r,{key:0},{default:T(()=>[g(`div`,{id:n(o)},null,8,nt)]),_:1})):k(``,!0),n(O)?(C(),_(`div`,{key:1,innerHTML:n(h)},null,8,rt)):k(``,!0),!n(o)&&n(s)?(C(),_(`div`,{key:2,innerHTML:n(s),ref:n(m)},null,8,it)):k(``,!0)],34)):k(``,!0)}}}),{__name:`AdsBsaIconListAd`}),st={class:`w-full relative`},ct={key:0,ref:`iconGridRef`,class:`animate-fade-up w-full grid grid-cols-[repeat(auto-fill,minmax(128px,1fr))] gap-x-4 gap-y-4 pt-4 pb-8 px-8 relative`},lt=[`data-icon-id`,`onMouseenter`,`onPointerdown`,`onClick`],ut={key:1,"data-testid":`icon-search-empty`,class:`animate-fade-up col-span-full text-center mt-16`},dt={class:`w-20 mx-auto mb-2 flex items-center justify-center`},ft={class:`text-2xl text-neutral-500`},pt=58,mt=Object.assign(J(S({__name:`IconGrid`,emits:[`icon-click`],setup(e,{emit:t}){let i=t,a=ge(),{searchResults:s,isSearchLoading:c,isLoadingMore:u,categories:f}=V(a),p=null,m=!1,h=null,b=r(!1),x=r(!1),S=r(new Set);y(()=>{x.value=!0,T(s.value?.length||0)});function T(e){if(!Number.isFinite(e)||e<=0)return;let t=new Set(S.value),n=Math.floor(e/pt);for(let r=1;r<n;r++){let n=r*pt,i=Math.min(n+pt-1,e-1),a=!1;for(let e of t)if(e>=n&&e<=i){a=!0;break}if(a)continue;let o=n,s=i;if(o>s)continue;let c=o+Math.floor(Math.random()*(s-o+1));t.add(c)}S.value=t}function E(){m||h||(h=B(()=>import(`./AxILhFd6.js`).then(()=>{m=!0,h=null}),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103]),import.meta.url).catch(()=>{h=null}))}function O(e){p&&clearTimeout(p),p=setTimeout(()=>{p=null,E(),a.prefetchSimilarIconImages(e)},400)}function A(){p&&=(clearTimeout(p),null)}function j(e,t){t.button===0&&(E(),a.prefetchSimilarIconImages(e))}function M(e,t){t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||(t.preventDefault(),i(`icon-cl
2ick`,e),a.onIconClick(e))}d(()=>s.value?.length||0,(e,t)=>{x.value&&(e<(t||0)&&(S.value=new Set),T(e))},{immediate:!0});{let e=()=>{b.value=!0};ae(window,`wheel`,e,{passive:!0}),ae(window,`touchmove`,e,{passive:!0}),ae(window,`keydown`,t=>{[`ArrowDown`,`PageDown`,`End`,` `].includes(t.key)&&e()}),se(window,async()=>{await a.loadMoreIcons()},{distance:800,canLoadMore:()=>{if(!b.value||!a.canLoadMore())return!1;let e=document.documentElement;return e.scrollHeight>e.clientHeight}})}return(e,t)=>{let r=Oe,i=ot,a=q;return C(),_(`div`,st,[n(s)?.length>0||n(c)?(C(),_(`div`,ct,[n(s)?.length>0?(C(!0),_(w,{key:0},v(n(s),(e,t)=>(C(),_(w,{key:e?.objectID},[g(`div`,{class:`cursor-pointer flex h-fit`,"data-testid":`icon-search-result`,"data-icon-id":e?.objectID,onMouseenter:t=>O(e),onMouseleave:A,onPointerdown:t=>j(e,t),onClick:t=>M(e,t)},[l(r,{icon:e,to:n(Fe)(e)},null,8,[`icon`,`to`])],40,lt),t===0?(C(),D(i,{key:0,"ssr-fallback":!0})):k(``,!0)],64))),128)):k(``,!0),n(u)?(C(!0),_(w,{key:1},v(Array(8),e=>(C(),D(r,{key:e,"is-skeleton":!0}))),128)):k(``,!0)],512)):(C(),_(`div`,ut,[g(`div`,dt,[l(a,{class:``,size:100,sad:!0,"face-only":!0})]),g(`div`,ft,o(e.$t(`auto.components.IconGrid.no_icons_found`)),1)]))])}}}),[[`__scopeId`,`data-v-290893d9`]]),{__name:`IconGrid`});function ht(){return R(`open-app-folder`,()=>null)}var gt=[`href`],_t={class:`relative rounded-[26px] p-3 shadow-md ring ring-default/60 bg-elevated/70 transition-shadow duration-200 ease-out group-hover:shadow-lg size-[132px]`},vt={key:0,class:`grid grid-cols-2 grid-rows-2 gap-2 w-full h-full`},yt={key:1,class:`w-full h-full flex items-center justify-center`},bt={class:`text-3xl font-semibold text-muted select-none`},xt={key:2,class:`w-full h-full flex items-center justify-center`},St={class:`rounded-[11px] bg-default ring-1 ring-default/40 flex items-center justify-center size-[92px]`},Ct=[`src`],wt={key:3,class:`w-full h-full flex items-center justify-center gap-2`},Tt=[`src`],Et={key:4,class:`grid grid-cols-2 grid-rows-2 gap-2 w-full h-full`},Dt=[`src`],Ot={key:5,class:`grid grid-cols-2 grid-rows-2 gap-0 w-full h-full`},kt=[`src`],At={class:`grid grid-cols-2 grid-rows-2 gap-0 pt-0.5 pb-0.75 pl-0.5`},jt=[`src`],Mt={class:`flex flex-col items-center text-center gap-0.5 max-w-[132px]`},Nt={key:0,class:`text-sm font-semibold text-highlighted truncate max-w-full`},Pt={key:2,class:`text-xs text-muted`},Ft=`/images/placeholder-icon.png`,It=Object.assign(J(S({__name:`AppFolderCard`,props:{app:{},thumbnails:{},loading:{type:Boolean}},setup(e){let t=e,n=b(()=>t.app.name.trim().charAt(0).toUpperCase()||`?`),a=ht();function s(e){e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||(e.preventDefault(),a.value={...t.app})}let c=r(0),u=r(0),d=r(0),f=r(0),p=r(1),m=r(!1),h=r(!1),x=r(0),S=r(0),T=b(()=>h.value?{transform:`none`,transition:`background-color 150ms ease`}:{transform:`perspective(700px) rotateX(${c.value}deg) rotateY(${u.value}deg) translate3d(${d.value}px, ${f.value}px, 0px) scale(${p.value})`,transition:m.value?`transform 90ms linear, background-color 150ms ease`:`transform 320ms cubic-bezier(0.22, 1, 0.36, 1), background-color 150ms ease`});function E(e){if(h.value)return{transform:`none`,transition:`none`};let t=1+e%4*.08,n=Number((x.value*11*t).toFixed(2)),r=Number((S.value*11*t).toFixed(2)),i=Number((-S.value*4*t).toFixed(2)),a=Number((x.value*4*t).toFixed(2));return{transform:`translate3d(${n}px, ${r}px, ${18+e}px) rotateX(${i}deg) rotateY(${a}deg) scale(${m.value?1.035:1})`,transition:m.value?`transform 90ms linear`:`transform 320ms cubic-bezier(0.22, 1, 0.36, 1)`}}function O(){h.value||(m.value=!1,p.value=1.04)}function A(e){if(h.value)return;let t=e.currentTarget;if(!t)return;let{left:n,top:r,width:i,height:a}=t.getBoundingClientRect();if(!i||!a)return;let o=(e.clientX-n)/i-.5,s=(e.clientY-r)/a-.5;m.value=!0,x.value=o,S.value=s,c.value=Number((-s*10).toFixed(2)),u.value=Number((o*10).toFixed(2)),d.value=Number((o*6).toFixed(2)),f.value=Number((s*6).toFixed(2)),p.value=1.08}function j(){m.value=!1,c.value=0,u.value=0,d.value=0,f.value=0,p.value=1,x.value=0,S.value=0}function M(e){let t=e.target;t.src.endsWith(Ft)||(t.src=Ft)}return y(()=>{typeof window<`u`&&(h.value=window.matchMedia(`(prefers-reduced-motion: reduce)`).matches)}),(t,r)=>{let a=Se;return C(),_(`a`,{href:`/apps/${e.app.slug}`,class:`app-folder-card group flex flex-col items-center gap-2 p-2 rounded-2xl hover:bg-elevated/40 transition-colors`,style:i(T.value),onClick:s,onMouseenter:O,onMousemove:A,onMouseleave:j},[g(`div`,_t,[e.loading?(C(),_(`div`,vt,[(C(),_(w,null,v(4,e=>l(a,{key:e,class:`rounded-[12px] w-full h-full`})),64))])):e.thumbnails.length?e.thumbnails.length===1?(C(),_(`div`,xt,[g(`div`,St,[g(`img`,{src:e.thumbnails[
20]?.lowResPngUrl,alt:``,loading:`lazy`,class:`app-folder-icon w-full h-full object-contain p-2`,style:i(E(0)),onError:M},null,44,Ct)])])):e.thumbnails.length===2?(C(),_(`div`,wt,[(C(!0),_(w,null,v(e.thumbnails,(e,t)=>(C(),_(`div`,{key:e.objectID,class:`rounded-[11px] bg-default ring-1 ring-default/40 flex items-center justify-center size-[54px]`},[g(`img`,{src:e.lowResPngUrl,alt:``,loading:`lazy`,class:`app-folder-icon w-full h-full object-contain p-1.5`,style:i(E(t)),onError:M},null,44,Tt)]))),128))])):e.thumbnails.length<=4?(C(),_(`div`,Et,[(C(!0),_(w,null,v(e.thumbnails,(e,t)=>(C(),_(`div`,{key:e.objectID,class:`flex items-center justify-center`},[g(`img`,{src:e.lowResPngUrl,alt:``,loading:`lazy`,class:`app-folder-icon w-full h-full object-contain`,style:i(E(t)),onError:M},null,44,Dt)]))),128))])):(C(),_(`div`,Ot,[(C(!0),_(w,null,v(e.thumbnails.slice(0,3),(e,t)=>(C(),_(`div`,{key:e.objectID,class:`flex items-center justify-center`},[g(`img`,{src:e.lowResPngUrl,alt:``,loading:`lazy`,class:`app-folder-icon w-full h-full object-contain`,style:i(E(t)),onError:M},null,44,kt)]))),128)),g(`div`,At,[(C(!0),_(w,null,v(e.thumbnails.slice(3,7),(e,t)=>(C(),_(`div`,{key:e.objectID,class:`flex items-center justify-center`},[g(`img`,{src:e.lowResPngUrl,alt:``,loading:`lazy`,class:`app-folder-icon w-full h-full object-contain`,style:i(E(t+3)),onError:M},null,44,jt)]))),128))])])):(C(),_(`div`,yt,[g(`span`,bt,o(n.value),1)]))]),g(`div`,Mt,[e.app.name?(C(),_(`span`,Nt,o(e.app.name),1)):(C(),D(a,{key:1,class:`h-4 w-20`})),e.app.name?(C(),_(`span`,Pt,o(e.app.iconCount)+` `+o(e.app.iconCount===1?`icon`:`icons`),1)):k(``,!0)])],44,gt)}}}),[[`__scopeId`,`data-v-7111ac99`]]),{__name:`AppFolderCard`});
2function Lt(){return R(`apps-list`,()=>[])}var Rt={class:`w-full relative`},zt=[`data-index`],Bt={key:1,class:`w-full grid grid-cols-[repeat(auto-fill,minmax(140px,1fr))] gap-x-4 gap-y-4 pt-2 pb-8 px-8 justify-items-center`},Vt={key:2,class:`w-full grid grid-cols-[repeat(auto-fill,minmax(140px,1fr))] gap-x-2 gap-y-6 py-8 px-8 justify-items-center`},Ht={key:3,"data-testid":`apps-search-empty`,class:`animate-fade-up col-span-full text-center mt-16`},Ut={class:`w-20 mx-auto mb-2 flex items-center justify-center`},Wt=30,Gt=16,Kt=210,qt=60,Jt=Object.assign(J(S({__name:`AppsFolderGrid`,setup(e){let t=ge(),{searchQuery:a,isSearchLoading:o,semanticSearch:c}=V(t),u=Ze(),f=Lt(),p=r(!f.value.length),m=le(),h=r([]),x=s({}),S=r(new Set),T=new Set,E=b(()=>a.value.trim().length>0),O=b(()=>E.value?h.value:f.value),k=r(null),{width:A}=oe(k,void 0,{box:`content-box`}),j=r(1);d(A,e=>{e>0&&(j.value=Math.max(1,Math.floor((e+Gt)/156)))},{immediate:!0});let M=r(0);function N(){k.value?.offsetParent&&(M.value=k.value.getBoundingClientRect().top+window.scrollY)}ie(()=>document.body,N),d(k,N,{flush:`post`});let P=b(()=>Math.ceil(O.value.length/j.value)),I=Y(b(()=>({count:P.value,estimateSize:()=>Kt,scrollMargin:M.value,overscan:3}))),L=b(()=>I.value.getVirtualItems());function R(e){let t=e*j.value;return O.value.slice(t,t+j.value)}function z(e){e instanceof Element&&I.value.measureElement(e)}let B=K(async e=>{try{h.value=await F(`/api/apps`,{query:{query:e,mode:c.value?`semantic`:`keyword`}})}catch(e){console.error(`[AppsFolderGrid] App search failed:`,e),h.value=[]}finally{o.value=!1}},300);function H(e){let t=e.trim();if(!t){h.value=[],o.value=!1;return}o.value=!0,B(t)}d(a,e=>{u.value===`apps`&&H(e)}),d(c,()=>{u.value===`apps`&&a.value.trim()&&H(a.value)}),d(u,e=>{e===`apps`&&a.value.trim()&&H(a.value)});function U(e,t){let n=new Set(S.value);e.forEach(e=>t?n.add(e):n.delete(e)),S.value=n}function ee(e){let t=e.map(e=>e.slug).filter(e=>!T.has(e));for(let e=0;e<t.length;e+=qt)W(t.slice(e,e+qt))}async function W(e){e.forEach(e=>T.add(e)),U(e,!0);try{let t=await F(`/api/apps/thumbnails`,{method:`POST`,body:{slugs:e}});Object.entries(t||{}).forEach(([e,t])=>{x[e]=t}),e.forEach(e=>{(!t||!(e in t))&&T.delete(e)})}catch(t){console.error(`[AppsFolderGrid] Failed to load thumbnails:`,t),e.forEach(e=>T.delete(e))}finally{e.forEach(e=>{e in x||(x[e]=[])}),U(e,!1)}}let te=b(()=>L.value.flatMap(e=>R(e.index)));return re(te,e=>{u.value===`apps`&&ee(e)},{throttle:500}),y(async()=>{if(!f.value.length)try{f.value=await F(`/api/apps`)}catch(e){console.error(`[AppsFolderGrid] Failed to load apps list:`,e)}p.value=!1,u.value===`apps`&&a.value.trim()&&H(a.value),ee(O.value.slice(0,Wt))}),(e,t)=>{let r=It,a=q;return C(),_(`div`,Rt,[n(O).length>0&&n(m)?(C(),_(`div`,{key:0,ref_key:`gridRef`,ref:k,class:`animate-fade-up w-full pt-2 pb-8 px-8`},[g(`div`,{class:`relative w-full`,style:i({height:`${n(I).getTotalSize()}px`})},[(C(!0),_(w,null,v(n(L),e=>(C(),_(`div`,{key:String(e.key),ref_for:!0,ref:z,"data-index":e.index,class:`absolute top-0 left-0 w-full grid gap-x-4 pb-4 justify-items-center`,style:i({gridTemplateColumns:`repeat(${n(j)}, minmax(0, 1fr))`,transform:`translateY(${e.start-n(I).options.scrollMargin}px)`})},[(C(!0),_(w,null,v(R(e.index),e=>(C(),D(r,{key:e.slug,app:e,thumbnails:n(x)[e.slug]||[],loading:n(S).has(e.slug)||!(e.slug in n(x))},null,8,[`app`,`thumbnails`,`loading`]))),128))],12,zt))),128))],4)],512)):n(O).length>0?(C(),_(`div`,Bt,[(C(!0),_(w,null,v(n(O).slice(0,Wt),e=>(C(),D(r,{key:e.slug,app:e,thumbnails:n(x)[e.slug]||[],loading:n(S).has(e.slug)||!(e.slug in n(x))},null,8,[`app`,`thumbnails`,`loading`]))),128))])):n(p)||n(o)?(C(),_(`div`,Vt,[(C(),_(w,null,v(12,e=>l(r,{key:e,app:{name:``,slug:String(e),iconCount:0},thumbnails:[],loading:!0},null,8,[`app`])),64))])):(C(),_(`div`,Ht,[g(`div`,Ut,[l(a,{size:100,sad:!0,"face-only":!0})]),t[0]||=g(`div`,{class:`text-2xl text-neutral-500`},` No apps found `,-1)]))])}}}),[[`__scopeId`,`data-v-f2844e98`]]),{__name:`AppsFolderGrid`}),Yt={class:`flex flex-col gap-4 w-full mt-4`},Xt={class:`flex flex-col w-full`},Zt=Object.assign(S({__name:`SearchArea`,emits:[`icon-click`],setup(e){let t=Ze(),i=r(t.value===`apps`);return d(t,e=>{e===`apps`&&(i.value=!0)}),(e,r)=>{let a=tt,o=mt,s=Jt;return C(),_(`div`,Yt,[g(`div`,Xt,[l(a),h(l(o,{onIconClick:r[0]||=t=>
2e.$emit(`icon-click`,t)},null,512),[[N,n(t)===`icons`]]),n(i)?h((C(),D(s,{key:0},null,512)),[[N,n(t)===`apps`]]):k(``,!0)])])}}}),{__name:`SearchArea`}),Qt=p(()=>B(()=>import(`./D76vqOX-.js`).then(e=>e.default||e),__vite__mapDeps([104,2,3,5,1,4,6,8,9,26,24,20,27,7,13,22,23,18,25,63,19,65,73,105,71,32,42,43,44,45,60,46,57,61,72,48,51,47,53,55]),import.meta.url)),$t={"data-testid":`app-folder-modal`,class:`relative flex flex-col md:flex-row w-[90vw] max-w-[90vw] h-full md:h-[90vh] md:w-8xl mx-auto overflow-hidden`},en={"aria-label":`App details`,class:`max-h-[40%] shrink-0 overflow-y-auto border-b border-default p-4 pt-12 md:max-h-none md:w-full md:max-w-[370px] md:border-b-0 md:border-r`},tn={class:`flex min-w-0 min-h-0 flex-1 flex-col gap-6 p-4`},nn=[`onKeydown`],rn={class:`mt-10 flex flex-col items-center text-center md:w-[296px] md:shrink-0`},an=[`src`,`alt`],on={key:0,class:`mt-6 text-xs text-muted`},sn={class:`mt-1 flex max-w-full items-center gap-2`},cn={key:0,class:`max-w-full truncate text-xl font-bold text-highlighted`},ln=[`disabled`,`title`],un=[`disabled`,`onKeydown`],dn={class:`mt-1 text-sm text-muted`},fn={key:1},pn={class:`mt-7 flex w-full flex-row flex-wrap justify-center gap-2`},mn={class:`p-2`},hn=Object.assign(J(S({__name:`AppFolderModal`,setup(e){let t=ht(),s=ge(),c=ee(),f=te(),{user:p,isAuthenticated:m}=ne(),x=he(),{copy:S}=ce(),O=b({get:()=>!!t.value,set:e=>{e||We()}}),N=r([]),I=r(null);b(()=>{let e=I.value;return!!(e&&(e.searchBlurb||e.description||e.developer||e.websiteUrl||e.appStoreUrl||e.screenshots?.length||e.searchTags?.length||e.platforms?.length||e.appTypes?.length||e.pricing||e.license))});let L=r(0),R=r(0),B=r(0),V=r(!1),H=r(null),U=r(null),W=r(null),G=r(0),re=r(0),K=r(0),ie=r(0),oe=r(0),le=r(1),q=r(!1),J=r(!1),Y=r(!1),ue=r(!1),de=r(!1),X=r(``),me=r(null),Z=r(!1),ve=r(!1),be=r(!1),Se=r(!1),Ce=!1,Q=b(()=>$(W.value)),ke=b(()=>W.value?.iosHighResPngUrl||W.value?.iOSUrl||``),Ae=b(()=>W.value?.icnsUrl||ke.value),je=b(()=>
2tt(p.value,W.value)),Me=b(()=>{let e=W.value?.timeStamp||W.value?.createdAt;if(!e)return null;let t=Number(e),n=Number.isFinite(t)?new Date(t):new Date(e);return Number.isNaN(n.getTime())?null:n}),Ne=b(()=>J.value?{transform:`none`,transition:`none`}:{transform:`perspective(700px) rotateX(${re.value}deg) rotateY(${K.value}deg) translate3d(${ie.value}px, ${oe.value}px, 0) scale(${le.value})`,transition:q.value?`transform 90ms linear`:`transform 320ms cubic-bezier(0.22, 1, 0.36, 1)`});function Pe(){J.value||(q.value=!1,le.value=1.04)}function Ie(e){if(J.value)return;let t=e.currentTarget;if(!t)return;let{left:n,top:r,width:i,height:a}=t.getBoundingClientRect();if(!i||!a)return;let o=(e.clientX-n)/i-.5,s=(e.clientY-r)/a-.5;q.value=!0,re.value=Number((-s*10).toFixed(2)),K.value=Number((o*10).toFixed(2)),ie.value=Number((o*6).toFixed(2)),oe.value=Number((s*6).toFixed(2)),le.value=1.08}function Re(){q.value=!1,re.value=0,K.value=0,ie.value=0,oe.value=0,le.value=1}let ze=!1;function Be(e){window.history[ze?`replaceState`:`pushState`](window.history.state,``,`${c(`/apps`)}/${e}${window.location.search}`),ze=!0}function Ve(e){I.value&&Object.assign(I.value,e),t.value&&e.name&&(t.value={...t.value,name:e.name})}function He(e){t.value=e}function Ue(){t.value&&mt(t.value.slug,1)}function We(e=!0){Re(),W.value=null,t.value=null,ze&&(ze=!1,e&&window.history.back())}function Ge(e){e||We()}function Ke(e,t){Re(),G.value=t,W.value=e}function qe(e){if(G.value=e,Ce){Ce=!1;return}Re(),W.value=N.value[e]||null}function Je(){return Array.from(H.value?.querySelectorAll(`[data-folder-icon-index]`)||[])}async function Ye(e,t=!0){if(!N.value.length)return;G.value=Math.max(0,Math.min(e,N.value.length-1)),t?(Re(),W.value=N.value[G.value]||null):Ce=!0,await E();let n=Je()[G.value];n?.focus(),n?.scrollIntoView({block:`nearest`,inline:`nearest`})}function Xe(e,t){let n=Je(),r=n[e];if(!r)return e;let i=r.getBoundingClientRect(),a=i.left+i.width/2;return n.map((e,t)=>({index:t,rect:e.getBoundingClientRect()})).filter(({rect:e})=>t<0?e.bottom<=i.top+1:e.top>=i.bottom-1).sort((e,t)=>{let n=Math.abs(e.rect.top-i.top),r=Math.abs(t.rect.top-i.top);if(n!==r)return n-r;let o=e.rect.left+e.rect.width/2,s=t.rect.left+t.rect.width/2;return Math.abs(o-a)-Math.abs(s-a)})[0]?.index??e}async function Ze(e,t){if(e.target!==e.currentTarget)return;let n=null;if(e.key===`ArrowLeft`)n=t-1;else if(e.key===`ArrowRight`)n=t+1;else if(e.key===`ArrowUp`)n=Xe(t,-1);else if(e.key===`ArrowDown`)n=Xe(t,1);else if(e.key===`Home`)n=0;else if(e.key===`End`)n=N.value.length-1;else if(e.key===`Enter`||e.key===` `){e.preventDefault();let n=N.value[t];n&&Ke(n,t),await E(),U.value?.querySelector(`[data-sidebar-close]`)?.focus();return}n!==null&&(e.preventDefault(),await Ye(n))}async function Qe(){Re(),W.value=null,await E(),await Ye(G.value,!1)}function $(e){return String(e?.objectID||e?.objectId||e?.id||``)}function $e(e){return e.trim().toLowerCase()}function et(e){if(typeof e==`string`){let t=e.trim(),n=t.lastIndexOf(`$`);return n>=0?t.slice(n+1).trim():t}if(!e||typeof e!=`object`)return``;let t=e;return typeof t.objectId==`string`?t.objectId.trim():typeof t.id==`string`?t.id.trim():``}function tt(e,t){if(!e||typeof e!=`object`||!t)return!1;let n=e,r=et(n),i=et(t.user||t._p_user||t.userId);if(r&&i)return r===i;let a=typeof n.username==`string`?$e(n.username):``,o=$e(ye(n)),s=typeof t.usersName==`string`?$e(t.usersName):``;return!!(s&&[a,o].includes(s))}function nt(e){return e}async function rt(e){if(Y.value=!1,!e||!m.value)return;let t=$(e);if(t){ue.value=!0;try{let e=await F(`/api/favorites/${encodeURIComponent(t)}`);Q.value===t&&(Y.value=!!e.favorite)}catch(e){console.error(`[AppFolderModal] Failed to load favourite status:`,e)}finally{ue.value=!1}}}async function it(){if(!m.value){f.add({title:`Log in to save your favourite icons`}),s.showAuthModal=!0;return}if(Q.value&&!ue.value){ue.value=!0;try{let e=await F(`/api/favorites/${encodeURIComponent(Q.value)}`,{method:`PUT`,body:{favorite:!Y.value}});Y.value=!!e.favorite,f.add({title:Y.value?`Added to favourites`:`Removed from favourites`,color:`success`,icon:Y.value?`i-heroicons-heart-20-solid`:`i-heroicons-heart`})}catch(e){let t=nt(e);f.add({title:`Could not update favourites`,description:t.data?.message||t.message||`Please try again.`,color:`error`})}finally{ue.value=!1}}}function at(){x.value&&W.value&&!Z.value&&(X.value=String(W.value.a
2ppName||``),de.value=!0,E(()=>{me.value?.focus(),me.value?.select()}))}function ot(){de.value=!1,X.value=String(W.value?.appName||``)}async function st(){if(!x.value||!W.value||Z.value)return;let e=Q.value,t=String(W.value.appName||``).trim(),n=X.value.trim();if(!e||!n||n===t){ot();return}Z.value=!0;try{await F(`/api/icons/update-name`,{method:`POST`,body:{id:e,appName:n}}),N.value.forEach(t=>{$(t)===e&&(t.appName=n)}),Array.isArray(s.searchResults)&&s.searchResults.forEach(t=>{$(t)===e&&(t.appName=n)}),de.value=!1}catch(e){let t=nt(e);f.add({title:`Name update failed`,description:t.data?.message||t.message||`Could not update icon name`,color:`error`}),ot()}finally{Z.value=!1}}function ct(){Q.value&&(S(Q.value),f.add({title:`objectID copied to clipboard!`}))}async function lt(){if(!W.value||!x.value||be.value)return;let e=Q.value,t=String(W.value.appName||``).trim();if(e&&window.confirm(`Unapprove "${t||`this icon`}"? It will be hidden from public listings.`)){be.value=!0;try{await F(`/api/approve`,{method:`POST`,body:{id:e,appName:t,approved:!1}}),W.value.approved=!1,f.add({title:`Icon Unapproved`,color:`success`,icon:`i-heroicons-no-symbol`})}catch(e){let t=nt(e);f.add({title:`Unapprove Failed`,description:t.data?.message||t.message||`Could not unapprove icon`,color:`error`})}finally{be.value=!1}}}async function ut(){if(!W.value||!x.value||Se.value)return;let e=Q.value,t=!W.value.isHidden;if(e){Se.value=!0;try{await F(`/api/admin/icon-update`,{method:`POST`,body:{id:e,updates:{isHidden:t}}}),W.value.isHidden=t,f.add({title:t?`Icon Hidden`:`Icon Unhidden`,color:t?`warning`:`success`,icon:t?`i-heroicons-eye-slash`:`i-heroicons-eye`})}catch(e){let t=nt(e);f.add({title:`Action Failed`,description:t.data?.message||t.message||`Could not update icon status`,color:`error`})}finally{Se.value=!1}}}async function dt(){if(!W.value||!je.value&&!x.value||ve.value)return;let e=Q.value,t=String(W.value.appName||``).trim()||`this icon`;if(e&&window.confirm(`Delete "${t}"? This cannot be undone.`)){ve.value=!0;try{await F(`/api/icons/delete`,{method:`POST`,body:{id:e}}),N.value=N.value.filter(t=>$(t)!==e),L.value=Math.max(0,L.value-1),Array.isArray(s.searchResults)&&(s.searchResults=s.searchResults.filter(t=>$(t)!==e)),await Qe(),f.add({title:`Icon Deleted`,color:`success`,icon:`i-heroicons-trash`})}catch(e){let t=nt(e);f.add({title:`Delete Failed`,description:t.data?.message||t.message||`Could not delete icon`,color:`error`})}finally{ve.value=!1}}}function ft(e){let t=$(e);t&&F(`/api/icons/download`,{method:`POST`,body:{id:t,appName:e.appName||``}}).catch(()=>{})}async function pt(){W.value&&(await navigator.clipboard.writeText(`${window.location.origin}${Fe(W.value)}`),f.add({title:`Link copied to clipboard!`}))}async function mt(e,n){V.value=!0;try{let r=await F(`/api/app/${e}`,{query:{page:n}});if(t.value?.slug!==e)return;n===1?(N.value=r.icons,I.value=r.app):N.value.push(...r.icons),L.value=r.totalHits,R.value=r.totalPages,B.value=n}catch(e){console.error(`[AppFolderModal] Failed to load app icons:`,e)}finally{V.value=!1}}return d(t,(e,t)=>{e&&t?.slug!==e.slug&&(N.value=[],I.value=null,W.value=null,G.value=0,L.value=e.iconCount,R.value=0,B.value=0,Be(e.slug),mt(e.slug,1))}),d(W,e=>{de.value=!1,X.value=String(e?.appName||``),Y.value=!1,e&&rt(e)}),d(m,e=>{e&&W.value&&rt(W.value)}),se(H,()=>{t.value&&mt(t.value.slug,B.value+1)},{distance:400,canLoadMore:()=>!V.value&&B.value>0&&B.value<R.value}),ae(`popstate`,()=>{t.value&&=(ze=!1,null)}),y(()=>{J.value=window.matchMedia(`(prefers-reduced-motion: reduce)`).matches}),(e,t)=>{let r=Le,s=Qt,c=pe,d=Oe,f=Te,p=fe,m=z,y=we,b=De,S=Ee,E=xe;return C(),D(E,{open:n(O),"onUpdate:open":[t[5]||=e=>a(O)?O.value=e:null,Ge],ui:{content:`max-w-[90vw]`}},{content:T(()=>[g(`div`,$t,[g(`aside`,en,[n(I)?(C(),D(r,{key:0,app:n(I),"icon-url":n(N)[0]?.lowResPngUrl,"total-app-icons":n(L)},null,8,[`app`,`icon-url`,`total-app-icons`])):k(``,!0),n(x)&&n(I)?(C(),D(s,{key:1,app:n(I),class:`mt-4`,onSaved:Ve,onMergedInto:He,onAbsorbed:Ue},null,8,[`app`])):k(``,!0)]),g(`section`,tn,[l(c,{icon:`heroicons:x-mark`,color:`neutral`,variant:`ghost`,size:`xs`,square:``,"aria-label":`Close app folder`,class:`absolute top-4 left-4 z-10 rounded-full active:scale-[0.96] transition-transform`,onClick:t[0]||=e=>We()}),g(`div`,{ref_key:`scrollAreaRef`,ref:H,role:`grid`,"aria-label":`Available app icons`,class:`grid min-h-0 flex-1 content-start grid-cols-2 sm:grid-cols-[repeat(auto-fill,minmax(128px,1fr))] gap-4 overflow-y-auto pr-1 pb-0 pt-0`},[(C(!0),_(w,null,v(n(N),(t,r)=>(C(),D(d,{key:t.objectID,icon:t,"data-folder-icon-index":r,tabindex:n(G)===r?0:-1,role:`gridcell`,"aria-label":`${t.appName||`Icon`} by ${(`safeHandle`in e?e.safeHandle:n(_e))(t.usersName)||`unknown`}`,class:`cursor-pointer rounded-xl outline-none active:scale-[0.96] transition-[transform,box-shadow] focu
2s-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 focus-visible:ring-offset-default`,onFocus:e=>qe(r),onClick:e=>Ke(t,r),onKeydown:e=>Ze(e,r)},null,8,[`icon`,`data-folder-icon-index`,`tabindex`,`aria-label`,`onFocus`,`onClick`,`onKeydown`]))),128)),(C(!0),_(w,null,v(n(V)?24:0,e=>(C(),D(d,{key:`skeleton-${e}`,"is-skeleton":!0,"total-app-icons":n(L)},null,8,[`total-app-icons`]))),128))],512)]),l(A,{name:`icon-sidebar`},{default:T(()=>[n(W)?(C(),_(`aside`,{key:0,ref_key:`sidebarRef`,ref:U,"data-testid":`app-folder-icon-sidebar`,class:`absolute inset-0 z-20 flex flex-col overflow-y-auto bg-default p-6 shadow-[-16px_0_40px_rgba(0,0,0,0.14)] md:static md:box-border md:w-[360px] md:shrink-0 md:p-8 dark:shadow-[-16px_0_40px_rgba(0,0,0,0.35)]`,"aria-label":`Icon details`,onKeydown:M(j(Qe,[`stop`,`prevent`]),[`esc`])},[l(c,{icon:`heroicons:x-mark`,color:`neutral`,variant:`ghost`,size:`xs`,square:``,"aria-label":`Close icon details`,"data-sidebar-close":``,class:`absolute top-4 right-4 size-10 rounded-full active:scale-[0.96] transition-transform`,onClick:Qe}),g(`div`,rn,[g(`div`,{class:`sidebar-icon-preview size-44`,onMouseenter:Pe,onMousemove:Ie,onMouseleave:Re},[g(`img`,{src:n(W).lowResPngUrl||n(W).highResPngUrl||`/images/placeholder-icon.png`,alt:n(W).appName,style:i(n(Ne)),class:`sidebar-icon-image size-44 rounded-3xl object-contain`},null,12,an)],32),n(Me)?(C(),_(`p`,on,[l(f,{datetime:n(Me)},null,8,[`datetime`])])):k(``,!0),g(`div`,sn,[!n(x)||!n(je)?(C(),_(`h3`,cn,o(n(W).appName),1)):n(de)?h((C(),_(`input`,{key:2,ref_key:`iconNameInputRef`,ref:me,"onUpdate:modelValue":t[1]||=e=>a(X)?X.value=e:null,type:`text`,class:`min-w-0 max-w-full rounded-md border border-neutral-300/50 bg-transparent px-2 py-0 text-xl font-bold text-highlighted focus:outline-none focus:ring-2 focus:ring-primary-500 dark:border-neutral-600`,disabled:n(Z),onKeydown:[M(j(st,[`exact`,`prevent`]),[`enter`]),M(j(ot,[`prevent`]),[`esc`])],onBlur:st},null,40,un)),[[P,n(X)]]):(C(),_(`button`,{key:1,type:`button`,class:`max-w-full cursor-pointer truncate text-left text-xl font-bold text-highlighted hover:underline decoration-dotted underline-offset-4 disabled:opacity-60`,disabled:n(Z),title:n(Z)?`Saving...`:`Click to edit icon name`,onClick:at},o(n(W).appName),9,ln)),n(je)&&!n(de)?(C(),D(p,{key:3,name:`lucide:square-pen`,class:`size-4 shrink-0 cursor-pointer`,onClick:at})):k(``,!0)]),g(`p`,dn,[t[6]||=u(` by `,-1),(`safeHandle`in e?e.safeHandle:n(_e))(n(W).usersName)?(C(),D(m,{key:0,to:`/u/${(`safeHandle`in e?e.safeHandle:n(_e))(n(W).usersName)}`,class:`hover:underline`},{default:T(()=>[u(o((`safeHandle`in e?e.safeHandle:n(_e))(n(W).usersName)),1)]),_:1},8,[`to`])):(C(),_(`span`,fn,`unknown`)),t[7]||=g(`span`,{class:`mx-2`},`·`,-1),l(p,{name:`heroicons:arrow-down-tray-20-solid`,class:`inline size-3`}),u(` `+o(n(W).downloads||0),1)]),n(x)&&n(Q)?(C(),_(`button`,{key:1,type:`button`,class:`mt-1 inline-flex cursor-pointer items-center gap-1 text-xs font-mono text-muted hover:text-highlighted`,title:`Click to copy objectID`,onClick:ct},[l(p,{name:`heroicons:identification-20-solid`,class:`size-3`}),u(` `+o(n(Q)),1)])):k(``,!0),g(`div`,pn,[l(b,{size:`xs`},{default:T(()=>[n(Ae)?(C(),D(c,{key:0,href:n(Ae),target:`_blank`,rel:`noopener`,icon:`heroicons:arrow-down-tray-20-solid`,label:`Download macOS`,color:`neutral`,variant:`soft`,size:`sm`,onClick:t[2]||=e=>ft(n(W))},null,8,[`href`])):k(``,!0),l(y,null,{content:T(()=>[g(`div`,mn,[l(c,{href:n(ke),target:`_blank`,rel:`noopener`,icon:`heroicons:arrow-down-tray-20-solid`,label:`Download iOS`,color:`neutral`,variant:`soft`,size:`sm`,onClick:t[3]||=e=>ft(n(W))},null,8,[`href`])])]),default:T(()=>[n(ke)?(C(),D(c,{key:0,color:`neutral`,variant:`soft`,class:`border-l border-neutral-200`,icon:`i-lucide-chevron-down`,"aria-label":`More download options`})):k(``,!0)]),_:1})]),_:1}),n(W).iconUrl?(C(),D(c,{key:0,href:n(W).iconUrl,target:`_blank`,rel:`noopener`,icon:`heroicons:cube-transparent-20-solid`,label:`Download .icon`,color:`neutral`,variant:`soft`,class:`rounded-lg shadow-xs hover:shadow-md`,size:`sm`,onClick:t[4]||=e=>ft(n(W))},null,8,[`href`])):k(``,!0),l(c,{icon:`heroicons:share-20-solid`,label:`Share`,color:`primary`,variant:`soft`,class:`rounded-lg shadow-xs hover:shadow-md`,size:`sm`,onClick:pt}),l(c,{icon:n(Y)?`heroicons:heart-20-solid`:`heroicons:heart`,color:n(Y)?`error`:`neutral`,variant:`soft`,class:`rounded-lg shadow-xs hover:shadow-md`,size:`sm`,loading:n(ue),"aria-pressed":n(Y),"aria-label":`Toggle favourite`,onClick:it},null,8,[`icon`,`color`,`loading`,`aria-pressed`]),n(x)?(C(),D(c,{key:1,label:`Unapprove`,color:`warning`,variant:`soft`,class:`rounded-lg shadow-xs hover:shadow-md`,size:`sm`,loading:n(be),onClick:lt},null,8,[`loading`])):k(``,!0),n(x)?(C(),D(c,{key:2,label:n(W).isHidden?`Unhide`:`Hide`,color:`warning`,variant:`soft`,class:`rounded-lg shadow-xs hover:shadow-md`,size:`sm`,loading:n(Se),onClick:ut},null,8,[`label`,`loading`])):k(``,!0),n(je)||n(x)?(C(),D(c,{key:3,label:`Delete Icon`,color:`error`,variant:`soft`,class:`rounded-lg shadow-xs hover:shadow-md`,size:`sm`,loading:n(ve),onClick:dt},null,8,[`loading`])):k(``,!0),!n(je)&&n(Q)?(C(),D(S,{key:4,"icon-id":n(Q),"icon-name":n(W).appName||``,"thumbnail-url":n(W).lowResPngUrl||n(W).highResPngUrl||``},null,8,[`icon-id`,`icon-name`,`thumbnail-url`])):k(``,!0)])])],40,nn)):k(``,!0)]),_:1})])]),_:1},8,[`open`])}}}),[[`__scopeId`,`data-v-805fc598`]]),{__name:`AppFolderModal`}),gn={key:0,class:`flex justify-center py-3`},_n=Object.assign(J(S({__name:`RemoveAdsCta`,setup(t){let{adFree:i}=ke(),{isAuthenticated:a}=ne(),{plan:s,plans:c,pendingCheckoutOfferKey:u,refreshSummary:d,beginCheckout:f}=Ce(),p=Me(),m=r(!1),h=b(()=>!i.value);y(()=>{h.value&&p(`adRemoveCtaShown`)});async function v(){if(p(`adRemoveCtaClick`),!a.value){await e(`/login`);return}await d({silent:!0}
2).catch(()=>{}),m.value=!0}async function x(e,t){`includedCredits`in e&&await f({offerType:`plan`,offerId:e.id,billingInterval:t})}return(e,t)=>{let r=Q;return h.value?(C(),_(`div`,gn,[g(`button`,{type:`button`,class:`remove-ads-link`,onClick:v},o(e.$t(`ads.removeAds`)),1),l(r,{open:m.value,"onUpdate:open":t[0]||=e=>m.value=e,title:e.$t(`ads.removeAds`),description:e.$t(`plan.chooseDescription`),"offer-type":`plan`,offers:n(c),"current-plan-id":n(s)?.id||null,"pending-offer-key":n(u),onSelect:x},null,8,[`open`,`title`,`description`,`offers`,`current-plan-id`,`pending-offer-key`])])):k(``,!0)}}}),[[`__scopeId`,`data-v-871cfaac`]]),{__name:`AdsRemoveAdsCta`}),vn=p(()=>B(()=>import(`./AxILhFd6.js`).then(e=>e.default||e),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103]),import.meta.url)),yn={class:`w-full max-w-6xl mx-auto`},bn={class:`relative`},xn=`Browse macOS icons by app — macOSicons`,Sn=`Find custom macOS icons for your favorite apps. Every submission for each app, collected under one folder.`,Cn=Object.assign(S({__name:`HomeView`,async setup(e){let i,a,o=ge(),{restoreSession:s}=ne(),{initialFetch:c}=o,{searchResults:u,wasIconModalOpened:d}=V(o),p=t(),h=Ze(),{locale:v,locales:x}=W(),S=b(()=>x.value.map(e=>e.code)),w=b(()=>Array.isArray(p.query.id)?typeof p.query.id[0]==`string`?p.query.id[0].trim():``:Array.isArray(p.query.icon)?typeof p.query.icon[0]==`string`?p.query.icon[0].trim():``:typeof p.query.icon==`string`?p.query.icon.trim():``),T=b(()=>Pe(w.value)?w.value:``),E=T.value,O=!!E,A=r(!O),j=O;o.initializeIconModalState(O);function M(e){o.setIconModalRef(e)}let{data:N}=([i,a]=f(()=>U(`home-icon:${E||`none`}`,()=>O?F(`/api/icon/${E}`,{query:{includeSimilar:!1}}).catch(()=>null):Promise.resolve(null))),i=await i,a(),i),P=b(()=>N.value?.icon||null),R=b(()=>{let e=P.value?.lowResPngUrl;return typeof e==`string`&&e?e:``});I(()=>({link:R.value?[{key:`deep-link-icon-image`,rel:`preload`,as:`image`,href:R.value,fetchpriority:`high`}]:[]}));let z=b(()=>{let e=T.value;return e?P.value?.objectID===e?P.value:u.value?.find(t=>t?.objectID===e)||null:null}),B=ve();m(()=>{let e=T.value;if(!e){B.value=``;return}B.value=z.value?Fe(z.value):`/icon/${e}`}),L({title:()=>z.value?ze(z.value):h.value===`apps`?xn:void 0,description:()=>z.value?Be(z.value):h.value===`apps`?Sn:void 0,ogImage:()=>z.value?.lowResPngUrl||void 0});async function H(){await s();try{await G()}catch(e){console.error(`Failed to sync session cookies:`,e)}}return y(async()=>{O&&setTimeout(()=>{A.value=!0},0),await H(),u.value?.length||c(Xe(p,v.value,S.value))}),(e,t)=>{let r=Z,i=Re,a=Ge,s=et,c=Zt,u=vn,f=hn,p=Ne,m=_n;return C(),_(`div`,null,[l(r),g(`div`,yn,[g(`div`,bn,[l(i,{class:`max-w-[450px] absolute min-h-[64px] left-1/2 -translate-x-1/2 -top-4`}),l(a)]),n(A)?(C(),D(s,{key:0})):k(``,!0),n(A)?(C(),D(c,{key:1,onIconClick:n(o).onIconModalClick},null,8,[`onIconClick`])):k(``,!0),n(d)?(C(),D(u,{key:2,ref:M,"initial-icon":n(P),"initial-icon-id":n(E),"initial-open":n(j)},null,8,[`initial-icon`,`initial-icon-id`,`initial-open`])):k(``,!0),n(A)?(C(),D(f,{key:3})):k(``,!0)]),n(A)?(C(),D(p,{key:0})):k(``,!0),n(A)?(C(),D(m,{key:1})):k(``,!0)])}}}),{__name:`HomeView`});export{Lt as n,Ze as r,Cn as t};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.