1import{c as ye}from"./chunk-IKSKABYO.js";import{a as ii}from"./chunk-OK2VBZL6.js";import{c as oi}from"./chunk-BZEFMZ6T.js";import{d as ti}from"./chunk-VLSFKEOV.js";import{j as ei}from"./chunk-QDIQSLWG.js";import{i as Kt}from"./chunk-GP6NTDRV.js";import{b as ke}from"./chunk-6P2LHHVP.js";import{a as Jt}from"./chunk-ROFNSK6L.js";import{e as Xt}from"./chunk-XB7DGOWM.js";import{Ab as Ht,H as $e,I as Qe,K as Ne,Kb as Wt,L as ut,M as dt,Q as be,R as J,S as _e,ab as Gt,bc as qt,ca as Se,cb as Yt,g as he,i as Y,j as ce,n as fe,pa as lt,q as Fe,qa as Ue,ra as Nt,sa as Ut,y as je}from"./chunk-6DKPNU7V.js";import{$ as Ct,$a as m,$e as ze,Ab as N,Cf as Ot,Cg as Lt,D as de,Dc as at,F as S,Fa as X,H as _t,Hc as d,He as Ze,Ic as p,Ig as Be,Jb as a,Jc as ct,Jg as Vt,K as vt,Kb as l,Ke as Rt,Kg as Bt,Lb as h,Lc as oe,Ld as Ee,Lg as Ft,Mb as b,Me as st,N as ot,Na as Te,Oa as D,P as B,Qb as Z,Ra as bt,Rb as z,Rd as wt,Sg as jt,T as H,Tb as y,Ua as St,Xd as Tt,Xe as Et,Ya as yt,Yb as v,Yc as Re,Yh as $t,_b as c,_d as Oe,a as $,be as pe,c as ft,ca as W,cc as ie,cg as kt,d as k,dc as L,dg as Zt,ec as V,ff as re,ga as w,gi as q,ha as nt,hb as Ae,hg as Le,hi as ge,ib as P,ic as K,id as U,ja as A,jg as ae,kb as xt,kc as ve,lg as zt,mb as O,n as T,nb as te,nc as Ce,ng as Ve,o as we,od as G,pc as Ie,qa as Q,qb as le,qg as Mt,ra as ee,rb as g,re as At,rg as mt,s as E,sf as Me,t as M,ta as u,tf as De,tg as Dt,ua as It,ui as Qt,xc as rt,ya as f,yd as ne,z as ue,za as _,zd as Pt}from"./chunk-QUVZK53Q.js";import{a as j,b as ht}from"./chunk-CLEIYJ6P.js";function fi(o,n){if(o&1&&b(0,"cx-carousel",3),o&2){let e=c().ngIf;c();let t=K(3);a("items",e)("hideIndicators",!1)("template",t)}}function _i(o,n){if(o&1&&(Z(0),g(1,fi,1,3,"cx-carousel",2),z()),o&2){let e=n.ngIf;m(),a("ngIf",e.length)}}function vi(o,n){if(o&1){let e=y();l(0,"cx-media",4),d(1,"async"),v("focus",function(){let i=f(e).item,r=c();return _(r.openImage(i.container))}),h()}if(o&2){let e=n.item,t=c();ve("is-active",p(1,3,t.isActive(e.container))),a("container",e.container)}}var Ci=["defaultImage"],Ii=["zoomContainer"],bi=["zoomedImage"],Si=["zoomButton"];function yi(o,n){if(o&1){let e=y();l(0,"button",13),d(1,"cxTranslate"),d(2,"cxTranslate"),v("click",function(){let i=f(e).ngIf,r=c(3);return _(r.openImage(i.container))}),b(3,"cx-icon",14),h()}if(o&2){let e=c(3);N("aria-label",p(1,3,"productImageZoomDialog.previousSlide"))("title",p(2,5,"productImageZoomDialog.previousSlide")),m(3),a("type",e.iconType.CARET_LEFT)}}function xi(o,n){if(o&1){let e=y();l(0,"cx-media",18,0),v("loaded",function(){f(e);let i=c(4);return _(i.onImageLoad())}),h()}if(o&2){let e=c(3).ngIf;a("container",e)}}function Pi(o,n){if(o&1){let e=y();l(0,"div",19,1)(2,"cx-media",20,2),v("mousemove",function(i){f(e);let r=c(4);return _(r.pointerMove(i))})("touchmove",function(i){f(e);let r=c(4);return _(r.touchMove(i))})("touchend",function(){f(e);let i=c(4);return _(i.clearTouch())})("loaded",function(){f(e);let i=c(4);return _(i.onImageLoad())}),h()()}if(o&2){let e=c(3).ngIf;m(2),a("container",e)}}function wi(o,n){if(o&1&&(l(0,"div",15),g(1,xi,2,1,"cx-media",16)(2,Pi,4,1,"div",17),h()),o&2){let e=c(3);m(),a("ngIf",!e.isZoomed),m(),a("ngIf",e.isZoomed)}}function Ti(o,n){if(o&1&&b(0,"cx-media",22,0),o&2){let e=c(3).ngIf;a("container",e)}}function Ai(o,n){if(o&1){let e=y();l(0,"div",19,1)(2,"cx-media",23,2),v("mousemove",function(i){f(e);let r=c(4);return _(r.pointerMove(i))})("touchmove",function(i){f(e);let r=c(4);return _(r.touchMove(i))})("touchend",function(){f(e);let i=c(4);return _(i.clearTouch())}),h()()}if(o&2){let e=c(3).ngIf;m(2),a("container",e)}}function Ri(o,n){if(o&1&&(Z(0),g(1,Ti,2,1,"cx-media",21)(2,Ai,4,1,"div",17),z()),o&2){let e=c(3);m(),a("ngIf",!e.isZoomed),m(),a("ngIf",e.isZoomed)}}function Ei(o,n){if(o&1){let e=y();l(0,"button",13),d(1,"cxTranslate"),d(2,"cxTranslate"),v("click",function(){let i=f(e).ngIf,r=c(3);return _(r.openImage(i.container))}),b(3,"cx-icon",14),h()}if(o&2){let e=c(3);N("aria-label",p(1,3,"productImageZoomDialog.nextSlide"))("title",p(2,5,"productImageZoomDialog.nextSlide")),m(3),a("type",e.iconType.CARET_RIGHT)}}function Oi(o,n){if(o&1&&(l(0,"div",8)(1,"div",9),g(2,yi,4,7,"button",10),d(3,"async"),h(),g(4,wi,3,2,"div",11)(5,Ri,3,2,"ng-container",12),l(6,"div",9),g(7,Ei,4,7,"button",10),d(8,"async"),h()()),o&2){let e=n.ngIf,t=c(2);m(2),a("ngIf",p(3,4,t.getPreviousProduct(e))),m(2),a("cxFeature","a11yKeyboardAccessibleZoom"),m(),a("cxFeature","!a11yKeyboardAccessibleZoom"),m(2),a("ngIf",p(8,6,t.getNextProduct(e)))}}function ki(o,n){if(o&1&&b(0,"cx-icon",27),o&2){let e=c(3);a("type",e.iconType.SEARCH_PLUS)}}function Zi(o,n){if(o&1&&b(0,"cx-icon",27),o&2){let e=c(3);a("type",e.iconType.SEARCH_MINUS)}}function zi(o,n){if(o&1){let e=y();l(0,"div",24)(1,"button",25,3),d(3,"cxTranslate"),d(4,"cxTranslate"),d(5,"async"),d(6,"cxTranslate"),d(7,"cxTranslate"),v("click",function(){f(e);let i=c(2);return _(i.zoom())}),g(8,ki,1,1,"cx-icon",26)(9,Zi,1,1,"cx-icon",26),h()()}if(o&2){let e=c(2);m(),a("title",rt(e.isZoomed?p(3,6,"common.zoomOut"):p(4,8,"common.zoomIn")))("disabled",!p(5,10,e.imageLoaded)),N("aria-label",e.isZoomed?p(6,12,"common.zoomOut"):p(7,14,"common.zoomIn")),m(7),a("ngIf",!e.isZoomed),m(),a("ngIf",e.isZoomed)}}function Mi(o,n){if(o&1&&(Z(0),g(1,Oi,9,8,"div",6),d(2,"async"),g(3,zi,10,16,"div",7),z()),o&2){let e=c();m(),a("ngIf",p(2,2,e.thumbnails$)),m(2),a("cxFeature","a11yKeyboardAccessibleZoom")}}var Di=["expandButton"];function Li(o,n){if(o&1){let e=y();l(0,"button",3,0),v("click",function(){f(e);let i=c();return _(i.triggerZoom())}),Ce(2),d(3,"cxTranslate"),b(4,"cx-icon",4),h()}if(o&2){let e=c();
1m(2),Ie(" ",p(3,2,"productImageZoomTrigger.expand")," "),m(2),a("type",e.iconType.EXPAND_ARROWS)}}function Vi(o,n){if(o&1){let e=y();l(0,"button",5,0),v("click",function(){f(e);let i=c();return _(i.triggerZoom())}),l(2,"span"),Ce(3),d(4,"cxTranslate"),b(5,"cx-icon",4),h()()}if(o&2){let e=c();m(3),Ie(" ",p(4,2,"productImageZoomTrigger.expand")," "),m(2),a("type",e.iconType.EXPAND_ARROWS)}}var ri=o=>({product:o});function Bi(o,n){if(o&1){let e=y();l(0,"cx-media",4),d(1,"async"),v("click",function(){f(e);let i=c(2);return _(i.triggerZoom(!0))}),h()}if(o&2){let e=n.$implicit,t=c().ngIf;a("container",t)("fetchPriority",p(1,2,e.fetchPriority$))}}function Fi(o,n){if(o&1){let e=y();Z(0),g(1,Bi,2,4,"cx-media",2),l(2,"cx-product-image-zoom-trigger",3),v("dialogClose",function(){f(e);let i=c();return _(i.triggerZoom(!1))}),h(),z()}if(o&2){let e=c();m(2),a("expandImage",e.expandImage.value)("galleryIndex",e.selectedIndex)}}function ji(o,n){if(o&1&&(b(0,"cx-carousel-scrolling",7),d(1,"cxTranslate")),o&2){let e=c(2).ngIf,t=c().ngIf,i=c(),r=K(5);a("items",t)("template",r)("trackByFn",i.trackByFn),N("aria-label",ct(1,4,"carousel.carouselForProduct",at(7,ri,e.name)))}}function $i(o,n){if(o&1&&(Z(0),g(1,ji,2,9,"cx-carousel-scrolling",6),z()),o&2){let e=c(2).ngIf;m(),a("ngIf",e.length)}}function Qi(o,n){if(o&1&&(b(0,"cx-carousel",9),d(1,"cxTranslate")),o&2){let e=c(2).ngIf,t=c().ngIf;c();let i=K(5);a("items",t)("hideIndicators",!1)("template",i),N("aria-label",ct(1,4,"carousel.carouselForProduct",at(7,ri,e.name)))}}function Ni(o,n){if(o&1&&(Z(0),g(1,Qi,2,9,"cx-carousel",8),z()),o&2){let e=c(2).ngIf;m(),a("ngIf",e.length)}}function Ui(o,n){o&1&&(Z(0),g(1,$i,2,1,"ng-container",5)(2,Ni,2,1,"ng-container",5),z()),o&2&&(m(),a("cxFeature","productCarouselScrolling"),m(),a("cxFeature","!productCarouselScrolling"))}function Gi(o,n){if(o&1&&(Z(0),g(1,Ui,3,2,"ng-container",1),d(2,"async"),z()),o&2){let e=c();m(),a("ngIf",p(2,1,e.product$))}}function Yi(o,n){if(o&1){let e=y();l(0,"cx-media",10),d(1,"async"),v("focus",function(){let i=f(e).item,r=c();return _(r.openImage(i.container))}),h()}if(o&2){let e=n.item,t=c();ve("is-active",p(1,3,t.isActive(e.container))),a("container",e.container)}}var ai=(()=>{class o{constructor(){this.mainMediaContainer=new k({}),this.productImage=new X,this.subscription=new $}ngOnInit(){this.subscription.add(this.activeThumb.subscribe(e=>{this.mainMediaContainer.next(e)}))}openImage(e){this.mainMediaContainer.next(e),typeof e.zoom?.galleryIndex=="number"&&this.productImage.emit({image:e,index:e.zoom.galleryIndex})}isActive(e){return this.mainMediaContainer.asObservable().pipe(S(re),E(t=>t.zoom?.url&&e.zoom?.url&&t.zoom.url===e.zoom.url))}ngOnDestroy(){this.subscription.unsubscribe()}static{this.\u0275fac=function(t){return new(t||o)}}static{this.\u0275cmp=O({type:o,selectors:[["cx-product-image-zoom-thumbnails"]],inputs:{thumbs$:"thumbs$",activeThumb:"activeThumb"},outputs:{productImage:"productImage"},decls:4,vars:3,consts:[["thumb",""],[4,"ngIf"],["class","thumbs","itemWidth","70px",3,"items","hideIndicators","template",4,"ngIf"],["itemWidth","70px",1,"thumbs",3,"items","hideIndicators","template"],["cxFocusableCarouselItem","","tabindex","0",3,"focus","container"]],template:function(t,i){t&1&&(g(0,_i,2,1,"ng-container",1),d(1,"async"),g(2,vi,2,5,"ng-template",null,0,oe)),t&2&&a("ngIf",p(1,1,i.thumbs$))},dependencies:[U,Se,J,lt,G],encapsulation:2,changeDetection:0})}}return o})(),ci=(()=>{class o{get defaultImage(){return this._defaultImage}set defaultImage(e){e&&(this._defaultImage=e,this.defaultImageReady.next(!0))}get zoomImage(){return this._zoomImage}set zoomImage(e){e&&(this._zoomImage=e,this.zoomReady.next(!0))}constructor(e,t,i,r){this.currentProductService=e,this.renderer=t,this.cdRef=i,this.breakpointService=r,this.iconType=he,this.mainMediaContainer=new k(null),this.defaultImageReady=new k(!1),this.zoomReady=new k(!1),this.imageLoaded=new k(!1),this.subscription=new $,this.mainMediaContainer$=this.mainMediaContainer.asObservable(),this.defaultImageReady$=this.defaultImageReady.asObservable(),this.zoomReady$=this.zoomReady.asObservable(),this.featureConfigService=It(zt),this.activeThumb=new X,this.defaultImageClickHandler$=this.defaultImageReady$.pipe(S(Boolean),w(s=>de(...this.clickOrDoubleClick(this.defaultImage)).pipe(A(()=>this.zoom())))),this.zoomImageClickHandler$=this.zoomReady$.pipe(S(Boolean),w(s=>de(...this.clickOrDoubleClick(this.zoomImage)).pipe(A(()=>this.zoom())))),this.startCoords=null,this.left=0,this.top=0,this.isZoomed=!1,this.product$=this.currentProductService.getProduct().pipe(S(re),H(),A(s=>{if(this.galleryIndex){let C=Array.isArray(s.images?.GALLERY)?s.images?.GALLERY.find(I=>I.zoom?.galleryIndex===this.galleryIndex):s.images?.GALLERY;this.mainMediaContainer.next(C||null)}else this.mainMediaContainer.next(s.images?.PRIMARY?s.images.PRIMARY:{})}),W(1)),this.thumbnails$=this.product$.pipe(E(s=>this.createThumbs(s)),W(1)),this.mainImage$=M([this.product$,this.mainMediaContainer$]).pipe(E(([,s])=>s)),mt("a11yKeyboardAccessibleZoom")}ngOnInit(){this.subscription.add(this.defaultImageClickHandler$.subscribe()),this.subscription.add(this.zoomImageClickHandler$.subscribe())}openImage(e){this.mainMediaContainer.next(e),this.activeThumb.emit(e)}getActive(){return Array.isArray(this.mainMediaContainer.value)?this.mainMediaContainer.value[0].thumbnail?.galleryIndex||0:this.mainMediaContainer?.value?.thumbnail?.galleryIndex||0}getPreviousProduct(e){let t=this.getActive();return t===0?e[t]:e[t-1]}getNextProduct(e){let t=this.getActive();return t===e.length-1?e[t]:e[t+1]}zoom(){this.isZoomed=!this.isZoomed,this.startCoords=null,this.left=0,this.top=0,this.cdRef.markForCheck(),this.featureConfigService.isEnabled("a11yKeyboardAccessibleZoom")&&(this.imageLoaded.next(!1),this.imageLoaded.pipe(S(Boolean),B(1)).subscribe(()=>{setTimeout(()=>{this.zoomButton.nativeElement.focus()},1)}))}touchMove(e){let t=e.touches[0]||e.changedTouches[0],i=this.zoomedImage?.nativeElement?.getBoundingClientRect(),r=this.zoomedImage?.nativeElement?.firstChild;this.startCoords||(this.startCoords={x:t.clientX,y:t.clientY}),this.left+=t.clientX-this.startCoords.x,this.top+=t.clientY-this.startCoords.y,this.moveImage(this.left,this.top,i,r),this.startCoords={x:t.clientX,y:t.clientY}}clearTouch(){this.startCoords=null}pointerMove(e){let t=this.zoomedImage.nativeElement.getBoundingClientRect(),i=this.zoomedImage.nativeElement.firstChild,{positionX:r,positionY:s}=this.calculatePointerMovePosition(this.zoomedImage,e.clientX,e.clientY);this.moveImage(r,s,t,i)}changeImage(e){this.mainMediaContainer.next(e.image)}moveImage(e,t,i,r){let{x:s,y:C}=this.handleOutOfBounds(e,t,r,i);r&&(this.renderer.setStyle(r,"left",s+"px"),this.renderer.setStyle(r,"top",C+"px"))}ngOnDestroy(){this.subscription.unsubscribe()}clickOrDoubleClick(e){return[ue(e.nativeElement,"click").pipe(w(()=>this.breakpointService.isUp(fe.md)),S(Boolean)),ue(e.nativeElement,"dblclick").pipe(w(()=>this.breakpointService.isDown(fe.lg)),S(Boolean))]}createThumbs(e){return!e.images||!e.images.GALLERY||Array.isArray(e.images.GALLERY)&&e.images.GALLERY.length<2?[]:e.images.GALLERY.map(i=>T({container:i}))}handleOutOfBounds(e,t,i,r){return t<=-i?.height+60&&(t=-i?.height+60),t>=r?.height-60&&(t=r?.height-60),e<=-i?.width-r?.width/2+60&&(e=-i?.width-r?.width/2+60),e>=i?.width+r?.width/2-60&&(e=i?.width+r?.width/2-60),{x:e,y:t}}calculatePointerMovePosition(e,t,i){let r=e.nativeElement.getBoundingClientRect(),s=t-r.left,C=i-r.top,I=-s+e.nativeElement.clientWidth/2,x=-C+e.nativeElement.clientHeight/2;return{positionX:I,positionY:x}}onImageLoad(){this.imageLoaded.next(!0)}static{this.\u0275fac=function(t){return new(t||o)(P(be),P(Ae),P(Re),P(je))}}static{this.\u0275cmp=O({type:o,selectors:[["cx-product-image-zoom-view"]],viewQuery:function(t,i){if(t&1&&ie(Ci,5,D)(Ii,5,D)(bi,5,D)(Si,5),t&2){let r;L(r=V())&&(i.defaultImage=r.first),L(r=V())&&(i.zoomImage=r.first),L(r=V())&&(i.zoomedImage=r.first),L(r=V())&&(i.zoomButton=r.first)}},inputs:{galleryIndex:"galleryIndex"},decls:3,vars:5,consts:[["defaultImage",""],["zoomContainer",""],["zoomedImage",""],["zoomButton",""],[4,"ngIf"],[3,"productImage","thumbs$","activeThumb"],["class","cx-main-image-group",4,"ngIf"],["class","cx-zoom-btn-container",4,"cxFeature"],[1,"cx-main-image-group"],[1,"cx-navigate-image"],["class","btn btn-link",3,"click",4,"ngIf"],["class","cx-image-container",4,"cxFeature"],[4,"cxFeature"],[1,"btn","btn-link",3,"click"],[3,"type"],[1,"cx-image-container"],["class","cx-default-image-zoom",3,"container","loaded",4,"ngIf"],["class","cx-zoom-container",4,"ngIf"],[1,"cx-default-image-zoom",3,"loaded","container"],[1,"cx-zoom-container"],[1,"cx-image-zoomed",3,"mousemove","touchmove","touchend","loaded","container"],["class","cx-default-image-zoom",3,"container",4,"ngIf"],[1,"cx-default-image-zoom",3,"container"],[1,"cx-image-zoomed",3,"mousemove","touchmove","touchend","container"],[1,"cx-zoom-btn-container"],[1,"btn","btn-link","cx-zoom-btn",3,"click","disabled","title"],["class","cx-zoom-indicator",3,"type",4,"ngIf"],[1,"cx-zoom-indicator",3,"type"]],template:function(t,i){t&1&&(g(0,Mi,4,4,"ng-container",4),d(1,"async"),l(2,"cx-product-image-zoom-thumbnails",5),v("productImage",function(s){return i.changeImage(s)}),h()),t&2&&(a("ngIf",p(1,3,i.mainImage$)),m(2),a("thumbs$",i.thumbnails$)("activeThumb",i.activeThumb))},dependencies:[U,Y,Ve,J,ai,G,q],encapsulation:2,changeDetection:0})}}return o}
1)(),Ge=(()=>{class o{handleClick(e){e.target.tagName===this.el.nativeElement.tagName&&this.close("Cross click")}constructor(e,t){this.launchDialogService=e,this.el=t,this.iconType=he,this.focusConfig={trap:!0,block:!0,autofocus:"button",focusOnEscape:!0}}close(e=""){this.launchDialogService.closeDialog(e)}static{this.\u0275fac=function(t){return new(t||o)(P(dt),P(D))}}static{this.\u0275cmp=O({type:o,selectors:[["cx-product-image-zoom-dialog"]],hostBindings:function(t,i){t&1&&v("click",function(s){return i.handleClick(s)})},inputs:{galleryIndex:"galleryIndex"},decls:11,vars:13,consts:[["role","dialog",1,"modal-dialog","modal-dialog-centered","modal-lg","cx-image-zoom-dialog",3,"esc","cxFocus"],[1,"modal-content","cx-dialog-content"],[1,"modal-header","cx-dialog-header"],["type","button",1,"close",3,"click","title"],["aria-hidden","true"],[3,"type"],[1,"modal-body","cx-dialog-body"],[3,"galleryIndex"]],template:function(t,i){t&1&&(l(0,"div",0),d(1,"cxTranslate"),v("esc",function(){return i.close("Escape clicked")}),l(2,"div",1)(3,"div",2)(4,"button",3),d(5,"cxTranslate"),d(6,"cxTranslate"),v("click",function(){return i.close("cross click")}),l(7,"span",4),b(8,"cx-icon",5),h()()(),l(9,"div",6),b(10,"cx-product-image-zoom-view",7),h()()()),t&2&&(a("cxFocus",i.focusConfig),N("aria-label",p(1,7,"productImageZoomDialog.zoomedInImage")),m(4),a("title",rt(p(5,9,"productImageZoomDialog.close"))),N("aria-label",p(6,11,"productImageZoomDialog.close")),m(4),a("type",i.iconType.CLOSE),m(2),a("galleryIndex",i.galleryIndex))},dependencies:[$e,Y,ci,q],encapsulation:2,changeDetection:0})}}return o})(),Hi={launch:{PRODUCT_IMAGE_ZOOM:{inline:!0,component:Ge,dialogType:Ne.DIALOG}}},Ye=(()=>{class o{set expandImage(e){e&&this.triggerZoom()}constructor(e,t){this.launchDialogService=e,this.vcr=t,this.iconType=he,this.subscriptions=new $,this.dialogClose=new X,mt("a11yLinkBtnsToTertiaryBtns")}
1triggerZoom(){let e=this.launchDialogService.launch(ut.PRODUCT_IMAGE_ZOOM,this.vcr);e&&this.subscriptions.add(M([e,this.launchDialogService.dialogClose]).pipe(A(([t])=>{this.galleryIndex&&(t.instance.galleryIndex=this.galleryIndex)}),S(([,t])=>!!t),A(([t])=>{this.launchDialogService.clear(ut.PRODUCT_IMAGE_ZOOM),t?.destroy(),this.dialogClose.emit(),this.expandButton.nativeElement.focus()})).subscribe())}ngOnDestroy(){this.subscriptions.unsubscribe()}static{this.\u0275fac=function(t){return new(t||o)(P(dt),P(xt))}}static{this.\u0275cmp=O({type:o,selectors:[["cx-product-image-zoom-trigger"]],viewQuery:function(t,i){if(t&1&&ie(Di,5),t&2){let r;L(r=V())&&(i.expandButton=r.first)}},inputs:{galleryIndex:"galleryIndex",expandImage:"expandImage"},outputs:{dialogClose:"dialogClose"},decls:2,vars:2,consts:[["expandButton",""],["class","btn btn-tertiary",3,"click",4,"cxFeature"],["class","btn btn-link cx-action-link",3,"click",4,"cxFeature"],[1,"btn","btn-tertiary",3,"click"],[3,"type"],[1,"btn","btn-link","cx-action-link",3,"click"]],template:function(t,i){t&1&&g(0,Li,5,4,"button",1)(1,Vi,6,4,"button",2),t&2&&(a("cxFeature","a11yLinkBtnsToTertiaryBtns"),m(),a("cxFeature","!a11yLinkBtnsToTertiaryBtns"))},dependencies:[Ve,Y,q],encapsulation:2,changeDetection:0})}}return o})(),ni=(()=>{class o extends qt{constructor(e){super(e),this.currentProductService=e,this.expandImage=new k(!1),this.product$=this.product$}openImage(e){this.mainMediaContainer.next(e),this.selectedIndex=this.mainMediaContainer.value?.zoom?.galleryIndex}triggerZoom(e){this.expandImage.next(e)}static{this.\u0275fac=function(t){return new(t||o)(P(be))}}static{this.\u0275cmp=O({type:o,selectors:[["cx-product-images"]],features:[le],decls:6,vars:6,consts:[["thumb",""],[4,"ngIf"],[3,"container","fetchPriority","click",4,"cxLcpContext"],[3,"dialogClose","expandImage","galleryIndex"],[3,"click","container","fetchPriority"],[4,"cxFeature"],["role","region","tabindex","-1","class","thumbs",3,"items","template","trackByFn",4,"ngIf"],["role","region","tabindex","-1",1,"thumbs",3,"items","template","trackByFn"],["role","region","tabindex","-1","class","thumbs","itemWidth","120px",3,"items","hideIndicators","template",4,"ngIf"],["role","region","tabindex","-1","itemWidth","120px",1,"thumbs",3,"items","hideIndicators","template"],["cxFocusableCarouselItem","","tabindex","0","format","product",3,"focus","container"]],template:function(t,i){t&1&&(g(0,Fi,3,2,"ng-container",1),d(1,"async"),g(2,Gi,3,3,"ng-container",1),d(3,"async"),g(4,Yi,2,5,"ng-template",null,0,oe)),t&2&&(a("ngIf",p(1,2,i.mainImage$)),m(2),a("ngIf",p(3,4,i.thumbs$)))},dependencies:[U,Gt,J,Ye,Ve,Nt,Se,lt,G,q],encapsulation:2,changeDetection:0})}}return o})(),pt=(()=>{class o{static{this.\u0275fac=function(t){return new(t||o)}}static{this.\u0275mod=te({type:o})}static{this.\u0275inj=ee({providers:[st(Hi),st({cmsComponents:{ProductImagesComponent:{component:ni}}})],imports:[Ue,Ut,ne,ge,ce,Qe,_e,Fe,pe,Mt,Yt,Ge,ni,ai,Ye,ci]})}}return o})(),Fo=(()=>{class o{static{this.\u0275fac=function(t){return new(t||o)}}static{this.\u0275mod=te({type:o})}static{this.\u0275inj=ee({imports:[pt]})}}return o})();var si=class o{static{this.\u0275fac=function(e){return new(e||o)}}static{this.\u0275mod=te({type:o})}static{this.\u0275inj=ee({imports:[ne,ce,ne,pe,ce,_e,$t,ge]})}};var Wi=["carousel"];function qi(o,n){if(o&1&&b(0,"cx-carousel",4,1),o&2){let e=c().ngIf;c();let t=K(3);a("items",e)("hideIndicators",!1)("template",t)}}function Xi(o,n){if(o&1&&(Z(0),g(1,qi,2,3,"cx-carousel",3),z()),o&2){let e=n.ngIf;m(),a("ngIf",e.length)}}function Ki(o,n){if(o&1){let e=y();l(0,"cx-media",5),d(1,"async"),v("focus",function(){let i=f(e).item,r=c();return _(r.openImage(i.container))})("click",function(){let i=f(e).item,r=c();return _(r.openImage(i.container))}),h()}if(o&2){let e=n.item,t=c();ve("is-active",p(1,3,t.isActive(e.container))),a("container",e.container)}}var He=class o{constructor(n){this.element=n;this.mainMediaContainer=new k({});this.productImage=new X;this.subscription=new $;this.destroy$=new ft}ngOnInit(){try{this.thumbs$.pipe(nt(this.destroy$)).subscribe(n=>{let e=[];
1n.forEach(t=>{let i=t;this.subscription.add(i.subscribe(r=>{let s=r?.container?.original?.url;s=s.replace("&prid=original","&prid=thumb");let C=j({},r),I=j({},C.container),x=j({},I.original);x.url=s,I.original=x,C.container=I,e.push(T(C))}))}),this.thumbs$=T(e)})}catch(n){throw new Error(JSON.stringify(n))}this.subscription.add(this.activeThumb.pipe(S(Boolean)).subscribe(n=>{this.mainMediaContainer.next(n),this.positionThumbNailSlide(n?.original?.galleryIndex||0)}))}positionThumbNailSlide(n){if(n>=0&&this.element?.nativeElement){let e=this.element.nativeElement.querySelector(".next"),t=this.element.nativeElement.querySelector(".previous"),i=this.carouselSlideSize,r=this.getSlideIndex(n,i);r=r*i,r>this.carousel?.activeSlide?(e.click(),this.positionThumbNailSlide(n)):r<this.carousel?.activeSlide&&(t.click(),this.positionThumbNailSlide(n))}}getSlideIndex(n,e){return Math.floor(n/e)}ngAfterViewInit(){this.carousel.size$.pipe(nt(this.destroy$)).subscribe(n=>{this.carouselSlideSize=n})}openImage(n){try{let e=n?.original?.url;e=e.replace("&prid=thumb","&prid=original");let t=j({},n),i=j({},t.original);i.url=e,t.original=i,this.mainMediaContainer.next(t),typeof n?.original?.galleryIndex=="number"&&this.productImage.emit({image:t,index:n?.original?.galleryIndex})}catch(e){typeof n?.original?.galleryIndex=="number"&&this.productImage.emit({image:n,index:n?.original?.galleryIndex})}}isActive(n){return this.mainMediaContainer.asObservable().pipe(S(re),E(e=>{let t=e?.original?.url?.replace("&prid=original","").replace("&prid=thumb",""),i=n?.original?.url?.replace("&prid=original","").replace("&prid=thumb","");return!!t&&!!i&&t===i}),H())}ngOnDestroy(){this.destroy$.next(null),this.destroy$.complete(),this.subscription&&this.subscription.unsubscribe()}static{this.\u0275fac=function(e){return new(e||o)(P(D))}}static{this.\u0275cmp=O({type:o,selectors:[["app-avtr-product-image-zoom-thumbnails"]],viewQuery:function(e,t){if(e&1&&ie(Wi,5),e&2){let i;L(i=V())&&(t.carousel=i.first)}},inputs:{thumbs$:"thumbs$",activeThumb:"activeThumb"},outputs:{productImage:"productImage"},standalone:!1,decls:4,vars:3,consts:[["thumb",""],["carousel",""],[4,"ngIf"],["class","thumbs","itemWidth","70px",3,"items","hideIndicators","template",4,"ngIf"],["itemWidth","70px",1,"thumbs",3,"items","hideIndicators","template"],["tabindex","0",3,"focus","click","container"]],template:function(e,t){e&1&&(g(0,Xi,2,1,"ng-container",2),d(1,"async"),g(2,Ki,2,5,"ng-template",null,0,oe)),e&2&&a("ngIf",p(1,1,t.thumbs$))},dependencies:[U,Se,J,G],encapsulation:2})}};var eo=["defaultImage"],to=["zoomContainer"],io=["zoomedImage"];function oo(o,n){if(o&1){let e=y();l(0,"button",11),v("click",function(){let i=f(e).ngIf,r=c(3);return _(r.openImage(i.container))}),b(1,"cx-icon",12),h()}if(o&2){let e=c(3);m(),a("type",e.iconType.CARET_LEFT)}}function no(o,n){if(o&1&&b(0,"iframe",14),o&2){let e=c(3).ngIf,t=c();a("src",t.getSanitizedUrl(e),yt)("width",800)("height",600)}}function ro(o,n){if(o&1&&b(0,"cx-media",15,1),o&2){let e=c(3).ngIf;a("container",e)}}function ao(o,n){if(o&1&&(l(0,"div"),g(1,no,1,3,"iframe",13)(2,ro,2,1,"ng-template",null,0,oe),h()),o&2){let e=K(3),t=c(2).ngIf;m(),a("ngIf",(t.original==null?null:t.original.imageType)=="IMAGE360")("ngIfElse",e)}}function co(o,n){if(o&1){let e=y();l(0,"div",16,2)(2,"cx-media",17,3),v("mousemove",function(i){f(e);let r=c(3);return _(r.pointerMove(i))})("touchmove",function(i){f(e);let r=c(3);return _(r.touchMove(i))})("touchend",function(){f(e);let i=c(3);return _(i.clearTouch())}),h()()}if(o&2){let e=c(2).ngIf;m(2),a("container",e)}}function so(o,n){if(o&1){let e=y();l(0,"button",11),v("click",function(){let i=f(e).ngIf,r=c(3);return _(r.openImage(i.container))}),b(1,"cx-icon",12),h()}if(o&2){let e=c(3);m(),a("type",e.iconType.CARET_RIGHT)}}function mo(o,n){if(o&1&&(l(0,"div",7)(1,"div",8),g(2,oo,2,1,"button",9),d(3,"async"),h(),g(4,ao,4,2,"div",4)(5,co,4,1,"div",10),l(6,"div",8),g(7,so,2,1,"button",9),d(8,"async"),h()()),o&2){let e=n.ngIf,t=c(2);m(2),a("ngIf",p(3,4,t.getPreviousProduct(e))),m(2),a("ngIf",!t.isZoomed),m(),a("ngIf",t.isZoomed),m(2),a("ngIf",p(8,6,t.getNextProduct(e)))}}function uo(o,n){if(o&1&&(Z(0),g(1,mo,9,8,"div",6),d(2,"async"),z()),o&2){let e=c();m(),a("ngIf",p(2,1,e.thumbnails$))}}var We=class o{constructor(n,e,t,i,r,s){this.currentProductService=n;this.renderer=e;this.cdRef=t;this.breakpointService=i;this.domSanitizer=r;this.productService=s;this.iconType=he;this.mainMediaContainer=new k(null);this.defaultImageReady=new k(!1);this.zoomReady=new k(!1);this.subscription=new $;this.mainMediaContainer$=this.mainMediaContainer.asObservable();this.defaultImageReady$=this.defaultImageReady.asObservable();this.zoomReady$=this.zoomReady.asObservable();this.activeThumb=new X;this.defaultImageClickHandler$=this.defaultImageReady$.pipe(S(Boolean),w(n=>de(...this.clickOrDoubleClick(this.defaultImage)).pipe(A(()=>this.zoom()))));this.zoomImageClickHandler$=this.zoomReady$.pipe(S(Boolean),w(n=>de(...this.clickOrDoubleClick(this.zoomImage)).pipe(A(()=>this.zoom()))));this.startCoords=null;this.left=0;this.top=0;this.isZoomed=!1;this.product$=this.currentProductService.getProduct().pipe(S(re),H(),A(n=>
1{if(this.galleryIndex){let e=Array.isArray(n.images?.GALLERY)?n.images?.GALLERY.find(t=>t.original?.galleryIndex===this.galleryIndex):n.images?.GALLERY;this.mainMediaContainer.next(e||null)}else this.mainMediaContainer.next(n?.images?.[this.contentType]?n?.images?.[this.contentType]:this.getBaseProdPrimaryImage(n)||{})}),W(1));this.thumbnails$=this.product$.pipe(E(n=>this.createThumbs(n)),W(1));this.mainImage$=M([this.product$,this.mainMediaContainer$]).pipe(E(([,n])=>n))}get defaultImage(){return this._defaultImage}set defaultImage(n){n&&(this._defaultImage=n,this.defaultImageReady.next(!0))}get zoomImage(){return this._zoomImage}set zoomImage(n){n&&(this._zoomImage=n,this.zoomReady.next(!0))}ngAfterViewInit(){this.mainImage$.pipe(B(1),S(Boolean)).subscribe(n=>{this.activeThumb.emit(n)})}ngOnInit(){this.subscription.add(this.defaultImageClickHandler$.subscribe()),this.subscription.add(this.zoomImageClickHandler$.subscribe())}openImage(n){this.mainMediaContainer.next(n),this.activeThumb.emit(n)}getBaseProdPrimaryImage(n){let e={};return this.subscription.add(this.productService.get(n?.baseProduct).subscribe(t=>{e=t?.images})),e?.[this.contentType]}getActive(){return Array.isArray(this.mainMediaContainer.value)?this.mainMediaContainer.value[0].original?.galleryIndex||0:this.mainMediaContainer?.value?.original?.galleryIndex||0}getPreviousProduct(n){let e=this.getActive();return e===0?n[e]:n[e-1]}getNextProduct(n){let e=this.getActive();return e===n.length-1?n[e]:n[e+1]}zoom(){this.isZoomed=!this.isZoomed,this.startCoords=null,this.left=0,this.top=0,this.cdRef.markForCheck()}touchMove(n){let e=n.touches[0]||n.changedTouches[0],t=this.zoomedImage?.nativeElement?.getBoundingClientRect(),i=this.zoomedImage?.nativeElement?.firstChild;this.startCoords||(this.startCoords={x:e.clientX,y:e.clientY}),this.left+=e.clientX-this.startCoords.x,this.top+=e.clientY-this.startCoords.y,this.moveImage(this.left,this.top,t,i),this.startCoords={x:e.clientX,y:e.clientY}}clearTouch(){this.startCoords=null}pointerMove(n){let e=this.zoomedImage.nativeElement.getBoundingClientRect(),t=this.zoomedImage.nativeElement.firstChild,{positionX:i,positionY:r}=this.calculatePointerMovePosition(this.zoomedImage,n.clientX,n.clientY);this.moveImage(i,r,e,t)}changeImage(n){this.mainMediaContainer.next(n.image)}moveImage(n,e,t,i){let{x:r,y:s}=this.handleOutOfBounds(n,e,i,t);i&&(this.renderer.setStyle(i,"left",r+"px"),this.renderer.setStyle(i,"top",s+"px"))}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}clickOrDoubleClick(n){return[ue(n.nativeElement,"click").pipe(w(()=>this.breakpointService.isUp(fe.md)),S(Boolean)),ue(n.nativeElement,"dblclick").pipe(w(()=>this.breakpointService.isDown(fe.lg)),S(Boolean))]}createThumbs(n){let e=[];for(let t in n.images)t!="PRIMARY"&&t!="SECONDARYPICTURES"&&t!="CHEMICAL_STRUCTURE"&&(n.images[t].constructor.name=="Array"?n.images[t].forEach(i=>{e.push(i)}):(t=="IMAGE360"&&(n.images[t].url="/images/image360.png",n.images[t].altText="360 Image"),e.push(n.images[t])));return e.length==1?[]:e?.map(t=>T({container:t}))}handleOutOfBounds(n,e,t,i){return e<=-t?.height+60&&(e=-t?.height+60),e>=i?.height-60&&(e=i?.height-60),n<=-t?.width-i?.width/2+60&&(n=-t?.width-i?.width/2+60),n>=t?.width+i?.width/2-60&&(n=t?.width+i?.width/2-60),{x:n,y:e}}calculatePointerMovePosition(n,e,t){let i=n.nativeElement.getBoundingClientRect(),r=e-i.left,s=t-i.top,C=-r+n.nativeElement.clientWidth/2,I=-s+n.nativeElement.clientHeight/2;return{positionX:C,positionY:I}}getSanitizedUrl(n){let e=this.domSanitizer.sanitize(St.URL,n.original?.url)?.replace("http:","https:");return this.domSanitizer.bypassSecurityTrustResourceUrl(e)}static{this.\u0275fac=function(e){return new(e||o)(P(be),P(Ae),P(Re),P(je),P(wt),P(ti))}}static{this.\u0275cmp=O({type:o,selectors:[["app-product-zoom-view"]],viewQuery:function(e,t){if(e&1&&ie(eo,5,D)(to,5,D)(io,5,D),e&2){let i;L(i=V())&&(t.defaultImage=i.first),L(i=V())&&(t.zoomImage=i.first),L(i=V())&&(t.zoomedImage=i.first)}},inputs:{galleryIndex:"galleryIndex",contentType:"contentType"},standalone:!1,decls:3,vars:5,consts:[["standardImage",""],["defaultImage",""],["zoomContainer",""],["zoomedImage",""],[4,"ngIf"],[3,"productImage","thumbs$","activeThumb"],["class","cx-main-image-group",4,"ngIf"],[1,"cx-main-image-group"],[1,"cx-navigate-image"],["class","btn btn-link",3,"click",4,"ngIf"],["class","cx-zoom-container",4,"ngIf"],[1,"btn","btn-link",3,"click"],[3,"type"],[3,"src","width","height",4,"ngIf","ngIfElse"],[3,"src","width","height"],[1,"cx-default-image-zoom",3,"container"],[1,"cx-zoom-container"],[1,"cx-image-zoomed",3,"mousemove","touchmove","touchend","container"]],template:function(e,t){e&1&&(g(0,uo,3,3,"ng-container",4),d(1,"async"),l(2,"app-avtr-product-image-zoom-thumbnails",5),v("productImage",function(r){return t.changeImage(r)}),h()),e&2&&(a("ngIf",p(1,3,t.mainImage$)),m(2),a("thumbs$",t.thumbnails$)("activeThumb",t.activeThumb))},dependencies:[U,Y,J,He,G],encapsulation:2})}};function po(o,n){if(o&1){let e=y();l(0,"div",1)(1,"div",2)(2,"div",3)(3,"button",4),d(4,"cxTranslate"),v("click",function(){f(e);let i=c();return _(i.close("cross click"))}),l(5,"span",5),b(6,"cx-icon",6),h()()(),l(7,"div",7),b(8,"app-product-zoom-view",8),h()()()}if(o&2){let e=n.ngIf,t=c();a("cxFocus",t.focusConfig),m(3),N("aria-label",p(4,5,"common.close")),m(3),a("type",t.iconType.CLOSE),m(2),a("galleryIndex",t.galleryIndex)("contentType",e)}}var qe=class o extends Ge{constructor(){super(...arguments);
1this.dialogData$=this.launchDialogService.data$}static{this.\u0275fac=(()=>{let e;return function(i){return(e||(e=Te(o)))(i||o)}})()}static{this.\u0275cmp=O({type:o,selectors:[["app-product-zoom-dialog"]],standalone:!1,features:[le],decls:2,vars:3,consts:[["class","cx-image-zoom-dialog",3,"cxFocus",4,"ngIf"],[1,"cx-image-zoom-dialog",3,"cxFocus"],[1,"cx-dialog-content"],[1,"cx-dialog-header"],["type","button",1,"close",3,"click"],["aria-hidden","true"],[3,"type"],[1,"cx-dialog-body"],[3,"galleryIndex","contentType"]],template:function(t,i){t&1&&(g(0,po,9,7,"div",0),d(1,"async")),t&2&&a("ngIf",p(1,1,i.dialogData$))},dependencies:[U,Y,$e,We,G,q],encapsulation:2})}};var ui=class o{static{this.\u0275fac=function(e){return new(e||o)}}static{this.\u0275mod=te({type:o})}static{this.\u0275inj=ee({providers:[Rt({launch:{PRODUCT_IMAGE_ZOOM:{inline:!0,component:qe,dialogType:Ne.DIALOG}}})],imports:[ne,Ue,ge,ce,Qe,_e,Fe,pe,pt]})}};var di=class o{constructor(){}isSingleProductPage(n){return n.specSelectProduct||!n?.variantOptions?.length}static{this.\u0275fac=function(e){return new(e||o)}}static{this.\u0275prov=Q({token:o,factory:o.\u0275fac,providedIn:"root"})}};var Ke=class{};var li=class o extends Wt{constructor(e,t,i,r,s,C,I,x,R){super(e,t,i,r,s,C,I);this.productSearchService=e;this.routing=t;this.activatedRoute=i;this.currencyService=r;this.languageService=s;this.router=C;this.config=I;this.adapter=x;this.globalSpinnerService=R;this.structuredAdvancedSearchQueryKeys=["chemical_formula_adv","supplier_name","mdl_number","merck_index","cas_number","molecular_weight","chemical_name"];this.contentSearchCache=new Map;this.contentSearchCacheLimit=20;this.searchByRoutingContent$=M([this.routing.getRouterState().pipe(H((e,t)=>e.state.url===t.state.url)),...this.siteContext1]).pipe(ot(0),E(([e,...t])=>e.state),A(e=>{let t=this.getCriteriaFromRoute(e.params,e.queryParams,e.url)}));this.searchResults$=this.productSearchService.getResults().pipe(S(e=>Object.keys(e).length>0));this.searchByRouting$=M([this.routing.getRouterState().pipe(H((e,t)=>e.state.url===t.state.url)),...this.siteContextData]).pipe(ot(0),E(([e,...t])=>e.state),A(e=>{if(!this.isSearchOrCategoryPage(e.url)||this.isContentSearchRoute(e)){this.globalSpinnerService.clearSpinner();return}let t=this.getCriteriaFromRoute(e.params,e.queryParams,e.url);this.searchIfCriteriaHasChanged(t)}));this.model$=_t(()=>this.searchByRouting$.subscribe(),()=>this.searchResults$).pipe(W({bufferSize:1,refCount:!0}))}searchContent(e,t,i,r){let s=e.currentPage,C=10,I="relevance",x=!0,R=r?t:e.query,se=Object.assign({},s&&{currentPage:s},C&&{pageSize:C},I&&{sort:I},x&&{isContentSearch:x},i&&{isSiteContent:i});return this.shouldSkipContentSearch(R)?T({contentList:[]}):this.getCachedContentSearch(R,se)}corporateSiteSearch(e,t,i){let r=e.currentPage,s=10,C="relevance",I=!0,x=!0,R=i?t:e.query,se=Object.assign({},r&&{currentPage:r},s&&{pageSize:s},C&&{sort:C},I&&{isContentSearch:I},x&&{isSiteContent:x});return this.shouldSkipContentSearch(R)?T({contentList:[]}):this.getCachedContentSearch(R,se)}shouldSkipContentSearch(e){return!e?.trim()||this.isAdvancedSearchQuery(e)||this.isProductFacetRefinementQuery(e)}isAdvancedSearchQuery(e){let t=this.getAdvancedSearchQueryParams(e);if(this.structuredAdvancedSearchQueryKeys.some(s=>this.hasAdvancedSearchQueryParam(t,s)))return!0;let i=this.getAdvancedSearchQueryParam(t,"keyword"),r=this.getAdvancedSearchQueryParam(t,"partnumber");return!!i&&!!r&&i.trim().toLowerCase()!==r.trim().toLowerCase()}isProductFacetRefinementQuery(e){let t=this.decodeQuery(e).toLowerCase();if(this.isContentSearchQuery(t))return!1;let i=t.indexOf(":relevance:");return i<0?!1:t.slice(i+11).split(":").filter(Boolean).length>=2}decodeQuery(e){try{return decodeURIComponent(e.replace(/\+/g,"%20"))}catch(t){return e}}getAdvancedSearchQueryParams(e){return new URLSearchParams(this.decodeQuery(e??""))}hasAdvancedSearchQueryParam(e,t){return this.getAdvancedSearchQueryParam(e,t)!==void 0}getAdvancedSearchQueryParam(e,t){let i;return e.forEach((r,s)=>{s.toLowerCase()===t&&(i=r)}),i}getContentSearchQuery(e){if(!e||this.isAdvancedSearchQuery(e))return e;let t=this.getAdvancedSearchQueryParams(e),i=this.getAdvancedSearchQueryParam(t,"keyword"),r=this.getAdvancedSearchQueryParam(t,"partnumber");return i||r||e}getCachedContentSearch(e,t){let i=this.getContentSearchCacheKey(e,t),r=this.contentSearchCache.get(i);if(r)return r;let s=this.adapter.search(e,t).pipe(W({bufferSize:1,refCount:!1}));return this.contentSearchCache.set(i,s),this.trimContentSearchCache(),s}getContentSearchCacheKey(e,t){return JSON.stringify([e,Object.entries(t).sort(([i],[r])=>i.localeCompare(r))])}trimContentSearchCache(){if(this.contentSearchCache.size<=this.contentSearchCacheLimit)return;let e=this.contentSearchCache.keys().next().value;e&&this.contentSearchCache.delete(e)}get siteContext1(){return[this.languageService.getActive(),this.currencyService.getActive()]}getContentCriteriaFromRoute(e,t){let i=t.query||this.getQueryFromRouteParam
1s(e);return{query:this.getContentSearchQuery(i),pageSize:t.pageSize||this.config.view?.defaultPageSize,currentPage:t.currentPage,sortCode:t.sortCode}}searchIfCriteriaHasChanged(e){if(this.isContentSearchQuery(e.query)){this.globalSpinnerService.clearSpinner();return}this.productSearchService.getResults().pipe(B(1)).subscribe(t=>{let i={query:t?.currentQuery?.query?.value,currentPage:t?.pagination?.currentPage,pageSize:t?.pagination?.pageSize,sortCode:t?.pagination?.sort};s()||C()||I()||x()?(this.globalSpinnerService.activateSpinner(),this.search(e)):this.globalSpinnerService.clearSpinner();function s(){let R=tt(i.query,i.sortCode),se=tt(e.query,e.sortCode);return R!==se;function tt(me,Pe){let it="relevance";return me=me?.replace(":"+it,"").replace(it,""),Pe&&(me=me?.replace(":"+Pe,"").replace(Pe,"")),me}}function C(){return(i.currentPage&&i.currentPage>0?i.currentPage:void 0)?.toString()!==e.currentPage?.toString()}function I(){return i.pageSize?.toString()!==e.pageSize?.toString()}function x(){return(e.sortCode?i?.sortCode:void 0)?.toString()!==e.sortCode?.toString()}})}getCriteriaFromRoute(e,t,i){return{query:this.getRouteSearchQuery(e,t,i),pageSize:t.pageSize||this.config.view?.defaultPageSize,currentPage:t.currentPage,sortCode:t.sortCode}}getRouteSearchQuery(e,t,i){if(t.query)return t.query;let r=this.getQueryFromRouteParams(e);return this.isNavSearchUrl(i)&&r?/^navsearch=/i.test(r)?r:`navSearch=${r}`:r}isSearchOrCategoryPage(e){let t=e?.split("?")[0]??"";return/(^|\/)(search|navsearch|category)(\/|$|;)/.test(t)}isNavSearchUrl(e){let t=e?.split("?")[0]??"";return/(^|\/)navsearch(\/|$|;)/.test(t)}isContentSearchRoute(e){return this.isContentSearchQuery(e?.url)||this.isContentSearchQuery(e?.params?.query)||this.isContentSearchQuery(e?.queryParams?.query)}isContentSearchQuery(e){return this.decodeQuery(e??"").toLowerCase().includes("searchtype:content")}get siteContextData(){return[this.languageService.getActive(),this.currencyService.getActive()]}static{this.\u0275fac=function(t){return new(t||o)(u(Qt),u(Be),u(Tt),u(Lt),u(Dt),u(Oe),u(Ht),u(Ke),u(Jt))}}static{this.\u0275prov=Q({token:o,factory:o.\u0275fac,providedIn:"root"})}};var Yn={PRODUCT_PAGE:"PRODUCT_PAGE",SEARCH_PAGE:"SEARCH_PAGE"};var pi=class o extends Ye{triggerZoom(){let n=this.launchDialogService.launch("PRODUCT_IMAGE_ZOOM",this.vcr,this.contentType);n&&this.subscriptions.add(M([n,this.launchDialogService.dialogClose]).pipe(A(([e])=>{this.galleryIndex&&(e.instance.galleryIndex=this.galleryIndex)}),S(([,e])=>!!e),A(([e])=>{this.launchDialogService.clear("PRODUCT_IMAGE_ZOOM"),e?.destroy(),this.dialogClose.emit(),this.expandButton.nativeElement.focus()})).subscribe())}static{this.\u0275fac=(()=>{let n;return function(t){return(n||(n=Te(o)))(t||o)}})()}static{this.\u0275cmp=O({type:o,selectors:[["app-product-zoom-trigger"]],inputs:{contentType:"contentType"},standalone:!1,features:[le],decls:6,vars:4,consts:[["expandButton",""],[1,"btn","btn-link","cx-action-link",3,"click"],[3,"type"]],template:function(e,t){e&1&&(l(0,"button",1,0),v("click",function(){return t.triggerZoom()}),l(2,"span"),Ce(3),d(4,"cxTranslate"),b(5,"cx-icon",2),h()()),e&2&&(m(3),Ie(" ",p(4,2,"productImageZoomTrigger.expand")," "),m(2),a("type",t.iconType.EXPAND_ARROWS))},dependencies:[Y,q],encapsulation:2})}};var Je=class o{constructor(n,e,t,i,r,s,C,I){this.auth0=n;this.baseSiteService=e;this.http=t;this.occEndpointService=i;this.authConfigService=r;this.config=s;this.globalMessageService=C;this.winRef=I}authorizeForOcc(n,e,t=!1){let i=this.config.backend?.occ?.baseUrl+"/authorizationserver/oauth/token";return this.baseSiteService.getActive().pipe(B(1)).pipe(w(r=>this.http.post(i,{},{params:{id_token:e,client_id:this.authConfigService.getClientId(),client_secret:this.authConfigService.getClientSecret(),site_id:r,grant_type:"auth0"}})),Ct(1),vt(r=>(t||this.winRef?.sessionStorage?.setItem("error","authError"),we(()=>new Error(r)))),E(r=>ht(j({},r),{access_token_stored_at:""+Date.now()})))}static{this.\u0275fac=function(e){return new(e||o)(u(ke),u(Me),u(Ee),u(De),u(Le),u(Ze),u(jt),u(ze))}}static{this.\u0275prov=Q({token:o,factory:o.\u0275fac,providedIn:"root"})}};var et=class o{constructor(n){this.adapter=n}authorizeForOcc(n,e,t=!1){return this.adapter.authorizeForOcc(n,e,t)}static{this.\u0275fac=function(e){return new(e||o)(u(Je))}}static{this.\u0275prov=Q({token:o,factory:o.\u0275fac,providedIn:"root"})}};var gi=class o extends Ft{constructor(e,t,i,r,s,C,I,x,R,se,tt,me,Pe,it,Io,bo,So,yo,xo,Po,hi){super(t,i,r,s,C,I,hi);this.platformId=e;this.store=t;this.userIdService=i;this.oAuthLibWrapperService=r;this.authStorageService=s;this.authRedirectService=C;this.routingService=I;this.auth0=x;this.baseSiteService=R;this.http=se;this.occEndpointService=tt;this.authConfigService=me;this.config=Pe;this.connector=it;
1this.productComparisionService=Io;this.winref=bo;this.router=So;this.eventService=yo;this.recommendationService=xo;this.quickOrderFacade=Po;this.authMultisiteIsolationService=hi;this.SESSION_PARTNER_ACCOUNT="sessionPartnerAccount";this.subscription=new $;this.isBrowser=Pt(this.platformId),this.getSiteId(),this.ssoSiteSwitch()}authorizeForOcc(e=!1,t=!1){return this.auth0.getAccessTokenSilently(j({detailedResponse:!0},e?{cacheMode:"off"}:{})).pipe(w(i=>i?.id_token?this.connector.authorizeForOcc(i.access_token,i.id_token,t):we(()=>new Error("Auth0 silent token response did not include an ID token"))))}initAuth0Redirect(e="/dashboard"){if(!this.isBrowser)return!1;let t=`/authenticated?target=${encodeURIComponent(e)}`;return this.subscription.add(this.auth0.loginWithRedirect({appState:{target:t}}).pipe(B(1)).subscribe({error:()=>this.routingService.go({cxRoute:"loginError"})})),!0}loginAfterRegistration(e){if(e){let t={access_token:e,access_token_stored_at:""+Date.now()};this.authStorageService.setToken(t),this.userIdService.setUserId(Et),this.store.dispatch(new ae.Login)}}switchAccounts(){return this.clearQuickOrderSession(),this.setLogoutProgress(!0),this.userIdService.clearUserId(),this.productComparisionService.clearProductComparisonTry(),this.recommendationService.clearRecommendationImpression(),new Promise(e=>{this.oAuthLibWrapperService.switchAccountandReturnToLogin().finally(()=>{this.store.dispatch(new ae.Logout),this.eventService.dispatch({},ye),e(!0)})})}logoutForError(){return this.clearQuickOrderSession(),this.setLogoutProgress(!0),this.userIdService.clearUserId(),this.productComparisionService.clearProductComparisonTry(),this.recommendationService.clearRecommendationImpression(),new Promise(e=>{this.oAuthLibWrapperService.logoutToErrorPage().finally(()=>{this.store.dispatch(new ae.Logout),this.eventService.dispatch({},ye),e(!0)})})}logoutForNonBeta(){return this.clearQuickOrderSession(),this.setLogoutProgress(!0),this.userIdService.clearUserId(),this.productComparisionService.clearProductComparisonTry(),this.recommendationService.clearRecommendationImpression(),new Promise(e=>{this.oAuthLibWrapperService.logoutToNonBetaPage().finally(()=>{this.store.dispatch(new ae.Logout),this.eventService.dispatch({},ye),e(!0)})})}avtrCoreLogout(){return this.clearQuickOrderSession(),this.isBrowser&&sessionStorage?.removeItem(this.SESSION_PARTNER_ACCOUNT),this.setLogoutProgress(!0),this.userIdService.clearUserId(),this.oAuthLibWrapperService.clearSiteInfoFromLocalStorage(),this.productComparisionService.clearProductComparisonTry(),this.recommendationService.clearRecommendationImpression(),new Promise(e=>{this.oAuthLibWrapperService.revokeAndLogout().finally(()=>{this.store.dispatch(new ae.Logout),this.setLogoutProgress(!1),this.eventService.dispatch({},ye),e(!0)})})}logoutAndLoginWithMfa(){this.clearQuickOrderSession(),this.setLogoutProgress(!0),this.productComparisionService.clearProductComparisonTry(),this.recommendationService.clearRecommendationImpression(),this.routingService.goByUrl("/logout").finally(()=>{this.winref?.localStorage?.getItem("punchout-sid-key")?(this.winref?.localStorage?.removeItem("punchout-sid-key"),this.winref?.localStorage?.clear(),this.routingService.goByUrl("/")):this.routingService.goByUrl("/login")})}ssoSiteSwitch(){this.subscription.add(M([this.isUserLoggedIn(),this.userIdService.getUserId()]).pipe(w(([e,t])=>{let i;if(this.authStorageService?.getTokenTarget?.().pipe(B(1)).subscribe(s=>i=s),i===Xt.CSAgent)return T(null);let r=this.winref?.localStorage?.getItem("punchout-sid-key");if(r&&r!==null)return T(null);if(e&&t!=="anonymous"){let s=this.winref?.localStorage?.getItem("siteId");this.getSiteId();let C=this.winref?.localStorage?.getItem("currentSiteCode");this.currentSiteCode!="global"&&this.winref?.localStorage?.setItem("siteId",this.currentSiteCode);let I=this.winref?.localStorage?.getItem("siteLang");this.winref?.localStorage?.setItem("siteLang",this.currentLangCode);let x=this.winref?.localStorage?.getItem("siteId");return s&&x&&x!=="global"&&x!==s?this.baseSiteService.getActive().pipe(w(R=>(this.getSiteId(),this.winref?.localStorage?.setItem("newSiteID",R),this.winref?.localStorage?.setItem("currentSiteCode",this.currentSiteCode),this.winref?.localStorage?.setItem("currentLangCode",this.currentLangCode),this.winref?.localStorage?.setItem("siteLang",this.currentLangCode),this.currentSiteCode!="global"&&this.winref?.localStorage?.setItem("siteId",this.currentSiteCode),this.winref?.localStorage?.setItem("siteId",this.currentSiteCode),this.ssoSwitch=!0,this.previousID=s,this.previousLang=I,this.router.navigate(["authenticated"]),T(null)))):this.baseSiteService.getActive().pipe(w(R=>(this.getSiteId(),this.winref?.localStorage?.setItem("newSiteID",R),this.winref?.localStorage?.setItem("currentSiteCode",this.currentSiteCode),C===x&&this.winref?.localStorage?.setItem("prevlandedsiteId",this.winref?.localStorage?.getItem("currentSiteCode")),this.winref?.localStorage?.setItem("currentLangCode",this.currentLangCode),this.winref?.localStorage?.setItem("siteLang",this.currentLangCode),this.currentSiteCode!="global"&&this.winref?.localStorage?.setItem("siteId",this.currentSiteCode),this.ssoSwitch=!1,this.previousID=s,this.previousLang=I,T(null))))}
1return this.getSiteId(),T(null)})).subscribe())}getSiteId(){let e=this.router?.url?.split("/")?.filter(Boolean);this.currentSiteCode=e?.[0]||null,this.currentLangCode=e?.[1]||null}switchSite(e){return this.clearQuickOrderSession(),this.setLogoutProgress(!0),this.userIdService.clearUserId(),this.productComparisionService.clearProductComparisonTry(),this.recommendationService.clearRecommendationImpression(),new Promise(t=>{this.oAuthLibWrapperService.switchSiteSSO(e).finally(()=>{this.store.dispatch(new ae.Logout),t(!0)})})}clearQuickOrderSession(){if(this.quickOrderFacade.clearList(),!!this.isBrowser)try{let e=this.winref.sessionStorage;if(!e)return;for(let t=e.length-1;t>=0;t--){let i=e.key(t);i?.startsWith("spartacus\u26BF")&&i.endsWith("\u26BFquick-order")&&e.removeItem(i)}}catch(e){}}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}static{this.\u0275fac=function(t){return new(t||o)(u(bt),u(At),u(kt),u(Kt),u(Zt),u(Vt),u(Be),u(ke),u(Me),u(Ee),u(De),u(Le),u(Ze),u(et),u(ii),u(ze),u(Oe),u(Ot),u(ei),u(oi),u(Bt))}}static{this.\u0275prov=Q({token:o,factory:o.\u0275fac,providedIn:"root"})}};export{gi as a,ni as b,pt as c,Fo as d,di as e,si as f,Ke as g,li as h,Yn as i,pi as j,ui as k};
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.