1import{c as le}from"./chunk-5XZPKJ27.js";import{a as ce,b as ue,c as me}from"./chunk-NORW2Y2Q.js";import{a as pe,b as de}from"./chunk-VLTOGYQN.js";import{f as se,h as he,k as _e}from"./chunk-4CV5JO3M.js";import{a as ne,g as oe,o as re,r as ae}from"./chunk-254575XU.js";import"./chunk-62NMBSC3.js";import{c as ie}from"./chunk-6D2QUQOV.js";import"./chunk-2ROWACLR.js";import{$ as Q,Aa as z,Ba as $,Da as _,Ea as B,F as f,Fa as C,Fb as G,Gb as J,Hb as K,I as D,J as m,K as h,Ka as q,Kb as U,Ma as u,Na as g,Nb as X,Oa as A,Pb as Y,Qa as O,V as v,W as V,Wb as Z,Y as s,Yb as ee,Zb as te,_ as R,ab as H,ba as S,gb as L,ha as b,ja as j,jb as N,ma as y,oa as w,pa as I,qa as P,ra as a,sa as r,ta as d,va as M,wa as k,wb as W,xa as x,za as F}from"./chunk-JLKYYNMX.js";import"./chunk-GF4ZPSU2.js";import"./chunk-QUJFQN2Y.js";import"./chunk-ONV3U6US.js";import"./chunk-M24JKSLN.js";import"./chunk-2567LHBE.js";import"./chunk-IK42NBGN.js";import"./chunk-KIVKP4MX.js";import"./chunk-VAOPZOZ3.js";import"./chunk-W7KF4ZXD.js";import"./chunk-JNU6S4QG.js";import"./chunk-IR3Y7UHA.js";import"./chunk-NETZAO6G.js";import"./chunk-4XVTOVX7.js";import"./chunk-BA2GHEYY.js";import"./chunk-LBMIQEU6.js";import"./chunk-WI5MSH4N.js";import"./chunk-JVPTAW3X.js";import"./chunk-CKP3SGE2.js";import"./chunk-E6QEEEAD.js";import"./chunk-NQCTWWJF.js";import"./chunk-LCPZ5VFL.js";import"./chunk-KIGWR2JZ.js";import"./chunk-FM4KOBIY.js";import"./chunk-M7HERQ5I.js";import"./chunk-4U6PRYVA.js";import"./chunk-FXFZIWDD.js";import"./chunk-CSG5OQLY.js";import"./chunk-VMHM3MLJ.js";import"./chunk-6WKZVARI.js";import"./chunk-C5RQ2IC2.js";import"./chunk-42C7ZIID.js";import{a as T,h as E}from"./chunk-LNJ3S2LQ.js";var fe=["searchInput"],xe=()=>[1,2,3,4,5,6,7,8,9,10];function Ce(e,l){e&1&&(a(0,"ion-item")(1,"ion-thumbnail",13),d(2,"ion-skeleton-text",14),r(),a(3,"ion-label")(4,"strong"),d(5,"ion-skeleton-text",15),r(),a(6,"ion-note"),d(7,"ion-skeleton-text",16),r()(),a(8,"ion-note",17),d(9,"ion-skeleton-text",18),r()()),e&2&&(s(2),b("animated",!0))}function ve(e,l){e&1&&(a(0,"ion-list",10),I(1,Ce,10,1,"ion-item",null,w),r()),e&2&&(s(),P(q(0,xe)))}function be(e,l){if(e&1&&(a(0,"div",11)(1,"p"),_(2),u(3,"translate"),r(),a(4,"p"),_(5),r()()),e&2){let o=x(2);s(2),C(" ",g(3,2,"search.errorMsg")," "),s(3),C(" ",o.errorMsg()," ")}}function ke(e,l){e&1&&(a(0,"div",11),_(1),u(2,"translate"),r()),e&2&&(s(),C(" ",g(2,1,"search.invalidQueryMsg")," "))}function Se(e,l){e&1&&(a(0,"div",11),_(1),u(2,"translate"),r()),e&2&&(s(),C(" ",g(2,1,"search.noResultsMsg")," "))}function ye(e,l){if(e&1&&(a(0,"ion-note",23),_(1),u(2,"location"),r()),e&2){let o=x().$implicit;s(),B(g(2,1,o.location))}}function we(e,l){if(e&1&&(a(0,"ion-note",24),_(1),u(2,"distance"),r()),e&2){let o=x().$implicit;s(),B(g(2,1,o.distance))}}function Ie(e,l){if(e&1){let o=M();a(0,"ion-item",19),k("pointerdown",function(){let i=m(o).$implicit,t=x(3);return h(t.goBackToMap(i))}),a(1,"div",20),d(2,"ion-icon",7),u(3,"categoryIcon"),a(4,"div"),_(5),u(6,"translate"),r()(),a(7,"ion-label")(8,"div",21),d(9,"span",22),u(10,"highlight"),_(11),r(),S(12,ye,3,3,"ion-note",23),r(),S(13,we,3,3,"ion-note",24),r()}if(e&2){let o=l.$implicit,n=x(3);s(2),b("name",g(3,6,o.type)),s(3),C(" ",g(6,8,"resultCategories."+(o==null?null:o.type))," "),s(4),b("innerHTML",A(10,10,o.name,n.inputQuery()),V),s(2),C(" ",o.elevation!==null?" ("+o.elevation+" m)":""," "),s(),y(o.location?12:-1),s(),y(o.distance?13:-1)}}function Pe(e,l){if(e&1&&(a(0,"ion-list",12),I(1,Ie,14,13,"ion-item",null,w),r()),e&2){let o=x(2);s(),P(o.searchResults().slice(0,8))}}function Me(e,l){if(e&1&&(a(0,"div",9),S(1,ve,3,1,"ion-list",10)(2,be,6,4,"div",11)(3,ke,3,3,"div",11)(4,Se,3,3,"div",11)(5,Pe,3,0,"ion-list",12),r()),e&2){let o=x();s(),y(o.searchInProgress()?1:o.errorMsg()?2:o.invalidQuery()?3:o.noResults()?4:5)}}var Ke=(()=>{let l=class l{constructor(){this.clickedObject=R(null),this.router=f(N),this.route=f(L),this.menuCtrl=f(Z),this.searchService=f(pe),this.mapService=f(_e),this.measureService=f(le),this.routePlanningService=f(he),this.searchResults=v([]),this.inputQuery=v(""),this.searchInProgress=v(!1),this.invalidQuery=O(()=>this.inputQuery().length<2),this.noResults=O(()=>this.searchResults().length==0&&!this.invalidQuery()&&!this.searchInProgress()),this.errorMsg=v(""),this.focused=v(!1),ne({menu:re,search:ae,close:oe,"plan-route":"assets/icon/route_planning/plan_route.svg"})}ngOnChanges(n){var t,c;let i=(t=n.clickedObject)==null?void 0:t.currentValue;i&&((c=this.searchInput)==null||c.writeValue(i.name))}onFocus(){this.focused.set(!0)}onBlur(){this.focused.set(!1)}handleInput(n){return E(this,null,function*(){this.errorMsg.set("");let t=n.target.value||"";if(console.log(`handleInput: ${t}`),this.inputQuery.set(t),t.length<2){this.searchResults.set([]);return}this.searchInProgress.set(!0);let c={query:t};try{let p=yield this.searchService.search(c);this.searchResults.set(p)}catch(p){console.warn("Error caught!"),p instanceof H?p.status===0?this.errorMsg.set("Network error. Please check your internet connection."):this.errorMsg.set(`Error ${p.status}: ${p.message}`):this.errorMsg.set("An unexpected error occurred.")}this.searchInProgress.set(!1)})}openMenu(){this.menuCtrl.open("side-menu")}triggerSearch(){var i;this.searchResults().length>0&&((i=this.searchInput)==null||i.getInputElement().then(t=>t.blur()),this.goBackToMap(this.searchResults()[0]))}clear(){var n;(n=this.searchInput)==null||n.writeValue(""),this.clickedObject.
1set(null),this.inputQuery.set(""),this.searchResults.set([]),this.clearDetailsResultQueryParams(),this.mapService.clearSearchResultSource(),document.documentElement.style.setProperty("--side-pannel-search-details-offset","0px")}clearAll(){this.clickedObject()&&this.clear(),this.measureService.isMeasuring()&&this.measureService.close()}clearDetailsResultQueryParams(){let n=this.route.snapshot.queryParams,i=T({},n);delete i.id,delete i.type,delete i.bboxA,delete i.bboxB,delete i.bboxC,delete i.bboxD,delete i.point,delete i.s_route,this.router.navigate([],{relativeTo:this.route,queryParams:i})}goBackToMap(n){n!==void 0?this.router.navigate(["/map"],{queryParams:{id:n.full_id,type:n.type,bboxA:n.bbox[0][0],bboxB:n.bbox[0][1],bboxC:n.bbox[1][0],bboxD:n.bbox[1][1],point:n.point}}):this.router.navigate(["/map"])}navigate(){var i;let n=this.clickedObject()?this.clickedObject():null;(i=this.searchInput)==null||i.getInputElement().then(t=>t.blur()),this.clear(),n?this.routePlanningService.startPlanning(n,se.End):this.routePlanningService.startPlanning()}};l.\u0275fac=function(i){return new(i||l)},l.\u0275cmp=Q({type:l,selectors:[["app-desktop-search-bar"]],viewQuery:function(i,t){if(i&1&&F(fe,5),i&2){let c;z(c=$())&&(t.searchInput=c.first)}},inputs:{clickedObject:[1,"clickedObject"]},outputs:{clickedObject:"clickedObjectChange"},features:[D],decls:13,vars:7,consts:[["searchInput",""],[1,"search-bar-wrapper","no-touch"],[1,"search-bar"],["fill","clear",3,"click"],["name","menu"],[1,"divider"],["mode","md","type","text","debounce","250","minlength","2","maxlength","128",3,"ionInput","ionFocus","ionBlur","keyup.enter","placeholder"],[3,"name"],["name","plan-route"],[1,"search-results-wrapper"],["lines","full",2,"height","280px","overflow","hidden"],[1,"block"],["lines","full"],["slot","start"],[3,"animated"],["animated","",2,"width","70%"],["animated","",2,"width","40%"],["slot","end"],["animated","",2,"width","50px"],[3,"pointerdown"],["slot","start",1,"icon-wrapper"],[1,"result-label"],[3,"innerHTML"],[1,"location-note"],["slot","end",1,"distance-note"]],template:function(i,t){if(i&1){let c=M();a(0,"div",1)(1,"div",2)(2,"ion-button",3),k("click",function(){return m(c),h(t.openMenu())}),d(3,"ion-icon",4),r(),d(4,"div",5),a(5,"ion-input",6,0),u(7,"translate"),k("ionInput",function(ge){return m(c),h(t.handleInput(ge))})("ionFocus",function(){return m(c),h(t.onFocus())})("ionBlur",function(){return m(c),h(t.onBlur())})("keyup.enter",function(){return m(c),h(t.triggerSearch())}),r(),a(8,"ion-button",3),k("click",function(){return m(c),h(t.clickedObject()||t.measureService.isMeasuring()?t.clearAll():t.triggerSearch())}),d(9,"ion-icon",7),r(),a(10,"ion-button",3),k("click",function(){return m(c),h(t.navigate())}),d(11,"ion-icon",8),r()(),S(12,Me,6,1,"div",9),r()}i&2&&(s(),j("open",t.inputQuery()&&t.focused()),s(4),b("placeholder",g(7,5,"map.searchbarPlaceholder")),s(4),b("name",t.clickedObject()||t.measureService.isMeasuring()?"close":"search"),s(3),y(t.inputQuery()&&t.focused()?12:-1))},dependencies:[W,ee,te,K,G,J,U,X,Y,ce,de,me,ue,ie],styles:[".search-bar-wrapper[_ngcontent-%COMP%]{position:fixed;top:calc(var(--c-sat) + var(--c-gpm));left:var(--c-gpm);z-index:1200}.search-bar[_ngcontent-%COMP%]{display:flex;align-items:center;height:48px;width:var(--desktop-searchbar-width);padding-inline:8px;background:var(--ion-background-color, #fff);border-radius:12px;box-shadow:0 4px 4px #00000040}.search-bar.open[_ngcontent-%COMP%]{border-radius:12px 12px 0 0;background:#f2f2f2}ion-button[_ngcontent-%COMP%]{--padding-start: 4;--padding-end: 4}ion-icon[_ngcontent-%COMP%]{font-size:32px;color:#84888c}.divider[_ngcontent-%COMP%]{width:1px;height:60%;background:#d6d6d6;margin:0 8px}ion-input[_ngcontent-%COMP%]{flex:1 1 auto;--padding-top: 0;--padding-bottom: 0;--border-width: 0;--background: transparent;--color: black;--highlight-color-valid: black;--highlight-height: 0px;font-size:1rem}.search-icon[_ngcontent-%COMP%]{--padding-start: 4;--padding-end: 4}.search-results-wrapper[_ngcontent-%COMP%]{position:absolute;left:0;right:0;width:var(--desktop-searchbar-width);overflow-y:auto;background:var(--ion-background-color, #fff);border-radius:0 0 12px 12px;box-shadow:0 4px 4px #00000040}.block[_ngcontent-%COMP%]{width:100%;height:280px;
1display:flex;align-items:center;justify-content:center;text-align:center;flex-direction:column}.icon-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.icon-wrapper[_ngcontent-%COMP%] ion-icon[_ngcontent-%COMP%]{width:28px;height:28px;font-size:28px}.icon-wrapper[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{font-size:9px;color:#515839;width:40px}.result-label[_ngcontent-%COMP%]{font-size:16px}.location-note[_ngcontent-%COMP%], .distance-note[_ngcontent-%COMP%]{font-size:12px;color:#5f6368}"],changeDetection:0});let e=l;return e})();export{Ke as DesktopSearchBarComponent};
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.