PageSourceSearch

https://pbo-atlas.vercel.app/chunk-GKTQDASO.js

js pbo-atlas.vercel.app collected 2026-10-03 07:28:47 UTC 10,445 bytes, 1 lines download raw bytes

1import{a as Z}from"./chunk-HLL7UVEZ.js";import{a as J}from"./chunk-S76GTNM3.js";import{d as T}from"./chunk-CJ4ZHVQV.js";import{c as Y}from"./chunk-FNIKEXKH.js";import{aa as K,c as X,qa as W}from"./chunk-L3NPKI7V.js";import{$a as b,$b as B,Ba as y,Db as _,Fb as U,Ib as v,Ka as Q,La as c,Ma as d,Na as A,Pa as C,Q as f,Qa as w,Ra as u,Sa as r,Ta as l,U as N,Ua as m,V as z,W as S,X as j,_a as F,a as P,ab as s,b as E,dc as h,ea as $,fa as O,jb as R,kb as G,mb as V,nb as p,oa as q,ob as g,pb as M,qb as x,sa as o,ub as H,wb as D}from"./chunk-3Y5C7JRB.js";var ae=(i,t)=>["/region",i,t],re=(i,t)=>t.id;function le(i,t){if(i&1&&(r(0,"a",1)(1,"span",2),p(2),l(),r(3,"span",3),p(4),l()()),i&2){let e=t.$implicit,n=s();u("routerLink",D(4,ae,n.region(),e.id)),o(2),g(e.name),o(2),x("",e.speciesCount," ",n.i18n.t("region.species"))}}var L=class i{region=v.required();locations=v.required();i18n=f(h);static \u0275fac=function(e){return new(e||i)};static \u0275cmp=y({type:i,selectors:[["app-location-list"]],inputs:{region:[1,"region"],locations:[1,"locations"]},decls:3,vars:0,consts:[[1,"grid","gap-2","sm:grid-cols-2","lg:grid-cols-3"],[1,"flex","items-center","justify-between","rounded-lg","border","border-line","bg-surface","px-4","py-3","transition-colors","hover:border-accent/60",3,"routerLink"],[1,"text-sm","font-medium"],[1,"whitespace-nowrap","text-xs","text-ink-dim"]],template:function(e,n){e&1&&(r(0,"div",0),C(1,le,5,7,"a",1,re),l()),e&2&&(o(),w(n.locations()))},dependencies:[T],encapsulation:2,changeDetection:0})};var se=(i,t)=>["/region",i,t],pe=(i,t)=>t.marker.locationId;function ce(i,t){if(i&1){let e=F();r(0,"button",13),b("click",function(){N(e);let a=s();return z(a.onSearch(""))}),S(),m(1,"svg",14),l()}}function de(i,t){if(i&1&&(r(0,"p",6),p(1),l()),i&2){let e=s();o(),x(" ",e.visibleMarkers().length," ",e.i18n.t("region.locations")," ")}}function me(i,t){if(i&1&&(r(0,"p",7),p(1),l()),i&2){let e=s();o(),g(e.i18n.t("region.mapHint"))}}function ue(i,t){i&1&&m(0,"div",10)}function ge(i,t){i&1&&m(0,"span",16)}function ve(i,t){if(i&1){let e=F();r(0,"button",15),b("click",function(a){let k=N(e).$implicit,oe=s();return z(oe.toggle(a,k.marker.locationId))}),c(1,ge,1,0,"span",16),m(2,"span"),r(3,"span"),p(4),l()()}if(i&2){let e=t.$implicit,n=s();R("left",e.marker.x,"%")("top",e.marker.y,"%"),Q("aria-label",e.preview.name),o(),d(e.match?1:-1),o(),V(n.markerClass(e.marker,e.match)),o(),V(n.labelClass(e.match)),o(),g(e.preview.name)}}function fe(i,t){if(i&1&&(r(0,"div",12),p(1),l()),i&2){let e=s();o(),M(" ",e.i18n.t("search.noResults")," ")}}function xe(i,t){if(i&1&&m(0,"img",23),i&2){let e=s().$implicit;u("src",t,q)("alt",e.name)("title",e.name)}}function _e(i,t){if(i&1&&c(0,xe,1,3,"img",23),i&2){let e,n=t.$implicit;d((e=n.spriteUrl)?0:-1,e)}}function ye(i,t){if(i&1&&(r(0,"div",18),b("click",function(n){return n.stopPropagation()}),r(1,"p",19),p(2),l(),r(3,"p",7),p(4),l(),r(5,"div",20),C(6,_e,1,1,null,null,A),l(),r(8,"a",21),p(9),S(),m(10,"svg",22),l()()),i&2){let e=t,n=s(),a=s();R("left",a.popoverLeft(e.x))("top",e.y,"%")("transform",a.popoverTransform(e.y)),o(2),g(n.name),o(2),x("",n.speciesCount," ",a.i18n.t("region.species")),o(2),w(n.topSpawns),o(2),u("routerLink",D(11,se,a.region(),n.locationId)),o(),M(" ",a.i18n.t("region.viewAll")," ")}}function be(i,t){if(i&1&&c(0,ye,11,14,"div",17),i&2){let e,n=s();d((e=n.activeMarker())?0:-1,e)}}var ne={route:"h-3.5 w-3.5 rounded-full",city:"h-4.5 w-4.5 rounded-md",dungeon:"h-4 w-4 rotate-45 rounded-sm"},I=class i{map=v.required();region=v.required();previews=v.required();i18n=f(h);active=$(null);query=$("");normalizedQuery=_(()=>this.query().trim().toLowerCase());isSearching=_(()=>this.normalizedQuery().length>0);visibleMarkers=_(()=>{let t=this.map().markers.map(n=>({marker:n,preview:this.previews()[n.locationId]})).filter(n=>!!n.preview),e=this.normalizedQuery();return e?t.filter(n=>n.preview.name.toLowerCase().includes(e)).map(n=>E(P({},n),{match:!0})):t.map(n=>E(P({},n),{match:!1}))});noResults=_(()=>this.isSearching()&&this.visibleMarkers().length===0);activePreview=_(()=>{let t=this.active();return t?this.previews()[t]??null:null});activeMarker=_(()=>{let t=this.active();return t?this.map().markers.find(e=>e.locationId===t)??null:null});onSearch(t){this.query.set(t);let e=this.visibleMarkers();this.active.set(this.normalizedQuery()&&e.length===1?e[0].marker.locationId:null)}toggle(t,e){t.stopPropagation(),this.active.update(n=>n===e?null:e)}markerClass(t,e){let n=ne[t.kind]??ne.route,a=this.active()===t.locationId;return`relative block border-2 border-white bg-accent shadow-lg transition-transform ${n} ${e?"scale-[1.6] ring-2 ring-accent-soft":a?"scale-125 ring-2 ring-accent-soft":"group-hover:scale-125"}`}labelClass(t){let e="pointer-events-none absolute left-1/2 top-full z-10 mt-2 -translate-x-1/2 whitespace-nowrap rounded px-2 py-0.5 text-xs transition-opacity";return t?`${e} bg-accent font-semibold text-white opacity-100 shadow-lg`:`${e} bg-black/85 text-white opacity-0 group-hover:opacity-100`}popoverLeft(t){return`clamp(7rem, ${t}%, calc(100% - 7rem))`}popoverTransform(t){return`translate(-50%, ${t>70?"calc(-100% - 16px)":"16px"})`}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=y({type:i,selectors:[["app-region-map"]],inputs:{map:[1,"map"],region:[1,"region"],previews:[1,"previews"]},decls:15,vars:11,consts:[[1,"space-y-3"],[1,"flex","flex-wrap","items-center","gap-x-3","gap-y-2"],[1,"relative","w-full","max-w-xs"],["lucideSearch","","aria-hidden","true",1,"pointer-events-none","absolute","left-3","top-1/2","z-10","h-4","w-4","-translate-y-1/2","text-ink-dim"],["autocomplete","off",1,"w-full","rounded-lg","border","border-line","bg-surface","py-2","pl-9","pr-9","text-sm","text-ink","outline-none","transition-colors","placeholder:text-ink-dim","focus:border-accent/60",3,"input","value","placeholder"],["type","button","aria-label","Clear",1,"absolute","right-2","top-1/2","z-10","grid","h-6","w-6","-translate-y-1/2","place-items-center","rounded","text-ink-dim","transition-colors","hover:bg-surface-2","hover:text-ink"],[1,"text-xs","font-medium","text-ink-dim"],[1,"text-xs","text-ink-dim"],[1,"relative","w-full","rounded-xl","border","border-line",3,"dismissOutside"],[1,"absolute","
1inset-0","h-full","w-full","rounded-xl","object-cover",3,"src","alt"],[1,"pointer-events-none","absolute","inset-0","rounded-xl","bg-bg/65"],["type","button",1,"group","absolute","z-[5]","-translate-x-1/2","-translate-y-1/2",3,"left","top"],[1,"pointer-events-none","absolute","left-1/2","top-1/2","z-10","-translate-x-1/2","-translate-y-1/2","rounded-lg","bg-surface/95","px-4","py-2","text-sm","text-ink-dim","shadow-xl","ring-1","ring-line"],["type","button","aria-label","Clear",1,"absolute","right-2","top-1/2","z-10","grid","h-6","w-6","-translate-y-1/2","place-items-center","rounded","text-ink-dim","transition-colors","hover:bg-surface-2","hover:text-ink",3,"click"],["lucideX","","aria-hidden","true",1,"h-4","w-4"],["type","button",1,"group","absolute","z-[5]","-translate-x-1/2","-translate-y-1/2",3,"click"],["aria-hidden","true",1,"pointer-events-none","absolute","left-1/2","top-1/2","h-7","w-7","-translate-x-1/2","-translate-y-1/2","animate-ping","rounded-full","bg-accent/60"],["data-modal-content","",1,"absolute","z-20","w-56","rounded-xl","border","border-line","bg-surface","p-3","shadow-2xl",3,"left","top","transform"],["data-modal-content","",1,"absolute","z-20","w-56","rounded-xl","border","border-line","bg-surface","p-3","shadow-2xl",3,"click"],[1,"font-semibold"],[1,"mt-2","flex","gap-1"],[1,"mt-2","inline-flex","items-center","gap-1","rounded-lg","bg-accent","px-3","py-1","text-xs","font-semibold","text-white","transition-colors","hover:bg-accent-soft",3,"routerLink"],["lucideArrowRight","","aria-hidden","true",1,"h-3","w-3"],["width","36","height","36",3,"src","alt","title"]],template:function(e,n){if(e&1&&(r(0,"div",0)(1,"div",1)(2,"div",2),S(),m(3,"svg",3),j(),r(4,"input",4),b("input",function(k){return n.onSearch(k.target.value)}),l(),c(5,ce,2,0,"button",5),l(),c(6,de,2,2,"p",6)(7,me,2,1,"p",7),l(),r(8,"div",8),b("dismissOutside",function(){return n.active.set(null)}),m(9,"img",9),c(10,ue,1,0,"div",10),C(11,ve,5,11,"button",11,pe),c(13,fe,2,1,"div",12),c(14,be,1,1),l()()),e&2){let a;o(4),u("value",n.query())("placeholder",n.i18n.t("region.filterPlaceholder")),o(),d(n.query()?5:-1),o(),d(n.isSearching()?6:7),o(2),R("aspect-ratio",n.map().imageWidth+" / "+n.map().imageHeight),o(),u("src",n.map().image,q)("alt",n.region()+" map"),o(),d(n.isSearching()?10:-1),o(),w(n.visibleMarkers()),o(2),d(n.noResults()?13:-1),o(),d((a=n.activePreview())?14:-1,a)}},dependencies:[T,X,K,W,Z],encapsulation:2,changeDetection:0})};var he=()=>({});function Ce(i,t){if(i&1&&m(0,"app-region-map",4),i&2){let e=s(),n=s();u("map",t)("region",n.region())("previews",e.previews??H(3,he))}}function we(i,t){if(i&1&&(r(0,"p",5),p(1),l()),i&2){let e=s(2);o(),M(" ",e.i18n.t("region.noMap")," ")}}function Me(i,t){if(i&1&&(r(0,"div",1)(1,"div")(2,"h1",2),p(3),l(),r(4,"p",3),p(5),l()(),c(6,Ce,1,4,"app-region-map",4)(7,we,2,1,"p",5),r(8,"section")(9,"h2",6),p(10),l(),m(11,"app-location-list",7),l()()),i&2){let e,n=t,a=s();G("opacity-60",a.page.isLoading()),o(3),g(n.meta.name),o(2),x("",n.locations.length," ",a.i18n.t("home.locations")),o(),d((e=n.map)?6:7,e),o(4),g(a.i18n.t("region.locations")),o(),u("region",a.region())("locations",n.locations)}}var ie=class i{region=v.required();i18n=f(h);data=f(Y);title=f(B);page=U({params:()=>this.region(),loader:({params:t})=>this.data.region(t)});view=J(()=>this.page.value());constructor(){O(()=>{let t=this.page.value();t&&this.title.setTitle(`${t.meta.name} \u2014 Spawns | PBO Atlas`)})}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=y({type:i,selectors:[["app-region-page"]],inputs:{region:[1,"region"]},decls:1,vars:1,consts:[[1,"space-y-8","transition-opacity","duration-200",3,"opacity-60"],[1,"space-y-8","transition-opacity","duration-200"],[1,"text-2xl","font-extrabold","tracking-tight"],[1,"text-sm","text-ink-dim"],[3,"map","region","previews"],[1,"rounded-lg","border","border-dashed","border-line","bg-surface","px-4","py-3","text-sm","text-ink-dim"],[1,"mb-4","text-lg","font-bold"],[3,"region","locations"]],template:function(e,n){if(e&1&&c(0,Me,12,9,"div",0),e&2){let a;d((a=n.view())?0:-1,a)}},dependencies:[I,L],encapsulation:2,changeDetection:0})};export{ie as RegionPageComponent};

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.