1import{a as C}from"./chunk-NH7CJJXB.js";import"./chunk-F6HGKLF6.js";import{j as y,k as _,v as h}from"./chunk-PXHED5G5.js";import"./chunk-FPPZ4BUR.js";import{Ob as s,Pb as i,Qb as r,Rb as v,_a as n,dc as u,ea as f,pb as g,rc as p,sc as d,tc as x,vb as c}from"./chunk-HP7ADE6B.js";import"./chunk-WWX6BADO.js";function R(o,e){if(o&1&&(i(0,"a",9),p(1),r()),o&2){let t=e.$implicit;n(),x(" ",t," ")}}function T(o,e){if(o&1&&(i(0,"div",7),c(1,R,2,1,"a",8),r()),o&2){let t=u();n(),s("ngForOf",t.flatRoutes)}}function w(o,e){if(o&1&&(i(0,"li",16)(1,"a",17),v(2,"i",18),i(3,"span",19),p(4),r()()()),o&2){let t=e.$implicit;n(4),d(t.destination)}}function M(o,e){if(o&1&&(i(0,"div",12)(1,"h3",13),p(2),r(),i(3,"ul",14),c(4,w,5,1,"li",15),r()()),o&2){let t=e.$implicit;n(2),d(t.title),n(2),s("ngForOf",t.routes)}}function k(o,e){if(o&1&&(i(0,"div",10),c(1,M,5,2,"div",11),r()),o&2){let t=u();n(),s("ngForOf",t.routeGroups)}}var O=class o{configService=f(C);layoutType="list";routeGroups=[];flatRoutes=[];ngOnInit(){let e=this.configService.settings?.topRoutes;if(e){this.layoutType=e.type||"list";let t=e.data||e;Array.isArray(t)&&(typeof t[0]=="string"?(this.flatRoutes=t,this.routeGroups=this.chunkRoutes(t)):(this.routeGroups=t,this.flatRoutes=this.flattenGroups(t)))}}flattenGroups(e){let t=e.reduce((a,l)=>l.routes?a.concat(l.routes.map(m=>m.destination)):a,[]);return[...new Set(t)]}chunkRoutes(e){let a=[];for(let l=0;l<e.length;l+=8){let m=e.slice(l,l+8);a.push({title:l===0?"Travel with us":"",routes:m.map(b=>({origin:"",destination:b}))})}return a}static \u0275fac=function(t){return new(t||o)};static \u0275cmp=g({type:o,selectors:[["app-home-top-routes"]],decls:8,vars:2,consts:[[1,"rounded-4","my-2","border-theme","container","shadow-sm",2,"background-color","var(--surface-color)"],[1,"row","g-0"],[1,"col-12","p-4"],[1,"d-flex","flex-column"],[1,"fw-bold","text-start","fs-4","theme-text-primary","mb-0"],["class","d-flex flex-wrap gap-2 mt-1",4,"ngIf"],["class","row w-100 g-4 mt-1",4,"ngIf"],[1,"d-flex","flex-wrap","gap-2","mt-1"],["class","route-pill transition-all text-decoration-none","style","cursor: pointer;",4,"ngFor","ngForOf"],[1,"route-pill","transition-all","text-decoration-none",2,"cursor","pointer"],[1,"row","w-100","g-4","mt-1"],["class","col-6 col-md",4,"ngFor","ngForOf"],[1,"col-6","col-md"],[1,"fw-bold","mb-3","fs-6","theme-text-secondary","text-uppercase","letter-spacing-1"],[1,"list-unstyled","d-flex","flex-column","gap-2","mb-0"],["class","route-link",4,"ngFor","ngForOf"],[1,"route-link"],[1,"text-decoration-none","transition-all","d-flex","align-items-center","gap-2","theme-text-primary",2,"cursor","pointer"],[1,"bi","bi-chevron-right","small","opacity-50"],[1,"fw-medium"]],template:function(t,a){t&1&&(i(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"h2",4),p(5," Our top routes "),r(),c(6,T,2,1,"div",5)(7,k,2,1,"div",6),r()()()()),t&2&&(n(6),s("ngIf",a.layoutType==="pills"),n(),s("ngIf",a.layoutType==="list"))},dependencies:[y,h,_],styles:[".route-link[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:var(--text-color, #17141f);font-size:.95rem}.route-link[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{color:var(--secondary-color, #D84315)!important;padding-left:4px}.route-link[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover i[_ngcontent-%COMP%]{opacity:1!important;color:var(--secondary-color, #D84315)}.route-pill[_ngcontent-%COMP%]{display:inline-block;padding:.5rem 1.25rem;border-radius:50px;background:var(--primary-color-50, #f0f1f9);color:var(--primary-color-700, #34398E);font-weight:600;font-size:.85rem;border:1px solid var(--primary-color-100, #e2e4f3)}.route-pill[_ngcontent-%COMP%]:hover{background:var(--primary-color, #34398E);color:#fff;border-color:var(--primary-color, #34398E);transform:translateY(-2px);box-shadow:0 4px 12px #34398e26}.letter-spacing-1[_ngcontent-%COMP%]{letter-spacing:1px}.theme-text-secondary[_ngcontent-%COMP%]{color:var(--secondary-color, #D84315)}.transition-all[_ngcontent-%COMP%]{transition:all .25s cubic-bezier(.4,0,.2,1)}.border-theme[_ngcontent-%COMP%]{border:1px solid var(--border-color, #dee2e6)}.theme-text-primary[_ngcontent-%COMP%]{color:var(--primary-color, #34398E)}"]})};export{O as TopRoutesComponent};
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.