1import{b as z,c as A}from"./chunk-7NJOLN2E.js";import{i as B}from"./chunk-FBE7CBTX.js";import"./chunk-3ZWQCLTE.js";import{Ja as j}from"./chunk-GDICY5PE.js";import"./chunk-J4AQYUSP.js";import{$b as u,Ea as M,Fb as F,Ic as V,Kc as D,Nc as b,Oc as H,Pc as N,Zb as x,bc as I,cc as P,dc as y,ec as S,fc as r,gc as a,hc as f,ka as k,mb as T,nb as s,qc as g,sa as m,sd as C,ta as p,ua as _,va as O,xc as d,zc as c}from"./chunk-UHCKRBMZ.js";import"./chunk-YJXU6CME.js";var R=(i,l)=>l==null?null:l.title,K=(i,l)=>l==null?null:l.src;function U(i,l){if(i&1){let e=g();r(0,"button",14),d("click",function(){let t=m(e).$implicit,o=c();return p(o.setFilter(t))}),b(1),a()}if(i&2){let e=l.$implicit,n=c();D("active",n.activeLocationFilter()===e),s(),N(" ",e," ")}}function W(i,l){if(i&1&&(r(0,"h3",15),b(1),a()),i&2){let e=c().$implicit;s(),H(e==null?null:e.title)}}function Y(i,l){if(i&1){let e=g();r(0,"div",19),d("click",function(){let t=m(e).$implicit,o=c(2);return p(o.openLightbox(t))}),r(1,"img",20,0),d("error",function(){m(e);let t=V(2),o=c(2);return p(t.src=o.placeHolderImage+"?format=webp&quality=100&height=150")}),a()()}if(i&2){let e=l.$implicit;s(),S("ngSrc",(e==null?null:e.src)+"?format=webp&quality=100&height=320")("alt",e==null?null:e.alt)}}function J(i,l){if(i&1&&(r(0,"section"),x(1,W,2,1,"h3",15),r(2,"div",16)(3,"div",17),P(4,Y,3,2,"div",18,K),a()()()),i&2){let e=l.$implicit;s(),u(e!=null&&e.title?1:-1),s(3),y(e==null?null:e.photos)}}function Q(i,l){i&1&&(r(0,"div",11)(1,"p",21),b(2,"No photos available for this selection."),a()())}function X(i,l){if(i&1){let e=g();r(0,"button",27),d("click",function(t){m(e);let o=c(3);return t.stopPropagation(),p(o.prevPhoto())}),_(),r(1,"svg",28),f(2,"path",29),a()(),O(),r(3,"button",30),d("click",function(t){m(e);let o=c(3);return t.stopPropagation(),p(o.nextPhoto())}),_(),r(4,"svg",28),f(5,"path",31),a()()}}function Z(i,l){if(i&1){let e=g();r(0,"div",25)(1,"img",26,0),d("error",function(){m(e);let t=V(2),o=c(2);return p(t.src=o.placeHolderImage+"?format=webp&quality=100&height=150")})("click",function(t){return t.stopPropagation()}),a()(),x(3,X,6,0)}if(i&2){let e,n,t,o=c(2);s(),S("ngSrc",((e=o.allVisiblePhotos()[o.currentLightboxIndex()])==null?null:e.src)+"?format=webp&quality=100&height=750")("alt",(n=o.allVisiblePhotos()[o.currentLightboxIndex()])==null?null:n.alt),s(2),u(((t=o.allVisiblePhotos())==null?null:t.length)>1?3:-1)}}function tt(i,l){if(i&1){let e=g();r(0,"div",13)(1,"div",22),d("click",function(){m(e);let t=c();return p(t.closeLightbox())}),r(2,"button",23),d("click",function(t){m(e);let o=c();return t.stopPropagation(),p(o.closeLightbox())}),_(),r(3,"svg",24),f(4,"path",5),a()(),x(5,Z,4,3),a()()}if(i&2){let e,n=c();s(5),u(((e=n.allVisiblePhotos())==null?null:e.length)>0?5:-1)}}var ct=(()=>{let l=class l{constructor(){this.sideModalRef=k(z),this.data=k(A),this.placeHolderImage=B?.hotel,this.activeLocationFilter=M("All"),this.isLightboxOpen=M(!1),this.currentLightboxIndex=M(0),this.locations=C(()=>["All",...(this.data?.timeline??[]).map(o=>o.title),"Highlights"]),this.gallerySections=C(()=>{let n=this.data?.timelineStateSignal(),t=this.data?.serviceCatalog,o=this.data?.timeline??[],h=[];o.forEach(w=>{let G=n[w.id];if(!G)return;let L=Object.values(G).flatMap($=>{let v=t[$?.itemId];return!v||!v?.properties?.imageUrls?[]:v?.properties?.imageUrls.map(q=>({src:q,alt:v.name}))});L?.length>0&&h.push({title:w.title,photos:L})});let E=this.data?.heroImages;return E?.length&&h.push({title:"Highlights",photos:E.map(w=>({src:w,alt:"Destination Highlight"}))}),h}),this.filteredGallerySections=C(()=>{let n=this.gallerySections(),t=this.activeLocationFilter();return t==="All"?n:n.filter(o=>o?.title===t)}),this.allVisiblePhotos=C(()=>this.filteredGallerySections().flatMap(n=>n.photos))}onClose(){this.sideModalRef.close()}setFilter(n){this.activeLocationFilter.set(n)}openLightbox(n){let t=this.allVisiblePhotos().findIndex(o=>o.src===n.src);t>-1&&(this.currentLightboxIndex.set(t),this.isLightboxOpen.set(!0))}closeLightbox(){this.isLightboxOpen.set(!1)}nextPhoto(){this.currentLightboxIndex.update(n=>(n+1)%this.allVisiblePhotos()?.length)}prevPhoto(){this.currentLightboxIndex.update(n=>(n-1+this.allVisiblePhotos()?.length)%this.allVisiblePhotos()?.length)}onEscapeKey(){this.isLightboxOpen()?this.closeLightbox():this.onClose()}};l.\u0275fac=function(t){return new(t||l)},l.\u0275cmp=F({type:l,selectors:[["app-photo-gallery-modal"]],hostBindings:function(t,o){t&1&&d("keydown.escape",function(){return o.onEscapeKey()},T)},decls:18,vars:2,consts:[["imageEle",""],["side-modal-header","",1,"modal-header"],[1,"title"],[1,"close-btn",3,"click"],["xmlns","http://www.w3.org/2000/svg","fill","none","viewBox","0 0 24 24","stroke","currentColor",1,"h-6","w-6"],["stroke-linecap","round","stroke-linejoin","round","stroke-width","2","d","M6 18L18 6M6 6l12 12"],["side-modal-header","",1,"filters-bar"],[1,"filter-row","scrollbar-hidden"],[1,"filter-pill",3,"active"],["side-modal-body","",1,"modal-body"],[1,"gallery-wrap"],[1,"empty"],["side-modal-footer",""],[1,"notch-header"],[1,"filter-pill",3,"click"],[1,"section-title"],[1,"section"],[1,"ph
1oto-grid"],[1,"photo-item"],[1,"photo-item",3,"click"],["width","100","height","100",1,"photo-img",3,"error","ngSrc","alt"],[1,"empty-text"],[1,"lightbox",3,"click"],[1,"lightbox-close",3,"click"],["xmlns","http://www.w3.org/2000/svg","fill","none","viewBox","0 0 24 24","stroke","currentColor",1,"h-8","w-8"],[1,"lightbox-content"],["width","100","height","100",1,"lightbox-image",3,"error","click","ngSrc","alt"],[1,"nav-btn","nav-prev",3,"click"],["xmlns","http://www.w3.org/2000/svg","fill","none","viewBox","0 0 24 24","stroke","currentColor","stroke-width","2",1,"h-6","w-6"],["stroke-linecap","round","stroke-linejoin","round","d","M15 19l-7-7 7-7"],[1,"nav-btn","nav-next",3,"click"],["stroke-linecap","round","stroke-linejoin","round","d","M9 5l7 7-7 7"]],template:function(t,o){t&1&&(r(0,"div",1)(1,"div")(2,"h2",2),b(3,"Photo Gallery"),a()(),r(4,"button",3),d("click",function(){return o.onClose()}),_(),r(5,"svg",4),f(6,"path",5),a()()(),O(),r(7,"div",6)(8,"div",7),P(9,U,2,3,"button",8,I),a()(),r(11,"div",9)(12,"div",10),P(13,J,6,1,"section",null,R,!1,Q,3,0,"div",11),a()(),r(16,"div",12),x(17,tt,6,1,"div",13),a()),t&2&&(s(9),y(o.locations()),s(4),y(o.filteredGallerySections()),s(4),u(o.isLightboxOpen()?17:-1))},dependencies:[j],styles:["[_ngcontent-%COMP%]:root{--primary: #3a3a3a} .w-5{width:14px} .h-5{height:14px}.w-full[_ngcontent-%COMP%]{width:100%}.max-w-full[_ngcontent-%COMP%]{max-width:100%}.max-w-screen[_ngcontent-%COMP%]{max-width:100vw}.w-screen[_ngcontent-%COMP%]{width:100vw}.max-w-xl[_ngcontent-%COMP%]{max-width:28rem}.max-w-2xl[_ngcontent-%COMP%]{max-width:42rem}.max-w-3xl[_ngcontent-%COMP%]{max-width:48rem}.max-w-4xl[_ngcontent-%COMP%]{max-width:56rem}.max-w-5xl[_ngcontent-%COMP%]{max-width:64rem}.max-w-6xl[_ngcontent-%COMP%]{max-width:72rem}.max-w-7xl[_ngcontent-%COMP%]{max-width:80rem}.modal-header[_ngcontent-%COMP%]{flex-shrink:0;padding:1rem;border-bottom:1px solid #E5E7EB;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20;background-color:rgba(var(--ion-color-primary),.8);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.title[_ngcontent-%COMP%]{font-size:1.25rem!important;font-weight:700;color:#1f2937;margin:0}.close-btn[_ngcontent-%COMP%]{color:#6b7280;padding:.5rem;border-radius:9999px;background-color:#f3f4f6;transition:background-color .2s,color .2s}.close-btn[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:1.25rem;height:1.25rem}.close-btn[_ngcontent-%COMP%]:hover{color:#1f2937;background-color:#e5e7eb}.filters-bar[_ngcontent-%COMP%]{flex-shrink:0;padding:.5rem 1rem;border-bottom:1px solid #E5E7EB;background-color:rgba(var(--ion-color-primary),.8);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10}.filter-row[_ngcontent-%COMP%]{display:flex;column-gap:.5rem;overflow-x:auto}.filter-pill[_ngcontent-%COMP%]{padding:.5rem 1rem;border-radius:9999px;font-size:.875rem;font-weight:600;transition:background-color .2s,color .2s;background-color:#f3f4f6;color:#374151;flex-shrink:0}.filter-pill.active[_ngcontent-%COMP%]{background-color:#2563eb;color:var(--ion-color-primary)}.modal-body[_ngcontent-%COMP%]{padding:1.5rem}.gallery-wrap[_ngcontent-%COMP%]{row-gap:2.5rem;display:flex;flex-direction:column}.section-title[_ngcontent-%COMP%]{font-size:1.5rem;font-weight:700;color:#111827}.section[_ngcontent-%COMP%]{margin-top:1rem}.photo-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}@media(min-width:640px){.photo-grid[_ngcontent-%COMP%]{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}}@media(min-width:768px){.photo-grid[_ngcontent-%COMP%]{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}}@media(min-width:1024px){.photo-grid[_ngcontent-%COMP%]{grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}}.photo-item[_ngcontent-%COMP%]{position:relative;background-color:#f3f4f6;border-radius:.5rem;overflow:hidden;cursor:pointer;padding-top:75%}.photo-img[_ngcontent-%COMP%]{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .3s}.photo-item[_ngcontent-%COMP%]:hover .photo-img[_ngcontent-%COMP%]{transform:scale(1.05)}.empty[_ngcontent-%COMP%]{text-align:center;padding:4rem 0}.empty-text[_ngcontent-%COMP%]{color:#4b5563}.lightbox[_ngcontent-%COMP%]{position:fixed;inset:0;background-color:#000000e6;z-index:120;display:flex;align-items:center;justify-content:center}.lightbox-close[_ngcontent-%COMP%]{position:absolute;top:3rem;right:1rem;color:#ffffffb3;background-color:#0003;padding:.5rem .6rem;border-radius:9999px;transition:color .2s,background-color .2s;z-index:20;box-shadow:0 0 4px 1px #575757}.lightbox-close[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:1rem;height:1rem}.lightbox-close[_ngcontent-%COMP%]:hover{color:#fff;background-color:#0006}.lightbox-content[_ngcontent-%COMP%]{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:1rem}@media(min-width:768px){.lightbox-content[_ngcontent-%COMP%]{padding:2rem}}@media(min-width:1024px){.lightbox-content[_ngcontent-%COMP%]{padding:4rem}}.lightbox-image[_ngcontent-%COMP%]{max-width:100%;max-height:100%;object-fit:contain;-webkit-user-select:none;user-select:none}.nav-btn[_ngcontent-%COMP%]{position:absolute;top:50%;transform:translateY(-50%);color:#fffc;background-color:#0006;padding:.75rem;border-radius:9999px;transition:background-color .2s,color .2s;box-shadow:0 0 4px 1px #575757}.nav-btn[_ngcontent-%COMP%] svg[_ngcontent-%COMP%]{width:1rem;height:1rem}.nav-btn[_ngcontent-%COMP%]:hover{color:#fff;background-color:#0009}.nav-prev[_ngcontent-%COMP%]{left:.5rem}.nav-next[_ngcontent-%COMP%]{right:.5rem}@media(min-width:768px){.nav-prev[_ngcontent-%COMP%]{left:1rem}.nav-next[_ngcontent-%COMP%]{right:1rem}}"],changeDetection:0});let i=l;return i})();export{ct as PhotoGalleryModalComponent};
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.