(self.webpackChunknlmk=self.webpackChunknlmk||[]).push([["main"],{36379:(c,g,i)=>{"use strict";var n=i(54438),d=i(43001),r=i(31635),U=i(21626),Lt=i(345),y=i(51188),S=i(60177),p=i(99855);var Sm=i(63449),Tm=i.n(Sm);const nt={STOCK:"STOCK",ORDER:"AGREEMENT"},Oe_GDPR={OBLIGATORY_COOKIE_POLICY:"OBLIGATORY_COOKIE_POLICY",OBLIGATORY_PRIVACY_POLICY:"OBLIGATORY_PRIVACY_POLICY",OBLIGATORY_ECOMMERCE_TERMS_OF_USE_POLICY:"OBLIGATORY_ECOMMERCE_TERMS_OF_USE_POLICY",OBLIGATORY_TERMS_AND_CONDITIONS_POLICY:"OBLIGATORY_TERMS_AND_CONDITIONS_POLICY"},Oe_GDPR_TRADING={OBLIGATORY_COOKIE_POLICY:"OBLIGATORY_COOKIE_POLICY",OBLIGATORY_PRIVACY_POLICY:"OBLIGATORY_PRIVACY_POLICY",OBLIGATORY_TERMS_AND_CONDITIONS_POLICY:"OBLIGATORY_TERMS_AND_CONDITIONS_POLICY"},Oe_ANALYTICAL="OPTIONAL_ANALYTICAL_POLICY",Oe_ADVERTISING="OPTIONAL_ADVERTISING_POLICY",Oe_FUNCTIONAL="OPTIONAL_FUNCTIONAL_POLICY",Oe_OPTIONAL_ARRAY={ANALYTICAL:"OPTIONAL_ANALYTICAL_POLICY",ADVERTISING:"OPTIONAL_ADVERTISING_POLICY",FUNCTIONAL:"OPTIONAL_FUNCTIONAL_POLICY"},Oe_OPTIONAL_="OPTIONAL_",Oe_OBLIGATORY_="OBLIGATORY_",Oe_NON_OBLIGATORY_="NON_OBLIGATORY_",Wt={MY_ACCOUNT_COMPONENT:"MyAccountComponent",FOOTER_PARAGRAPH:"FooterParagraphComponent",LANGUAGE:"LanguageComponent",FOOTER_NEWS_SUBSCRIBE:"FooterNewsSubscribeComponent",FOOTER_NAVIGATION:"FooterNavigationComponent",ANONYMOUS_CONSENT_OPEN_DIALOG:"AnonymousConsentOpenDialogComponent",ANONYMOUS_CONSENT_MANAGEMENT_BANNER:"AnonymousConsentManagementBannerComponent",REGISTER_CUSTOM_COMPONENT:"RegisterCustomerComponent",TRADING_REGISTER_CUSTOM_COMPONENT:"TradingRegisterCustomerComponent",WHO_WE_ARE_COMPONENT:"WhoWeAreComponent",PARAGRAPH_COMPONENT:"CMSParagraphComponent",NEWS_SUBSCRIBE_COMPONENT:"NewsSubscribeComponent",MESSAGE_FOOTER_PARAGRAPH:"MessageFooterParagraphComponent"},q={HOMEPAGE:"homepage",SEARCH:"search",CART:"cartPage",CATALOG_ORDER:"CatalogOrderPage",CATALOG_QUOTE:"CatalogQuotePage",CATALOG_REORDER:"ReOrderListingPage",PRODUCT_LIST:"productList",PLATE_CONFIGURE:"plateConfigurationPage",ORDER_REPORT_PAGE:"orderReportPage",DELIVERY_REPORT_PAGE:"deliveryReportPage",MTS_CHECKOUT_PAGE:"mtsCheckoutPage",MTO_CHECKOUT_PAGE:"mtoCheckoutPage",ORDERS_ACTIVE:"orders",ORDERS_HISTORY:"order-history",QUOTES_ACTIVE:"quotes",QUOTES_HISTORY:"quotes-history",QUOTATION_CHECKOUT_PAGE:"quotationCheckoutPage",THANK_YOU_PAGE:"orderConfirmationPage",RESET_PASSWORD:"resetPassword",RTS_LIST:"rts-list"},Em={ACCOUNT_PAGE:"AccountPageTemplate",CONTENT_PAGE2_TEMPLATE_PAGE:"ContentPage2Template"},ie={AGREEMENT:"agreement",ALL_CATEGORIES:"allCategories",CATEGORIES:"categories",IN_STOCK:"inStock",ORDER:"ORDER",ORDER_TYPE:"orderType",PRODUCT_TYPE:"productType",STOCK:"STOCK",VALID_PRODUCTS:"validProducts"},ee_RELEVANCE_ALL_CATEGORIES=":relevance:allCategories",ee_RELEVANCE=":relevance",ee_CATEGORIES=":categories",ee_BRAND_CODE=":brandCode",ee_CODE=":code",ee_CLASS_FACET_STEEL_GRADE=":classFacet-class_steel-steel_grade",ee_ORDER_TYPE=":orderType",ee_ORDER=":ORDER",ee_PRODUCT_TYPE=":productType",Kt_DEFAULT="DEFAULT",Kt_GROUP="GROUP",Kt_VARIANT="VARIANT",Kt_SUGGESTIONS="SUGGESTIONS",Rm={STEEL_DEFECTS:"Steel Defects"},Om={SUCCESS:"SUCCESS"},Am={addressbook:"place",claims:"feedback",claimsoverview:"feedback",consentmanagement:"done",contracts:"description",finances:"credit_card",deliveryreport:"assignment",favorites:"assignment_turned_in",mycompany:"business",myprofile:"person",orderreport:"assignment",password:"invisible",profile:"person",quotations:"work",signout:"exit_to_app",supportrequests:"contact_support",supportrequest:"contact_support",wishlist:"shopping_cart",orders:"assignment",reports:"report_menu",help:"help"},G={KG:"kg",MM:"mm",PIECES:"pieces",TONS:"ton",EA:"EA"},Hs_AGREEMENTS="agreements",Xt={MENU_SECTION:{PLATE:"plate",PRODUCT_CATALOG:"product catalogue"},MENU_SECTION_UID:{TRADING_PRODUCTS:"productsnavnode",SEGMENT:"segmentlogginnavnode",PRODUCT:"30_productcataloguelogginnavnode",PRODUCT_PLATE:"20_segnavnode",PRODUCT_BRANDS:"312_brandsseglink",SELECTOR:"2_categorynavnode",SELECTOR_PLATE:"20_categorynavnode",SELECTOR_BRANDS:"brands_categorylink"}},f={availability:new RegExp(/availability$/gi),coatingWeight:new RegExp(/metallic_coating_code/gi),coilWeightMin:new RegExp(/weight_min_desired$/gi),coilWeightMax:new RegExp(/weight_max_desired$/gi),deliveryCondition:new RegExp(/etat_livr/gi),diameter:new RegExp(/diameter$/gi),dimensionUnit:new RegExp(/unite_dim_cde/gi),invoiceDensity:new RegExp(/code_facturation/gi),length:new RegExp(/(length_(?:std_customer|ranged|client))$|long_client_3$/gi),metalDensity:new RegExp(/metal_density$/gi),paintSystemInside:new RegExp(/paint_system_desc_inside/gi),paintSystemOutside:new RegExp(/paint_system_desc_outside/gi),productStandard:new RegExp(/cts_standard$/gi),productsRange:new RegExp(/products.range$/gi),quantityOfPlates:new RegExp(/nombre_toles/gi),ralCodeInside:new RegExp(/color_desc_inside/gi),ralCodeOutside:new RegExp(/color_desc_outside/gi),refNumber:new RegExp(/customer_material_number/gi),salesUnit:new RegExp(/vbap_vrkme/gi),steelDefects:new RegExp(/steel_defects$/gi),steelGrade:new RegExp(/(decri_norme_1|grade_v2|cts_steelgrade)$/gi),surfaceQuality:new RegExp(/surface_appearance/gi),surfaceTolerance:new RegExp(/surface_tolerance|NREMT_1$/gi),surfaceTreatmentQuotation:new RegExp(/trait_surf_quote/gi),teardrop:new RegExp(/(teardrop|ityt)$/gi),thickness:new RegExp(/(thickness_ranged|thickness_std_customer|epais_client|epais_client_3)$/gi),thicknessTolerance:new RegExp(/thickness_tolerance/gi),tolerance:new RegExp(/flatness_tolerance/gi),unitOfOrder:new RegExp(/unite_commande$/gi),uomDimensions:new RegExp(/uom_dimensions$/gi),uomDiameters:new RegExp(/uom_diameters$/gi),volume:new RegExp(/volume$/gi),width:new RegExp(/(width_(?:std_customer|ranged|client))$|larg_client_3$/gi),widthTolerance:new RegExp(/width_tolerance/gi),weightOfTheItem:new RegExp(/poids_1_tole/gi),zincType:new RegExp(/zinc_type/gi),rangedAttributes:new RegExp(/(WIDTH_RANGED|LENGTH_RANGED|THICKNESS_RANGED)$/gi),testCertificateType:new RegExp(/certif_type$/gi),packagingCode:new RegExp(/packaging_code$/gi),thicknessSeverity:new RegExp(/tol_thickness_severity$/gi),edgeTrip:new RegExp(/edge_trim$/gi),galvaClass:new RegExp(/galva_class$/gi),orgProtectionQty:new RegExp(/org_protection_qty$/gi),orgProtectionType:new RegExp(/org_protection_type$/gi),spangle:new RegExp(/spangle$/gi),chemicalProtection:new RegExp(/chemical_protection$/gi),metallicCoatingCode:new RegExp(/metallic_coating_code$/gi),metallicCoatingType:new RegExp(/metallic_coating_type$/gi),safetyPart:new RegExp(/safety_part$/gi),ferruleType:new RegExp(/ferrule_type$/gi),regulationPart:new RegExp(/regulation_part$/gi),glossInside:new RegExp(/gloss_inside$/gi),glossOutside:new RegExp(/gloss_outside$/gi),orgCoatThicknessInside:new RegExp(/org_coat_thickness_inside$/gi),orgCoatThicknessOutside:new RegExp(/org_coat_thickness_outside$/gi),secondCategory:new RegExp(/second_category$/gi),productionDate:new RegExp(/prod_date$/gi)},Im=new RegExp(/larg_client|long_client|thickness_std_customer|epais_client|(width_(?:std_customer|client))$|(length_(?:std_customer|client))$/gi),wm=new RegExp(/poids_1_tole|poids_poste|weight_max_desired|weight_min_desired/gi),xg={doc:"file_doc",jpg:"file_jpg",jpeg:"file_jpg",pdf:"file_pdf",png:"file_png",xls:"file_xls",docx:"file_doc",xlsx:"file_xls",zip:"file_zip",rar:"file_rar",csv:"file_csv"},J_MARKETING={LOAD_MORE_CLICKED:"marketing-page: LoadMoreClicked"},J_PAGE_UNDERLAY="pageUnderlay:toggle",J_HEADER={BURGER_CLICK:"burger:click",BURGER_CLICK_OUTSIDE:"burger:clickOutside",BURGER_CLOSE_MENU:"burger:clickCloseMenu",BURGER_CLOSE_USER_MENU:"burger:clickCloseUserMenu",SEARCH_CHANGE_STATE:"search:changeState"},J_MINI_CART_UPDATE="mini-cart:updated",J_CLAIM={NEW_SEARCH:"claims:newItemSearch",REMOVED:"claims:removed",ITEMS_LOADED:"claims:items:loaded"},J_ORDER={SHOW_BY_ID:"orders:show:id"},J_GDPR_OPEN="gdpr:open";var xn,Gn;(xn||(xn={})).IN_STOCK=":inStock:true",function(a){a.ORDER_TYPE_STOCK="orderType:STOCK",a.PRODUCTION_TYPE_PLATE_STOCK="productType:PLATE_STOCK",a.PRODUCTION_TYPE_PLATE_ORDER="productType:PLATE_ORDER"}(Gn||(Gn={}));const Zt_CODE="102",Zt_CLASS_TYPE="Prepainted_Product_cpq",Se_VARIANT="VARIANT",Se_VARIANT__PREPAINTED="VARIANT__PREPAINTED",Se_STRIP__PREPAINTED="STRIP__PREPAINTED",ae={SHOP:"Shop ",BUY_FROM_STOCK:"Buy from stock ",PLATE:"plate",STRIP:"strip",HOME_CONNECTED:"Home connected",REQUEST_FOR_QUOTATION:"Request for quotation",ORDER_FROM_CONTRACT:"Order from contract",CART:"Cart",CHECKOUT_QUOTATION:"Quote checkout",CHECKOUT_ORDER:"Order checkout ",ORDER_CONFIRMATION:"Order confirmation",QUOTE_CONFIRMATION:"Quote confirmation",START_CLAIM:"start_claim",SUBMIT_CLAIM:"submit_claim",CLAIM_ERROR:"error_submit_claim",USER_CREATION:"user_creation",FILE_DOWNLOAD:"file_download",USER_LOGIN:"login",ADD_TO_CATALOG_SUBMIT:"add_to_catalogue_submit",ADD_TO_CART:"add_to_cart",QUANTITY_EXCEED:"quantity_exceed",VIEW_CART:"view_cart",CHECKOUT_ORDER_CONFIRMATION:"order_confirmation",CHECKOUT_QUOTE_CONFIRMATION:"quote_confirmation",BEGIN_CHECKOUT:"begin_checkout",BRAND_QUEND:"brand_quend",BRAND_QUARD:"brand_quard",SHOP_FILTER:"shop_filter",REORDER_SUCCESS:"reorder_sucess"},Jt_REQUEST_QUOTATION="/catalog/quote",Jt_ORDER_FROM_CONTRACT="/catalog/order",Jt_CART="/cart",Jt_CHECKOUT_QUOTATION="/checkout/quotation",Jt_CHECKOUT_ORDER="/checkout/mts",Jt_CHECKOUT_CONTRACT="/checkout/mto",Jt_CHECKOUT_CONFIRMATION="/order-confirmation";var Je=i(9310),Ge=i(53993),k=i(25558),oe=i(96697),se=i(35727),kt=i(27781),X=i(18359),Ce=i(84572),$=i(7673),Pm=i(12558),Yc=i(1807),Qc=i(983),qc=i(13946),We=i(23294),w=i(96354),B=i(5964),z=i(88141),zn=i(44668),fg=i(83229),Dm=i(87083);let Hc=class{constructor(e,t,s){this.store=e,this.multiCartService=t,this.userIdService=s,this.subscription=new X.yU,this.activeCartId$=this.getCartId(),this.cartSelector$=this.activeCartId$.pipe((0,k.n)(o=>this.multiCartService.getCartEntity(o))),this.initActiveCart()}ngOnDestroy(){this.subscription.unsubscribe()}initActiveCart(){this.subscription.add(this.userIdService.getUserId().pipe((0,qc.J)(),(0,k.n)(([s,o])=>(0,Ce.z)([(0,$.of)(s),(0,$.of)(o),this.activeCartId$.pipe((0,We.F)())]).pipe((0,oe.s)(1)))).subscribe(([s,o,l])=>{this.isJustLoggedIn(o,s)&&this.loadOrMerge(l,o,s)}));const e=this.cartSelector$.pipe((0,w.T)(s=>({cart:s.value,isStable:!s.loading&&0===s.processesCount,loaded:(s.error||s.success)&&!s.loading})),(0,B.p)(({isStable:s,cart:o})=>s||this.isEmpty(o))),t=e.pipe((0,Ge.E)(this.activeCartId$,this.userIdService.getUserId()),(0,z.M)(([{cart:s,loaded:o,isStable:l},u,h])=>{l&&this.isEmpty(s)&&!o&&!(0,se.kt)(u)&&this.load(u,h)}));this.activeCart$=(0,Pm.v)(()=>t.subscribe(),()=>e).pipe((0,w.T)(({cart:s})=>s||{}),(0,We.F)(),(0,zn.t)({bufferSize:1,refCount:!0}))}getActive(){return this.activeCart$}getActiveCartId(){return this.activeCart$.pipe((0,Ge.E)(this.userIdService.getUserId()),(0,w.T)(([e,t])=>(0,se.TI)(e,t)),(0,We.F)())}getEntries(){return this.activeCartId$.pipe((0,k.n)(e=>this.multiCartService.getEntries(e)),(0,We.F)())}getLastEntry(e){return this.activeCartId$.pipe((0,k.n)(t=>this.multiCartService.getLastEntry(t,e)),(0,We.F)())}getLoading(){return this.cartSelector$.pipe((0,w.T)(e=>e.loading),(0,We.F)())}isStable(){return this.activeCartId$.pipe((0,k.n)(e=>this.multiCartService.isStable(e)),(0,fg.s)(e=>e?(0,Yc.O)(0):Qc.w),(0,We.F)())}loadOrMerge(e,t,s){e===p.NFW?this.multiCartService.loadCart({userId:t,cartId:p.NFW,extraData:{active:!0}}):this.isGuestCart()?this.guestCartMerge(e):t!==s&&t!==p.Yd1&&s!==p.Yd1?this.multiCartService.loadCart({userId:t,cartId:e,extraData:{active:!0}}):this.multiCartService.mergeToCurrentCart({userId:t,cartId:e,extraData:{active:!0}})}load(e,t){t===p.Yd1&&e===p.NFW||this.multiCartService.loadCart({userId:t,cartId:e,extraData:{active:!0}})}addEntriesGuestMerge(e){const t=e.map(s=>({productCode:s.product.code,quantity:s.quantity}));this.requireLoadedCartForGuestMerge().pipe((0,Ge.E)(this.userIdService.getUserId())).subscribe(([s,o])=>{this.multiCartService.addEntries(o,(0,se.TI)(s.value,o),t)})}requireLoadedCartForGuestMerge(){return this.requireLoadedCart(this.cartSelector$.pipe((0,B.p)(()=>!this.isGuestCart())))}isCartCreating(e,t){return(0,se.kt)(t)&&(e.loading||e.success||e.error)}requireLoadedCart(e){const t=e||this.cartSelector$;return t.pipe((0,B.p)(s=>!s.loading),(0,Ge.E)(this.activeCartId$),(0,B.p)(([s,o])=>!this.isCartCreating(s,o)),(0,w.T)(([s])=>s),(0,oe.s)(1),(0,Ge.E)(this.userIdService.getUserId()),(0,z.M)(([s,o])=>{this.isEmpty(s.value)&&o!==p.Yd1&&this.load(p.NFW,o)}),(0,k.n)(()=>t),(0,B.p)(s=>!s.loading),(0,Ge.E)(this.userIdService.getUserId()),(0,B.p)(([s,o])=>o===p.Yd1||s.success||s.error),(0,oe.s)(1),(0,z.M)(([s,o])=>{this.isEmpty(s.value)&&this.multiCartService.createCart({userId:o,extraData:{active:!0}})}),(0,k.n)(()=>t),(0,B.p)(s=>!s.loading),(0,B.p)(s=>s.success||s.error),(0,Ge.E)(this.activeCartId$),(0,B.p)(([s,o])=>!this.isCartCreating(s,o)),(0,w.T)(([s])=>s),(0,B.p)(s=>!this.isEmpty(s.value)),(0,oe.s)(1))}addEntry(e,t){this.requireLoadedCart().pipe((0,Ge.E)(this.userIdService.getUserId())).subscribe(([s,o])=>{this.multiCartService.addEntry(o,(0,se.TI)(s.value,o),e,t)})}removeEntry(e){this.activeCartId$.pipe((0,Ge.E)(this.userIdService.getUserId()),(0,oe.s)(1)).subscribe(([t,s])=>{this.multiCartService.removeEntry(s,t,e.entryNumber)})}updateEntry(e,t){this.activeCartId$.pipe((0,Ge.E)(this.userIdService.getUserId()),(0,oe.s)(1)).subscribe(([s,o])=>{this.multiCartService.updateEntry(o,s,e,t)})}getEntry(e){return this.activeCartId$.pipe((0,k.n)(t=>this.multiCartService.getEntry(t,e)),(0,We.F)())}addEmail(e){this.activeCartId$.pipe((0,Ge.E)(this.userIdService.getUserId()),(0,oe.s)(1)).subscribe(([t,s])=>{this.multiCartService.assignEmail(t,s,e)})}getAssignedUser(){return this.getActive().pipe((0,w.T)(e=>e.user))}isGuestCart(e){e||this.activeCart$.subscribe(s=>e=s).unsubscribe();const t=e?.user;return t&&(t.name===p.Prv||this.isEmail(t.uid.split("|").slice(1).join("|")))}addEntries(e){e.forEach(t=>{this.addEntry(t.product.code,t.quantity)})}isEmail(e){return!!e&&!!e.match(p.GXJ)}guestCartMerge(e){let t;this.getEntries().pipe((0,oe.s)(1)).subscribe(s=>{t=s,this.multiCartService.deleteCart(e,p.Yd1),this.addEntriesGuestMerge(t)})}isEmpty(e){return!e||"object"==typeof e&&0===Object.keys(e).length}isJustLoggedIn(e,t){return e!==p.Yd1&&t!==e}getCartId(){return this.userIdService.getUserId().pipe((0,oe.s)(1),(0,Dm.K)(this.store),(0,Je.Lt)(se.oy.getCartIdByTypeFactory(kt.TK.ACTIVE)),(0,w.T)(e=>e||p.NFW))}static#e=this.ctorParameters=()=>[{type:Je.il},{type:se.Z1},{type:p.y9w}]};Hc=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],Hc);var _e=i(70980);let js=class{constructor(e,t,s){this.http=e,this.occEndpointsService=t,this.converterService=s}add(e,t,s,o=1,l=G.PIECES,u,h,_,C,T,D,F){const K=this.occEndpointsService.buildUrl("addEntries",{urlParams:{userId:e,cartId:t}}),ne={quantity:o,product:{code:s},unit:l,deliveryMonth:h,desiredDeliveryDateWeek:_,deliveryAllowedFromWeek:C,desiredDeliveryDate:T,warehouseCode:D,priceNotFinal:F};return u&&(ne.volumeBasedAgreement=u),this.http.post(K,ne).pipe(this.converterService.pipeable(kt._9))}remove(e,t,s,o){const l=this.occEndpointsService.buildUrl("addEntries",{urlParams:{userId:e,cartId:t}}),u={quantity:0,product:{code:o.product.code},entryNumber:s,unit:o.unit};return this.http.post(l,u).pipe(this.converterService.pipeable(kt._9))}removeGroup(e,t,s){const o=this.occEndpointsService.buildUrl("removeGroup",{urlParams:{userId:e,cartId:t,groupId:s}});return this.http.delete(o).pipe(this.converterService.pipeable(kt._9))}update(e,t,s,o,l,u){const h=this.occEndpointsService.buildUrl("addEntries",{urlParams:{userId:e,cartId:t}}),_={quantity:o,product:{code:u},entryNumber:s,unit:l};return this.http.post(h,_).pipe(this.converterService.pipeable(kt._9))}static#e=this.ctorParameters=()=>[{type:U.Qq},{type:p.zxz},{type:p.EmH}]};js=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],js);let Ws=class{constructor(e){this.adapter=e}add(e,t,s,o,l,u,h,_,C,T,D,F){return this.adapter.add(e,t,s,o,l,u,h,_,C,T,D,F)}remove(e,t,s,o){return this.adapter.remove(e,t,s,o)}removeGroup(e,t,s){return this.adapter.removeGroup(e,t,s)}update(e,t,s,o,l,u,h,_){return this.adapter.update(e,t,s,o,h,_)}static#e=this.ctorParameters=()=>[{type:js}]};Ws=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],Ws);let Ks=class extends se.Z1{constructor(e,t,s){super(t,e),this.cartEntryConnector=s}addEntry(e,t,s,o,l,u,h,_,C,T,D,F){const K={userId:e,cartId:t,productCode:s,quantity:o,unit:l,category:u,deliveryMonth:h,desiredDeliveryDateWeek:_,deliveryAllowedFromWeek:C,desiredDeliveryDate:T,warehouseCode:D,priceNotFinal:F};return this.cartEntryConnector.add(e,t,s,o,l,u,h,_,C,T,D,F).pipe((0,z.M)({error:()=>{const ne=new se.Em.CartAddEntryFail({...K,error:"makeErrorSerializable(error)"});this.store.dispatch(ne)}}),(0,_e.j)(()=>this.loadCart({cartId:t,userId:e})))}removeEntry(e,t,s,o){return this.removeSingleOrGroup(e,t,s,o)}updateEntry(e,t,s,o,l,u,h){if(0===o)return this.removeEntry(e,t,s,h);const _={userId:e,cartId:t,entryNumber:`${s}`,quantity:o,unit:h.unit,productCode:h.product.code};return this.cartEntryConnector.update(e,t,s.toString(),o,void 0,void 0,h.unit,h.product.code).pipe((0,z.M)({error:()=>{const C=new se.Em.CartUpdateEntryFail({..._,error:"makeErrorSerializable(error)"});this.store.dispatch(C)}}),(0,_e.j)(()=>this.loadCart({cartId:t,userId:e})))}removeGroup(e,t,s,o){return this.removeSingleOrGroup(e,t,s,o)}removeSingleOrGroup(e,t,s,o){const u=(_=o)&&"number"==typeof _.length&&"function"!=typeof _?this.cartEntryConnector.removeGroup(e,t,s.toString()):this.cartEntryConnector.remove(e,t,s.toString(),o),h={cartId:t,userId:e,entryNumber:s.toString(),entry:o};var _;return u.pipe((0,z.M)({error:()=>{const _=new se.Em.CartRemoveEntryFail({...h,error:"makeErrorSerializable(error)"});this.store.dispatch(_)}}),(0,_e.j)(()=>this.loadCart({cartId:t,userId:e})))}static#e=this.ctorParameters=()=>[{type:p.y9w},{type:Je.il},{type:Ws}]};Ks=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],Ks);let Ot=class extends Hc{constructor(e,t,s){super(e,s,t),this.store=e,this.userIdService=t,this.multiCartService=s,this.initActiveCart()}reloadCart(){this.multiCartService.reloadCart(p.NFW,{active:!0})}addEntry(e,t,s=G.PIECES,o,l,u,h,_,C,T){return this.requireLoadedCart().pipe((0,Ge.E)(this.userIdService.getUserId()),(0,k.n)(([D,F])=>this.multiCartService.addEntry(F,function Lm(a,e){return e===p.Yd1?a.guid:a.code}(D.value,F),e,t,s,o,l,u,h,_,C,T)))}removeEntry(e){return this.getActiveCartId().pipe((0,Ge.E)(this.userIdService.getUserId()),(0,oe.s)(1),(0,k.n)(([t,s])=>this.multiCartService.removeEntry(s,t,e.entryNumber,e)))}updateEntry(e,t,s){return this.getActiveCartId().pipe((0,Ge.E)(this.userIdService.getUserId()),(0,oe.s)(1),(0,k.n)(([o,l])=>this.multiCartService.updateEntry(l,o,e,t,void 0,void 0,s)))}removeGroup(e,t){return this.getActiveCartId().pipe((0,Ge.E)(this.userIdService.getUserId()),(0,oe.s)(1),(0,k.n)(([s,o])=>this.multiCartService.removeGroup(o,s,e,t)))}static#e=this.ctorParameters=()=>[{type:Je.il},{type:p.y9w},{type:Ks}]};Ot=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],Ot);var Ke,re,ve=i(31057),P=i(84412);!function(a){a.MTS="mts",a.MTO="mto"}(Ke||(Ke={})),function(a){a.ORDER="ORDER",a.QUOTATION="QUOTATION",a.QUOTATION_VOLUME="QUOTATION_VOLUME"}(re||(re={}));let Yn=class{constructor(){this.productCodesInCart$=new P.t([])}getProductCodesInCart(e){const t=[];e.rootGroups?.length?(e.rootGroups?.find(s=>s.groupType===re.ORDER)?.children.forEach(s=>{s.children&&s.children.forEach(o=>{o.orderEntries&&o.orderEntries.forEach(l=>{t.push(l?.product?.code)})})}),this.initProductCodeInCart(t)):this.resetProductCodeInCart()}initProductCodeInCart(e){this.productCodesInCart$.next(e)}addProductCodeInCart(e){this.productCodesInCart$.next([...this.productCodesInCart$.getValue(),e])}removeProductCodeInCart(e){const t=this.productCodesInCart$.getValue().filter(s=>s!==e);this.productCodesInCart$.next(t)}resetProductCodeInCart(){this.productCodesInCart$.next([])}static#e=this.ctorParameters=()=>[]};Yn=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],Yn);let Xs=class{constructor(e,t,s,o,l){this.eventBus=e,this.activeCartService=t,this.currencyService=s,this.cartStateService=o,this.clientTokenService=l,this.DEFAULT_PRICE="0,00",this.cart$=this.clientTokenService.getClientToken().pipe((0,B.p)(u=>!!u?.access_token),(0,k.n)(()=>this.activeCartService.getActive()),(0,w.T)(u=>(this.eventBus.cast(J_MINI_CART_UPDATE),this.cartStateService.getProductCodesInCart(u),u))),this.currency$=(0,Ce.z)([this.currencyService.getAll(),this.currencyService.getActive()]).pipe((0,w.T)(u=>u[0].find(_=>_.isocode===u[1])?.symbol||""))}static#e=this.ctorParameters=()=>[{type:ve.u},{type:Ot},{type:p.PnO},{type:Yn},{type:p.EAp}]};Xs=(0,r.Cg)([(0,n.uAl)({selector:"app-cart-info",template:'<div *ngIf="(cart$ | async) as cart" class="cart-info">\n  <span class="cart-info__item">\n    {{ cart.totalItems || 0 }} {{\'text.cartInfo.items\' | cxTranslate}}\n  </span>\n\n  <span class="cart-info__item">\n    <ng-container *ngIf="cart.totalPrice?.formattedValue; else defaultValue">\n      {{ cart.totalPrice?.formattedValue }}\n    </ng-container>\n\n    <ng-template #defaultValue>\n      {{ currency$ | async }} {{ DEFAULT_PRICE}}\n    </ng-template>\n\n  </span>\n</div>\n',styles:[Tm()]})],Xs);let Zs=class{};Zs=(0,r.Cg)([(0,n.UQu)({imports:[S.MD,p.LP3],declarations:[Xs],exports:[Xs],providers:[p.PnO]})],Zs);var Xe=i(59540),V=i(32422);let en=class{transform(e){return 0===e?e:!e||isNaN(+e)?"":e/1024/1024}};en=(0,r.Cg)([(0,n.nT_)({name:"bytesToMb"})],en);const we=a=>+(a/1e3).toFixed(3),tn=a=>+(1e3*a).toFixed(3);let fn=class{transform(e,t){return e&&0!=+e?+e&&+t.weightOfItem?t.unit===G.KG?Math.ceil(e/(t.weightOfItem/1e3))+" pcs.":we(e*t.weightOfItem)+" t":void 0:"0 "+(t.unit===G.KG?"psc.":"t")}};fn=(0,r.Cg)([(0,n.nT_)({name:"calculatedVolume"})],fn);let Js=class{transform(e,t){return t.code?.match(Im)?`${e} ${t.dimension}`:t.code?.match(f.diameter)?`${e} ${t.diameter}`:t.code?.match(wm)?+(Math.round(+e)/1e3).toFixed(3)+" t":e}};Js=(0,r.Cg)([(0,n.nT_)({name:"changePropertyValue"})],Js);let Cn=class{constructor(e){this.datePipe=e}transform(e,t="dd.MM.yyyy"){return e?this.datePipe.transform(e,t,e.slice(-5)):""}static#e=this.ctorParameters=()=>[{type:S.vh}]};Cn=(0,r.Cg)([(0,n.nT_)({name:"dateWithTimezonePipe"})],Cn);let ei=class{constructor(e){this.dateWithTimezonePipe=e}transform(e){const t=new Date(this.dateWithTimezonePipe.transform(e,"medium")).getTime();return isNaN(t)?"":t}static#e=this.ctorParameters=()=>[{type:Cn}]};ei=(0,r.Cg)([(0,n.nT_)({name:"dateTsPipe"})],ei);let ti=class{transform(e,t){return new Intl.NumberFormat("de-DE",{minimumFractionDigits:t,maximumFractionDigits:t}).format(Number(e))}};ti=(0,r.Cg)([(0,n.nT_)({name:"decimalNumber"})],ti);const km={bytes:0,KB:0,MB:1,GB:1,TB:2,PB:2};let ni=class{constructor(){this.units=["bytes","KB","MB","GB","TB","PB"]}transform(e=0,t=km){if(isNaN(parseFloat(String(e)))||!isFinite(e))return"?";let s=0;for(;e>=1024;)e/=1024,s++;const o=this.units[s];return"number"==typeof t?`${e.toFixed(+t)} ${o}`:`${e.toFixed(t[o])} ${o}`}};ni=(0,r.Cg)([(0,n.nT_)({name:"fileSize"})],ni);var v=i(86070);let si=class{constructor(e){this.mediaService=e}transform(e,t,s){return e?this.mediaService.getMedia(e).src:""}static#e=this.ctorParameters=()=>[{type:v.u1P}]};si=(0,r.Cg)([(0,n.nT_)({name:"getMedia"})],si);let ii=class{constructor(e){this.domSanitizer=e,this.steelGradeInResult="Steel grade",this.dictionary=[{words:["steel grade","steel","grade","steelgrade"],desc:"Steel grade"},{words:["product standard","standard","product standart","standart","productstandard "],desc:"Product standard"},{words:["thickness","thick"],desc:"Thickness"},{words:["width"],desc:"Width"},{words:["length"],desc:"Length"},{words:["steel defects","defect","defects","steeldefect","steeldefects"],desc:"Steel defects"},{words:["tonnage","ton","tonage"],desc:"Tonnage"},{words:["reference number","reference","ref","specref"],desc:"Reference number"}],this.wrapperStart="<mark>",this.wrapperEnd="</mark>",this.synonymsList=this.dictionary.reduce((t,s)=>[...t,...s.words],[]),this.invertedIndex=this.dictionary.reduce((t,s)=>(s.words.map(o=>t.set(o,s.desc)),t),new Map)}transform(e,t){if(t=t.replace(/\s+/," "),e=e.replace(/\s+/g," "),e=Fm(e),t.split(" ").find(h=>this.invertedIndex.get(h)===this.steelGradeInResult)&&(e=e.replace(this.steelGradeInResult,this.wrapperStart+this.steelGradeInResult+this.wrapperEnd)),!t)return this.domSanitizer.bypassSecurityTrustHtml(jc(e));if(1===t.split(" ").length){const h=new RegExp(`${t}`,"gi");return this.domSanitizer.bypassSecurityTrustHtml(jc(e.replace(h,`${this.wrapperStart}$&${this.wrapperEnd}`).replace(/\s+/g," ")))}const o=new Map;this.synonymsList.map((h,_)=>{const C=new RegExp(`\\b(${h})\\b`,"gi"),T=new RegExp(`\\b${this.invertedIndex.get(h)}\\b`,"gi");t=t.replace(C,()=>(e=e.replace(T,D=>(o.set(`{{${_}}}`,`${this.wrapperStart}${D}${this.wrapperEnd}`),`{{${_}}}`)),""))});const l=t.split(" ").filter(h=>h.trim());if([...o.keys()].length&&l.length)for(const[h,_]of l.entries()){const C=new RegExp(`({{\\d+}})\\s+(${_})`,"gi");e=e.replace(C,(T,D,F)=>(o.set(`{{z${F}}}`,` ${this.wrapperStart}${F}${this.wrapperEnd}`),`${D} {{z${F}}}`))}const u=new RegExp(/{{[^}]+}}/g);return e=e.replace(u,h=>o.get(h)).replace(/\s+/g," "),this.domSanitizer.bypassSecurityTrustHtml(jc(e))}static#e=this.ctorParameters=()=>[{type:Lt.up}]};ii=(0,r.Cg)([(0,n.nT_)({name:"markSearchResults"})],ii);const Fm=a=>a.replace(/<em class="search-results-highlight">/gi,"\u2606").replace(/<\/em>/gi,"\u2605"),jc=a=>a.replace(/\u2606/gi,'<em class="search-results-highlight">').replace(/\u2605/gi,"</em>");let ri=class{transform(e,t=3){if(e&&"number"==typeof e&&e>0){const s=e/1e3;return Math.trunc(s*Math.pow(10,t))/Math.pow(10,t)}return e<=0?0:null}};ri=(0,r.Cg)([(0,n.nT_)({name:"massConversionNoNegative"})],ri);let oi=class{transform(e,t=3,s=!1){if(e&&"number"==typeof e){const o=e/1e3,l=Math.trunc(o*Math.pow(10,t))/Math.pow(10,t);return s?this.addNumbers(l,t):l.toString()}return 0===e?s?this.addNumbers(0,t):"0":""}addNumbers(e,t){const s=e.toString(10).split(".");let o=s[1]??"";for(;o.length<t;)o+="0";return`${s[0]}.${o}`}};oi=(0,r.Cg)([(0,n.nT_)({name:"massConversion"})],oi);let ai=class{transform(e){return!!e&&!e.match(/^[^0-9]*[0][^0-9]*$/)}};ai=(0,r.Cg)([(0,n.nT_)({name:"isPriceNotZero"})],ai);let ci=class{transform(e,t){return e?e.filter(s=>s.productionType?.toLowerCase()===t):[]}};ci=(0,r.Cg)([(0,n.nT_)({name:"productionTypeFilter"})],ci);let li=class{constructor(e){this.domSanitizer=e}transform(e){return this.domSanitizer.bypassSecurityTrustHtml(e.replace(/(?:\r\n|\r|\n)/g,"<br>"))}static#e=this.ctorParameters=()=>[{type:Lt.up}]};li=(0,r.Cg)([(0,n.nT_)({name:"safeHtml"})],li);let di=class{transform(e,t){const{start:s,del:o,newValue:l}=t;return l?e.splice(s,o,l):e.splice(s,o),e}};di=(0,r.Cg)([(0,n.nT_)({name:"splicePipe"})],di);let pi=class{transform(e){return e===G.PIECES?G.PIECES:G.TONS}};pi=(0,r.Cg)([(0,n.nT_)({name:"unitsReplacement"})],pi);let ui=class{transform(e){return e===G.PIECES?"":"t"}};ui=(0,r.Cg)([(0,n.nT_)({name:"units"})],ui);let xe=class{};xe=(0,r.Cg)([(0,n.UQu)({declarations:[ni,ui,oi,ri,pi,si,ci,Cn,ei,ii,li,Js,en,di,fn,ai,ti],imports:[S.MD],exports:[ni,ui,oi,pi,si,ci,Cn,ei,ii,li,Js,en,di,fn,ai,ti,ri],providers:[Cn,en]})],xe);var Nm=i(47789),Um=i.n(Nm);let hi=class{constructor(){this.errors=null,this.isCommerce=!1,this.isTrading=!1,this.fileMaxSizeError="error.fileMaxSizeError",this.totalMaxSizeError="error.totalMaxSizeError",this.fileFormatError="error.fileFormatError",this.filesNamesHasDuplicate="error.filesNamesHasDuplicate",this.maxSizeFile=10485760,this.maxSizeAllFiles=20971520}ngOnInit(){}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={errors:[{type:n.pde}],isCommerce:[{type:n.pde}],isTrading:[{type:n.pde}],fileMaxSizeError:[{type:n.pde}],totalMaxSizeError:[{type:n.pde}],fileFormatError:[{type:n.pde}],filesNamesHasDuplicate:[{type:n.pde}],maxSizeFile:[{type:n.pde}],maxSizeAllFiles:[{type:n.pde}]}};hi=(0,r.Cg)([(0,n.uAl)({selector:"app-attachments-errors",template:'<div *ngIf="errors" [class.isCommerce]="isCommerce">\n  <ng-container *ngIf="errors.file">\n    <div class="error">\n      <svg-icon-sprite\n        src="error"\n        class="error__icon"\n      ></svg-icon-sprite>\n      <p class="error__text">\n        {{ fileMaxSizeError | cxTranslate: { size: ( maxSizeFile | bytesToMb ) } }}\n      </p>\n    </div>\n  </ng-container>\n\n  <ng-container *ngIf="errors.allFiles">\n    <div class="error">\n      <svg-icon-sprite\n        src="error"\n        class="error__icon"\n      ></svg-icon-sprite>\n      <p class="error__text">\n        {{ totalMaxSizeError | cxTranslate:\n        { size: ( (this.isTrading ? this.maxSizeAllFiles : 52428800) | bytesToMb ) } }}\n      </p>\n    </div>\n  </ng-container>\n\n  <ng-container *ngIf="errors.format">\n    <div class="error">\n      <svg-icon-sprite\n        src="error"\n        class="error__icon"\n      ></svg-icon-sprite>\n      <p class="error__text">\n        {{ fileFormatError | cxTranslate }}\n      </p>\n    </div>\n  </ng-container>\n\n  <ng-container *ngIf="errors.uniqueNames">\n    <div class="error">\n      <svg-icon-sprite\n        src="error"\n        class="error__icon"\n      ></svg-icon-sprite>\n      <p class="error__text">\n        {{ filesNamesHasDuplicate | cxTranslate }}\n      </p>\n    </div>\n  </ng-container>\n</div>\n',styles:[Um()]})],hi);var Qn,m=i(89417),Ft=i(29266),st=i(87327);let qn=class{static#e=Qn=this;constructor(e,t){this.elementRef=e,this.renderer=t,this.observer=new MutationObserver(()=>{setTimeout(()=>{this.onChange(Qn.processValue(this.elementRef.nativeElement.innerHTML))})}),this.onTouched=()=>{},this.onChange=()=>{}}static processValue(e){const t=e||"";return"<br>"===t.trim()?"":t}ngAfterViewInit(){this.observer.observe(this.elementRef.nativeElement,{characterData:!0,childList:!0,subtree:!0})}ngOnDestroy(){this.observer.disconnect()}onInput(){this.observer.disconnect(),this.onChange(Qn.processValue(this.elementRef.nativeElement.innerHTML))}onBlur(){this.onTouched()}writeValue(e){this.renderer.setProperty(this.elementRef.nativeElement,"innerHTML",Qn.processValue(e))}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.renderer.setAttribute(this.elementRef.nativeElement,"contenteditable",String(!e))}static#t=this.ctorParameters=()=>[{type:n.aKT,decorators:[{type:n.y_5,args:[n.aKT]}]},{type:n.sFG,decorators:[{type:n.y_5,args:[n.sFG]}]}];static#n=this.propDecorators={onInput:[{type:n.Z$l,args:["input"]}],onBlur:[{type:n.Z$l,args:["blur"]}]}};qn=Qn=(0,r.Cg)([(0,n.WLR)({selector:"[contenteditable][formControlName], [contenteditable][formControl], [contenteditable][ngModel]",providers:[{provide:m.kq,useExisting:(0,n.Rfq)(()=>qn),multi:!0}]})],qn);const _t_production=!0,_t_occBaseUrl=null,_t_prefix="/occ/v2/",_t_gtmId="GTM-NLMCSBBL";let gi=class{constructor(e,t){this.el=e,this.renderer=t,_t_production&&(t.removeAttribute(e.nativeElement,"data-cy"),t.removeAttribute(e.nativeElement,"data"))}static#e=this.ctorParameters=()=>[{type:n.aKT},{type:n.sFG}];static#t=this.propDecorators={data:[{type:n.pde}]}};gi=(0,r.Cg)([(0,n.WLR)({selector:"[data-cy]"})],gi);let mi=class{constructor(e){this.elementRef=e}onMouseEnter(){this.params.apply&&this.elementRef.nativeElement.classList.add(this.params.hoverClass)}onMouseLeave(){this.params.apply&&this.elementRef.nativeElement.classList.remove(this.params.hoverClass)}static#e=this.ctorParameters=()=>[{type:n.aKT}];static#t=this.propDecorators={params:[{type:n.pde}],onMouseEnter:[{type:n.Z$l,args:["mouseenter"]}],onMouseLeave:[{type:n.Z$l,args:["mouseleave"]}]}};mi=(0,r.Cg)([(0,n.WLR)({selector:"[appHoverClass]"})],mi);let bn=class{};bn=(0,r.Cg)([(0,n.UQu)({declarations:[qn,mi,gi],exports:[qn,mi,gi]})],bn);var Bm=i(74417),Vm=i.n(Bm),R=i(21413),x=i(56977);const Cg="(?=.*?[A-Z])",bg="(?=.*?[a-z])",yg="(?=.*?[0-9])",Sg="(?=.*?[\\[\\]!&?<|>\u201d~`\"/=@#$%^*()\u2019'_\\-+{}#^;:.,\\\\])";let _i=class{constructor(){this.destroyed$=new R.B,this.lengthCaseCriteria={error:"empty",msg:"6 to 20 characters long"},this.validations=[{error:"empty",msg:"At least 1 lowercase letter",regexp:new RegExp("^"+bg)},{error:"empty",msg:"At least 1 uppercase letter",regexp:new RegExp("^"+Cg)},{error:"empty",msg:"At least 1 digit",regexp:new RegExp("^"+yg)},{error:"empty",msg:"At least 1 symbol",regexp:new RegExp("^"+Sg)}]}ngOnInit(){this.controlData.valueChanges.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.lengthCaseCriteria.error=e.length?this.controlData.errors?.minlength||this.controlData.errors?.maxlength?null:"":"empty",this.validations.forEach(t=>{t.error=e.length?e.match(t.regexp):"empty"})})}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}static#e=this.propDecorators={controlData:[{type:n.pde}]}};_i=(0,r.Cg)([(0,n.uAl)({selector:"app-password-strength",template:'<div class="password-strength">\n  <div class="password-strength__inner">\n    <div class="password-strength__title">{{\'text.passwordStrength.title\' | cxTranslate}}:</div>\n\n    <ul class="password-strength__list">\n      <li class="password-strength__list-item">\n        <ng-container *ngTemplateOutlet="icon; context: { error: lengthCaseCriteria.error }"></ng-container>\n        <span>{{ lengthCaseCriteria.msg }} </span>\n      </li>\n      <li *ngFor="let validation of validations" class="password-strength__list-item">\n        <ng-container *ngTemplateOutlet="icon; context: { error: validation.error }"></ng-container>\n        <span>{{ validation.msg }}</span>\n      </li>\n    </ul>\n  </div>\n</div>\n<ng-template #icon let-error="error">\n  <container-element [ngSwitch]="error">\n    <ng-container *ngSwitchCase="null"><img src="/assets/icons/warning.svg" alt=""></ng-container>\n    <ng-container *ngSwitchCase="\'empty\'"><img src="/assets/icons/radio_button_unchecked.svg" alt=""></ng-container>\n    <ng-container *ngSwitchDefault><img src="/assets/icons/check_circle.svg" alt=""></ng-container>\n  </container-element>\n</ng-template>\n\n',styles:[Vm()]})],_i);let vi=class{};vi=(0,r.Cg)([(0,n.UQu)({declarations:[_i],imports:[S.MD,p.LP3],exports:[_i]})],vi);var Hn=i(33726);var zm=i(70129),Ym=i.n(zm);let yn=class{constructor(e,t){this.elementRef=e,this.changeDetection=t,this.isWithScroll=!0}ngAfterViewChecked(){this.changeDetection.detectChanges()}get verticalScrolled(){const{scrollTop:e,scrollHeight:t,clientHeight:s}=this.elementRef.nativeElement;return e/(t-s)}get horizontalScrolled(){const{scrollLeft:e,scrollWidth:t,clientWidth:s}=this.elementRef.nativeElement;return e/(t-s)}get verticalPosition(){return this.verticalScrolled*(100-this.verticalSize)}get horizontalPosition(){return this.horizontalScrolled*(100-this.horizontalSize)}get verticalSize(){const{clientHeight:e,scrollHeight:t}=this.elementRef.nativeElement;return Math.ceil(e/t*100)}get horizontalSize(){const{clientWidth:e,scrollWidth:t}=this.elementRef.nativeElement;return Math.ceil(e/t*100)}get hasVerticalBar(){return this.verticalSize<100}get hasHorizontalBar(){return this.horizontalSize<100}onScroll(){}onVertical(e){this.elementRef.nativeElement.scrollTop=e}onHorizontal(e){this.elementRef.nativeElement.scrollLeft=e}static#e=this.ctorParameters=()=>[{type:n.aKT,decorators:[{type:n.y_5,args:[n.aKT]}]},{type:n.gRc}];static#t=this.propDecorators={isWithScroll:[{type:n.pde}],onScroll:[{type:n.Z$l,args:["scroll"]}]}};yn=(0,r.Cg)([(0,n.uAl)({selector:"scrollbar",template:'<div *ngIf="isWithScroll" class="bars">\n  <div\n    *ngIf="hasVerticalBar"\n    class="bar bar__vertical"\n    [class.bar__has-horizontal]="hasHorizontalBar"\n  >\n    <div\n      class="thumb"\n      draggable="vertical"\n      [style.height.%]="verticalSize"\n      [style.top.%]="verticalPosition"\n      (dragged)="onVertical($event)"\n    ></div>\n  </div>\n  <div\n    *ngIf="hasHorizontalBar"\n    class="bar bar__horizontal"\n    [class.bar__has-vertical]="hasVerticalBar"\n  >\n    <div\n      class="thumb"\n      draggable="horizontal"\n      [style.width.%]="horizontalSize"\n      [style.left.%]="horizontalPosition"\n      (dragged)="onHorizontal($event)"\n    ></div>\n  </div>\n</div>\n<div class="content"><ng-content></ng-content></div>\n',changeDetection:n.Ngq.OnPush,styles:[Ym()]})],yn);let Wc=class{constructor(e,t,s){this.scrollbar=e,this.documentRef=t,this.elementRef=s,this.draggable="vertical",this.dragged=(0,Hn.R)(this.elementRef.nativeElement,"mousedown").pipe((0,k.n)(o=>{o.preventDefault();const l=o.target.getBoundingClientRect(),u=function Qm({clientY:a},{top:e,height:t}){return(a-e)/t}(o,l),h=function qm({clientX:a},{left:e,width:t}){return(a-e)/t}(o,l);return(0,Hn.R)(this.documentRef,"mousemove").pipe((0,w.T)(_=>this.getScrolled(_,u,h)),(0,x.Q)((0,Hn.R)(this.documentRef,"mouseup")))}))}getScrolled({clientY:e,clientX:t},s,o){const{offsetHeight:l,offsetWidth:u}=this.elementRef.nativeElement,{nativeElement:h}=this.scrollbar.elementRef,{top:_,left:C,width:T,height:D}=h.getBoundingClientRect(),F=h.scrollHeight-D,K=h.scrollWidth-T,ne=(e-_-l*s)/(D-l),he=(t-C-u*o)/(T-u);return"vertical"===this.draggable?F*ne:K*he}static#e=this.ctorParameters=()=>[{type:yn,decorators:[{type:n.y_5,args:[yn]}]},{type:Document,decorators:[{type:n.y_5,args:[S.qQ]}]},{type:n.aKT,decorators:[{type:n.y_5,args:[n.aKT]}]}];static#t=this.propDecorators={draggable:[{type:n.pde}],dragged:[{type:n.k7i}]}};Wc=(0,r.Cg)([(0,n.WLR)({selector:"[draggable]"})],Wc);let Te=class{};Te=(0,r.Cg)([(0,n.UQu)({imports:[S.MD],declarations:[yn,Wc],exports:[yn]})],Te);var jm=i(63981),Wm=i.n(jm);let xi=class{constructor(e){this.document=e,this.isFocused=!1}ngOnInit(){}onEditClick(){this.isFocused=!0,this.placeCaret(this.valueContainer.nativeElement,!1)}onBlur(){this.isFocused=!1}onFocus(){this.isFocused=!0}onInput(e){isNaN(String.fromCharCode(e.which))&&e.preventDefault()}placeCaret(e,t=!0){if(e.focus(),window.getSelection&&(this.document.createRange,1)){const s=this.document.createRange();s.selectNodeContents(e),s.collapse(t);const o=window.getSelection();o.removeAllRanges(),o.addRange(s)}else if(this.document.body.createTextRange){const s=this.document.body.createTextRange();s.moveToElementText(e),s.collapse(t),s.select()}}static#e=this.ctorParameters=()=>[{type:Document,decorators:[{type:n.y_5,args:[S.qQ]}]}];static#t=this.propDecorators={label:[{type:n.pde}],suggest:[{type:n.pde}],units:[{type:n.pde}],value:[{type:n.pde}],valueContainer:[{type:n.Uct,args:["valueContainer"]}]}};xi=(0,r.Cg)([(0,n.uAl)({selector:"app-input-editable",template:'<div\n  [class.is-focused]="isFocused"\n  [autoClose]="\'outside\'"\n  [ngbTooltip]="suggest"\n  triggers="click"\n  placement="bottom auto"\n  class="input-editable"\n>\n  <div class="input-editable__label">{{ label }}</div>\n  <div class="input-editable__value">\n    <span\n      class="input-editable__input"\n      [contentEditable]="true"\n      (focusin)="onFocus()"\n      (blur)="onBlur()"\n      (keypress)="onInput($event)"\n      #valueContainer\n    >\n      {{ value }}\n    </span>\n    <span class="input-editable__units">{{ units }}</span>\n  </div>\n\n  <svg-icon-sprite\n    src="create"\n    width="18"\n    height="18"\n    class="input-editable__icon"\n    (click)="onEditClick()"\n  ></svg-icon-sprite>\n</div>\n',styles:[Wm()]})],xi);var Xm=i(12337),Zm=i.n(Xm),Ue=i(40764);let fi=class{get isNotEmpty(){return"number"==typeof this.controlData?.value||"string"==typeof this.controlData?.value&&""!==this.controlData.value}constructor(e){this.document=e,this.showTextErrors=!0,this.showPasswordStrengthInfo=!1,this.type="text",this.numberMask=(0,Ue.TK)({prefix:"",thousandSeparator:""}),this.showIcon=!0,this.isReadOnly=!1,this.isRequired=!1,this.isRemaining=!1,this.isAutoFocus=!1,this.maxLength=null,this.textOption=null,this.isAutocompleteOff=!1,this.blurEvent=new n.bkB,this.focusEvent=new n.bkB,this.mouseLeave=new n.bkB,this.phoneMask=(0,Ue.TK)({prefix:"+",thousandSeparator:""}),this.isFocus=!1,this.onInput=()=>{}}ngOnInit(){}ngAfterViewInit(){this.isAutoFocus&&this.setFocus()}get isInvalid(){return this.controlData?.invalid&&this.controlData?.touched}onFocus(){this.focusEvent.emit(),this.isFocus=!0}onFocusOut(){this.isFocus=!1}setFocus(){this.document.getElementsByClassName("autofocus")[0].focus()}onPaste(e){e.preventDefault(),e.stopPropagation();const t=e.clipboardData.getData("text/plain").replace(/[ \t\n]/g,"");return this.controlData.setValue(t),!1}onKeyup(){const e=this.controlData.value.replace(/[ ]/g,"");this.controlData.setValue(e)}onBlur(){this.blurEvent.emit()}onMouseLeave(){this.mouseLeave.emit()}static#e=this.ctorParameters=()=>[{type:Document,decorators:[{type:n.y_5,args:[S.qQ]}]}];static#t=this.propDecorators={showTextErrors:[{type:n.pde}],controlData:[{type:n.pde}],label:[{type:n.pde}],name:[{type:n.pde}],showPasswordStrengthInfo:[{type:n.pde}],type:[{type:n.pde}],iconPath:[{type:n.pde}],numberMask:[{type:n.pde}],showIcon:[{type:n.pde}],isReadOnly:[{type:n.pde}],isRequired:[{type:n.pde}],isRemaining:[{type:n.pde}],isAutoFocus:[{type:n.pde}],maxLength:[{type:n.pde}],textOption:[{type:n.pde}],isAutocompleteOff:[{type:n.pde}],blurEvent:[{type:n.k7i}],focusEvent:[{type:n.k7i}],mouseLeave:[{type:n.k7i}],isFocus:[{type:n.g$6,args:["class.is-focus"]}],isNotEmpty:[{type:n.g$6,args:["class.not-empty"]}],onInput:[{type:n.pde}]}};fi=(0,r.Cg)([(0,n.uAl)({selector:"app-input",template:'  <label class="label">\n  <div class="field-group field-group_{{ type }}">\n    <ng-container [ngSwitch]="type">\n      <ng-container *ngSwitchCase="\'password\'">\n        <input\n          [type]="type"\n          [class.is-invalid]="isInvalid"\n          [class.autofocus]="isAutoFocus"\n          [formControl]="controlData"\n\n          (mouseleave)="onMouseLeave()"\n          (blur)="onBlur()"\n          (focus)="onFocus()"\n          (focusout)="onFocusOut()"\n          (keyup.space)="onKeyup()"\n          (paste)="onPaste($event)"\n          [autocomplete]="isAutocompleteOff ? \'new-password\' : \'on\'"\n\n          class="form-control field-group__field"\n        />\n      </ng-container>\n      <ng-container *ngSwitchCase="\'tel\'">\n        <input\n          [type]="type"\n          [class.is-invalid]="isInvalid"\n          [class.autofocus]="isAutoFocus"\n          [formControl]="controlData"\n          [maskito]="phoneMask"\n          [readOnly]="isReadOnly"\n          [class.field-group__field--read-only]="isReadOnly"\n\n          (mouseleave)="onMouseLeave()"\n          (blur)="onBlur()"\n          (focus)="onFocus()"\n          (focusout)="onFocusOut()"\n\n          class="form-control field-group__field"\n        />\n      </ng-container>\n      <ng-container *ngSwitchCase="\'number\'">\n        <input\n          [class.is-invalid]="isInvalid"\n          [class.autofocus]="isAutoFocus"\n          [formControl]="controlData"\n          [maskito]="numberMask"\n          [readOnly]="isReadOnly"\n          [class.field-group__field--read-only]="isReadOnly"\n          (mouseleave)="onMouseLeave()"\n          (blur)="onBlur()"\n          (focus)="onFocus()"\n          (focusout)="onFocusOut()"\n\n          class="form-control field-group__field"\n          type="text"\n        />\n      </ng-container>\n      <ng-container *ngSwitchDefault>\n        <input\n          [maxlength]="maxLength"\n          [type]="type"\n          [class.is-invalid]="isInvalid"\n          [class.autofocus]="isAutoFocus"\n          [formControl]="controlData"\n          [readOnly]="isReadOnly"\n          [class.field-group__field--read-only]="isReadOnly"\n          [autocomplete]="isAutocompleteOff ? \'new-password\' : \'on\'"\n\n          (mouseleave)="onMouseLeave()"\n          (blur)="onBlur()"\n          (focus)="onFocus()"\n          (focusout)="onFocusOut()"\n          (input)="onInput($event, controlData)"\n\n          class="form-control field-group__field"\n        />\n      </ng-container>\n    </ng-container>\n\n\n    <div class="field-group__icon-wrapper" *ngIf="showIcon">\n      <img\n        *ngIf="iconPath"\n        src="{{ iconPath }}"\n        alt=""\n        class="field-group__icon"\n      >\n    </div>\n    <span class="field-group__label">\n      {{ label }}\n      <span *ngIf="isRequired" class="field-group__label--required">*</span>\n      <span class="field-group__label-remaining" *ngIf="isRemaining && controlData?.value">\n      {{ \'placeholder.remainingSymbols\' | cxTranslate }}: {{  maxLength - controlData.value.length }}\n      </span>\n      <span *ngIf="textOption" class="field-group__option">\n        {{ textOption }}\n      </span>\n    </span>\n    <app-password-strength\n      *ngIf="showPasswordStrengthInfo"\n      [controlData]="controlData"\n      class="field-group__password-strength-info"\n    ></app-password-strength>\n  </div>\n\n  <cx-form-errors *ngIf="showTextErrors" [control]="controlData"></cx-form-errors>\n</label>\n',styles:[Zm()]})],fi);var e_=i(15229),t_=i.n(e_),Le=i(12917);const Kc=(a,e,t)=>e?a.filter(s=>{const o=s[t].toUpperCase(),l=e.toUpperCase();return o.includes(l)}):a;var at,Xc,Tg,Eg,Zc,vt,jn;function n_(a){return a.value?.match(new RegExp("\\S"))?null:{onlySpace:!0}}function s_(a){return a.value?.length<=255?null:{reportViewMaxLength:!0}}!function(a){a.DEPARTMENTS="departments",a.ROLES="roles",a.SECTORS="sectors"}(at||(at={})),function(a){a.STEEL_GRADE="cts_steelgrade",a.PRODUCT_STANDARD="cts_standard",a.COIL_WEIGHT="weight_min_desired"}(Xc||(Xc={})),function(a){a.CLAIM_DOCUMENT="claimDocument",a.MASTER_CODE="masterCode",a.DOC_TYPE="docType",a.BY_CLAIM="byClaim"}(Tg||(Tg={})),function(a){a.ORDER="orderCode",a.CLAIM="claimCode"}(Eg||(Eg={})),function(a){a.EXCEL="excel"}(Zc||(Zc={})),function(a){a.S="s",a.M="m",a.L="l"}(vt||(vt={})),function(a){a.SMALL="small",a.MEDIUM="medium",a.BIG="big"}(jn||(jn={}));let Ci=class{set setItems(e){const t=[this.defaultView,...e];this.items=t,this.filteredItems=t,this.filterSelectValues()}constructor(e,t,s,o){this.changeDetection=e,this.translatePipe=t,this.translateService=s,this.userAccountService=o,this.control=null,this.bindLabel=null,this.bindValue=null,this.placeholder=null,this.size=jn.MEDIUM,this.createView=new n.bkB,this.selectView=new n.bkB,this.clearView=new n.bkB,this.deleteView=new n.bkB,this.editNameView=new n.bkB,this.filterQuery=null,this.filteredItems=[],this.items=[],this.inputControl=new m.hs(null,[m.k0.required,n_,s_]),this.shareCheckbox=!1,this.nameValid=!0,this.nameEditInput="",this.activeEditingCode=null,this.activeDeletingCode=null,this.defaultView={name:this.translatePipe.transform("placeholder.defaultView"),code:null,setting:null,share:!1,defaultView:!0},this.user$=this.userAccountService.get()}ngOnInit(){this.translateService.loadChunks("common").then(()=>{this.defaultView={name:this.translatePipe.transform("placeholder.defaultView"),code:null,setting:null,share:!1,defaultView:!0}})}filterSelectValues(){this.filteredItems=Kc(this.items,this.filterQuery,this.bindLabel)}resetSearch(){this.filteredItems=this.items,this.filterQuery=null}getClass(){return`ng-select-search ng-select--${this.size}`}clearCurrentView(){this.filterQuery=null,this.filteredItems=this.items,this.clearView.emit()}close(){this.resetSearch(),this.inputControl.reset(),this.nameEditInput="",this.activeEditingCode=null,this.activeDeletingCode=null}create(){if(!this.inputControl.invalid)if(this.items.forEach(e=>{this.nameValid&&e.name.trim()===this.inputControl.value.trim()&&(this.nameValid=!1)}),this.nameValid){const e={name:this.inputControl.value,share:this.shareCheckbox,code:"",setting:""};this.createView.emit(e),this.items.push(e),this.inputControl.reset(),this.selectComponent.close()}else this.inputControl.markAsTouched()}select(e){e?.hasOwnProperty("share")&&(this.shareCheckbox=e.share,this.selectView.emit(e),this.changeDetection.detectChanges())}onChange(){this.nameValid=!0}removeView(e,t){this.disablePropagation(e),this.deleteView.emit(t.code)}editName(e,t){this.disablePropagation(e),this.editNameView.emit({...t,name:this.nameEditInput}),this.closeEditInput()}showEditInput(e,t){this.disablePropagation(e),this.activeEditingCode=t.code,this.nameEditInput=t.name,this.activeDeletingCode=null}closeEditInput(){this.activeEditingCode=null}disablePropagation(e){e.stopPropagation()}showDeleteButtonAndClose(e,t){this.nameEditInput="",this.showDeleteButton(e,t)}showDeleteButton(e,t){this.disablePropagation(e),this.activeEditingCode=null,this.activeDeletingCode=t}static#e=this.ctorParameters=()=>[{type:n.gRc},{type:p.D97},{type:p.L08},{type:Le.zq}];static#t=this.propDecorators={setItems:[{type:n.pde,args:["items"]}],control:[{type:n.pde}],bindLabel:[{type:n.pde}],bindValue:[{type:n.pde}],placeholder:[{type:n.pde}],size:[{type:n.pde}],createView:[{type:n.k7i}],selectView:[{type:n.k7i}],clearView:[{type:n.k7i}],deleteView:[{type:n.k7i}],editNameView:[{type:n.k7i}],selectComponent:[{type:n.Uct,args:["selectComponent"]}]}};Ci=(0,r.Cg)([(0,n.uAl)({selector:"app-select-add-view",template:'<div class="create-view">\n  <ng-select\n    #selectComponent\n    [bindValue]="bindValue"\n    [bindLabel]="bindLabel"\n    [class]="getClass()"\n    [clearable]="false"\n    [formControl]="control"\n    [items]="filteredItems"\n    [placeholder]="placeholder"\n    [searchable]="false"\n\n    (change)="select($event)"\n    (close)="close()"\n  >\n    <ng-template ng-header-tmp>\n      <div class="create-view__header">\n        <div class="input-search">\n          <svg-icon-sprite\n            src="search"\n            class="input-search__search-icon"\n            width="18"\n            height="18"\n          ></svg-icon-sprite>\n\n          <input\n            [(ngModel)]="filterQuery"\n            (ngModelChange)="filterSelectValues()"\n            autofocus\n            class="input-search__field"\n            placeholder="{{ \'placeholder.search\' | cxTranslate }}"\n          />\n\n          <button *ngIf="filterQuery" class="input__cancel-button" (click)="resetSearch()">\n            <svg-icon-sprite\n              class="input-search__cancel-icon"\n              src="close"\n              width="18"\n              height="18"\n            ></svg-icon-sprite>\n          </button>\n        </div>\n      </div>\n    </ng-template>\n\n    <ng-template ng-option-tmp let-item="item">\n      <div\n        class="create-view__option-wrapper"\n        [class.create-view__option-wrapper--edit]="!item.defaultView && [activeEditingCode, activeDeletingCode].includes(item.code)"\n      >\n        <ng-container *ngIf="item.defaultView || item.user && item.user !== (user$ | async).uid; else editView">\n          <scrollbar>\n            <div class="create-view__item">\n              {{ item[bindLabel] }}\n            </div>\n          </scrollbar>\n        </ng-container>\n\n        <ng-template #editView>\n          <ng-container *ngIf="item.code !== activeEditingCode; else edit">\n            <div class="d-flex justify-content-between w-100">\n              <scrollbar>\n                <div class="create-view__item">\n                  {{ item[bindLabel] }}\n                </div>\n              </scrollbar>\n\n              <div class="d-flex">\n                <button class="create-view__icon-button" (click)="showEditInput($event, item)">\n                  <svg-icon-sprite\n                    src="create"\n                    width="18"\n                    height="18"\n                  ></svg-icon-sprite>\n                </button>\n\n                <ng-container *ngIf="item.code === activeDeletingCode; else normalView">\n                  <button\n                    class="btn btn-error btn--rectangle"\n                    (click)="removeView($event, item)"\n                  >\n                    {{ \'button.delete\' | cxTranslate }}\n                  </button>\n                </ng-container>\n                <ng-template #normalView>\n                  <button class="create-view__icon-button" (click)="showDeleteButton($event, item.code)">\n                    <svg-icon-sprite\n                      src="delete_outline"\n                      width="18"\n                      height="18"\n                    ></svg-icon-sprite>\n                  </button>\n                </ng-template>\n              </div>\n            </div>\n          </ng-container>\n\n          <ng-template #edit>\n            <div (click)="disablePropagation($event)" class="d-flex justify-content-between w-100">\n              <span class="create-view__input-wrapper">\n                <input class="create-view__view-input" [(ngModel)]="nameEditInput" autofocus>\n                <button\n                  *ngIf="nameEditInput"\n                  class="create-view__icon-button"\n                  (click)="showDeleteButtonAndClose($event, item.code)"\n                >\n                  <svg-icon-sprite\n                    src="delete_outline"\n                    width="18"\n                    height="18"\n                  ></svg-icon-sprite>\n                </button>\n              </span>\n\n              <button\n                class="btn btn-default btn--rectangle"\n                (click)="editName($event, item)"\n              >\n                {{ \'button.save\' | cxTranslate }}\n              </button>\n            </div>\n          </ng-template>\n        </ng-template>\n      </div>\n    </ng-template>\n\n    <ng-template ng-notfound-tmp>\n      <div class="create-view__not-views-found">\n        <span>{{ \'createViewModal.notFound\' | cxTranslate }}</span>\n      </div>\n    </ng-template>\n\n    <ng-template ng-footer-tmp>\n      <div>\n        <div class="create-view__footer">\n          <hr class="create-view__divider"/>\n          <p class="create-view__create-text">\n            {{ \'createViewModal.createNewView\' | cxTranslate }}\n          </p>\n\n          <div class="create-view__view-name">\n            <app-input\n              label="{{ \'createViewModal.label\' | cxTranslate }}"\n              [controlData]="inputControl"\n              [showIcon]="false"\n              (keydown)="onChange()"\n            ></app-input>\n            <div class="create-view__view-name--error" *ngIf="!nameValid">\n              {{ \'createViewModal.alreadyExist\' | cxTranslate }}\n            </div>\n          </div>\n\n          <label class="checkbox-group create-view__visible">\n            <input type="checkbox" [(ngModel)]="shareCheckbox"/>\n            <div class="checkbox-group__label">\n              {{ \'createViewModal.visibleForUsers\' | cxTranslate }}\n            </div>\n          </label>\n\n          <div class="create-view__save-button">\n            <button\n              class="btn btn--sm btn-default"\n              (click)="create()"\n            >\n              {{ \'createViewModal.saveView\' | cxTranslate }}\n            </button>\n          </div>\n        </div>\n      </div>\n    </ng-template>\n  </ng-select>\n</div>\n',styles:[t_()]})],Ci);var r_=i(7345),o_=i.n(r_);let bi=class{constructor(){this.vPadding=12,this.itemHeight=28,this.search=new m.hs("")}ngOnInit(){}calcHeight(){if(this.maxLength)return this.vPadding+this.itemHeight*this.maxLength+"px"}select(e){if(this.items.length>1&&this.items.filter(o=>o.vbeln!==e.vbeln).every(o=>o.isDisabled))return this.resetItems();const t=this.controlData.value.includes(e[this.bindValue]),s=this.controlData.value;if(t){const o=s.filter(l=>l!==e[this.bindValue]);this.controlData.setValue(o)}else this.controlData.setValue([...s,e[this.bindValue]])}isSelected(e){return this.controlData?.value?.includes(e[this.bindValue])}resetSearch(){this.search.reset()}clearAll(e){e&&this.resetItems()}resetItems(){this.items.forEach(e=>(e.isSelected=!1,e.isDisabled=!1,e)),this.controlData.setValue([])}removeChips(e){const t=this.controlData.value;if(t.includes(e)){const o=t.filter(l=>l!==e);this.controlData.setValue(o)}}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={bindLabel:[{type:n.pde}],bindValue:[{type:n.pde}],controlData:[{type:n.pde}],placeholder:[{type:n.pde}],maxLength:[{type:n.pde}],items:[{type:n.pde}],isError:[{type:n.pde}]}};bi=(0,r.Cg)([(0,n.uAl)({selector:"app-select-multi-checkbox",template:'<div class="multi-select" [class.multi-select--error]="isError">\n  <div class="multi-select__title" [class.multi-select__title--error]="isError">{{ placeholder }}</div>\n  <div class="multi-select__search" [class.multi-select__search--error]="isError">\n    <svg-icon-sprite class="multi-select__search--icon" src="search" width="18" height="18"></svg-icon-sprite>\n    <app-input [label]="\'placeholder.search\' | cxTranslate" [controlData]="search" [showIcon]="false"></app-input>\n    <svg-icon-sprite *ngIf="search.value" class="multi-select__search--reset" src="close" width="18" height="18" (click)="resetSearch()"></svg-icon-sprite>\n  </div>\n  <scrollbar class="multi-select__scrollbar">\n    <div class="multi-select__content" [style.height]="calcHeight()">\n      <ng-container *ngFor="let item of items">\n        <ng-container *ngIf="search.value; else allItems">\n          <ng-container *ngIf="item[bindLabel].toLowerCase().includes(search.value.toLowerCase())">\n            <label class="multi-select__field d-flex align-items-center">\n              <input (click)="select(item)" [disabled]="item.isDisabled" [checked]="isSelected(item)" class="multi-select__field-checkbox" type="checkbox"/><span>{{ item[bindLabel] }}</span>\n            </label>\n          </ng-container>\n        </ng-container>\n        <ng-template #allItems>\n          <ng-container *ngIf="item.isVisible">\n            <label class="multi-select__field d-flex align-items-center">\n              <input (click)="select(item)" [disabled]="item.isDisabled" [checked]="isSelected(item)" class="multi-select__field-checkbox" type="checkbox"/><span>{{ item[bindLabel] }}</span>\n            </label>\n          </ng-container>\n        </ng-template>\n      </ng-container>\n    </div>\n  </scrollbar>\n</div>\n\n<div class="selected-items">\n  <div class="d-flex justify-content-between align-items-center">\n    <span class="selected-items__title">{{\'report.filters.selectedItems\' | cxTranslate}}</span>\n    <span\n      class="selected-items__clear"\n      [class.selected-items__clear--disabled]="controlData.value.length === 0"\n      (click)="clearAll(controlData.value.length !== 0)"\n    >{{\'report.filters.clear\' | cxTranslate}}</span>\n  </div>\n  <div\n    *ngIf="controlData.value.length > 0"\n    class="selected-items__chips"\n  >\n    <ng-container *ngFor="let selectedItem of items">\n      <a\n        *ngIf="selectedItem.isSelected && !selectedItem.isDisabled"\n        class="selected-items__chips-item"\n        (click)="removeChips(selectedItem[bindLabel])"\n      >\n        <span class="selected-items__chips-title">\n          {{ selectedItem[bindLabel] }}\n          <img src="assets/icons/close_blue.svg" alt="" class="not-hover">\n          <img src="assets/icons/cancel-chips.svg" alt="" class="hover">\n        </span>\n      </a>\n    </ng-container>\n  </div>\n</div>\n',changeDetection:n.Ngq.Default,styles:[o_()]})],bi);var c_=i(10413),l_=i.n(c_);const Sn=a=>{if(!a)return;const e=t=>t<10?`0${t}`:t;return a.getUTCFullYear()+"-"+e(a.getUTCMonth()+1)+"-"+e(a.getUTCDate())+"T"+e(a.getUTCHours())+":"+e(a.getUTCMinutes())+":"+e(a.getUTCSeconds())+"Z"},I="/users/${userId}",yi=`${I}/orgCustomers`,de="/my-account",E={USER:{PATH:"/users",ADDRESSES:`${I}/checkout/\${cartId}/\${groupNumber}/addresses`,DELIVERY_ADDRESSES:`${I}/addresses/?sort=\${sort}`,ADDRESS_VERIFY:`${I}/addresses/verification`,ADDRESS_TEMPLATE_NAME_UPDATE:`${I}/addresses/\${addressId}/templateName`,GET_USER_DEFAULT_ADDRESS:`${I}/addresses/default`,GET_ALL_SALES_DATA:`${I}/getAllSalesData`,SET_DEFAULT_ADDRESS:`${I}/addresses/\${addressId}`,DEACTIVATE:`${I}/cancel`,CATALOG:`${I}/catalog`,USER_ORG_CUSTOMERS:`${yi}`,USER_ORG_CUSTOMER_UPDATE:`${yi}/\${orgCustomerId}`,USER_RESET_PASSWORD:`${yi}/\${orgCustomerId}/resetPassword`,ATTACHMENTS_FORMATS:`${I}/inquiry/attachments/formats`,DELETE_STATUS:`${I}/update/status`,DELETE_STATUS_CUSTOMER:`${yi}/\${orgCustomerId}/update/status`,CREDIT_LIMITS:`${I}/creditLimits`,CREDIT_LIMIT_REQ:`${I}/creditLimitsReq`,CREDIT_LIMIT_RESP:`${I}/creditLimitsResp`,COMPANIES:`${I}/currentCompanies`,CREATE:{EXISTING:"users/existing",INQUIRY:"users/inquiry",EXISTING_INQUIRY:`${I}/inquiry/existing`},DOCUMENTS:{REPORTS:{FILE:`${I}/documents/download/report/\${reportUid}/doc/\${masterCode}`},CLAIM:{FILE:`${I}/documents/download/claim/\${claimId}/doc/\${documentId}`,ALL:`${I}/documents/download/claim/\${claimId}`},ORDER:{FILE:`${I}/documents/download/barcode/\${masterCode}?orderCode=\${orderCode}`,ALL:`${I}/documents/download/type/\${type}?orderCode=\${orderCode}`}},ORDERS:{ORDERS:`${I}/orders`,ORDERS_FILTERS_ACTIVE:`${I}/order/search/active`,ORDERS_FILTERS_ACTIVE_SUGGEST:`${I}/order/search/active/suggest`,ORDERS_FILTERS_HISTORY:`${I}/order/search/history`,ORDERS_FILTERS_HISTORY_SUGGEST:`${I}/order/search/history/suggest`,ORDER_ENTRIES:`${I}/order/search/\${orderCode}/entries`,RE_ORDER_ENTRIES:`${I}/orders/\${orderCode}/entries`,RE_ORDER_ADD_TO_CART:`${I}/carts/\${cartId}/re-order/add-all`,ORDER_APPROVE:`${I}/orders/\${orderCode}/approval`,ORDER_CONSIGNMENTS:`${I}/orders/\${orderCode}/consignments/deliver-coils`,RE_ORDER:`${I}/carts/\${cartId}/re-order/\${orderCode}`,CART_GROUP:`${I}/carts/\${cartId}/group-cart/\${orderCode}`,CART_REFILLING:`${I}/carts/\${cartId}/re-order/re-filling/\${orderCode}`},QUOTES:{PATH:`${I}/quotes`,LISTING:`${I}/quotes/all`,QUOTE_ENTRIES:`${I}/quotes/\${quoteCode}/entries`,DETAILS:`${I}/quotes/\${quoteNumber}/details`,APPROVE:`${I}/quotes/\${quoteCode}/approve`},SUBSCRIPTION:{CREATE:`${I}/subscribe`,CONFIRM:"/users/anonymous/subscribe/confirmation"},CHECKOUT:{GET_CHECKOUT:`${I}/checkout/current`,GET_SHIPMENT:`${I}/checkout/current/\${groupNumber}/shipment`,GET_PAYMENT_TERMS:`${I}/checkout/current/\${groupNumber}/payment-terms`,GET_DEFAULT_ADDRESS:`${I}/checkout/current/\${groupNumber}/shipment/address/default`,UPDATE_SHIP_TO:`${I}/checkout/current/\${groupNumber}/shipment/ship-to`,UPDATE_SOLD_TO:`${I}/checkout/current/\${groupNumber}/shipment/sold-to`,SHIPMENT_DATA:`${I}/checkout/current/\${groupNumber}/shipment/shipment-data/\${entryNumber}`,UPDATE_CONSIGNEE:`${I}/checkout/current/\${groupNumber}/shipment/consignee`,PLACE_ORDER:`${I}/orders`,PLACE_QUOTATION:`${I}/quotes`,QUOTATION:{COMMENT:`${I}/checkout/current/\${groupNumber}/quotation/comment`,DATE:`${I}/checkout/current/\${groupNumber}/quotation/dates`,UPDATE_DATE:`${I}/checkout/current/\${groupNumber}/quotation/dates`,VOLUME:`${I}/checkout/current/quotation/volume`,UPDATE_CONSIGNMENT_FLAG:`${I}/checkout/current/\${groupNumber}/quotation/consignment`}},CART:{VALIDATE:`${I}/carts/current/validate`,QUOTATION_PLATE:`${I}/carts/current/quotation/plate`},PROFILE:{PATH:`${I}/profile`,PROFILE_CURRENCY:`${I}/profile/currencies`,PROFILE_MANAGERS:`${I}/profile/managers`},QUESTIONNAIRE:{DATA:"questionnaires/${code}",RESULTS:"questionnaires/${code}/results"}},MY_ACCOUNT:{PATH:`${de}`,CONTRACTS:`${de}/contracts`,ORDER:`${de}/order`,ORDERS:`${de}/orders`,ORDERS_HISTORY:`${de}/order-history`,UPDATE_PASSWORD:`${de}/update-password`,INQUIRY:`${de}/inquiry`,SUPPORT:`${de}/support`,ADDRESS_BOOK:`${de}/address-book`,UPDATE_PROFILE:`${de}/update-profile`,CONSENTS:`${de}/consents`,REPORTS:{ORDER:`${de}/reports/order`,DELIVERY:`${de}/reports/delivery`},USERS:{CREATE:`${de}/users/customers-create`,EDIT:`${de}/users/customers-editing`,LISTING:`${de}/users/customers-listing`}},CATEGORIES:{MARKETING:"/categories/marketing/${categoryCode}",CLOSEST:"/categories/closest",QUOTATION:"/categories/quotation/strip"},CLAIMS:{VIEWS:`${I}/claims/views`,VIEWS_TRADING_LISTING_HEADER:`${I}/claims/headers/views`,VIEWS_TRADING_LISTING_ENTRIES:`${I}/claims/entries/views`,FETCH:"/claims/views/fetch/${uid}",LIST:`${I}/claims`,SELLERS:`${I}/claims/trading-sellers`,DETAIL:`${I}/claims/\${code}`,ATTACHMENTS:`${I}/claims/\${code}/attachments`,INVOICES:`${I}/claims/invoices`,CREATE:`${I}/claims/create`,FORMATS:`${I}/claims/attachments/formats`,CATEGORIES:`${I}/claims/categories`,TYPES:`${I}/claims/types`,MILLS:`${I}/claims/mills`,DEFECT_CATEGORIES:`${I}/claims/defectCategories`,IS_CLAIM_CREATED:`${I}/claims/claim-business-process`},EDI:{LIST:"/inboundediorders",EDIT:"/inboundediorders/${code}",VIEWS:`${I}/inboundediorders/views`,CREATE_ORDER:"/inboundediorders/createOrder",MULTIPLE_EDIT:"/inboundediorders/bulkUpdate",ARCHIVE:"/inboundediorders/archive"},SUPPORT:{CATEGORIES:`${I}/support/categories`,SUBMIT:`${I}/support/submit`},CONFIGURATOR:{STRIP_ATTRIBUTES:"configurator/strip/attributes/${classificationClass}",PLATE_ATTRIBUTES:"/configurator/plate/attributes",PLATE_INIT:"/configurator/plate/init",PLATE_CHANGE_CONTEXT:"/configurator/plate/changeContext",PLATE_TYPES:"/configurator/plate/types",CONFIGURE_PLATE:"/configure/plate"},COMPANIES:{OBJECTS:"/companies/objects",TRADING_PRODUCTS:"/companies/objects/tradingproducts",MARKET_DESTINATIONS:"/companies/objects/marketdestinations",BUSINESS_ACTIVITIES:"/companies/objects/businessactivity"},REPORTS:{SAVE_VIEW:`${I}/reports/table-views`,EDIT_VIEW:`${I}/reports/table-views/\${code}`,DELIVERY:{DOWNLOAD:`${I}/reports/delivery/\${uid}/download/documents`,GET:`${I}/reports/delivery`,GET_REPORT:`${I}/reports/delivery/fetch/\${uid}`,SEARCH:`${I}/reports/delivery/search`,CONTRACTS:`${I}/reports/delivery/contracts`},ORDER:{DOWNLOAD:`${I}/reports/order/\${uid}/download/documents`,GET:`${I}/reports/order`,GET_REPORT:`${I}/reports/order/fetch/\${uid}`,SEARCH:`${I}/reports/order/search`,CONTRACTS:`${I}/reports/order/contracts`},EDI:{DOWNLOAD:`${I}/reports/edi/\${uid}/download/documents`,GET:`${I}/reports/edi`,GET_REPORT:`${I}/reports/edi/fetch/\${uid}`,SEARCH:`${I}/reports/edi/search`,CONTRACTS:`${I}/reports/edi/contracts`},RTS:{GET:`${I}/rts-list/search`,DOWNLOAD:"",GET_REPORT:"",SEARCH:"",CONTRACTS:"",DELIVER_COILS:`${I}/rts-list/deliver-coils`,CLEAR_FILTERS:`${I}/rts-list/search/clear-filter`},ORDER_BOOK:{GET:`${I}/reports/order-book`,DOWNLOAD:"",GET_REPORT:`${I}/order-book/records`,SEARCH:"",CONTRACTS:""}},PRODUCT:{MATRIX:`${I}/products/\${productCode}/matrix`,SALES_ORG_CHECK:"checks/checkB2bCustomerBySalesOrganizationCode"},RESET_PASSWORD:{VALIDATE_TOKEN:"/token-validation"},AGREEMENTS:`${I}/agreements`,AGREEMENTS_CODES:`${I}/agreements/codes`,LOGOUT:"/logout",CHECKOUT_SUCCESS:"/order-confirmation",MANAGERS:"/managers"},xt_SEARCH={PRODUCT:"productSearch",PRODUCT_ANONYMOUS:"productSearchAnon",PRODUCT_WITH_USER:"productSearchCurrent",CATALOG:"myCatalog",AGREEMENTS:"myAgreements"},M={CATALOG:{PATH:"/catalog",ORDER:"/catalog/order",QUOTE:"/catalog/quote"},CHECKOUT:{QUOTATION:"/checkout/quotation"},CATEGORIES:{BASE:"/c",STRIP:"/c/strip",PLATE:"/c/plate",ROOT:"/c/root"},CART:"/cart",MY_ACCOUNT:{INQUIRY:`${de}/inquiry`,USERS:{LISTING:`${de}/users/customers-listing`,CREATE:`${de}/users/customers-create`,EDIT:`${de}/users/customers-editing`},CONSENTS:`${de}/consents`,ORDER:{ACTIVE:`${de}/orders`,HISTORY:`${de}/order-history`,DETAILS_PATH:`${de}/order`,DETAILS:`${de}/order/\${orderNumber}`,RE_ORDER:"/reorder-from-contract"},QUOTE:{ACTIVE:`${de}/quotes`,HISTORY:`${de}/quotes-history`,DETAILS:`${de}/quote-details`}},STATIC_PAGES:{DISCLAIMER:"/disclaimer",HOW_TO_REGISTER:"/how-to-register",HOW_TO_NAVIGATE:"/how-to-navigate",PRIVACY_STATEMENT:"/privacy-statement",PRIVACY_NOTICE:"/privacy-notice",REGISTRATION_LEARN_MORE:"/registration-learn-more",TERMS_OF_USE:"/terms-of-use",TERMS_OF_SALE:"/trading-terms-and-conditions-of-sale"},SEARCH:{PATH:"/search"},CLAIMS:{DETAIL:`${de}/claim-detail`,LIST:`${de}/claims-list`}};let Ee=class{constructor(e,t,s,o,l,u){this.occEndpointsService=e,this.http=t,this.authService=s,this.router=o,this.route=l,this.globalMessageService=u,this.cache=null,this.currentAgreement$=new P.t(null)}ngOnDestroy(){this.destroy()}destroy(){this.cache=null,this.currentAgreement$.next(null)}clearCache(){this.cache=null}getData(){return this.cache||(this.cache=this.http.get(this.occEndpointsService.buildUrl(E.AGREEMENTS)).pipe((0,w.T)(e=>{let t=e[0];const s=sessionStorage.getItem(Hs_AGREEMENTS);if(s){const o=e.find(l=>l.code===s);o?t=o:(sessionStorage.removeItem(Hs_AGREEMENTS),this.showAgreementError())}return this.currentAgreement$.next(t),e}),(0,zn.t)(1))),this.cache}showAgreementError(){this.router.navigate([],{relativeTo:this.route,queryParams:{}}).then(),this.globalMessageService.add({key:"error.emptyAgreements"},p.NCV.MSG_TYPE_ERROR)}selectAgreement(e,t){return this.currentAgreement$.value?.code!==e?.code&&this.currentAgreement$.next(e),sessionStorage.setItem(Hs_AGREEMENTS,String(e.code)),t?e.volumeBased?`${t}${ee_CATEGORIES}:${e.category.code}`:t+e.agreementProducts?.map(s=>`${ee_CODE}:${s.product}`).join(""):ee_RELEVANCE+(e.volumeBased?`${ee_CATEGORIES}:${e.category.code}`:e.agreementProducts?.map(s=>`${ee_CODE}:${s.product}`).join(""))}static#e=this.ctorParameters=()=>[{type:p.zxz},{type:U.Qq},{type:p.uRZ},{type:y.Ix},{type:y.nX},{type:p.S8D}]};Ee=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],Ee);var me=i(61594),fe=i(89085);let Jc=class{constructor(e,t,s,o){this.http=e,this.occEndpoints=t,this.converter=s,this.agreementFacetService=o}search(e,t){let s;if(t.page.pageId&&"search"===t.page.pageId){const l=e.match(/(?:productType:)(\w+)/);l&&l[1]&&(s=l[1])}else{const l=e.match(/(?:orderType:)(\w+)/);s=l&&l[1]===ie.STOCK||t.catalogType===M.CATALOG.ORDER||t.catalogType===M.CATALOG.QUOTE?Kt_GROUP:Kt_DEFAULT}const o={...t,searchQueryContext:s};return t.catalogType===M.CATALOG.ORDER?this.agreementFacetService.currentAgreement$.pipe((0,B.p)(Boolean),(0,me.$)(),(0,k.n)(()=>this.getRequest(e,o,t.currentUser))):this.getRequest(e,o,t.currentUser)}getRequest(e,t,s){if(delete t.currentUser,"productList"!==t.page.pageId&&"search"!==t.page.pageId||t.catalogType){const o=this.getSearchEndpoint(e,t,s);return this.http.get(o).pipe(this.converter.pipeable(p.b1U))}{const o=this.occEndpoints.buildUrl(xt_SEARCH.PRODUCT_WITH_USER);let l=new U.Nl;return Object.keys(t).forEach(u=>{l=l.set(u,t[u])}),l=l.set("sort",t.sortCode),this.http.post(o,{query:e},{params:l}).pipe(this.converter.pipeable(p.b1U))}}loadSuggestions(e,t=3){return this.http.post(this.occEndpoints.buildUrl("productSuggestions"),{},{params:{term:e,pageSize:t.toString()}}).pipe((0,fe.E)("suggestions"),this.converter.pipeableMany(p.hsi))}getSearchEndpoint(e,t,s){let o="";switch(t.catalogType){case M.CATALOG.QUOTE:o=xt_SEARCH.CATALOG;break;case M.CATALOG.ORDER:o=this.agreementFacetService.currentAgreement$.value?.volumeBased?xt_SEARCH.CATALOG:xt_SEARCH.AGREEMENTS;break;default:o=xt_SEARCH.PRODUCT_WITH_USER}return this.occEndpoints.buildUrl(o,{urlParams:{},queryParams:{query:e,...t,sort:t.sortCode}})}static#e=this.ctorParameters=()=>[{type:U.Qq},{type:p.zxz},{type:p.EmH},{type:Ee}]};Jc=(0,r.Cg)([(0,n._qm)()],Jc);let el=class{constructor(e){this.converterService=e,this.DEFAULT_TOP_VALUES=6}convert(e,t={}){return t={...t,...e},this.normalizeFacetValues(e,t),e.products&&(t.products=e.products.map(s=>this.converterService.convert(s,p.SXo))),t}normalizeFacetValues(e,t){t.facets&&(t.facets=e.facets.map(s=>{const{topValues:o,...l}=s;return l.topValueCount=o?o.length:this.DEFAULT_TOP_VALUES,l}))}static#e=this.ctorParameters=()=>[{type:p.EmH}]};el=(0,r.Cg)([(0,n._qm)()],el);let tl=class{transform(e){return e.replace(/ /g,"_").toLowerCase()}};tl=(0,r.Cg)([(0,n.nT_)({name:"i18nReplacerPipe"})],tl);const Si=(a,e,t,s,o=null)=>{const l=u_(o||a);return{file:!!(o||a).find(C=>C.size>e),allFiles:l>s,format:!!a.find(C=>!h_(C,t)),uniqueNames:[...new Set((o||a)?.map(C=>C.name))].length<(o||a).length}},u_=a=>a.reduce((e,t)=>e+t.size,0),h_=(a,e)=>e.includes(a.name.match(/[^\.]+$/)[0].toLowerCase()),nl=()=>(0,Ue.TK)({prefix:"",thousandSeparator:"",max:99999999}),Ti=()=>(0,Ue.TK)({prefix:"",postfix:"",thousandSeparator:"",max:99999999,decimalSeparator:".",precision:3}),Ei=a=>a.rootGroups?.find(e=>e.groupType===re.ORDER)?.children.length||0,ft=(a,e=!1)=>{if(!a||!a.value)return;let t;t=e?a.value.trim().replace(/[\t\u2013]/gm,"").replace(/[^\S\n\r]+/gm," ").replace(/ *\n */gm,"\n").replace(/ *\r */gm,"\r"):a.value.trim().replace(/\t|\n|\r|\v|\u2013/gm,"").replace(/\s+/gm," "),a.setValue(t)};const sl=(a,e)=>{a.openDialogAndSubscribe("CONFIRM_MODAL",void 0,{title:e.transform("text.myProfile.cancelModal.title"),subTitle:e.transform("text.myProfile.cancelModal.text"),confirmButton:e.transform("text.myProfile.cancelModal.confirm"),cancelButton:e.transform("text.myProfile.cancelModal.cancel"),icon:"warning"})},Rg=()=>{const o=5-(new Date).getDay();return o>=3?3:5+(o<0?o:0)},m_=(a,e,t)=>a.size<=e&&__(a,t),__=(a,e)=>e.includes(a.name.match(/[^\.]+$/)[0].toLowerCase()),il=a=>{let e=0;const t=[];for(const s of a.files)m_(s,a.maxSize,a.possibleExtensions)&&!t.includes(s.name)&&e+s.size<=a.maxSizeAllFiles&&(a.formData.append(a.formDataKey,s),t.push(s.name),e+=s.size);return a.formData};function Og(a){const e=a.target;"INPUT"!==e.tagName&&a.preventDefault(),[,"svg","use","button","svg-icon-sprite"].includes(e.tagName)?a.preventDefault():e.classList.contains("ng-clear-wrapper")?this.handleClearClick():e.classList.contains("ng-arrow-wrapper")?this.handleArrowClick():e.classList.contains("ng-value-icon")||(this.focused||this.focus(),this.searchable?this.open():this.toggle())}let Ri=class{set setItems(e){this.isLoading=!1,this.items=e,this.filterSelectValues()}constructor(){this.bindLabel=null,this.bindValue=null,this.closeOnSelect=!0,this.multiple=!1,this.placeholder=null,this.description=null,this.size=jn.MEDIUM,this.clearable=!0,this.maxItemsCount=null,this.showSelectButton=!1,this.selectClosed=new n.bkB,this.valueChange=new n.bkB,this.searchValueChange=new n.bkB,this.filterQuery=null,this.filteredItems=[],this.items=[],this.isLoading=!0}ngOnInit(){}ngAfterViewInit(){this.setCustomHandler()}filterSelectValues(){this.filteredItems=Kc(this.items,this.filterQuery,this.bindLabel)}reset(){this.selectClosed.emit(),this.filterQuery&&(this.isLoading=!0,this.filteredItems=[],this.filterQuery=null,this.searchValueChange.emit(this.filterQuery))}getClass(){return`ng-select-search ng-select--${this.size}`}clearSelect(){this.control.reset(),this.valueChange.emit(this.control.value)}setCustomHandler(){this.selectInstance&&(this.selectInstance.handleMousedown=Og.bind(this.selectInstance))}onSearchValueChange(){this.isLoading=!0,this.filteredItems=[],this.searchValueChange.emit(this.filterQuery)}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={setItems:[{type:n.pde,args:["items"]}],bindLabel:[{type:n.pde}],bindValue:[{type:n.pde}],closeOnSelect:[{type:n.pde}],control:[{type:n.pde}],multiple:[{type:n.pde}],placeholder:[{type:n.pde}],description:[{type:n.pde}],size:[{type:n.pde}],clearable:[{type:n.pde}],maxItemsCount:[{type:n.pde}],showSelectButton:[{type:n.pde}],selectClosed:[{type:n.k7i}],valueChange:[{type:n.k7i}],searchValueChange:[{type:n.k7i}],multiLabelTmp:[{type:n.kDq,args:["multiLabelTmp"]}],optionTmp:[{type:n.kDq,args:["optionTmp"]}],selectInstance:[{type:n.Uct,args:["select",{read:st.vr}]}]}};Ri=(0,r.Cg)([(0,n.uAl)({selector:"app-select-search-suggest",template:'<ng-select\n  #select\n  [bindLabel]="bindLabel"\n  [bindValue]="bindValue"\n  [class]="getClass()"\n  [clearable]="false"\n  [closeOnSelect]="closeOnSelect"\n  [formControl]="control"\n  [items]="filteredItems"\n  [loading]="isLoading"\n  [multiple]="multiple"\n  [placeholder]="placeholder"\n  [searchable]="false"\n\n  (change)="valueChange.emit($event)"\n  (close)="reset()"\n  class="select-search-suggest"\n>\n  <ng-template ng-header-tmp>\n    <div class="input-search input-search--">\n      <img class="input-search__search-icon" src="/assets/icons/search.svg" alt="search">\n\n      <input\n        [(ngModel)]="filterQuery"\n        (input)="onSearchValueChange()"\n        autofocus\n        class="input-search__field"\n        placeholder="{{\'placeholder.search\' | cxTranslate}}"\n      >\n      <button class="input-search__cancel-button" (click)="reset()">\n        <svg-icon-sprite\n          class="input-search__cancel-icon"\n          src="clear"\n          width="18"\n          height="18"\n        ></svg-icon-sprite>\n      </button>\n    </div>\n  </ng-template>\n\n  <ng-template ng-loadingspinner-tmp>\n    <div\n      *ngIf="clearable && control?.value && !isLoading"\n      class="ng-clear-wrapper"\n      (click)="clearSelect()"\n    >\n      <button class="icon-button">\n        <svg-icon-sprite\n          src="close"\n          width="18"\n          height="18"\n        ></svg-icon-sprite>\n      </button>\n    </div>\n  </ng-template>\n\n  <ng-template\n    *ngIf="optionTmp && !isLoading"\n    let-item="item"\n    let-item$="item$"\n    let-index="index"\n    ng-option-tmp\n  >\n    <ng-template *ngTemplateOutlet="optionTmp; context: { item: item, item$: item$, index: index }"></ng-template>\n  </ng-template>\n\n  <ng-template\n    *ngIf="multiLabelTmp && multiple && !isLoading"\n    let-items="items"\n    let-clear="clear"\n    ng-multi-label-tmp\n  >\n    <ng-template *ngTemplateOutlet="multiLabelTmp; context: { items: items, clear: clear }"></ng-template>\n  </ng-template>\n  <ng-template\n    *ngIf="!isLoading && (description || showSelectButton)"\n    ng-footer-tmp\n  >\n    <p\n      *ngIf="description && (maxItemsCount && items.length >= maxItemsCount)"\n      class="ng-dropdown-footer__text"\n    >\n      {{description}}\n    </p>\n\n    <button\n      *ngIf="showSelectButton"\n      class="btn btn-default btn--md w-100 mt-2"\n      (click)="select.close()"\n    >\n      {{ \'orders.orderFilter.select\' | cxTranslate }}\n    </button>\n  </ng-template>\n</ng-select>\n<cx-form-errors [control]="control"></cx-form-errors>\n',styles:[l_()]})],Ri);var x_=i(50369),f_=i.n(x_);let Oi=class{set setItems(e){this.items=e,this.filterSelectValues()}constructor(){this.bindLabel=null,this.bindValue=null,this.closeOnSelect=!0,this.multiple=!1,this.placeholder=null,this.size=jn.MEDIUM,this.clearable=!0,this.valueChange=new n.bkB,this.filterQuery=null,this.filteredItems=[],this.items=[],this.dropdownVisible=!1}ngOnInit(){}ngAfterViewInit(){this.setCustomHandler()}filterSelectValues(){this.filteredItems=Kc(this.items,this.filterQuery,this.bindLabel)}reset(){this.filteredItems=this.items,this.filterQuery=null,this.dropdownVisible=!1}getClass(){return`ng-select-search ng-select--${this.size}`}clearSelect(){this.control.reset(),this.valueChange.emit(this.control.value)}setCustomHandler(){this.selectInstance&&(this.selectInstance.handleMousedown=Og.bind(this.selectInstance))}onDropdownVisible(){this.dropdownVisible=!0}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={setItems:[{type:n.pde,args:["items"]}],bindLabel:[{type:n.pde}],bindValue:[{type:n.pde}],closeOnSelect:[{type:n.pde}],control:[{type:n.pde}],multiple:[{type:n.pde}],placeholder:[{type:n.pde}],size:[{type:n.pde}],clearable:[{type:n.pde}],valueChange:[{type:n.k7i}],multiLabelTmp:[{type:n.kDq,args:["multiLabelTmp"]}],optionTmp:[{type:n.kDq,args:["optionTmp"]}],selectInstance:[{type:n.Uct,args:["select",{read:st.vr}]}]}};Oi=(0,r.Cg)([(0,n.uAl)({selector:"app-select-search",template:'<ng-select\n  [bindLabel]="bindLabel"\n  [bindValue]="bindValue"\n  [class]="getClass()"\n  [clearable]="false"\n  [closeOnSelect]="closeOnSelect"\n  [formControl]="control"\n  [items]="filteredItems"\n  [loading]="filteredItems?.length > 0"\n  [multiple]="multiple"\n  [placeholder]="placeholder"\n  [searchable]="false"\n\n  (change)="valueChange.emit($event)"\n  (close)="reset()"\n  (open)="onDropdownVisible()"\n>\n  <ng-template ng-header-tmp>\n    <div class="input-search">\n      <img class="input-search__search-icon" src="/assets/icons/search.svg" alt="search">\n      <input [(ngModel)]="filterQuery" (ngModelChange)="filterSelectValues()" autofocus class="input-search__field"\n        placeholder="{{\'placeholder.search\' | cxTranslate}}">\n\n      <button class="input-search__cancel-button" (click)="reset()">\n        <svg-icon-sprite class="input-search__cancel-icon" src="clear" width="18" height="18"></svg-icon-sprite>\n      </button>\n    </div>\n  </ng-template>\n\n  <ng-template ng-loadingspinner-tmp>\n    <div *ngIf="clearable && control?.value" class="ng-clear-wrapper" (click)="clearSelect()">\n      <button class="icon-button">\n        <svg-icon-sprite src="close" width="18" height="18"></svg-icon-sprite>\n      </button>\n    </div>\n  </ng-template>\n\n  <ng-template\n    *ngIf="optionTmp"\n    let-item="item"\n    let-item$="item$"\n    let-index="index"\n    ng-option-tmp\n  >\n    <ng-template *ngTemplateOutlet="optionTmp; context: { item: item, item$: item$, index: index }"></ng-template>\n  </ng-template>\n\n  <ng-template\n    *ngIf="multiLabelTmp && multiple"\n    let-items="items"\n    let-clear="clear"\n    ng-multi-label-tmp\n  >\n    <ng-template *ngTemplateOutlet="multiLabelTmp; context: { items: items, clear: clear }"></ng-template>\n  </ng-template>\n</ng-select>\n<cx-form-errors *ngIf="!dropdownVisible" [control]="control"></cx-form-errors>\n',styles:[f_()]})],Oi);var Tn,b_=i(46479),y_=i.n(b_);!function(a){a.DEFAULT="default",a.FLAT="flat",a.OUTLINE="outline"}(Tn||(Tn={}));let Ai=class{constructor(){this.clearable=!0,this.closeOnSelect=!0,this.multiple=!1,this.placeholderValues=!1,this.searchable=!1,this.type=Tn.DEFAULT,this.showSelectButton=!1,this.selectClosed=new n.bkB,this.types=Tn}ngAfterViewInit(){this.checkWidth()}ngOnChanges(e){const{controlData:t,items:s,placeholderValues:o}=e;if(t?.currentValue&&s?.currentValue&&o?.currentValue)return this.placeholderValues&&s.currentValue?.length>1&&this.addRangePlaceholder(),void(this.placeholderValues&&1===s.currentValue?.length&&(this.controlData.value?.empty?this.controlData.setValue(s.currentValue[0]):this.controlData.setValue(s.currentValue[0],{emitEvent:!1})));s&&s.currentValue?.length>0&&this.controlData&&this.placeholderValues&&this.addRangePlaceholder()}addRangePlaceholder(){const e={};e[this.bindLabel]=`${this.items[0][this.bindLabel]} - ${this.items[this.items.length-1][this.bindLabel]}`,this.bindValue?e[this.bindValue]=null:e.empty=!0,(!this.controlData.value||this.controlData.value?.empty)&&this.controlData.setValue(e,{emitEvent:!1}),this.items[0][this.bindLabel]!==e[this.bindLabel]&&this.items.unshift(e)}checkWidth(){if(this.type===Tn.FLAT){const t=this.select.nativeElement?.querySelector(".ng-placeholder").offsetWidth,s=this.select.nativeElement?.querySelector(".ng-select-container");(s&&s.style).minWidth=t+24+"px"}}preventSelect(e){e.preventDefault(),e.stopPropagation()}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={bindLabel:[{type:n.pde}],bindValue:[{type:n.pde}],clearable:[{type:n.pde}],closeOnSelect:[{type:n.pde}],controlData:[{type:n.pde}],items:[{type:n.pde}],multiple:[{type:n.pde}],placeholder:[{type:n.pde}],placeholderValues:[{type:n.pde}],searchable:[{type:n.pde}],type:[{type:n.pde}],showSelectButton:[{type:n.pde}],selectClosed:[{type:n.k7i}],select:[{type:n.Uct,args:["select",{read:n.aKT}]}],multiLabelTmp:[{type:n.kDq,args:["multiLabelTmp"]}],optionTmp:[{type:n.kDq,args:["optionTmp"]}],disabledTmp:[{type:n.kDq,args:["disabledTmp"]}],ngHeaderTmp:[{type:n.kDq,args:["ngHeaderTmp"]}]}};Ai=(0,r.Cg)([(0,n.uAl)({selector:"app-select",template:'<ng-select\n  [bindLabel]="bindLabel"\n  [bindValue]="bindValue"\n  [clearable]="clearable"\n  [closeOnSelect]="closeOnSelect"\n  [formControl]="controlData"\n  [items]="items"\n  [multiple]="multiple"\n  [placeholder]="placeholder"\n  [searchable]="searchable"\n  [ngClass]="{\n    \'ng-select-default\': type === types.DEFAULT,\n    \'ng-select-flat\': type === types.FLAT,\n    \'ng-select-outline\': type === types.OUTLINE,\n    \'ng-select-discard\': placeholderValues,\n    \'ng-select-disabledCustom\': disabledTmp\n  }"\n  (close)="selectClosed.emit()"\n  #select\n>\n\n  <ng-template *ngIf="ngHeaderTmp" ng-header-tmp>\n    <ng-container *ngTemplateOutlet="ngHeaderTmp"></ng-container>\n  </ng-template>\n\n  \x3c!--  With count and disable state--\x3e\n  <ng-template\n    *ngIf="optionTmp"\n    let-item="item"\n    let-item$="item$"\n    let-index="index"\n    ng-option-tmp\n  >\n    <p\n      class="desc-title"\n      [class.desc-title--disabled]="item.count === 0"\n      (click)="item.count === 0 && preventSelect($event)"\n    >\n      <ng-template *ngTemplateOutlet="optionTmp; context: { item: item, item$: item$, index: index }"></ng-template>\n      <span *ngIf="item.count || item.count === 0" class="desc-title__description">{{ item.count }}</span>\n    </p>\n  </ng-template>\n\n  \x3c!--  Only disabled state--\x3e\n  <ng-template\n    *ngIf="disabledTmp"\n    let-item="item"\n    let-item$="item$"\n    let-index="index"\n    ng-option-tmp\n  >\n    <p\n      class="desc-title"\n      [class.desc-title--disabled]="item.disabled"\n      (click)="item.disabled && preventSelect($event)"\n    >\n      <ng-template *ngTemplateOutlet="disabledTmp; context: { item: item, item$: item$, index: index }"></ng-template>\n    </p>\n  </ng-template>\n\n  <ng-template\n    *ngIf="multiLabelTmp && multiple"\n    let-items="items"\n    let-clear="clear"\n    ng-multi-label-tmp\n  >\n    <div>\n      <ng-template *ngTemplateOutlet="multiLabelTmp; context: { items: items, clear: clear }"></ng-template>\n    </div>\n  </ng-template>\n\n  <ng-template ng-option-tmp let-item="item" let-index="index">\n    <span class="ng-option-label" *ngIf="!item.empty; else empty">\n     {{ item[bindLabel] }}\n    </span>\n\n    <ng-template #empty>\n      <span class="ng-option-label" [class.ng-option-label--discard]="controlData.value">\n       <span class="ng-option-label-item ng-option-label-item--default">\n        {{ item[bindLabel] }}\n       </span>\n\n       <span class="ng-option-label-item ng-option-label-item--empty">\n         {{ \'placeholder.discard\' | cxTranslate }}\n       </span>\n      </span>\n    </ng-template>\n  </ng-template>\n\n  <ng-template *ngIf="showSelectButton" ng-footer-tmp>\n    <button class="btn btn-default btn--md w-100 mt-2" (click)="select.close()">\n      {{ \'orders.orderFilter.select\' | cxTranslate }}\n    </button>\n  </ng-template>\n\n</ng-select>\n\n<cx-form-errors [control]="controlData"></cx-form-errors>\n',styles:[y_()]})],Ai);var T_=i(19119),E_=i.n(T_);let Ii=class{constructor(){this.maxLength=null,this.placeholder="",this.focusEvent=new n.bkB,this.onFocus=!1}ngOnInit(){}setFocus(){this.focusEvent.emit(),this.onFocus=!0}removeFocus(){this.onFocus=!1}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={control:[{type:n.pde}],maxLength:[{type:n.pde}],placeholder:[{type:n.pde}],focusEvent:[{type:n.k7i}]}};Ii=(0,r.Cg)([(0,n.uAl)({selector:"app-textarea",template:'<div class="textarea" (click)="setFocus()"\n      [class.textarea--focus]="onFocus"\n     [class.textarea--has-value]="control?.value"\n     [class.textarea--error]="!onFocus && control?.invalid && control?.touched">\n  <label class="textarea__label" for="textarea" >\n    <span class="textarea__label-placeholder">\n      {{placeholder}}\n    </span>\n    <span class="textarea__label-remaining" *ngIf="control?.value">\n      {{ \'placeholder.remainingSymbols\' | cxTranslate }}: {{  maxLength - control.value.length }}\n    </span>\n  </label>\n\n  <textarea\n    (blur)="removeFocus()"\n    id="textarea"\n    [maxLength]="maxLength"\n    class="textarea__field"\n    [formControl]="control">\n  </textarea>\n</div>\n\n<cx-form-errors [control]="control"></cx-form-errors>\n',styles:[E_()]})],Ii);let ce=class{};ce=(0,r.Cg)([(0,n.UQu)({declarations:[fi,Ai,Oi,xi,Ci,bi,Ii,Ri],imports:[S.MD,m.YN,v.GQ,Xe.n8,st.MQ,vi,m.X1,V.F2,Ft.u,p.LP3,bn,Te],exports:[fi,xi,Ai,Oi,Ci,bi,Ii,Ri]})],ce);var O_=i(56989),A_=i.n(O_);let wi=class{constructor(){this.small=!1,this.hoverShadow=!1,this.overflowVisible=!1,this.inline=!1}static#e=this.propDecorators={small:[{type:n.pde}],hoverShadow:[{type:n.pde}],overflowVisible:[{type:n.pde}],inline:[{type:n.pde}]}};wi=(0,r.Cg)([(0,n.uAl)({selector:"app-card-wrapper",template:'<div\n  class="card-wrapper"\n  [class.card-wrapper--small]="small"\n  [class.card-wrapper--hover-shadow]="hoverShadow"\n  [class.card-wrapper--overflow-default]="overflowVisible"\n  [class.card-wrapper--inline]="inline"\n\n >\n  <ng-content></ng-content>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[A_()]})],wi);let ct=class{};ct=(0,r.Cg)([(0,n.UQu)({declarations:[wi],exports:[wi],imports:[S.MD]})],ct);var w_=i(60645),P_=i.n(w_);let Pi=class{constructor(){this.src=""}static#e=this.propDecorators={src:[{type:n.pde}]}};Pi=(0,r.Cg)([(0,n.uAl)({selector:"app-icon-button",template:'<button class="icon-button">\n  <svg-icon-sprite class="icon-button__icon" [src]="src"></svg-icon-sprite>\n</button>\n',changeDetection:n.Ngq.OnPush,styles:[P_()]})],Pi);let Mt=class{};Mt=(0,r.Cg)([(0,n.UQu)({declarations:[Pi],exports:[Pi],imports:[S.MD,V.F2]})],Mt);var L_=i(2889),k_=i.n(L_),H=i(49969);const rl=()=>(0,H.hZ)("showBody",[(0,H.kY)("void => *",[(0,H.iF)({height:0,opacity:0,overflow:"hidden"}),(0,H.i0)(".3s ease-out",(0,H.iF)({height:"*",opacity:1,overflow:"auto"})),(0,H.iF)({opacity:1})]),(0,H.kY)("* => void",[(0,H.iF)({height:"*",opacity:1,overflow:"auto"}),(0,H.i0)(".3s ease-in",(0,H.iF)({height:0,opacity:0,overflow:"hidden"}))])]);let Di=class{constructor(){this.isExpand=!1,this.overflowVisible=!1,this.secondary=!1,this.grey=!1,this.hideToggleButton=!0,this.inline=!1}static#e=this.propDecorators={isExpand:[{type:n.pde}],overflowVisible:[{type:n.pde}],secondary:[{type:n.pde}],grey:[{type:n.pde}],hideToggleButton:[{type:n.pde}],inline:[{type:n.pde}]}};Di=(0,r.Cg)([(0,n.uAl)({selector:"app-toggle-card",template:'<app-card-wrapper [overflowVisible]="overflowVisible" [inline]="inline">\n  <div class="toggle-card" [ngClass]="{\n  \'toggle-card--secondary\': secondary,\n  \'toggle-card--grey\': grey\n  }">\n    <div class="toggle-card__header" [class.toggle-card__header--expanded]="isExpand">\n      <div class="toggle-card__header-left">\n        <div class="toggle-card__icon">\n          <ng-content select="[header-icon]"></ng-content>\n        </div>\n\n          <ng-content select="[header-left]"></ng-content>\n      </div>\n\n      <div class="toggle-card__header-right" >\n        <ng-content select="[header-right]">\n        </ng-content>\n        <app-icon-button *ngIf="!hideToggleButton" (click)="isExpand = !isExpand" [src]="isExpand ? \'expand_less\' : \'expand_more\'"></app-icon-button>\n      </div>\n    </div>\n\n    <div *ngIf="isExpand" [@showBody] class="toggle-card__body">\n        <ng-content select="[toggle-body]"></ng-content>\n    </div>\n  </div>\n</app-card-wrapper>\n',animations:[rl()],styles:[k_()]})],Di);let ze=class{};ze=(0,r.Cg)([(0,n.UQu)({declarations:[Di],exports:[Di],imports:[S.MD,ct,Mt]})],ze);var M_=i(30764),N_=i.n(M_);let Li=class{constructor(){this.allFiles=null,this.withInput=!1,this.grey=!1,this.files=[],this.possibleExtensions=[],this.inline=!1,this.isSavable=!1,this.delete=new n.bkB,this.add=new n.bkB,this.clear=new n.bkB,this.save=new n.bkB}onDelete(){this.delete.emit()}onAdd(){this.add.emit()}onClear(){this.clear.emit()}onSave(){this.save.emit()}static#e=this.propDecorators={allFiles:[{type:n.pde}],withInput:[{type:n.pde}],grey:[{type:n.pde}],files:[{type:n.pde}],maxSize:[{type:n.pde}],possibleExtensions:[{type:n.pde}],allFilesSize:[{type:n.pde}],inline:[{type:n.pde}],header:[{type:n.pde}],tooltip:[{type:n.pde}],isSavable:[{type:n.pde}],delete:[{type:n.k7i}],add:[{type:n.k7i}],clear:[{type:n.k7i}],save:[{type:n.k7i}]}};Li=(0,r.Cg)([(0,n.uAl)({selector:"app-card-attachments",template:'<app-toggle-card class="card-attachments" [class.card-attachments--inline]="inline" [inline]="inline" [hideToggleButton]="false" [isExpand]="true" [grey]="grey">\n  <svg-icon-sprite\n    header-icon\n    src="attach_file"\n    width="18"\n    height="18">\n  </svg-icon-sprite>\n  <span header-left class="card-attachments__header">\n    {{ header || (\'supportRequest.attachments\' | cxTranslate) }}\n\n    <app-custom-tooltip *ngIf="tooltip">\n      <ng-container item>\n        <svg-icon-sprite\n          class="profile__tooltip-icon"\n          src="info"\n          width="20"\n          height="20">\n        </svg-icon-sprite>\n      </ng-container>\n      <ng-container content>\n        <app-attachment-tooltip [text]="tooltip"></app-attachment-tooltip>\n      </ng-container>\n    </app-custom-tooltip>\n  </span>\n\n  <div toggle-body class="card-attachments__body">\n    <div *ngIf="withInput" class="card-attachments__input">\n      <app-attachments-comment></app-attachments-comment>\n    </div>\n    <app-attachments\n      [inline]="inline"\n      [files]="files"\n      [allFiles]="allFiles"\n      [possibleExtensions]="possibleExtensions"\n      [allFilesSize]="allFilesSize"\n      [maxSize]="maxSize"\n      [isSavable]="isSavable"\n      (delete)="onDelete()"\n      (add)="onAdd()"\n      (clear)="onClear()"\n      (save)="onSave()"\n    ></app-attachments>\n  </div>\n</app-toggle-card>\n',changeDetection:n.Ngq.OnPush,styles:[N_()]})],Li);var $_=i(66048),B_=i.n($_);let ol=class{set allFiles(e){this.allFilesValue=e,e.filter(t=>t.name===this.file.name).length>1?this.errorTexts.includes(this.nameErrorText)?this.isUnsupportedFile=!0:(this.isUnsupportedFile=!0,this.errorTexts.push(this.nameErrorText)):(this.errorTexts=this.errorTexts.filter(t=>t!==this.nameErrorText),this.isUnsupportedFile=this.errorTexts.length>0),this.changeDetection.detectChanges()}constructor(e,t,s){this.translatePipe=e,this.bytesToMbPipe=t,this.changeDetection=s,this.deleteFile=new n.bkB,this.errorTexts=[],this.iconName="",this.isUnsupportedFile=!1,this.allFilesValue=null,this.nameErrorText=this.translatePipe.transform("supportRequest.fileValidate.nameAlreadyExist")}ngOnInit(){const e=this.file.name.match(/[^\.]+$/)[0].toLowerCase();this.setFileTypeIcon(e),this.checkFileExtenstion(e),this.checkFileSize(),this.checkFileNameForUnique(!!this.allFilesValue)}checkFileExtenstion(e){this.possibleExtensions.includes(e)||(this.isUnsupportedFile=!0,this.errorTexts.push(this.translatePipe.transform("supportRequest.fileValidate.unsupportedType")))}checkFileSize(){+this.file.size>this.maxSize&&(this.isUnsupportedFile=!0,this.errorTexts.push(this.translatePipe.transform("supportRequest.fileValidate.sizeExceeds",{size:this.bytesToMbPipe.transform(this.maxSize)})))}checkFileNameForUnique(e=!1){e||this.files.filter(t=>t.name===this.file.name).length>1&&(this.isUnsupportedFile=!0,this.errorTexts.push(this.nameErrorText))}setFileTypeIcon(e){this.iconName=xg[e]||"no-icon"}static#e=this.ctorParameters=()=>[{type:p.D97},{type:en},{type:n.gRc}];static#t=this.propDecorators={allFiles:[{type:n.pde}],index:[{type:n.pde}],file:[{type:n.pde}],files:[{type:n.pde}],possibleExtensions:[{type:n.pde}],maxSize:[{type:n.pde}],deleteFile:[{type:n.k7i}]}};ol=(0,r.Cg)([(0,n.uAl)({selector:"app-support-attach-file",template:'<div\n  [class.is-error]="isUnsupportedFile"\n  class="support-attach-file"\n>\n  <svg-icon-sprite\n    (click)="deleteFile.emit(index)"\n    src="cancel"\n    class="support-attach-file__file-delete"\n    width="16px"\n    height="16px"\n  ></svg-icon-sprite>\n  <svg-icon-sprite\n    *ngIf="isUnsupportedFile"\n    (click)="deleteFile.emit(index)"\n    src="error"\n    class="support-attach-file__file-error"\n    width="16px"\n    height="16px"\n  ></svg-icon-sprite>\n\n  <div class="d-flex justify-content-between support-attach-file__content">\n    <div class="d-flex flex-column support-attach-file__info">\n      <div class="support-attach-file__name">{{ file.name }}</div>\n      <ng-container *ngIf="!isUnsupportedFile; else unsupportedFile">\n        <div class="support-attach-file__size">{{ file.size | fileSize }}</div>\n      </ng-container>\n      <ng-template #unsupportedFile>\n        <div\n          *ngFor="let errorText of errorTexts"\n          class="support-attach-file__error"\n        >\n          {{ errorText }}\n        </div>\n      </ng-template>\n\n    </div>\n    <div>\n      <svg-icon-sprite\n        [src]="iconName"\n        class="support-attach-file__icon"\n        width="32px"\n        height="32px"\n      ></svg-icon-sprite>\n    </div>\n  </div>\n</div>\n',styles:[B_()]})],ol);var G_=i(76996),z_=i.n(G_);let al=class{constructor(){this.inline=!1,this.isSavable=!1,this.addFiles=new n.bkB,this.saveFiles=new n.bkB,this.clearFiles=new n.bkB,this.fileInput=new m.hs(null)}onAddFile(e){this.addFiles.emit(e),this.fileInput.reset()}clearFilesButtonClick(){this.fileCount&&this.clearFiles.emit()}saveButtonClick(){this.fileCount&&this.saveFiles.emit()}static#e=this.propDecorators={possibleExtensions:[{type:n.pde}],fileCount:[{type:n.pde}],maxSize:[{type:n.pde}],allFilesSize:[{type:n.pde}],inline:[{type:n.pde}],isSavable:[{type:n.pde}],addFiles:[{type:n.k7i}],saveFiles:[{type:n.k7i}],clearFiles:[{type:n.k7i}]}};al=(0,r.Cg)([(0,n.uAl)({selector:"app-support-attach-footer",template:'<div class="attachment-buttons" [class.attachment-buttons--inline]="inline">\n  <div class="attachment-buttons__add d-flex justify-content-between align-items-center">\n    <input\n      [formControl]="fileInput"\n      (change)="onAddFile($event)"\n      multiple\n      type="file"\n      class="attachment-buttons__add-input"\n    >\n    <div class="w-100 d-flex justify-content-between align-items-center">\n      {{ \'supportRequest.addFiles\' | cxTranslate }}\n      <svg-icon-sprite\n        class="attachment-buttons__icon"\n        src="cloud_upload"\n        width="32px"\n        height="32px"\n      ></svg-icon-sprite>\n    </div>\n  </div>\n\n  <button\n    class="attachment-buttons__clear btn btn--md btn-secondary"\n    type="button"\n    [disabled]="!fileCount"\n    (click)="clearFilesButtonClick()"\n  >\n    {{ \'supportRequest.clearAttach\' | cxTranslate }}\n  </button>\n\n  <button\n    *ngIf="isSavable"\n    class="btn btn-default claimed-items__button"\n    [disabled]="!fileCount"\n    (click)="saveButtonClick()">\n    {{ \'common.save\' | cxTranslate }}\n  </button>\n\n  <div class="attachment-buttons__info" [ngClass]="{\'attachment-buttons__info--wide\': isSavable}">\n    {{ \'supportRequest.canAttach\' | cxTranslate }}\n    {{ possibleExtensions?.join(\', \') + \'. \' }}\n    <br *ngIf="!isSavable">\n    {{ (\'supportRequest.fileSize\' | cxTranslate : { size: ( maxSize | bytesToMb ) }) + \'. \' }}\n    <br>\n    {{ allFilesSize + \'. \' }}\n  </div>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[z_()]})],al);var Nt,lt,Wn,Q_=i(49984),q_=i.n(Q_);!function(a){a[a.Xs=0]="Xs",a[a.Sm=576]="Sm",a[a.Md=700]="Md"}(Nt||(Nt={})),function(a){a.WIDTH="width",a.LENGTH="length",a.THICKNESS="thickness",a.PLACED="placed",a.READY_SINCE="readySince"}(lt||(lt={})),function(a){a.DEFAULT="default",a.ERROR="error",a.FAILED="failed",a.CREATED="created",a.RUNNING="running",a.SUCCEEDED="succeeded",a.WAITING="waiting"}(Wn||(Wn={}));var At=i(31397),H_=i(2578);let dt=class{constructor(e,t){this.occEndpointsService=e,this.http=t}downloadBy(e,t,s){const o=this.occEndpointsService.buildUrl(e,{urlParams:t,queryParams:s});return this.http.get(o,{responseType:"blob"})}getBlob(e){return new Blob([e],{type:"application/octet-stream"})}saveAs(e,t){H_(e,t)}static#e=this.ctorParameters=()=>[{type:p.zxz},{type:U.Qq}]};dt=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],dt);let ke=class{constructor(e,t,s){this.http=e,this.occEndpoints=t,this.documentsService=s,this.categoriesTabsMap={commercial:1,supplychain:2,logistic:3,technical:4,slabNumber:5},this.userCategories$=new P.t([]),this.userIsPlate$=new P.t(null),this.attachComment$=new P.t(null),this.sellersForm$=new P.t(new m.hs(null,m.k0.required)),this.claimFiles$=new P.t([]),this.itemFiles$=new P.t([]),this.itemAddedFiles$=new P.t([]),this.currentSeller$=new P.t(null),this.allFiles$=this.claimFiles$.pipe((0,At.Z)(o=>this.itemFiles$.pipe((0,w.T)(l=>l.concat(o)))))}setUserCategories(e){this.userCategories$.next(e)}requestAttachments(e){const t=this.occEndpoints.buildUrl(E.CLAIMS.ATTACHMENTS,{urlParams:{code:e}});return this.http.get(t)}getSellers(){const e=this.occEndpoints.buildUrl(E.CLAIMS.SELLERS);return this.http.get(e)}getClaim(e){const t=this.occEndpoints.buildUrl(E.CLAIMS.DETAIL,{urlParams:{code:e}}),s=o=>o.toUpperCase().replace(" ","_");return this.http.get(t).pipe((0,w.T)(o=>(o.statuses.lastSavedStatus=s(o.statuses.lastSavedStatus),o.statuses.claimStatusChronologyValues.forEach((l,u)=>{l.claimStatus=s(l.claimStatus),(0===u&&!l.date||o.statuses.claimStatusChronologyValues[u-1]?.date&&!l.date)&&(l.inProgress=!0)}),o)))}getClaims(e){const t=this.occEndpoints.buildUrl(E.CLAIMS.LIST,{urlParams:{},queryParams:e});return this.http.get(t)}getViews(e){const t=this.occEndpoints.buildUrl(e);return this.http.get(t)}getPageData(e){const t=this.occEndpoints.buildUrl(E.CLAIMS.INVOICES);return this.http.post(t,e)}createTableView(e,t){e.tableCode=t;const s=this.occEndpoints.buildUrl(E.REPORTS.SAVE_VIEW);return this.http.post(s,e)}getTableView(e){const t=this.occEndpoints.buildUrl(E.CLAIMS.VIEWS,{urlParams:{},queryParams:{view:e}});return this.http.get(t)}editTableView(e,t){e.tableCode=t;const s=this.occEndpoints.buildUrl(E.REPORTS.EDIT_VIEW,{urlParams:{code:e.code}});return this.http.put(s,e)}deleteTableView(e){const t=this.occEndpoints.buildUrl(E.REPORTS.EDIT_VIEW,{urlParams:{code:e}});return this.http.delete(t)}claimsCreate(e,t,s,o,l){const u=this.occEndpoints.buildUrl(E.CLAIMS.CREATE);let h=new FormData;return h.append("json",JSON.stringify(e)),h=il({files:t,maxSize:s,formDataKey:"files",possibleExtensions:o,maxSizeAllFiles:l,formData:h}),this.http.post(u,h)}getPossibleExtensions(){const e=this.occEndpoints.buildUrl(E.CLAIMS.FORMATS);return this.http.get(e)}getCategories(){const e=this.occEndpoints.buildUrl(E.CLAIMS.CATEGORIES);return this.http.get(e)}downloadDocument(e,t){return this.documentsService.downloadBy(E.USER.DOCUMENTS.CLAIM.FILE,{claimId:e,documentId:t})}downloadDocuments(e){return this.documentsService.downloadBy(E.USER.DOCUMENTS.CLAIM.ALL,{claimId:e})}saveEmit(e,t){this.documentsService.saveAs(e,t)}getClaimTypes(){const e=this.occEndpoints.buildUrl(E.CLAIMS.TYPES);return this.http.get(e)}getClaimMills(){const e=this.occEndpoints.buildUrl(E.CLAIMS.MILLS);return this.http.get(e)}getDefectCategories(e){const t=this.occEndpoints.buildUrl(E.CLAIMS.DEFECT_CATEGORIES,{urlParams:{},queryParams:{categoryId:e}});return this.http.get(t)}isClaimCreated(e){const t=this.occEndpoints.buildUrl(E.CLAIMS.IS_CLAIM_CREATED,{urlParams:{},queryParams:{creationTimestamp:e}});return this.http.get(t)}getCurrentCardSize(e,t){const s=window.innerWidth;return s>=Nt.Sm?this.getCardCountAndHeight(179,e):s>=437?this.getCardCountAndHeight(179,t):this.getCardCountAndHeight(194,t)}getCardCountAndHeight(e,t){return{cardSize:e,shownItemsCountBeforeScroll:t}}static#e=this.ctorParameters=()=>[{type:U.Qq},{type:p.zxz},{type:dt}]};ke=(0,r.Cg)([(0,n._qm)()],ke);let cl=class{constructor(e){this.claimsService=e,this.form=new m.hs("",m.k0.maxLength(250))}ngOnInit(){}changeValue(){this.form.invalid?this.form.markAsTouched():this.claimsService.attachComment$.next(this.form.value)}ngOnDestroy(){this.claimsService.attachComment$.next(null)}static#e=this.ctorParameters=()=>[{type:ke}]};cl=(0,r.Cg)([(0,n.uAl)({selector:"app-attachments-comment",template:'<app-input\n  [controlData]="form"\n  (focusout)="changeValue()"\n  label="{{ \'placeholder.addLink\' | cxTranslate }}">\n</app-input>\n',styles:[q_()]})],cl);var W_=i(22992),K_=i.n(W_);let ki=class{constructor(e){this.changeDetection=e,this.allFiles=null,this.files=[],this.possibleExtensions=[],this.inline=!1,this.isSavable=!1,this.delete=new n.bkB,this.add=new n.bkB,this.clear=new n.bkB,this.save=new n.bkB,this.isFilesContainsErrors=!1}onDelete(e){this.files.splice(e,1),this.checkFilesFormat(),this.delete.emit()}onAdd(e){const t=e.target||e.srcElement;for(const s of t.files)this.files.push(s);this.checkFilesFormat(),this.add.emit()}onClear(){this.files.length&&(this.files=[]),this.isFilesContainsErrors=!1,this.clear.emit()}onSave(){this.save.emit()}checkFilesFormat(){if(this.isFilesContainsErrors=!1,this.files?.length)for(const e of this.files){const t=e.name.match(/[^\.]+$/)[0].toLowerCase();(!this.possibleExtensions.includes(t)||e.size>this.maxSize)&&(this.isFilesContainsErrors=!0)}this.changeDetection.detectChanges()}static#e=this.ctorParameters=()=>[{type:n.gRc}];static#t=this.propDecorators={allFiles:[{type:n.pde}],files:[{type:n.pde}],maxSize:[{type:n.pde}],possibleExtensions:[{type:n.pde}],allFilesSize:[{type:n.pde}],inline:[{type:n.pde}],isSavable:[{type:n.pde}],delete:[{type:n.k7i}],add:[{type:n.k7i}],clear:[{type:n.k7i}],save:[{type:n.k7i}]}};ki=(0,r.Cg)([(0,n.uAl)({selector:"app-attachments",template:'<div\n  *ngIf="files?.length"\n  class="attachments"\n>\n  <ng-container *ngIf="allFiles; else oneCard">\n    <app-support-attach-file\n      *ngFor="let file of files; let i = index"\n      (deleteFile)="onDelete(i)"\n      [file]="file"\n      [allFiles]="allFiles"\n      [index]="i"\n      [maxSize]="maxSize"\n      [possibleExtensions]="possibleExtensions"\n    ></app-support-attach-file>\n  </ng-container>\n  <ng-template #oneCard>\n    <app-support-attach-file\n      *ngFor="let file of files; let i = index"\n      (deleteFile)="onDelete(i)"\n      [file]="file"\n      [files]="files"\n      [index]="i"\n      [maxSize]="maxSize"\n      [possibleExtensions]="possibleExtensions"\n    ></app-support-attach-file>\n  </ng-template>\n</div>\n\n<app-support-attach-footer\n  [inline]="inline"\n  [possibleExtensions]="possibleExtensions"\n  [maxSize]="maxSize"\n  [allFilesSize]="allFilesSize"\n  [fileCount]="files.length"\n  [isSavable]="isSavable"\n  (addFiles)="onAdd($event)"\n  (saveFiles)="onSave()"\n  (clearFiles)="onClear()"\n></app-support-attach-footer>\n',changeDetection:n.Ngq.OnPush,styles:[K_()]})],ki);var ll,Z_=i(86200),J_=i.n(Z_);!function(a){a.CENTER="center",a.RIGHT="right"}(ll||(ll={}));let Fi=class{constructor(){this.position=ll.CENTER}static#e=this.propDecorators={position:[{type:n.pde}]}};Fi=(0,r.Cg)([(0,n.uAl)({selector:"app-custom-tooltip",template:'<div class="custom-tooltip custom-tooltip--{{position}}" >\n  <div class="custom-tooltip__item">\n    <ng-content select="[item]"></ng-content>\n  </div>\n\n  <div class="custom-tooltip__wrapper">\n    <div class="custom-tooltip__content">\n      <ng-content select="[content]"></ng-content>\n    </div>\n  </div>\n</div>\n',styles:[J_()]})],Fi);var tv=i(30906),nv=i.n(tv);let Mi=class{};Mi=(0,r.Cg)([(0,n.uAl)({selector:"app-info-tooltip",template:'<div class="tooltip-content">\n  <svg-icon-sprite class="tooltip-content__icon" src="info" width="16" height="16"></svg-icon-sprite>\n\n    <p class="tooltip-content__content">\n      {{ \'text.myProfile.tooltipFirst\' | cxTranslate }}<br>\n      {{ \'text.myProfile.tooltipSecond\' | cxTranslate }}\n    </p>\n</div>\n',styles:[nv()]})],Mi);let Ni=class{};Ni=(0,r.Cg)([(0,n.UQu)({declarations:[Fi,Mi],imports:[S.MD,V.F2,p.LP3],exports:[Fi,Mi]})],Ni);var iv=i(35812),rv=i.n(iv);let dl=class{constructor(){}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={text:[{type:n.pde}]}};dl=(0,r.Cg)([(0,n.uAl)({selector:"app-attachment-tooltip",template:'<div class="tooltip__container">\n  <p class="tooltip__content" [innerHTML]="text"></p>\n</div>\n',styles:[rv()]})],dl);let Ui=class{};Ui=(0,r.Cg)([(0,n.UQu)({declarations:[Li,ol,al,ki,cl,dl],exports:[Li,ki],imports:[S.MD,p.LP3,V.F2,xe,ze,m.X1,ce,Ni]})],Ui);var av=i(10715),cv=i.n(av);let Kn=class{constructor(e,t){this.occEndpointsService=e,this.http=t}getCategories(){const e=this.occEndpointsService.buildUrl(`${E.CATEGORIES.QUOTATION}`);return this.http.get(e)}getQuotationProduct(e,t){const s=this.occEndpointsService.buildUrl(`${E.USER.CHECKOUT.QUOTATION.VOLUME}?category=${e}&volume=${t}`);return this.http.post(s,{})}static#e=this.ctorParameters=()=>[{type:p.zxz},{type:U.Qq}]};var Ct,Ag,$i,Bi,En,Re,et,Ut,le,Ae,$t;Kn=(0,r.Cg)([(0,n._qm)()],Kn),function(a){a.VALIDATION_ERROR="ValidationError",a.DUPLICATE_UID_ERROR="DuplicateUidError",a.MAX_DELAY="MaxDelay"}(Ct||(Ct={})),function(a){a.ALIGN_LEFT="alignLeft",a.ALIGN_RIGHT="alignRight",a.CONTROLS_OUTSIDE="controlsOutside"}(Ag||(Ag={})),function(a){a.mon="mon",a.tue="tue",a.wed="wed",a.thu="thu",a.fri="fri",a.sat="sat",a.sun="sun"}($i||($i={})),function(a){a.EX_WORKS="EX WORKS"}(Bi||(Bi={})),function(a){a[a.maxPhoneNumberLength=16]="maxPhoneNumberLength"}(En||(En={})),function(a){a.TRADING="tradings",a.EU="nlmk",a.GLOBAL="global",a.STEELENA="steelena",a.TURKEY="turkey"}(Re||(Re={})),function(a){a.ADD_TO_MY_CATALOG="ADD_TO_MY_CATALOG",a.BACK_TO_HOME="BACK_TO_HOME",a.USER_MASTER_ACCOUNT="USER_MASTER_ACCOUNT"}(et||(et={})),function(a){a.LOADING="loading",a.SUCCESS="success",a.ERROR="error"}(Ut||(Ut={})),function(a){a.selected="./assets/icons/checkbox_checked.svg",a.mixed="./assets/icons/checkbox_mixed.svg",a.standard="./assets/icons/checkbox.svg",a.disabled="./assets/icons/checkbox_disabled.svg",a.disabledSelected="./assets/icons/checkbox_disabled-selected.svg",a.error="./assets/icons/checkbox_error.svg"}(le||(le={})),function(a){a.STRIP_AGREEMENT="STRIP_AGREEMENT",a.STRIP_STOCK="STRIP_STOCK",a.STRIP_ORDER="STRIP_ORDER",a.STRIP_QUOTE="STRIP_QUOTE",a.PLATE_STOCK="PLATE_STOCK",a.PLATE_ORDER="PLATE_ORDER",a.PLATE_AGREEMENT="PLATE_AGREEMENT"}(Ae||(Ae={})),function(a){a.ACTIVE="ACTIVE",a.HISTORY="HISTORY",a.ORDERS="ORDERS",a.QUOTATIONS="QUOTATIONS"}($t||($t={}));let Vi=class{constructor(e,t,s){this.quotationService=e,this.launchDialogService=t,this.router=s,this.destroy$=new R.B}ngOnInit(){}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}onClick(){switch(this.type){case et.ADD_TO_MY_CATALOG:this.quotationService.getCategories().pipe((0,x.Q)(this.destroy$)).subscribe(e=>{this.launchDialogService.openDialogAndSubscribe("ADD_TO_MY_CATALOG",void 0,{product:{classType:e[0].classType,classifications:[]}})});break;case et.BACK_TO_HOME:return this.router.navigate(["/"]);case et.USER_MASTER_ACCOUNT:return this.router.navigate([M.MY_ACCOUNT.USERS.CREATE]);default:return}}static#e=this.ctorParameters=()=>[{type:Kn},{type:v.PLe},{type:y.Ix}];static#t=this.propDecorators={icon:[{type:n.pde}],text:[{type:n.pde}],subText:[{type:n.pde}],subTextParams:[{type:n.pde}],description:[{type:n.pde}],buttonIcon:[{type:n.pde}],buttonText:[{type:n.pde}],type:[{type:n.pde}]}};Vi=(0,r.Cg)([(0,n.uAl)({selector:"app-cards-is-not-found",template:'<div class="empty-card d-flex align-items-center">\n  <svg-icon-sprite\n    class="empty-card__icon"\n    [src]="icon"\n  ></svg-icon-sprite>\n  <div>\n    <div class="empty-card__text">\n      {{ text }}\n      <div\n        *ngIf="subText"\n        class="empty-card__subtext"\n      >\n        {{ subText }}\n        <span class="empty-card__subtext-params">{{subTextParams}}</span>\n      </div>\n    </div>\n    <button\n      *ngIf="buttonText"\n      (click)="onClick()"\n      class="btn btn--sm btn-secondary empty-card__button"\n    >\n      <svg-icon-sprite\n        *ngIf="buttonIcon"\n        class="empty-card__button-icon"\n        [src]="buttonIcon"\n        width="16"\n        height="16"\n      ></svg-icon-sprite>\n      {{ buttonText }}\n    </button>\n    <div *ngIf="description" class="empty-card__description">{{ description }}</div>\n  </div>\n</div>\n',styles:[cv()]})],Vi);var dv=i(68321),pv=i.n(dv),uv=i(71941);let Gi=class{onWindowResize(){this.windowResizeTimeoutId&&document.defaultView.clearTimeout(this.windowResizeTimeoutId),this.windowResizeTimeoutId=setTimeout(this.lockArrow.bind(this),400)}constructor(e){this.document=e,this.destroy$=new R.B,this.moveToSlide$=new R.B,this.nextSlide$=new R.B,this.withArrow=!1,this.hideDots=!1,this.slideChange=new n.bkB,this.disabledArrows=new n.bkB,this.dotHelper=null,this.carousel=null,this.windowResizeTimeoutId=null}ngOnInit(){this.currentSlide=this.options?.initial||0}ngAfterViewInit(){setTimeout(()=>{this.initCarousel()})}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}initCarousel(){this.carousel=new uv.A(this.carouselEl.nativeElement,{...this.options,...this.events,created:e=>{this.initArrows()},slideChanged:e=>{this.currentSlide=e.details().relativeSlide,this.slideChange.emit(this.currentSlide),this.lockArrow()}}),this.lockArrow(),this.initDots(),this.moveToSlide$.pipe((0,z.M)(e=>{this.currentSlide=e,this.carousel.moveToSlide(e)}),(0,x.Q)(this.destroy$)).subscribe(),this.nextSlide$&&this.nextSlide$.pipe((0,z.M)(()=>{this.carousel.next()}),(0,x.Q)(this.destroy$)).subscribe()}initArrows(){if(!this.arrowNext?.nativeElement||!this.arrowPrev?.nativeElement)return;const e=(0,Hn.R)(this.arrowNext?.nativeElement,"click"),t=(0,Hn.R)(this.arrowPrev?.nativeElement,"click");e.pipe((0,z.M)(()=>{this.carousel.next()}),(0,x.Q)(this.destroy$)).subscribe(),t.pipe((0,z.M)(()=>{this.carousel.prev()}),(0,x.Q)(this.destroy$)).subscribe()}initDots(){this.dotHelper=[...Array(this.carousel.details().size).keys()],this.lockArrow()}lockArrow(){if(this.withArrow){const e=this.options.breakpoints;let t;for(const s in e)document.defaultView.matchMedia(s).matches&&(t=s);this.disabledArrows.emit({disabledLeft:this.currentSlide<=0,disabledRight:this.currentSlide+ +this.options.breakpoints[t].slidesPerView>=this.carousel?.details()?.size})}}static#e=this.ctorParameters=()=>[{type:Document,decorators:[{type:n.y_5,args:[S.qQ]}]}];static#t=this.propDecorators={events:[{type:n.pde}],moveToSlide$:[{type:n.pde}],nextSlide$:[{type:n.pde}],options:[{type:n.pde}],withArrow:[{type:n.pde}],hideDots:[{type:n.pde}],slideChange:[{type:n.k7i}],disabledArrows:[{type:n.k7i}],carouselEl:[{type:n.Uct,args:["carouselEl"]}],arrowNext:[{type:n.kDq,args:["arrowNext"]}],arrowPrev:[{type:n.kDq,args:["arrowPrev"]}],onWindowResize:[{type:n.Z$l,args:["window:resize"]}]}};Gi=(0,r.Cg)([(0,n.uAl)({selector:"app-carousel",template:'<div class="carousel">\n  <div\n    class="keen-slider"\n    #carouselEl\n  >\n    <ng-content></ng-content>\n  </div>\n\n  <ng-content select=".keen-slider__arrow"></ng-content>\n\n  <div\n    [class.keen-slider__dots--hidden]="hideDots"\n    class="keen-slider__dots"\n  >\n    <span\n      *ngFor="let slide of dotHelper; let i = index"\n      [class.active]="i === currentSlide"\n      (click)="moveToSlide$.next(i)"\n      class="keen-slider__dot"\n    ></span>\n  </div>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[pv()]})],Gi);var gv=i(58108),mv=i.n(gv);const pt=a=>a.sort((e,t)=>+e.order>+t.order?1:+e.order<+t.order?-1:0);let zi=class{constructor(){this.interval=5e3,this.options={loop:!0,slidesPerView:1},this.alignRight=!0,this.isProduct=!1,this.insideControls=!0,this.isMiddle=!1,this.hideDots=!1,this.events={dragStart:()=>{this.setPause(!0)},dragEnd:()=>{this.setPause(!1)}},this.sortByOrder=pt,this.nextSlide$=new R.B,this.moveToSlide$=new R.B,this.pause=!1,this.slideState=[],this.timerId=0}ngOnInit(){this.options.slides=this.slides?.length||0}ngOnDestroy(){this.resetTimer()}onSlideChange(e){this.setTimer(),this.slides.forEach((t,s)=>{this.slideState[s]=s===e})}resetTimer(){clearInterval(this.timerId)}setTimer(){this.resetTimer(),this.timerId=setInterval(()=>{this.pause||this.nextSlide$.next()},this.interval)}setPause(e){this.pause=e,this.setTimer()}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={slides:[{type:n.pde}],interval:[{type:n.pde}],options:[{type:n.pde}],alignRight:[{type:n.pde}],isProduct:[{type:n.pde}],insideControls:[{type:n.pde}],isMiddle:[{type:n.pde}],hideDots:[{type:n.pde}],events:[{type:n.pde}]}};zi=(0,r.Cg)([(0,n.uAl)({selector:"app-time-carousel",template:'<div\n  *ngIf="slides?.length"\n  @carouselAppear\n  class="time-carousel"\n>\n  <app-carousel\n    [events]="events"\n    [moveToSlide$]="moveToSlide$"\n    [nextSlide$]="nextSlide$"\n    [options]="options"\n    [hideDots]="hideDots"\n\n    (slideChange)="onSlideChange($event)"\n    [class.align-left]="!alignRight"\n    [class.align-right]="alignRight"\n    [class.controls-outside]="!insideControls"\n  >\n    <div\n      *ngFor="let slide of sortByOrder(slides); let i = index"\n      [@sliding]="{value: slideState[i], params: {time: \'500ms\'}}"\n      [class.time-carousel__slide--middle]="isMiddle"\n      class="time-carousel__slide"\n    >\n      <img [src]="slide.media | getMedia" alt="">\n      <div\n        [style.background-image]="\'url(\' + (slide.media | getMedia) + \')\'"\n        [class.time-carousel__slide-image--middle]="isMiddle"\n        class="time-carousel__slide-image"\n      ></div>\n      <a class="time-carousel__slide-content" [attr.href]="slide.link">\n        <div class="container">\n          <div class="row">\n            <div class="col-12" *ngIf="isMiddle; else topSlider">\n              <div\n                *ngIf="slide.logo || slide.title || slide.description"\n                [class.justify-content-end]="alignRight"\n                class="time-carousel__text time-carousel__text--middle align-items-center d-flex"\n              >\n                <div\n                  *ngIf="slide.logo"\n                  class="time-carousel__text-icon--background"\n                >\n                  <img class="time-carousel__text-icon time-carousel__text-icon--middle" [src]="slide.logo | getMedia" alt="">\n                </div>\n                <div class="d-flex flex-column text-left">\n                  <div class="time-carousel__text-title--middle">{{ slide.title }}</div>\n                  <div class="time-carousel__text-content--middle">{{ slide.description }}</div>\n                </div>\n              </div>\n            </div>\n            <ng-template #topSlider>\n              <div class="col-12">\n                <div class="time-carousel__text d-flex flex-column">\n                  <div class="time-carousel__text-title">{{ slide.title }}</div>\n                  <div class="time-carousel__text-subtitle">{{ slide.subTitle }}</div>\n                  <div class="time-carousel__text-content">{{ slide.description }}</div>\n                </div>\n              </div>\n            </ng-template>\n          </div>\n        </div>\n      </a>\n    </div>\n\n    <div\n      *ngIf="slides.length > 1"\n      class="time-carousel__progress"\n    >\n      <div class="container">\n        <div class="time-carousel__progress-inner d-flex" [class.time-carousel__progress-inner--product]="isProduct">\n          <div\n            *ngFor="let slide of sortByOrder(slides); let i = index"\n            (click)="moveToSlide$.next(i)"\n            class="time-carousel__progress-item"\n          >\n            <div\n              [@slideDuration]="{value: slideState[i], params: {time: interval + \'ms\'}}"\n              class="time-carousel__progress-item-bar"\n            ></div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </app-carousel>\n</div>\n',animations:[(0,H.hZ)("carouselAppear",[(0,H.kY)(":enter",[(0,H.iF)({opacity:0,"z-index":-1}),(0,H.i0)("500ms",(0,H.iF)({opacity:1,"z-index":0}))])]),(0,H.hZ)("sliding",[(0,H.wk)("false",(0,H.iF)({opacity:0,"z-index":-1})),(0,H.wk)("true",(0,H.iF)({opacity:1,"z-index":0})),(0,H.kY)("false <=> true",(0,H.i0)("{{ time }}"))]),(0,H.hZ)("slideDuration",[(0,H.wk)("false",(0,H.iF)({right:"100%"})),(0,H.wk)("true",(0,H.iF)({right:"0"})),(0,H.kY)("* => true",(0,H.i0)("{{ time }}"))])],styles:[mv()]})],zi);let Yi=class{};Yi=(0,r.Cg)([(0,n.UQu)({declarations:[Gi,zi],imports:[S.MD,V.F2,xe],exports:[Gi,zi]})],Yi);var vv=i(39563),xv=i.n(vv);let Qi=class{};Qi=(0,r.Cg)([(0,n.uAl)({selector:"app-divider",template:'<hr class="divider">\n',changeDetection:n.Ngq.OnPush,styles:[xv()]})],Qi);var pl,Cv=i(47185),bv=i.n(Cv);!function(a){a.PRODUCT="ProductLandingPageTemplate",a.SEGMENT="SegmentLandingPageTemplate"}(pl||(pl={}));let qi=class{constructor(e,t){this.cmsService=e,this.breakpointService=t,this.pageTemplate$=this.cmsService.getCurrentPage().pipe((0,w.T)(s=>s?.template)),this.TEMPLATE=pl,this.options={breakpoints:{[`(min-width: ${this.breakpointService.getSize(v.SLZ.md)}px)`]:{slidesPerView:4,spacing:14},[`(max-width: ${this.breakpointService.getSize(v.SLZ.md)}px)`]:{slidesPerView:3,spacing:2},[`(max-width: ${this.breakpointService.getSize(v.SLZ.sm)}px)`]:{slidesPerView:3,spacing:2},[`(max-width: ${this.breakpointService.getSize(v.SLZ.xs)}px)`]:{slidesPerView:2,spacing:2}},slides:".slide"},this.sortByOrder=pt}ngOnInit(){}static#e=this.ctorParameters=()=>[{type:p.xYq},{type:v.dci}];static#t=this.propDecorators={slides:[{type:n.pde}]}};qi=(0,r.Cg)([(0,n.uAl)({selector:"app-hover-slider",template:'<div class="hover-slider" *ngIf="pageTemplate$ | async as template">\n  <app-carousel\n    [options]="options"\n  >\n    <ng-container *ngFor="let slide of sortByOrder(slides)">\n      <div [class.is-product]="template === TEMPLATE.PRODUCT" class="slide">\n        <ng-container *ngIf="slide.link; else slideInner">\n          <a [routerLink]="slide.link">\n            <ng-container *ngTemplateOutlet="slideInner"></ng-container>\n          </a>\n        </ng-container>\n        <ng-template #slideInner>\n          <div class="slide__content" [style.background-image]="\'url(\' + (slide.media | getMedia) + \')\'">\n            <div class="slide__content-title">{{ slide.title }}</div>\n            <div class="slide__content-subtitle" *ngIf="template === TEMPLATE.SEGMENT">{{ slide.description }}</div>\n            <div class="slide__chip" *ngIf="template === TEMPLATE.SEGMENT">\n              <ng-container *ngFor="let tag of slide.tags.split(\' \')">\n                <div class="slide__chip-item">{{ tag }}</div>\n              </ng-container>\n            </div>\n          </div>\n        </ng-template>\n      </div>\n    </ng-container>\n\n    <div\n      class="keen-slider__arrow keen-slider__arrow--left"\n      #arrowPrev\n    >\n      <svg-icon-sprite\n        src="chevron_left"\n        width="24px"\n        height="24px"\n        class="slider__arrow-icon"\n      ></svg-icon-sprite>\n    </div>\n    <div\n      class="keen-slider__arrow keen-slider__arrow--right"\n      #arrowNext\n    >\n      <svg-icon-sprite\n        src="chevron_right"\n        width="24px"\n        height="24px"\n        class="slider__arrow-icon"\n      ></svg-icon-sprite>\n    </div>\n  </app-carousel>\n</div>\n',styles:[bv()]})],qi);var Sv=i(90233),Tv=i.n(Sv);let Hi=class{constructor(){this.noMargin=!1}static#e=this.propDecorators={noMargin:[{type:n.pde}]}};Hi=(0,r.Cg)([(0,n.uAl)({selector:"app-page-title",template:'<div\n  [class.no-margin]="noMargin"\n  class="page-title"\n>\n  <ng-content></ng-content>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[Tv()]})],Hi);var Rv=i(59543),Ov=i.n(Rv);let ji=class{constructor(){this.iconAtRight=!1,this.iconColor="grey",this.isBlue=!1,this.hideLabelWarning=!1,this.showWarning=!1}ngOnInit(){}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={iconAtRight:[{type:n.pde}],iconColor:[{type:n.pde}],isBlue:[{type:n.pde}],hideLabelWarning:[{type:n.pde}],showWarning:[{type:n.pde}]}};ji=(0,r.Cg)([(0,n.uAl)({selector:"app-price-not-final",template:'<div\n  [class.icon-at-right]="iconAtRight"\n  [class.show-warning]="showWarning"\n  [class.icon-color-primary-base]="iconColor === \'primary-base\'"\n  [class.is-blue]="isBlue"\n  class="price-not-final"\n>\n  <div\n    [ngbTooltip]="priceNotFinalTooltip"\n    [tooltipClass]="\'tooltip--price price-not-final \' + (iconColor === \'primary-base\' ? \'icon-color-primary-base \' : \'\') + (showWarning && \'show-warning \')"\n    container="body"\n    placement="bottom auto"\n    class="price-not-final__wrapper"\n  >\n    <svg-icon-sprite\n      *ngIf="!hideLabelWarning"\n      src="warning"\n      width="18"\n      height="18"\n      class="price-not-final__icon"\n    ></svg-icon-sprite>\n  </div>\n\n  <div\n    *ngIf="hideLabelWarning; else textTpl"\n    [ngbTooltip]="priceNotFinalTooltip"\n    [tooltipClass]="\'tooltip--price price-not-final \' + (iconColor === \'primary-base\' ? \'icon-color-primary-base \' : \'\') + (showWarning && \'show-warning \')"\n    container="body"\n    placement="bottom auto"\n  >\n    <ng-container *ngTemplateOutlet="textTpl"></ng-container>\n  </div>\n\n  <ng-template #textTpl>\n    <span class="price-not-final__value">\n      <ng-content select="[text]"></ng-content>\n    </span>\n  </ng-template>\n\n  <ng-template #priceNotFinalTooltip>\n    <div class="price-not-final__tooltip">\n      <svg-icon-sprite\n        *ngIf="showWarning"\n        src="warning"\n        width="18"\n        height="18"\n        class="price-not-final__tooltip-icon"\n      ></svg-icon-sprite>\n\n      <ng-content select="[tooltip-content]"></ng-content>\n    </div>\n  </ng-template>\n</div>\n',styles:[Ov()]})],ji);let be=class{};be=(0,r.Cg)([(0,n.UQu)({declarations:[hi,Vi,Qi,qi,Hi,ji],imports:[S.MD,Yi,V.F2,y.iI,Ui,p.LP3,Xe.n8,xe],exports:[hi,Ui,Vi,Yi,Ni,Qi,qi,Hi,ji]})],be);var Wi,Ki,Iv=i(64505),wv=i.n(Iv);!function(a){a.BIG="big",a.SMALL="small",a.EXTRA_SMALL="extra-small"}(Wi||(Wi={})),function(a){a.TEXT="text",a.ICON="icon"}(Ki||(Ki={}));let Xn=class{set setSelectedItem(e){this.selectedItem=e}constructor(){this.items=[],this.showProperty=null,this.bindProperty=null,this.type=Ki.TEXT,this.separated=!1,this.size=Wi.BIG,this.stretched=!0,this.selectedItemChange=new n.bkB,this.valueChange=new n.bkB,this.TABS_TYPES=Ki,this.TABS_SIZE=Wi,this.selectedItem=null,this.propagateChange=e=>{}}ngOnInit(){}selectItem(e){e.disabled||(this.selectedItem=e[this.bindProperty],this.selectedItemChange.next(this.selectedItem),this.valueChange.emit(this.selectedItem),this.updateValue(this.selectedItem))}registerOnChange(e){this.propagateChange=e}writeValue(e){this.selectedItem=e}registerOnTouched(e){}updateValue(e){this.propagateChange(e)}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={items:[{type:n.pde}],showProperty:[{type:n.pde}],bindProperty:[{type:n.pde}],setSelectedItem:[{type:n.pde,args:["selectedItem"]}],type:[{type:n.pde}],separated:[{type:n.pde}],size:[{type:n.pde}],stretched:[{type:n.pde}],selectedItemChange:[{type:n.k7i}],valueChange:[{type:n.k7i}]}};Xn=(0,r.Cg)([(0,n.uAl)({selector:"app-tabs-radio",template:'<div\n  [ngClass]="{\n    \'tabs--big\': size === TABS_SIZE.BIG,\n    \'tabs--small\': size === TABS_SIZE.SMALL,\n    \'tabs--extra-small\': size === TABS_SIZE.EXTRA_SMALL,\n    \'tabs--separated\': separated,\n    \'d-inline-flex\': !stretched\n  }"\n  class="tabs"\n>\n  <ng-container *ngFor="let item of items">\n    <div\n      class="tabs__item"\n      [class.tabs__item--selected]="item[bindProperty] === selectedItem"\n      [class.tabs__item--disabled]="item.disabled"\n      (click)="selectItem(item)"\n    >\n      <ng-container *ngIf="type === TABS_TYPES.TEXT; else icons">\n        {{ item[showProperty] }}\n        <span\n          *ngIf="item.subtext >= 0"\n          class="tabs__subtext"\n        >\n          {{ item.subtext }}\n        </span>\n      </ng-container>\n\n      <ng-template #icons>\n        <img [src]="item" [alt]="item">\n      </ng-template>\n    </div>\n  </ng-container>\n</div>\n',providers:[{provide:m.kq,useExisting:(0,n.Rfq)(()=>Xn),multi:!0}],styles:[wv()]})],Xn);let it=class{};it=(0,r.Cg)([(0,n.UQu)({imports:[S.MD],declarations:[Xn],exports:[Xn]})],it);var Dv=i(11949),Lv=i.n(Dv),Zn=i(49376);const Ig="[Cart-entry] Update Entry Success";se.Em.CartUpdateEntrySuccess;var ut;!function(a){a.LOW_STOCK="lowStock",a.UNAVALIBLE="unavailable",a.CONFIGURATION_ERROR="configurationError",a.MISSING_DELIVERY_ADDRESS="missingDeliveryAddressError",a.MISSING_ALLOW_B2B_UNIT="missingAllowedB2BUnitError"}(ut||(ut={}));let ye=class{constructor(e,t,s,o,l,u,h,_){this.customActiveCartService=e,this.http=t,this.occEndpointsService=s,this.globalMessageService=o,this.cartStateService=l,this.actions=u,this.launchDialogService=h,this.translatePipe=_,this.modificationsByGroupNumber$=new P.t({}),this.modificationsMap$=new P.t({}),this.activeCartType$=new P.t(re.QUOTATION),this.reOrderPlaced$=new P.t(!1),this.updateEntrySuccessResponse$=this.actions.pipe((0,Zn.gp)(Ig))}changeCartType(e){this.activeCartType$.next(e)}getCart(){return this.customActiveCartService.getActive()}reloadCart(){return this.customActiveCartService.reloadCart()}addToCart(e,t,s,o,l,u,h,_,C,T){return this.customActiveCartService.addEntry(e,t,s,o,l,u,h,_,C,T)}removeProduct(e){return this.customActiveCartService.removeEntry(e).pipe((0,z.M)(()=>{this.cartStateService.removeProductCodeInCart(e?.product?.code)}))}updateProduct(e){return this.customActiveCartService.updateEntry(e.entryNumber,e.quantity,e)}removeGroup(e,t){return this.customActiveCartService.removeGroup(e,t).pipe((0,z.M)(()=>{t.forEach(s=>{this.cartStateService.removeProductCodeInCart(s?.product?.code)})}))}updateProductQuantity(e,t){return this.customActiveCartService.updateEntry(t.entryNumber,e,t)}getCartModifications(){const e=this.occEndpointsService.buildUrl(E.USER.CART.VALIDATE);return this.http.get(e)}getGroupModifications(e){const t=this.occEndpointsService.buildUrl(`${E.USER.CART.VALIDATE}/${e}`);return this.http.get(t).pipe((0,z.M)(s=>{const o=this.modificationsByGroupNumber$.value,l=Object.assign(o,{[e]:s.cartModifications});this.modificationsByGroupNumber$.next(l),this.updateModificationMap(l)}))}updateModificationMap(e){const t={};Object.keys(e).length>0&&(Object.keys(e).forEach(s=>{e[s].forEach(o=>{if(o.statusCode.toLowerCase()===ut.MISSING_ALLOW_B2B_UNIT.toLowerCase())this.globalMessageService.add({key:`error.${ut.MISSING_ALLOW_B2B_UNIT}`},p.NCV.MSG_TYPE_ERROR);o.entry?.entryNumber&&(t[o.entry.entryNumber]=o)})}),this.modificationsMap$.next(t))}showErrors(e){e.getTextErrorFields().forEach(t=>{this.globalMessageService.add(t.text,p.NCV.MSG_TYPE_ERROR)})}checkForAllErrors(e,t){if(!e||0===e.length)return;const s=e.some(h=>h.statusCode===ut.UNAVALIBLE);t.updateContractExpired(s);const o=e.some(h=>0===h.quantityAdded&&h.statusCode!==ut.MISSING_ALLOW_B2B_UNIT);t.updateNotAvailable({value:o});const l=e.some(h=>h.statusCode===ut.MISSING_ALLOW_B2B_UNIT);t.updateMissingAllowedB2BUnit(l);const u=e.some(h=>h.quantityAdded>0&&h.quantityAdded<h.quantity);return t.updateRemainingStock({value:u}),t}getTabsData(e,t,s){if(e?.length){const o=e.find(u=>u.groupType===re.ORDER)?.children?.length>0,l=!!e.find(u=>u.groupType===re.QUOTATION)?.children.find(u=>u?.orderEntries?.length>0);return o||(t=re.QUOTATION,this.changeCartType(re.QUOTATION)),l||(t=re.ORDER,this.changeCartType(re.ORDER)),!o&&!l&&(t=null),{tabs:[{name:s.transform("text.cartMenu.tabs.quotation"),code:re.QUOTATION,disabled:!l},{name:s.transform("text.cartMenu.tabs.order"),code:re.ORDER,disabled:!o}],selectedTab:t,isHaveOrder:o,isHaveQuotation:l}}}openConfirmModal(){return this.launchDialogService.openDialogAndSubscribe("CONFIRM_MODAL",void 0,{title:this.translatePipe.transform("text.cartMenu.clearModal.title"),subTitle:this.translatePipe.transform("text.cartMenu.clearModal.subTitle"),confirmButton:this.translatePipe.transform("text.cartMenu.clearModal.delete"),cancelButton:this.translatePipe.transform("text.cartMenu.clearModal.cancel"),icon:"warning",size:vt.M}),this.launchDialogService.dialogClose}static#e=this.ctorParameters=()=>[{type:Ot},{type:U.Qq},{type:p.zxz},{type:p.S8D},{type:Yn},{type:Zn.En},{type:v.PLe},{type:p.D97}]};ye=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],ye);let Me=class{constructor(e,t,s,o,l,u){this.router=e,this.globalMessageService=t,this.cartService=s,this.activatedRoute=o,this.http=l,this.occEndpointsService=u,this.shipment$=new P.t(null),this.soldToAddress$=new P.t(""),this.shipToAddress$=new P.t(""),this.shipmentDeliveryCalculated$=new P.t(null),this.shipmentRequested$=new P.t(!1),this.isPlaceTrigger$=new P.t(!1),this.isConsignmentTrigger$=new P.t(!1),this.isHasError$=new P.t(!1),this.successOrderCode$=new P.t(""),this.successQuotationType$=new P.t(!1),this.customerPoItem$=new P.t(null),this.requiredParams$=new P.t({termsChecked:!1}),this.quotationProduct$=new P.t(null)}getAddress(e){return this.http.get(this.occEndpointsService.buildUrl(E.USER.ADDRESSES,{urlParams:{cartId:"current",groupNumber:e}}))}getDefaultAddress(e){return this.http.get(this.occEndpointsService.buildUrl(E.USER.CHECKOUT.GET_DEFAULT_ADDRESS,{urlParams:{groupNumber:e}}))}getShipment(e,t){return this.http.get(this.occEndpointsService.buildUrl(E.USER.CHECKOUT.GET_SHIPMENT,{urlParams:{groupNumber:e},queryParams:{type:t}})).pipe((0,zn.t)(1),(0,z.M)(s=>{this.shipment$.next(s),this.shipmentDeliveryCalculated$.next(s.deliveryCalculated)}))}getTerms(e){return e?this.http.get(this.occEndpointsService.buildUrl(E.USER.CHECKOUT.GET_PAYMENT_TERMS,{urlParams:{groupNumber:e}})):(0,$.of)()}setQuotationProduct(e){this.quotationProduct$.next(e)}updateCustomerPoItem(e){this.customerPoItem$.next(e)}updateRequiredParams(e){this.requiredParams$.next({...this.requiredParams$.getValue(),...e})}resetRequiredParams(){this.requiredParams$.next({termsChecked:!1})}updateSuccessOrderCode(e){this.successOrderCode$.next(e)}updateSuccessType(e){this.successQuotationType$.next(e)}updateErrorState(e){this.isHasError$.next(e)}updateAddress(e,t){return this.http.post(this.occEndpointsService.buildUrl(e,{urlParams:{groupNumber:this.activatedRoute.snapshot.queryParams.groupNumber}}),{...t})}updateIsPlaceTriggerValue(e){this.isPlaceTrigger$.next(e)}updateShipTo(e,t){return this.updateAddress(E.USER.CHECKOUT.UPDATE_SHIP_TO,{selectedForShipTo:e,selectedShippingAddress:t}).pipe((0,z.M)(()=>{this.shipToAddress$.next(e)}))}updateSoldTo(e){return this.updateAddress(E.USER.CHECKOUT.UPDATE_SOLD_TO,{id:e}).pipe((0,z.M)(()=>{this.soldToAddress$.next(e)}))}updateConsignee(e){return this.updateAddress(E.USER.CHECKOUT.UPDATE_CONSIGNEE,{selectedConsignee:e})}getComment(e){return this.http.get(this.occEndpointsService.buildUrl(E.USER.CHECKOUT.QUOTATION.COMMENT,{urlParams:{groupNumber:e}}))}getAgreementDate(e){return this.http.get(this.occEndpointsService.buildUrl(E.USER.CHECKOUT.QUOTATION.DATE,{urlParams:{groupNumber:e}}))}updateAgreementDate(e,t,s,o){return e&&t&&s?(this.updateRequiredParams({agreementDate:o}),this.http.post(this.occEndpointsService.buildUrl(E.USER.CHECKOUT.QUOTATION.UPDATE_DATE,{urlParams:{groupNumber:e},queryParams:{startDate:this.formatAgreementDate(t),endDate:this.formatAgreementDate(s)}}),{})):(0,$.of)()}formatAgreementDate(e){return`${e.year}-${e.month}-${e.day}`}updateComment(e,t){if(!e)return(0,$.of)();const s=(new U.Lr).set("Content-Type","application/json");return this.http.post(this.occEndpointsService.buildUrl(E.USER.CHECKOUT.QUOTATION.COMMENT,{urlParams:{groupNumber:this.activatedRoute.snapshot.queryParams.groupNumber}}),JSON.stringify(t),{headers:s})}updateConsignmentFlag(e,t){return e?this.http.post(this.occEndpointsService.buildUrl(E.USER.CHECKOUT.QUOTATION.UPDATE_CONSIGNMENT_FLAG,{urlParams:{groupNumber:this.activatedRoute.snapshot.queryParams.groupNumber}}),null,{params:{isConsignment:JSON.stringify(t)}}):(0,$.of)()}generateUrlParams(e){return Object.keys(e).map(t=>`&${t}=${e[t]}`).join("")}place(e,t=!1){return t?this.placeQuotation():this.placeOrder(e)}isSuccessPlaced(e,t=!1){if(e.order)return this.updateSuccessType(t),this.updateSuccessOrderCode(e.order.code),this.router.navigate([E.CHECKOUT_SUCCESS])}isErrorPlaced(e){e?.error?.errors?.forEach(t=>{this.globalMessageService.add(t.message,p.NCV.MSG_TYPE_ERROR)})}placeOrder(e){return this.cartService.getGroupModifications(this.activatedRoute.snapshot.queryParams.groupNumber).pipe((0,z.M)(t=>{t&&t.cartModifications.length>0&&(this.cartService.checkForAllErrors(t.cartModifications,e),this.cartService.showErrors(e),this.updateErrorState(!0))}),(0,B.p)(t=>!t||!t.cartModifications.length),(0,k.n)(()=>this.submit("PLACE_ORDER")))}placeQuotation(){return this.submit("PLACE_QUOTATION")}submit(e){const t=this.customerPoItem$.getValue(),s=t?{...t}:{};return this.http.post(this.occEndpointsService.buildUrl(E.USER.CHECKOUT[e],{urlParams:{},queryParams:{groupNumber:this.activatedRoute.snapshot.queryParams.groupNumber,cartId:"current",...this.requiredParams$.getValue()}}),s)}showErrorAndRedirect(){this.globalMessageService.add({key:"checkout.notFound"},p.NCV.MSG_TYPE_ERROR),this.router.navigate([M.CART]).then()}resetShipment(){this.shipment$.next(null)}updateShipmentInfo(e,t){const s=this.occEndpointsService.buildUrl(E.USER.CHECKOUT.SHIPMENT_DATA,{urlParams:{entryNumber:e,groupNumber:this.activatedRoute.snapshot.queryParams.groupNumber}});return this.http.post(s,{itemData:[{entryNumber:e,...t}]})}static#e=this.ctorParameters=()=>[{type:y.Ix},{type:p.S8D},{type:ye},{type:y.nX},{type:U.Qq},{type:p.zxz}]};Me=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],Me);const ht={cartId:"current",userId:"current"};var Z;!function(a){a.STRIP="STRIP",a.PLATE="PLATE"}(Z||(Z={}));let Xi=class{constructor(e,t,s,o,l,u,h,_,C,T,D){this.currencyService=e,this.eventBus=t,this.cartService=s,this.router=o,this.globalMessageService=l,this.translatePipe=u,this.cmsService=h,this.document=_,this.multiCartService=C,this.customCheckoutService=T,this.changeDetectorRef=D,this.menuTitle=this.translatePipe.transform("text.cartMenu.yourCart"),this.hasNotFinalPrice=!1,this.cartTypes=re,this.selectedTab=this.cartService.activeCartType$.getValue(),this.isHaveQuotation=!0,this.isHaveOrder=!0,this.isOrderGroupTotalPriceNotFinal=!1,this.tabs=[],this.cartType$=this.cartService.activeCartType$,this.pageId$=this.cmsService.getCurrentPage().pipe((0,B.p)(Boolean),(0,fe.E)("pageId")),this.cartData$=this.cartService.getCart().pipe((0,w.T)(F=>F?.rootGroups?.length?(this.isOrderGroupTotalPriceNotFinal=F.rootGroups.find(K=>K.groupType===re.ORDER)?.priceNotFinal||!1,F.rootGroups.filter(K=>K.groupType===re.ORDER||re.QUOTATION)):(this.isOrderGroupTotalPriceNotFinal=!1,[])),(0,z.M)(F=>{if(Object.keys(F).length>0){const K=this.cartService.getTabsData(F,this.selectedTab,this.translatePipe);this.selectedTab=K?.selectedTab,this.isHaveOrder=K?.isHaveOrder,this.isHaveQuotation=K?.isHaveQuotation,this.tabs=K?.tabs}})),this.currency$=(0,Ce.z)([this.currencyService.getAll(),this.currencyService.getActive()]).pipe((0,w.T)(F=>this.getCurrency(F[0],F[1]))),this.PRODUCT_TYPE=Z,this.destroyed$=new R.B}detectActiveTab(){this.document.hidden||this.multiCartService.loadCart(ht)}ngOnInit(){this.customCheckoutService.shipment$.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.transportCost=e?.transportCost,this.changeDetectorRef.detectChanges()})}ngOnDestroy(){this.customCheckoutService.resetShipment(),this.destroyed$.next(),this.destroyed$.complete()}getCurrency(e,t){const s=e.find(o=>o.isocode===t);return s?s.symbol:""}trackByFn(e,t){return+t.groupNumber}getMill(e){return e.find(t=>t.groupNumber===this.rootNumber)}getTotal(e){const t=this.getMill(e)?.children.find(s=>s.groupNumber===this.currentGroup);return t?t?.totalPrice.formattedValue:(this.globalMessageService.add({key:"checkout.notFound"},p.NCV.MSG_TYPE_ERROR),this.router.navigate([M.CART]))}getType(e){const t=e.find(s=>s.groupNumber===this.currentGroup);return t||this.customCheckoutService.showErrorAndRedirect(),t}getProduct(e){return this.quotationProduct$?.value?this.quotationProduct$.value:e?.find(t=>t.groupType===re.QUOTATION_VOLUME)}onValueChange(e,t){this.selectedTab!==e&&([q.CART,q.MTO_CHECKOUT_PAGE,q.MTS_CHECKOUT_PAGE,q.QUOTATION_CHECKOUT_PAGE].includes(t)||this.cartService.changeCartType(e))}static#e=this.ctorParameters=()=>[{type:p.PnO},{type:ve.u},{type:ye},{type:y.Ix},{type:p.S8D},{type:p.D97},{type:p.xYq},{type:Document,decorators:[{type:n.y_5,args:[S.qQ]}]},{type:se.Z1},{type:Me},{type:n.gRc}];static#t=this.propDecorators={isCheckout:[{type:n.pde}],isCheckoutQuotation:[{type:n.pde}],isMenu:[{type:n.pde}],menuTitle:[{type:n.pde}],currentGroup:[{type:n.pde}],rootNumber:[{type:n.pde}],category:[{type:n.pde}],volume:[{type:n.pde}],quotationProduct$:[{type:n.pde}],detectActiveTab:[{type:n.Z$l,args:["document:visibilitychange"]}]}};Xi=(0,r.Cg)([(0,n.uAl)({selector:"app-cart-menu",template:' <ng-container *ngIf="cartData$ | async as cartData; else quotationProduct">\n   <ng-container *ngIf="(cartData.length > 0 && (isHaveOrder || isHaveQuotation)) || (quotationProduct$ | async); else emptyCart">\n     <div class="cart-menu">\n       <div class="cart-menu__inner">\n         <div class="cart-menu__title">\n           {{menuTitle}}\n         </div>\n         <ng-container *ngIf="pageId$ | async as pageId">\n           <div *ngIf="isMenu" class="cart-menu__tabs">\n             <app-tabs-radio\n               [items]="tabs"\n               (selectedItemChange)="onValueChange($event, pageId)"\n               [(selectedItem)]="selectedTab"\n                bindProperty="code"\n                showProperty="name"\n                size="extra-small"\n                class="w-100"\n              ></app-tabs-radio>\n            </div>\n         </ng-container>\n\n         <ng-container *ngIf="isCheckout || isCheckoutQuotation; else notCheckout">\n           <ng-container *ngIf="category && volume; else productFromCart">\n             <app-quotation-type [type]="getProduct(cartData)"></app-quotation-type>\n           </ng-container>\n           <ng-template #productFromCart>\n             <ng-container *ngFor="let order of cartData">\n               <ng-container [ngSwitch]="order.groupType">\n                 <ng-container *ngIf="isCheckout; else quotation">\n                   <ng-container *ngSwitchCase="cartTypes.ORDER">\n                     <app-cart-mill\n                       [isCheckout]="isCheckout"\n                       [currentGroup]="currentGroup"\n                       [mill]="getMill(order.children)"\n                       class="cart-menu__product"\n                     ></app-cart-mill>\n                     <div *ngIf="getTotal(order.children).toString() | isPriceNotZero" class="cart-menu__total">\n                         <div *ngIf="transportCost" class="cart-menu__total-row">\n                           <span>{{ \'text.cartMenu.transportPrice\' | cxTranslate }}:</span>\n                           <span>{{ transportCost }}</span>\n                         </div>\n                       <div class="cart-menu__total-row">\n                         <span>{{ \'text.cartMenu.total\' | cxTranslate }}:</span>\n                         <span>{{ getTotal(order.children) }}</span>\n                       </div>\n                     </div>\n                   </ng-container>\n                 </ng-container>\n                 <ng-template #quotation>\n                   <ng-container *ngSwitchCase="cartTypes.QUOTATION">\n                     <app-quotation-type\n                       [type]="getType(order.children)"\n                     ></app-quotation-type>\n                   </ng-container>\n                 </ng-template>\n               </ng-container>\n             </ng-container>\n           </ng-template>\n         </ng-container>\n\n         <ng-template #notCheckout>\n           <ng-container *ngFor="let order of cartData">\n             <ng-container [ngSwitch]="order.groupType">\n\n               <ng-container\n                 *ngIf="(isMenu && selectedTab.toUpperCase() === cartTypes.QUOTATION) ||\n                   (!isMenu && (cartType$ | async) === cartTypes.QUOTATION); else isOrder">\n\n                 <ng-container *ngSwitchCase="cartTypes.QUOTATION">\n                   <ng-container *ngFor="let type of order.children; trackBy: trackByFn">\n                     <scrollbar  [class.cart-menu--scrollbar]="isMenu">\n                       <app-quotation-type\n                         [type]="type"\n                       ></app-quotation-type>\n                     </scrollbar>\n                   </ng-container>\n                   <div class="cart-menu__disclaimer">\n                     {{ \'text.cartMenu.disclaimerQuotation\' | cxTranslate }}\n                   </div>\n                 </ng-container>\n\n               </ng-container>\n\n               <ng-template #isOrder>\n                 <ng-container *ngSwitchCase="cartTypes.ORDER">\n                   <scrollbar [class.cart-menu--scrollbar]="isMenu">\n                     <app-cart-mill\n                       *ngFor="let mill of order.children; trackBy: trackByFn"\n                       [mill]="mill"\n                       class="cart-menu__product"\n                     ></app-cart-mill>\n                     <div *ngIf="order.totalPrice.formattedValue | isPriceNotZero" class="cart-menu__total">\n                       <div>{{ \'text.cartMenu.total\' | cxTranslate }}:</div>\n                       <div>\n                         <app-price-not-final\n                           *ngIf="selectedTab === cartTypes.ORDER && isOrderGroupTotalPriceNotFinal"\n                           [showWarning]="true"\n                           iconColor="primary-base"\n                           class="price-not-final-total-icon"\n                         >\n                           <ng-container tooltip-content>\n                             <p>{{ \'text.cart.product.priceNotFinal\' | cxTranslate }}</p>\n                           </ng-container>\n                         </app-price-not-final>\n                         {{ order.totalPrice.formattedValue }}\n                       </div>\n                     </div>\n                   </scrollbar>\n                 </ng-container>\n               </ng-template>\n\n             </ng-container>\n           </ng-container>\n\n         </ng-template>\n          <ng-content select="[disclaimer]"></ng-content>\n          <div\n            class="cart-menu__white-box d-flex justify-content-lg-center align-items-center justify-content-sm-end justify-content-center">\n            <ng-content select="[cart-button]"></ng-content>\n          </div>\n        </div>\n     </div>\n    </ng-container>\n\n    <ng-template #emptyCart>\n      <div class="cart-menu">\n        <div class="cart-menu__inner">\n          <div class="cart-menu__title" *ngIf="isMenu; else summary">\n            {{ \'text.cartMenu.title\' | cxTranslate }}\n          </div>\n\n          <ng-template #summary>\n            <div class="cart-menu__title">\n              {{ \'text.cartMenu.summary\' | cxTranslate }}\n            </div>\n            <div class="cart-menu__empty">\n              {{ \'text.cartMenu.empty\' | cxTranslate }}\n            </div>\n          </ng-template>\n\n          <div class="cart-menu__total">\n            <span>{{ \'text.cartMenu.total\' | cxTranslate }}:</span>\n            <span *ngIf="(currency$ | async) as currency">{{currency}} 0</span>\n          </div>\n          <div class="cart-menu__white-box d-flex justify-content-lg-center align-items-center">\n            <button *ngIf="isMenu"\n                    [routerLink]="{ cxRoute: \'cart\' } | cxUrl"\n                    class="btn btn-default btn--md cart-menu__button "\n                    disabled\n            >\n              {{ \'button.goToCart\' | cxTranslate }}\n            </button>\n          </div>\n        </div>\n      </div>\n    </ng-template>\n </ng-container>\n <ng-template #quotationProduct>\n   <div class="cart-menu">\n     <div class="cart-menu__title">\n       {{menuTitle}}\n     </div>\n     <app-quotation-type\n       [type]="getProduct()"\n     ></app-quotation-type>\n     <div class="cart-menu__disclaimer">\n       {{ \'text.cartMenu.disclaimerQuotation\' | cxTranslate }}\n     </div>\n     <div\n       class="cart-menu__white-box d-flex justify-content-lg-center align-items-center justify-content-sm-end justify-content-center">\n       <ng-content select="[cart-button]"></ng-content>\n     </div>\n   </div>\n </ng-template>\n',styles:[Lv()]})],Xi);var Fv=i(91087),Mv=i.n(Fv);let ul=class{set setItem(e){this.item=e}constructor(e,t){this.cartService=e,this.changeDetectorRef=t,this.UNITS=G,this.isAmountChanged=!1,this.isBlocked=!1,this.item=null,this.steelGrade=null,this.destroyed$=new R.B}ngOnInit(){this.getProduct(),this.initModificationSub()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}initModificationSub(){this.cartService.modificationsMap$.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{const t=e[this.item.entryNumber];t?(this.item=t.entry,this.isAmountChanged=!0,this.isBlocked=0===t.quantityAdded):this.isAmountChanged=!1,this.changeDetectorRef.detectChanges()})}getProduct(){const e=this.item?.product?.classifications?.reduce((t,s)=>[...t,...s.features],[]);this.steelGrade=e?.find(t=>t.code.match(f.steelGrade))?.featureValues[0]?.value}static#e=this.ctorParameters=()=>[{type:ye},{type:n.gRc}];static#t=this.propDecorators={setItem:[{type:n.pde,args:["item"]}]}};ul=(0,r.Cg)([(0,n.uAl)({selector:"app-item",template:'<div\n  [class.is-amount-changed]="isAmountChanged"\n  [class.is-blocked]="isBlocked"\n  class="product"\n>\n  <span class="product-steel-grade">\n    {{ steelGrade }}\n  </span>\n\n  <div class="d-flex flex-column ml-auto">\n    <span class="product-volume">\n      <span class="product-volume__number">\n        <ng-container *ngIf="item.unit === UNITS.PIECES; else tons">{{ item.quantity }}</ng-container>\n        <ng-template #tons>{{ item.quantity | massConversion }} t</ng-template>\n      </span>\n    </span>\n\n    <span class="product-price">\n      <ng-container *ngIf="item.priceNotFinal; then priceNotFinalTpl else priceTpl"></ng-container>\n      <ng-template #priceTpl>{{ item.totalPrice?.formattedValue }}</ng-template>\n      <ng-template #priceNotFinalTpl>\n        <app-price-not-final\n          [showWarning]="true"\n          iconColor="primary-base"\n        >\n          <ng-container text>{{ \'text.cart.product.notFinal\' | cxTranslate }}</ng-container>\n          <ng-container tooltip-content>\n            <p class="grey-normal">{{ \'text.cart.product.priceNotFinal\' | cxTranslate }}</p>\n          </ng-container>\n        </app-price-not-final>\n      </ng-template>\n    </span>\n  </div>\n</div>\n',styles:[Mv()]})],ul);var Uv=i(79865),$v=i.n(Uv);let hl=class{constructor(){}currentMill(){return this.mill.children.find(e=>e.groupNumber===this.currentGroup)}ngOnInit(){}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={mill:[{type:n.pde}],currentGroup:[{type:n.pde}],isCheckout:[{type:n.pde}]}};hl=(0,r.Cg)([(0,n.uAl)({selector:"app-cart-mill",template:'<ng-container *ngIf="mill">\n  <div class="product__title">\n    <svg-icon-sprite\n      src="nlmk_logo_en"\n      width="35"\n      height="20"\n      class="product__title-icon">\n    </svg-icon-sprite>\n    {{ mill.label }}\n  </div>\n\n  <ng-container *ngIf="currentGroup; else normal">\n    <app-cart-type\n      [isCheckout]="isCheckout"\n      [type]="currentMill()"\n    ></app-cart-type>\n  </ng-container>\n\n  <ng-template #normal>\n    <app-cart-type\n      *ngFor="let type of mill.children"\n      [type]="type"\n    ></app-cart-type>\n  </ng-template>\n</ng-container>\n',styles:[$v()]})],hl);var Vv=i(49383),Gv=i.n(Vv);let gl=class{constructor(){this.totalQuotationPieces=0,this.totalQuotationKg=0}ngOnInit(){this.getTotalQuotation()}getTotalQuotation(){let e=0,t=0;this.type&&(this.type.orderEntries.forEach(s=>{if(s.unit===G.PIECES)return e+=s.quantity;t+=s.quantity}),this.totalQuotationPieces=e,this.totalQuotationKg=t)}static#e=this.propDecorators={type:[{type:n.pde}]}};gl=(0,r.Cg)([(0,n.uAl)({selector:"app-quotation-type",template:'<ng-container *ngIf="type">\n  <div class="quotation-type d-flex justify-content-between align-items-center">\n    <div class="d-flex align-items-center" *ngIf="type.groupType !== \'QUOTATION_VOLUME\'; else strip">\n      <svg-icon-sprite\n        class="quotation-type__icon"\n        [src]="type.groupType.toLowerCase()"\n        width="24"\n        height="24"\n      ></svg-icon-sprite>\n      <span class="quotation-type__type">{{type.groupType}}</span>\n    </div>\n    <ng-template #strip>\n      <div class="d-flex align-items-center">\n        <svg-icon-sprite\n          class="quotation-type__icon"\n          src="strip"\n          width="24"\n          height="24"\n        ></svg-icon-sprite>\n        <span class="quotation-type__type">STRIP</span>\n      </div>\n    </ng-template>\n  </div>\n\n  <app-quotation-item\n    *ngFor="let item of type.orderEntries; last as isLast"\n    [item]="item"\n    [last]="isLast"\n  ></app-quotation-item>\n  <div class="quotation-type__total d-flex flex-column">\n    <div *ngIf="totalQuotationPieces !== 0" class="d-flex justify-content-between align-items-center">\n      <span>{{ \'text.cartMenu.totalPieces\' | cxTranslate }}</span>\n      <span>{{ totalQuotationPieces }}</span>\n    </div>\n    <div *ngIf="totalQuotationKg !== 0" class="d-flex justify-content-between align-items-center">\n      <span>{{ \'text.cartMenu.totalTons\' | cxTranslate }}</span>\n      <span>{{ totalQuotationKg | massConversion}} t</span>\n    </div>\n  </div>\n</ng-container>\n',changeDetection:n.Ngq.OnPush,styles:[Gv()]})],gl);var Yv=i(33113),Qv=i.n(Yv);let ml=class{constructor(){this.UNITS=G}static#e=this.propDecorators={item:[{type:n.pde}],last:[{type:n.pde}]}};ml=(0,r.Cg)([(0,n.uAl)({selector:"app-quotation-item",template:'<div\n  class="quotation-item d-flex justify-content-between align-items-center"\n  [class.quotation-item--last]="last"\n>\n  <div class="quotation-item__name">{{ item.product.name }}</div>\n  <div *ngIf="item.unit else quotationProduct">\n    <div *ngIf="item.unit === UNITS.KG; else pieces" class="quotation-item__quantity">{{ item.quantity | massConversion}} t</div>\n    <ng-template #pieces>\n      <div class="quotation-item__quantity">{{ item.quantity }}</div>\n    </ng-template>\n  </div>\n  <ng-template #quotationProduct>\n    <div class="quotation-item__quantity">{{ item.quantity | massConversion}} t</div>\n  </ng-template>\n</div>\n\n',changeDetection:n.Ngq.OnPush,styles:[Qv()]})],ml);var Hv=i(2521),jv=i.n(Hv);let _l=class{constructor(){this.FACET_NAMES=ie}static#e=this.propDecorators={type:[{type:n.pde}],isCheckout:[{type:n.pde}]}};_l=(0,r.Cg)([(0,n.uAl)({selector:"app-cart-type",template:'<ng-container *ngIf="type">\n  <div class="product__mt">\n    <ng-container *ngIf="type.label === FACET_NAMES.STOCK; else order">\n      {{ \'text.cartMenu.type.stock\' | cxTranslate }}\n    </ng-container>\n    <ng-template #order>\n      {{ \'text.cartMenu.type.makeToOrder\' | cxTranslate }}\n      <svg-icon-sprite\n        *ngIf="!isCheckout"\n        src="info"\n        width="14"\n        height="14"\n        class="product__mt-icon"\n        placement="bottom auto"\n        tooltipClass="tooltip--mt"\n        [ngbTooltip]="tooltip"\n      ></svg-icon-sprite>\n    </ng-template>\n  </div>\n\n  <ng-template #tooltip>\n    {{ type.agreement?.contractLength?.name }} {{ \'text.cartMenu.type.tooltip\' | cxTranslate }}: <br />\n    {{ type.agreement?.endDate | dateWithTimezonePipe:\'y\' }} ({{ type.agreement?.code }})\n  </ng-template>\n\n  <div class="product__shadow">\n    <app-item\n      *ngFor="let item of type.orderEntries"\n      [item]="item"\n    ></app-item>\n  </div>\n</ng-container>\n',changeDetection:n.Ngq.OnPush,styles:[jv()]})],_l);let Rn=class{};Rn=(0,r.Cg)([(0,n.UQu)({declarations:[Xi,hl,_l,ul,gl,ml],imports:[S.MD,Xe.n8,it,V.F2,p.YYe,y.iI,p.LP3,xe,be,Te],exports:[Xi]})],Rn);var Kv=i(34248),Xv=i.n(Kv);let Zi=class{constructor(e){this.elRef=e}ngOnInit(){}ngAfterContentInit(){this.setSize()}setSize(){this.size&&this.elRef.nativeElement.style.setProperty("--loader-size",this.setUnits(this.size))}setUnits(e){return"string"==typeof e?e:`${e}px`}static#e=this.ctorParameters=()=>[{type:n.aKT}];static#t=this.propDecorators={size:[{type:n.pde}]}};Zi=(0,r.Cg)([(0,n.uAl)({selector:"app-loader",template:"",styles:[Xv()]})],Zi);var Jv=i(38932),ex=i.n(Jv);let Ji=class{constructor(){}ngOnInit(){}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={size:[{type:n.pde}]}};Ji=(0,r.Cg)([(0,n.uAl)({selector:"app-thin-loader",template:'<div class="loader" [style.width]="size" [style.height]="size">\n</div>\n',styles:[ex()]})],Ji);let ge=class{};ge=(0,r.Cg)([(0,n.UQu)({declarations:[Zi,Ji],exports:[Zi,Ji],imports:[S.MD]})],ge);let j=class{constructor(e,t,s,o,l){this.routingService=e,this.authService=t,this.authRedirectService=s,this.router=o,this.launchDialogService=l}canActivate(e,t){return this.authService.isUserLoggedIn().pipe((0,w.T)(s=>(s||(this.router.navigate(["/"],{queryParamsHandling:"preserve",queryParams:{}}),this.launchDialogService.openDialog("AUTH_MODAL",void 0,void 0)?.pipe((0,oe.s)(1)).subscribe(),this.authRedirectService.saveCurrentNavigationUrl()),s)))}static#e=this.ctorParameters=()=>[{type:p.Oie},{type:p.uRZ},{type:p.QYT},{type:y.Ix},{type:v.PLe}]};j=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],j);let Y=class{constructor(e,t){this.userAccountService=e,this.router=t}canActivate(e,t){return this.userAccountService.get().pipe((0,w.T)(s=>!s?.roles?.includes("edimanagergroup")||this.router.createUrlTree(["EDI-dashboard"])))}static#e=this.ctorParameters=()=>[{type:Le.zq},{type:y.Ix}]};Y=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],Y);var Bt=i(73276);var nx=i(10901),sx=i.n(nx);let er=class{constructor(){this.sortTitle=null,this.bindValue=null,this.bindTitle=null,this.activeItem=null,this.items=[],this.showFn=null,this.showSortIcons=!1,this.disabled=!1,this.selectItem=new n.bkB,this.isSortListVisible=!1,this.selectedItem=null,this.deskPattern=/Desc$/,this.askPattern=/Asc$/}ngOnInit(){}ngOnChanges(e){(e.activeItem||e.items)&&this.calculateSelectedItem()}calculateSelectedItem(){this.selectedItem=this.items.find(e=>e[this.bindValue]===this.activeItem)}select(e){this.selectedItem=e,this.selectItem.emit(e),this.isSortListVisible=!1}closeDropdown(){this.isSortListVisible=!1}getSortOrder(e,t){return e.test(t)}changeVisible(){this.disabled||(this.isSortListVisible=!this.isSortListVisible)}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={sortTitle:[{type:n.pde}],bindValue:[{type:n.pde}],bindTitle:[{type:n.pde}],activeItem:[{type:n.pde}],items:[{type:n.pde}],showFn:[{type:n.pde}],showSortIcons:[{type:n.pde}],disabled:[{type:n.pde}],selectItem:[{type:n.k7i}]}};er=(0,r.Cg)([(0,n.uAl)({selector:"app-sort-select",template:'<div (clickOutside)="closeDropdown()" class="sort ml-auto" [class.sort--disabled]="disabled">\n  <div class="sort__item">\n    <div class="sort__title">{{ sortTitle }}</div>\n\n    <div [ngClass]="{\'is-active\': isSortListVisible}" class="sort__value">\n\n      <span (click)="changeVisible()" [ngClass]="{\'is-active\': isSortListVisible}"\n        class="sort__value-selected" *ngIf="selectedItem">\n        <ng-container *ngTemplateOutlet="label;context:{item: selectedItem,  bindTitle: bindTitle}">\n        </ng-container>\n        <svg-icon-sprite class="mb-1" *ngIf="showSortIcons && getSortOrder(deskPattern, selectedItem?.code)" src="arrow_upward" width="18" height="18"></svg-icon-sprite>\n        <svg-icon-sprite class="mb-1" *ngIf="showSortIcons && getSortOrder(askPattern, selectedItem?.code)" src="arrow_downward" width="18" height="18"></svg-icon-sprite>\n        <img *ngIf="!disabled" src="/assets/icons/expand_more.svg" alt="dropdown" class="sort__value-icon">\n      </span>\n\n      <div *ngIf="isSortListVisible" class="sort__list-wrapper">\n        <ul class="sort__list">\n          <li *ngFor="let item of items" [ngClass]="{\'is-active\':  selectedItem[bindValue] === item[bindValue] }"\n            class="sort__list-item">\n            <span (click)="select(item)" class="sort__list-item-value">\n              <ng-container *ngTemplateOutlet="label;context:{item: item, bindTitle: bindTitle}">\n              </ng-container>\n\n              <svg-icon-sprite *ngIf="showSortIcons && getSortOrder(deskPattern, item.code)" class="sort__list-icon" src="arrow_upward" width="18" height="18"></svg-icon-sprite>\n              <svg-icon-sprite *ngIf="showSortIcons && getSortOrder(askPattern, item.code)" class="sort__list-icon" src="arrow_downward" width="18" height="18"></svg-icon-sprite>\n            </span>\n          </li>\n        </ul>\n      </div>\n    </div>\n  </div>\n</div>\n\n<ng-template #label let-item="item" let-title="bindTitle">\n  {{ showFn ? showFn(item) : item[title] }}\n</ng-template>\n',styles:[sx()]})],er);let It=class{};It=(0,r.Cg)([(0,n.UQu)({imports:[S.MD,Bt.o,V.F2],declarations:[er],exports:[er]})],It);var rx=i(81512),ox=i.n(rx);let vl=class{constructor(){}ngOnInit(){}static#e=this.ctorParameters=()=>[]};vl=(0,r.Cg)([(0,n.uAl)({selector:"app-disable-tooltip",template:'<div class="tooltip-content">\n  <svg-icon-sprite class="tooltip-content__icon" src="warning" width="16" height="16"></svg-icon-sprite>\n\n  <div class="tooltip-content__content">\n    <p class="tooltip-content__title">\n      {{ \'currency.tooltipTitle\' | cxTranslate }}\n    </p>\n    <p class="tooltip-content__text">\n      {{ \'currency.tooltipText\' | cxTranslate }}\n    </p>\n  </div>\n</div>\n',styles:[ox()]})],vl);var tr,cx=i(85709),lx=i.n(cx);!function(a){a.SET_ACTIVE="setActive"}(tr||(tr={}));class dx{constructor(e){this.payload=e,this.type="[Site-context] Load Currencies Success"}}let nn=class{constructor(e,t,s,o,l,u,h){this.currencyService=e,this.userAccountService=t,this.occEndpointsService=s,this.http=o,this.store=l,this.globalMessageService=u,this.activeCartService=h,this.currencyEvents$=new R.B,this.currencyChangedByUser=!1,this.user={},this.DEFAULT_CURRENCY="EUR",this.initDefaultCurrencyReset()}emitEvent(e){this.currencyEvents$.next(e),this.currencyChangedByUser=!0}loadCurrency(e){const t=[this.currencyService.getAll(),this.currencyService.getActive(),this.activeCartService.getActive()];Object.keys(this.user).length&&t.push(this.loadCustomerCurrencies(e));const s=(0,Ce.z)(t).pipe((0,me.$)()).subscribe(o=>{const[l,u,h,_=[]]=o,C=_.map(D=>D.isocode);if(0===C.length)return;const T=this.updateCurrencyStore(l,C);this.updateActiveCurrency(T,u,_[0].isocode,h),s.unsubscribe()})}initDefaultCurrencyReset(){this.userAccountService.get().subscribe(e=>{this.user=e,void 0===e?.currency&&this.currencyService.setActive(this.DEFAULT_CURRENCY)})}loadCustomerCurrencies(e){const t=this.occEndpointsService.buildUrl(E.USER.PROFILE.PROFILE_CURRENCY,{urlParams:{},queryParams:{productionType:e}});return this.http.get(t)}updateCurrencyStore(e,t){const s=JSON.parse(JSON.stringify(e));return s.forEach(o=>{o.hide=!t.includes(o.isocode)}),this.store.dispatch(new dx(s)),s}updateActiveCurrency(e,t,s,o){!e.filter(h=>!h.hide).find(h=>h.isocode===t)&&0===Ei(o)&&(this.currencyChangedByUser&&(this.globalMessageService.add({key:"currency.currencyWasChanged"},p.NCV.MSG_TYPE_INFO),this.currencyChangedByUser=!1),this.currencyService.setActive(s))}static#e=this.ctorParameters=()=>[{type:p.PnO},{type:Le.zq},{type:p.zxz},{type:U.Qq},{type:Je.il},{type:p.S8D},{type:se.e2}]};nn=(0,r.Cg)([(0,n._qm)()],nn);let Vt=class{constructor(){this.customGlobalCurrency$=new P.t(null)}setCustomGlobalCurrency(e){this.customGlobalCurrency$.next(e)}resetCustomGlobalCurrency(){this.customGlobalCurrency$.next(null)}static#e=this.ctorParameters=()=>[]};Vt=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],Vt);let nr=class{constructor(e,t,s,o,l){this.currencyService=e,this.document=t,this.commonCurrencyService=s,this.cartService=o,this.changeDetection=l,this.isActiveTooltip=!1,this.activeCurrency=null,this.disabledCurrency=!0,this.allCurrencies=[],this.filteredCurrencies=[],this.cart=null,this.destroyed$=new R.B}ngOnInit(){this.initSub()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}initSub(){(0,Ce.z)([this.currencyService.getActive(),this.currencyService.getAll(),this.cartService.getCart()]).pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.disabledCurrency=!1;const[t,s,o]=e;this.activeCurrency=t,this.allCurrencies=s,this.cart=o,this.disabledCurrency=Ei(o)>0;const l=s.filter(h=>!h.hide);l.find(h=>h.isocode===t)?this.filteredCurrencies=l:(this.filteredCurrencies=[l[0]],this.disabledCurrency=!0,this.activeCurrency=l[0]?.isocode),this.changeDetection.detectChanges()})}select(e){this.currencyService.setActive(e.isocode),this.commonCurrencyService.emitEvent({name:tr.SET_ACTIVE,value:e})}showFn(e){return`${e.symbol} ${e.isocode}`}toggleTooltip(){this.isActiveTooltip=!this.isActiveTooltip}closeTooltip(){this.isActiveTooltip&&(this.isActiveTooltip=!1)}static#e=this.ctorParameters=()=>[{type:p.PnO},{type:Document,decorators:[{type:n.y_5,args:[S.qQ]}]},{type:nn},{type:ye},{type:n.gRc}]};nr=(0,r.Cg)([(0,n.uAl)({selector:"app-currency",template:'<ng-container>\n  <div class="d-flex">\n    <app-sort-select [activeItem]="activeCurrency" sortTitle="{{ \'currency.title\' | cxTranslate }}" [items]="filteredCurrencies" [showFn]="showFn"\n                     bindValue="isocode" (selectItem)="select($event)"\n                     [disabled]="disabledCurrency">\n    </app-sort-select>\n\n    <div *ngIf="disabledCurrency" class="tooltip-info" [class.tooltip-info--active-tooltip]="isActiveTooltip">\n      <app-custom-tooltip\n        class="tooltip-info__wrapper"\n        position="right">\n        <ng-container item>\n          <svg-icon-sprite\n            (clickOutside)="closeTooltip()"\n            (click)="toggleTooltip()"\n            class="tooltip-info__icon"\n            src="help_outline"\n            width="20"\n            height="20">\n          </svg-icon-sprite>\n        </ng-container>\n        <ng-container content>\n          <app-disable-tooltip>\n          </app-disable-tooltip>\n        </ng-container>\n      </app-custom-tooltip>\n\n      <p class="tooltip-info__mobile">\n        <app-disable-tooltip>\n        </app-disable-tooltip>\n      </p>\n    </div>\n  </div>\n\n</ng-container>\n',providers:[],styles:[lx()]})],nr);let On=class{};On=(0,r.Cg)([(0,n.UQu)({imports:[Bt.o,S.MD,y.iI,It,p.ra8,V.F2,p.LP3,be],declarations:[nr,vl],exports:[nr],providers:[nn]})],On);var ux=i(12219),hx=i.n(ux);let Jn=class{constructor(e,t){this.cartService=e,this.translatePipe=t,this.cartData$=this.cartService.getCart().pipe((0,w.T)(s=>s.rootGroups?s?.rootGroups?.filter(o=>o.groupType===re.ORDER||re.QUOTATION):[])),this.selectedTab=this.cartService.activeCartType$.getValue(),this.cartTypes=re}ngOnInit(){}onValueChange(e){this.cartService.changeCartType(re[e])}getTabs(e){const t=this.cartService.getTabsData(e,this.selectedTab,this.translatePipe);return this.selectedTab=t?.selectedTab,t?.tabs}static#e=this.ctorParameters=()=>[{type:ye},{type:p.D97}]};Jn=(0,r.Cg)([(0,n.uAl)({selector:"app-cart-top",template:'<div class="cart-top align-items-stretch">\n  <div\n    class="cart-top__wrapper d-flex justify-content-between align-items-stretch"\n  >\n    <div class="cart-top__title">\n      {{\n        (selectedTab === cartTypes.ORDER\n          ? \'text.cartTop.productCart\'\n          : \'text.cartTop.quotationCart\'\n        ) | cxTranslate\n      }}\n    </div>\n\n    <div class="cart-top__tabs">\n      <app-tabs-radio\n        showProperty="name"\n        bindProperty="code"\n        size="small"\n        [items]="getTabs(cartData$ | async)"\n        (selectedItemChange)="onValueChange($event)"\n        [(selectedItem)]="selectedTab"\n      >\n      </app-tabs-radio>\n    </div>\n  </div>\n</div>\n',styles:[hx()]})],Jn);let sr=class{};sr=(0,r.Cg)([(0,n.UQu)({declarations:[Jn],exports:[Jn],imports:[S.MD,p.htr.withConfig({cmsComponents:{CartTopComponent:{component:Jn}}}),On,p.LP3,it]})],sr);var mx=i(6008),_x=i.n(mx);class wg extends p._3U{}class Gt extends p._3U{}let bt=class{constructor(e,t,s){this.eventService=e,this.customActiveCartService=t,this.currencyService=s}trackAddToCart(e,t){this.currencyService.getActive().pipe((0,oe.s)(1)).subscribe(s=>{const o={event:ae.ADD_TO_CART,ecommerce:{currency:s,order_type:t,items:[{...this.getEntryData(e)}]}};this.eventService.register(Gt,(0,$.of)(o))})}trackOrderPlaced(e,t){this.transactionID=e,this.quotationID=null,this.trackEvent("order",ae.CHECKOUT_ORDER_CONFIRMATION,t),this.transactionID=null}trackQuantityExceed(e,t,s,o){this.currencyService.getActive().pipe((0,oe.s)(1)).subscribe(l=>{const u={event:ae.QUANTITY_EXCEED,ecommerce:{currency:l,order_type:o,items:[{...this.getEntryData(e,t,s)}]}};this.eventService.register(Gt,(0,$.of)(u))})}trackViewCart(e){this.currencyService.getActive().pipe((0,oe.s)(1)).subscribe(t=>{const s=[];e.forEach(l=>{const u=l.orderType===nt.ORDER?"contract":l.orderType,h=l.orderEntries?.map(_=>{const C=this.getEntryData(_);return C.order_type=u?.toLowerCase(),C});s.push(...h)});const o={event:ae.VIEW_CART,ecommerce:{items:s,currency:t,cart_type:"quotation"===e[0].orderType?"quotation":"order"}};this.eventService.register(wg,(0,$.of)(o))})}trackBeginCheckout(e,t){this.trackEvent(e,ae.BEGIN_CHECKOUT,t)}trackBeginVolumeCheckout(e){this.trackEvent("volume",ae.BEGIN_CHECKOUT,e)}trackQuotationPlaced(e,t,s){this.quotationID=e,this.transactionID=null,this.trackEvent(s,ae.CHECKOUT_QUOTE_CONFIRMATION,t),this.quotationID=null}trackReorderSuccess(e,t){this.trackEvent(e,ae.REORDER_SUCCESS,t)}setEvent(e,t){(0,Ce.z)([this.customActiveCartService.isStable(),this.customActiveCartService.getEntries(),this.currencyService.getActive()]).pipe((0,oe.s)(1)).subscribe(([,s,o])=>{const l={event:e,ecommerce:this.getTrackingOrderItem(s,o,t)};this.eventService.register(Gt,(0,$.of)(l))})}trackEvent(e,t,s){const o=e===nt.ORDER?"contract":e;this.currencyService.getActive().pipe((0,oe.s)(1)).subscribe(l=>{const u={event:t,ecommerce:this.getTrackingOrderItem(s,l,o)};this.eventService.register(Gt,(0,$.of)(u))})}getTrackingOrderItem(e=[],t,s){let o={currency:t,order_type:s,items:e?.map(l=>this.getEntryData(l))};return this.quotationID&&(o=Object.assign({},o,{quotation_ID:this.quotationID})),this.transactionID&&(o=Object.assign({},o,{transaction_ID:this.transactionID})),o}getEntryData(e,t,s){const{product:o}=e;return{item_id:o?.code,item_name:o?.name,item_category:o?.productionType?.toLowerCase()||"strip",item_category2:o?.categories?o?.categories[0]?.name:"",item_category3:o?.classifications?o?.classifications[0]?.name:"",item_brand:this.getProductBrand(o),reference_number:this.getReferenceNumber(o),quantity:e?.quantity||t,quantity_type:e?.unit||s||"kg",price:e?.product?.price?.value||""}}getProductBrand(e){const t=[];return e?.productionType?.toLowerCase()===ae.PLATE&&[ae.BRAND_QUEND,ae.BRAND_QUARD].forEach(s=>{e?.categories?.some(l=>l.code===s)&&t.push(s.toUpperCase())}),t.length>0?t.join(" | "):""}getReferenceNumber(e){let t="";return e?.classifications?.forEach(s=>s?.features?.forEach(o=>{f.refNumber.test(o?.code)&&(t=o?.featureValues[0]?.value)})),t}static#e=this.ctorParameters=()=>[{type:p.USV},{type:Ot},{type:p.PnO}]};bt=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],bt);let xl=class{constructor(e){this.orderTrackingService=e,this.error=null,this.totalPrice=null,this.proceedToCheckout=new n.bkB}onProceedToCheckout(){this.proceedToCheckout.emit(),this.orderTrackingService.trackBeginCheckout(this.orderType,this.entries)}static#e=this.ctorParameters=()=>[{type:bt}];static#t=this.propDecorators={error:[{type:n.pde}],totalPrice:[{type:n.pde}],orderType:[{type:n.pde}],entries:[{type:n.pde}],proceedToCheckout:[{type:n.k7i}]}};xl=(0,r.Cg)([(0,n.uAl)({selector:"app-cart-catalog-footer",template:'<div class="catalog-footer">\n  <div *ngIf="totalPrice | isPriceNotZero" class="catalog-footer__total">\n    {{\'text.cart.catalog.total\' | cxTranslate}}: {{ totalPrice }}\n  </div>\n\n  <div\n    *ngIf="error.contractExpired.value"\n    class="catalog-footer__msg catalog-footer__msg--error">\n    <svg-icon-sprite\n      src="info"\n      width="16"\n      height="16"\n      class="catalog-footer__msg-icon"\n    ></svg-icon-sprite>\n    {{\'text.cart.catalog.contractExpired\' | cxTranslate}}\n  </div>\n\n  <div\n    *ngIf="error.errorsWithText.remainingStockChanged.value || error.errorsWithText.productNotAvailable.value"\n    class="catalog-footer__msg catalog-footer__msg--warning">\n    <svg-icon-sprite\n      src="warning"\n      width="16"\n      height="16"\n      class="catalog-footer__msg-icon"\n    ></svg-icon-sprite>\n\n    <ng-container *ngIf="error.errorsWithText.productNotAvailable.value">\n      {{\'text.cart.errors.productNotAvailable\' | cxTranslate}}\n    </ng-container>\n    <ng-container *ngIf="error.errorsWithText.remainingStockChanged.value">\n      {{\'text.cart.errors.remainingStockChanged\' | cxTranslate}}\n    </ng-container>\n  </div>\n\n  <button\n    [disabled]="error.errorsWithText.productNotAvailable.value || error.contractExpired.value || error.missingAllowedB2BUnit.value"\n    (click)="onProceedToCheckout()"\n    class="btn btn-default btn--sm catalog-footer__button"\n  >{{\'button.proceedToCheckout\' | cxTranslate}}</button>\n</div>\n',styles:[_x()]})],xl);var xx=i(45584),fx=i.n(xx);let fl=class{constructor(){this.catalogAgreementName=null,this.catalogLabel=null,this.catalogName=null,this.endDate=null,this.expirationDate=null,this.initialVolume=null,this.isExpired=!1,this.isOrder=!1,this.startDate=null,this.unit=null,this.removeGroup=new n.bkB,this.UNITS=G}remove(){this.removeGroup.emit()}static#e=this.propDecorators={catalogAgreementName:[{type:n.pde}],catalogLabel:[{type:n.pde}],catalogName:[{type:n.pde}],endDate:[{type:n.pde}],expirationDate:[{type:n.pde}],initialVolume:[{type:n.pde}],isExpired:[{type:n.pde}],isOrder:[{type:n.pde}],startDate:[{type:n.pde}],unit:[{type:n.pde}],removeGroup:[{type:n.k7i}]}};fl=(0,r.Cg)([(0,n.uAl)({selector:"app-cart-catalog-header",template:'<div class="catalog-header" [class.catalog-header--expired]="isExpired" [class.catalog-header--is-order]="isOrder">\n  <div class="catalog-header__left">\n      <span class="catalog-header__name">\n        {{ catalogName }}\n      </span>\n  </div>\n\n  <div class="catalog-header__middle" *ngIf="isOrder || isExpired">\n    <ng-container *ngIf="isOrder">\n      <div class="catalog-header__stock-info">\n        {{ catalogAgreementName }} {{\'text.checkout.order.agreement\' | cxTranslate}} {{ endDate | dateWithTimezonePipe:\'y\' }} ({{catalogLabel}})\n      </div>\n\n      <div\n        [ngbTooltip]="tooltipContent"\n        placement="bottom auto"\n        class="catalog-header__icon-block"\n      >\n        <svg-icon-sprite\n          src="info"\n          width="16"\n          height="16"\n          class="catalog-header__icon">\n        </svg-icon-sprite>\n        <ng-template #tooltipContent>\n          <div *ngIf="startDate && endDate">\n            {{ \'text.facetNavigation.agreementFacet.item.duration\' | cxTranslate}}:\n            {{ startDate | dateWithTimezonePipe}} - {{ endDate | dateWithTimezonePipe}}\n          </div>\n        </ng-template>\n      </div>\n    </ng-container>\n\n    <div *ngIf="isExpired" class="catalog-header__error">\n      {{\'text.cart.catalog.contractExpiredOn\' | cxTranslate}}  {{ expirationDate }}\n    </div>\n  </div>\n\n  <div class="catalog-header__right">\n    <button\n      (click)="remove()"\n      class="catalog-header__remove-button"\n    >\n      <svg-icon-sprite\n        src="delete_outline"\n        width="16"\n        height="16"\n        class="catalog-header__icon">\n      </svg-icon-sprite>\n    </button>\n  </div>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[fx()]})],fl);var bx=i(34246),yx=i.n(bx);class Cl{constructor(e){this.translatePipe=e,this.contractExpired={value:!1},this.errorsWithText={productNotAvailable:{text:"",value:!1},remainingStockChanged:{text:"",value:!1}},this.missingAllowedB2BUnit={value:!1},this.updateNotAvailable({text:this.translatePipe.transform("text.cart.errors.productNotAvailable")}),this.updateRemainingStock({text:this.translatePipe.transform("text.cart.errors.remainingStockChanged")})}updateNotAvailable(e){this.errorsWithText.productNotAvailable=Object.assign(this.errorsWithText.productNotAvailable,e)}updateMissingAllowedB2BUnit(e){this.missingAllowedB2BUnit.value=e}updateRemainingStock(e){this.errorsWithText.remainingStockChanged=Object.assign(this.errorsWithText.remainingStockChanged,e)}updateContractExpired(e){this.contractExpired.value=e}getTextErrorFields(){return Object.keys(this.errorsWithText).filter(e=>this.errorsWithText[e].value).map(e=>this.errorsWithText[e])}}let bl=class{set setCatalogType(e){this.catalogType=e,this.groupTypeOrder=this.catalogType===this.GROUP_TYPE.ORDER?Ke.MTS:Ke.MTO}constructor(e,t,s,o,l){this.cartService=e,this.translatePipe=t,this.changeDetection=s,this.multiCartService=o,this.router=l,this.GROUP_TYPE=nt,this.groupTypeOrder=null,this.catalogType=null,this.contractExpirationDate=null,this.errorModel=null,this.inProcess=!1,this.modifications=[],this.modificationsMap=this.cartService.modificationsMap$,this.destroyed$=new R.B,this.errorModel=new Cl(this.translatePipe)}ngOnInit(){this.validateContractExpirationDate(),this.cartService.reOrderPlaced$.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>e&&this.getCartModifications())}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}removeGroup(e){this.inProcess=!0,this.cartService.removeGroup(this.catalog.groupNumber,e).pipe((0,x.Q)(this.destroyed$)).subscribe()}validateContractExpirationDate(){this.catalog.groupType===nt.ORDER&&(this.contractExpirationDate=new Date(this.catalog.agreement.endDate),this.errorModel.updateContractExpired(!this.catalog.agreement.valid))}getCartModifications(e=!1){this.cartService.getGroupModifications(this.catalog.groupNumber).pipe((0,x.Q)(this.destroyed$)).subscribe(t=>{if(this.modifications=t?.cartModifications,this.modifications?.length>0)this.multiCartService.loadCart(ht),this.errorModel=this.cartService.checkForAllErrors(this.modifications,new Cl(this.translatePipe)),this.cartService.showErrors(this.errorModel),this.changeDetection.detectChanges();else if(this.resetErrorModel(),e){const o=this.catalog.groupType===nt.STOCK?Ke.MTS:Ke.MTO;return this.router.navigate([`/checkout/${o}`],{queryParams:{groupNumber:this.catalog.groupNumber,rootNumber:this.groupNumber}})}})}trackByFn(e,t){return t.entryNumber}getSchedulingLine(e){return this.catalog.agreement?.agreementProducts[0]?.schedulingLines?.find(t=>t.deliveryMonth===e.deliveryMonth)}getTotalQuantity(e){const s=(this.catalog.agreement?.volumeBased?this.catalog.orderEntries.filter(o=>o.deliveryMonth===e.deliveryMonth):this.catalog.orderEntries.filter(o=>o.deliveryMonth===e.deliveryMonth&&o.product.code===e.product.code)).reduce((o,l)=>o+l.quantity,0)-e.quantity;return e.unit===G.PIECES?s:we(s)}resetErrorModel(){const e={value:!1};this.errorModel.updateRemainingStock(e),this.errorModel.updateNotAvailable(e)}static#e=this.ctorParameters=()=>[{type:ye},{type:p.D97},{type:n.gRc},{type:se.Z1},{type:y.Ix}];static#t=this.propDecorators={catalog:[{type:n.pde}],catalogName:[{type:n.pde}],groupNumber:[{type:n.pde}],setCatalogType:[{type:n.pde,args:["catalogType"]}]}};bl=(0,r.Cg)([(0,n.uAl)({selector:"app-cart-catalog",template:'<div\n  *ngIf="catalog"\n  [class.cart-catalog--is-expired]="errorModel.contractExpired.value"\n  class="cart-catalog cart-catalog--{{ groupTypeOrder }}"\n>\n  <app-cart-catalog-header\n    [catalogAgreementName]="catalog.agreement?.contractLength?.name"\n    [catalogLabel]="catalog.label"\n    [catalogName]="catalogName"\n    [endDate]="catalog.agreement?.endDate"\n    [expirationDate]="contractExpirationDate | date: \'dd.MM.yyyy\'"\n    [initialVolume]="catalog.agreement?.initialVolume"\n    [isExpired]="errorModel.contractExpired.value"\n    [isOrder]="catalogType === GROUP_TYPE.ORDER"\n    [startDate]="catalog.agreement?.startDate"\n    [unit]="catalog.agreement?.unit"\n\n    (removeGroup)="removeGroup(catalog.orderEntries)"\n  ></app-cart-catalog-header>\n\n  <ng-container *ngFor="let entry of catalog.orderEntries; let index = index, trackBy: trackByFn">\n    <app-cart-product\n      [entry]="entry"\n      [catalogType]="catalogType"\n      [index]="index + 1"\n      [isExpired]="errorModel.contractExpired.value"\n      [modifications]="(modificationsMap | async)[entry.entryNumber]"\n      [isVolumeBased]="catalog.agreement?.volumeBased"\n      [schedulingLine]="catalog.agreement?.volumeBased ? getSchedulingLine(entry) : null"\n      [totalQuantity]="catalog.agreement ? getTotalQuantity(entry) : null"\n      (quantityChanged)="getCartModifications()"\n    ></app-cart-product>\n  </ng-container>\n\n  <app-cart-catalog-footer\n    [error]="errorModel"\n    [totalPrice]="catalog.totalPrice.formattedValue"\n    [entries]="catalog.orderEntries"\n    [orderType]="catalog.groupType"\n    (proceedToCheckout)="getCartModifications(true)"\n  ></app-cart-catalog-footer>\n\n  <div\n    *ngIf="inProcess"\n    class="loader-in-process"\n  >\n    <app-loader size="36px"></app-loader>\n  </div>\n</div>\n',styles:[yx()]})],bl);var Tx=i(92724),Ex=i.n(Tx);let yl=class{constructor(e){this.cartService=e,this.cartTypes$=this.cartService.activeCartType$,this.cartTypes=re}static#e=this.ctorParameters=()=>[{type:ye}]};yl=(0,r.Cg)([(0,n.uAl)({selector:"app-cart-empty-body",template:'<div class="cart-empty">\n  <svg-icon-sprite class="cart-empty-icon" src="shopping_cart" ></svg-icon-sprite>\n  <div>\n    <h4 class="cart-empty-info">\n      <ng-container *ngIf="(cartTypes$ | async) as cartType">\n        {{ (cartType === cartTypes.ORDER ? \'text.cart.empty\' : \'text.cart.emptyQuotation\' ) | cxTranslate }}\n      </ng-container>\n\n    </h4>\n    <button  class="btn btn--sm btn-secondary cart-empty__button" [routerLink]="\'/\'">\n      <svg-icon-sprite class="cart-empty__button-icon" height="16" src="arrow_back" width="16"></svg-icon-sprite>\n      {{ \'button.backToHome\' | cxTranslate }}\n    </button>\n  </div>\n</div>\n',styles:[Ex()]})],yl);var Ox=i(52362),Ax=i.n(Ox);let es=class{};es=(0,r.Cg)([(0,n.uAl)({selector:"app-cart-empty",template:'<app-cart-top></app-cart-top>\n<div class=cart>\n  <app-cart-empty-body></app-cart-empty-body>\n  <app-cart-summary class="cart-empty-summary"></app-cart-summary>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[Ax()]})],es);var wx=i(34068),Px=i.n(wx),Sl=i(22806),Dx=i(70274);let Tl=class{constructor(e,t,s,o){this.cartService=e,this.launchDialogService=t,this.changeDetection=s,this.orderTrackingService=o,this.GROUP_TYPE=nt,this.inProcess=!1,this.destroyed$=new R.B}ngOnInit(){const e=[];this.mill.children?.forEach(t=>{e.find(s=>s?.orderType===t?.groupType)?e.find(s=>s?.orderType===t?.groupType)?.orderEntries?.push(...t.orderEntries):e.push({orderType:t?.groupType,orderEntries:t?.orderEntries})}),this.orderTrackingService.trackViewCart(e)}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}trackByFn(e,t){return+t.groupNumber}removeGroup(e){(0,Sl.H)(this.cartService.openConfirmModal()).pipe((0,At.Z)(t=>{if(t){this.inProcess=!0,this.changeDetection.detectChanges();const s=e.children?.map(o=>this.cartService.removeGroup(e.groupNumber,o.orderEntries));return(0,Sl.H)(s).pipe((0,Dx.H)(o=>o))}return Qc.w}),(0,z.M)(()=>this.launchDialogService.closeDialog("")),(0,x.Q)(this.destroyed$)).subscribe()}static#e=this.ctorParameters=()=>[{type:ye},{type:v.PLe},{type:n.gRc},{type:bt}];static#t=this.propDecorators={mill:[{type:n.pde}]}};Tl=(0,r.Cg)([(0,n.uAl)({selector:"app-cart-mill",template:'<div\n  *ngIf="mill"\n  class="cart-mill"\n>\n  <div class="cart-mill__header">\n    <div>\n      <img src="/assets/logo.svg" alt="nlmk" width="53" class="cart-mill__logo">\n      <span>{{ \'text.cartMenu.storageLocation\' | cxTranslate }}</span> {{ mill.label }}\n    </div>\n    <button class="cart-mill__header-clear" (click)="removeGroup(mill)">{{\'button.clearAll\' | cxTranslate}}</button>\n  </div>\n\n  <ng-container *ngFor="let catalog of mill.children; trackBy: trackByFn">\n    <ng-container [ngSwitch]="catalog.groupType">\n      <app-cart-catalog\n        *ngSwitchCase="GROUP_TYPE.ORDER"\n        [catalogType]="GROUP_TYPE.ORDER"\n        [catalog]="catalog"\n        [groupNumber]="mill.groupNumber"\n        catalogName="{{ \'text.cartMenu.type.makeToOrder\' | cxTranslate }}"\n      ></app-cart-catalog>\n\n      <app-cart-catalog\n        *ngSwitchCase="GROUP_TYPE.STOCK"\n        [catalogType]="GROUP_TYPE.STOCK"\n        [catalog]="catalog"\n        [groupNumber]="mill.groupNumber"\n        catalogName="{{ \'text.cartMenu.type.stock\' | cxTranslate }}"\n      ></app-cart-catalog>\n    </ng-container>\n    <div\n      *ngIf="inProcess"\n      class="loader-in-process"\n    >\n      <app-loader size="36px"></app-loader>\n    </div>\n  </ng-container>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[Px()]})],Tl);var kx=i(94284),Fx=i.n(kx);let El=class{trackByFn(e,t){return+t.groupNumber}static#e=this.propDecorators={order:[{type:n.pde}]}};El=(0,r.Cg)([(0,n.uAl)({selector:"app-cart-order",template:'<ng-container *ngFor="let orderItem of order.children; trackBy: trackByFn">\n  <ng-container [ngSwitch]="orderItem.groupType">\n    <ng-container *ngSwitchCase="\'MILL\'">\n  <app-cart-mill [mill]="orderItem"></app-cart-mill>\n    </ng-container>\n  </ng-container>\n</ng-container>\n',changeDetection:n.Ngq.OnPush,styles:[Fx()]})],El);var sn,b,N,te,A,O,Rl,Ol,Nx=i(65338),Ux=i.n(Nx);!function(a){a.CLOSED="CLOSED",a.IN_CREATION="IN_CREATION",a.IN_PROGRESS="IN_PROGRESS",a.OPEN="OPEN"}(sn||(sn={})),function(a){a.APPROVED="APPROVED",a.CANCELLED="CANCELLED",a.ORDER_CANCELLED="ORDER_CANCELLED",a.CLEARED="CLEARED",a.CLOSED="CLOSED",a.COLD_MILL="COLD_MILL",a.COMPLETED="COMPLETED",a.CONFIRMATION="CONFIRMATION",a.CONFIRMED="CONFIRMED",a.CREATED="CREATED",a.CREDIT_LIMIT_CHECK="CREDIT_LIMIT_CHECK",a.CREDIT_LIMIT_CHECK_DONE="CREDIT_LIMIT_CHECK_DONE",a.CREDIT_LIMIT_CHECK_FAILED="CREDIT_LIMIT_CHECK_FAILED",a.CREDIT_LIMIT_CHECK_IN_PROGRESS="CREDIT_LIMIT_CHECK_IN_PROGRESS",a.CTP_CHECK="CTP_CHECK",a.CTP_CHECK_DONE="CTP_CHECK_DONE",a.CTP_CHECK_IN_PROGRESS="CTP_CHECK_IN_PROGRESS",a.CTP_CHECK_PENDING="CTP_CHECK_PENDING",a.DELIVERED="DELIVERED",a.DELIVERY_CREATED="DELIVERY_CREATED",a.DELIVERY_NOT_CREATED="DELIVERY_NOT_CREATED",a.GALVALINE="GALVALINE",a.HOT_MILL="HOT_MILL",a.INTERNAL_APPROVAL_AWAITING="INTERNAL_APPROVAL_AWAITING",a.INTERNAL_APPROVAL_REJECTED="INTERNAL_APPROVAL_REJECTED",a.INVOICED="INVOICED",a.IN_PROCESS="IN_PROCESS",a.LL_PACKING="LL_PACKING",a.PENDING_APPROVAL="PENDING_APPROVAL",a.PICKLING="PICKLING",a.PLACED="PLACED",a.PRE_PAINTING="PRE_PAINTING",a.PRICE_RECALCULATION="PRICE_RECALCULATION",a.PRODUCTION_FINISHED="PRODUCTION_FINISHED",a.PRODUCTION_PLANNED="PRODUCTION_PLANNED",a.PRODUCTION_STARTED="PRODUCTION_STARTED",a.READY_TO_SHIP="READY_TO_SHIP",a.REQUESTED="REQUESTED",a.SKINPASS="SKINPASS",a.SLITTING="SLITTING",a.STB_PACKAGING="STB_PACKAGING",a.SOR_MODIFICATION="SOR_MODIFICATION"}(b||(b={})),function(a){a.APPROVED="APPROVED",a.INTERNAL_APPROVAL_AWAITING="INTERNAL_APPROVAL_AWAITING",a.CANCELLED="CANCELLED",a.CHECKED="CHECKED",a.CHECK_FAIL="CHECK_FAIL",a.CLOSED="CLOSED",a.CTP_CHECK="CTP_CHECK",a.CUSTOMER_REJECTED="CUSTOMER_REJECTED",a.DEAL_IS_DONE="DEAL_IS_DONE",a.DEAL_REJECTED="DEAL_REJECTED",a.LOST="LOST",a.NEGOTIATING="NEGOTIATING",a.PRICE_RECALCULATION="PRICE_RECALCULATION",a.PROCESSING="PROCESSING",a.REJECTED="REJECTED"}(N||(N={})),function(a){a.DUE_DATE="dueDate",a.ENTRY_GROUP_ERROR="entryGroupError",a.INVALID_ENTRY_GROUP_NUMBER="invalidEntryGroupNumber",a.LOW_STOCK="lowStock",a.MAX_ORDER_QUANTITY_EXCEEDED="maxOrderQuantityExceeded",a.MORE_THAN_ONE_CATEGORY_FOR_QUOTATION="moreThanOneCategoryForQuotation",a.NO_SALES_DATA_ERROR="noSalesDataError",a.NO_STOCK="noStock",a.PRODUCT_DOES_NOT_EXIST="productDoesNotExist",a.CONTRACT_DOES_NOT_EXIST="contractDoesNotExist",a.START_END_DATE="startEndDate",a.SUCCESS="success",a.UNAVAILABLE="unavailable",a.WRONG_CATEGORY="wrongCategory",a.WRONG_CURRENCY="wrongCurrency",a.WRONG_DESIRED="wrongDesired",a.WRONG_REMAINING_TONNAGE="wrongRemainingTonnage",a.WRONG_SCHEDULING_ITEM="wrongSchedulingItem",a.PRODUCT_NO_APPROVED="productNoApproved",a.PLATE_FOR_PRODUCT="plateForProduct",a.SALES_PLATE="salesPlate",a.NO_CURRENCY_SALES_DATA_ERROR="noCurrencySalesDataError",a.SPECREF="specref"}(te||(te={})),function(a){a.CLOSED="closed",a.ERROR="error",a.IN_PROCESS="in-process",a.SUCCESS="success"}(A||(A={})),function(a){a.CHECK_CIRCLE="check_circle",a.ERROR="error",a.WATCH_LATER="watch_later"}(O||(O={})),function(a){a.CLOSE="close",a.IN_CREATION="in_creation",a.IN_PROGRESS="in_progress",a.OPEN="open"}(Rl||(Rl={})),function(a){a.IN_CREATION="in_creation",a.REGISTERED="registered",a.OPEN="open",a.TECHNICALLY_CLOSED="technically_closed",a.COMMERCIALLY_CLOSED="commercially_closed",a.APPROVING_BY_LSM="approving_by_lsm",a.CREDIT__DEBIT_NOTE_APPROVED="credit_/_debit_note_approved",a.CLOSED="closed",a.REJECTED="rejected"}(Ol||(Ol={}));const L={CART__ORDER__STRIP_PLATE__MTS_MTO__MAIN:[f.steelGrade,f.productStandard],PRODUCT_CART_ORDERS__STRIP__MTS_MTO__SECONDARY:[f.thickness,f.width,f.coilWeightMin,f.coilWeightMax,f.refNumber,f.teardrop,f.salesUnit,f.diameter,f.surfaceQuality,f.coatingWeight,f.zincType,f.paintSystemInside,f.paintSystemOutside,f.ralCodeInside,f.ralCodeOutside,f.testCertificateType,f.packagingCode,f.thicknessSeverity,f.edgeTrip,f.galvaClass,f.orgProtectionQty,f.orgProtectionType,f.spangle,f.chemicalProtection,f.metallicCoatingCode,f.safetyPart,f.ferruleType,f.regulationPart,f.glossInside,f.glossOutside,f.orgCoatThicknessInside,f.orgCoatThicknessOutside],PRODUCT_CART_ORDERS__STRIP__MTS_MTO__SECONDARY__PREPAINTED:[f.thickness,f.width,f.coilWeightMin,f.coilWeightMax,f.refNumber,f.teardrop,f.salesUnit,f.diameter,f.surfaceQuality,f.paintSystemInside,f.paintSystemOutside,f.ralCodeInside,f.ralCodeOutside,f.coatingWeight,f.zincType,f.testCertificateType,f.packagingCode,f.thicknessSeverity,f.edgeTrip,f.galvaClass,f.orgProtectionQty,f.orgProtectionType,f.spangle,f.chemicalProtection,f.metallicCoatingCode,f.safetyPart,f.ferruleType,f.regulationPart,f.glossInside,f.glossOutside,f.orgCoatThicknessInside,f.orgCoatThicknessOutside],PRODUCT_CART_ORDERS__PLATE__MTS_MTO__SECONDARY:[f.quantityOfPlates,f.thickness,f.length,f.width,f.dimensionUnit,f.weightOfTheItem,f.deliveryCondition,f.teardrop,f.salesUnit,f.surfaceTreatmentQuotation,f.tolerance,f.surfaceTolerance,f.thicknessTolerance,f.invoiceDensity],CART__QUOTE__STRIP_PLATE__MAIN:[f.steelGrade,f.productStandard],ORDERS__ACTIVE_HISTORY__STRIP__MTS_MTO__MAIN:[f.steelGrade,f.productStandard,f.thickness,f.width,f.length],QUOTATIONS__ACTIVE_HISTORY__STRIP__MTS_MTO__MAIN:[f.steelGrade,f.productStandard,f.thickness,f.width,f.length,f.unitOfOrder]},Ne={PRODUCT_LIST:{STRIP:{MTS:{BASE:{MAIN:[f.steelGrade,f.productStandard],SECONDARY:[f.thickness,f.width]},VARIANT:{MAIN:[f.steelGrade],SECONDARY:[f.productStandard,f.thickness,f.width,f.secondCategory],THIRDLY:L.PRODUCT_CART_ORDERS__STRIP__MTS_MTO__SECONDARY},VARIANT__PREPAINTED:{MAIN:[f.steelGrade],SECONDARY:[f.productStandard,f.thickness,f.width],THIRDLY:L.PRODUCT_CART_ORDERS__STRIP__MTS_MTO__SECONDARY__PREPAINTED}},MTO:{BASE:{MAIN:[f.steelGrade,f.productStandard],SECONDARY:[f.thickness,f.width]},[Se_VARIANT]:{MAIN:[f.steelGrade],SECONDARY:[f.productStandard,f.thickness,f.width],THIRDLY:L.PRODUCT_CART_ORDERS__STRIP__MTS_MTO__SECONDARY},[Se_VARIANT__PREPAINTED]:{MAIN:[f.steelGrade],SECONDARY:[f.productStandard,f.thickness,f.width],THIRDLY:L.PRODUCT_CART_ORDERS__STRIP__MTS_MTO__SECONDARY__PREPAINTED}}},PLATE:{MTS:{BASE:{MAIN:[f.steelGrade],SECONDARY:[f.thickness,f.width,f.length]},[Se_VARIANT]:{MAIN:[f.steelGrade],SECONDARY:[f.thickness,f.width,f.length],THIRDLY:L.PRODUCT_CART_ORDERS__PLATE__MTS_MTO__SECONDARY}},MTO:{BASE:{MAIN:[f.steelGrade],SECONDARY:[f.thickness,f.width,f.length],THIRDLY:L.PRODUCT_CART_ORDERS__PLATE__MTS_MTO__SECONDARY}}}},MY_CATALOGUE:{QUOTE:{STRIP:{BASE:{MAIN:[f.steelGrade,f.productStandard],SECONDARY:[f.thickness,f.width]},[Se_VARIANT]:{MAIN:[f.steelGrade],SECONDARY:[f.productStandard,f.thickness,f.width],THIRDLY:L.PRODUCT_CART_ORDERS__STRIP__MTS_MTO__SECONDARY},[Se_VARIANT__PREPAINTED]:{MAIN:[f.steelGrade],SECONDARY:[f.productStandard,f.thickness,f.width],THIRDLY:L.PRODUCT_CART_ORDERS__STRIP__MTS_MTO__SECONDARY__PREPAINTED}}},ORDER:{STRIP:{BASE:{MAIN:[f.steelGrade,f.productStandard],SECONDARY:[f.thickness,f.width]},[Se_VARIANT]:{MAIN:[f.steelGrade],SECONDARY:[f.productStandard,f.thickness,f.width],THIRDLY:L.PRODUCT_CART_ORDERS__STRIP__MTS_MTO__SECONDARY},[Se_VARIANT__PREPAINTED]:{MAIN:[f.steelGrade],SECONDARY:[f.productStandard,f.thickness,f.width],THIRDLY:L.PRODUCT_CART_ORDERS__STRIP__MTS_MTO__SECONDARY__PREPAINTED}},PLATE:{BASE:{MAIN:[f.steelGrade],SECONDARY:[f.thickness,f.width,f.length]},[Se_VARIANT]:{MAIN:[f.steelGrade],SECONDARY:[f.thickness,f.width,f.length],THIRDLY:L.PRODUCT_CART_ORDERS__PLATE__MTS_MTO__SECONDARY}}}},CART:{ORDER:{STRIP:{MTS:{MAIN:L.CART__ORDER__STRIP_PLATE__MTS_MTO__MAIN,SECONDARY:L.PRODUCT_CART_ORDERS__STRIP__MTS_MTO__SECONDARY},MTO:{MAIN:L.CART__ORDER__STRIP_PLATE__MTS_MTO__MAIN,SECONDARY:L.PRODUCT_CART_ORDERS__STRIP__MTS_MTO__SECONDARY}},[Se_STRIP__PREPAINTED]:{MTS:{MAIN:L.CART__ORDER__STRIP_PLATE__MTS_MTO__MAIN,SECONDARY:L.PRODUCT_CART_ORDERS__STRIP__MTS_MTO__SECONDARY__PREPAINTED},MTO:{MAIN:L.CART__ORDER__STRIP_PLATE__MTS_MTO__MAIN,SECONDARY:L.PRODUCT_CART_ORDERS__STRIP__MTS_MTO__SECONDARY__PREPAINTED}},PLATE:{MTS:{MAIN:L.CART__ORDER__STRIP_PLATE__MTS_MTO__MAIN,SECONDARY:L.PRODUCT_CART_ORDERS__PLATE__MTS_MTO__SECONDARY},MTO:{MAIN:L.CART__ORDER__STRIP_PLATE__MTS_MTO__MAIN,SECONDARY:L.PRODUCT_CART_ORDERS__PLATE__MTS_MTO__SECONDARY}}},QUOTE:{STRIP:{MAIN:L.CART__QUOTE__STRIP_PLATE__MAIN,SECONDARY:L.PRODUCT_CART_ORDERS__STRIP__MTS_MTO__SECONDARY},[Se_STRIP__PREPAINTED]:{MAIN:L.CART__QUOTE__STRIP_PLATE__MAIN,SECONDARY:L.PRODUCT_CART_ORDERS__STRIP__MTS_MTO__SECONDARY__PREPAINTED},PLATE:{MAIN:L.CART__QUOTE__STRIP_PLATE__MAIN,SECONDARY:L.PRODUCT_CART_ORDERS__PLATE__MTS_MTO__SECONDARY}}},ORDERS:{ACTIVE:{STRIP:{MTS:{MAIN:L.ORDERS__ACTIVE_HISTORY__STRIP__MTS_MTO__MAIN,SECONDARY:L.PRODUCT_CART_ORDERS__STRIP__MTS_MTO__SECONDARY},MTO:{MAIN:L.ORDERS__ACTIVE_HISTORY__STRIP__MTS_MTO__MAIN,SECONDARY:L.PRODUCT_CART_ORDERS__STRIP__MTS_MTO__SECONDARY}},[Se_STRIP__PREPAINTED]:{MTS:{MAIN:L.ORDERS__ACTIVE_HISTORY__STRIP__MTS_MTO__MAIN,SECONDARY:L.PRODUCT_CART_ORDERS__STRIP__MTS_MTO__SECONDARY__PREPAINTED},MTO:{MAIN:L.ORDERS__ACTIVE_HISTORY__STRIP__MTS_MTO__MAIN,SECONDARY:L.PRODUCT_CART_ORDERS__STRIP__MTS_MTO__SECONDARY__PREPAINTED}},PLATE:{MTS:{MAIN:L.ORDERS__ACTIVE_HISTORY__STRIP__MTS_MTO__MAIN,SECONDARY:L.PRODUCT_CART_ORDERS__PLATE__MTS_MTO__SECONDARY},MTO:{MAIN:L.ORDERS__ACTIVE_HISTORY__STRIP__MTS_MTO__MAIN,SECONDARY:L.PRODUCT_CART_ORDERS__PLATE__MTS_MTO__SECONDARY}}},HISTORY:{STRIP:{MTS:{MAIN:L.ORDERS__ACTIVE_HISTORY__STRIP__MTS_MTO__MAIN,SECONDARY:L.PRODUCT_CART_ORDERS__STRIP__MTS_MTO__SECONDARY},MTO:{MAIN:L.ORDERS__ACTIVE_HISTORY__STRIP__MTS_MTO__MAIN,SECONDARY:L.PRODUCT_CART_ORDERS__STRIP__MTS_MTO__SECONDARY}},[Se_STRIP__PREPAINTED]:{MTS:{MAIN:L.ORDERS__ACTIVE_HISTORY__STRIP__MTS_MTO__MAIN,SECONDARY:L.PRODUCT_CART_ORDERS__STRIP__MTS_MTO__SECONDARY__PREPAINTED},MTO:{MAIN:L.ORDERS__ACTIVE_HISTORY__STRIP__MTS_MTO__MAIN,SECONDARY:L.PRODUCT_CART_ORDERS__STRIP__MTS_MTO__SECONDARY__PREPAINTED}},PLATE:{MTS:{MAIN:L.ORDERS__ACTIVE_HISTORY__STRIP__MTS_MTO__MAIN,SECONDARY:L.PRODUCT_CART_ORDERS__PLATE__MTS_MTO__SECONDARY},MTO:{MAIN:L.ORDERS__ACTIVE_HISTORY__STRIP__MTS_MTO__MAIN,SECONDARY:L.PRODUCT_CART_ORDERS__PLATE__MTS_MTO__SECONDARY}}}},QUOTATIONS:{ACTIVE:{STRIP:{MTS:{MAIN:L.ORDERS__ACTIVE_HISTORY__STRIP__MTS_MTO__MAIN,SECONDARY:L.PRODUCT_CART_ORDERS__STRIP__MTS_MTO__SECONDARY},MTO:{MAIN:L.ORDERS__ACTIVE_HISTORY__STRIP__MTS_MTO__MAIN,SECONDARY:L.PRODUCT_CART_ORDERS__STRIP__MTS_MTO__SECONDARY}},[Se_STRIP__PREPAINTED]:{MTS:{MAIN:L.ORDERS__ACTIVE_HISTORY__STRIP__MTS_MTO__MAIN,SECONDARY:L.PRODUCT_CART_ORDERS__STRIP__MTS_MTO__SECONDARY__PREPAINTED},MTO:{MAIN:L.ORDERS__ACTIVE_HISTORY__STRIP__MTS_MTO__MAIN,SECONDARY:L.PRODUCT_CART_ORDERS__STRIP__MTS_MTO__SECONDARY__PREPAINTED}},PLATE:{MTS:{MAIN:L.ORDERS__ACTIVE_HISTORY__STRIP__MTS_MTO__MAIN,SECONDARY:L.PRODUCT_CART_ORDERS__PLATE__MTS_MTO__SECONDARY},MTO:{MAIN:L.ORDERS__ACTIVE_HISTORY__STRIP__MTS_MTO__MAIN,SECONDARY:L.PRODUCT_CART_ORDERS__PLATE__MTS_MTO__SECONDARY}}},HISTORY:{STRIP:{MTS:{MAIN:L.ORDERS__ACTIVE_HISTORY__STRIP__MTS_MTO__MAIN,SECONDARY:L.PRODUCT_CART_ORDERS__STRIP__MTS_MTO__SECONDARY},MTO:{MAIN:L.ORDERS__ACTIVE_HISTORY__STRIP__MTS_MTO__MAIN,SECONDARY:L.PRODUCT_CART_ORDERS__STRIP__MTS_MTO__SECONDARY}},[Se_STRIP__PREPAINTED]:{MTS:{MAIN:L.ORDERS__ACTIVE_HISTORY__STRIP__MTS_MTO__MAIN,SECONDARY:L.PRODUCT_CART_ORDERS__STRIP__MTS_MTO__SECONDARY__PREPAINTED},MTO:{MAIN:L.ORDERS__ACTIVE_HISTORY__STRIP__MTS_MTO__MAIN,SECONDARY:L.PRODUCT_CART_ORDERS__STRIP__MTS_MTO__SECONDARY__PREPAINTED}},PLATE:{MTS:{MAIN:L.ORDERS__ACTIVE_HISTORY__STRIP__MTS_MTO__MAIN,SECONDARY:L.PRODUCT_CART_ORDERS__PLATE__MTS_MTO__SECONDARY},MTO:{MAIN:L.ORDERS__ACTIVE_HISTORY__STRIP__MTS_MTO__MAIN,SECONDARY:L.PRODUCT_CART_ORDERS__PLATE__MTS_MTO__SECONDARY}}}}},ts=(a,e,t=[])=>{if(!a.classifications)return null;const s=[],o=[],l=[],u=[];return a.classifications.forEach(h=>{h.features.forEach(_=>{const C=JSON.stringify(_),T=t.some(he=>_.code.match(he)),D=[...s,...o,...l,...u].includes(C);if(T||D)return;const F=e.MAIN.some(he=>_.code.match(he)),K=e.SECONDARY.some(he=>_.code.match(he)),ne=e.THIRDLY?.some(he=>_.code.match(he));if(F){const he=e.MAIN.findIndex(tt=>_.code.match(tt));s[he]=C}else if(K){const he=e.SECONDARY.findIndex(tt=>_.code.match(tt));o[he]=C}else if(ne){const he=e.THIRDLY.findIndex(tt=>_.code.match(tt));l[he]=C}else u.push(C)})}),[s,o,l,u].forEach(h=>{for(const[_,C]of h.entries())C||(h[_]="{}")}),{mainFeatures:s.map(h=>JSON.parse(h)),secondaryFeatures:o.map(h=>JSON.parse(h)),thirdlyFeatures:l.map(h=>JSON.parse(h)),restFeatures:u.map(h=>JSON.parse(h))}},Al=(a,e)=>{if(a.classifications)for(const t of a.classifications){const s=t.features.find(o=>o.code.match(e))?.featureValues;if(s)return s}},Ye=(a,e)=>{if(a.classifications)for(const t of a.classifications){const s=t.features.find(o=>o.code.match(e))?.featureValues[0]?.value;if(s)return s}},rt=a=>a||"mm",Pg=(a,e)=>({code:"vbap_vrkme",featureValues:[{value:e.transform(a===G.PIECES?"text.cardProperty.pieces":"text.cardProperty.tons")}],name:e.transform("text.cardProperty.salesUnit")}),ir=(a,e)=>t=>{const s={maxError:!0},o=+t.value;return e?isNaN(+e)||isNaN(o)||Number(a)<Number(+e+o)?s:null:isNaN(o)||Number(a)<Number(o)?s:null};let Il=class{set entry(e){this.localEntry=e,this.setParams()}get entry(){return this.localEntry}constructor(e,t,s,o,l){this.cartService=e,this.fb=t,this.changeDetection=s,this.globalMessageService=o,this.translatePipe=l,this.isVolumeBased=!1,this.quantityChanged=new n.bkB,this.steelDefects=null,this.PRODUCT_TYPE=Z,this.UNITS=G,this.isCharacteristicsOpen=new P.t(!1),this.inProcess=!1,this.entryParams=null,this.product=null,this.isEditQuantity=!1,this.isAmountChanged=!1,this.isStrip=!1,this.productFeatures=null,this.productPricePerItem=null,this.productPriceTotal=null,this.salesUnit=null,this.piecesMask=nl(),this.tonsMask=Ti(),this.GROUP_TYPE=nt,this.featureRegExps=null,this.excludedFeatures=[f.steelDefects,f.uomDiameters,f.uomDimensions,f.rangedAttributes,f.secondCategory,f.productionDate],this.quantityAdded=null,this.destroyed$=new R.B,this.localEntry=null}ngOnInit(){this.setParams(),this.getProductFeatures(),this.initEntryFormGroup(),this.product.productionType===Z.STRIP?(this.dimension=rt(Ye(this.product,f.uomDimensions)),this.diameter=rt(Ye(this.product,f.uomDiameters)),this.catalogType===nt.ORDER&&(this.salesUnit=Pg(this.entry.unit,this.translatePipe))):this.dimension=rt(Ye(this.product,f.dimensionUnit))}ngOnChanges(e){e.hasOwnProperty("entry")&&this.updateQuantity(),e.entry?.currentValue?.unit!==e.entry?.previousValue?.unit&&this.setParams(),e?.modifications?.currentValue&&this.setCartModifications(e.modifications.currentValue)}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}getProductFeatures(){this.productFeatures=ts(this.entry.product,this.featureRegExps,this.excludedFeatures)}getQuantityControl(){return this.isStrip&&this.catalogType===nt.STOCK&&this.entryParams?.get("quantity").disable(),this.entryParams?.get("quantity")}setCartModifications(e){this.entry=e.entry,this.product=e.entry.product,this.isAmountChanged=!0,this.changeDetection.detectChanges()}setParams(){this.product=this.entry.product,this.isStrip=this.product.productionType===Z.STRIP,this.featureRegExps=this.isStrip?Ne.CART.ORDER[this.product.categories[0].code===Zt_CODE?Se_STRIP__PREPAINTED:Z.STRIP][this.catalogType===nt.STOCK?Ke.MTS.toUpperCase():Ke.MTO.toUpperCase()]:Ne.CART.ORDER.PLATE[this.catalogType===nt.STOCK?Ke.MTS.toUpperCase():Ke.MTO.toUpperCase()],this.productPricePerItem=this.entry.basePrice?.formattedValue,this.productPriceTotal=this.productPriceTotal=this.entry.totalPrice?.formattedValue,this.getProductFeatures(),this.changeDetection.detectChanges()}updateQuantity(){const e=this.getQuantityControl();e&&(e.clearValidators(),e.setValidators(this.totalQuantity?ir(this.setMaxQuantityValue(this.entry),this.totalQuantity):ir(this.setMaxQuantityValue(this.entry))),e.updateValueAndValidity())}initEntryFormGroup(){this.entryParams=this.fb.group({productPrice:[this.product.price?.formattedValue],units:[this.entry.unit],quantity:[this.entry.quantity,this.totalQuantity?ir(this.setMaxQuantityValue(this.entry),this.totalQuantity):ir(this.setMaxQuantityValue(this.entry))]}),this.entryParams.get("quantity").valueChanges.pipe((0,x.Q)(this.destroyed$)).subscribe(()=>{this.inProcess=!1,this.tooltipComponent?.hide&&this.tooltipComponent?.hide(),this.safeOpenTooltip()})}toggleProductCharacteristics(){this.isCharacteristicsOpen.next(!this.isCharacteristicsOpen.value)}removeProduct(){this.cartService.removeProduct(this.entry).pipe((0,x.Q)(this.destroyed$)).subscribe()}edit(){const e=this.entry.unit===G.PIECES?+this.entry.quantity:we(+this.entry.quantity);this.isEditQuantity=!0,this.getQuantityControl().setValue(+e),this.getQuantityControl().markAllAsTouched(),this.safeOpenTooltip()}onBlur(){this.isEditQuantity=!1;const e=this.entry.unit===G.PIECES?+this.getQuantityControl().value:tn(+this.getQuantityControl().value);this.getQuantityControl().invalid?this.getQuantityControl().reset():!isNaN(e)&&e!==this.entry.quantity&&(this.inProcess=!0,this.cartService.updateProductQuantity(e,this.entry).pipe((0,z.M)(t=>{if(this.isAmountChanged=!1,this.quantityChanged.emit(),t.hasOwnProperty("modifications")){const s=t;switch(s?.modifications?.statusCode){case te.LOW_STOCK:this.tooltipVolumeComponent.open(),this.quantityAdded=s.modifications.quantityAdded;break;case te.WRONG_REMAINING_TONNAGE:this.globalMessageService.add({key:"text.productList.variantProduct.error.wrongRemainingTonnage"},p.NCV.MSG_TYPE_ERROR)}}}),(0,x.Q)(this.destroyed$)).subscribe())}safeOpenTooltip(){(this.entry.maxQuantity||this.schedulingLine?.remainingTonnage)&&this.getQuantityControl().invalid&&setTimeout(()=>{this.tooltipComponent?.open()})}isSteelGrade(e){return this.steelDefects=Al(e,f.steelDefects),this.steelDefects}setMaxQuantityValue(e){return e.unit===G.PIECES?this.isVolumeBased&&this.schedulingLine?.remainingTonnage?this.schedulingLine.remainingTonnage:+e.maxQuantity:this.isVolumeBased&&this.schedulingLine?.remainingTonnage?we(this.schedulingLine.remainingTonnage):we(+e.maxQuantity)}static#e=this.ctorParameters=()=>[{type:ye},{type:m.ze},{type:n.gRc},{type:p.S8D},{type:p.D97}];static#t=this.propDecorators={entry:[{type:n.pde}],modifications:[{type:n.pde}],catalogType:[{type:n.pde}],index:[{type:n.pde}],isExpired:[{type:n.pde}],schedulingLine:[{type:n.pde}],totalQuantity:[{type:n.pde}],isVolumeBased:[{type:n.pde}],quantityChanged:[{type:n.k7i}],tooltipComponent:[{type:n.Uct,args:["tooltip",{static:!1}]}],tooltipVolumeComponent:[{type:n.Uct,args:["tooltipVolume",{static:!1}]}]}};Il=(0,r.Cg)([(0,n.uAl)({selector:"app-cart-product",template:'<div\n  *ngIf="product"\n  [class.is-blocked]="entry.quantity === 0"\n  [class.is-expired]="isExpired"\n  [class.is-amount-changed]="isAmountChanged"\n  [class.is-open]="isCharacteristicsOpen | async"\n  class="cart-product"\n>\n  <div\n    *ngIf="inProcess"\n    class="loader-in-process"\n  >\n    <app-loader size="36px"></app-loader>\n  </div>\n\n  <div class="order-item-product__header">\n    <div class="order-item-product__category d-flex justify-content-start align-items-center">\n      <div class="order-item-product__index">{{ entry?.externalRank }}</div>\n      <span class="order-item-product__category-title">{{ \'orders.ordersActive.category\' | cxTranslate }}</span>\n      <span class="order-item-product__category-name">{{ product.categories[0]?.name }}</span>\n    </div>\n  </div>\n\n  <div class="cart-product__characteristic-block">\n    \x3c!-- 1 --\x3e\n    <ng-container *ngIf="productFeatures?.mainFeatures[0]">\n      <ng-container *ngTemplateOutlet="productProperty; context: {className: \'cart-product__steel-grade\', name: productFeatures.mainFeatures[0].name, value: productFeatures.mainFeatures[0].featureValues[0]?.value}"></ng-container>\n    </ng-container>\n\n    \x3c!-- 2 --\x3e\n    <div *ngIf="productPricePerItem || entry.priceNotFinal" class="cart-product__characteristic cart-product__price-per-item">\n      <div class="cart-product__characteristic-title">\n        {{ \'cartDetails.priceTon\' | cxTranslate }}\n      </div>\n      <div class="cart-product__characteristic-value cart-product__characteristic-value--overflowed">\n        <ng-container *ngIf="entry.priceNotFinal; then priceNotFinalTpl else priceTpl"></ng-container>\n        <ng-template #priceTpl>{{ productPricePerItem }}</ng-template>\n      </div>\n    </div>\n\n    \x3c!-- 3 --\x3e\n    <div\n      [class.is-editing]="isEditQuantity"\n      class="cart-product__characteristic cart-product__characteristic--row"\n    >\n      <ng-container *ngIf="getQuantityControl()">\n        <ng-container *ngTemplateOutlet="volume"></ng-container>\n\n        <ng-template #volume>\n          <ng-container *ngIf="!isEditQuantity; else inputField">\n            <div\n              [ngbTooltip]="volumeTooltip"\n              class="cart-product__piece-wrapper"\n              placement="bottom auto"\n              tooltipClass="tooltip tooltip--mt tooltip--error"\n              triggers="manual"\n              #tooltipVolume="ngbTooltip"\n            >\n              <div class="cart-product__characteristic-title">{{ (entry.unit === this.UNITS.PIECES ? \'cartDetails.pieces\' : \'cartDetails.volume\') | cxTranslate }}</div>\n              <div class="cart-product__characteristic-value">{{ entry.unit === this.UNITS.PIECES ? entry.quantity : (entry.quantity | massConversion) }} {{ entry.unit | units }}</div>\n            </div>\n\n            <svg-icon-sprite\n              *ngIf="!getQuantityControl().disabled"\n              (click)="edit()"\n              class="cart-product__edit-quantity"\n              src="edit"\n              width="20"\n              height="20"\n            ></svg-icon-sprite>\n          </ng-container>\n          <ng-template #inputField>\n            <span\n              [tooltipClass]=" \'tooltip tooltip--short\' + (getQuantityControl().invalid ? \' tooltip--error\': \' tooltip--hidden\')"\n              ngbTooltip="{{ \'volume.maxContractAllowance\' | cxTranslate:\n              { max: setMaxQuantityValue(entry), units: (entry.unit | units) } }}"\n              placement="bottom auto"\n              triggers=""\n              #tooltip="ngbTooltip"\n            >\n              <app-input\n                [controlData]="getQuantityControl()"\n                [showTextErrors]="false"\n                [label]="(entry.unit === UNITS.PIECES ? \'cartDetails.pieces\' : \'cartDetails.volume\') | cxTranslate"\n                [maskito]="entry.unit === UNITS.PIECES ? piecesMask : tonsMask"\n                (blurEvent)="onBlur()"\n                (keyup.enter)="onBlur()"\n                iconPath=""\n                type="number"\n              ></app-input>\n            </span>\n          </ng-template>\n        </ng-template>\n      </ng-container>\n    </div>\n\n    \x3c!-- 4 --\x3e\n    <div *ngIf="productPriceTotal || entry.priceNotFinal" class="cart-product__characteristic cart-product__price">\n      <div class="cart-product__characteristic-title">{{ \'text.cart.product.price\' | cxTranslate }}</div>\n      <div class="cart-product__characteristic-value cart-product__characteristic-value--overflowed">\n        <ng-container *ngIf="entry.priceNotFinal; then priceNotFinalTpl else priceTotalTpl"></ng-container>\n        <ng-template #priceTotalTpl>{{ productPriceTotal }}</ng-template>\n      </div>\n    </div>\n\n    \x3c!-- 5--\x3e\n    <ng-container *ngIf="productFeatures?.mainFeatures[1]">\n      <ng-container *ngTemplateOutlet="productProperty; context: {className: \'cart-product__product-standard\', name: productFeatures.mainFeatures[1].name, value: productFeatures.mainFeatures[1].featureValues[0]?.value}"></ng-container>\n    </ng-container>\n\n    \x3c!-- 6 --\x3e\n    <ng-container *ngIf="catalogType === GROUP_TYPE.STOCK && isStrip && product.secondCategory">\n      <ng-container *ngTemplateOutlet="productProperty; context: {className: \'cart-product__second-category\', name: (\'text.cart.product.secondCategory\' | cxTranslate), value: product.secondCategory}"></ng-container>\n    </ng-container>\n  </div>\n\n\n\n  <ng-template #priceNotFinalTpl>\n    <app-price-not-final>\n      <ng-container text>{{ \'text.cart.product.notFinal\' | cxTranslate }}</ng-container>\n      <ng-container tooltip-content>\n        <p class="grey-normal">{{ \'text.cart.product.contactTeam\' | cxTranslate }}</p>\n      </ng-container>\n    </app-price-not-final>\n  </ng-template>\n\n\n  <div class="cart-product__defects d-flex" *ngIf="isSteelGrade(product)">\n    <div class="cart-product__defects-title">{{ \'text.cart.product.steelDefects\' | cxTranslate }}</div>\n    <div class="cart-product__defects-items flex-wrap d-flex">\n      <span\n        *ngFor="let defect of steelDefects; let index= index"\n        class="cart-product__defects-items--value"\n      >\n        <span class="cart-product__defects-items--count">\n          {{ index + 1 }}.\n        </span>\n        {{ defect.value }}\n      </span>\n    </div>\n  </div>\n\n  <div class="cart-product__controls d-flex">\n    <div\n      *ngIf="productFeatures?.secondaryFeatures.length || productFeatures?.restFeatures.length"\n      class="cart-product__controls-item"\n    >\n      <span\n        (click)="toggleProductCharacteristics()"\n        class="cart-product__control"\n      >\n        {{ \'button.characteristics\' | cxTranslate }}\n        <svg-icon-sprite\n          [src]="(isCharacteristicsOpen | async) ? \'expand_less\' : \'expand_more\'"\n          width="16"\n          height="16"\n          class="cart-product__icon"\n        ></svg-icon-sprite>\n      </span>\n    </div>\n\n    <div class="cart-product__controls-item ml-auto text-right">\n      <span\n        (click)="removeProduct()"\n        class="cart-product__control pr-0"\n      >\n        <svg-icon-sprite\n          class="cart-product__icon"\n          src="delete_outline"\n          width="16"\n          height="16"\n        ></svg-icon-sprite>\n      </span>\n    </div>\n  </div>\n\n  <div\n    *ngIf="productFeatures?.secondaryFeatures.length || productFeatures?.restFeatures.length"\n    [class.is-open]="isCharacteristicsOpen | async"\n    class="cart-product__characteristic-block cart-product__characteristic-block--additional"\n  >\n    <ng-container *ngIf="salesUnit; else standard">\n      <ng-container *ngTemplateOutlet="secondaryFeatures; context: { features: productFeatures.secondaryFeatures.slice(0, 6) }"></ng-container>\n      <ng-container *ngTemplateOutlet="productProperty; context: { name: salesUnit.name, value: salesUnit.featureValues[0].value, code: salesUnit.code}"></ng-container>\n      <ng-container *ngTemplateOutlet="secondaryFeatures; context: { features: productFeatures.secondaryFeatures.slice(6) }"></ng-container>\n      <ng-container *ngTemplateOutlet="secondaryFeatures; context: { features: productFeatures.restFeatures }"></ng-container>\n    </ng-container>\n    <ng-template #standard>\n      <ng-container *ngTemplateOutlet="secondaryFeatures; context: { features: productFeatures.secondaryFeatures }"></ng-container>\n      <ng-container *ngTemplateOutlet="secondaryFeatures; context: { features: productFeatures.restFeatures }"></ng-container>\n      <ng-container *ngIf="catalogType === GROUP_TYPE.STOCK && isStrip && product.productionDate">\n        <ng-container *ngTemplateOutlet="productProperty; context: {className: \'cart-product__second-category\', name: (\'text.cart.product.productionDate\' | cxTranslate), value: product.productionDate | dateWithTimezonePipe}"></ng-container>\n      </ng-container>\n    </ng-template>\n  </div>\n\n  <ng-template #secondaryFeatures let-features="features">\n    <ng-container *ngFor="let feature of features; let last = last">\n      <ng-container *ngIf="feature.name && feature.featureValues && feature.featureValues[0]?.value">\n        <ng-container *ngTemplateOutlet="productProperty; context: {name: feature.name, value: feature.featureValues[0]?.value, code: feature.code}"></ng-container>\n      </ng-container>\n    </ng-container>\n  </ng-template>\n</div>\n\n\n<ng-template #volumeTooltip>\n  <div class="cart-product__volume-tooltip">\n    <svg-icon-sprite class="cart-product__volume-tooltip-icon" src="error_outline" width="18" height="18"></svg-icon-sprite>\n    <span class="cart-product__volume-tooltip-text">{{ \'text.productList.variantProduct.error.maxAvailableStock\' | cxTranslate }}: {{ entry.unit === UNITS.PIECES ? quantityAdded : (quantityAdded | massConversion) + \' t\' }}</span>\n  </div>\n</ng-template>\n\n<ng-template #productProperty let-className="className" let-name="name" let-value="value" let-code="code">\n  <div [class]="\'cart-product__characteristic \' + className">\n    <div class="cart-product__characteristic-title">{{ name }}</div>\n    <div\n      [title]="value"\n      class="cart-product__characteristic-value"\n    >\n      {{ value | changePropertyValue: { code: code, dimension: dimension, diameter: diameter } }}\n    </div>\n  </div>\n</ng-template>\n',changeDetection:n.Ngq.Default,styles:[Ux()]})],Il);var Bx=i(94588),Vx=i.n(Bx),Gx=i(30786);let wl=class{set setCartQuotation(e){this.cartQuotation=e,this.featureRegExps=Ne.CART.QUOTE[this.isStrip?this.cartQuotation.product.categories[0].code===Zt_CODE?Se_STRIP__PREPAINTED:Z.STRIP:Z.PLATE],this.destroySub(),this.setFormValues(),this.initFeatures()}constructor(e,t){this.cartService=e,this.changeDetection=t,this.isStrip=!1,this.UNITS=G,this.featureCodes=Xc,this.unitsControl=new m.hs,this.quantityControl=new m.hs(0),this.piecesMask=nl(),this.tonsMask=Ti(),this.isEditQuantity=!1,this.isProductCharacteristicsOpen=!1,this.cartQuotation=null,this.sub=new X.yU,this.destroyed$=new R.B,this.steelGrade="",this.productStandard="",this.coilWeight="",this.excludedFeatures=[f.steelDefects,f.uomDiameters,f.uomDimensions,f.rangedAttributes],this.productFeatures=null,this.isLoading=!1}ngAfterViewInit(){this.initFormSub(),this.cartQuotation.product.productionType===Z.STRIP?(this.dimension=rt(Ye(this.cartQuotation.product,f.uomDimensions)),this.diameter=rt(Ye(this.cartQuotation.product,f.uomDiameters))):this.dimension=rt(Ye(this.cartQuotation.product,f.dimensionUnit))}ngOnDestroy(){this.destroySub(),this.destroyed$.next(),this.destroyed$.complete()}destroySub(){this.sub.unsubscribe()}setFormValues(){this.quantityControl.setValue((this.cartQuotation.unit===G.KG?we(this.cartQuotation.quantity):this.cartQuotation.quantity)||0),this.unitsControl.setValue(this.cartQuotation.unit)}initFeatures(){this.productFeatures=ts(this.cartQuotation.product,this.featureRegExps,this.excludedFeatures)}initFormSub(){const e=this.unitsControl.valueChanges.pipe((0,Gx.p)(t=>{const s={...this.cartQuotation,unit:t};return this.isLoading=!0,this.cartService.updateProduct(s).pipe((0,_e.j)(()=>{this.isLoading=!1}))}),(0,x.Q)(this.destroyed$)).subscribe();this.sub.add(e)}getCharByCode(e){return this.cartQuotation.product.classifications[0]?.features.find(t=>t.code.includes(e))?.featureValues[0]?.value}toggleProductCharacteristics(){this.isProductCharacteristicsOpen=!this.isProductCharacteristicsOpen,this.changeDetection.detectChanges()}removeProduct(){this.cartService.removeProduct(this.cartQuotation).pipe((0,x.Q)(this.destroyed$)).subscribe()}onBlur(){this.isEditQuantity=!1;const e=this.cartQuotation.unit===G.KG?+tn(this.quantityControl.value):+this.quantityControl.value;this.quantityControl.invalid?this.quantityControl.reset():e!==this.cartQuotation.quantity&&(this.isLoading=!0,this.cartService.updateProductQuantity(e||0,this.cartQuotation).pipe((0,_e.j)(()=>this.isLoading=!1),(0,x.Q)(this.destroyed$)).subscribe())}edit(){this.isEditQuantity=!0}static#e=this.ctorParameters=()=>[{type:ye},{type:n.gRc}];static#t=this.propDecorators={isStrip:[{type:n.pde}],setCartQuotation:[{type:n.pde,args:["cartQuotation"]}]}};wl=(0,r.Cg)([(0,n.uAl)({selector:"app-cart-quotation-category",template:'<div\n  *ngIf="cartQuotation && productFeatures"\n  [class.is-characteristics-open]="isProductCharacteristicsOpen"\n  class="order-item-product"\n>\n  <div class="order-item-product__header">\n    <div class="order-item-product__category d-flex justify-content-start align-items-center">\n      <span class="order-item-product__category-title">{{\'quotation.category\' | cxTranslate}}</span>\n      <span\n        class="order-item-product__category-name">{{ cartQuotation.product.categories[0]?.name }}</span>\n    </div>\n  </div>\n\n  <div class="order-item-product__params">\n    <ng-container *ngTemplateOutlet="paramTmpl; context: {title: (\'quotation.steelGrade\' | cxTranslate), value: productFeatures.mainFeatures[0].featureValues[0]?.value}"></ng-container>\n\n    <div class="param">\n      <ng-container *ngIf="isStrip && cartQuotation?.product?.volumePrices?.length > 1; else plateUnits">\n        <ng-select\n          [items]="cartQuotation.product.volumePrices"\n          [formControl]="unitsControl"\n          [clearable]="false"\n          bindLabel="unit"\n          bindValue="unit"\n          class="ng-select-outline"\n        >\n          <ng-template ng-label-tmp let-item="item">\n            <div class="ng-select__title">\n              {{ \'quotation.units\' | cxTranslate }}\n            </div>\n            {{ \'placeholder.\' + item.unit | cxTranslate }}\n          </ng-template>\n        </ng-select>\n      </ng-container>\n\n      <ng-template #plateUnits>\n        <div class="param__title">{{\'quotation.units\' | cxTranslate}}</div>\n        <div class="param__value">{{ \'placeholder.\' + cartQuotation.unit | cxTranslate }}</div>\n      </ng-template>\n    </div>\n\n    <ng-container *ngIf="!isEditQuantity; else inputField">\n      <div class="param d-flex align-items-center">\n        <div class="param__wrapper">\n          <div class="param__title">{{ \'cartDetails.volume\' | cxTranslate }}</div>\n          <div class="param__value">{{ quantityControl.value }}\n            <ng-container *ngIf="cartQuotation.unit === UNITS.KG">t</ng-container>\n          </div>\n        </div>\n        <svg-icon-sprite\n          class="order-item-product__edit-quantity"\n          width="20"\n          height="20"\n          src="edit"\n          (click)="edit()"\n        ></svg-icon-sprite>\n      </div>\n    </ng-container>\n\n    <ng-template #inputField>\n      <app-input\n        [controlData]="quantityControl"\n        [label]="\'cartDetails.volume\' | cxTranslate"\n        [maskito]="cartQuotation.unit === UNITS.KG ? tonsMask : piecesMask"\n        [showTextErrors]="false"\n        (blurEvent)="onBlur()"\n        (keyup.enter)="onBlur()"\n        iconPath=""\n        type="number"\n      ></app-input>\n    </ng-template>\n\n    <ng-container *ngIf="isStrip && productFeatures.mainFeatures[1]">\n      <ng-container *ngTemplateOutlet="paramTmpl; context: {title: productFeatures.mainFeatures[1].name, value: productFeatures.mainFeatures[1].featureValues[0]?.value}"></ng-container>\n    </ng-container>\n  </div>\n\n  <div class="order-item-product__action-line">\n    <div class="order-item-product__action-line-header d-flex align-items-center">\n      <div class="d-flex w-100">\n        <div\n          *ngIf="productFeatures.secondaryFeatures?.length || productFeatures.restFeatures?.length"\n          (click)="toggleProductCharacteristics()"\n          class="order-item-product__characteristics-toggle order-item-product__characteristics-toggle--no-margin"\n        >\n          {{ \'orders.ordersActive.orderItemProduct.characteristics\' | cxTranslate }}\n          <svg-icon-sprite\n            src="expand_more"\n            class="order-item-product__characteristics-toggle-icon"\n            width="16px"\n          ></svg-icon-sprite>\n        </div>\n\n\n        <div class="cart-product__controls-item ml-auto">\n          <span\n            (click)="removeProduct()"\n            class="order-item-product__remove-button">\n              {{\'button.remove\' | cxTranslate}}\n            <svg-icon-sprite\n              src="cancel"\n              width="16"\n              height="16"\n              class="order-item-product__remove-button-icon"\n            ></svg-icon-sprite>\n          </span>\n        </div>\n      </div>\n    </div>\n\n    <div\n      *ngIf="productFeatures.secondaryFeatures?.length || productFeatures.restFeatures?.length"\n      class="order-item-product__action-line-content"\n    >\n      <hr class="order-item-product__action-line-hr">\n      <div class="order-item-product__params-extended">\n        <ng-container *ngFor="let feature of productFeatures.secondaryFeatures">\n          <ng-container *ngIf="feature.name && feature.featureValues[0]?.value">\n            <ng-container *ngTemplateOutlet="paramTmpl; context: {title: feature.name, value: feature.featureValues[0]?.value, code: feature.code}"></ng-container>\n          </ng-container>\n        </ng-container>\n        <ng-container *ngFor="let feature of productFeatures.restFeatures">\n          <ng-container *ngIf="feature.name && feature.featureValues[0]?.value">\n            <ng-container *ngTemplateOutlet="paramTmpl; context: {title: feature.name, value: feature.featureValues[0]?.value, code: feature.code}"></ng-container>\n          </ng-container>\n        </ng-container>\n      </div>\n    </div>\n  </div>\n</div>\n\n<ng-template #paramTmpl let-title="title" let-value="value" let-code="code">\n  <div class="param">\n    <div class="param__title">{{ title }}</div>\n    <div\n      [title]="value"\n      class="param__value"\n    >\n      {{ value | changePropertyValue: { code: code, dimension: dimension, diameter: diameter } }}\n    </div>\n  </div>\n</ng-template>\n',styles:[Vx()]})],wl);var Yx=i(92428),Qx=i.n(Yx);let Pl=class{set setQuotation(e){this.quotation=e}constructor(e,t,s,o,l,u,h){this.cartService=e,this.router=t,this.changeDetection=s,this.multiCartService=o,this.launchDialogService=l,this.customActiveCartService=u,this.orderTrackingService=h,this.groupNumber=null,this.cartType$=this.cartService.activeCartType$,this.PRODUCT_TYPE=Z,this.modifications=[],this.quotation=null,this.isError=!1,this.inProcess=!1,this.destroyed$=new R.B}ngOnInit(){this.orderTrackingService.trackViewCart([{orderType:"quotation",orderEntries:this.quotation?.orderEntries}])}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}proceedToCheckout(){this.isError?this.multiCartService.loadCart({cartId:"current",userId:"current"}):this.cartService.getGroupModifications(this.quotation.groupNumber).pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{if(this.modifications=e?.cartModifications,!(this.modifications?.length>0))return this.isError=!1,(0,Ce.z)([this.customActiveCartService.isStable(),this.cartType$]).pipe((0,oe.s)(1)).subscribe(([,t])=>{this.orderTrackingService.trackBeginCheckout("quotation",this.quotation?.orderEntries)}),this.router.navigate([M.CHECKOUT.QUOTATION],{queryParams:{groupNumber:this.quotation.groupNumber,rootNumber:this.groupNumber}});this.isError=!0,this.changeDetection.detectChanges()})}trackByFn(e,t){return t.entryNumber}removeGroup(e){(0,Sl.H)(this.cartService.openConfirmModal()).pipe((0,At.Z)(t=>t?(this.inProcess=!0,this.changeDetection.detectChanges(),this.cartService.removeGroup(this.quotation.groupNumber,e)):Qc.w),(0,z.M)(()=>this.launchDialogService.closeDialog("")),(0,x.Q)(this.destroyed$)).subscribe()}static#e=this.ctorParameters=()=>[{type:ye},{type:y.Ix},{type:n.gRc},{type:se.Z1},{type:v.PLe},{type:Ot},{type:bt}];static#t=this.propDecorators={setQuotation:[{type:n.pde,args:["quotation"]}],groupNumber:[{type:n.pde}]}};Pl=(0,r.Cg)([(0,n.uAl)({selector:"app-cart-quotation",template:'<app-toggle-card [isExpand]="true" [secondary]="true">\n  <div header-left>\n    <div class="header d-flex align-items-center">\n      <svg-icon-sprite class="header__icon" width="24" height="24" [src]="quotation.groupType.toLowerCase()"></svg-icon-sprite>\n      <p class="header__text">\n        {{ (quotation.groupType === PRODUCT_TYPE.STRIP ? \'quotation.strip\' : \'quotation.plate\') | cxTranslate}}\n      </p>\n    </div>\n  </div>\n  <div header-right>\n    <button class="header__clear" (click)="removeGroup(quotation.orderEntries)">{{ \'quotation.clearAll\' | cxTranslate }}</button>\n  </div>\n  <div toggle-body>\n    <div class="error-tab d-flex align-items-center" *ngIf="isError">\n      <svg-icon-sprite\n        src="info"\n        width="18"\n        height="18"\n        class="error-tab__icon">\n      </svg-icon-sprite>\n\n        <span class="error-tab__text">\n          {{\'quotation.errorTextHeader\' | cxTranslate}}\n        </span>\n    </div>\n    <ng-container *ngFor="let cartQuotation of quotation.orderEntries; trackBy: trackByFn">\n      <app-cart-quotation-category [isStrip]="quotation.groupType === PRODUCT_TYPE.STRIP" [cartQuotation]="cartQuotation">\n      </app-cart-quotation-category>\n    </ng-container>\n\n    <div class="quotation-footer">\n      <p class="quotation-footer__text quotation-footer__text--error" *ngIf="isError; else quotationInfo">\n        <svg-icon-sprite\n          src="error"\n          width="18"\n          height="18"\n          class="quotation-footer__error-icon"\n        ></svg-icon-sprite>\n\n        {{ \'quotation.errorTextFooter\' | cxTranslate}}\n      </p>\n\n      <ng-template #quotationInfo>\n        <p class="quotation-footer__text">{{ \'quotation.proceedText\' | cxTranslate}}</p>\n      </ng-template>\n\n      <button\n        (click)="proceedToCheckout()"\n        class="quotation-footer__btn btn btn-default btn--sm"\n      >{{\'button.proceedToCheckout\' | cxTranslate}}</button>\n    </div>\n    <div\n      *ngIf="inProcess"\n      class="loader-in-process"\n    >\n      <app-loader size="36px"></app-loader>\n    </div>\n  </div>\n</app-toggle-card>\n\n',styles:[Qx()]})],Pl);var Hx=i(52348),jx=i.n(Hx);let ns=class{constructor(e){this.cartService=e,this.isCheckout=!1,this.cartType$=this.cartService.activeCartType$,this.CHECKOUT_TYPE=Om,this.CART_TYPES=re}static#e=this.ctorParameters=()=>[{type:ye}];static#t=this.propDecorators={isCheckout:[{type:n.pde}],isMts:[{type:n.pde}]}};ns=(0,r.Cg)([(0,n.uAl)({selector:"app-cart-summary",template:'<app-cart-menu *ngIf="cartType$ | async as cartType"\n  [menuTitle]="(\'text.cartMenu.\' + cartType.toLowerCase()) | cxTranslate"\n  [isCheckout]="isCheckout"\n  class="menu-cart"\n>\n  <ng-container disclaimer *ngIf="cartType === CART_TYPES.ORDER">\n    <div class="cart-menu__disclaimer">\n      {{ \'text.cartMenu.disclaimer\' | cxTranslate }}\n    </div>\n  </ng-container>\n</app-cart-menu>\n',changeDetection:n.Ngq.OnPush,styles:[jx()]})],ns);var Kx=i(30635),Xx=i.n(Kx);let rr=class{constructor(e){this.cartService=e,this.cart$=this.cartService.getCart().pipe((0,z.M)(t=>{let s=[],o=[];t?.rootGroups?.forEach(l=>{l.children&&(l.groupType===re.ORDER?s=l.children:(this.quotationRootNumber=+l.groupNumber,l.children.find(u=>u.orderEntries.length>0)&&(o=l.children)))}),this.orders$.next(s),this.quotations$.next(o)})),this.cartTypes=re,this.quotationRootNumber=null,this.cartType$=this.cartService.activeCartType$,this.orders$=new P.t([]),this.quotations$=new P.t([])}trackByFn(e,t){return+t.groupNumber}static#e=this.ctorParameters=()=>[{type:ye}]};rr=(0,r.Cg)([(0,n.uAl)({selector:"app-cart",template:'<div class="cart-details">\n  <ng-container *ngIf="(cart$ | async); else loading">\n    <ng-container *ngIf="(cartType$ | async) as cartType">\n      <ng-container [ngSwitch]="cartType">\n        <ng-container *ngSwitchCase="cartTypes.ORDER">\n          <ng-container *ngIf="(orders$ | async) as orders">\n            <ng-container *ngIf="orders.length > 0; else empty">\n              <ng-container *ngFor="let order of orders; trackBy: trackByFn">\n                <app-cart-mill [mill]="order" class="cart-details__item"></app-cart-mill>\n              </ng-container>\n            </ng-container>\n          </ng-container>\n        </ng-container>\n\n        <ng-container *ngSwitchCase="cartTypes.QUOTATION">\n          <ng-container *ngIf="(quotations$ | async) as quotations">\n            <ng-container *ngIf="quotations.length > 0; else empty">\n              <ng-container *ngFor="let quotation of quotations; trackBy: trackByFn">\n                <app-cart-quotation\n                  class="cart-details__item"\n                  [quotation]="quotation"\n                  [groupNumber]="quotationRootNumber">\n                </app-cart-quotation>\n              </ng-container>\n            </ng-container>\n          </ng-container>\n        </ng-container>\n      </ng-container>\n    </ng-container>\n  </ng-container>\n</div>\n\n<ng-template #empty>\n  <app-cart-empty-body\n    *ngIf="(orders$ | async).length !== 0 || (quotations$ | async).length !== 0"></app-cart-empty-body>\n</ng-template>\n\n<ng-template #loading>\n  <app-loader></app-loader>\n</ng-template>\n\n\n',styles:[Xx()]})],rr);let Dl=class extends se.V7{constructor(e,t,s){super(e,t,s),this.statePersistenceService=e,this.store=t,this.siteContextParamsService=s}initSync(){}static#e=this.ctorParameters=()=>[{type:p.g5q},{type:Je.il},{type:p.uJr}]};Dl=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],Dl);let ss=class{};ss=(0,r.Cg)([(0,n.UQu)({declarations:[rr,Il,Tl,bl,ns,fl,xl,es,El,Pl,wl,yl],imports:[p.LP3,S.MD,V.F2,Rn,ce,U.q1,Xe.n8,p.htr.withConfig({cmsComponents:{CartComponent:{component:rr,guards:[j,Y]},CartTotalsComponent:{component:ns,guards:[Y,Y]},EmptyCartComponent:{component:es,guards:[Y,Y]}}}),st.MQ,m.X1,p.LP3,y.iI,ge,sr,xe,ct,ze,be],exports:[ns,es],providers:[{provide:se._E,useClass:js},{provide:se.eW,useClass:Ws},{provide:se.Z1,useExisting:(0,n.Rfq)(()=>Ks)},{provide:se.e2,useExisting:(0,n.Rfq)(()=>Ot)},{provide:se.V7,useClass:Dl}]})],ss);var Jx=i(69879),ef=i.n(Jx),is=i(70152);let Ll=class{constructor(){this.entryNumber=null,this.valueUpdated=new n.bkB,this.shippingForm=new m.gE({selectedForShipTo:new m.MJ(null,m.k0.required),selectedShippingAddress:new m.MJ(null,m.k0.required),selectedShippingCondition:new m.MJ(null,m.k0.required)}),this.shipment=null,this.shipToMap={},this.shippingConditionsMap={},this.shipTo=[],this.formSubscriptions=[],this.destroyed$=new R.B}set setShipment(e){this.shipTo=[],this.shipToMap={},this.shippingConditionsMap={},this.resetFormSubsriptions(),this.shipment=e,e.shipTo.forEach(o=>{this.shipTo.push({addresses:o.addresses,shippingConditions:o.shippingConditions,...o.b2bUnit})}),this.shipTo.forEach(o=>{this.shipToMap[o.id]={addresses:o.addresses,shippingConditions:o.shippingConditions}}),this.shipment.shippingConditions.forEach(o=>{this.shippingConditionsMap[o.code]=o.name}),this.setFormSubscriptions();const t=e.itemData&&e.itemData.find(o=>o.entryNumber===this.entryNumber)||{},s={};s.selectedForShipTo=t.selectedForShipTo||e.selectedForShipTo,s.selectedShippingAddress=t.selectedShippingAddress||e.selectedShippingAddress,s.selectedShippingCondition=t.selectedShippingCondition||e.defaultShippingCondition,this.isSameValues(s)||this.shippingForm.patchValue(s)}setFormSubscriptions(){this.formSubscriptions.push(this.shippingForm.get("selectedForShipTo").valueChanges.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{const t=this.shipToMap[e];if(!t)return this.shippingForm.get("selectedShippingAddress").setValue(null),void this.shippingForm.get("selectedShippingCondition").setValue(null);t.addresses.length>0&&this.shippingForm.get("selectedShippingAddress").setValue(t.addresses[0].id),t.shippingConditions&&this.shippingForm.get("selectedShippingCondition").setValue(t.shippingConditions)})),this.formSubscriptions.push(this.shippingForm.valueChanges.pipe((0,is.B)(500),(0,x.Q)(this.destroyed$)).subscribe(e=>{this.valueUpdated.emit(e)}))}resetFormSubsriptions(){this.formSubscriptions.forEach(e=>{e.unsubscribe()})}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}isSameValues(e){const t=this.shippingForm.value;let s=!0;return t.selectedForShipTo!==e.selectedForShipTo&&(s=!1),t.selectedShippingAddress!==e.selectedShippingAddress&&(s=!1),t.selectedShippingCondition!==e.selectedShippingCondition&&(s=!1),s}static#e=this.propDecorators={setShipment:[{type:n.pde,args:["shipment"]}],entryNumber:[{type:n.pde}],valueUpdated:[{type:n.k7i}]}};Ll=(0,r.Cg)([(0,n.uAl)({selector:"app-checkout-shipment-item-form",template:'<div\n  *ngIf="shipTo.length === 1; else selectShipToItems"\n  class="checkout__select checkout__select--text"\n>\n  <div class="checkout__title">{{ \'text.checkout.order.shipTo\' | cxTranslate }}</div>\n  <div class="checkout__item">\n    {{ shipTo[0].name }}\n  </div>\n</div>\n\n<ng-template #selectShipToItems>\n  <app-select\n    [controlData]="shippingForm.get(\'selectedForShipTo\')"\n    [items]="shipTo"\n    [clearable]="false"\n    bindLabel="name"\n    bindValue="id"\n    placeholder="{{ \'text.checkout.shipTo\' | cxTranslate }}"\n    class="checkout__select w-100"\n  ></app-select>\n</ng-template>\n\n<div\n  class="checkout__select checkout__select--text"\n  *ngIf="shipToMap[shippingForm.get(\'selectedForShipTo\').value]?.addresses.length === 1; else selectAdressItems"\n>\n  <div class="checkout__title">{{ \'text.checkout.order.shippingAddress\' | cxTranslate }}</div>\n  <div class="checkout__item">\n    {{ shipToMap[shippingForm.get(\'selectedForShipTo\').value].addresses[0].formattedAddress }}\n  </div>\n</div>\n\n<ng-template #selectAdressItems>\n  <app-select\n    *ngIf="shippingForm.get(\'selectedForShipTo\').value"\n    [clearable]="false"\n    [controlData]="shippingForm.get(\'selectedShippingAddress\')"\n    [items]="shipToMap[shippingForm.get(\'selectedForShipTo\').value]?.addresses || []"\n    bindLabel="formattedAddress"\n    bindValue="id"\n    placeholder="{{ \'text.checkout.shippingAddress\' | cxTranslate }}"\n    class="checkout__select w-100"\n  ></app-select>\n</ng-template>\n\n<div\n  class="checkout__select checkout__select--text"\n  *ngIf="shippingForm.get(\'selectedShippingCondition\').value"\n>\n  <div class="checkout__title">{{ \'text.checkout.transportationType\' | cxTranslate }}</div>\n  <div class="checkout__item">\n    {{ shippingConditionsMap[shippingForm.get(\'selectedShippingCondition\').value] }}\n  </div>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[ef()]})],Ll);var Dg=i(60930);var nf=i(49335),sf=i.n(nf),rs=i(32318),rf=i(4335);const Lg={su:"Su",mo:"Mo",tu:"Tu",we:"We",th:"Th",fr:"Fr",sa:"Sa"},kg={1:"January",2:"February",3:"March",4:"April",5:"May",6:"June",7:"July",8:"August",9:"September",10:"October",11:"November",12:"December"};var of=i(11585);let os=class{constructor(){this.defaultView=1,this.disableHeaderButtons=!0,this.disableUntil=null,this.enableInputMask=!1,this.endDate=new Date,this.hideNavArrows=!1,this.isDefaultMonth=!1,this.isFullSize=!1,this.isPositionFixed=!1,this.isModal=!1,this.isRange=!1,this.isReport=!1,this.isRequired=!1,this.maxYearCurrentPlus=0,this.minDayCurrentPlus=0,this.minYearCurrentMinus=0,this.monthSelector=!0,this.placeholder="Choose date",this.startDate=new Date,this.yearSelector=!0,this.disableWeekends=!1,this.dayCellClicked=new n.bkB,this.changed=new n.bkB,this.currentDate=new Date,this.disabled=!1,this.inputText="",this.isCalendarOpened=!1,this.locale="en",this.model=null,this.myDpOptions=null,this.valid=!0,this.selectedMonth=0,this.selectedYear=0,this.tradingReportMinYear=2019,this.defaultMonth=null,this.isOnFocus=!1,this.inputSub=null}ngOnInit(){this.initDateLimits(),this.initOptions(),this.changeDefaultMonthDynamically()}ngAfterViewInit(){this.initDatePipe()}ngOnDestroy(){this.inputSub?.destroy()}initDatePipe(){if(this.enableInputMask){const e=(0,rf.createAutoCorrectedDatePipe)("dd.mm.yyyy",{minYear:this.startDate.getFullYear()-this.minYearCurrentMinus,maxYear:this.endDate.getFullYear()+this.maxYearCurrentPlus});this.inputSub=of.maskInput({inputElement:this.input.nativeElement,mask:[/\d/,/\d/,".",/\d/,/\d/,".",/\d/,/\d/,/\d/,/\d/],pipe:e})}}initOptions(){this.myDpOptions={alignSelectorRight:!0,appendSelectorToBody:!0,calendarAnimation:{in:rs.$4.None,out:rs.$4.None},dateFormat:2===this.defaultView?"mm.yyyy":"dd.mm.yyyy",dateRange:this.isRange,dayLabels:Lg,defaultView:this.defaultView,disableHeaderButtons:this.disableHeaderButtons,disableSince:{year:this.maxYear,month:this.maxMonth,day:this.maxDay},disableUntil:{year:this.minYear,month:this.minMonth,day:this.minDay},firstDayOfWeek:"mo",highlightDates:[{year:this.currentDate.getFullYear(),month:this.currentDate.getMonth()+1,day:this.currentDate.getDate()}],markCurrentDay:!1,maxYear:this.maxYear,minYear:this.minYear,monthLabels:kg,monthSelector:this.monthSelector,showMonthNumber:!1,showSelectorArrow:!0,sunHighlight:!1,yearSelector:this.yearSelector,stylesData:{selector:this.getSelector(),styles:""},disableWeekends:this.disableWeekends}}getSelector(){let e="dp1";return this.isRange&&(e+=" dp-range"),this.hideNavArrows&&(e+=" dp-no-arrows"),this.isPositionFixed&&(e+=" dp-fixed"),this.isModal&&(e+=" dp-modal"),e}changeDefaultMonthDynamically(){this.isDefaultMonth?this.defaultMonth={defMonth:`${this.maxYear}/${this.maxMonth}`,overrideSelection:!1}:this.defaultMonth={defMonth:`${this.currentDate.getFullYear()}/${this.currentDate.getMonth()+1}`}}setFocus(){this.isOnFocus=!0}removeFocus(){this.isOnFocus=!1}initDateLimits(){this.minYear=this.startDate.getFullYear()-this.minYearCurrentMinus,this.minMonth=this.startDate.getMonth()+1,this.minDay=this.startDate.getDate()+this.minDayCurrentPlus,this.maxYear=this.endDate.getFullYear()+this.maxYearCurrentPlus,this.maxMonth=this.endDate.getMonth()+1,this.maxDay=this.endDate.getDate()+1,this.isReport&&(this.maxMonth=1,this.maxDay=1,this.minMonth=0,this.minDay=1,this.minYear=this.tradingReportMinYear)}clearDate(){this.ngxdp?.clearDate()}onCalendarToggle(e){this.isCalendarOpened=1===e}onInputFieldChanged(e){this.valid=e.valid,!e.valid&&e.value&&this.control.setValue(e.value),this.control.touched&&""===e.value&&this.clearDate()}calendarViewChanged(e){this.selectedMonth=e.month,this.selectedYear=e.year}changeView(e){2===this.defaultView&&e===rs.G9.Date&&(this.control.setValue({isRange:!1,singleDate:{date:{year:this.selectedYear,month:this.selectedMonth,day:1},formatted:`${this.selectedMonth}.${this.selectedYear}`,jsDate:new Date(Date.UTC(this.selectedYear,this.selectedMonth-1,1))},dateRange:null}),this.ngxdp.closeCalendar())}dateChanged(){setTimeout(()=>{this.changed.emit()})}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={control:[{type:n.pde}],defaultView:[{type:n.pde}],disableHeaderButtons:[{type:n.pde}],disableUntil:[{type:n.pde}],enableInputMask:[{type:n.pde}],endDate:[{type:n.pde}],hideNavArrows:[{type:n.pde}],isDefaultMonth:[{type:n.pde}],isFullSize:[{type:n.pde}],isPositionFixed:[{type:n.pde}],isModal:[{type:n.pde}],isRange:[{type:n.pde}],isReport:[{type:n.pde}],isRequired:[{type:n.pde}],maxYearCurrentPlus:[{type:n.pde}],minDayCurrentPlus:[{type:n.pde}],minYearCurrentMinus:[{type:n.pde}],monthSelector:[{type:n.pde}],placeholder:[{type:n.pde}],startDate:[{type:n.pde}],yearSelector:[{type:n.pde}],disableWeekends:[{type:n.pde}],dayCellClicked:[{type:n.k7i}],changed:[{type:n.k7i}],ngxdp:[{type:n.Uct,args:["dp"]}],input:[{type:n.Uct,args:["input",{static:!1}]}]}};os=(0,r.Cg)([(0,n.uAl)({selector:"app-date-picker",template:'<div\n  *ngIf="control"\n  [class.datepicker-container--full]="isFullSize"\n  [class.datepicker-container--input-focus]="isOnFocus"\n  class="datepicker-container"\n>\n  <div>\n    <input\n      #input\n      [attr.disabled]="disabled ? \'\' : null"\n      [locale]="locale"\n      [options]="myDpOptions"\n      [defaultMonth]="defaultMonth"\n      [class.not-empty]="control.value || input.value"\n      [formControl]="control"\n\n      (calendarToggle)="onCalendarToggle($event)"\n      (calendarViewChanged)="calendarViewChanged($event)"\n      (click)="dp.toggleCalendar()"\n      (focus)="setFocus()"\n      (blur)="removeFocus()"\n      (inputFieldChanged)="onInputFieldChanged($event)"\n      (viewActivated)="changeView($event)"\n      (dateChanged)="dateChanged()"\n\n      angular-mydatepicker\n      autocomplete="off"\n      name="mydate"\n      type="text"\n      class="datepicker-container__input"\n      #dp="angular-mydatepicker"\n    />\n\n    <span class="datepicker-container__placeholder">\n      {{ placeholder }} <span *ngIf="isRequired" class="datepicker-container__placeholder--required">*</span>\n    </span>\n    <ng-container *ngTemplateOutlet="(isCalendarOpened || control.value) ? btnCloseTmpl : btnCalendarTmpl"></ng-container>\n    <ng-template #btnCalendarTmpl>\n      <button\n        (click)="dp.toggleCalendar()"\n        class="datepicker-container__button"\n        type="button"\n        [ngbTooltip]="tooltipContent"\n        container="body"\n        placement="bottom auto"\n        tooltipClass="tooltip--datepicker"\n      >\n        <svg-icon-sprite\n          class="datepicker-container__button-icon"\n          src="event"\n          width="18"\n          height="18"\n        ></svg-icon-sprite>\n      </button>\n    </ng-template>\n    <ng-template #btnCloseTmpl>\n      <button\n        (click)="clearDate()"\n        class="datepicker-container__button"\n        type="button"\n        [ngbTooltip]="tooltipContent"\n        container="body"\n        placement="bottom auto"\n        tooltipClass="tooltip--datepicker"\n      >\n        <svg-icon-sprite\n          class="datepicker-container__button-icon"\n          src="close"\n          width="18"\n          height="18"\n        ></svg-icon-sprite>\n      </button>\n    </ng-template>\n  </div>\n</div>\n<cx-form-errors [control]="control"></cx-form-errors>\n\n<ng-template #tooltipContent>\n  <ng-container *ngIf="!isCalendarOpened">\n    <ng-content select="[tooltip]"></ng-content>\n  </ng-container>\n</ng-template>\n',styles:[sf()]})],os);let Ze=class{};Ze=(0,r.Cg)([(0,n.UQu)({declarations:[os],imports:[Lt.Bb,m.YN,m.X1,Dg.PV,p.LP3,v.GQ,Ft.u,Xe.n8,V.F2],providers:[],exports:[os],bootstrap:[os]})],Ze);var cf=i(48188),lf=i.n(cf);let or=class{constructor(){this.title="",this.description="",this.inline=!1}static#e=this.propDecorators={title:[{type:n.pde}],description:[{type:n.pde}],inline:[{type:n.pde}]}};or=(0,r.Cg)([(0,n.uAl)({selector:"app-text-block",template:'<div class="text-block" [class.text-block--inline]="inline">\n  <span class="text-block__title" app-text-title>{{title}}</span>\n  <span class="text-block__content" app-text-description>\n    {{description}}\n    <ng-content></ng-content>\n  </span>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[lf()]})],or);var pf=i(36962),uf=i.n(pf);let ar=class{};ar=(0,r.Cg)([(0,n.uAl)({selector:"[app-text-description]",template:"<ng-content></ng-content>\n",changeDetection:n.Ngq.OnPush,styles:[uf()]})],ar);var gf=i(79650),mf=i.n(gf);let cr=class{};cr=(0,r.Cg)([(0,n.uAl)({selector:"[app-text-title]",template:"<ng-content></ng-content>\n",changeDetection:n.Ngq.OnPush,styles:[mf()]})],cr);let An=class{};An=(0,r.Cg)([(0,n.UQu)({declarations:[or,cr,ar],exports:[or,cr,ar],imports:[S.MD]})],An);var yt,kl,vf=i(17067),xf=i.n(vf);!function(a){a.MTO="mto",a.MTS="mts",a.QUOTATION="quotation",a.VB_QUOTATION="vbQuotation"}(yt||(yt={})),function(a){a.CartTopCheckoutQuotationComponent="CartTopCheckoutQuotationComponent",a.CartTopCheckoutComponent="CartTopCheckoutComponent"}(kl||(kl={}));let lr=class{constructor(e){this.componentData=e,this.checkoutHeaderEnum=kl,this.uid$=this.componentData.data$.pipe((0,w.T)(t=>t?.uid))}ngOnInit(){}static#e=this.ctorParameters=()=>[{type:v.TLs}]};lr=(0,r.Cg)([(0,n.uAl)({selector:"app-cart-top-checkout-component",template:"<ng-container *ngIf=\"uid$ | async as uid\">\n  <h5 class=\"checkout__title\">\n    {{  (uid === checkoutHeaderEnum.CartTopCheckoutComponent ? 'text.checkout.header' : 'text.checkout.headerQuotation') | cxTranslate }}\n  </h5>\n</ng-container>\n",styles:[xf()]})],lr);var Cf=i(40389),bf=i.n(Cf);let dr=class{constructor(e,t,s){this.customCheckoutService=e,this.activatedRoute=t,this.changeDetection=s,this.isConsignment=!1,this.isConsigneeDisabled=!1,this.soldToConsignees=[],this.consignees=[],this.consigneeList=[],this.consigneeControl=new m.MJ,this.isConsignmentTrigger$=this.customCheckoutService.isConsignmentTrigger$.asObservable(),this.selectedConsignee=null,this.checkoutType=yt,this.destroyed$=new R.B}ngOnInit(){const e=this.activatedRoute.snapshot.url.pop();this.type=e.path,this.isConsigneeDisabled=this.type!==yt.QUOTATION,this.isConsigneeDisabled&&this.consigneeControl.disable(),this.getShipment(e.path).pipe((0,x.Q)(this.destroyed$)).subscribe(t=>{this.isConsignment=t.isConsignment,this.soldToConsignees=t.consignee,this.setConsignees(t.selectedForSoldTo),this.setConsignee(t.selectedConsignee),this.changeDetection.detectChanges(),this.initSoldToSubscription()}),this.consigneeControl.valueChanges.pipe((0,k.n)(t=>(this.selectedConsignee=t?this.consignees.find(s=>s.b2bUnit.id===t):null,this.customCheckoutService.updateConsignee(t))),(0,x.Q)(this.destroyed$)).subscribe()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}updateConsignment(){this.isConsigneeDisabled||(this.isConsignment=!this.isConsignment,this.customCheckoutService.updateConsignmentFlag(this.activatedRoute.snapshot.queryParams.groupNumber,this.isConsignment).pipe((0,x.Q)(this.destroyed$)).subscribe(()=>{this.setConsignee(),this.changeDetection.detectChanges()}))}getCheckboxIcon(e,t){return t&&!e?le.error:this.isConsigneeDisabled?le.disabledSelected:e?le.selected:le.standard}getShipment(e){return this.customCheckoutService.getShipment(this.activatedRoute.snapshot.queryParams.groupNumber,e)}initSoldToSubscription(){this.customCheckoutService.soldToAddress$.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.setConsignees(e),this.setConsignee(this.consigneeControl.value)})}setConsignees(e){if(!this.soldToConsignees.length)return;const t=this.soldToConsignees.find(s=>s.soldTo===e);t&&(this.consignees=t.consignees,this.consigneeList=t.consignees.map(s=>s.b2bUnit))}setConsignee(e){if(!this.isConsignment)return;const t=1===this.consigneeList.length?this.consigneeList[0].id:null,s=this.consigneeList.find(l=>l.id===e),o=s?s.id:t;o?this.consigneeControl.setValue(o):this.consigneeControl.reset()}static#e=this.ctorParameters=()=>[{type:Me},{type:y.nX},{type:n.gRc}]};dr=(0,r.Cg)([(0,n.uAl)({selector:"app-checkout-consignment",template:'<div class="checkout__consignment d-flex flex-column" *ngIf="consigneeList.length">\n  <div (click)="updateConsignment()" class="cursor-pointer d-flex align-items-start">\n    <img\n      [src]="getCheckboxIcon(isConsignment, isConsignmentTrigger$ | async)"\n      alt=""\n      class="checkout__consignment-checkbox"\n    />\n    <span class="checkout__consignment-title">\n      {{\n        (type === checkoutType.QUOTATION ? \'text.checkout.quotationConsignment\' : \'text.checkout.orderConsignment\')\n          | cxTranslate\n      }}\n    </span>\n  </div>\n  <p class="checkout__consignment-error" *ngIf="(isConsignmentTrigger$ | async) && !isConsignment">\n    {{ \'formErrors.required\' | cxTranslate }}\n  </p>\n  <ng-container *ngIf="isConsignment && consigneeList.length > 1">\n    <app-select\n      [clearable]="false"\n      [controlData]="consigneeControl"\n      [items]="consigneeList"\n      bindLabel="name"\n      bindValue="id"\n      class="checkout__consignment-select"\n      placeholder="{{ \'text.checkout.consigneeSelect\' | cxTranslate }}"\n    ></app-select>\n  </ng-container>\n  <ng-container *ngIf="isConsignment && consigneeList.length === 1">\n    <div class="checkout__consignment-item">\n      {{ selectedConsignee.b2bUnit.name }}\n    </div>\n  </ng-container>\n  <ng-container *ngIf="isConsignment && selectedConsignee">\n    <div>\n      <div class="checkout__consignment-sub-title">{{ \'text.checkout.consigneeAddress\' | cxTranslate }}</div>\n      <div class="checkout__consignment-item">\n        {{ selectedConsignee.addresses[0]?.formattedAddress }}\n      </div>\n    </div>\n  </ng-container>\n</div>\n',styles:[bf()]})],dr);var Sf=i(21843),Tf=i.n(Sf),pe=i(99437),ue=i(18810);const Fg=(a,e,t=!1)=>e.getCart().pipe((0,At.Z)(s=>{if(!s.rootGroups)return(0,$.of)();const o=a.snapshot.queryParams,l=s.rootGroups.filter(h=>h.groupType===re.ORDER);let u=null;return l.forEach(h=>{if(u)return;const _=h.children.find(C=>C.groupNumber===o.rootNumber);_&&(u=_.children.find(C=>C.groupNumber===o.groupNumber)?.agreement)}),!u&&t?(0,ue.$)("no agreement"):(0,$.of)(u||null)}));let pr=class{constructor(e,t,s){this.activatedRoute=e,this.cartService=t,this.customCheckoutService=s,this.agreement$=Fg(this.activatedRoute,this.cartService,!0).pipe((0,pe.W)(()=>(this.customCheckoutService.showErrorAndRedirect(),(0,$.of)(null)))),this.mill$=this.cartService.getCart().pipe((0,w.T)(o=>o.rootGroups?o.rootGroups.filter(l=>l.groupType===re.ORDER).find(l=>l.children.find(u=>u.groupNumber===this.activatedRoute.snapshot.queryParams.rootNumber)):(0,$.of)()))}ngOnInit(){}static#e=this.ctorParameters=()=>[{type:y.nX},{type:ye},{type:Me}]};pr=(0,r.Cg)([(0,n.uAl)({selector:"app-checkout-contract-agreement-mto",template:'<div *ngIf="agreement$ | async as agreement" class="checkout__content justify-content-between">\n  <div class="checkout__shadow d-flex align-items-center">\n    <svg-icon-sprite class="checkout__contract-icon" src="description"></svg-icon-sprite>\n    <div class="checkout__contract">\n      <div class="checkout__contract-container">\n        <div class="checkout__contract-text">{{ agreement.contractLength?.name }} {{ \'text.checkout.order.agreement\' | cxTranslate }}:<span\n          class="checkout__contract-info">{{ agreement.endDate | dateWithTimezonePipe: \'y\' }} ({{ agreement.code }})</span></div>\n        <div class="checkout__contract-text">{{ \'text.checkout.order.contractPeriod\' | cxTranslate }} <span\n          class="checkout__contract-info">\n          {{ agreement.startDate | dateWithTimezonePipe }} - {{ agreement.endDate | dateWithTimezonePipe }}</span></div>\n      </div>\n    </div>\n  </div>\n  <div *ngIf="mill$ | async as mill" class="checkout__contract-mill d-flex align-items-center">\n    <svg-icon-sprite class="checkout__contract-mill-icon"  src="nlmk_logo_en"></svg-icon-sprite>\n  </div>\n</div>\n',styles:[Tf()]})],pr);var Rf=i(82955),Of=i.n(Rf);let rn=class{constructor(e,t,s){this.occEndpointsService=e,this.http=t,this.clientTokenService=s}getUrl(e){return this.occEndpointsService.buildUrl(`${E.COMPANIES.OBJECTS}/${e}`)}getCompaniesData(e){return this.clientTokenService.getClientToken().pipe((0,k.n)(t=>this.http.get(this.getUrl(e),{headers:{Authorization:`${t.token_type} ${t.access_token}`}})))}static#e=this.ctorParameters=()=>[{type:p.zxz},{type:U.Qq},{type:p.EAp}]};rn=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],rn);let gt=class{constructor(e){this.facetService=e,this.orderType$=this.facetService.facetList$.pipe((0,w.T)(t=>t.activeFacets.find(s=>s.facetCode===ie.ORDER_TYPE)))}static#e=this.ctorParameters=()=>[{type:v.rOA}]};gt=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],gt);var Pe,In=i(2490);!function(a){a.LOGIN="login",a.REGISTER="register",a.FORGOT="forgot-password",a.UPDATE="update-password"}(Pe||(Pe={}));let ur=class{constructor(e,t){this.config=e,this.http=t,this.endpoint="basesites?fields=baseSites(uid,defaultLanguage(isocode),urlEncodingAttributes,googleTagId,urlPatterns,stores(currencies(isocode),defaultCurrency(isocode),languages(isocode),defaultLanguage(isocode)))"}get baseEndpoint(){return(this.config.backend.occ.baseUrl||"")+this.config.backend.occ.prefix}get url(){return`${this.baseEndpoint}${this.endpoint}`}load(){return this.config&&this.config.backend&&this.config.backend.occ?this.http.get(this.url).pipe((0,w.T)(({baseSites:e})=>e)):(0,ue.$)(new Error("Missing config for OCC backend!"))}static#e=this.ctorParameters=()=>[{type:p.EqC},{type:U.Qq}]};ur=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],ur);let on=class{constructor(e,t,s){this.userConsentService=e,this.authService=t,this.userIdService=s,this.consentsUrls$=new P.t([]),this.isHaveMissingConsent$=this.userConsentService.getConsents().pipe((0,z.M)(o=>{const l=o?.filter(u=>u?.currentConsent?.hasOwnProperty("consentPageUrl")).map(u=>u.currentConsent.consentPageUrl);this.consentsUrls$.next(l)}),(0,w.T)(o=>this.groupConsentByName(o,Oe_OBLIGATORY_)),(0,w.T)(o=>o.map(l=>this.isConsentGiven(l.currentConsent))),(0,w.T)(o=>o.includes(!1))),(0,Ce.z)(this.authService.isUserLoggedIn(),this.userIdService.takeUserId()).pipe((0,B.p)(([o,l])=>o)).subscribe(([o,l])=>{o&&l===p.CGh&&this.userConsentService.loadConsents()})}isConsentGiven(e){return!!e&&!!e.consentGivenDate&&!e.consentWithdrawnDate}groupConsentByName(e,t){return e.filter(s=>s.id.startsWith(t))}static#e=this.ctorParameters=()=>[{type:p.FX3},{type:p.uRZ},{type:p.y9w}]};on=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],on);let wn=class{constructor(e){this.customOccSitesConfigLoader=e,this.config=null,this.gtmId$=new P.t(""),this.isLoaded=!1,this.browserGlobals={windowRef:()=>window,documentRef:()=>document}}getDataLayer(){const e=this.browserGlobals.windowRef();return e.dataLayer=e.dataLayer||[],e.dataLayer}pushOnDataLayer(e){this.getDataLayer().push(e)}findId(e){if(this.baseSites)return this.baseSites.find(t=>t.uid===e)?.googleTagId;this.customOccSitesConfigLoader.load().subscribe(t=>(this.baseSites=t,this.findId(e)),()=>{this.baseSites=[]})}addGtmToDom(e){return this.gtmId$.next(e),this.allowGtm(),new Promise((t,s)=>{if(this.isLoaded)return t(this.isLoaded);const o=this.browserGlobals.documentRef();this.pushOnDataLayer({"gtm.start":(new Date).getTime(),event:"gtm.js"});const l=o.createElement("script");l.id="GTMscript",l.async=!0,l.src=`https://www.googletagmanager.com/gtm.js?id=${e}`,l.addEventListener("load",()=>t(this.isLoaded=!0)),l.addEventListener("error",()=>s(!1)),o.head.insertBefore(l,o.head.firstChild)})}removeGtmAndDisable(){const e=this.browserGlobals.windowRef();this.gtmId$.value&&(e[`ga-disable-${this.gtmId$.value}`]=!0,e.location.reload())}allowGtm(){const e=this.browserGlobals.windowRef();this.gtmId$.value&&(e[`ga-disable-${this.gtmId$.value}`]=!1)}static#e=this.ctorParameters=()=>[{type:ur}]};wn=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],wn);let mt=class{constructor(e,t,s,o,l,u,h,_,C,T,D,F,K,ne,he){this.baseSiteService=e,this.gtmService=t,this.activatedRoute=s,this.router=o,this.consentService=l,this.userConsentService=u,this.authService=h,this.launchDialogService=_,this.cmsService=C,this.semanticPathService=T,this.meta=D,this.title=F,this.cookieService=K,this.customOccSitesConfigLoader=ne,this.document=he,this.activeSite$=this.baseSiteService.getActive(),this.activeSite=null,this.googleTagId=null,this.isLoggedIn=null,this.isAnalyticConsentAllow=null,this.sub=null,this.ACTIVE_SITE=Re,this.availableUrl=M.MY_ACCOUNT.CONSENTS,this.isHaveMissingConsent$=this.consentService.isHaveMissingConsent$,this.availableUrls$=this.consentService.consentsUrls$,this.currentClass=null,this.init()}init(){this.meta.addTags([{name:"description",content:""},{name:"keywords",content:""}]),this.userConsentService.getConsent(Oe_ANALYTICAL).subscribe(e=>{this.isAnalyticConsentAllow=this.userConsentService.isConsentGiven(e)}),this.activeSite$.pipe((0,k.n)(e=>(this.activeSite=e,this.googleTagId=this.gtmService.findId(e),this.authService.isUserLoggedIn().pipe((0,B.p)(t=>t!==this.isLoggedIn),(0,k.n)(t=>(this.isLoggedIn=t,this.cmsService.getCurrentPage())))))).subscribe(e=>{this.googleTagId&&(this.isLoggedIn&&this.isAnalyticConsentAllow||!this.isLoggedIn&&this.cookieService.get(Oe_ANALYTICAL))&&this.gtmService.addGtmToDom(this.googleTagId),e?.properties&&this.initTitle(e.properties.description,e.properties.keywords),e?.pageId&&this.updatePageId(e.pageId)}),this.consentListeners()}initTitle(e,t){this.meta.updateTag({name:"description",content:e}),this.meta.updateTag({name:"keywords",content:t})}consentListeners(){this.isHaveMissingConsent$.subscribe(e=>{if(e)return this.router.navigate([this.availableUrl],{}),void this.routeListener();this.unsubscribe()}),this.authService.isUserLoggedIn().pipe((0,B.p)(Boolean)).subscribe(e=>{if(!e)return this.unsubscribe()})}unsubscribe(){this.sub&&(this.sub.unsubscribe(),this.sub=null)}triggerErrorPage(e=""){const t={type:p.g6_.CONTENT_PAGE,id:this.semanticPathService.get("notFound")};this.cmsService.getCurrentPage().pipe((0,me.$)(),(0,k.n)(s=>this.cmsService.getPage(t,!0).pipe((0,me.$)(),(0,k.n)(()=>this.cmsService.getPageIndex(t).pipe((0,z.M)(o=>{console.log(o),this.cmsService.setPageFailIndex({id:`${s.label}${e}`,type:p.g6_.CONTENT_PAGE},o)}))),(0,k.n)(()=>(0,$.of)(!0))))).subscribe()}onInquiryClick(e){if(e)return this.router.navigate([M.MY_ACCOUNT.INQUIRY]);this.launchDialogService.openDialog("AUTH_MODAL",void 0,void 0,{type:Pe.REGISTER})?.pipe((0,oe.s)(1)).subscribe()}routeListener(){this.sub||(this.sub=this.router.events.subscribe(e=>{if(e instanceof y.fv&&e.url!==this.availableUrl&&!this.availableUrls$.getValue().includes(e.url))return this.router.navigate([this.availableUrl],{})}))}updatePageId(e){const t=document.body.classList;this.currentClass&&t.remove(this.currentClass),t.add(e),this.currentClass=e}static#e=this.ctorParameters=()=>[{type:p.ASs},{type:wn},{type:y.nX},{type:y.Ix},{type:on},{type:p.FX3},{type:p.uRZ},{type:v.PLe},{type:p.xYq},{type:p.xci},{type:Lt.W8},{type:Lt.hE},{type:In.O},{type:ur},{type:void 0,decorators:[{type:n.y_5,args:[S.qQ]}]}]};mt=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],mt);let hr=class{constructor(e,t){this.globalMessageService=e,this.bytesToMbPipe=t}showAttachmentsErrors(e,t,s=0){e.error.errors.forEach(o=>{if(-1===o.subject.indexOf("attachments"))return;const l=o.message;t[l]&&this.globalMessageService.add({key:t[l],params:{size:this.bytesToMbPipe.transform(s)}},p.NCV.MSG_TYPE_ERROR)})}static#e=this.ctorParameters=()=>[{type:p.S8D},{type:en}]};hr=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],hr);let gr=class{constructor(e,t,s){this.authService=e,this.occEndpointsService=t,this.http=s}getAddInfoData(){return this.http.get(this.occEndpointsService.buildUrl(E.USER.PROFILE.PATH))}deactivate(){return this.http.put(this.occEndpointsService.buildUrl(E.USER.DEACTIVATE),{})}removeStatus(){return this.http.delete(this.occEndpointsService.buildUrl(E.USER.DELETE_STATUS))}static#e=this.ctorParameters=()=>[{type:p.uRZ},{type:p.zxz},{type:U.Qq}]};gr=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],gr);let Mg=class{constructor(e,t,s){this.activeCartService=e,this.currencyService=t,this.clientTokenService=s,this.clientTokenService.getClientToken().pipe((0,B.p)(o=>!!o?.access_token),(0,k.n)(()=>this.currencyService.getActive()),(0,k.n)(()=>this.activeCartService.getActive())).subscribe(o=>{o?.currency&&this.currencyService.setActive(o.currency.isocode)})}static#e=this.ctorParameters=()=>[{type:se.e2},{type:p.PnO},{type:p.EAp}]};Mg=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],Mg);let Fl=class{constructor(){this.scripts={excel:{loaded:!1,src:"/assets/scripts/exceljs.js"}}}loadScript(e){new Promise(s=>{if(this.scripts[e].loaded)s({script:e,loaded:!0});else{const o=document.createElement("script");o.type="text/javascript",o.src=this.scripts[e].src,o.onload=()=>{this.scripts[e].loaded=!0,s({script:e,loaded:!0})},o.onerror=l=>s({script:e,loaded:!1}),document.getElementsByTagName("head")[0].appendChild(o)}}).then(()=>{console.warn(e,"loaded")})}static#e=this.ctorParameters=()=>[]};Fl=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],Fl);let mr=class{constructor(e,t,s,o,l){this.activatedRoute=e,this.userAccountService=t,this.customCheckoutService=s,this.profileService=o,this.changeDetection=l,this.shippingForm=new m.J3({customer:new m.hs,shipping:new m.hs,address:new m.hs}),this.departments=[],this.user$=this.userAccountService.get(),this.profile$=this.profileService.getAddInfoData(),this.defaultBillingAddress$=this.customCheckoutService.soldToAddress$.pipe((0,k.n)(()=>this.customCheckoutService.getAddress(this.activatedRoute.snapshot.queryParams.groupNumber)),(0,w.T)(u=>u.addresses.find(h=>h.defaultBillingAddress)),(0,z.M)(()=>{this.changeDetection.detectChanges()}),(0,pe.W)(()=>(this.customCheckoutService.showErrorAndRedirect(),(0,$.of)())))}ngOnInit(){}static#e=this.ctorParameters=()=>[{type:y.nX},{type:Le.zq},{type:Me},{type:gr},{type:n.gRc}]};mr=(0,r.Cg)([(0,n.uAl)({selector:"app-checkout-customer-information",template:'<div *ngIf="user$ | async as user">\n  <div class="checkout">\n    <div class="checkout__customer">\n      <div>\n        <div class="checkout__customer-title">\n          {{ \'text.checkout.customerInform\' | cxTranslate }}\n        </div>\n        <div class="checkout__customer-item">{{ user.orgUnit?.name }}</div>\n        <div class="checkout__customer-item">\n          {{ user.firstName }} {{ user.lastName }}\n        </div>\n        <div\n          *ngIf="profile$ | async as profile"\n          class="checkout__customer-item"\n        >\n          {{ profile.businessRole?.name }}\n        </div>\n        <div class="checkout__customer-item">{{ user.displayUid }}</div>\n      </div>\n      <div\n        *ngIf="defaultBillingAddress$ | async as defaultBillingAddress"\n        class="checkout__customer-right"\n      >\n        <div class="checkout__customer-title">\n          {{ \'text.checkout.billingAddress\' | cxTranslate }}\n        </div>\n        <div class="checkout__customer-item">\n          <div>{{ defaultBillingAddress.formattedAddress }}</div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n<app-checkout-consignment></app-checkout-consignment>\n',styles:[Of()]})],mr);var If=i(41093),wf=i.n(If);class Pf{constructor(e,t){this.isRange=!0,this.dateRange={beginJsDate:e,endJsDate:t}}}let _r=class{constructor(e,t,s){this.checkoutService=e,this.activatedRoute=t,this.changeDetection=s,this.rangeDate=new m.hs("",m.k0.required),this.destroyed$=new R.B}ngOnInit(){this.getDates(),this.checkoutService.isPlaceTrigger$.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{e&&this.rangeDate.invalid&&(this.rangeDate.markAllAsTouched(),this.changeDetection.detectChanges())})}ngOnDestroy(){this.checkoutService.resetRequiredParams(),this.destroyed$.next(),this.destroyed$.complete()}getDates(){this.checkoutService.getAgreementDate(this.activatedRoute.snapshot.queryParams.groupNumber).pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{e.startDate&&e.endDate&&this.rangeDate.setValue(new Pf(new Date(e.startDate),new Date(e.endDate))),this.checkoutService.updateRequiredParams({agreementDate:this.rangeDate.valid}),!this.rangeDate.valid&&this.rangeDate.value&&this.rangeDate.markAsTouched(),this.datesSubscriber()})}datesSubscriber(){this.rangeDate.valueChanges.pipe((0,At.Z)(e=>e&&e.dateRange?this.checkoutService.updateAgreementDate(this.activatedRoute.snapshot.queryParams.groupNumber,e.dateRange.beginDate,e.dateRange.endDate,this.rangeDate.valid):(this.checkoutService.updateRequiredParams({agreementDate:!1}),(0,$.of)())),(0,x.Q)(this.destroyed$)).subscribe()}static#e=this.ctorParameters=()=>[{type:Me},{type:y.nX},{type:n.gRc}]};_r=(0,r.Cg)([(0,n.uAl)({selector:"app-checkout-dates",template:'<div class="checkout-datepicker">\n  <div class="checkout-datepicker__shadow">\n    <div class="checkout-datepicker__content">\n      {{ \'text.checkout.PreferredAgreementDates\' | cxTranslate }}\n    </div>\n  </div>\n  <div class="checkout-datepicker__info">\n    <app-date-picker\n      placeholder="{{ \'placeholder.startEnd\' | cxTranslate }}"\n      [isFullSize]="true"\n      [control]="rangeDate"\n      [minYearCurrentMinus]="0"\n      [maxYearCurrentPlus]="1"\n      [minDayCurrentPlus]="-1"\n      [isRange]="true"\n    ></app-date-picker>\n  </div>\n</div>\n',styles:[wf()]})],_r);var Lf=i(4965),kf=i.n(Lf);let vr=class{constructor(e,t,s,o,l,u){this.activatedRoute=e,this.customCheckoutService=t,this.translatePipe=s,this.changeDetection=o,this.globalMessageService=l,this.orderTrackingService=u,this.destroyed$=new R.B,this.errorModel=null,this.isPlaceTrigger$=this.customCheckoutService.isPlaceTrigger$,this.isHasError$=this.customCheckoutService.isHasError$,this.requiredParams$=this.customCheckoutService.requiredParams$,this.isInvalid$=this.requiredParams$.pipe((0,w.T)(h=>Object.values(h).map(_=>!!_).includes(!1))),this.routeParams=this.activatedRoute.snapshot.queryParams,this.inProcess=!1,this.noTransportPrice=!1,this.errorModel=new Cl(this.translatePipe)}ngOnInit(){this.customCheckoutService.updateRequiredParams({poNumber:""}),this.customCheckoutService.shipmentDeliveryCalculated$.pipe((0,We.F)(),(0,x.Q)(this.destroyed$)).subscribe(e=>{this.noTransportPrice=!1===e,this.changeDetection.detectChanges()})}ngOnDestroy(){this.customCheckoutService.resetRequiredParams(),this.customCheckoutService.updateIsPlaceTriggerValue(!1),this.customCheckoutService.updateErrorState(!1),this.destroyed$.next(),this.destroyed$.complete()}placeOrder(){this.customCheckoutService.updateIsPlaceTriggerValue(!0),this.isInvalid$.pipe((0,me.$)(),(0,k.n)(e=>e?(0,$.of)():(this.inProcess=!0,this.customCheckoutService.place(this.errorModel).pipe((0,_e.j)(()=>{this.inProcess=!1,this.changeDetection.detectChanges()}),(0,x.Q)(this.destroyed$)).subscribe(t=>{if(!t.cartModifications?.cartModifications?.length)return this.inProcess=!1,this.changeDetection.detectChanges(),this.orderTrackingService.trackOrderPlaced(t?.order.code,t?.order?.entries),this.customCheckoutService.isSuccessPlaced(t);let s=null;switch(t.cartModifications.cartModifications[0].statusCode){case ut.CONFIGURATION_ERROR:s={key:`error.${ut.CONFIGURATION_ERROR}`,type:p.NCV.MSG_TYPE_ERROR};break;case ut.MISSING_DELIVERY_ADDRESS:s={key:`error.${ut.MISSING_DELIVERY_ADDRESS}`,type:p.NCV.MSG_TYPE_ERROR}}return s&&this.globalMessageService.add({key:s.key},s.type),this.inProcess=!1,this.changeDetection.detectChanges(),this.customCheckoutService.isSuccessPlaced(t)},t=>{this.customCheckoutService.isErrorPlaced(t),this.inProcess=!1,this.changeDetection.detectChanges()}),(0,$.of)(!e))),(0,x.Q)(this.destroyed$)).subscribe()}static#e=this.ctorParameters=()=>[{type:y.nX},{type:Me},{type:p.D97},{type:n.gRc},{type:p.S8D},{type:bt}]};vr=(0,r.Cg)([(0,n.uAl)({selector:"app-checkout-order-summary",template:'<app-cart-menu\n  menuTitle="{{ \'checkout.orderSummary\' | cxTranslate }}"\n  [isCheckout]="true"\n  [currentGroup]="routeParams.groupNumber"\n  [rootNumber]="routeParams.rootNumber"\n  class="menu-cart"\n>\n  <ng-container cart-button>\n    <div>\n      <button\n        [disabled]="noTransportPrice || inProcess || isHasError$.value"\n        (click)="placeOrder()"\n        class="\n          btn btn-default btn--md\n          cart-menu__button\n          d-flex\n          align-items-center\n          justify-content-center\n        "\n      >\n        <div\n          *ngIf="inProcess; else submitButtonText"\n          class="d-flex align-items-center"\n        >\n          <app-loader size="24px"></app-loader>\n        </div>\n        <ng-template #submitButtonText>\n          {{ \'button.placeOrder\' | cxTranslate }}\n        </ng-template>\n      </button>\n      <div *ngIf="noTransportPrice" class="cart-menu__validation">\n        {{ \'text.cartMenu.transportPriceError\' | cxTranslate }}\n      </div>\n    </div>\n  </ng-container>\n  <ng-container disclaimer>\n    <ng-container\n      *ngIf="requiredParams$ | async as requiredParams; else disclaimer"\n    >\n      <ng-container\n        *ngIf="\n          (isPlaceTrigger$ | async) && !requiredParams.termsChecked;\n          else disclaimer\n        "\n      >\n        <div class="cart-menu__disclaimer cart-menu__disclaimer--error">\n          <div class="d-flex">\n            <svg-icon-sprite\n              src="error"\n              width="14"\n              height="14"\n              class="cart-menu__disclaimer-icon"\n            ></svg-icon-sprite>\n            <span>{{ \'text.cartMenu.disclaimerError\' | cxTranslate }}</span>\n          </div>\n        </div>\n      </ng-container>\n    </ng-container>\n\n    <ng-template #disclaimer>\n      <div class="cart-menu__disclaimer">\n        {{ \'text.cartMenu.disclaimer\' | cxTranslate }}\n      </div>\n    </ng-template>\n  </ng-container>\n</app-cart-menu>\n\n<button class="btn btn--sm btn-secondary checkout__button" routerLink="/cart">\n  <svg-icon-sprite\n    class="checkout__button-icon"\n    height="16"\n    src="arrow_back"\n    width="16"\n  >\n  </svg-icon-sprite>\n  {{ \'button.returnToCart\' | cxTranslate }}\n</button>\n',styles:[kf()]})],vr);var Mf=i(83595),Nf=i.n(Mf),Ml=i(33103);let xr=class{constructor(e,t,s){this.activatedRoute=e,this.cmsService=t,this.customCheckoutService=s,this.shipmentRequested$=this.customCheckoutService.shipmentRequested$,this.terms$=(0,Ce.z)([this.customCheckoutService.soldToAddress$,this.customCheckoutService.shipToAddress$]).pipe((0,Ml.c)(200),(0,k.n)(()=>this.customCheckoutService.getTerms(this.activatedRoute.snapshot.queryParams.groupNumber))),this.pageId$=this.cmsService.getCurrentPage().pipe((0,B.p)(Boolean),(0,fe.E)("pageId")),this.PAGES_ID=q}ngOnInit(){}static#e=this.ctorParameters=()=>[{type:y.nX},{type:p.xYq},{type:Me}]};xr=(0,r.Cg)([(0,n.uAl)({selector:"app-checkout-payment-terms",template:'<ng-container *ngIf="shipmentRequested$ | async">\n  <ng-container *ngIf="pageId$ | async as pageId">\n    <div *ngIf="terms$ | async as term" class="checkout__payment">\n      <div class="checkout__shadow">\n        <div class="checkout__payment-content">\n          <div *ngIf="term.deliveryMode.description">\n            <div class="checkout__payment-title">{{ \'text.checkout.plannedDeliveryDate\' | cxTranslate }}</div>\n            <div class="checkout__payment-item">{{ term.plannedDeliveryDate }}</div>\n          </div>\n          <div>\n            <div class="checkout__payment-title">{{ \'text.checkout.paymentTerms\' | cxTranslate }}</div>\n            <div class="checkout__payment-item">{{ term.paymentMode?.description }}</div>\n          </div>\n          <div>\n            <div class="checkout__payment-title">{{ \'text.checkout.transformation\' | cxTranslate }}</div>\n            <div class="checkout__payment-item">\n              {{ pageId === PAGES_ID.MTO_CHECKOUT_PAGE ? term.deliveryMode.name : term.shippingCondition.name }}\n            </div>\n          </div>\n          <div>\n            <div class="checkout__payment-title">{{ \'text.checkout.incoterms\' | cxTranslate }}</div>\n            <div class="checkout__payment-item">{{ term.incotermMode.description }}</div>\n          </div>\n        </div>\n      </div>\n      <div class="checkout__payment-info">\n        <div class="d-flex">\n          <svg-icon-sprite class="checkout__payment-info-icon" height="16" src="info" width="16"></svg-icon-sprite>\n          {{ (pageId === PAGES_ID.MTO_CHECKOUT_PAGE ? \'text.checkout.info_mto\' : \'text.checkout.info\') | cxTranslate }}\n        </div>\n      </div>\n    </div>\n  </ng-container>\n</ng-container>\n',styles:[Nf()]})],xr);var $f=i(73155),Bf=i.n($f);let fr=class{constructor(e,t){this.customCheckoutService=e,this.changeDetection=t,this.ROUTE_URL=M,this.value=!1,this.isPlaceTrigger$=this.customCheckoutService.isPlaceTrigger$}ngOnInit(){}updateConsent(){this.value=!this.value,this.customCheckoutService.updateRequiredParams({termsChecked:this.value}),this.changeDetection.detectChanges()}ngOnDestroy(){this.customCheckoutService.updateRequiredParams({termsChecked:!1}),this.customCheckoutService.updateIsPlaceTriggerValue(!1)}getIcon(e,t){return t&&!e?le.error:e?le.selected:le.standard}static#e=this.ctorParameters=()=>[{type:Me},{type:n.gRc}]};fr=(0,r.Cg)([(0,n.uAl)({selector:"app-checkout-privacy",template:'<div class="checkout__privacy d-flex align-items-start flex-column">\n  <div\n    (click)="updateConsent()"\n    class="cursor-pointer d-flex align-items-start"\n  >\n    <img\n      [src]="getIcon(value, isPlaceTrigger$ | async)"\n      alt=""\n      class="checkout__privacy-checkbox"\n    >\n    <span class="checkout__privacy-item">\n     {{ \'text.checkout.checkbox.part1\' | cxTranslate }}\n      <a class="checkout__privacy-link" [routerLink]="{ cxRoute: \'termsAndConditions\' } | cxUrl" target="_blank">\n        {{\'button.termsAndConditions\' | cxTranslate}}</a>,\n      <a class="checkout__privacy-link" [routerLink]="[ROUTE_URL.STATIC_PAGES.TERMS_OF_USE]" target="_blank">\n        {{ \'button.termsOfUse\' | cxTranslate }}</a>,\n      <a class="checkout__privacy-link" [routerLink]="[ROUTE_URL.STATIC_PAGES.PRIVACY_NOTICE]" target="_blank">\n        {{\'button.privacyPolicy\' | cxTranslate}}\n      </a>\n      {{ \'register.and\' | cxTranslate }}\n      <a class="checkout__privacy-link" [routerLink]="[ROUTE_URL.STATIC_PAGES.DISCLAIMER]" target="_blank">\n        {{\'button.cookiePolicy\' | cxTranslate}}</a>\n      {{ \'text.checkout.checkbox.part2\' | cxTranslate }}\n    </span>\n  </div>\n  <p class="checkout__privacy-error" *ngIf="(isPlaceTrigger$ | async) && !value">{{ \'formErrors.required\' | cxTranslate }}</p>\n</div>\n<button\n  class="btn btn--sm btn-secondary checkout__button"\n  routerLink="/cart">\n  <svg-icon-sprite\n    class="checkout__button-icon"\n    height="16"\n    src="arrow_back"\n    width="16">\n  </svg-icon-sprite>\n  {{ \'button.returnToCart\' | cxTranslate }}\n</button>\n',styles:[Bf()]})],fr);var Gf=i(5265),zf=i.n(Gf);let Cr=class{constructor(e,t,s,o,l){this.activatedRoute=e,this.customCheckoutService=t,this.changeDetection=s,this.orderTrackingService=o,this.cartService=l,this.destroyed$=new R.B,this.errorModel=null,this.isQuotation=!0,this.quotationProduct$=this.customCheckoutService.quotationProduct$,this.isInvalid$=this.customCheckoutService.requiredParams$.pipe((0,w.T)(u=>Object.values(u).map(h=>!!h).includes(!1))),this.routeParams=this.activatedRoute.snapshot.queryParams,this.inProcess=!1}ngOnInit(){}ngOnDestroy(){this.customCheckoutService.updateIsPlaceTriggerValue(!1),this.destroyed$.next(),this.destroyed$.complete()}placeQuotation(){this.customCheckoutService.updateIsPlaceTriggerValue(!0),this.isInvalid$.pipe((0,me.$)(),(0,k.n)(e=>e?(0,$.of)():(this.inProcess=!0,this.customCheckoutService.place(this.errorModel,this.isQuotation).pipe((0,_e.j)(()=>{this.inProcess=!1}),(0,x.Q)(this.destroyed$)).subscribe(t=>(this.cartService.getCart().pipe((0,oe.s)(1),(0,z.M)(s=>{let l,o=[];s?.rootGroups?.forEach(u=>{u.children&&u.groupType!==re.ORDER&&(u.children.find(h=>h.orderEntries.length>0)?o=u.children:u.groupType===re.QUOTATION_VOLUME&&(l=u))}),o.forEach(u=>{this.orderTrackingService.trackQuotationPlaced(t?.order.code,u?.orderEntries,"quotation")}),l&&this.orderTrackingService.trackQuotationPlaced(t?.order.code,l?.orderEntries,"volume")})).subscribe(),this.customCheckoutService.isSuccessPlaced(t,!0)),t=>{this.customCheckoutService.isErrorPlaced(t),this.inProcess=!1,this.changeDetection.detectChanges()}),(0,$.of)(!e))),(0,x.Q)(this.destroyed$)).subscribe()}static#e=this.ctorParameters=()=>[{type:y.nX},{type:Me},{type:n.gRc},{type:bt},{type:ye}]};Cr=(0,r.Cg)([(0,n.uAl)({selector:"app-checkout-quotation-summary",template:'<app-cart-menu\n  menuTitle="{{ \'checkout.quotationSummary\' | cxTranslate }}"\n  [isCheckoutQuotation]="true"\n  [currentGroup]="routeParams.groupNumber"\n  [rootNumber]="routeParams.rootNumber"\n  [category]="routeParams.category"\n  [volume]="routeParams.volume"\n  [quotationProduct$]="quotationProduct$"\n  class="menu-cart"\n>\n  <ng-container cart-button>\n    <button\n      [disabled]="inProcess"\n      (click)="placeQuotation()"\n      class="btn btn-default btn--md menu-cart__button d-flex align-items-center justify-content-center"\n    >\n      <div *ngIf="inProcess; else submitButtonText" class="d-flex align-items-center">\n        <app-loader size="24px"></app-loader>\n      </div>\n      <ng-template #submitButtonText>\n      {{ \'button.placeQuotation\' | cxTranslate }}\n      </ng-template>\n    </button>\n  </ng-container>\n</app-cart-menu>\n\n<button\n  class="btn btn--sm btn-secondary checkout__button"\n  routerLink="/cart"\n>\n  <svg-icon-sprite\n    class="checkout__button-icon"\n    height="16"\n    src="arrow_back"\n    width="16">\n  </svg-icon-sprite>\n  {{ \'button.returnToCart\' | cxTranslate }}\n</button>\n',styles:[zf()]})],Cr);var Qf=i(93803),qf=i.n(Qf);let br=class{constructor(e,t,s,o,l,u,h){this.customCheckoutService=e,this.fb=t,this.cmsService=s,this.activatedRoute=o,this.cartService=l,this.datePipe=u,this.changeDetection=h,this.destroyed$=new R.B,this.START_DATE_OFFSET=0,this.END_DATE_OFFSET_PLATE=15,this.END_DATE_OFFSET_STRIP=31,this.END_DATE_OFFSET=15,this.UNITS=G,this.agreement$=Fg(this.activatedRoute,this.cartService).pipe((0,z.M)(_=>{_&&this.pageId===q.MTS_CHECKOUT_PAGE&&this.customCheckoutService.showErrorAndRedirect()})),this.cartData$=this.cartService.getCart(),this.page$=this.cmsService.getCurrentPage(),this.order=null,this.desiredDeliveryDate=new m.hs(null,m.k0.required),this.referenceMaxLength=50,this.requestForm=this.fb.group({poNumber:new m.hs(null,[m.k0.required,m.k0.maxLength(this.referenceMaxLength),m.k0.pattern(new RegExp("\\S"))]),itemsPoNumbers:new m.J3({})}),this.endDate=null,this.rootNumber=null,this.groupNumber=null,this.isPlate=!1,this.isStrip=!1}ngOnInit(){this.init(),this.START_DATE_OFFSET=Rg(),this.initTriggerSub()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete(),this.customCheckoutService.resetRequiredParams()}initTriggerSub(){this.customCheckoutService.isPlaceTrigger$.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{e&&this.requestForm.invalid&&(this.requestForm.markAllAsTouched(),this.changeDetection.detectChanges())})}init(){this.activatedRoute.queryParams.pipe((0,x.Q)(this.destroyed$),(0,k.n)(e=>(this.rootNumber=e.rootNumber,this.groupNumber=e.groupNumber,(0,Ce.z)([this.page$,this.cartData$]))),(0,x.Q)(this.destroyed$)).subscribe(([e,t])=>{if(t.rootGroups?.length){for(const s of t.rootGroups)for(const o of s.children){if(Number(o.groupNumber)!==Number(this.rootNumber))continue;this.order=o.children.find(u=>Number(u.groupNumber)===Number(this.groupNumber));const l=this.order?.orderEntries[0].product.productionType.toUpperCase();this.isPlate=l===Z.PLATE,this.isStrip=l===Z.STRIP}this.pageId=e?.pageId,this.initRequestForm(),this.isPlate&&this.initItemsFormControls(this.order.orderEntries),this.initEndDate(),this.validateForm()}})}initRequestForm(){this.isPlate||this.pageId===q.MTO_CHECKOUT_PAGE||this.requestForm.addControl("desiredDeliveryDate",new m.hs(null,m.k0.required))}initEndDate(){if(this.isPlate||this.pageId===q.MTO_CHECKOUT_PAGE)return;const e=new Date;this.END_DATE_OFFSET=this.isStrip?this.END_DATE_OFFSET_STRIP:this.END_DATE_OFFSET_PLATE;const t=this.mapToWorkdays(e,this.END_DATE_OFFSET);this.endDate=new Date(e.getTime()+24*t*60*60*1e3)}mapToWorkdays(e,t){const s=(e.getUTCDay()+6)%7;let o=2*Math.trunc(t/5);return s>4?o+=6-s:s+t%5>4&&(o+=2),t+o}validateForm(){this.requestForm.valueChanges.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{if(this.isPlate||this.pageId===q.MTO_CHECKOUT_PAGE)return this.updateCustomerPoItem(e.itemsPoNumbers),this.customCheckoutService.updateRequiredParams({poNumber:this.requestForm.valid?e.poNumber:""});const t=this.datePipe.transform(e.desiredDeliveryDate?.singleDate?.jsDate,"yyyy-MM-dd");return this.customCheckoutService.updateRequiredParams({poNumber:this.requestForm.valid?e.poNumber:"",desiredDeliveryDate:this.requestForm.valid?t:""})})}getSteelGrade(e){return this.getEntryProperty(e,f.steelGrade)}getProductStandard(e){return this.getEntryProperty(e,f.productStandard)}getEntryProperty(e,t){return e?.product?.classifications?.reduce((o,l)=>[...o,...l.features],[])?.find(o=>o.code.match(t))?.featureValues[0]?.value}initItemsFormControls(e){const t=this.requestForm.get("itemsPoNumbers");e.forEach((s,o)=>{t.get(o.toString(10))||t.addControl(o.toString(10),new m.hs(null,[l=>this.customerPoItemsValidator(l),m.k0.pattern(/\S/)]))}),t.valueChanges.pipe((0,x.Q)(this.destroyed$)).subscribe(()=>{const s=this.requestForm.get("itemsPoNumbers");if(Object.values(s.controls).every(u=>!u.value))return null;for(const u in t.controls)if(t.get(u)){const h=t.get(u);h.markAsTouched(),h.markAsDirty(),h.setErrors({customerPoItemsError:!0})}this.changeDetection.detectChanges()})}updateCustomerPoItem(e){const t=this.requestForm.get("itemsPoNumbers");if(t){const s=Object.values(t.controls);s.forEach(l=>l.updateValueAndValidity({emitEvent:!1}));const o=s.every(l=>!!l.value);this.customCheckoutService.updateCustomerPoItem(o?e:null)}}customerPoItemsValidator(e){const t=this.requestForm.get("itemsPoNumbers"),s=Object.values(t.controls);if(!s.length||s.every(h=>!!h.value))return null;const l=s.some(h=>!!h.value),u=this.isCustomerPoItemValid(e.value);return l&&!u?{customerPoItemsError:!0}:null}isCustomerPoItemValid(e){const t=new RegExp(/\S/);return!!e&&t.test(e)}static#e=this.ctorParameters=()=>[{type:Me},{type:m.ze},{type:p.xYq},{type:y.nX},{type:ye},{type:S.vh},{type:n.gRc}]};br=(0,r.Cg)([(0,n.uAl)({selector:"app-checkout-reference-number",template:'<ng-container *ngIf="cartData$ | async">\n  <div class="checkout-reference">\n    <ng-container *ngIf="agreement$ | async as agreement; else mts">\n      <div class="checkout-order-reference">\n        <app-input\n          [controlData]="requestForm.get(\'poNumber\')"\n          label="{{ \'checkout.orderReferenceNumber\' | cxTranslate }}"\n        ></app-input>\n      </div>\n      <ng-container *ngIf="isPlate; then plateOrderItems"></ng-container>\n    </ng-container>\n\n    <ng-template #mts>\n      <ng-container *ngIf="isPlate">\n        <div class="checkout-order-reference checkout-item-row">\n          <app-input\n            [controlData]="requestForm.get(\'poNumber\')"\n            label="{{ \'checkout.orderReferenceNumber\' | cxTranslate }}"\n          ></app-input>\n        </div>\n        <ng-container *ngTemplateOutlet="plateOrderItems"></ng-container>\n      </ng-container>\n      <div\n        *ngIf="!isPlate"\n        class="checkout-order-reference row no-gutters"\n      >\n        <div class="col-12 col-sm-6 mb-3 mb-sm-0 pr-sm-2">\n          <app-input\n            [controlData]="requestForm.get(\'poNumber\')"\n            label="{{ \'checkout.orderReferenceNumber\' | cxTranslate }}"\n          ></app-input>\n        </div>\n        <div class="col-12 col-sm-6 pl-sm-2">\n          <app-date-picker\n            *ngIf="endDate"\n            placeholder="{{ \'placeholder.desiredDeliveryDate\' | cxTranslate }}"\n            [isFullSize]="true"\n            [control]="requestForm.get(\'desiredDeliveryDate\')"\n            [minYearCurrentMinus]="0"\n            [minDayCurrentPlus]="START_DATE_OFFSET"\n            [endDate]="endDate"\n          >\n            <ng-container tooltip>\n              <div class="checkout-reference__tooltip d-flex align-items-center">\n                <svg-icon-sprite\n                  class="checkout-reference__tooltip-icon"\n                  src="info"\n                  width="16"\n                  height="16"\n                ></svg-icon-sprite>\n                <span class="checkout-reference__tooltip-text">\n                  {{ \'checkout.tooltip\' | cxTranslate: { max: END_DATE_OFFSET } }}\n                </span>\n              </div>\n            </ng-container>\n          </app-date-picker>\n        </div>\n      </div>\n    </ng-template>\n  </div>\n</ng-container>\n\n<ng-template #plateOrderItems>\n  <div\n    *ngFor="let item of order?.orderEntries; let index = index"\n    class="checkout-item-row checkout-item-row__grid"\n  >\n    <div class="checkout-item-cell">\n      <div class="checkout-item-cell__index">{{ index + 1 }}</div>\n    </div>\n    <div class="checkout-item-cell">\n      <div class="checkout-item-cell__title">\n        {{ \'checkout.steelGrade\' | cxTranslate }}\n      </div>\n      <div class="checkout-item-cell__value">\n        {{ getSteelGrade(item) }}\n      </div>\n    </div>\n    <div class="checkout-item-cell">\n      <div class="checkout-item-cell__title">\n        {{ \'checkout.volume\' | cxTranslate }}\n      </div>\n      <div class="checkout-item-cell__value">\n        <ng-container *ngIf="item.unit === UNITS.PIECES; else tons">{{ item.quantity }}</ng-container>\n        <ng-template #tons>{{ item.quantity | massConversion }} t</ng-template>\n      </div>\n    </div>\n    <div class="checkout-item-cell">\n      <ng-container *ngIf="getProductStandard(item)">\n        <div class="checkout-item-cell__title checkout-item-cell__title_right">\n          {{ \'checkout.productStandard\' | cxTranslate }}\n        </div>\n        <div class="checkout-item-cell__value checkout-item-cell__value_right">\n          {{ getProductStandard(item) }}\n        </div>\n      </ng-container>\n    </div>\n    <app-input\n      [controlData]="requestForm.get([\'itemsPoNumbers\', index])"\n      label="{{ \'checkout.customerPoItem\' | cxTranslate }}"\n    ></app-input>\n  </div>\n</ng-template>\n',styles:[qf()]})],br);var jf=i(67963),Wf=i.n(jf);let Nl=class{};Nl=(0,r.Cg)([(0,n.uAl)({selector:"[app-checkout-select-placeholder]",template:"<ng-content></ng-content>\n",changeDetection:n.Ngq.OnPush,styles:[Wf()]})],Nl);var Xf=i(24015),Zf=i.n(Xf);let Ul=class{constructor(e,t,s,o){this.activatedRoute=e,this.customCheckoutService=t,this.customActiveCartService=s,this.changeDetection=o,this.destroyed$=new R.B,this.terms$=this.customCheckoutService.getTerms(this.activatedRoute.snapshot.queryParams.groupNumber),this.shipmentRequested$=this.customCheckoutService.shipmentRequested$,this.shippingForm=new m.J3({address:new m.hs}),this.shipTo=[],this.soldTo=[],this.INCOTERM_STATUS=Bi}ngOnInit(){this.init()}ngOnDestroy(){this.shipmentRequested$.next(!1),this.destroyed$.next(),this.destroyed$.complete()}init(){this.customCheckoutService.getShipment(this.activatedRoute.snapshot.queryParams.groupNumber,yt.MTO).pipe((0,pe.W)(()=>(this.customCheckoutService.showErrorAndRedirect(),(0,$.of)())),(0,x.Q)(this.destroyed$)).subscribe(e=>{e&&(this.setShipmentData(e),this.shippingForm.get("address").setValue(this.selectedShipToAddressId),(e.selectedForShipTo!==this.selectedShipTo.id||e.selectedShippingAddress!==this.selectedShipToAddressId)&&this.customCheckoutService.updateShipTo(this.selectedShipTo.id,this.selectedShipToAddressId).pipe((0,x.Q)(this.destroyed$)).subscribe(),this.formEvents(),this.changeDetection.detectChanges(),this.shipmentRequested$.next(!0))})}formEvents(){this.shippingForm.get("address").valueChanges.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.customCheckoutService.updateShipTo(this.selectedShipTo.id,e).pipe((0,x.Q)(this.destroyed$)).subscribe()}),this.shippingForm.valueChanges.pipe((0,x.Q)(this.destroyed$)).subscribe(()=>{this.customActiveCartService.reloadCart(),this.customCheckoutService.getShipment(this.activatedRoute.snapshot.queryParams.groupNumber,yt.MTO).pipe((0,x.Q)(this.destroyed$)).subscribe(e=>this.setShipmentData(e))})}setShipmentData(e){this.shipment=e,e.shipTo.forEach(t=>{this.shipTo.push({addresses:t.addresses,shippingConditions:t.shippingConditions,...t.b2bUnit})}),e.soldTo.forEach(t=>{this.soldTo.push({addresses:t.addresses,shippingConditions:t.shippingConditions,...t.b2bUnit})}),this.selectedSoldTo=this.soldTo.find(t=>t.id===e.selectedForSoldTo),!this.selectedShipTo&&this.shipTo[0].addresses?.length&&(this.selectedShipTo=this.shipTo[0],this.selectedShipToAddressId=e.selectedShippingAddress||this.selectedShipTo.addresses.find(t=>t.defaultAddress)?.id||this.selectedShipTo.addresses[0].id),!this.selectedSoldTo&&this.soldTo[0]&&(this.selectedSoldTo=this.soldTo[0])}static#e=this.ctorParameters=()=>[{type:y.nX},{type:Me},{type:Ot},{type:n.gRc}]};Ul=(0,r.Cg)([(0,n.uAl)({selector:"app-checkout-shipment-information-mto",template:'<div *ngIf="shipment" class="checkout">\n  <ng-container *ngIf="terms$ | async as term">\n    <div\n      [class.checkout__shipment--last]="term.incotermMode.description.toUpperCase() === INCOTERM_STATUS.EX_WORKS"\n      class="checkout__shipment"\n    >\n      <div>\n        <div class="checkout__title">{{ \'text.checkout.order.soldTo\' | cxTranslate }}</div>\n        <div class="checkout__item">\n          {{ selectedSoldTo.name }}\n        </div>\n      </div>\n\n      <div>\n        <div class="checkout__title">{{ \'text.checkout.order.shipTo\' | cxTranslate }}</div>\n        <div class="checkout__item">\n          {{ selectedShipTo.name }}\n        </div>\n      </div>\n    </div>\n    <div\n      *ngIf="term.incotermMode.description.toUpperCase() !== INCOTERM_STATUS.EX_WORKS"\n      class="checkout__address"\n    >\n      <ng-container *ngIf="selectedShipTo?.addresses?.length">\n        <ng-container *ngTemplateOutlet="selectedShipTo?.addresses?.length === 1 ? singleAddress : multipleAddresses"></ng-container>\n        <ng-template #singleAddress>\n          <div class="checkout__title">{{ \'text.checkout.order.shippingAddress\' | cxTranslate }}</div>\n          <div class="checkout__item">\n            {{ selectedShipTo?.addresses[0]?.formattedAddress }}\n          </div>\n        </ng-template>\n        <ng-template #multipleAddresses>\n          <app-select\n            [clearable]="false"\n            [controlData]="shippingForm.get(\'address\')"\n            [items]="selectedShipTo?.addresses"\n            bindLabel="formattedAddress"\n            bindValue="id"\n            class="checkout__select"\n            placeholder="{{ \'text.checkout.shippingAddress\' | cxTranslate }}"\n          ></app-select>\n        </ng-template>\n      </ng-container>\n    </div>\n  </ng-container>\n</div>\n',styles:[Zf()]})],Ul);var eC=i(25767),tC=i.n(eC);function Ng(a,e){return a?.product?.classifications?.reduce((s,o)=>[...s,...o.features],[])?.find(s=>s.code.match(e))?.featureValues[0]?.value}let Pn=class{constructor(e,t,s,o,l,u){this.activatedRoute=e,this.customCheckoutService=t,this.customActiveCartService=s,this.changeDetection=o,this.cmsService=l,this.cartService=u,this.pageId$=this.cmsService.getCurrentPage().pipe((0,B.p)(Boolean),(0,fe.E)("pageId")),this.destroyed$=new R.B,this.shipmentRequested$=this.customCheckoutService.shipmentRequested$,this.cartData$=this.cartService.getCart(),this.order=null,this.shippingForm=new m.J3({customer:new m.hs,shipping:new m.hs,address:new m.hs}),this.soldTo=[],this.shipTo=[],this.selectedShipTo=null,this.defaultAddresses=null,this.isPlate=!1,this.isStrip=!1,this.isQuotationVolume=!1,this.UNITS=G,this.rootNumber=null,this.groupNumber=null}ngOnInit(){this.initOrder(),this.initShipment()}ngOnDestroy(){this.shipmentRequested$.next(!1),this.destroyed$.next(),this.destroyed$.complete()}getShipment(e){let t=yt.QUOTATION;return this.activatedRoute.snapshot.queryParams.volume&&this.activatedRoute.snapshot.queryParams.category&&(t=yt.VB_QUOTATION),e===q.MTS_CHECKOUT_PAGE?t=yt.MTS:e===q.MTO_CHECKOUT_PAGE&&(t=yt.MTO),this.customCheckoutService.getShipment(this.activatedRoute.snapshot.queryParams.groupNumber,t)}initOrder(){this.activatedRoute.queryParams.pipe((0,k.n)(e=>(this.rootNumber=e.rootNumber,this.groupNumber=e.groupNumber,this.cartData$)),(0,x.Q)(this.destroyed$)).subscribe(e=>{if(this.order=function nC(a,e,t){if(!a.rootGroups?.length)return null;if(!e)for(const s of a.rootGroups)if(Number(s.groupNumber)===Number(t))return s;for(const s of a.rootGroups)if(Number(s.groupNumber)===Number(e))for(const o of s.children)return Number(o.groupNumber)===Number(t)?o:null;for(const s of a.rootGroups)for(const o of s.children)if(0===o.children.length&&Number(o.groupNumber)===Number(t))return o;for(const s of a.rootGroups)for(const o of s.children){if(0===o.children.length&&Number(o.groupNumber)===Number(e))return o;for(const l of o.children)if(Number(l.groupNumber)===Number(t))return Number(l.groupNumber)===Number(t)?l:null}return null}(e,this.rootNumber,this.groupNumber),this.order)if(this.rootNumber||this.order.groupType!==re.QUOTATION_VOLUME){const t=this.order?.orderEntries[0].product.productionType.toUpperCase();this.isPlate=t===Z.PLATE,this.isStrip=t===Z.STRIP}else this.isStrip=!0,this.isPlate=!1,this.isQuotationVolume=!0})}initShipment(){this.customCheckoutService.getDefaultAddress(this.activatedRoute.snapshot.queryParams.groupNumber).pipe((0,Ml.c)(200),(0,k.n)(e=>(this.defaultAddresses=e,this.pageId$.pipe((0,k.n)(t=>this.getShipment(t)),(0,oe.s)(1),(0,pe.W)(()=>(this.customCheckoutService.showErrorAndRedirect(),(0,$.of)()))))),(0,x.Q)(this.destroyed$)).subscribe(e=>{if(!e)return;this.setShipmentData(e),e.selectedForShipTo!==this.selectedShipTo.id&&this.customCheckoutService.updateShipTo(this.selectedShipTo.id,this.selectedShipToAddressId).pipe((0,x.Q)(this.destroyed$)).subscribe(()=>{this.setShipmentData({selectedForShipTo:this.selectedShipTo.id,selectedShippingAddress:this.selectedShipToAddressId,...e})});const t={customer:this.soldTo.find(s=>s.id===e.selectedForSoldTo)?.id,shipping:this.selectedShipTo?.id,address:this.selectedShipToAddressId};this.shippingForm.patchValue(t),this.formEvents(),this.changeDetection.detectChanges(),this.shipmentRequested$.next(!0)})}formEvents(){this.shippingForm.get("customer").valueChanges.pipe((0,k.n)(e=>this.customCheckoutService.updateSoldTo(e)),(0,x.Q)(this.destroyed$)).subscribe(()=>{this.changeDetection.detectChanges()}),this.shippingForm.get("shipping").valueChanges.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.selectedShipTo=this.shipTo.find(s=>s.id===e);const t=this.selectedShipTo?.addresses.find(s=>s.id===this.defaultAddresses?.originalAddressPK)?.id||this.selectedShipTo.addresses.find(s=>s.defaultAddress)?.id||this.selectedShipTo.addresses[0].id;this.shippingForm.get("address").value===t?this.customCheckoutService.updateShipTo(e,t).pipe((0,x.Q)(this.destroyed$)).subscribe():this.shippingForm.get("address").setValue(t)}),this.shippingForm.get("address").valueChanges.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.customCheckoutService.updateShipTo(this.shippingForm.get("shipping").value,e).pipe((0,x.Q)(this.destroyed$)).subscribe()}),this.shippingForm.valueChanges.pipe((0,Ml.c)(200),(0,We.F)((e,t)=>Object.keys(e).every(s=>e[s]===t[s])),(0,x.Q)(this.destroyed$)).subscribe(()=>{this.customActiveCartService.reloadCart(),this.pageId$.pipe((0,oe.s)(1),(0,k.n)(e=>this.getShipment(e)),(0,x.Q)(this.destroyed$)).subscribe(e=>this.setShipmentData(e))})}setShipmentData(e){this.shipment=e,e.soldTo.forEach(t=>{this.soldTo.find(o=>o.id===t.b2bUnit.id)||this.soldTo.push({addresses:t.addresses,shippingConditions:t.shippingConditions,...t.b2bUnit})}),e.shipTo.forEach(t=>{this.shipTo.push({addresses:t.addresses,shippingConditions:t.shippingConditions,...t.b2bUnit})}),e.selectedForShipTo?(this.selectedShipTo=this.shipTo.find(t=>t.id===e.selectedForShipTo),this.selectedShipToAddressId=e.selectedShippingAddress||this.selectedShipTo.addresses.find(t=>t.defaultAddress)?.id):this.shipTo.forEach(t=>{t.addresses.find(s=>s.id===this.defaultAddresses?.originalAddressPK)&&(this.selectedShipToAddressId=e.selectedShippingAddress||t.addresses.find(s=>s.id===this.defaultAddresses?.originalAddressPK)?.id,this.selectedShipTo=t)}),(!this.selectedShipToAddressId||!this.selectedShipTo)&&(this.selectedShipTo=this.shipTo.find(t=>t.addresses.find(s=>s.defaultAddress)?.id)||this.shipTo[0],this.selectedShipToAddressId=e.selectedShippingAddress||this.selectedShipTo.addresses.find(t=>t.defaultAddress)?.id||this.selectedShipTo.addresses[0].id)}updateShipmentItemData(e,t){if(!this.shipment.itemData)return;const s=this.shipment.itemData.map(o=>o.entryNumber===e?{entryNumber:e,...t}:o);this.shipment={...this.shipment,itemData:s}}getSteelGrade(e){return Ng(e,f.steelGrade)}getProductStandard(e){return Ng(e,f.productStandard)}checkoutShipmentItemUpdated(e,t){this.updateShipmentItemData(e,t),this.customCheckoutService.updateShipmentInfo(e,t).pipe((0,x.Q)(this.destroyed$)).subscribe(()=>{})}static#e=this.ctorParameters=()=>[{type:y.nX},{type:Me},{type:Ot},{type:n.gRc},{type:p.xYq},{type:ye}]};Pn=(0,r.Cg)([(0,n.uAl)({selector:"app-checkout-shipment-information-mts",template:'<div\n  *ngIf="shipment"\n  class="checkout"\n>\n  \x3c!-- ONLY FOR STRIP --\x3e\n  <ng-container *ngIf="isStrip">\n    <div class="checkout__params">\n      <div\n        *ngIf="soldTo?.length === 1; else selectSoldTo"\n        class="checkout__info"\n      >\n        <div class="checkout__title">{{ \'text.checkout.order.soldTo\' | cxTranslate }}</div>\n        <div class="checkout__item">\n          {{ soldTo[0].name }}\n        </div>\n      </div>\n\n      <div\n        *ngIf="shipTo.length === 1; else selectShipTo"\n        class="checkout__info"\n      >\n        <div class="checkout__title">{{ \'text.checkout.order.shipTo\' | cxTranslate }}</div>\n        <div class="checkout__item">\n          {{ shipTo[0].name }}\n        </div>\n      </div>\n    </div>\n\n    <div\n      *ngFor="let item of order?.orderEntries; let index = index"\n      class="checkout__item-ship-to"\n    >\n      <div class="checkout__item-ship-to-info">\n        <div class="checkout__item-cell">\n          <div class="checkout__item-cell-index">{{ index + 1 }}</div>\n        </div>\n\n        <ng-container *ngIf="!isQuotationVolume">\n          <div class="checkout__item-cell">\n            <div class="checkout__item-cell-title">\n              {{ \'checkout.steelGrade\' | cxTranslate }}\n            </div>\n            <div class="checkout__item-cell-value">\n              {{ getSteelGrade(item) }}\n            </div>\n          </div>\n          <div class="checkout__item-cell">\n            <div class="checkout__item-cell-title">\n              {{ \'checkout.volume\' | cxTranslate }}\n            </div>\n            <div class="checkout__item-cell-value">\n              <ng-container *ngIf="item.unit === UNITS.PIECES; else tons">{{ item.quantity }}</ng-container>\n              <ng-template #tons>{{ item.quantity | massConversion }} t</ng-template>\n            </div>\n          </div>\n          <div class="checkout__item-cell">\n            <div class="checkout__item-cell-title checkout__item-cell-title--right">\n              {{ \'checkout.productStandard\' | cxTranslate }}\n            </div>\n            <div class="checkout__item-cell-value checkout__item-cell-value--right">\n              {{ getProductStandard(item) }}\n            </div>\n          </div>\n        </ng-container>\n\n      </div>\n      <app-checkout-shipment-item-form\n        class="checkout__item-ship-to-controls"\n        [entryNumber]="item.entryNumber"\n        [shipment]="shipment"\n        (valueUpdated)="checkoutShipmentItemUpdated(item.entryNumber, $event)"\n      >\n      </app-checkout-shipment-item-form>\n    </div>\n  </ng-container>\n\n\n  \x3c!-- ONLY FOR PLATE --\x3e\n  <ng-container *ngIf="isPlate">\n    <div>\n      <div\n        *ngIf="soldTo?.length === 1; else selectSoldTo"\n        class="checkout__info"\n      >\n        <div class="checkout__title">{{ \'text.checkout.order.soldTo\' | cxTranslate }}</div>\n        <div class="checkout__item">\n          {{ soldTo[0].name }}\n        </div>\n      </div>\n\n      <div\n        *ngIf="shipTo.length === 1; else selectShipTo"\n        class="checkout__info"\n      >\n        <div class="checkout__title">{{ \'text.checkout.order.shipTo\' | cxTranslate }}</div>\n        <div class="checkout__item">\n          {{ shipTo[0].name }}\n        </div>\n      </div>\n    </div>\n\n    <ng-container *ngIf="selectedShipTo?.addresses?.length">\n      <ng-container *ngTemplateOutlet="selectedShipTo?.addresses?.length === 1 ? singleAddress : multipleAddresses">\n      </ng-container>\n      <ng-template #singleAddress>\n        <div class="checkout__info checkout__info--no-margin">\n          <div class="checkout__title">{{ \'text.checkout.order.shippingAddress\' | cxTranslate }}</div>\n          <div class="checkout__item">\n            {{ selectedShipTo?.addresses[0]?.formattedAddress }}\n          </div>\n        </div>\n      </ng-template>\n      <ng-template #multipleAddresses>\n        <app-select\n          [clearable]="false"\n          [controlData]="shippingForm.get(\'address\')"\n          [items]="selectedShipTo?.addresses"\n          bindLabel="formattedAddress"\n          bindValue="id"\n          placeholder="{{ \'text.checkout.shippingAddress\' | cxTranslate }}"\n          class="checkout__select checkout__select--no-margin w-100"\n        ></app-select>\n      </ng-template>\n    </ng-container>\n  </ng-container>\n\n\n</div>\n\n<ng-template #selectSoldTo>\n  <app-select\n    class="checkout__select"\n    [controlData]="shippingForm.get(\'customer\')"\n    [items]="soldTo"\n    [clearable]="false"\n    bindLabel="name"\n    bindValue="id"\n    placeholder="{{ \'text.checkout.soldTo\' | cxTranslate }}"\n    class="w-100 checkout__select"\n  ></app-select>\n</ng-template>\n\n<ng-template #selectShipTo>\n  <app-select\n    class="checkout__select"\n    [controlData]="shippingForm.get(\'shipping\')"\n    [items]="shipTo"\n    [clearable]="false"\n    bindLabel="name"\n    bindValue="id"\n    placeholder="{{ \'text.checkout.shipTo\' | cxTranslate }}"\n    class="checkout__select w-100"\n  ></app-select>\n</ng-template>\n',styles:[tC()]})],Pn);var iC=i(56385),rC=i.n(iC);let yr=class{constructor(e,t,s,o){this.multiCartService=e,this.customCheckoutService=t,this.locationStrategy=s,this.translatePipe=o,this.orderCode=this.customCheckoutService.successOrderCode$.getValue(),this.isQuotation=this.customCheckoutService.successQuotationType$.getValue(),this.ROUTE_URL=M,this.locales={order:this.translatePipe.transform("text.checkout.success.order"),quotation:this.translatePipe.transform("text.checkout.success.quotation"),request:this.translatePipe.transform("text.checkout.success.request")}}ngOnInit(){this.multiCartService.loadCart({cartId:"current",userId:"current"}),this.customCheckoutService.updateSuccessOrderCode(""),this.preventBackButton()}preventBackButton(){history.pushState(null,null,location.href),this.locationStrategy.onPopState(()=>{history.pushState(null,null,location.href)})}static#e=this.ctorParameters=()=>[{type:se.Z1},{type:Me},{type:S.hb},{type:p.D97}]};yr=(0,r.Cg)([(0,n.uAl)({selector:"app-checkout-success",template:'<div class="container">\n  <div class="checkout">\n    <div class="checkout__content">\n      <div class="checkout__shadow">\n        <svg-icon-sprite src="check_circle_outline" class="checkout__content-icon"></svg-icon-sprite>\n        <div class="checkout__content-info">\n          <div class="checkout__content-number">\n            <ng-container *ngIf="!isQuotation">\n              <a [routerLink]="{ cxRoute: \'orderDetails\', params: { code: orderCode } } | cxUrl" class="checkout__link">\n                {{ \'orders.ordersActive.orderItem.orderNumber\' | cxTranslate }}\n                {{ orderCode }}\n              </a>\n            </ng-container>\n          </div>\n          <h4 class="checkout__content-title">\n            <ng-container *ngIf="isQuotation; else orderTitle">\n              {{ \'text.checkout.success.quotationTitle\' | cxTranslate }}\n            </ng-container>\n\n            <ng-template #orderTitle>\n              {{ \'text.checkout.success.orderTitle\' | cxTranslate: { orderCode: orderCode } }}\n            </ng-template>\n          </h4>\n        </div>\n      </div>\n      <div class="checkout__subcontent">\n        <div class="checkout__subcontent-title">\n          {{ \'text.checkout.success.subTitle\' | cxTranslate }}\n        </div>\n        <div class="checkout__subcontent-text">\n          {{ \'text.checkout.success.receiveEmail\' | cxTranslate }}\n        </div>\n        <div class="checkout__subcontent-text">\n          {{\n            \'text.checkout.success.details\' | cxTranslate: { type: isQuotation ? locales.quotation : locales.request }\n          }}\n          <a\n            [routerLink]="isQuotation ? ROUTE_URL.MY_ACCOUNT.QUOTE.ACTIVE : ROUTE_URL.MY_ACCOUNT.ORDER.ACTIVE"\n            class="checkout__content-link"\n          >\n            {{\n              isQuotation ? (\'button.activeQuotationsPage\' | cxTranslate) : (\'button.activeOrdersPage\' | cxTranslate)\n            }}\n          </a>\n        </div>\n      </div>\n    </div>\n  </div>\n  <button class="btn btn--sm btn-secondary checkout__button" routerLink="/cart">\n    <svg-icon-sprite src="arrow_back" width="16" height="16" class="checkout__button-icon"></svg-icon-sprite>\n    {{ \'button.returnToCart\' | cxTranslate }}\n  </button>\n</div>\n',styles:[rC()]})],yr);var aC=i(45975),cC=i.n(aC),lC=i(40605);let Sr=class{constructor(e,t){this.activatedRoute=e,this.checkoutService=t,this.destroyed$=new R.B,this.comment=new m.hs(null)}ngOnInit(){this.getComment()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}getComment(){this.checkoutService.getComment(this.activatedRoute.snapshot.queryParams.groupNumber).pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.comment.setValue(e),this.formSubscriber()})}updateComment(e){this.checkoutService.updateComment(this.activatedRoute.snapshot.queryParams.groupNumber,e).pipe((0,x.Q)(this.destroyed$)).subscribe()}formSubscriber(){this.comment.valueChanges.pipe((0,fg.s)(()=>(0,lC.Y)(1e3)),(0,x.Q)(this.destroyed$)).subscribe(e=>{this.updateComment(e)})}static#e=this.ctorParameters=()=>[{type:y.nX},{type:Me}]};Sr=(0,r.Cg)([(0,n.uAl)({selector:"app-quotation-checkout-comments",template:'<div class="quotation-comments">\n  <label>\n    <textarea\n      [formControl]="comment"\n      placeholder="{{ \'placeholder.comments\' | cxTranslate }}"\n      class="quotation-comments__textarea"\n    ></textarea>\n  </label>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[cC()]})],Sr);let Ve=class{constructor(e,t,s,o){this.router=e,this.semanticPathService=t,this.authService=s,this.globalMessageService=o}canActivate(e,t){return this.authService.isUserLoggedIn().pipe((0,w.T)(s=>{if(s)return!(!t.url.includes("?groupNumber=")||!t.url.includes("&rootNumber=")&&!t.url.includes("&category="))||(this.globalMessageService.add({key:"checkout.notFound"},p.NCV.MSG_TYPE_ERROR),this.router.parseUrl(this.semanticPathService.get("cart")))}))}static#e=this.ctorParameters=()=>[{type:y.Ix},{type:p.xci},{type:p.uRZ},{type:p.S8D}]};Ve=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],Ve);let $l=class{constructor(e,t,s){this.router=e,this.semanticPathService=t,this.customCheckoutService=s}canActivate(){return!!this.customCheckoutService.successOrderCode$.getValue()||this.router.parseUrl(this.semanticPathService.get("orders"))}static#e=this.ctorParameters=()=>[{type:y.Ix},{type:p.xci},{type:Me}]};$l=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],$l);let Tr=class{};Tr=(0,r.Cg)([(0,n.UQu)({declarations:[vr,mr,Pn,dr,xr,lr,fr,pr,Ul,yr,Nl,br,Sr,_r,Cr,Ll],exports:[],imports:[p.htr.withConfig({cmsComponents:{CheckoutOrderSummary:{component:vr,guards:[j,Ve]},CheckoutCustomerInformation:{component:mr,guards:[j,Ve]},CheckoutConsignment:{component:dr,guards:[j,Ve]},CheckoutShipmentInformationMTS:{component:Pn,guards:[j,Ve]},CheckoutShipmentInformationQuotation:{component:Pn,guards:[j,Ve]},CheckoutPaymentTerms:{component:xr,guards:[j,Ve]},CartTopCheckoutComponent:{component:lr,guards:[j,Ve]},CheckoutPrivacy:{component:fr,guards:[j,Ve]},CheckoutReferenceNumberComponent:{component:br,guards:[j,Ve]},CheckoutContractAgreementMTO:{component:pr,guards:[j,Ve]},CheckoutShipmentInformationMTO:{component:Pn,guards:[j,Ve]},OrderConfirmationThankMessageComponent:{component:yr,guards:[$l,j]},QuotationOrderComment:{component:Sr,guards:[j,Ve]},QuotationCheckoutSummary:{component:Cr,guards:[j,Ve]},QuotationAgreementDates:{component:_r,guards:[j,Ve]}}}),S.MD,ce,V.F2,ss,y.iI,p.LP3,p.YYe,Rn,m.X1,Ze,xe,ge,v.GQ,An],providers:[S.vh]})],Tr);var dC=i(728);var uC=i(41359),hC=i.n(uC);let Er=class{constructor(){this.blur=!1}static#e=this.propDecorators={blur:[{type:n.pde}]}};Er=(0,r.Cg)([(0,n.uAl)({selector:"app-blur-wrapper",template:'<div class="filter" [class.filter--blur]="blur">\n  <ng-content></ng-content>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[hC()]})],Er);let Rr=class{};Rr=(0,r.Cg)([(0,n.UQu)({declarations:[Er],imports:[S.MD],exports:[Er]})],Rr);var mC=i(17910),_C=i.n(mC);let Or=class{constructor(){this.paginationChange=new n.bkB}changePage(e){this.paginationChange.emit(e)}};Or=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],Or);let as=class{constructor(e,t,s){this.launchDialogService=e,this.changeDetection=t,this.dataGridViewsService=s,this.reportData=[],this.dxTableSettings=null,this.dxViewSettings=null,this.views=[],this.selectedView=null,this.fileTitle="",this.params=null,this.selectedRows=[],this.withDisabled=!1,this.isRts=!1,this.isDisabledRow=null,this.subscription=new X.yU,this.createView=new n.bkB,this.changeTableView=new n.bkB,this.tableViewTypeChanged=new n.bkB,this.deleteView=new n.bkB,this.editView=new n.bkB,this.contentIsReady=new n.bkB,this.fileDownload=new n.bkB,this.submitSelectedRows=new n.bkB,this.paginationChange=this.dataGridViewsService.paginationChange}ngOnInit(){this.subscription.add(this.launchDialogService.data$.subscribe(e=>{this.reportData=e.reportData||[],this.dxTableSettings=e.dxTableSettings,this.dxViewSettings=e.dxViewSettings,this.views=e.views||[],this.selectedView=e.selectedView,this.fileTitle=e.fileTitle?e.fileTitle:"",this.createView=e.createView,this.changeTableView=e.changeTableView,this.tableViewTypeChanged=e.tableViewTypeChanged,this.deleteView=e.deleteView,this.editView=e.editView,this.contentIsReady=e.contentIsReady,this.fileDownload=e.fileDownload,this.views$=e.views$,this.selectedView$=e.selectedView$,this.changeDetection.detectChanges()})),this.subscription.add(this.views$?.subscribe(e=>{this.views=e,this.changeDetection.detectChanges()})),this.subscription.add(this.selectedView$?.subscribe(e=>{this.selectedView=e,this.changeDetection.detectChanges()}))}getTotalWeight(){return this.selectedRows.reduce((e,t)=>e+this.getSafeWeightFromString(t.weight),0)}submit(e){this.submitSelectedRows.emit({date:e,selectedRows:this.selectedRows})}changePage(e){this.dataGridViewsService.changePage(e)}close(){this.launchDialogService.closeDialog({selectedRows:this.selectedRows})}onCreateView(e){this.createView.emit(e)}onChangeTableView(e){this.changeTableView.emit(e)}onTableViewTypeChanged(e){this.tableViewTypeChanged.emit(e)}detectChanges(){this.changeDetection.detectChanges()}onDeleteView(e){this.deleteView.emit(e)}onEditView(e){this.editView.emit(e)}downloadFile(e){this.fileDownload.emit(e)}getSafeWeightFromString(e){return e?Math.ceil(Number(e.split(",").join(""))):0}static#e=this.ctorParameters=()=>[{type:v.PLe},{type:n.gRc},{type:Or}];static#t=this.propDecorators={reportData:[{type:n.pde}],pagination:[{type:n.pde}],createView:[{type:n.k7i}],changeTableView:[{type:n.k7i}],tableViewTypeChanged:[{type:n.k7i}],deleteView:[{type:n.k7i}],editView:[{type:n.k7i}],contentIsReady:[{type:n.k7i}],fileDownload:[{type:n.k7i}],submitSelectedRows:[{type:n.k7i}]}};as=(0,r.Cg)([(0,n.uAl)({selector:"app-data-grid-views-modal",template:'<div class="cx-modal-container">\n  <div class="cx-modal-content">\n    <div class="full-screen">\n      <div class="d-flex justify-content-between full-screen__header">\n        <div class="full-screen__header-title d-flex align-items-center">\n          <svg-icon-sprite src="view_column" width="18" height="18"></svg-icon-sprite>\n          <span>\n        {{ \'report.reportResult\' | cxTranslate }}\n      </span>\n        </div>\n        <div class="full-screen__header-close d-flex align-items-center">\n          <app-icon-button src="fullscreen_exit" class="mr-7" (click)="close()"></app-icon-button>\n          <svg-icon-sprite\n            src="close"\n            width="18"\n            height="18"\n            class="full-screen__header-icon"\n            (click)="close()"\n          ></svg-icon-sprite>\n        </div>\n      </div>\n\n      <app-data-grid-views\n        [dxTableSettings]="dxTableSettings"\n        [dxViewSettings]="dxViewSettings"\n        [fileTitle]="fileTitle"\n        [views]="views"\n        [data]="reportData"\n        [selectedView]="selectedView"\n        [fullSize]="true"\n        [showHeader]="params?.showHeader"\n        [showViews]="params?.showViews"\n        [multiSelect]="params?.multiSelect"\n        [withDisabled]="withDisabled"\n        [disablePaging]="!!pagination"\n        [isDisabledRow]="isDisabledRow"\n        [(selectedRows)]="selectedRows"\n        (createView)="onCreateView($event)"\n        (selectView)="onChangeTableView($event)"\n        (deleteView)="onDeleteView($event)"\n        (editNameView)="onEditView($event)"\n        (clearCurrentView)="onChangeTableView(null)"\n        (tableViewTypeChanged)="onTableViewTypeChanged($event)"\n        (contentIsReady)="contentIsReady.emit($event)"\n        (downloadFile)="downloadFile($event)"\n      ></app-data-grid-views>\n      <cx-pagination\n        *ngIf="isRts && pagination"\n        [pagination]="pagination"\n        (viewPageEvent)="changePage($event)"\n        queryParam="currentPage"\n      >\n      </cx-pagination>\n      <app-rts-footer\n        *ngIf="isRts && selectedRows.length > 0"\n        [totalWeight]="getTotalWeight()"\n        [isStatic]="true"\n        (submitted)="submit($event)"\n      >\n      </app-rts-footer>\n    </div>\n  </div>\n</div>\n',styles:[_C()]})],as);var xC=i(97902),fC=i.n(xC);let Ar=class{constructor(e,t){this.launchDialogService=e,this.changeDetection=t,this.reportData=[],this.dxTableSettings=null,this.selectedRows=null,this.dxViewSettings=null,this.views=[],this.selectedView=null,this.fileTitle="",this.subscription=new X.yU,this.createView=new n.bkB,this.changeTableView=new n.bkB,this.tableViewTypeChanged=new n.bkB,this.deleteView=new n.bkB,this.editView=new n.bkB,this.contentIsReady=new n.bkB,this.fileDownload=new n.bkB,this.rowsSelected=new n.bkB,this.selectedRowsChanged=new n.bkB}ngOnInit(){this.subscription.add(this.launchDialogService.data$.subscribe(e=>{this.reportData=e.reportData||[],this.dxTableSettings=e.dxTableSettings,this.selectedRows=e.selectedRows,this.dxViewSettings=e.dxViewSettings,this.views=e.views,this.selectedView=e.selectedView,this.fileTitle=e.fileTitle||"",this.createView=e.createView,this.changeTableView=e.changeTableView,this.tableViewTypeChanged=e.tableViewTypeChanged,this.deleteView=e.deleteView,this.editView=e.editView,this.contentIsReady=e.contentIsReady,this.fileDownload=e.fileDownload,this.rowsSelected=e.rowsSelected,this.selectedRowsChanged=e.selectedRowsChanged,this.dxViewSettings$=e.dxViewSettings$,this.views$=e.views$,this.selectedView$=e.selectedView$,this.selectedRows$=e.selectedRows$,this.changeDetection.detectChanges()})),this.subscription.add(this.dxViewSettings$?.subscribe(e=>{this.dxViewSettings=e,this.changeDetection.detectChanges()})),this.subscription.add(this.views$?.subscribe(e=>{this.views=e,this.changeDetection.detectChanges()})),this.subscription.add(this.selectedView$?.subscribe(e=>{this.selectedView=e,this.changeDetection.detectChanges()})),this.subscription.add(this.selectedRows$?.subscribe(e=>{this.selectedRows=e,this.changeDetection.detectChanges()}))}close(){this.launchDialogService.closeDialog(null),this.subscription?.unsubscribe()}onCreateView(e){this.createView.emit(e)}addSelectedToClaim(){this.reportData=this.reportData.filter(e=>!this.selectedRows.find(s=>JSON.stringify(s)===JSON.stringify(e))),this.rowsSelected.emit({selectedRows:this.selectedRows,reportData:this.reportData})}onChangeTableView(e){this.changeTableView.emit(e)}onTableViewTypeChanged(e){this.tableViewTypeChanged.emit(e)}onDeleteView(e){this.deleteView.emit(e)}onEditView(e){this.editView.emit(e)}downloadFile(e){this.fileDownload.emit(e)}onSelectRowsChanged(){this.selectedRowsChanged.emit(this.selectedRows)}ngOnDestroy(){this.subscription?.unsubscribe()}static#e=this.ctorParameters=()=>[{type:v.PLe},{type:n.gRc}];static#t=this.propDecorators={createView:[{type:n.k7i}],changeTableView:[{type:n.k7i}],tableViewTypeChanged:[{type:n.k7i}],deleteView:[{type:n.k7i}],editView:[{type:n.k7i}],contentIsReady:[{type:n.k7i}],fileDownload:[{type:n.k7i}],rowsSelected:[{type:n.k7i}],selectedRowsChanged:[{type:n.k7i}]}};Ar=(0,r.Cg)([(0,n.uAl)({selector:"app-claims-add-item-modal",template:'<div class="cx-modal-container">\n  <div class="cx-modal-content">\n    <div class="full-screen">\n      <div class="d-flex justify-content-between full-screen__header">\n        <div class="full-screen__header-title d-flex align-items-center">\n          <svg-icon-sprite\n            src="sort"\n            width="18"\n            height="18"\n          ></svg-icon-sprite>\n          <span>\n        {{ \'claims.addItems\' | cxTranslate }}\n      </span>\n        </div>\n        <div class="full-screen__header-close d-flex align-items-center">\n          <app-icon-button\n            src="fullscreen_exit"\n            class="mr-7"\n            (click)="close()"\n          ></app-icon-button>\n          <svg-icon-sprite\n            src="close"\n            width="18"\n            height="18"\n            class="full-screen__header-icon"\n            (click)="close()"\n          ></svg-icon-sprite>\n        </div>\n      </div>\n\n      <app-data-grid-views\n        [disableEditing]="true"\n        [dxTableSettings]="dxTableSettings"\n        [dxViewSettings]="dxViewSettings"\n        [views]="views"\n        [data]="reportData || []"\n        [fileTitle]="\'claims.fileTitle\' | cxTranslate"\n        [selectedView]="selectedView"\n        [multiSelect]="true"\n        [(selectedRows)]="selectedRows"\n\n        (createView)="onCreateView($event)"\n        (editNameView)="onEditView($event)"\n        (deleteView)="onDeleteView($event)"\n        (selectView)="onChangeTableView($event)"\n        (tableViewTypeChanged)="onTableViewTypeChanged($event)"\n        (contentIsReady)="contentIsReady.emit($event)"\n        (selectedRowsChanged)="onSelectRowsChanged()"\n      ></app-data-grid-views>\n\n      <div class="add-items__add-selected">\n        <button class="btn btn-default add-items__button" [disabled]="selectedRows?.length === 0"\n                (click)="addSelectedToClaim()">\n          {{ \'claims.addSelected\' | cxTranslate }}\n        </button>\n      </div>\n    </div>\n  </div>\n</div>\n',styles:[fC()]})],Ar);var CC=i(77267),bC=i(87018);var SC=i(30412),TC=i.n(SC);let Ir=class{constructor(e){this.datePipe=e,this.date=new m.hs("",m.k0.required),this.nextDay=864e5,this.fourWeeks=24192e5,this.endDate=new Date(Date.now()+this.nextDay+this.fourWeeks),this.totalWeight=0,this.isStatic=!1,this.submitted=new n.bkB}submit(){if(this.date.invalid)return void this.date.markAllAsTouched();const e=this.date.value,t=this.datePipe.transform(e.singleDate.jsDate,"yyyy-MM-dd");e&&this.submitted.emit(t)}static#e=this.ctorParameters=()=>[{type:S.vh}];static#t=this.propDecorators={totalWeight:[{type:n.pde}],isStatic:[{type:n.pde}],submitted:[{type:n.k7i}]}};Ir=(0,r.Cg)([(0,n.uAl)({selector:"app-rts-footer",template:'<div class="request-delivery" [class.request-delivery_static]="isStatic">\n  <div class="container">\n    <div class="request-delivery__content">\n      <div class="selected d-flex align-items-center">\n        <svg-icon-sprite class="request-delivery__content-icon" src="weight_volume" width="16" height="16">\n        </svg-icon-sprite>\n        <span class="order-item-product__total-title">\n          {{ \'orders.ordersActive.orderItemProduct.selectedForDelivery\' | cxTranslate }}: </span\n        ><span class="order-item-product__batch-value request-delivery__content-value">\n          {{ totalWeight | massConversion }} t\n        </span>\n      </div>\n      <div class="request-delivery__content-block">\n        <app-date-picker\n          class="mr-30 request-delivery__content-date"\n          placeholder="{{ \'placeholder.selectedDeliveryDate\' | cxTranslate }}"\n          [isFullSize]="true"\n          [disableWeekends]="true"\n          [isPositionFixed]="true"\n          [control]="date"\n          [endDate]="endDate"\n        >\n        </app-date-picker>\n        <button class="btn btn--sm btn-default request-delivery__content-button" (click)="submit()">\n          {{ \'button.requestDelivery\' | cxTranslate }}\n        </button>\n      </div>\n    </div>\n  </div>\n</div>\n',styles:[TC()]})],Ir);let wr=class{};wr=(0,r.Cg)([(0,n.UQu)({declarations:[Ir],imports:[V.F2,p.LP3,xe,Ze],exports:[Ir]})],wr);var RC=i(60184),OC=i.n(RC);let Pr=class{constructor(e,t,s){this.launchDialogService=e,this.claimsService=t,this.changeDetection=s,this.finalData=[],this.dxTableSettings=null,this.selectedRows=null,this.dxViewSettings=null,this.views=[],this.selectedView=null,this.defectCategories=null,this.calcFn=null,this.selectedItem=null,this.localFiles=null,this.maxSizeFile=null,this.possibleExtensions=null,this.errors=null,this.initialErrors=null,this.isTrading=!1,this.allFiles$=this.claimsService.allFiles$,this.contentIsReady=new n.bkB,this.selectedRowsChanged=new n.bkB,this.cellClosed=new n.bkB,this.filesUpdates=new n.bkB,this.clearFiles=new n.bkB,this.save=new n.bkB,this.remove=new n.bkB,this.subscription=new X.yU}ngOnInit(){this.subscription.add(this.launchDialogService.data$.subscribe(e=>{this.finalData=e.finalData||[],this.dxTableSettings=e.dxTableSettings,this.selectedRows=e.selectedRows,this.dxViewSettings=e.dxViewSettings,this.views=e.views||[],this.selectedView=e.selectedView,this.defectCategories=e.defectCategories,this.calcFn=e.calcFn,this.selectedItem=e.selectedItem,this.localFiles=e.localFiles,this.maxSizeFile=e.maxSizeFile,this.possibleExtensions=e.possibleExtensions,this.errors=e.errors,this.initialErrors=e.initialErrors,this.isTrading=e.isTrading,this.contentIsReady=e.contentIsReady,this.selectedRowsChanged=e.selectedRowsChanged,this.cellClosed=e.cellClosed,this.filesUpdates=e.filesUpdates,this.clearFiles=e.clearFiles,this.save=e.save,this.remove=e.remove,this.selectedRows$=e.selectedRows$,this.errors$=e.errors$,this.localFiles$=e.localFiles$,this.selectedItem$=e.selectedItem$,this.dxViewSettings$=e.dxViewSettings$,this.finalData$=e.finalData$,this.changeDetection.detectChanges()})),this.subscription.add(this.selectedRows$?.subscribe(e=>{this.selectedRows=e,this.changeDetection.detectChanges()})),this.subscription.add(this.errors$?.subscribe(e=>{this.errors=e,this.changeDetection.detectChanges()})),this.subscription.add(this.localFiles$?.subscribe(e=>{this.localFiles=e,this.changeDetection.detectChanges()})),this.subscription.add(this.selectedItem$?.subscribe(e=>{this.selectedItem=e,this.changeDetection.detectChanges()})),this.subscription.add(this.dxViewSettings$?.subscribe(e=>{this.dxViewSettings=e,this.changeDetection.detectChanges()})),this.subscription.add(this.finalData$?.subscribe(e=>{this.finalData=e,this.changeDetection.detectChanges()}))}close(){this.launchDialogService.closeDialog(null)}onFilesUpdates(){this.filesUpdates.emit({selectedItem:this.selectedItem,localFiles:this.localFiles})}onClearFiles(){this.clearFiles.emit(this.selectedItem)}onSave(){this.save.emit({selectedItem:this.selectedItem,localFiles:this.localFiles})}onRemove(){this.remove.emit(this.selectedItem)}onSelectedRowsChanged(){this.selectedRowsChanged.emit(this.selectedRows)}onOpenFileSelector(e){this.errors={...this.initialErrors},this.selectedItem=e,this.localFiles=e.data.attachments?[...e.data.attachments]:[],this.changeDetection.detectChanges()}onCellClosed(){this.cellClosed.emit()}static#e=this.ctorParameters=()=>[{type:v.PLe},{type:ke},{type:n.gRc}];static#t=this.propDecorators={contentIsReady:[{type:n.k7i}],selectedRowsChanged:[{type:n.k7i}],cellClosed:[{type:n.k7i}],filesUpdates:[{type:n.k7i}],clearFiles:[{type:n.k7i}],save:[{type:n.k7i}],remove:[{type:n.k7i}]}};Pr=(0,r.Cg)([(0,n.uAl)({selector:"app-claims-items-modal",template:'<div class="cx-modal-container">\n  <div class="cx-modal-content">\n    <div class="full-screen">\n      <div class="d-flex justify-content-between full-screen__header">\n        <div class="full-screen__header-title d-flex align-items-center">\n          <svg-icon-sprite\n            src="view_column"\n            width="18"\n            height="18"\n          ></svg-icon-sprite>\n          <span>\n        {{ \'claims.resultTitle\' | cxTranslate }}\n      </span>\n        </div>\n        <div class="full-screen__header-close d-flex align-items-center">\n          <app-icon-button\n            src="fullscreen_exit"\n            class="mr-7"\n            (click)="close()"\n          ></app-icon-button>\n          <svg-icon-sprite\n            src="close"\n            width="18"\n            height="18"\n            class="full-screen__header-icon"\n            (click)="close()"\n          ></svg-icon-sprite>\n        </div>\n      </div>\n\n      <app-data-grid-views\n        class="claimed-items__report"\n        [dxTableSettings]="dxTableSettings"\n        [dxViewSettings]="dxViewSettings"\n        [fileTitle]="\'claims.fileTitle\' | cxTranslate"\n        [views]="views"\n        [data]="finalData"\n        [selectedView]="selectedView"\n        [showViews]="false"\n        [multiSelect]="true"\n        [(selectedRows)]="selectedRows"\n        [selectItems]="defectCategories"\n        [calcFn]="calcFn"\n        (contentIsReady)="contentIsReady.emit($event)"\n        (selectedRowsChanged)="onSelectedRowsChanged()"\n        (openFileSelector)="onOpenFileSelector($event)"\n        (cellClosed)="onCellClosed()"\n      ></app-data-grid-views>\n\n      <div *ngIf="selectedItem">\n        <app-card-attachments\n          [inline]="true"\n          [grey]="true"\n          [allFiles]="allFiles$ | async"\n          [files]="localFiles"\n          [maxSize]="maxSizeFile"\n          [allFilesSize]="isTrading ? (\'trading.inquiry.allFilesSize\' | cxTranslate) : (\'trading.inquiry.allFilesSizeEu\' | cxTranslate)"\n          [possibleExtensions]="possibleExtensions"\n          (add)="onFilesUpdates()"\n          (delete)="onFilesUpdates()"\n          (clear)="onClearFiles()">\n        </app-card-attachments>\n\n        <div class="claimed-items__files-errors" *ngIf="errors.allFiles || errors.file || errors.format || errors.uniqueNames">\n          <app-attachments-errors [errors]="errors"></app-attachments-errors>\n        </div>\n      </div>\n\n      <div class="claimed-items__buttons" [class.claimed-items__buttons--grey]="selectedItem">\n        <ng-container *ngIf="selectedItem; else removeButton">\n          <button class="btn btn-default claimed-items__button"\n                  (click)="onSave()">{{ \'common.save\' | cxTranslate }}</button>\n        </ng-container>\n\n        <ng-template #removeButton>\n          <button class="btn btn-default claimed-items__button"\n                  (click)="onRemove()" [disabled]="selectedRows.length === 0">{{ \'claims.remove\' | cxTranslate }}</button>\n        </ng-template>\n      </div>\n\n    </div>\n\n  </div>\n</div>\n',styles:[OC()]})],Pr);var IC=i(61412),wC=i.n(IC);let Dr=class{constructor(e,t){this.launchDialogService=e,this.changeDetection=t,this.reportData=[],this.dxTableSettings=null,this.selectedRows=[],this.dxViewSettings=null,this.views=[],this.selectedView=null,this.fileTitle="",this.title="",this.highlightSelected=!1,this.createView=new n.bkB,this.changeTableView=new n.bkB,this.tableViewTypeChanged=new n.bkB,this.deleteView=new n.bkB,this.editView=new n.bkB,this.fileDownload=new n.bkB,this.rowClicked=new n.bkB,this.selectedRowsChanged=new n.bkB,this.contentIsReady=new n.bkB,this.subscription=new X.yU}ngOnInit(){this.subscription.add(this.launchDialogService.data$.subscribe(e=>{e&&(this.reportData=e.reportData||[],this.dxTableSettings=e.dxTableSettings,this.selectedRows=e.selectedRows||[],this.dxViewSettings=e.dxViewSettings,this.views=e.views||[],this.selectedView=e.selectedView,this.fileTitle=e.fileTitle||"",this.title=e.title||"",this.highlightSelected=e.highlightSelected,this.createView=e.createView,this.changeTableView=e.changeTableView,this.tableViewTypeChanged=e.tableViewTypeChanged,this.deleteView=e.deleteView,this.editView=e.editView,this.contentIsReady=e.contentIsReady,this.fileDownload=e.fileDownload,this.rowClicked=e.rowClicked,this.selectedRowsChanged=e.selectedRowsChanged,this.dxViewSettings$=e.dxViewSettings$,this.views$=e.views$,this.selectedView$=e.selectedView$,this.selectedRows$=e.selectedRows$,this.changeDetection.detectChanges())})),this.subscription.add(this.dxViewSettings$?.subscribe(e=>{this.dxViewSettings=e,this.changeDetection.detectChanges()})),this.subscription.add(this.views$?.subscribe(e=>{this.views=e,this.changeDetection.detectChanges()})),this.subscription.add(this.selectedView$?.subscribe(e=>{this.selectedView=e,this.changeDetection.detectChanges()})),this.subscription.add(this.selectedRows$?.subscribe(e=>{this.selectedRows=e,this.changeDetection.detectChanges()}))}close(){this.launchDialogService.closeDialog(null)}onCreateView(e){this.createView.emit(e)}onChangeTableView(e){this.changeTableView.emit(e)}onTableViewTypeChanged(e){this.tableViewTypeChanged.emit(e)}onDeleteView(e){this.deleteView.emit(e)}onEditView(e){this.editView.emit(e)}downloadFile(e){this.fileDownload.emit(e)}onRowClick(e){this.rowClicked.emit(e)}onSelectRowsChanged(){this.selectedRows.length&&this.selectedRowsChanged.emit(this.selectedRows)}ngOnDestroy(){this.subscription?.unsubscribe()}static#e=this.ctorParameters=()=>[{type:v.PLe},{type:n.gRc}];static#t=this.propDecorators={createView:[{type:n.k7i}],changeTableView:[{type:n.k7i}],tableViewTypeChanged:[{type:n.k7i}],deleteView:[{type:n.k7i}],editView:[{type:n.k7i}],fileDownload:[{type:n.k7i}],rowClicked:[{type:n.k7i}],selectedRowsChanged:[{type:n.k7i}],contentIsReady:[{type:n.k7i}]}};Dr=(0,r.Cg)([(0,n.uAl)({selector:"app-claims-listing-modal",template:'<div class="cx-modal-container">\n  <div class="cx-modal-content">\n    <div class="full-screen">\n      <div class="d-flex justify-content-between full-screen__header">\n        <div class="full-screen__header-title d-flex align-items-center">\n          <svg-icon-sprite\n            src="sort"\n            width="18"\n            height="18"\n          ></svg-icon-sprite>\n          <span>\n        {{ title | cxTranslate }}\n      </span>\n        </div>\n        <div class="full-screen__header-close d-flex align-items-center">\n          <app-icon-button\n            src="fullscreen_exit"\n            class="mr-7"\n            (click)="close()"\n          ></app-icon-button>\n          <svg-icon-sprite\n            src="close"\n            width="18"\n            height="18"\n            class="full-screen__header-icon"\n            (click)="close()"\n          ></svg-icon-sprite>\n        </div>\n      </div>\n\n      <app-data-grid-views\n        [disableEditing]="true"\n        [dxTableSettings]="dxTableSettings"\n        [dxViewSettings]="dxViewSettings"\n        [views]="views"\n        [data]="reportData"\n        [fileTitle]="\'claims.fileTitle\' | cxTranslate"\n        [selectedView]="selectedView"\n        [multiSelect]="false"\n        [highlightSelected]="highlightSelected"\n        [(selectedRows)]="selectedRows"\n\n        (downloadFile)="downloadFile($event)"\n        (rowClick)="onRowClick($event)"\n        (createView)="onCreateView($event)"\n        (editNameView)="onEditView($event)"\n        (deleteView)="onDeleteView($event)"\n        (selectView)="onChangeTableView($event)"\n        (tableViewTypeChanged)="onTableViewTypeChanged($event)"\n        (selectedRowsChanged)="onSelectRowsChanged()"\n        (contentIsReady)="contentIsReady.emit($event)"\n      ></app-data-grid-views>\n    </div>\n\n  </div>\n</div>\n',styles:[wC()]})],Dr);var DC=i(75270),LC=i.n(DC);let Bl=class{constructor(e,t,s){this.document=e,this.claimsService=t,this.changeDetectorRef=s,this.cellClosed=new n.bkB,this.multipleEdit=new n.bkB,this.editFormControl=new m.hs(""),this.editingCells={},this.numberMask=(0,Ue.TK)({prefix:"",postfix:"",thousandSeparator:"",decimalSeparator:",",precision:3})}ngOnInit(){setTimeout(()=>this.gridData.component.resize())}inputClick(e){e.preventDefault(),e.stopPropagation()}isCellEditing(e,t){const s=this.editingCells[JSON.stringify(e.data)];return!!s&&s[this.getColumnName(t)]}getColumnName(e){return e.replace(/\s/g,"")}closeCell(e,t,s){e.stopPropagation(),t.data[t.column.dataField]=this.editFormControl.value;const o=JSON.stringify(t.data);this.getColumnName(s)&&this.editingCells[o]&&(this.editingCells[o][this.getColumnName(s)]=!1),this.multipleEdit.emit({columnName:this.getColumnName(s),cellValue:t.data[this.getColumnName(s)]}),this.cellClosed.emit(t.data)}editCell(e,t,s){if(e.stopPropagation(),"number"===s.column.dataType){const l=s.data[s.column.dataField];this.editFormControl.setValue(l??l.toString().replace(".",","))}else this.editFormControl.setValue(s.data[s.column.dataField]);const o=JSON.stringify(s.data);this.editingCells[o]||(this.editingCells[o]={}),this.editingCells[o][this.getColumnName(t)]=!0,this.changeDetectorRef.detectChanges(),setTimeout(()=>{this.valueInput.nativeElement.focus(),this.valueInput.nativeElement.classList.add(`input_${t}_${s.data.id}`)},0)}getClass(){return`data-grid-cell__${this.gridData.column.dataField}_${this.gridData.data.id}`}static#e=this.ctorParameters=()=>[{type:Document,decorators:[{type:n.y_5,args:[S.qQ]}]},{type:ke},{type:n.gRc}];static#t=this.propDecorators={gridData:[{type:n.pde}],cellClosed:[{type:n.k7i}],multipleEdit:[{type:n.k7i}],valueInput:[{type:n.Uct,args:["valueInput"]}]}};Bl=(0,r.Cg)([(0,n.uAl)({selector:"app-data-grid-edit-cell",template:'<div\n  *ngIf="isCellEditing(gridData, gridData.column.dataField); else cellValue"\n>\n  <ng-container\n    *ngIf="gridData.column.dataType === \'number\'; else stringInput"\n  >\n    <input\n      [formControl]="editFormControl"\n      (click)="inputClick($event)"\n      (blur)="closeCell($event, gridData, gridData.column.dataField)"\n      (keyup.enter)="closeCell($event, gridData, gridData.column.dataField)"\n      class="data-grid__input"\n      type="text"\n      [maskito]="numberMask"\n      #valueInput\n    />\n  </ng-container>\n\n  <ng-template #stringInput>\n    <input\n      [formControl]="editFormControl"\n      (click)="inputClick($event)"\n      (blur)="closeCell($event, gridData, gridData.column.dataField)"\n      (keyup.enter)="closeCell($event, gridData, gridData.column.dataField)"\n      class="data-grid__input"\n      type="text"\n      #valueInput\n    />\n  </ng-template>\n</div>\n\n<ng-template #cellValue>\n  <div [class]="getClass()" class="jopa">\n      {{ gridData.data[gridData.column.dataField] }}\n    <button class="data-grid__button-icon">\n      <svg-icon-sprite\n        (click)="editCell($event, gridData.column.dataField, gridData)"\n        src="edit"\n        width="18"\n        height="18"\n      ></svg-icon-sprite>\n    </button>\n  </div>\n</ng-template>\n',styles:[LC()]})],Bl);var FC=i(51238),MC=i.n(FC),NC=i(82895);let Lr=class{set setReportData(e){this.data=e,this.updateReportSearchDate()}set setDxTableSettings(e){this.dxTableSettings=e,this.dxTableSettings?.columns?.forEach(t=>{this.columnsNameByCode[t.dataField]=t.caption})}set setViewSettings(e){e&&(this.dxViewSettings=e,this.columns=this.dxViewSettings?.columns||[],this.columnsFiltered=this.columns,this.initColumnsVisible(),setTimeout(()=>{this.dataGridInstance?.dataGrid&&this.initColumns(this.dataGridInstance.dataGrid)}),this.changeDetection.detectChanges())}set setSelectView(e){e&&(this.viewFormControl.setValue(e.code),e.code||(this.visibleColumns=[]),this.changeDetection.detectChanges())}constructor(e,t,s,o){this.changeDetection=e,this.datePipe=t,this.documentsService=s,this.scriptService=o,this.views=[],this.fullSize=!1,this.headerFilter=!0,this.multiSelect=!1,this.highlightSelected=!1,this.disableEditing=!1,this.selectItems={},this.calculateFields=null,this.calcFn=null,this.fileTitle="",this.selectedRows=[],this.showViews=!0,this.currentSearch=!1,this.checkboxMode="onClick",this.showSearchDate=!0,this.showColumnChooser=!0,this.showHeader=!0,this.withDisabled=!1,this.lastUpdateDate=null,this.showSelectionButtons=!1,this.showFilterRow=!1,this.allowColumnSearch=!1,this.showWeightErrors=!1,this.isDisabledRow=null,this.clearCurrentView=new n.bkB,this.createView=new n.bkB,this.selectView=new n.bkB,this.tableViewTypeChanged=new n.bkB,this.selectedRowsChange=new n.bkB,this.selectedRowsChanged=new n.bkB,this.deleteView=new n.bkB,this.editNameView=new n.bkB,this.openFileSelector=new n.bkB,this.cellClosed=new n.bkB,this.multipleEdit=new n.bkB,this.contentIsReady=new n.bkB,this.rowClick=new n.bkB,this.downloadFile=new n.bkB,this.optionChanged=new n.bkB,this.columnVisibilityChanged=new n.bkB,this.viewFormControl=new m.hs,this.displayOnlyMyViewCheckbox=!1,this.reportViewDate=null,this.data=[],this.dxViewSettings=null,this.dxTableSettings=null,this.showExportDropdown=!1,this.isColumnChooserActive=!1,this.columnsNameByCode={},this.columns=[],this.columnsFiltered=[],this.visibleColumns=[],this.columnChooserSearch=new m.hs,this.destroy$=new R.B,this.EXCEL_TITLE_MAX_LENGTH=31}ngOnInit(){this.initColumnChooserSearch(),this.loadExcelScript()}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}initColumns(e){const t=e?.instance?.state()?.columns||[];this.columns=[...t],this.columnsFiltered=this.columns}resetSearch(){this.columnChooserSearch.reset(),this.columnsFiltered=this.columns}onCreateView(e){const t=this.dataGridInstance?.dataGrid?.instance.state(),s=JSON.stringify(t),o={name:e.name,share:e.share,setting:s};this.createView.emit(o)}selectAll(){this.selectedRows=this.data,this.changeDetection.detectChanges()}deselectAll(){this.selectedRows=[],this.changeDetection.detectChanges()}onSelectView(e){this.selectView.emit(e)}showAllViews(){this.tableViewTypeChanged.emit(this.displayOnlyMyViewCheckbox)}updateReportSearchDate(){this.reportViewDate=new Date}onOptionChanged(e){this.optionChanged.emit(e)}onSelectedRowsChanged(){this.selectedRowsChange.emit(this.selectedRows),this.selectedRowsChanged.emit(this.selectedRows)}onExporting(e=!1){const t=new ExcelJS.Workbook,s=t.addWorksheet(this.addReportDateToFileName(this.fileTitle,this.EXCEL_TITLE_MAX_LENGTH)),o=this.dataGridInstance.dataGrid.instance;(0,NC.V)({component:o,worksheet:s,autoFilterEnabled:!0}).then(()=>{if(e){const l={};this.dataGridInstance.dataGrid.instance.state().columns.filter(_=>!_.visible).map(_=>{const C=_.name,T=this.dxTableSettings.columns.find(D=>D.dataField===C)?.caption||"";return l[_.visibleIndex]=[T],this.data.forEach(D=>l[_.visibleIndex].push(D[_.dataField])),_.visibleIndex}).forEach(_=>{s.spliceColumns(_+1,0,l[_])})}s.columns.forEach(l=>{let u=l.values[1]?l.values[1].length+10:0;l.eachCell({includeEmpty:!0},h=>{let _=h.value;!isNaN(+_)&&"string"==typeof _&&(h.value=+h.value),"number"==typeof _&&_.toString().includes(".")&&(h.numFmt="#,##0.00"),"right"===h.alignment?.horizontal&&(h.alignment={horizontal:"left"}),_&&_ instanceof Date&&(_=this.datePipe.transform(_,"dd.MM.yyyy"),h.alignment={horizontal:"right"},h.value=_);const C=_?_.toString().length:10;C>u&&(u=C),"number"==typeof h.value&&(h.alignment={horizontal:"right"})}),l.width=u<10?10:u}),t.xlsx.writeBuffer().then(l=>{const u=this.documentsService.getBlob(l),h=`${this.addReportDateToFileName(this.fileTitle)}.xlsx`;this.documentsService.saveAs(u,h)})}),o.cancel=!0}toggleDropDown(){this.showExportDropdown=!this.showExportDropdown}closeExportDropDown(){this.showExportDropdown=!1}saveToExcel(){this.closeExportDropDown(),this.onExporting(!0)}saveCustomToExcel(){this.closeExportDropDown(),this.onExporting()}toggleColumnChooser(){this.isColumnChooserActive=!this.isColumnChooserActive}initColumnsVisible(){this.visibleColumns=this.columns.filter(e=>e.visible).map(e=>e.dataField)}updateColumnsVisible(){this.initColumnsVisible();const e=this.dataGridInstance.dataGrid.instance.state();e.columns=this.columns,this.columnVisibilityChanged.emit(e)}deleteViews(e){this.deleteView.emit(e)}editNameViews(e){this.editNameView.emit(e)}addReportDateToFileName(e,t=0){const s=this.datePipe.transform(new Date,"dd.MM.yyyy_HH-mm");if(t>0&&`${e}_${s}`.length>t){const o=t-s.length;e=e.slice(0,o-3),e+="..."}return`${e}_${s}`}onOpenFileSelector(e){this.openFileSelector.next(e)}onCellClosed(e){this.cellClosed.emit(e)}onMultipleEdit(e){this.selectedRows.length>1&&this.multipleEdit.emit(e)}onRowClick(e){this.rowClick.emit(e)}onDownloadFile(e){this.downloadFile.emit(e)}loadExcelScript(){this.scriptService.loadScript(Zc.EXCEL)}initColumnChooserSearch(){this.columnChooserSearch.valueChanges.pipe((0,x.Q)(this.destroy$)).subscribe(e=>{this.columnsFiltered=this.columns.filter(t=>this.columnsNameByCode[t.dataField].toLowerCase().includes(e?.toLowerCase()))})}static#e=this.ctorParameters=()=>[{type:n.gRc},{type:S.vh},{type:dt},{type:Fl}];static#t=this.propDecorators={views:[{type:n.pde}],fullSize:[{type:n.pde}],headerFilter:[{type:n.pde}],multiSelect:[{type:n.pde}],highlightSelected:[{type:n.pde}],disableEditing:[{type:n.pde}],selectItems:[{type:n.pde}],calculateFields:[{type:n.pde}],calcFn:[{type:n.pde}],fileTitle:[{type:n.pde}],selectedRows:[{type:n.pde}],showViews:[{type:n.pde}],currentSearch:[{type:n.pde}],checkboxMode:[{type:n.pde}],showSearchDate:[{type:n.pde}],showColumnChooser:[{type:n.pde}],showHeader:[{type:n.pde}],withDisabled:[{type:n.pde}],lastUpdateDate:[{type:n.pde}],pageSize:[{type:n.pde}],showSelectionButtons:[{type:n.pde}],showFilterRow:[{type:n.pde}],allowColumnSearch:[{type:n.pde}],setReportData:[{type:n.pde,args:["data"]}],setDxTableSettings:[{type:n.pde,args:["dxTableSettings"]}],setViewSettings:[{type:n.pde,args:["dxViewSettings"]}],setSelectView:[{type:n.pde,args:["selectedView"]}],showWeightErrors:[{type:n.pde}],isDisabledRow:[{type:n.pde}],clearCurrentView:[{type:n.k7i}],createView:[{type:n.k7i}],selectView:[{type:n.k7i}],tableViewTypeChanged:[{type:n.k7i}],selectedRowsChange:[{type:n.k7i}],selectedRowsChanged:[{type:n.k7i}],deleteView:[{type:n.k7i}],editNameView:[{type:n.k7i}],openFileSelector:[{type:n.k7i}],cellClosed:[{type:n.k7i}],multipleEdit:[{type:n.k7i}],contentIsReady:[{type:n.k7i}],rowClick:[{type:n.k7i}],downloadFile:[{type:n.k7i}],optionChanged:[{type:n.k7i}],columnVisibilityChanged:[{type:n.k7i}],dataGridInstance:[{type:n.Uct,args:["dataGrid"]}]}};Lr=(0,r.Cg)([(0,n.uAl)({selector:"app-data-grid-views",template:'<div class="report-result" [class.report-result--window]="!fullSize">\n  <ng-container *ngIf="showViews">\n    <app-select-add-view\n      #select\n      [control]="viewFormControl"\n      [items]="views"\n      (createView)="onCreateView($event)"\n      (clearView)="clearCurrentView.emit()"\n      (selectView)="onSelectView($event)"\n      (deleteView)="deleteViews($event)"\n      (editNameView)="editNameViews($event)"\n      placeholder="{{ \'report.selectView\' | cxTranslate }}"\n      bindLabel="name"\n      bindValue="code"\n      class="report-result__select"\n    ></app-select-add-view>\n\n    <label class="checkbox-group report-result__my-views">\n      <input type="checkbox" [(ngModel)]="displayOnlyMyViewCheckbox" (change)="showAllViews()" />\n      <span class="checkbox-group__label">{{ \'report.myViews\' | cxTranslate }}</span>\n    </label>\n  </ng-container>\n\n  <div class="report-result__grid">\n    <div *ngIf="showHeader" class="report-result__search-wrapper">\n      <div class="report-result__search-date">\n        <ng-container *ngIf="lastUpdateDate; else searchDate">\n          {{ \'report.lastUpdate\' | cxTranslate }}: {{ lastUpdateDate | date: \'dd-MM-yyyy hh:mm\' }}\n        </ng-container>\n      </div>\n\n      <ng-template #searchDate>\n        <ng-container *ngIf="showSearchDate">\n          <ng-container *ngIf="currentSearch; else searchByDate">\n            {{ \'report.currentResult\' | cxTranslate }}\n          </ng-container>\n        </ng-container>\n      </ng-template>\n\n      <ng-template #searchByDate>\n        {{ \'report.searchData\' | cxTranslate }}: {{ reportViewDate | date: \'dd-MM-yyyy hh:mm\' }}\n      </ng-template>\n\n      <div class="report-result__buttons">\n        <div class="report-result__button btn-group" *ngIf="showSelectionButtons">\n          <button class="btn btn-secondary btn--sm" (click)="selectAll()">\n            {{ \'report.selectAll\' | cxTranslate }}\n          </button>\n          <button class="btn btn-secondary btn--sm" (click)="deselectAll()">\n            {{ \'report.deselectAll\' | cxTranslate }}\n          </button>\n        </div>\n        <div class="report-result__dropdown-wrapper">\n          <button\n            class="report-result__button report-result__button--export"\n            [class.report-result__button--active]="showExportDropdown"\n            (click)="toggleDropDown()"\n          >\n            <svg-icon-sprite class="report-result__button-icon" src="file_xls" width="20" height="20"></svg-icon-sprite>\n          </button>\n\n          <ng-container *ngIf="showExportDropdown">\n            <div\n              class="report-result__export-dropdown"\n              (clickOutside)="closeExportDropDown()"\n              exclude=".report-result__button--export"\n            >\n              <button class="report-result__export-button-dropdown" (click)="saveToExcel()">\n                {{ \'report.saveOriginal\' | cxTranslate }}\n              </button>\n              <button class="report-result__export-button-dropdown" (click)="saveCustomToExcel()">\n                {{ \'report.saveCustom\' | cxTranslate }}\n              </button>\n            </div>\n          </ng-container>\n        </div>\n\n        <div class="report-result__dropdown-wrapper">\n          <ng-container *ngIf="showColumnChooser">\n            <button\n              class="report-result__button report-result__button--column-chooser"\n              [class.report-result__button--active]="isColumnChooserActive"\n              (click)="toggleColumnChooser()"\n            >\n              <svg-icon-sprite class="report-result__button-icon" src="grid_on" width="20" height="20">\n              </svg-icon-sprite>\n            </button>\n\n            <ng-container *ngIf="isColumnChooserActive">\n              <div\n                class="report-result__dropdown"\n                (clickOutside)="isColumnChooserActive = false"\n                exclude=".report-result__button--column-chooser,.report-result__dropdown-body"\n              >\n                <scrollbar class="report-result__scrollbar">\n                  <div class="report-result__dropdown-search">\n                    <div class="input-search input-search--flat input-search--no-border">\n                      <svg-icon-sprite src="search" class="input-search__search-icon" width="18" height="18">\n                      </svg-icon-sprite>\n\n                      <input\n                        autofocus\n                        class="input-search__field"\n                        [formControl]="columnChooserSearch"\n                        placeholder="{{ \'placeholder.search\' | cxTranslate }}"\n                      />\n\n                      <button (click)="resetSearch()" class="input-search__cancel-button">\n                        <svg-icon-sprite class="input-search__cancel-icon" src="close" width="18" height="18">\n                        </svg-icon-sprite>\n                      </button>\n                    </div>\n                  </div>\n\n                  <div class="report-result__dropdown-body">\n                    <ng-container *ngIf="columnsFiltered.length > 0; else empty">\n                      <label\n                        class="report-result__field d-flex align-items-center"\n                        *ngFor="let item of columnsFiltered"\n                      >\n                        <input\n                          [(ngModel)]="item.visible"\n                          (ngModelChange)="updateColumnsVisible()"\n                          class="report-result__field-checkbox"\n                          type="checkbox"\n                        />\n                        <span>{{ columnsNameByCode[item.dataField] }}</span>\n                      </label>\n                    </ng-container>\n\n                    <ng-template #empty>\n                      <span class="report-result__empty">\n                        {{ \'report.notFound\' | cxTranslate }}\n                      </span>\n                    </ng-template>\n                  </div>\n                </scrollbar>\n              </div>\n            </ng-container>\n          </ng-container>\n        </div>\n      </div>\n    </div>\n\n    <app-data-grid\n      #dataGrid\n      [data]="data"\n      [(selectedRows)]="selectedRows"\n      [fileTitle]="fileTitle"\n      [multiSelect]="multiSelect"\n      [highlightSelected]="highlightSelected"\n      [dxTableSettings]="dxTableSettings"\n      [dxViewSettings]="dxViewSettings"\n      [visibleColumns]="visibleColumns"\n      [disableEditing]="disableEditing"\n      [selectItems]="selectItems"\n      [calculateFields]="calculateFields"\n      [calcFn]="calcFn"\n      [headerFilter]="headerFilter"\n      [showWeightErrors]="showWeightErrors"\n      [checkboxMode]="checkboxMode"\n      [withDisabled]="withDisabled"\n      [isDisabledRow]="isDisabledRow"\n      [pageSize]="pageSize"\n      [allowSelectAll]="!showSelectionButtons"\n      (selectedRowsChanged)="onSelectedRowsChanged()"\n      (optionChanged)="onOptionChanged($event)"\n      (openFileSelector)="onOpenFileSelector($event)"\n      (stylesLoad)="initColumns($event)"\n      (cellClosed)="onCellClosed($event)"\n      (multipleEdit)="onMultipleEdit($event)"\n      (rowClick)="onRowClick($event)"\n      (contentIsReady)="contentIsReady.emit($event)"\n      (downloadFile)="onDownloadFile($event)"\n    ></app-data-grid>\n  </div>\n</div>\n',styles:[MC()]})],Lr);var $C=i(25586),BC=i.n($C);let kr=class{set setDxTableSettings(e){this.dxTableSettings=e,this.prepareDateFormatForSearch(e),this.replaceDateFormatForSearch(),this.dataGrid?.instance.state(e)}set setViewSettings(e){e&&(this.dxViewSettings=e,this.dataGrid?.instance.state(e))}set setData(e){this.data=e,this.replaceDateFormatForSearch()}constructor(e,t,s,o){this.document=e,this.changeDetection=t,this.datePipe=s,this.messageService=o,this.fileTitle="",this.multiSelect=!0,this.highlightSelected=!1,this.virtualScroll=!1,this.selectedRows=[],this.disableEditing=!1,this.calculateFields=null,this.visibleColumns=[],this.selectItems={},this.headerFilter=!0,this.showWeightErrors=!1,this.checkboxMode="onClick",this.withDisabled=!1,this.allowSelectAll=!0,this.showFilterRow=!1,this.allowColumnSearch=!1,this.isDisabledRow=null,this.optionChanged=new n.bkB,this.selectedRowsChanged=new n.bkB,this.selectedRowsChange=new n.bkB,this.openFileSelector=new n.bkB,this.stylesLoad=new n.bkB,this.cellClosed=new n.bkB,this.multipleEdit=new n.bkB,this.contentIsReady=new n.bkB,this.rowClick=new n.bkB,this.downloadFile=new n.bkB,this.dxTableSettings=null,this.dxViewSettings=null,this.data=[],this.editingCells={},this.editFormControl=new m.hs(""),this.stylesLoaded=!1,this.dataTypeColumns=[],this.numberMask=(0,Ue.TK)({prefix:"",postfix:"",precision:3,thousandSeparator:""}),this.calcFn=()=>null}ngOnInit(){this.loadDevextremeStyle()}ngAfterViewInit(){this.dxTableSettings&&this.dataGrid&&this.dataGrid.instance.state(this.dxTableSettings)}getUrl(e,t){return{cxRoute:t.route,params:this.getParams(e,t)}}getParams(e,t){return{[t.routeParam]:e.data[t.routeParamValue]}}onRowPrepared(e){"data"===e.rowType&&this.withDisabled&&this.isDisabledRow&&this.isDisabledRow(e.data)&&e.rowElement.classList.add("disabled")}onCellPrepared(e){this.showWeightErrors&&(e.data?.hasOwnProperty("weightClaimed")&&e.data?.hasOwnProperty("weightInvoiced")&&e.data.weightClaimed>e.data.weightInvoiced||!e.data?.weightClaimed||"0"===e.data?.weightClaimed)&&e.cellElement.classList.add("row-with-error"),e.data?.hasOwnProperty("statusMessage")&&0===e.data?.statusMessage.length&&e.cellElement.classList.add("row-without-edi-error"),e.data?.hasOwnProperty("statusMessage")&&e.data?.statusMessage.length>0&&e.cellElement.classList.add("row-with-error")}selectionChangedHandler(e){const t=e.selectedRowKeys.filter(s=>s.addedToOrder);if(this.dataGridComponent.instance.deselectRows(t),this.selectedRowsChange.emit(this.selectedRows),this.selectedRowsChanged.emit(this.selectedRows),this.withDisabled&&this.isDisabledRow){const s=[],o=e.component;e.selectedRowsData.forEach(l=>{this.isDisabledRow(l)&&s.push(o.keyOf(l))}),s.length&&o.deselectRows(s)}}onOptionChanged(e){this.optionChanged.emit(e)}inputClick(e){e.preventDefault(),e.stopPropagation()}openFiles(e,t){this.dataGridComponent.instance.selectRowsByIndexes([e.rowIndex]),this.openFileSelector.next(e),this.inputClick(t)}deleteFile(e,t,s){e[t]=e[t].filter((o,l)=>l!==s)}contentReady(){this.contentIsReady.emit(!0)}updateSelect(e,t){e.defectCategory=t,this.cellClosed.emit()}onRowClick(e){this.rowClick.emit(e)}onValueChange(e){this.cellClosed.emit(e.data),this.selectedRows=[...this.selectedRows],this.selectedRows.every(s=>s[this.dxTableSettings.columns[e.column.index].dictField]?.includes(e.data[e.column.dataField]))?(this.selectedRowsChange.emit(this.selectedRows),this.selectedRowsChanged.emit(this.selectedRows),this.multipleEdit.emit({columnName:e.column.dataField,cellValue:e.data[e.column.dataField]}),this.changeDetection.detectChanges()):(this.messageService.add("This value is not available in others orders",p.NCV.MSG_TYPE_ERROR),this.data[e.rowIndex][e.column.dataField]=e.value,this.dataGridComponent.instance.getDataSource().load())}download(e,t){this.downloadFile.emit({file:e,data:t})}salesOrderItemNumberSort(e,t){return Number(e)<Number(t)||!e&&t?-1:Number(e)>Number(t)||e&&!t?1:0}prepareDateFormatForSearch(e){e&&(this.dataTypeColumns=e.columns.filter(t=>"date"===t.dataType).map(t=>t.dataField))}replaceDateFormatForSearch(){!this.data||0===this.dataTypeColumns.length||(this.data=this.data.map(e=>(this.dataTypeColumns.forEach(t=>{if(t&&e[t]){if("string"==typeof e[t])return;e[t]=this.datePipe.transform(e[t],"dd.MM.yyyy")}}),e)))}loadDevextremeStyle(){const t=Array.from(document.querySelectorAll('link[rel="stylesheet"]'))?.map(u=>u?.href.replace(u.baseURI,""))?.find(u=>u.indexOf("devextreme-module")>-1&&"devextreme-module.css"!==u)||"devextreme-module.css",s=this.document.getElementsByTagName("head")[0],o=()=>{this.stylesLoaded=!0,this.changeDetection.detectChanges(),setTimeout(()=>{this.stylesLoad.emit(this.dataGrid)})},l=this.document.getElementById("client-theme");if(l)l.href=t,o();else{const u=this.document.createElement("link");u.id="client-theme",u.rel="stylesheet",u.href=`${t}`,u.onload=o,s.appendChild(u)}}formatDate(e){const s=e?.match(/^(\d{2})\.(\d{2})\.(\d{4})$/);if(s){const[,o,l,u]=s;return new Date(parseInt(u,10),parseInt(l,10)-1,parseInt(o,10))}return e}static#e=this.ctorParameters=()=>[{type:Document,decorators:[{type:n.y_5,args:[S.qQ]}]},{type:n.gRc},{type:S.vh},{type:p.S8D}];static#t=this.propDecorators={setDxTableSettings:[{type:n.pde,args:["dxTableSettings"]}],setViewSettings:[{type:n.pde,args:["dxViewSettings"]}],setData:[{type:n.pde,args:["data"]}],fileTitle:[{type:n.pde}],multiSelect:[{type:n.pde}],highlightSelected:[{type:n.pde}],virtualScroll:[{type:n.pde}],selectedRows:[{type:n.pde}],disableEditing:[{type:n.pde}],calculateFields:[{type:n.pde}],visibleColumns:[{type:n.pde}],selectItems:[{type:n.pde}],headerFilter:[{type:n.pde}],showWeightErrors:[{type:n.pde}],checkboxMode:[{type:n.pde}],withDisabled:[{type:n.pde}],pageSize:[{type:n.pde}],allowSelectAll:[{type:n.pde}],showFilterRow:[{type:n.pde}],allowColumnSearch:[{type:n.pde}],isDisabledRow:[{type:n.pde}],optionChanged:[{type:n.k7i}],selectedRowsChanged:[{type:n.k7i}],selectedRowsChange:[{type:n.k7i}],openFileSelector:[{type:n.k7i}],stylesLoad:[{type:n.k7i}],cellClosed:[{type:n.k7i}],multipleEdit:[{type:n.k7i}],contentIsReady:[{type:n.k7i}],rowClick:[{type:n.k7i}],downloadFile:[{type:n.k7i}],dataGrid:[{type:n.Uct,args:["dataGrid"]}],dataGridComponent:[{type:n.Uct,args:["dataGrid"]}],select:[{type:n.Uct,args:["select"]}],valueInput:[{type:n.Uct,args:["valueInput"]}],calcFn:[{type:n.pde}]}};kr=(0,r.Cg)([(0,n.uAl)({selector:"app-data-grid",template:'<dx-data-grid\n  #dataGrid\n  *ngIf="stylesLoaded"\n  id="gridContainer"\n  class="data-grid"\n  [class.with-disabled]="withDisabled"\n  [dataSource]="data"\n  [showBorders]="true"\n  [activeStateEnabled]="true"\n  [allowColumnReordering]="true"\n  [allowColumnResizing]="true"\n  [hoverStateEnabled]="true"\n  [columnAutoWidth]="true"\n  [(selectedRowKeys)]="selectedRows"\n  (onSelectionChanged)="selectionChangedHandler($event)"\n  (onOptionChanged)="onOptionChanged($event)"\n  (onContentReady)="contentReady()"\n  (onRowClick)="onRowClick($event)"\n  (onCellPrepared)="onCellPrepared($event)"\n  (onRowPrepared)="onRowPrepared($event)"\n>\n  <dxo-selection\n    *ngIf="multiSelect"\n    [allowSelectAll]="allowSelectAll"\n    [selectAllMode]="\'allPages\'"\n    [showCheckBoxesMode]="checkboxMode"\n    mode="multiple"\n  ></dxo-selection>\n\n  <dxo-selection *ngIf="highlightSelected" mode="single"></dxo-selection>\n\n  <dxo-state-storing #store [enabled]="true" type="custom" storageKey="storage"></dxo-state-storing>\n\n  <ng-container *ngIf="virtualScroll; else pagination">\n    <dxo-scrolling mode="standard"></dxo-scrolling>\n  </ng-container>\n\n  <ng-template #pagination>\n    <dxo-paging [pageSize]="pageSize"></dxo-paging>\n    <dxo-scrolling columnRenderingMode="standard"></dxo-scrolling>\n  </ng-template>\n\n  <dxo-column-chooser [enabled]="false" mode="select" [allowSearch]="true"></dxo-column-chooser>\n\n  <dxo-search-panel [visible]="true" [width]="200" placeholder="{{ \'report.search\' | cxTranslate }}"></dxo-search-panel>\n  <dxo-filter-row [visible]="showFilterRow"></dxo-filter-row>\n  <dxo-header-filter [visible]="true" [allowSearch]="allowColumnSearch"></dxo-header-filter>\n\n  \x3c!-- Column generator --\x3e\n  <ng-container *ngIf="dxTableSettings && dxTableSettings.columns">\n    <ng-container *ngFor="let column of dxTableSettings.columns">\n      <ng-container *ngIf="column.editable && !disableEditing; else staticFields">\n        <dxi-column\n          [visible]="visibleColumns.length > 0 ? visibleColumns.includes(column.dataField) : true"\n          [dataField]="column.dataField"\n          [dataType]="column.dataType"\n          [caption]="column.caption"\n          cellTemplate="editable"\n        ></dxi-column>\n\n        <div *dxTemplate="let gridData of \'editable\'">\n          <ng-container [ngSwitch]="gridData?.column?.dataType">\n            <div *ngSwitchCase="\'file\'" class="d-flex justify-content-start align-items-start">\n              <ng-container *ngIf="!disableEditing">\n                <button class="data-grid__button-icon">\n                  <svg-icon-sprite\n                    (click)="openFiles(gridData, $event)"\n                    src="attachment"\n                    width="18"\n                    height="18"\n                  ></svg-icon-sprite>\n                </button>\n\n                <div class="d-flex flex-column">\n                  <ng-container *ngFor="let file of gridData.data[gridData.column.dataField]; let index = index">\n                    <div class="d-flex">\n                      <span>\n                        {{ file.name }}\n\n                        <button class="data-grid__button-icon">\n                          <svg-icon-sprite\n                            (click)="deleteFile(gridData.data, gridData.column.dataField, index)"\n                            src="cancel"\n                            width="18"\n                            height="18"\n                          ></svg-icon-sprite>\n                        </button>\n                      </span>\n                    </div>\n                  </ng-container>\n                </div>\n              </ng-container>\n            </div>\n\n            <div *ngSwitchCase="\'select\'" class="d-flex justify-content-start align-items-start w-100">\n              <dx-select-box\n                #selectBox\n                (selectedItemChange)="updateSelect(gridData.data, selectBox.value)"\n                [items]="selectItems[gridData.data.productCategory]"\n                [value]="gridData.data.defectCategory"\n                [searchEnabled]="true"\n                valueExpr="value"\n                displayExpr="label"\n                style="min-width: 260px; width: 100%"\n              ></dx-select-box>\n            </div>\n\n            <div *ngSwitchCase="\'edi_select\'">\n              <dx-select-box\n                *ngIf="!gridData.data.addedToOrder; else staticText"\n                [items]="gridData.data[dxTableSettings.columns[gridData.column.index].dictField]"\n                [searchEnabled]="true"\n                [(value)]="gridData.data[gridData.column.dataField]"\n                (onValueChanged)="onValueChange(gridData)"\n                style="min-width: 300px; width: 100%"\n              ></dx-select-box>\n\n              <ng-template #staticText>\n                <span>{{ gridData.data[gridData.column.dataField] }}</span>\n              </ng-template>\n            </div>\n\n            <div *ngSwitchCase="\'medias\'" class="d-flex justify-content-start align-items-start">\n              <div *ngIf="gridData.data[dxTableSettings.columns[gridData.column.index].dataField]">\n                <div *ngFor="let file of gridData.data[dxTableSettings.columns[gridData.column.index].dataField]">\n                  <div class="data-grid__attach-item">\n                    <svg-icon-sprite\n                      class="data-grid__attach-icon"\n                      src="attachment"\n                      width="18"\n                      height="18"\n                    ></svg-icon-sprite>\n                    <a class="data-grid__attach-link" (click)="download(file, gridData.data)">\n                      {{ file?.documentName || file }}\n                    </a>\n                  </div>\n                </div>\n              </div>\n            </div>\n\n            <ng-container *ngSwitchDefault>\n              <app-data-grid-edit-cell\n                *ngIf="!gridData.data.addedToOrder; else staticText"\n                (cellClosed)="cellClosed.emit($event)"\n                (multipleEdit)="multipleEdit.emit($event)"\n                [gridData]="gridData"\n              ></app-data-grid-edit-cell>\n\n              <ng-template #staticText>\n                <span>{{ gridData.data[gridData.column.dataField] }}</span>\n              </ng-template>\n            </ng-container>\n          </ng-container>\n        </div>\n      </ng-container>\n\n      <ng-template #staticFields>\n        <ng-container [ngSwitch]="column.dataType">\n          <dxi-column\n            *ngSwitchCase="\'date\'"\n            [visible]="visibleColumns.length > 0 ? visibleColumns.includes(column.dataField) : true"\n            [dataField]="column.dataField"\n            [caption]="column.caption"\n            dataType="string"\n            cellTemplate="dateTemplate"\n          ></dxi-column>\n\n          <dxi-column\n            *ngSwitchCase="\'number\'"\n            [sortingMethod]="column.dataField === \'salesOrderItemNumber\' ? salesOrderItemNumberSort : null"\n            [sortOrder]="column.dataField === \'salesOrderItemNumber\' ? \'asc\' : null"\n            [visible]="visibleColumns.length > 0 ? visibleColumns.includes(column.dataField) : true"\n            [dataField]="column.dataField"\n            [caption]="column.caption"\n            cellTemplate="numberTemplate"\n            dataType="string"\n          ></dxi-column>\n\n          <dxi-column\n            *ngSwitchCase="\'calculated\'"\n            [visible]="visibleColumns.length > 0 ? visibleColumns.includes(column.dataField) : true"\n            [dataField]="column.dataField"\n            [caption]="column.caption"\n            [calculateCellValue]="calcFn"\n            dataType="string"\n          ></dxi-column>\n\n          <dxi-column\n            *ngSwitchCase="\'medias\'"\n            [visible]="visibleColumns.length > 0 ? visibleColumns.includes(column.dataField) : true"\n            [dataField]="column.dataField"\n            [caption]="column.caption"\n            dataType="medias"\n            cellTemplate="mediasTemplate"\n          ></dxi-column>\n\n          <dxi-column\n            *ngSwitchCase="\'array\'"\n            [visible]="visibleColumns.length > 0 ? visibleColumns.includes(column.dataField) : true"\n            [dataField]="column.dataField"\n            [caption]="column.caption"\n            dataType="string"\n            cellTemplate="arrayTemplate"\n          ></dxi-column>\n\n          <dxi-column\n            *ngSwitchCase="\'link\'"\n            [visible]="visibleColumns.length > 0 ? visibleColumns.includes(column.dataField) : true"\n            [dataField]="column.dataField"\n            [caption]="column.caption"\n            dataType="string"\n            cellTemplate="linkTemplate"\n          ></dxi-column>\n\n          <div *dxTemplate="let cell of \'numberTemplate\'">\n            <span>{{ cell.data[dxTableSettings.columns[cell.column.index].dataField] }}</span>\n          </div>\n\n          <div *dxTemplate="let cell of \'stringTemplate\'">\n            {{ cell.data[dxTableSettings.columns[cell.column.index].dataField] }}\n          </div>\n\n          <div *dxTemplate="let cell of \'arrayTemplate\'">\n            <p\n              *ngFor="let data of cell.data[dxTableSettings.columns[cell.column.index].dataField]"\n              class="data-grid__array-item"\n            >\n              {{ data }}\n            </p>\n          </div>\n\n          <div *dxTemplate="let cell of \'linkTemplate\'">\n            <ng-container *ngIf="dxTableSettings.columns[cell.column.index] as column">\n              <ng-container *ngIf="column.route; else defaultLink">\n                <a class="data-grid__link" [routerLink]="getUrl(cell, column) | cxUrl" target="_blank">\n                  {{ cell.data[column.dataField] }}\n                </a>\n              </ng-container>\n              <ng-template #defaultLink>\n                <a\n                  class="data-grid__link"\n                  [routerLink]="column.routerLink"\n                  [queryParams]="getParams(cell, column)"\n                  target="blank"\n                >\n                  {{ cell.data[column.dataField] }}\n                </a>\n              </ng-template>\n            </ng-container>\n          </div>\n\n          <div *dxTemplate="let cell of \'dateTemplate\'">\n            {{\n            formatDate(cell.data[dxTableSettings.columns[cell.column.index].dataField])\n                | date\n                  : (dxTableSettings.columns[cell.column.index].dateFormat\n                      ? dxTableSettings.columns[cell.column.index].dateFormat\n                      : \'yyyy-MM-dd\')\n            }}\n          </div>\n\n          <div *dxTemplate="let cell of \'mediasTemplate\'">\n            <div class="d-flex justify-content-start align-items-start">\n              <div\n                *ngIf="cell.data[dxTableSettings.columns[cell.column.index].dataField]"\n                class="d-flex flex-column align-items-start"\n              >\n                <div *ngFor="let file of cell.data[dxTableSettings.columns[cell.column.index].dataField]">\n                  <div class="data-grid__attach-item">\n                    <svg-icon-sprite\n                      class="data-grid__attach-icon"\n                      src="attachment"\n                      width="18"\n                      height="18"\n                    ></svg-icon-sprite>\n                    <a class="data-grid__attach-link" (click)="download(file, cell.data)">\n                      {{ file?.documentName || file }}\n                    </a>\n                  </div>\n                </div>\n              </div>\n            </div>\n          </div>\n\n          <ng-container *ngSwitchDefault>\n            <dxi-column\n              [visible]="visibleColumns.length > 0 ? visibleColumns.includes(column.dataField) : true"\n              [dataField]="column.dataField"\n              [dataType]="column.dataType"\n              [caption]="column.caption"\n            ></dxi-column>\n          </ng-container>\n        </ng-container>\n      </ng-template>\n    </ng-container>\n  </ng-container>\n</dx-data-grid>\n\n',styles:[BC()]})],kr);let an=class{};an=(0,r.Cg)([(0,n.UQu)({declarations:[kr,Lr,as,Ar,Pr,Dr,Bl],exports:[kr,Lr,as],imports:[S.MD,CC.N,p.LP3,ce,m.YN,V.F2,Mt,Bt.o,m.X1,bC.S,st.MQ,Te,Ft.u,be,xe,y.iI,p.YYe,v.x6L,wr,Ze]})],an);var Qe,$e,Ie,GC=i(49493),zC=i.n(GC);!function(a){a.DELIVERY="ZSD_BRN",a.ORDER="ZTR_GTM_SPECS",a.CLAIMS="NLMK_CLAIM",a.CLAIM_CREATION_TRADING="NLMK_CLAIM_CREATION_TRADING",a.NLMK_CLAIM_HEADER_TRADING="NLMK_CLAIMS_HEADERS",a.NLMK_CLAIM_ITEM_TRADING="NLMK_CLAIMS_ENTRIES",a.EDI_DASHBOARD="EDI_DASHBOARD",a.RTS="RTS_LIST",a.ORDER_BOOK="ORDER_BOOK"}(Qe||(Qe={})),function(a){a.CONTRACT="contract",a.MILL_CONTRACT="millContract",a.MILL_SPECIFICATION="millSpecification"}($e||($e={})),function(a){a.CONTRACT="contractCodes",a.MILL_CONTRACT="contractWithMill",a.MILL_SPECIFICATION="specification"}(Ie||(Ie={}));class cs{constructor(e,t,s,o,l,u,h,_){this.apiService=e,this.changeDetection=t,this.userAccountService=s,this.globalMessageService=o,this.launchDialogService=l,this.translatePipe=u,this.datePipe=h,this.documentsService=_,this.reportData=[],this.reportUid=null,this.isReportLoading=!1,this.isShowReport=!1,this.views=[],this.dxTableSettings=null,this.dxViewSettings=null,this.selectedView=null,this.contracts=null,this.userName="",this.fileTitle="",this.documentsDataField="_cellDocuments",this.views$=new n.bkB,this.selectedView$=new n.bkB,this.dxViewSettings$=new n.bkB,this.subscription=new X.yU,this.userAccountService.get()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}prepareRequestData(e){return[{send:Ie.CONTRACT,store:$e.CONTRACT},{send:Ie.MILL_CONTRACT,store:$e.MILL_CONTRACT},{send:Ie.MILL_SPECIFICATION,store:$e.MILL_SPECIFICATION}].reduce((t,s)=>{if(e[s.send].length){if(t.length)return t.filter(o=>e[s.send].includes(o[s.store]));t.push(...this.contracts.IntegrationReportContract.filter(o=>e[s.send].includes(o[s.store])))}return t},[])}closeReport(){this.isShowReport=!1}loadTableViews(){return this.apiService.getViews().pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{!e||Array.isArray(e)||(this.views=e.dxTableViews,this.dxTableSettings=e.dxTable,this.dxTableSettings.columns=this.dxTableSettings.columns.sort((t,s)=>t.visibleIndex-s.visibleIndex),this.dxTableSettings?.columns?.forEach(t=>{t.dataField===this.documentsDataField&&(t.editable=!0)}),this.changeDetection.detectChanges())})}onLoadReport(e){this.isReportLoading||(this.isShowReport=!1,this.isReportLoading=!0,this.apiService.createReport(e).pipe((0,B.p)(t=>!!t.uid),(0,k.n)(t=>(this.reportUid=t.uid,this.apiService.getReport(t.uid,this.destroyed$).pipe((0,_e.j)(()=>{this.isReportLoading=!1,this.changeDetection.detectChanges()})))),(0,x.Q)(this.destroyed$)).subscribe(t=>{t.forEach(s=>{s.hasOwnProperty("ZZCLSPDATE")&&(s.ZZCLSPDATE=new S.vh("en-US").transform(s.ZZCLSPDATE)),s.hasOwnProperty("ZZCRTF_DATE")&&(s.ZZCRTF_DATE=new S.vh("en-US").transform(s.ZZCRTF_DATE)),s.hasOwnProperty("ZZKONASAM_DATE")&&(s.ZZKONASAM_DATE=new S.vh("en-US").transform(s.ZZKONASAM_DATE)),s.hasOwnProperty("GTM_FKDAT")&&(s.GTM_FKDAT=new S.vh("en-US").transform(s.GTM_FKDAT)),s.hasOwnProperty("LDDAT")&&(s.LDDAT=new S.vh("en-US").transform(s.LDDAT))}),this.reportData=t,this.hideEmptyColumns(t)},t=>{t.error.errors.forEach(s=>{switch(this.isReportLoading=!1,this.changeDetection.detectChanges(),s.type){case Ct.VALIDATION_ERROR:break;case Ct.MAX_DELAY:this.globalMessageService.add({key:"report.reportMaxDelayError"},p.NCV.MSG_TYPE_ERROR);break;default:this.globalMessageService.add({key:"report.reportEmptyError"},p.NCV.MSG_TYPE_ERROR)}})},()=>{this.isShowReport=!0}))}hideEmptyColumns(e){const t={};e.forEach(o=>{Object.keys(o).forEach(l=>{""===o[l]&&(t[l]=t[l]?t[l]+1:1)})});const s=Object.assign({},this.dxTableSettings);s.columns.forEach(o=>{const u=(t[o.dataField]||0)===e.length;o.visible=!u}),this.dxViewSettings=s}updateView(e){this.apiService.editView(e).pipe((0,x.Q)(this.destroyed$)).subscribe(t=>{e.code=t.code,this.views=[e],this.selectedView=e,this.dxViewSettings=this.selectedView?.setting?JSON.parse(this.selectedView.setting):{},this.views$.emit(this.views),this.selectedView$.emit(e),this.dxViewSettings$.emit(this.dxViewSettings),this.changeDetection.detectChanges()})}createView(e){e.tableCode=this.tableCode,this.apiService.saveView(e).pipe((0,x.Q)(this.destroyed$)).subscribe(t=>{e.code=t.code,this.views=[...this.views,e],this.selectedView=e,this.dxViewSettings=this.selectedView?.setting?JSON.parse(this.selectedView.setting):{},this.views$.emit(this.views),this.selectedView$.emit(e),this.dxViewSettings$.emit(this.dxViewSettings),this.changeDetection.detectChanges()})}changeTableView(e){const{code:t,defaultView:s}=e;if(""!==t){if(this.selectedView=e,s)return void this.clearCurrentView();this.apiService.getView(t).pipe((0,x.Q)(this.destroyed$)).subscribe(o=>{this.dxViewSettings=o.dxTableView?.setting?JSON.parse(o.dxTableView.setting):{},this.dxViewSettings$.emit(this.dxViewSettings),this.changeDetection.detectChanges()})}}clearCurrentView(){this.dxViewSettings=this.dxTableSettings,this.dxViewSettings$.emit(this.dxViewSettings),this.changeDetection.detectChanges()}tableViewTypeChanged(e){e?this.userAccountService.get().pipe((0,x.Q)(this.destroyed$)).subscribe(t=>{t&&t.uid&&(this.views=this.views.filter(s=>s.user===t.uid||!s.user),this.views$.emit(this.views))}):this.apiService.getViews().pipe((0,x.Q)(this.destroyed$)).subscribe(t=>{this.views=t.dxTableViews,this.views$.emit(this.views),this.changeDetection.detectChanges()})}openModal(e={showHeader:!0,showViews:!0,multiSelect:!1,selectedItems:[],withDisabled:!1,isDisabledRow:null,pagination:null,isRts:!1}){const t=new n.bkB,s=new n.bkB,o=new n.bkB,l=new n.bkB,u=new n.bkB,h=new n.bkB,_=new n.bkB;this.launchDialogService.openDialogAndSubscribe("DATA_GRID_VIEWS_MODAL",void 0,{contentIsReady:h,createView:t,changeTableView:s,tableViewTypeChanged:o,deleteView:l,editView:u,params:e,selectedRows:e.selectedItems,withDisabled:e.withDisabled,isDisabledRow:e.isDisabledRow,isRts:e.isRts,reportData:this.reportData,dxTableSettings:this.dxTableSettings,views:this.views,selectedView:this.selectedView,fileTitle:this.fileTitle,views$:this.views$,selectedView$:this.selectedView$,dxViewSettings$:this.dxViewSettings$}),this.subscription.add(h.pipe((0,x.Q)(this.destroyed$)).subscribe(()=>{this.dxViewSettings$.emit(this.dxViewSettings)})),this.subscription.add(t.pipe((0,x.Q)(this.destroyed$)).subscribe(C=>{this.createView(C)})),this.subscription.add(s.pipe((0,x.Q)(this.destroyed$)).subscribe(C=>{C||this.clearCurrentView(),this.changeTableView(C)})),this.subscription.add(o.pipe((0,x.Q)(this.destroyed$)).subscribe(C=>{this.tableViewTypeChanged(C)})),this.subscription.add(l.pipe((0,x.Q)(this.destroyed$)).subscribe(C=>{this.deleteView(C)})),this.subscription.add(u.pipe((0,x.Q)(this.destroyed$)).subscribe(C=>{this.editNameView(C)})),this.subscription.add(_.pipe((0,x.Q)(this.destroyed$)).subscribe(C=>{this.downloadFile(C)})),this.subscription.add(this.launchDialogService.dialogClose.subscribe(()=>{this.subscription?.unsubscribe()},()=>{this.subscription?.unsubscribe()}))}getContracts(){this.apiService.getContracts().pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{e&&(this.contracts=e,this.changeDetection.detectChanges())})}generateFileTitle(e){this.userAccountService.get().pipe((0,x.Q)(this.destroyed$)).subscribe(t=>{this.userName=t?.orgUnit?.name,this.fileTitle=this.getFileTitle(this.translatePipe.transform(e))})}getFileTitle(e){return`${e}_${this.userName}`}deleteView(e){this.apiService.delete(e).pipe((0,x.Q)(this.destroyed$)).subscribe(()=>{const t={code:null};this.selectedView=t,this.dxViewSettings={},this.views=this.views.filter(s=>s.code!==e),this.views$.emit(this.views),this.selectedView$.emit(t),this.dxViewSettings$.emit({}),this.changeDetection.detectChanges()})}editNameView(e){this.apiService.getView(e.code).pipe((0,k.n)(t=>{const s=t.dxTableView;return s.name=e.name,this.apiService.editView(s)}),(0,x.Q)(this.destroyed$)).subscribe(()=>{const t=[...this.views];t.forEach(s=>{s.code===e.code&&(s.name=e.name)}),this.views=t,this.views$.emit(this.views),this.changeDetection.detectChanges()})}downloadFile(e){this.documentsService.downloadBy(E.USER.DOCUMENTS.REPORTS.FILE,{reportUid:this.reportUid,masterCode:e.file}).pipe((0,x.Q)(this.destroyed$)).subscribe(t=>{this.documentsService.saveAs(t,`${e.file}.pdf`)},()=>{this.globalMessageService.add({key:"error.downloadDocument"},p.NCV.MSG_TYPE_ERROR)})}}var Ug=i(11966),$g=i(63183);class ls{constructor(e,t,s,o){this.occEndpointsService=e,this.http=t,this.globalMessageService=s,this.translatePipe=o,this.DELAY_REQUEST=1e4,this.MAX_DELAY_REQUEST=18e4,this.CURRENT_DELAY_REQUEST=0}create(e){const t=this.occEndpointsService.buildUrl(this.api.SEARCH);return this.http.post(t,e).pipe((0,w.T)(s=>(null===s.uid&&this.globalMessageService.add(this.translatePipe.transform("report.reportCreationError"),p.NCV.MSG_TYPE_ERROR),s)))}get(e,t){this.CURRENT_DELAY_REQUEST=0;const s=this.occEndpointsService.buildUrl(this.api.GET_REPORT,{urlParams:{uid:e}});return this.http.get(s).pipe((0,w.T)(o=>{if(o)return o;throw o}),(0,Ug.l)(o=>o.pipe((0,$g.o)(l=>l?(0,ue.$)(l):this.CURRENT_DELAY_REQUEST===this.MAX_DELAY_REQUEST?(0,ue.$)({error:{errors:[{type:Ct.MAX_DELAY}]}}):(this.CURRENT_DELAY_REQUEST+=this.DELAY_REQUEST,(0,Yc.O)(this.DELAY_REQUEST))),(0,x.Q)(t))))}save(e){const t=this.occEndpointsService.buildUrl(E.REPORTS.SAVE_VIEW);return this.http.post(t,e)}getViews(){const e=this.occEndpointsService.buildUrl(this.api.GET);return this.http.get(e)}getView(e){const t=this.occEndpointsService.buildUrl(this.api.GET);return this.http.get(t,{params:(new U.Nl).append("view",e)})}getContracts(){const e=this.occEndpointsService.buildUrl(this.api.CONTRACTS);return this.http.get(e)}delete(e){const t=this.occEndpointsService.buildUrl(E.REPORTS.EDIT_VIEW,{urlParams:{code:e}});return this.http.delete(t)}edit(e){const t=this.occEndpointsService.buildUrl(E.REPORTS.EDIT_VIEW,{urlParams:{code:e.code}});return this.http.put(t,e)}}let Fr=class extends ls{constructor(e,t,s,o){super(t,e,s,o),this.http=e,this.occEndpoints=t,this.globalMessageService=s,this.translatePipe=o,this.api=E.REPORTS.EDI}getPageData(e,t){const s=this.occEndpoints.buildUrl(E.EDI.LIST),o=(new U.Nl).set("addedToOrder",String(e)).set("archived",String(t));return this.http.get(s,{params:o}).pipe((0,fe.E)("results"),(0,w.T)(l=>(l.forEach((u,h)=>u.itemNo=h+1),l)))}updatePageData(e){const t=this.occEndpoints.buildUrl(E.EDI.EDIT,{urlParams:{code:e.pk}});return this.http.put(t,e)}createOrder(e){const t=this.occEndpoints.buildUrl(E.EDI.CREATE_ORDER),s=e.map(({type:o,itemNo:l,...u})=>({...u}));return this.http.post(t,s)}multipleEditing(e){const t=this.occEndpoints.buildUrl(E.EDI.MULTIPLE_EDIT);return this.http.put(t,e)}archive(e,t=!1){const s=this.occEndpoints.buildUrl(E.EDI.ARCHIVE),o=e.map(({type:u,itemNo:h,..._})=>({..._})),l=(new U.Nl).set("toArchive",String(t));return this.http.post(s,o,{params:l})}createReport(e){return super.create(e)}getReport(e,t){return super.get(e,t)}saveView(e){return super.save(e)}getViews(){return super.getViews()}getView(e){return super.getView(e)}getContracts(){return super.getContracts()}delete(e){return super.delete(e)}editView(e){return super.edit(e)}static#e=this.ctorParameters=()=>[{type:U.Qq},{type:p.zxz},{type:p.S8D},{type:p.D97}]};Fr=(0,r.Cg)([(0,n._qm)()],Fr);let Mr=class extends cs{constructor(e,t,s,o,l,u,h,_,C){super(e,l,u,h,s,o,_,C),this.ediService=e,this.messageService=t,this.launchDialogService=s,this.translatePipe=o,this.changeDetectorRef=l,this.userAccountService=u,this.globalMessageService=h,this.datePipe=_,this.documentsService=C,this.selectedRows=[],this.ediData=[],this.dictionaries={},this.isLoading=!1,this.addedToOrder=!1,this.addedInArchive=!1,this.destroyed$=new R.B,this.tableCode=Qe.EDI_DASHBOARD,this.multipleEdit$=new P.t(null),this.MODAL_CANCELLED="cancelled"}get multipleEditValue(){return this.multipleEdit$.asObservable()}ngOnInit(){super.loadTableViews().add(()=>{this.views.length&&(this.selectedView=this.views[0],this.dxViewSettings=JSON.parse(this.views[0].setting))}),this.getEdiData()}ngOnDestroy(){super.ngOnDestroy()}proceedToOrder(){this.selectedRows.length&&(this.launchDialogService.openDialogAndSubscribe("CONFIRM_MODAL",void 0,{title:this.translatePipe.transform("edi.proceedToOrderTitle"),confirmButton:this.translatePipe.transform("edi.proceed"),cancelButton:this.translatePipe.transform("edi.cancel"),icon:"error_outline",size:vt.M}),this.modalSubscription=this.launchDialogService.dialogClose.pipe((0,B.p)(p.EAw),(0,k.n)(e=>e?this.ediService.createOrder(this.selectedRows):(0,$.of)(this.MODAL_CANCELLED)),(0,pe.W)(e=>(400===e.status&&this.getEdiData(),e?.error?.errors?e?.error?.errors?.forEach(t=>{this.showErrorMessage(t.message)}):e.message&&this.showErrorMessage(e.message),this.modalSubscription?.unsubscribe(),(0,ue.$)(e))),(0,x.Q)(this.destroyed$)).subscribe(e=>{e!==this.MODAL_CANCELLED?(this.addedToOrder?this.selectedRows.forEach(t=>{this.ediData.find(s=>s.pk===t.pk&&s.entryNumber===t.entryNumber).addedToOrder=!0}):this.ediData=this.ediData.filter(t=>!this.selectedRows.some(s=>t.pk===s.pk&&t.entryNumber===s.entryNumber)),this.selectedRows=[],this.changeDetectorRef.detectChanges(),this.modalSubscription?.unsubscribe()):this.modalSubscription?.unsubscribe()}))}updateEdiView(e){const t=JSON.stringify(e),s=this.views.length<1,o={code:s?null:this.selectedView.code,name:"CUSTOM_VIEW_NAME",share:!1,setting:t};s?super.createView(o):super.updateView(o)}onCellClosed(e){this.isLoading=!0,this.ediService.updatePageData(e).pipe((0,pe.W)(this.onError()),(0,_e.j)(this.onDataLoadFinalise()),(0,x.Q)(this.destroyed$)).subscribe(t=>{t.orders.forEach(o=>{const l=this.ediData.findIndex(u=>u.pk===o.pk&&u.entryNumber===o.entryNumber);o.itemNo=this.ediData[l]?.itemNo,this.ediData[l]=o}),this.ediData=[...this.ediData];const s=this.ediData.findIndex(o=>o.pk===e.pk&&o.entryNumber===e.entryNumber);this.selectedRows.length>1&&(this.selectedRows=[...this.selectedRows,this.ediData[s]])})}sendToArchive(){this.archive(!0)}sendToDashboard(){this.archive(!1)}showWithAddedToOrder(){this.addedInArchive=!1,this.getEdiData()}showInArchive(){this.addedToOrder=!1,this.getEdiData()}editMultipleFields(){this.isLoading=!0;const e=this.multipleEdit$.value,t=[];this.selectedRows.forEach(s=>{s[e?.columnName]=e?.cellValue,t.push({...s})}),t.forEach(s=>{delete s.type,delete s.itemNo}),this.ediService.multipleEditing(t).pipe((0,x.Q)(this.destroyed$)).subscribe(s=>{s.orders.forEach(l=>{const u=this.ediData.findIndex(h=>h.pk===l.pk&&h.entryNumber===l.entryNumber);l.itemNo=this.ediData[u]?.itemNo,this.ediData[u]=l});const o=[];t.forEach(l=>{const u=this.ediData.findIndex(h=>h.pk===l.pk&&h.entryNumber===l.entryNumber);o.push(this.ediData[u])}),this.ediData=[...this.ediData],this.selectedRows=[...o],this.isLoading=!1,this.multipleEdit$.next(null),this.changeDetectorRef.detectChanges()})}onMultipleEdit(e){this.multipleEdit$.next(e)}getEdiData(){this.isLoading=!0,this.ediService.getPageData(this.addedToOrder,this.addedInArchive).pipe((0,pe.W)(this.onError()),(0,_e.j)(this.onDataLoadFinalise()),(0,x.Q)(this.destroyed$)).subscribe(e=>{this.ediData=e})}onError(){return e=>(e?.error?.errors?e?.error?.errors?.forEach(t=>{this.showErrorMessage(t.message)}):e.message&&this.showErrorMessage(e.message),(0,ue.$)(e))}onDataLoadFinalise(){return()=>{this.isLoading=!1,this.changeDetectorRef.detectChanges()}}showErrorMessage(e){this.messageService.add(e,p.NCV.MSG_TYPE_ERROR)}archive(e){this.selectedRows.length&&this.ediService.archive(this.selectedRows,e).pipe((0,pe.W)(this.onError()),(0,x.Q)(this.destroyed$)).subscribe(()=>{this.selectedRows=[],this.getEdiData()})}createView(e){super.createView(e)}changeTableView(e){super.changeTableView(e)}tableViewTypeChanged(e){super.tableViewTypeChanged(e)}openModalAsync(){super.openModal()}deleteView(e){super.deleteView(e)}editNameView(e){super.editNameView(e)}static#e=this.ctorParameters=()=>[{type:Fr},{type:p.S8D},{type:v.PLe},{type:p.D97},{type:n.gRc},{type:Le.zq},{type:p.S8D},{type:S.vh},{type:dt}]};Mr=(0,r.Cg)([(0,n.uAl)({selector:"app-dashboard",template:'<div class="pt-30 pr-30 pl-30 edi-dashboard">\n  <div class="mb-30">\n    <app-page-title [noMargin]="true">\n      {{ \'edi.ediMonitoringTool\' | cxTranslate }}\n    </app-page-title>\n  </div>\n\n  <app-blur-wrapper [blur]="isLoading">\n    <app-toggle-card\n      [isExpand]="true"\n      [overflowVisible]="true"\n      [hideToggleButton]="true"\n    >\n      <div toggle-body>\n        <div class="checkbox-group">\n          <label *ngIf="!addedInArchive; else empty">\n            <input\n              [(ngModel)]="addedToOrder"\n              (ngModelChange)="showWithAddedToOrder()"\n              type="checkbox"\n            />\n            <span class="ng-option-label checkbox-group__label">{{ \'edi.withAddedToOrder\' | cxTranslate }}</span>\n          </label>\n          <label *ngIf="!addedToOrder else empty">\n            <input\n              [(ngModel)]="addedInArchive"\n              (ngModelChange)="showInArchive()"\n              type="checkbox"\n            />\n            <span class="ng-option-label checkbox-group__label">{{ \'edi.inArchive\' | cxTranslate }}</span>\n          </label>\n          <ng-template #empty>\n            <div></div>\n          </ng-template>\n        </div>\n\n        <app-data-grid-views\n          *ngIf="dxTableSettings"\n          [dxTableSettings]="dxTableSettings"\n          [dxViewSettings]="dxViewSettings"\n          [views]="views"\n          [selectedView]="selectedView"\n          [data]="ediData"\n          (columnVisibilityChanged)="updateEdiView($event)"\n          [multiSelect]="true"\n          [showViews]="false"\n          [checkboxMode]="\'always\'"\n          [selectItems]="dictionaries"\n          [(selectedRows)]="selectedRows"\n          (cellClosed)="onCellClosed($event)"\n          (multipleEdit)="onMultipleEdit($event)"\n        ></app-data-grid-views>\n\n        <div class="edi-dashboard__proceed-order"\n             *ngIf="!addedInArchive; else archiveButtons"\n        >\n          <button\n            class="btn btn-default edi-dashboard__to-archive"\n            [disabled]="selectedRows?.length === 0 "\n            (click)="sendToArchive()"\n          >\n            {{ \'edi.buttonToArchive\' | cxTranslate }}\n          </button>\n          <button\n            class="btn btn-default edi-dashboard__group-editing"\n            [disabled]="!(selectedRows?.length > 1 && (multipleEditValue | async))"\n            (click)="editMultipleFields()"\n          >\n            {{ \'edi.multipleEditing\' | cxTranslate }}\n          </button>\n          <button\n            class="btn btn-default edi-dashboard__proceed-order-button"\n            [disabled]="selectedRows?.length === 0"\n            (click)="proceedToOrder()"\n          >\n            {{ \'edi.proceedToOrder\' | cxTranslate }}\n          </button>\n        </div>\n        <ng-template #archiveButtons>\n          <div class="edi-dashboard__archive">\n            <button\n              class="btn btn-default edi-dashboard__to-dashboard"\n              [disabled]="selectedRows?.length === 0 "\n              (click)="sendToDashboard()"\n            >\n              {{ \'edi.buttonToDashboard\' | cxTranslate }}\n            </button>\n          </div>\n        </ng-template>\n      </div>\n    </app-toggle-card>\n  </app-blur-wrapper>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[zC()]})],Mr);let Vl=class{};Vl=(0,r.Cg)([(0,n.UQu)({declarations:[Mr],imports:[p.LP3,S.MD,p.htr.withConfig({cmsComponents:{EDIDashboardComponent:{component:Mr}}}),U.q1,y.iI,ge,be,an,ze,Rr,m.YN],providers:[Fr]})],Vl);var QC=i(27729),qC=i.n(QC);let ds=class{constructor(e){this.eventBus=e}ngOnInit(){}openGdpr(){this.eventBus.cast(J_GDPR_OPEN)}static#e=this.ctorParameters=()=>[{type:ve.u}]};ds=(0,r.Cg)([(0,n.uAl)({selector:"app-footer-privacy-settings",template:'<div\n  class="footer-privacy-button"\n  (click)="openGdpr()"\n>\n  {{ \'text.footerAnalyticalSettings\' | cxTranslate }}\n</div>\n',styles:[qC()]})],ds);let Nr=class{};Nr=(0,r.Cg)([(0,n.UQu)({declarations:[ds],imports:[S.MD,p.htr.withConfig({cmsComponents:{FooterPrivacySettingsComponent:{component:ds}}}),p.LP3],exports:[ds]})],Nr);var jC=i(75526),WC=i.n(jC);let Ur=class{constructor(e,t){this.http=e,this.occEndpoints=t,this.DELAY_REQUEST=1e4,this.MAX_DELAY_REQUEST=18e4,this.CURRENT_DELAY_REQUEST=0,this.selectedCompanies$=new P.t("")}getCompanies(){const e=this.occEndpoints.buildUrl(E.USER.COMPANIES);return this.http.get(e)}getCreditLimits(e,t){this.CURRENT_DELAY_REQUEST=0;const s=this.occEndpoints.buildUrl(E.USER.CREDIT_LIMITS,{urlParams:{},queryParams:{salesOrg:e}});return this.http.get(s).pipe((0,w.T)(o=>{if(o)return o;throw o}),(0,Ug.l)(o=>o.pipe((0,$g.o)(l=>l?(0,ue.$)(l):this.CURRENT_DELAY_REQUEST===this.MAX_DELAY_REQUEST?(0,ue.$)({error:{errors:[{type:Ct.MAX_DELAY}]}}):(this.CURRENT_DELAY_REQUEST+=this.DELAY_REQUEST,(0,Yc.O)(this.DELAY_REQUEST))),(0,x.Q)(t))))}static#e=this.ctorParameters=()=>[{type:U.Qq},{type:p.zxz}]};Ur=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],Ur);let $r=class{constructor(e,t,s){this.creditLimitService=e,this.changeDetection=t,this.globalMessageService=s,this.destroy$=new R.B,this.companies$=this.creditLimitService.getCompanies().pipe((0,B.p)(Boolean),(0,fe.E)("companies"),(0,z.M)(o=>{o.length&&this.creditLimitService.selectedCompanies$.next(o[0].companyId)})),this.EMPTY_CARD_TYPES=et,this.lastSalesOrg=null,this.data=null,this.isLoading=!0,this.isUpdate=!1,this.creditLimitResponse=null,this.salesOrgCurrency=null}ngOnInit(){this.initCreditLimit()}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete(),this.creditLimitService.selectedCompanies$.next(null)}initCreditLimit(){this.creditLimitService.selectedCompanies$.pipe((0,B.p)(e=>e&&(e!==this.lastSalesOrg||this.isUpdate)),(0,pe.W)(e=>(this.globalMessageService.add(e.error.errors[0].message,p.NCV.MSG_TYPE_ERROR),(0,ue.$)(e))),(0,k.n)(e=>(this.isLoading=!0,this.data=null,this.lastSalesOrg=e,this.isUpdate=!1,this.getClaimsData(e))),(0,x.Q)(this.destroy$)).subscribe(e=>{this.isLoading=!1,this.data=e,this.changeDetection.detectChanges()},e=>this.catchError(e))}getClaimsData(e){return this.creditLimitResponse=this.creditLimitService.getCreditLimits(e,this.destroy$),this.creditLimitResponse.subscribe(t=>{this.salesOrgCurrency=t.salesOrgDataCurrency}),this.creditLimitResponse.pipe((0,me.$)(),(0,pe.W)(t=>(this.catchError(t),(0,$.of)())),(0,fe.E)("segmentData"),(0,w.T)(t=>{if(!t||!Object.values(t[0]).find(o=>"string"!=typeof o&&+o?.value>0))return;const s=t[0];return{summary:[{label:"creditLimit.summary.totalLimit",unit:this.salesOrgCurrency.symbol,value:s.totalLimit},{label:"creditLimit.summary.openInv",unit:this.salesOrgCurrency.symbol,value:s.openInv}],book:{currency:this.salesOrgCurrency.isocode,data:[{value:s.openSo,label:"creditLimit.book.openOrders"},{value:s.openOd,label:"creditLimit.book.openDeliveries"},{value:s.openBdInv,label:"creditLimit.book.openBdInv"}]},overdue:{currency:this.salesOrgCurrency.isocode,data:[{value:s.nonOverdue,label:"creditLimit.overdue.nonOverdue"},{value:s.overdue1,label:"creditLimit.overdue.overdue1"},{value:s.overdue2,label:"creditLimit.overdue.overdue2"},{value:s.overdue3,label:"creditLimit.overdue.overdue3"},{value:s.overdue4,label:"creditLimit.overdue.overdue4"},{value:s.overdue5,label:"creditLimit.overdue.overdue5"}]}}}))}updateData(){this.isLoading||(this.isUpdate=!0,this.creditLimitService.selectedCompanies$.next(this.creditLimitService.selectedCompanies$.value))}catchError(e){e.error.errors.forEach(t=>{switch(this.isLoading=!1,this.isUpdate=!1,this.changeDetection.detectChanges(),t.type){case Ct.VALIDATION_ERROR:break;case Ct.MAX_DELAY:this.globalMessageService.add({key:"report.reportMaxDelayError"},p.NCV.MSG_TYPE_ERROR);break;default:this.globalMessageService.add(t.message,p.NCV.MSG_TYPE_ERROR)}})}static#e=this.ctorParameters=()=>[{type:Ur},{type:n.gRc},{type:p.S8D}]};$r=(0,r.Cg)([(0,n.uAl)({selector:"app-credit-limit",template:'<ng-container *ngIf="companies$ | async as companies; else notFound">\n  <ng-container *ngIf="companies.length; else notFound">\n      <div class="credit-limit">\n        <app-page-title [noMargin]="true">\n          <div class="d-flex justify-content-between align-items-center credit-limit__title">\n            {{ \'creditLimit.title\' | cxTranslate }}\n            <button\n              class="btn btn--sm btn-secondary credit-limit__title-button"\n              [disabled]="isLoading"\n              (click)="updateData()"\n            >\n              {{ \'button.refresh\' | cxTranslate }}\n              <svg-icon-sprite class="credit-limit__title-icon" src="autorenew" width="16" height="16"></svg-icon-sprite>\n            </button>\n          </div>\n        </app-page-title>\n        <ng-container *ngIf="data || isLoading; else notFoundData">\n          <div class="credit-limit__top">\n            <app-credit-limit-company class="credit-limit__top-company" [companies]="companies" ></app-credit-limit-company>\n            <app-credit-limit-book  class="credit-limit__top-book" [book]="data?.book"></app-credit-limit-book>\n          </div>\n          <app-credit-limit-overdue [overdue]="data?.overdue"></app-credit-limit-overdue>\n          <app-credit-limit-summary [data]="data?.summary"></app-credit-limit-summary>\n        </ng-container>\n      </div>\n\n    <ng-template #notFoundData>\n      <div class="mb-30">\n        <app-credit-limit-company class="credit-limit__top-company--full" [companies]="companies" ></app-credit-limit-company>\n      </div>\n      <app-cards-is-not-found\n        [text]="\'creditLimit.noCreditLimits\' | cxTranslate"\n        [subText]="\'text.contactNlmkTeam\' | cxTranslate"\n        [buttonText]="\'button.backToHome\' | cxTranslate"\n        [type]="EMPTY_CARD_TYPES.BACK_TO_HOME"\n        icon="insert_chart"\n        buttonIcon="arrow_back"\n      ></app-cards-is-not-found>\n    </ng-template>\n  </ng-container>\n</ng-container>\n\n<ng-template #notFound>\n  <app-cards-is-not-found\n    [text]="\'creditLimit.noCreditLimits\' | cxTranslate"\n    [subText]="\'text.contactNlmkTeam\' | cxTranslate"\n    [buttonText]="\'button.backToHome\' | cxTranslate"\n    [type]="EMPTY_CARD_TYPES.BACK_TO_HOME"\n    icon="insert_chart"\n    buttonIcon="arrow_back"\n  ></app-cards-is-not-found>\n</ng-template>\n',styles:[WC()]})],$r);let Gl=class{transform(e){return e<1e3?`${e.toLocaleString("de")}`:`${Math.round(e/1e3).toLocaleString("de")} k`}};Gl=(0,r.Cg)([(0,n.nT_)({name:"valueToShortFormat"})],Gl);var XC=i(91382),ZC=i.n(XC);let zl=class{constructor(){this.book=null,this.colors=["#004E94","#1C73C2","#6FB2EF"]}static#e=this.propDecorators={book:[{type:n.pde}]}};zl=(0,r.Cg)([(0,n.uAl)({selector:"app-credit-limit-book",template:'<app-toggle-card\n  *ngIf="book?.data; else loader"\n  class="credit-limit-book"\n  [isExpand]="true"\n  [hideToggleButton]="false"\n>\n  <span header-left class="credit-limit-book__title">\n    {{ \'creditLimit.bookTitle\' | cxTranslate }}\n    {{ book.currency }}\n  </span>\n  <div toggle-body class="h-100">\n    <div class="credit-limit-book__body">\n      <app-credit-limit-graph\n        class="credit-limit-book__body-graph"\n        [graphData]="book.data"\n        [colors]="colors"\n      ></app-credit-limit-graph>\n    </div>\n  </div>\n</app-toggle-card>\n\n<ng-template #loader>\n  <app-loader></app-loader>\n</ng-template>\n',changeDetection:n.Ngq.OnPush,styles:[ZC()]})],zl);var eb=i(28230),tb=i.n(eb);let Yl=class{constructor(e){this.creditLimitService=e,this.destroy$=new R.B,this.businessForm=new m.J3({unit:new m.hs(null)})}ngOnInit(){this.businessForm.get("unit").valueChanges.pipe((0,x.Q)(this.destroy$)).subscribe(e=>{this.selectedCompany=this.companies.find(t=>t.companyId===e),this.creditLimitService.selectedCompanies$.next(e)}),this.businessForm.get("unit").setValue(this.creditLimitService.selectedCompanies$.value)}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}static#e=this.ctorParameters=()=>[{type:Ur}];static#t=this.propDecorators={companies:[{type:n.pde}]}};Yl=(0,r.Cg)([(0,n.uAl)({selector:"app-credit-limit-company",template:'<app-toggle-card\n  *ngIf="companies && companies.length"\n  class="credit-limit-company"\n  [overflowVisible]="true"\n  [isExpand]="true"\n  [hideToggleButton]="false"\n>\n  <span header-left class="credit-limit-company__title">\n    {{ \'creditLimit.company.title\' | cxTranslate }}\n  </span>\n  <div toggle-body>\n    <div>\n      <div class="credit-limit-company__body">\n        <app-select\n          *ngIf="companies.length > 1; else staticValue"\n          [clearable]="false"\n          [controlData]="businessForm.get(\'unit\')"\n          [items]="companies"\n          [placeholder]="\'creditLimit.company.select\' | cxTranslate"\n          bindValue="companyId"\n          bindLabel="description"\n        ></app-select>\n\n        <ng-template #staticValue>\n          <div class="credit-limit-company__select">\n            <div class="credit-limit-company__select-title">{{ \'creditLimit.company.select\' | cxTranslate }}:</div>\n            <div class="credit-limit-company__select-value">{{ companies[0].description }}</div>\n          </div>\n        </ng-template>\n      </div>\n      <div class="credit-limit-company__info" *ngIf="selectedCompany">\n        <div class="credit-limit-company__info-item">\n          <span class="credit-limit-company__info-title">{{ \'creditLimit.company.country\' | cxTranslate }}:</span>\n          <span class="credit-limit-company__info-value">{{ selectedCompany.country }}</span>\n        </div>\n        <div class="credit-limit-company__info-item">\n          <span class="credit-limit-company__info-title">{{ \'creditLimit.company.company\' | cxTranslate }}:</span>\n          <span class="credit-limit-company__info-value">{{ selectedCompany.companyName }}</span>\n        </div>\n      </div>\n    </div>\n  </div>\n</app-toggle-card>\n',styles:[tb()]})],Yl);var sb=i(13900),ib=i.n(sb);let Ql=class{constructor(){this.colors=[],this.max=1,this.graphData=[]}set setGraphParams(e){this.graphData=e;const t=[];e.forEach(s=>t.push(+s.value.value)),this.max=Math.max.apply(1,t)}static#e=this.propDecorators={setGraphParams:[{type:n.pde,args:["graphData"]}],colors:[{type:n.pde}]}};Ql=(0,r.Cg)([(0,n.uAl)({selector:"app-credit-limit-graph",template:'<ng-container *ngIf="graphData.length; else loader">\n  <scrollbar class="credit-limit-graph-scrollbar">\n    <div\n      class="credit-limit-graph"\n      [style.grid-template-columns]="\'repeat(\' + graphData.length + \', 1fr)\'"\n    >\n      <ng-container *ngFor="let item of graphData; let i = index">\n        <div class="credit-limit-graph__container">\n          <div class="credit-limit-graph__container-item">\n            <div\n              class="credit-limit-graph__item"\n              [class.credit-limit-graph__item--value]="item.value.value"\n              [style.height]="(item.value.value / max) * 100 + \'%\'"\n              [style.background-color]="colors[i]"\n            >\n              <span [class.credit-limit-graph__item--zero]="!item.value.value">{{ item.value.displayValue }}</span>\n            </div>\n          </div>\n        </div>\n      </ng-container>\n    </div>\n  </scrollbar>\n\n  <div\n    [style.grid-template-columns]="\'repeat(\' + graphData.length + \', 1fr)\'"\n    [class.credit-limit-graph__container-info--large]="graphData.length > 3"\n    class="credit-limit-graph__container-info"\n  >\n    <div *ngFor="let item of graphData; let i = index" class="d-flex">\n      <div class="credit-limit-graph__info" >\n        <span\n          class="credit-limit-graph__info-color"\n          [style.background-color]="colors[i]"\n        ></span>\n        <span class="credit-limit-graph__info-title">{{ item.label | cxTranslate }}</span>\n      </div>\n    </div>\n  </div>\n</ng-container>\n\n<ng-template #loader>\n  <app-loader></app-loader>\n</ng-template>\n',changeDetection:n.Ngq.OnPush,styles:[ib()]})],Ql);var ob=i(82276),ab=i.n(ob);let ql=class{constructor(){this.isNoData=!1,this.overdue=null,this.colors=["#8BCCA1","#C8CA67","#DA9E72","#DB6B3B","#C74B4B","#A5437D"]}set setOverdue(e){this.overdue=e,e&&(this.isNoData=!this.overdue.data.some(t=>+t.value.value>0))}static#e=this.propDecorators={setOverdue:[{type:n.pde,args:["overdue"]}]}};ql=(0,r.Cg)([(0,n.uAl)({selector:"app-credit-limit-overdue",template:'<app-toggle-card\n  *ngIf="overdue; else loader"\n  class="credit-limit-overdue"\n  [isExpand]="true"\n  [hideToggleButton]="false"\n>\n  <span header-left class="credit-limit-overdue__title">\n    {{ \'creditLimit.overdueTitle\' | cxTranslate }}\n    {{ overdue.currency }}\n  </span>\n  <div toggle-body class="h-100">\n    <div class="credit-limit-overdue__body">\n      <app-credit-limit-graph\n        class="credit-limit-overdue__body-graph"\n        [class.credit-limit-overdue__body-graph--no-data]="isNoData"\n        [graphData]="overdue.data"\n        [colors]="colors"\n      ></app-credit-limit-graph>\n    </div>\n  </div>\n</app-toggle-card>\n\n<ng-template #loader>\n  <app-loader></app-loader>\n</ng-template>\n',changeDetection:n.Ngq.OnPush,styles:[ab()]})],ql);var lb=i(68874),db=i.n(lb);let Hl=class{constructor(){this.item=null}static#e=this.propDecorators={item:[{type:n.pde}]}};Hl=(0,r.Cg)([(0,n.uAl)({selector:"app-credit-limit-summary-item",template:'<div class="summery-item">\n  <div class="summery-item__label">{{ item.label | cxTranslate }}</div>\n  <div class="d-flex">\n    <span\n      class="summery-item__value"\n      placement="bottom auto"\n      tooltipClass="tooltip--card"\n      [ngbTooltip]="item.value.value >= 1000 ? item.value.displayValue.toString() : null"\n    >{{ +item.value.value | valueToShortFormat }}\n    </span><span class="summery-item__unit">{{ item.unit }}</span>\n  </div>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[db()]})],Hl);var ub=i(13348),hb=i.n(ub);let jl=class{static#e=this.propDecorators={data:[{type:n.pde}]}};jl=(0,r.Cg)([(0,n.uAl)({selector:"app-credit-limit-summary",template:'<app-toggle-card\n  *ngIf="data; else loader"\n  class="credit-limit-summary"\n  [isExpand]="true"\n  [hideToggleButton]="false"\n>\n  <span header-left class="credit-limit-summary__title">\n    {{ \'creditLimit.summaryTitle\' | cxTranslate }}\n  </span>\n  <div toggle-body>\n    <div class="credit-limit-summary__body">\n      <app-credit-limit-summary-item\n        *ngFor="let item of data"\n        [item]="item"\n      ></app-credit-limit-summary-item>\n    </div>\n  </div>\n</app-toggle-card>\n\n<ng-template #loader>\n  <app-loader></app-loader>\n</ng-template>\n',changeDetection:n.Ngq.OnPush,styles:[hb()]})],jl);let Wl=class{};Wl=(0,r.Cg)([(0,n.UQu)({declarations:[$r,Yl,zl,ql,jl,Ql,Gl,Hl],imports:[S.MD,p.htr.withConfig({cmsComponents:{AccountCreditLimitComponent:{component:$r,guards:[j]}}}),be,V.F2,ze,ce,Xe.n8,p.LP3,ge,Te]})],Wl);var mb=i(98093),_b=i.n(mb);let Br=class{};Br=(0,r.Cg)([(0,n.uAl)({selector:"app-back-button",template:'<button class="back-button">\n  <svg-icon-sprite width="12" height="12" class="back-button__icon" src="arrow_back"></svg-icon-sprite>\n  <ng-content></ng-content>\n</button>\n\n\n',changeDetection:n.Ngq.OnPush,styles:[_b()]})],Br);let ps=class{};ps=(0,r.Cg)([(0,n.UQu)({declarations:[Br],exports:[Br],imports:[S.MD,V.F2]})],ps);var xb=i(21708),fb=i.n(xb);let Vr=class{set setShipmentDateBorders(e){this.shipmentDateBorders=e,this.setDateBorders(),this.preselectDate(),this.generateDatepickerOptions()}set selectedDay(e){e&&(this.preselectDate(e),this.changeDetection.detectChanges())}constructor(e){this.changeDetection=e,this.defaultMonth=void 0,this.disableUntil=null,this.monthSelector=!1,this.yearSelector=!1,this.hideNavArrows=!0,this.dateChanged=new n.bkB,this.isCalendarOpen=!1,this.locale="en",this.shipmentDateBorders=null,this.selectedDate=null,this.dpOptions={alignSelectorRight:!0,appendSelectorToBody:!0,calendarAnimation:{in:rs.$4.None,out:rs.$4.None},dateFormat:"dd.mm.yyyy",dateRange:!1,dayLabels:Lg,defaultView:1,disableUntil:{year:0,month:0,day:0},disableWeekdays:[],firstDayOfWeek:"mo",markCurrentDay:!1,monthLabels:kg,monthSelector:this.monthSelector,yearSelector:this.yearSelector,showMonthNumber:!1,showSelectorArrow:!0,stylesData:{selector:this.getSelector(),styles:""},sunHighlight:!1}}ngOnInit(){this.generateDatepickerOptions()}generateDatepickerOptions(){this.disableWeekdays&&(this.dpOptions={...this.dpOptions,disableWeekdays:this.disableWeekdays}),this.disableUntil&&(this.dpOptions={...this.dpOptions,disableUntil:this.disableUntil}),this.changeDetection.detectChanges()}setDateBorders(){if(!this.shipmentDateBorders)throw new Error("No shipment date edges provided");const e=this.shipmentDateBorders.fromDate,t=this.shipmentDateBorders.toDate;e.setDate(e.getDate()-1),this.dpOptions={...this.dpOptions,disableUntil:{day:e.getDate(),month:e.getMonth()+1,year:e.getFullYear()},disableSince:{day:t.getDate(),month:t.getMonth()+1,year:t.getFullYear()},yearSelector:!1}}preselectDate(e){let t=null;if(e)t=e;else{if(!this.shipmentDateBorders)throw new Error("No shipment date edges provided");t=this.shipmentDateBorders.fromDate,t.setDate(t.getDate()+1)}this.selectedDate={isRange:!1,singleDate:{jsDate:t},dateRange:null},this.dateChanged.emit(this.selectedDate)}onCalendarToggle(e){this.isCalendarOpen=1===e}onDateChanged(e){this.selectedDate=e,this.dateChanged.emit(e)}getSelector(){let e="dp1";return this.hideNavArrows&&(e+=" dp-no-arrows"),e}static#e=this.ctorParameters=()=>[{type:n.gRc}];static#t=this.propDecorators={setShipmentDateBorders:[{type:n.pde,args:["shipmentDateBorders"]}],selectedDay:[{type:n.pde,args:["selectedDay"]}],defaultMonth:[{type:n.pde}],disableUntil:[{type:n.pde}],disableWeekdays:[{type:n.pde}],label:[{type:n.pde}],monthSelector:[{type:n.pde}],yearSelector:[{type:n.pde}],hideNavArrows:[{type:n.pde}],dateChanged:[{type:n.k7i}],ngxdp:[{type:n.Uct,args:["dp"]}]}};Vr=(0,r.Cg)([(0,n.uAl)({selector:"app-product-card-calendar",template:'<div\n  [defaultMonth]="defaultMonth"\n  [locale]="locale"\n  [options]="dpOptions"\n\n  [(ngModel)]="selectedDate"\n\n  (calendarToggle)="onCalendarToggle($event)"\n  (click)="dp.toggleCalendar()"\n  (dateChanged)="onDateChanged($event)"\n\n  class="product-card-calendar"\n\n  angular-mydatepicker\n  #dp="angular-mydatepicker"\n>\n  <div class="product-card-calendar__label">{{ label }}</div>\n  <div class="product-card-calendar__value">\n    {{ selectedDate?.singleDate?.jsDate | date: \'dd.MM.yyyy\' }}\n  </div>\n  <svg-icon-sprite\n    [src]="isCalendarOpen ? \'expand_less\' : \'expand_more\'"\n    width="18"\n    height="18"\n    class="product-card-calendar__icon"\n  ></svg-icon-sprite>\n</div>\n',styles:[fb()]})],Vr);var bb=i(49556),yb=i.n(bb);let Kl=class extends ye{};Kl=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],Kl);let Xl=class{constructor(e,t,s,o,l,u,h,_,C,T){this.actions$=e,this.cartService=t,this.changeDetection=s,this.launchDialogService=o,this.agreementFacetService=l,this.globalMessageService=u,this.currencyService=h,this.cartStateService=_,this.orderTrackingService=C,this.orderTypeService=T,this.isDisabled=!1,this.isNoTonnage=!1,this.resetQuantityAfterSuccess=!0,this.quantityEl=null,this.quotation=!1,this.addToCartError=new n.bkB,this.productsCodeInCart$=this.cartStateService.productCodesInCart$,this.inProcess=!1,this.destroyed$=new R.B,this.activeCurrency=null,this.cart=null,this.orderType$=this.orderTypeService.orderType$}ngOnInit(){this.getAgreement()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}getAgreement(){this.agreementFacetService.currentAgreement$.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.currentAgreement=e})}addToCart(){this.productParams.markAllAsTouched();let t,e=this.productParams.get("desiredShipmentDate")?.value;if(t=this.quotation?"quotation":this.currentAgreement?"contract":"order",e){const D=new Date(e),F=new Date(Date.UTC(D.getFullYear(),D.getMonth(),D.getDate()));e=Sn(F)}const s=this.productParams.get("deliveryMonth")?.value,o=this.productParams.get("desiredDeliveryDateWeek")?.value,l=this.productParams.get("deliveryAllowedFromWeek")?.value,u=this.productParams.get("quantity")?.value,h=this.productParams.get("stock")?.value?.warehouseCode,_=this.productParams.get("units").value===G.PIECES?this.productParams.get("units").value:G.KG,C=this.productParams.get("priceNotFinal")?.value,T=_===G.PIECES?u:tn(+u);if(0!=+T)if(this.productParams.valid){const D=this.pageId===q.CATALOG_ORDER&&this.currentAgreement?.currency?.isocode;this.inProcess=!0,this.subscription=(0,Ce.z)([this.cartService.getCart(),this.currencyService.getActive()]).pipe((0,oe.s)(1),(0,k.n)(F=>{const K=this.product,[ne,he]=F;this.activeCurrency=he,this.cart=ne;const tt=ne.currency?.isocode,jt=Ei(ne);return D&&D!==tt&&jt>0||!D&&K.volumePrices&&K.volumePrices.length>0&&K.volumePrices[0]?.currencyIso!==he&&jt>0?this.showWrongCurrencyInCart():this.cartService.addToCart(this.product.code,T,_,this.pageId===q.CATALOG_ORDER&&this.agreementFacetService.currentAgreement$.value?.volumeBased?this.agreementFacetService.currentAgreement$.value.code:null,s,o,l,e,h,C)}),(0,_e.j)(()=>{this.inProcess=!1,this.resetQuantityAfterSuccess&&this.productParams.get("quantity").reset(),this.changeDetection.detectChanges()}),(0,x.Q)(this.destroyed$)).subscribe(F=>{switch(F?.statusCode){case te.SUCCESS:this.cartService.changeCartType(this.quotation?re.QUOTATION:re.ORDER),this.quotation||this.cartStateService.addProductCodeInCart(this.product.code),this.launchDialogService.openDialogAndSubscribe("ADD_TO_CART_MODAL",void 0,void 0),D&&D!==this.activeCurrency&&0===Ei(this.cart)&&this.globalMessageService.add({key:"currency.activeCurrencyError"},p.NCV.MSG_TYPE_INFO),this.orderTrackingService.trackAddToCart(F.entry,t);break;case te.WRONG_REMAINING_TONNAGE:this.orderTrackingService.trackQuantityExceed(F.entry,F.quantity,_,t),this.addToCartError.emit({quantityAdded:F.quantityAdded,statusCode:F.statusCode});break;default:this.addToCartError.emit({quantityAdded:F.quantityAdded,statusCode:F.statusCode})}this.subscription.unsubscribe()})}else this.quantityEl?.nativeElement.focus();else this.globalMessageService.add({key:"text.addToCart.error.nullAmount"},p.NCV.MSG_TYPE_WARNING)}showWrongCurrencyInCart(){return this.globalMessageService.add({key:"currency.cartError"},p.NCV.MSG_TYPE_WARNING),(0,$.of)(null)}static#e=this.ctorParameters=()=>[{type:Zn.En},{type:Kl},{type:n.gRc},{type:v.PLe},{type:Ee},{type:p.S8D},{type:p.PnO},{type:Yn},{type:bt},{type:gt}];static#t=this.propDecorators={isDisabled:[{type:n.pde}],isNoTonnage:[{type:n.pde}],productParams:[{type:n.pde}],product:[{type:n.pde}],resetQuantityAfterSuccess:[{type:n.pde}],quantityEl:[{type:n.pde}],quotation:[{type:n.pde}],pageId:[{type:n.pde}],addToCartError:[{type:n.k7i}]}};Xl=(0,r.Cg)([(0,n.uAl)({selector:"app-product-cards-add-to-cart-button",template:'<button\n  (click)="addToCart()"\n  [disabled]="inProcess || isDisabled || isNoTonnage"\n  [ngClass]="quotation ? \'btn-secondary\' : \'btn-default\'"\n  class="btn btn--sm"\n>\n  {{ (quotation ? \'button.quotation\' : \'button.addToCart\')  | cxTranslate }}\n\n  <svg-icon-sprite\n    *ngIf="!quotation && !isNoTonnage"\n    src="shopping_cart"\n    width="18"\n    height="18"\n    class="btn__icon"\n  ></svg-icon-sprite>\n\n  <svg-icon-sprite\n    *ngIf="!quotation && isNoTonnage"\n    src="warning"\n    width="18"\n    height="18"\n    class="btn__icon"\n    [ngbTooltip]="tooltipContent"\n    container="body"\n    placement="bottom auto"\n    tooltipClass="tooltip--tonnage"\n  ></svg-icon-sprite>\n\n  <ng-template #tooltipContent>\n    <div class="tonnage">\n      <svg-icon-sprite\n      src="warning"\n      width="16"\n      height="16"\n      class="tonnage__icon"\n      ></svg-icon-sprite>\n      <span class="tonnage__text">{{ \'text.productList.variantProduct.noTonnageTooltip\' | cxTranslate }}</span>\n    </div>\n  </ng-template>\n\n  <span *ngIf="inProcess" class="loader-in-process">\n    <app-loader size="36px"></app-loader>\n  </span>\n</button>\n',styles:[yb()]})],Xl);var Tb=i(50038),Eb=i.n(Tb);let Gr=class{constructor(){this.isInline=!1,this.isLargeFont=!1,this.isPriceNotFinal=!1}ngOnInit(){}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={isBold:[{type:n.pde}],isInline:[{type:n.pde}],isLargeFont:[{type:n.pde}],isPriceNotFinal:[{type:n.pde}],title:[{type:n.pde}],value:[{type:n.pde}]}};Gr=(0,r.Cg)([(0,n.uAl)({selector:"app-product-cards-cell",template:'<div\n  [class.product-card-cell--inline]="isInline"\n  [class.product-card-cell--large-font]="isLargeFont"\n  [class.product-card-cell--price-not-final]="isPriceNotFinal"\n  class="product-card-cell"\n>\n  <div class="product-card-cell__title">\n    {{ title }}\n  </div>\n  <div\n    [title]="value"\n    class="product-card-cell__value"\n  >\n    <app-price-not-final *ngIf="isPriceNotFinal; else simpleText">\n      <ng-container text>{{ \'text.cart.product.priceNotFinal\' | cxTranslate }}</ng-container>\n      <ng-container tooltip-content>\n        <p class="grey-normal">{{ \'text.cart.product.contactTeam\' | cxTranslate }}</p>\n      </ng-container>\n    </app-price-not-final>\n\n    <ng-template #simpleText>{{ value }}</ng-template>\n  </div>\n</div>\n',styles:[Eb()]})],Gr);var Ob=i(26068),Ab=i.n(Ob);let Zl=class{constructor(){this.matrixAxisValues=null}ngOnInit(){this.matrixAxisValues=this.prepareAxisValues()}prepareAxisValues(){const e={},t={};this.data.forEach(u=>{const h=u.thickness.min+" - "+u.thickness.max;(e[h]=e[h]?e[h]:[]).push({min:u.width.min,max:u.width.max}),(t[u.width.min]=t[u.width.min]?t[u.width.min]:[]).push(h),(t[u.width.max]=t[u.width.max]?t[u.width.max]:[]).push(h)});const s=Object.keys(t).sort(this.customSort),o=s.reduce((u,h)=>[...u,...t[h].map(_=>_)],[]);return{xVals:s,yVals:[...new Set(o)].sort(this.customSort),yValsXRanges:e}}customSort(e,t){return parseFloat(e.split(/[\s-]/)[0])-parseFloat(t.split(/[\s-]/)[0])}isAvailable(e,t){const s=this.matrixAxisValues.yValsXRanges[t];let o=!1;return s.forEach(l=>{e>=l.min&&e<=l.max&&(o=!0)}),o}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={data:[{type:n.pde}]}};Zl=(0,r.Cg)([(0,n.uAl)({selector:"app-product-cards-matrix",template:'<table\n  *ngIf="matrixAxisValues"\n  class="table matrix pb3"\n>\n  <tr>\n    <th class="matrix__th matrix__th--left">{{\'matrix.thickness\' | cxTranslate}}</th>\n    <th\n      [attr.colspan]="matrixAxisValues.xVals.length"\n      class="matrix__th"\n    >\n      <span class="matrix__x-axis-title">{{\'matrix.width\' | cxTranslate}}</span>\n    </th>\n  </tr>\n\n  <tr class="matrix__tr">\n    <td class="matrix__td matrix__td--header x-vals-empty">&nbsp;</td>\n    <td\n      *ngFor="let xVal of matrixAxisValues.xVals"\n      class="matrix__td matrix__td--header x-vals"\n    >{{ xVal }}</td>\n  </tr>\n\n  <tr\n    *ngFor="let yVal of matrixAxisValues.yVals"\n    class="matrix__tr"\n  >\n    <td class="matrix__td matrix__td--header">{{ yVal }}</td>\n    <td\n      *ngFor="let xVal of matrixAxisValues.xVals"\n      [class.is-colored]="isAvailable(xVal, yVal)"\n      class="matrix__td"\n    >&nbsp;</td>\n  </tr>\n  <tr>\n    <td class="matrix__scroll"></td>\n    <td\n      class="matrix__scroll"\n      [attr.colspan]="matrixAxisValues.xVals.length"\n    ></td>\n  </tr>\n</table>\n',styles:[Ab()]})],Zl);var wb=i(61276),Pb=i.n(wb);let zr=class{constructor(e){this.launchDialogService=e}ngOnInit(){}showRegisterPopup(){this.launchDialogService.openDialogAndSubscribe("AUTH_MODAL",void 0,{type:Pe.REGISTER})}static#e=this.ctorParameters=()=>[{type:v.PLe}]};zr=(0,r.Cg)([(0,n.uAl)({selector:"app-product-cards-register-banner",template:'<div class="register-banner">\n  {{\'banner.register\' | cxTranslate}}\n  <span\n    (click)="showRegisterPopup()"\n    class="register-banner__link"\n  >\n    {{\'text.productList.registrationForm\' | cxTranslate}}\n  </span>\n</div>\n',styles:[Pb()]})],zr);let Jl=class{constructor(e){this.router=e}canActivate(e,t){return!t.url.includes(M.CATEGORIES.ROOT)||this.router.navigate(["/"])}static#e=this.ctorParameters=()=>[{type:y.Ix}]};Jl=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],Jl);var Lb=i(83293),kb=i.n(Lb);let ed=class{constructor(e,t,s,o,l){this.productListComponentService=e,this.router=t,this.agreementFacetService=s,this.changeDetection=o,this.productSearchService=l,this.PAGES_ID=q,this.model=null,this.agreement$=this.agreementFacetService.currentAgreement$,this.isLoading=!0,this.EMPTY_CARD_TYPES=et,this.PRODUCT_TYPE=Z,this.destroyed$=new R.B}ngOnInit(){this.initRouteSub(),this.initSearch()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}initSearch(){this.productSearchService.getResults().pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{Object.keys(e).length>0&&(this.model=e,this.isLoading=!1,this.changeDetection.detectChanges())})}initRouteSub(){this.router.events.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{e instanceof y.wF&&(this.productSearchService.clearResults(),this.isLoading=!0,this.model=null,this.changeDetection.detectChanges())})}static#e=this.ctorParameters=()=>[{type:v.Sj3},{type:y.Ix},{type:Ee},{type:n.gRc},{type:p.jWL}];static#t=this.propDecorators={pageId:[{type:n.pde}]}};ed=(0,r.Cg)([(0,n.uAl)({selector:"app-my-catalogue",template:'<ng-container *ngIf="!isLoading; else loader">\n\n  <ng-container *ngIf="model.products.length; else empty">\n    <ng-container *ngFor="let product of model.products">\n      <ng-container *ngIf="pageId === PAGES_ID.CATALOG_ORDER; then orderPageTmpl; else quotePageTmpl"></ng-container>\n\n      <ng-template #orderPageTmpl>\n        <ng-container\n          *ngIf="product.productionType.toLowerCase() === PRODUCT_TYPE.STRIP.toLowerCase(); then orderStrip; else orderPlate"></ng-container>\n\n        <ng-template #orderStrip>\n          <app-my-catalogue-order-product-card-base-strip\n            [currentQuery]="model.currentQuery"\n            [pageId]="pageId"\n            [product]="product"\n\n            class="product-card-wrapper"\n          ></app-my-catalogue-order-product-card-base-strip>\n        </ng-template>\n\n        <ng-template #orderPlate>\n          <app-my-catalogue-order-product-card-base-plate\n            [currentQuery]="model.currentQuery"\n\n            [pageId]="pageId"\n            [product]="product"\n\n            class="product-card-wrapper"\n          ></app-my-catalogue-order-product-card-base-plate>\n        </ng-template>\n      </ng-template>\n\n      <ng-template #quotePageTmpl>\n        <app-my-catalogue-quote-product-card-base-strip\n          [currentQuery]="model.currentQuery"\n          [pageId]="pageId"\n          [product]="product"\n\n          class="product-card-wrapper"\n        ></app-my-catalogue-quote-product-card-base-strip>\n      </ng-template>\n    </ng-container>\n  </ng-container>\n\n  <cx-pagination\n    [defaultPage]="0"\n    [pagination]="model.pagination"\n    queryParam="currentPage"\n  ></cx-pagination>\n\n</ng-container>\n\n<ng-template #empty>\n  <ng-container *ngIf="pageId === PAGES_ID.CATALOG_ORDER else quoteOrSku">\n    <ng-container *ngIf="agreement$ | async as agreement; else noAgreements">\n      <ng-container *ngIf="agreement.volumeBased; else quoteOrSku">\n        <app-cards-is-not-found\n          [text]="\'text.myCatalog.addToMyCatalogVb\' | cxTranslate"\n          [buttonText]="\'button.selectProduct\' | cxTranslate"\n          [type]="EMPTY_CARD_TYPES.ADD_TO_MY_CATALOG"\n          icon="list_alt"\n        ></app-cards-is-not-found>\n      </ng-container>\n    </ng-container>\n  </ng-container>\n</ng-template>\n\n<ng-template #quoteOrSku>\n  <app-cards-is-not-found\n    [text]="\'text.myCatalog.emptyCatalog\' | cxTranslate"\n    [buttonText]="\'button.backToHome\' | cxTranslate"\n    [type]="EMPTY_CARD_TYPES.BACK_TO_HOME"\n    icon="list_alt"\n    buttonIcon="arrow_back"\n    class="product-card-wrapper"\n  ></app-cards-is-not-found>\n</ng-template>\n\n<ng-template #noAgreements>\n  <app-cards-is-not-found\n    [text]="\'text.myCatalog.noAgreements\' | cxTranslate"\n    [buttonText]="\'button.backToHome\' | cxTranslate"\n    [type]="EMPTY_CARD_TYPES.BACK_TO_HOME"\n    icon="list_alt"\n    buttonIcon="arrow_back"\n    class="product-card-wrapper"\n  ></app-cards-is-not-found>\n</ng-template>\n\n\n<ng-template #loader>\n  <app-loader></app-loader>\n</ng-template>\n',styles:[kb()]})],ed);var Mb=i(39479),Nb=i.n(Mb);let zt=class{constructor(e){this.document=e}getOffsetTop(e){const t=e.nativeElement.getBoundingClientRect(),s=this.document.body,o=this.document.documentElement,l=this.document.defaultView.pageYOffset||o.scrollTop||s.scrollTop,u=o.clientTop||s.clientTop||0,h=t.top+l-u;return Math.round(h)}setOffsetTop(e){window.scroll({top:e,left:0,behavior:"smooth"})}static#e=this.ctorParameters=()=>[{type:Document,decorators:[{type:n.y_5,args:[S.qQ]}]}]};zt=(0,r.Cg)([(0,n._qm)()],zt);const Ub=a=>a?a.sort((e,t)=>{const s=+e.name,o=+t.name;return isNaN(s)||isNaN(o)?0:s>o?1:s<o?-1:0}):[];class us{onWindowResize(){this.windowResizeTimeoutId&&window.clearTimeout(this.windowResizeTimeoutId),this.windowResizeTimeoutId=setTimeout(this.setVariantProductsContainerMaxHeight.bind(this),100)}constructor(e,t,s,o,l,u,h,_,C,T){this.breakpointService=e,this.changeDetection=t,this.fb=s,this.globalMessageService=o,this.offsetTopUtils=l,this.productCardsService=u,this.agreementFacetService=h,this.globalCurrencyService=_,this.currencyService=C,this.routingService=T,this.destroyed$=new R.B,this.activeProduct$=this.productCardsService.activeProduct$,this.MODAL_TYPES=Pe,this.VARIANT_PRODUCT_PAGE_SIZE=10,this.VARIANT_PRODUCTS_TO_SHOW_BEFORE_SCROLL={DESKTOP:5,MOBILE:2},this.excludedFeatures=[f.steelDefects,f.productionDate],this.productFeatures=null,this.classification=null,this.facetsList=null,this.inProcess=!1,this.isActiveProduct=!1,this.isLoadingMoreProducts=!1,this.isMobileDimension$=this.breakpointService.isDown(v.SLZ.md).pipe((0,x.Q)(this.destroyed$),(0,w.T)(D=>(this.variantProductsToShowBeforeScroll=D?this.VARIANT_PRODUCTS_TO_SHOW_BEFORE_SCROLL.MOBILE:this.VARIANT_PRODUCTS_TO_SHOW_BEFORE_SCROLL.DESKTOP,this.setVariantProductsContainerMaxHeight(),D))),this.isSelectOptionsDisabled=!1,this.variantProducts=null,this.variantProductsContainerMaxHeight=0,this.variantProductsCurrentPage=0,this.variantProductsPagination=null,this.dueDate=null,this.selectTypes=Tn,this.windowResizeTimeoutId=null,this.sortFacet=Ub}initWindowDimensionWatcher(){this.isMobileDimension$.pipe((0,x.Q)(this.destroyed$)).subscribe()}ngOnDestroy(){this.productCardsService.updateActiveProduct(null),this.destroyed$.next(),this.destroyed$.complete()}init(){this.initWindowDimensionWatcher(),this.initProperties(),this.initVariantFilter(),this.initClassification(),this.initActiveProductChangeSubscribe(),this.initDueDate(),this.initCardHeightChange(),this.initResetProductsOnAgreementChangeSub()}initProperties(){this.productFeatures=ts(this.product,this.featureRegExps,this.excludedFeatures)}initResetProductsOnAgreementChangeSub(){this.agreementFacetService.currentAgreement$.pipe((0,x.Q)(this.destroyed$)).subscribe(()=>{this.clearVariantProducts(),this.isActiveProduct=!1})}initCardHeightChange(){this.productCardsService.isCardHeightChanged$.pipe((0,x.Q)(this.destroyed$)).subscribe(()=>{setTimeout(()=>{this.setVariantProductsContainerMaxHeight()},100)})}initDueDate(){this.product?.dueDate&&(this.dueDate=this.product.dueDate)}initVariantFilter(){this.variantFilter=this.fb.group({})}initClassification(){this.classification=Ye(this.product,f.steelGrade),this.classification||console.error(`No Steel Grade provided for product: ${this.product?.code}`)}initActiveProductChangeSubscribe(){const e=[this.activeProduct$,this.currencyService.getActive(),this.currencyService.getAll(),this.routingService.getRouterState()];e.push(this.pageId===q.CATALOG_ORDER?this.agreementFacetService.getData():(0,$.of)([])),(0,Ce.z)(e).pipe((0,x.Q)(this.destroyed$),(0,k.n)(t=>{const[s,o,l,u,h]=t;return s?this.isActiveProduct?(this.isActiveProduct=!1,this.clearVariantProducts(),(0,$.of)(null)):s!==this.product.code?(this.isActiveProduct=!1,(0,$.of)(null)):(u.state.context?.id===M.CATALOG.ORDER?this.checkAgreements(h):this.compareCurrencies(o,l),this.isActiveProduct=!0,this.inProcess=!0,this.productCardsService.loadVariantProducts(this.classification,this.currentQuery,this.pageId,{pageSize:this.VARIANT_PRODUCT_PAGE_SIZE}).pipe((0,_e.j)(()=>{this.inProcess=!1,this.changeDetection.detectChanges(),setTimeout(this.setVariantProductsContainerMaxHeight.bind(this),100)}),(0,pe.W)(()=>(this.globalMessageService.add({key:"error.unknownError"},p.NCV.MSG_TYPE_ERROR),(0,$.of)(null))))):(0,$.of)(null)}),(0,x.Q)(this.destroyed$)).subscribe(t=>{if(t){if(!t.products?.length)return this.isSelectOptionsDisabled=!0,void this.globalMessageService.add({key:"error.emptyVariantProductList"},p.NCV.MSG_TYPE_ERROR);this.offsetTopUtils.setOffsetTop(this.offsetTopUtils.getOffsetTop(this.productContainer)-50),this.variantProductsPagination=t.pagination,this.variantProducts=t.products,this.facetsList=t.facets,this.filtersFormInitialize()}})}loadMoreVariantProducts(e={currentPage:++this.variantProductsCurrentPage,pageSize:this.VARIANT_PRODUCT_PAGE_SIZE}){const t=this.getFilterQuery(this.variantFilter.value);t&&(e={...e,...t}),this.isLoadingMoreProducts=!0,this.productCardsService.loadVariantProducts(this.classification,this.currentQuery,this.pageId,e).pipe((0,_e.j)(()=>{this.isLoadingMoreProducts=!1,this.changeDetection.detectChanges()}),(0,pe.W)(()=>(this.globalMessageService.add({key:"error.unknownError"},p.NCV.MSG_TYPE_ERROR),(0,$.of)(null))),(0,x.Q)(this.destroyed$)).subscribe(s=>{this.variantProducts=[...this.variantProducts,...s.products],this.variantProductsPagination=s.pagination})}setVariantProductsContainerMaxHeight(){const e=this.variantProductsContainerRef?.nativeElement.querySelectorAll(".product-card-wrapper");if(!e?.length)return;const t=Math.min(this.variantProductsToShowBeforeScroll,e.length);this.variantProductsContainerMaxHeight=0;for(let s=0;s<t;s++)this.variantProductsContainerMaxHeight+=e[s].offsetHeight;this.variantProductsContainerMaxHeight+=80+10*this.variantProductsToShowBeforeScroll,this.changeDetection.detectChanges()}checkAgreements(e){if(e&&e.length>0){const t=this.agreementFacetService.currentAgreement$.value;if(!t)return;this.globalCurrencyService.setCustomGlobalCurrency(t.currency?.isocode)}}compareCurrencies(e,t){const s=t.filter(l=>!l.hide);s.find(l=>l.isocode===e)||this.globalCurrencyService.setCustomGlobalCurrency(s[0].isocode)}filterItems(e){this.inProcess=!0,this.productCardsService.loadVariantProducts(this.classification,this.currentQuery,this.pageId,e).pipe((0,w.T)(t=>{this.facetsList=t.facets,this.variantProducts=t.products,this.variantProductsPagination=t.pagination}),(0,_e.j)(()=>{this.inProcess=!1,this.changeDetection.detectChanges()}),(0,x.Q)(this.destroyed$)).subscribe()}filterSubscriber(e){const t={...this.getFilterQuery(e),pageSize:this.VARIANT_PRODUCT_PAGE_SIZE,currentPage:0};this.filterItems(t)}getFilterQuery(e){let t="";return Object.keys(e).forEach(s=>{e[s]&&!e[s].empty&&(t+=`:${this.productCardsService.getLinkParams(e[s]).query.split(":").splice(-2).join(":")}`)}),{query:t}}filtersFormInitialize(){this.facetsList.forEach(e=>{this.variantFilter.addControl(e.name,this.fb.control(null))}),this.onChangeFilter=this.variantFilter.valueChanges.pipe((0,x.Q)(this.destroyed$)).subscribe(this.filterSubscriber.bind(this))}getFacetValues(e){if(e)return this.productCardsService.getFacetValues(this.facetsList,e)}clearVariantProducts(){this.variantProducts=null,this.facetsList=null,this.variantProductsPagination=null,this.variantProductsCurrentPage=0,this.variantProductsContainerMaxHeight=0,this.onChangeFilter&&this.onChangeFilter.unsubscribe(),this.variantFilter.reset()}updateActiveProduct(){this.productCardsService.updateActiveProduct(this.product.code)}static#e=this.propDecorators={currentQuery:[{type:n.pde}],pageId:[{type:n.pde}],product:[{type:n.pde}],productContainer:[{type:n.Uct,args:["productContainer"]}],variantProductsContainerRef:[{type:n.Uct,args:["variantProductsContainerRef"]}],onWindowResize:[{type:n.Z$l,args:["window:resize",["$event"]]}]}}class cn{constructor(e,t,s,o){this.changeDetection=e,this.fb=t,this.globalMessageService=s,this.productCardsService=o,this.UNITS=G,this.destroyed$=new R.B,this.excludedFeatures=[f.steelDefects,f.uomDiameters,f.uomDimensions,f.rangedAttributes,f.productionDate],this.productFeatures=null,this.steelDefects=null,this.weightOfItem=null,this.inProcess=!1,this.isOutOfStock=!1,this.isCharOpen=!1,this.monthNames=Array.from(Array(12),(l,u)=>new Date(0,u).toLocaleString("en-us",{month:"long"}).toLowerCase()),this.productPrice=null,this.productUnits=null,this.quantityAdded=null,this.piecesMask=nl(),this.tonsMask=Ti()}init(){this.initProductUnits(),this.initProperties(),this.initProductParams(),this.initProductPrice(),this.product.productionType===Z.STRIP?(this.initSteelDefects(),this.dimension=rt(Ye(this.product,f.uomDimensions)),this.diameter=rt(Ye(this.product,f.uomDiameters))):(this.initWeightOfItem(),this.dimension=rt(Ye(this.product,f.dimensionUnit))),this.changeDetection.detectChanges()}ngOnDestroy(){this.destroySubscriptions()}destroySubscriptions(){this.destroyed$.next(),this.destroyed$.complete()}setDisabledOptions(){this.ngSelect&&this.ngSelect.itemsList.items.forEach(t=>{const s=this.monthNames.findIndex(l=>l===t.value.deliveryMonth?.toLowerCase()),o=new Date(t.value.dueDate);if(s>=0){const l=new Date(t.value.deliveryYear,s+1,0);null==t.value.dueDate&&l<new Date&&(t.disabled=!0)}null!=t.value.dueDate&&o<new Date&&(t.disabled=!0),t.value.remainingTonnage<1e3&&(t.disabled=!0)})}initProductUnits(){this.product.volumePrices?.length>1?this.productUnits=this.product.volumePrices.find(e=>e.unit===G.PIECES):1===this.product.volumePrices?.length?this.productUnits=this.product.volumePrices[0]:this.productUnits={unit:G.PIECES}}initProperties(){this.productFeatures=ts(this.product,this.featureRegExps,this.excludedFeatures)}initProductPrice(){const e=this.product.volumePrices?.find(t=>t.unit===this.productUnits.unit);this.productPrice=e?.formattedValue||null}initSteelDefects(){this.steelDefects=Al(this.product,f.steelDefects)}initWeightOfItem(){this.weightOfItem=+Ye(this.product,f.weightOfTheItem)}handleAddToCartError(e){const t={[te.DUE_DATE]:{key:"text.productList.variantProduct.error.dueDate",type:p.NCV.MSG_TYPE_ERROR},[te.WRONG_CATEGORY]:{key:"text.productList.variantProduct.error.wrongCategory",type:p.NCV.MSG_TYPE_ERROR},[te.WRONG_DESIRED]:{key:"text.productList.variantProduct.error.wrongDesired",type:p.NCV.MSG_TYPE_ERROR},[te.WRONG_REMAINING_TONNAGE]:{key:"text.productList.variantProduct.error.wrongRemainingTonnage",type:p.NCV.MSG_TYPE_ERROR},[te.WRONG_SCHEDULING_ITEM]:{key:"text.productList.variantProduct.error.wrongSchedulingItem",type:p.NCV.MSG_TYPE_ERROR},[te.WRONG_CURRENCY]:{key:"currency.cartError",type:p.NCV.MSG_TYPE_ERROR},[te.MORE_THAN_ONE_CATEGORY_FOR_QUOTATION]:{key:"text.productList.variantProduct.error.moreThanOneCategoryForQuotation",type:p.NCV.MSG_TYPE_ERROR},[te.PLATE_FOR_PRODUCT]:{key:"text.productList.variantProduct.error.plateForProduct",type:p.NCV.MSG_TYPE_ERROR},[te.SALES_PLATE]:{key:"text.productList.variantProduct.error.salesPlate",type:p.NCV.MSG_TYPE_ERROR},[te.NO_CURRENCY_SALES_DATA_ERROR]:{key:"text.productList.variantProduct.error.noCurrencySalesDataError",type:p.NCV.MSG_TYPE_ERROR}};switch(t[e.statusCode]&&(this.quantityAdded=0,this.globalMessageService.add({key:t[e.statusCode].key},t[e.statusCode].type)),e.statusCode){case te.LOW_STOCK:this.quantityAdded=e.quantityAdded,this.amountTooltip?.open();break;case te.NO_STOCK:this.isOutOfStock=!0,this.quantityAdded=0,this.globalMessageService.add({key:"text.productList.variantProduct.error.noStock"},p.NCV.MSG_TYPE_ERROR),this.amountTooltip?.open();break;case te.NO_SALES_DATA_ERROR:this.quantityAdded=0,this.productCardsService.showNoSalesDataError();break;case te.WRONG_REMAINING_TONNAGE:this.product.productionType===Z.PLATE&&(this.productCardsService.updateAgreements(),this.changeDetection.detectChanges());break;default:this.quantityAdded=null}}getStockLevel(){return+this.product?.futureStocks[0]?.stock?.stockLevel||0}getShipmentDateBorders(e,t){const s=this.monthNames.findIndex(u=>u===e.toLowerCase());return{fromDate:new Date(t,s,1),toDate:new Date(t,s+1,0)}}isContractInvalid(e){if(e){if(isNaN(new Date(e).getTime()))return!1;if(new Date(e)<new Date)return!0}}toggleProductCharacteristics(){this.isCharOpen=!this.isCharOpen,this.productCardsService.isCardHeightChanged$.next(this.isCharOpen)}static#e=this.propDecorators={product:[{type:n.pde}],amountTooltip:[{type:n.Uct,args:["amountTooltip"]}],quantityEl:[{type:n.Uct,args:["quantityEl"]}],ngSelect:[{type:n.Uct,args:[st.vr]}]}}var td;!function(a){a[a.STRIP=7040]="STRIP",a[a.PLATE=7030]="PLATE"}(td||(td={}));let Be=class{constructor(e,t,s,o,l){this.facetService=e,this.http=t,this.launchDialogService=s,this.occEndpointsService=o,this.agreementFacetService=l,this.activeProduct$=new P.t(null),this.isCardHeightChanged$=new P.t(!1),this.lastQuery="",this.defaultQuery="",this.destroyed$=new R.B}destroy(){this.destroyed$.next(),this.destroyed$.complete()}getProductMatrix(e){e=e.replace("/","%2F");const t=this.occEndpointsService.buildUrl(E.PRODUCT.MATRIX,{urlParams:{productCode:e}});return this.http.get(t)}getFacetValues(e,t){if(!e||!e.length)return;const s=t.code.match(/\.[^.]+$/)?t.code.match(/\.[^.]+$/)[0]?.split("_")[0]:t.code;return e.find(o=>o.code.endsWith(s))}getLinkParams(e){return this.facetService.getLinkParams(e.query?.query.value)}getUrl(e,t,s,o=""){let l="";switch(s){case q.CATALOG_QUOTE:l=xt_SEARCH.CATALOG;break;case q.CATALOG_ORDER:l=this.agreementFacetService.currentAgreement$.value?.volumeBased?xt_SEARCH.CATALOG:xt_SEARCH.AGREEMENTS;break;default:l=xt_SEARCH.PRODUCT}return this.defaultQuery=`${t.query}${ee_CLASS_FACET_STEEL_GRADE}:${e}${o}`,this.lastQuery!==this.defaultQuery&&(this.lastQuery=this.defaultQuery),this.occEndpointsService.buildUrl(l,{urlParams:{},queryParams:{query:this.lastQuery!==this.defaultQuery?this.lastQuery:this.defaultQuery}})}loadVariantProducts(e,t,s,o=null){const l=new RegExp(`(${ee_CLASS_FACET_STEEL_GRADE}:[^:]+)`,"g"),u=this.facetService.getLinkParams(t.query.value.replace(l,""));if(s!==q.CATALOG_QUOTE&&s!==q.CATALOG_ORDER){const h=this.occEndpointsService.buildUrl(xt_SEARCH.PRODUCT);this.defaultQuery=`${u.query}${ee_CLASS_FACET_STEEL_GRADE}:${e}`,o.hasOwnProperty("query")&&(this.defaultQuery=this.defaultQuery+o.query),this.lastQuery!==this.defaultQuery&&(this.lastQuery=this.defaultQuery);let _=new U.Nl;return Object.keys(o).forEach(C=>{_=_.set(C,o[C])}),_=_.set("searchQueryContext",Kt_VARIANT),this.http.post(h,{query:this.lastQuery!==this.defaultQuery?this.lastQuery.replace("   "," + "):this.defaultQuery.replace("   "," + ")},{params:_})}{let h;return o.hasOwnProperty("query")?(h=this.getUrl(e,u,s,o.query),delete o.query):h=this.getUrl(e,u,s),this.http.get(h,{params:{searchQueryContext:Kt_VARIANT,...null!==o?o:{}}}).pipe((0,w.T)(_=>this.generateProduct(_,s)))}}generateProduct(e,t){return e.products.map(s=>{if(s.productionType!==Z.STRIP||![q.CATALOG_ORDER,q.SEARCH].includes(t))return;const o=this.agreementFacetService.currentAgreement$.value,l=o?.entries?.find(u=>u.product===s.code);return s.priceNotFinal=!!l&&l.priceNotFinal,o&&o.volumeBased&&o.unit?(s.volumePrices=[s.volumePrices.find(u=>u.unit===o.unit)||this.generateVolumePrices(o)],s):void 0}),e}generateVolumePrices(e){return{unit:e.unit,formattedValue:e.price||null}}showRegistrationPopup(e=Pe.REGISTER){this.launchDialogService.openDialog("AUTH_MODAL",void 0,void 0,{type:e})?.pipe((0,oe.s)(1)).subscribe()}updateActiveProduct(e){this.activeProduct$.getValue()===e&&(this.lastQuery=null),this.activeProduct$.next(e)}showNoSalesDataError(){this.launchDialogService.openDialogAndSubscribe("WARNING_MODAL",void 0,void 0)}checkSalesOrg(){const e=this.occEndpointsService.buildUrl(E.PRODUCT.SALES_ORG_CHECK,{urlParams:{},queryParams:{salesOrganizationCode:td.STRIP}});return this.http.get(e)}showAddToMyCatalogForm(e){this.checkSalesOrg().pipe((0,x.Q)(this.destroyed$)).subscribe(t=>{t?this.launchDialogService.openDialogAndSubscribe("ADD_TO_MY_CATALOG",void 0,{product:e}):this.launchDialogService.openDialogAndSubscribe("WARNING_MODAL",void 0,{title:"text.invalidSalesOrg",primaryButton:"",iconButton:""})})}updateAgreements(){this.agreementFacetService.clearCache(),this.agreementFacetService.getData()}static#e=this.ctorParameters=()=>[{type:v.rOA},{type:U.Qq},{type:v.PLe},{type:p.zxz},{type:Ee}]};Be=(0,r.Cg)([(0,n._qm)()],Be);let nd=class extends us{constructor(e,t,s,o,l,u,h,_,C,T){super(e,t,s,o,l,u,h,_,C,T),this.breakpointService=e,this.changeDetection=t,this.fb=s,this.globalMessageService=o,this.offsetTopUtils=l,this.productCardsService=u,this.agreementFacetService=h,this.globalCurrencyService=_,this.currencyService=C,this.routingService=T,this.currentAgreement$=this.agreementFacetService.currentAgreement$,this.agreement=null,this.featureRegExps=Ne.MY_CATALOGUE.ORDER.PLATE.BASE}ngOnInit(){this.init(),this.initProductSchedulingLines()}ngOnDestroy(){super.ngOnDestroy()}initProductSchedulingLines(){this.currentAgreement$.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.agreement=e})}static#e=this.ctorParameters=()=>[{type:v.dci},{type:n.gRc},{type:m.ze},{type:p.S8D},{type:zt},{type:Be},{type:Ee},{type:Vt},{type:p.PnO},{type:p.Oie}]};nd=(0,r.Cg)([(0,n.uAl)({selector:"app-my-catalogue-order-product-card-base-plate",template:'<ng-container *ngIf="classification && productFeatures">\n  <div #productContainer [class.is-open]="variantProducts?.length" class="product-card">\n    <div class="product-card__header">\n      <ng-container *ngFor="let property of productFeatures.mainFeatures; let i = index">\n        <div class="product-card__param">\n          <ng-container\n            *ngTemplateOutlet="propertyCellTemplate; context: { property: property, isLargeFont: !i }"\n          ></ng-container>\n        </div>\n      </ng-container>\n    </div>\n\n    <div class="product-card__body product-card__body--no-shadow">\n      <ng-container *ngFor="let property of productFeatures.secondaryFeatures">\n        <div class="product-card__param">\n          <ng-container *ngTemplateOutlet="propertyCellTemplate; context: { property: property }"></ng-container>\n        </div>\n      </ng-container>\n\n      <div class="product-card__param product-card__param-actions">\n        <button\n          (click)="updateActiveProduct()"\n          [class.is-active]="variantProducts"\n          [disabled]="isSelectOptionsDisabled"\n          class="btn btn--sm btn-secondary"\n        >\n          <svg-icon-sprite src="create" width="18" height="18" class="btn-icon"></svg-icon-sprite>\n          {{\n            variantProducts?.length ? (\'button.options.hide\' | cxTranslate) : (\'button.options.select\' | cxTranslate)\n          }}\n        </button>\n      </div>\n    </div>\n  </div>\n\n  <scrollbar\n    *ngIf="variantProducts?.length"\n    [style.max-height.px]="variantProductsContainerMaxHeight"\n    class="product-card__variant-products"\n  >\n    <div #variantProductsContainerRef>\n      <ng-container *ngIf="currentAgreement$ | async as currentAgreement">\n        <app-my-catalogue-order-product-card-variant-plate\n          *ngFor="let variantProduct of variantProducts"\n          [currentAgreement]="currentAgreement"\n          [pageId]="pageId"\n          [product]="variantProduct"\n          class="product-card-wrapper"\n        ></app-my-catalogue-order-product-card-variant-plate>\n\n        <div *ngIf="variantProductsPagination.totalPages > 1" class="d-flex justify-content-center pb-20">\n          <button\n            (click)="loadMoreVariantProducts()"\n            [disabled]="isLoadingMoreProducts || variantProductsCurrentPage >= variantProductsPagination.totalPages - 1"\n            class="btn btn-sm btn-secondary p-relative ml-auto"\n          >\n            {{ \'button.loadMore\' | cxTranslate }}\n            <div *ngIf="isLoadingMoreProducts" class="loader-in-process">\n              <app-loader size="24px"></app-loader>\n            </div>\n          </button>\n\n          <div class="product-card__variant-products-page ml-auto align-self-center">\n            {{\n              \'text.productList.itemOfItems\'\n                | cxTranslate: { items: variantProducts?.length, totalItems: variantProductsPagination.totalResults }\n            }}\n          </div>\n        </div>\n      </ng-container>\n    </div>\n  </scrollbar>\n\n  <div *ngIf="inProcess" class="loader-in-process">\n    <app-loader size="36px"></app-loader>\n  </div>\n</ng-container>\n\n<ng-template #propertyCellTemplate let-property="property" let-isLargeFont="isLargeFont">\n  <ng-container *ngIf="getFacetValues(property); else textPropertyTemplate">\n    <ng-container\n      *ngTemplateOutlet="propertySelectTemplate; context: { facet: getFacetValues(property) }"\n    ></ng-container>\n  </ng-container>\n  <ng-template #textPropertyTemplate>\n    <app-product-cards-cell\n      *ngIf="property?.featureValues?.length"\n      [title]="property?.name"\n      [value]="property?.featureValues[0]?.value"\n      [isLargeFont]="isLargeFont"\n    ></app-product-cards-cell>\n  </ng-template>\n</ng-template>\n\n<ng-template #propertySelectTemplate let-facet="facet">\n  <div class="product-card__filter">\n    <app-select\n      *ngIf="facet"\n      bindLabel="name"\n      [controlData]="variantFilter.get(facet.name)"\n      [placeholderValues]="true"\n      [type]="selectTypes.FLAT"\n      [clearable]="false"\n      [placeholder]="facet.name"\n      [items]="sortFacet(facet.values)"\n    ></app-select>\n  </div>\n</ng-template>\n',styles:[Nb()]})],nd);var Bb=i(34887),Vb=i.n(Bb);let sd=class extends us{constructor(e,t,s,o,l,u,h,_,C,T){super(e,t,s,o,l,u,h,_,C,T),this.breakpointService=e,this.changeDetection=t,this.fb=s,this.globalMessageService=o,this.offsetTopUtils=l,this.productCardsService=u,this.agreementFacetService=h,this.globalCurrencyService=_,this.currencyService=C,this.routingService=T,this.currentAgreement$=this.agreementFacetService.currentAgreement$,this.agreement=null,this.featureRegExps=Ne.MY_CATALOGUE.ORDER.STRIP.BASE}ngOnInit(){super.init(),this.initProductSchedulingLines()}ngOnDestroy(){super.ngOnDestroy()}initProductSchedulingLines(){this.currentAgreement$.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.agreement=e})}getSchedulingLines(e){if(this.agreement?.agreementProducts?.length)return this.agreement.volumeBased?this.agreement.agreementProducts[0]?.schedulingLines:this.agreement.agreementProducts?.find(t=>t.product===e)?.schedulingLines}static#e=this.ctorParameters=()=>[{type:v.dci},{type:n.gRc},{type:m.ze},{type:p.S8D},{type:zt},{type:Be},{type:Ee},{type:Vt},{type:p.PnO},{type:p.Oie}]};sd=(0,r.Cg)([(0,n.uAl)({selector:"app-my-catalogue-order-product-card-base-strip",template:'<ng-container *ngIf="classification && productFeatures">\n  <div\n    #productContainer\n    [class.is-open]="variantProducts?.length"\n    class="product-card"\n  >\n    <div class="product-card__header">\n      <ng-container *ngFor="let property of productFeatures.mainFeatures; let i = index;">\n        <div class="product-card__param">\n          <ng-container *ngTemplateOutlet="propertyCellTemplate; context: {property: property, isLargeFont: !i}"></ng-container>\n        </div>\n      </ng-container>\n    </div>\n\n    <div class="product-card__body product-card__body--no-shadow">\n      <ng-container *ngFor="let property of productFeatures.secondaryFeatures">\n        <div class="product-card__param">\n          <ng-container *ngTemplateOutlet="propertyCellTemplate; context: {property: property}"></ng-container>\n        </div>\n      </ng-container>\n\n      <div class="product-card__param product-card__param-actions">\n        <button\n          (click)="updateActiveProduct()"\n          [class.is-active]="variantProducts"\n          [disabled]="isSelectOptionsDisabled"\n          class="btn btn--sm btn-secondary"\n        >\n          <svg-icon-sprite\n            src="create"\n            width="18"\n            height="18"\n            class="btn-icon"\n          ></svg-icon-sprite>\n          {{ variantProducts?.length ? (\'button.options.hide\' | cxTranslate) : (\'button.options.select\' | cxTranslate) }}\n        </button>\n      </div>\n    </div>\n  </div>\n\n  <scrollbar\n    *ngIf="variantProducts?.length"\n    [style.max-height.px]="variantProductsContainerMaxHeight"\n    class="product-card__variant-products"\n  >\n    <div #variantProductsContainerRef>\n      <ng-container *ngIf="currentAgreement$ | async as currentAgreement">\n        <app-my-catalogue-order-product-card-variant-strip\n          *ngFor="let variantProduct of variantProducts"\n          [currentAgreement]="currentAgreement"\n          [pageId]="pageId"\n          [product]="variantProduct"\n          [schedulingLines]="getSchedulingLines(variantProduct.code)"\n          class="product-card-wrapper"\n        ></app-my-catalogue-order-product-card-variant-strip>\n\n        <div\n          *ngIf="variantProductsPagination.totalPages > 1"\n          class="d-flex justify-content-center pb-20"\n        >\n          <button\n            (click)="loadMoreVariantProducts()"\n            [disabled]="isLoadingMoreProducts || (variantProductsCurrentPage >= variantProductsPagination.totalPages - 1)"\n            class="btn btn-sm btn-secondary p-relative ml-auto"\n          >\n            {{ \'button.loadMore\' | cxTranslate }}\n            <div\n              *ngIf="isLoadingMoreProducts"\n              class="loader-in-process"\n            >\n              <app-loader size="24px"></app-loader>\n            </div>\n          </button>\n\n          <div class="product-card__variant-products-page ml-auto align-self-center">\n            {{ \'text.productList.itemOfItems\' | cxTranslate : { items: variantProducts?.length, totalItems: variantProductsPagination.totalResults } }}\n          </div>\n        </div>\n      </ng-container>\n    </div>\n  </scrollbar>\n\n  <div *ngIf="inProcess" class="loader-in-process">\n    <app-loader size="36px"></app-loader>\n  </div>\n</ng-container>\n\n\n<ng-template #propertyCellTemplate let-property="property" let-isLargeFont="isLargeFont">\n  <ng-container *ngIf="getFacetValues(property); else textPropertyTemplate">\n    <ng-container *ngTemplateOutlet="propertySelectTemplate; context: { facet: getFacetValues(property) }"></ng-container>\n  </ng-container>\n  <ng-template #textPropertyTemplate>\n    <app-product-cards-cell\n      *ngIf="property?.featureValues?.length"\n      [title]="property?.name"\n      [value]="property?.featureValues[0]?.value"\n      [isLargeFont]="isLargeFont"\n    ></app-product-cards-cell>\n  </ng-template>\n</ng-template>\n\n\n<ng-template #propertySelectTemplate let-facet="facet">\n  <div class="product-card__filter">\n    <app-select\n      *ngIf="facet"\n      bindLabel="name"\n      [controlData]="variantFilter.get(facet.name)"\n      [placeholderValues]="true"\n      [type]="selectTypes.FLAT"\n      [clearable]="false"\n      [placeholder]="facet.name"\n      [items]="sortFacet(facet.values)"\n    ></app-select>\n  </div>\n</ng-template>\n\n',styles:[Vb()]})],sd);var zb=i(66663),Yb=i.n(zb);let id=class extends cn{constructor(e,t,s,o,l,u){super(e,t,s,o),this.changeDetection=e,this.fb=t,this.globalMessageService=s,this.productCardsService=o,this.agreementFacetService=l,this.breakpointService=u,this.featureRegExps=Ne.MY_CATALOGUE.ORDER.PLATE.VARIANT,this.inProcess=!1,this.initialVolume=null,this.dueDate=null,this.remainingTonnage=null,this.quantity=null,this.remainingPlates=null,this.today=new Date,this.desiredDeliveryDateWeeks=[],this.deliveryAllowedFromWeek=[],this.breakpointIsUpSm$=this.breakpointService.isUp(v.SLZ.sm)}ngOnInit(){super.init(),this.setRemaining()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete(),super.ngOnDestroy()}ngAfterViewInit(){this.setDisabledOptions()}setRemaining(){this.currentAgreement?.remainingTonnage&&(this.quantity=we(this.currentAgreement.entries.find(e=>e.product===this.product.code)?.quantity),this.remainingTonnage=we(this.currentAgreement.remainingTonnage),this.initialVolume=we(this.currentAgreement.initialVolume),this.weightOfItem&&(this.remainingPlates=Math.trunc(this.currentAgreement.remainingTonnage/this.weightOfItem)))}initProductParams(){this.productParams=this.fb.group({units:[this.productUnits.unit],quantity:[null,[m.k0.required,m.k0.min(.1)]],desiredDeliveryDateWeek:[null,[m.k0.required]],deliveryAllowedFromWeek:[null,[m.k0.required]]}),this.productParams.get("desiredDeliveryDateWeek").valueChanges.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.setMonthParams(e),this.fillDeliveryAllowedWeeks(e)}),this.fillDesiredDeliveryWeeks()}fillDesiredDeliveryWeeks(){if(!this.productParams)return;const e=new Date,t=(6+e.getDay())%7;e.setDate(e.getDate()+(7-t)%7);const s=new Date;s.setFullYear(s.getFullYear()+2),this.desiredDeliveryDateWeeks=this.generateWeeks(e,s),this.productParams.get("desiredDeliveryDateWeek").setValue(this.desiredDeliveryDateWeeks[0])}fillDeliveryAllowedWeeks(e){const[t,s]=e.split("/");this.deliveryAllowedFromWeek=this.desiredDeliveryDateWeeks.filter(h=>{const[_,C]=h.split("/");return+C<+s||+C==+s&&+_<=+t});const o=this.desiredDeliveryDateWeeks.indexOf(e),l=[o-2,o-1,o].filter(h=>h>=0),u=l.length?l[0]:0;this.productParams.get("deliveryAllowedFromWeek").setValue(this.deliveryAllowedFromWeek[u])}setMonthParams(e){const[t,s]=e.split("/"),o=new Date(parseInt(s,10),0,7*parseInt(t,10)-6);this.dueDate=o.toString(),this.initialVolume=we(this.currentAgreement.initialVolume),this.remainingTonnage=we(this.currentAgreement.remainingTonnage)}generateWeeks(e,t){const s=[],o=e;for(;o<=t;)s.push(this.getWeekWithYear(o)),o.setDate(o.getDate()+7);return s}getWeekWithYear(e){e.setHours(0,0,0,0),e.setDate(e.getDate()+3-(e.getDay()+6)%7);const t=new Date(e.getFullYear(),0,4);return`${1+Math.round(((e.getTime()-t.getTime())/864e5-3+(t.getDay()+6)%7)/7)}/${e.getFullYear()}`}static#e=this.ctorParameters=()=>[{type:n.gRc},{type:m.ze},{type:p.S8D},{type:Be},{type:Ee},{type:v.dci}];static#t=this.propDecorators={pageId:[{type:n.pde}],product:[{type:n.pde}],currentAgreement:[{type:n.pde}]}};id=(0,r.Cg)([(0,n.uAl)({selector:"app-my-catalogue-order-product-card-variant-plate",template:'<ng-container *ngIf="productFeatures">\n  <div class="product-card product-card--variant product-card--variant-plate product-card--variant-order">\n    <div class="product-card__header">\n      <ng-container *ngFor="let property of productFeatures.mainFeatures; let i = index">\n        <ng-container\n          *ngTemplateOutlet="propertyCellTemplate; context: { property: property, isLargeFont: !i }"\n        ></ng-container>\n      </ng-container>\n\n      <div class="product-card__param product-card__param-badges-price d-flex align-items-center">\n        <app-product-cards-cell\n          *ngIf="productPrice"\n          [title]="\n            \'text.productList.variantProduct.strip.\' +\n              (currentAgreement.volumeBased ? \'basePricePerPiece\' : \'pricePerPiece\') | cxTranslate: { unit: UNITS.TONS }\n          "\n          [value]="productPrice"\n          [isInline]="true"\n          [isLargeFont]="true"\n        ></app-product-cards-cell>\n      </div>\n    </div>\n\n    <div class="product-card__body">\n      <ng-container *ngFor="let property of productFeatures.secondaryFeatures">\n        <ng-container *ngTemplateOutlet="propertyCellTemplate; context: { property: property }"></ng-container>\n      </ng-container>\n\n      <div\n        *ngIf="desiredDeliveryDateWeeks?.length"\n        [dir]="((productFeatures.secondaryFeatures.length + 1) % 4 === 0 && breakpointIsUpSm$ | async) ? \'rtl\' : \'ltr\'"\n        class="product-card__param"\n      >\n        <ng-select\n          [formControl]="productParams.get(\'desiredDeliveryDateWeek\')"\n          [items]="desiredDeliveryDateWeeks"\n          [clearable]="false"\n          appendTo="body"\n          class="ng-select-outline"\n        >\n          <ng-template ng-label-tmp let-item="item">\n            <div class="ng-select__title">\n              {{ \'text.productList.variantProduct.desiredDeliveryDate\' | cxTranslate }}\n            </div>\n            {{ item }}\n          </ng-template>\n        </ng-select>\n      </div>\n\n      <div *ngIf="deliveryAllowedFromWeek?.length" class="product-card__param product-card__param-calendar">\n        <ng-select\n          [formControl]="productParams.get(\'deliveryAllowedFromWeek\')"\n          [items]="deliveryAllowedFromWeek"\n          [clearable]="false"\n          appendTo="body"\n          class="ng-select-outline"\n        >\n          <ng-template ng-label-tmp let-item="item">\n            <div class="ng-select__title">\n              {{ \'text.productList.variantProduct.deliveryAllowedFrom\' | cxTranslate }}\n            </div>\n            {{ item }}\n          </ng-template>\n        </ng-select>\n      </div>\n\n      <div *ngIf="dueDate || currentAgreement?.endDate" class="product-card__param">\n        <app-product-cards-cell\n          [title]="\'text.productList.variantProduct.dueDate\' | cxTranslate"\n          [value]="dueDate || currentAgreement?.endDate | dateWithTimezonePipe"\n        ></app-product-cards-cell>\n      </div>\n\n      <div *ngIf="quantity" class="product-card__param">\n        <app-product-cards-cell\n          *ngIf="productParams.get(\'units\').value === UNITS.KG"\n          [title]="\'text.productList.variantProduct.quantity\' | cxTranslate"\n          [value]="quantity + \' t\'"\n        ></app-product-cards-cell>\n      </div>\n      <div class="product-card__param">\n        <app-product-cards-cell\n          *ngIf="productParams.get(\'units\').value === UNITS.KG; else remainingPlate"\n          [title]="\'text.productList.variantProduct.remainingTonnage\' | cxTranslate"\n          [value]="remainingTonnage + \' t\'"\n        ></app-product-cards-cell>\n\n        <ng-template #remainingPlate>\n          <app-product-cards-cell\n            [title]="\'text.productList.variantProduct.remainingPlates\' | cxTranslate"\n            [value]="(remainingPlates || 0) + \' psc.\'"\n          ></app-product-cards-cell>\n        </ng-template>\n      </div>\n\n      <div *ngIf="productUnits.unit !== UNITS.KG" class="product-card__param">\n        <app-product-cards-cell\n          [title]="\'text.productList.variantProduct.initialVolume\' | cxTranslate"\n          [value]="initialVolume + \' t\'"\n        ></app-product-cards-cell>\n      </div>\n    </div>\n\n    <div\n      *ngIf="productFeatures?.restFeatures.length || productFeatures?.thirdlyFeatures.length"\n      class="product-card__controls d-flex"\n    >\n      <div class="product-card__controls-item">\n        <span\n          [class.product-card__control--open]="isCharOpen"\n          (click)="toggleProductCharacteristics()"\n          class="product-card__control"\n        >\n          {{ \'button.characteristics\' | cxTranslate }}\n          <svg-icon-sprite\n            [src]="isCharOpen ? \'expand_less\' : \'expand_more\'"\n            width="16"\n            height="16"\n            class="product-card__icon"\n          ></svg-icon-sprite>\n        </span>\n      </div>\n    </div>\n\n    <div\n      *ngIf="productFeatures?.restFeatures.length || productFeatures?.thirdlyFeatures.length"\n      class="product-card__characteristic"\n    >\n      <div\n        [class.is-open]="isCharOpen"\n        class="product-card__characteristic-block product-card__characteristic-block--additional"\n      >\n        <ng-container\n          *ngTemplateOutlet="restFeatures; context: { features: productFeatures.thirdlyFeatures }"\n        ></ng-container>\n        <ng-container\n          *ngTemplateOutlet="restFeatures; context: { features: productFeatures.restFeatures }"\n        ></ng-container>\n      </div>\n      <ng-template #restFeatures let-features="features">\n        <ng-container *ngFor="let feature of features; let last = last">\n          <ng-container *ngIf="feature.name && feature.featureValues && feature.featureValues[0]?.value">\n            <ng-container *ngTemplateOutlet="propertyCellTemplate; context: { property: feature }"></ng-container>\n          </ng-container>\n        </ng-container>\n      </ng-template>\n    </div>\n\n    <div class="product-card__footer">\n      <div class="product-card__param">\n        <app-product-cards-cell\n          [title]="\'text.cart.product.unitOfOrder\' | cxTranslate"\n          [value]="\'placeholder.\' + productUnits.unit | cxTranslate"\n        ></app-product-cards-cell>\n      </div>\n\n      <div *ngIf="productUnits && productParams" class="product-card__param product-card__param-7">\n        <div\n          [ngbTooltip]="amountError"\n          placement="bottom auto"\n          triggers="manual"\n          class="d-inline-block"\n          #amountTooltip="ngbTooltip"\n        >\n          <input\n            [formControl]="productParams.get(\'quantity\')"\n            [maskito]="productUnits.unit === UNITS.PIECES ? piecesMask : tonsMask"\n            placeholder="{{ \'placeholder.\' + productParams.get(\'units\').value | cxTranslate }}"\n            type="text"\n            class="product-card__input-amount"\n            #quantityEl\n          />\n        </div>\n        <ng-template #amountError>\n          <div class="error-base-color d-flex align-items-center">\n            <svg-icon-sprite src="error" width="16" height="16" class="error-base-color mr-7"></svg-icon-sprite>\n            <ng-container *ngIf="quantityAdded !== null">\n              {{ \'text.productList.variantProduct.error.maxAvailableStock\' | cxTranslate }}:\n              {{ quantityAdded | massConversion }} t\n            </ng-container>\n          </div>\n          <cx-form-errors [control]="productParams.get(\'quantity\')"></cx-form-errors>\n        </ng-template>\n      </div>\n\n      <div class="product-card__param" *ngIf="weightOfItem">\n        <app-product-cards-cell\n          [title]="\n            \'text.cart.product.calculated\'\n              | cxTranslate\n                : {\n                    unit:\n                      (productParams.get(\'units\').value === UNITS.KG\n                        ? \'text.cart.product.pieces\'\n                        : \'text.cart.product.tonnage\'\n                      ) | cxTranslate\n                  }\n          "\n          [value]="\n            productParams.get(\'quantity\').value\n              | calculatedVolume: { unit: productParams.get(\'units\').value, weightOfItem: weightOfItem }\n          "\n        ></app-product-cards-cell>\n      </div>\n\n      <div class="product-card__param product-card__param-actions">\n        <app-product-cards-add-to-cart-button\n          [isDisabled]="isOutOfStock"\n          [isNoTonnage]="!remainingTonnage"\n          [productParams]="productParams"\n          [product]="product"\n          [quantityEl]="quantityEl"\n          [pageId]="pageId"\n          (addToCartError)="handleAddToCartError($event)"\n        ></app-product-cards-add-to-cart-button>\n      </div>\n    </div>\n  </div>\n\n  <div *ngIf="inProcess" class="loader-in-process">\n    <app-loader size="36px"></app-loader>\n  </div>\n</ng-container>\n\n<ng-template #propertyCellTemplate let-property="property" let-isLargeFont="isLargeFont">\n  <div class="product-card__param">\n    <app-product-cards-cell\n      *ngIf="property?.featureValues?.length"\n      [title]="property?.name"\n      [value]="\n        property?.featureValues[0]?.value\n          | changePropertyValue: { code: property.code, dimension: dimension, diameter: diameter }\n      "\n      [isLargeFont]="isLargeFont"\n    ></app-product-cards-cell>\n  </div>\n</ng-template>\n',styles:[Yb()]})],id);var qb=i(9703),Hb=i.n(qb);let Yr=class extends cn{constructor(e,t,s,o,l,u){super(e,t,s,o),this.changeDetection=e,this.fb=t,this.globalMessageService=s,this.productCardsService=o,this.agreementFacetService=l,this.breakpointService=u,this.PAGES_ID=q,this.AVAILABLE_DAY=$i.mon,this.UNITS=G,this.inProcess=!1,this.cardHidden=!1,this.initialVolume=null,this.isOutOfDateRange=!1,this.datepickerOptions={defaultMonth:null,disableUntil:null,disableWeekdays:["su","tu","we","th","fr","sa"],preselectedDay:void 0},this.dueDate=null,this.remainingTonnage=null,this.breakpointIsUpSm$=this.breakpointService.isUp(v.SLZ.sm)}ngOnInit(){this.featureRegExps=Ne.MY_CATALOGUE.ORDER.STRIP[this.product?.classType===Zt_CLASS_TYPE?Se_VARIANT__PREPAINTED:Se_VARIANT],this.setDisableUntil(),super.init(),this.preselectMonth(this.schedulingLines)}ngAfterViewInit(){this.setDisabledOptions()}setDisableUntil(){const e=new Date;this.datepickerOptions.disableUntil={year:e.getFullYear(),month:e.getMonth()+1,day:e.getDate()}}initProductParams(){this.productParams=this.fb.group({units:[this.productUnits.unit],quantity:[null,[m.k0.required,m.k0.min(.1)]],desiredShipmentDate:[null,[m.k0.required]],deliveryMonth:[null,[m.k0.required]],priceNotFinal:!!this.currentAgreement.priceNotFinal})}getLastOrderingDate(){return this.product.lastUsedDate&&"Not ordered yet"!==this.product.lastUsedDate?this.product.lastUsedDate:null}preselectMonth(e){if(this.schedulingLines?.length&&this.productParams){const t=new Intl.DateTimeFormat("en",{month:"long"}),s=new Date;s.getFullYear(),t.format(s);let u;u=this.schedulingLines.find(C=>{const T=this.monthNames.findIndex(D=>D===C.deliveryMonth.toLowerCase());if(new Date(C.deliveryYear,T+1,0)>new Date)return C;console.error(`No according scheduling line was founded: ${T+1} ${C.deliveryYear}`)});const h=u?.deliveryMonth,_=u?.deliveryYear;this.productParams.get("deliveryMonth").setValue(h),this.setMonthParams(h,_)}}setDatepickerActiveMonth(e,t){if(!e||!t)return void console.error(`No month year or month name provided. Month name: ${e}, month year: ${t}`);const s=`0${this.getMonthIndexFromName(e)}`.slice(-2);this.datepickerOptions.defaultMonth={defMonth:`${s}/${t}`,overrideSelection:!0}}setPreselectedDay(e,t){if(!e||!t)return void console.error(`No month year or month name provided. Month name: ${e}, month year: ${t}`);let s=null;const o=new Date,l=o.getFullYear(),u=o.getMonth()+1,h=this.getMonthIndexFromName(e),T=t>l;if(t<l)s=null;else if(t===l){if(h<u)s=null;else if(h===u){const D=this.getCurrentMonthLastMondayDateNumber(),F=new Date(t,u,0).getDate(),K=o.getDate();if(K===F)s=null;else if(K>=D){const ne=new Date;ne.setDate(K+1),s=ne}else s=this.getNextWeekDay(this.AVAILABLE_DAY,!0)}else if(h>u){const D=this.getMonthFirstMondayDateNumber(e,t);s=new Date(t,h-1,D)}}else if(T){const D=this.getMonthFirstMondayDateNumber(e,t);s=new Date(t,h-1,D)}this.datepickerOptions.preselectedDay=s}setMonthParams(e,t){const s=new Date,o=this.schedulingLines.find(l=>l.deliveryMonth.toLowerCase()===e.toLowerCase()&&l.deliveryYear===t);if(!o)return console.error(`No according scheduling line was founded: ${e} ${t}`),void(this.cardHidden=!0);this.initialVolume=we(o.quantity),this.dueDate=o.dueDate,this.remainingTonnage=we(o.remainingTonnage),this.setDatepickerActiveMonth(e,t),this.setPreselectedDay(e,t),this.isOutOfDateRange=s>new Date(this.dueDate)||s>new Date(this.currentAgreement.endDate)||this.datepickerOptions.preselectedDay<s,this.changeDetection.detectChanges()}handleMonthChange(e){this.setMonthParams(e.deliveryMonth,e.deliveryYear)}handleDesiredShipmentDateChange(e){this.productParams.get("desiredShipmentDate").setValue(e.singleDate.jsDate),this.changeDetection.detectChanges()}getMonthFirstMondayDateNumber(e,t){const s=this.getMonthIndexFromName(e)-1,o=new Date(t,s,1);for(o.setDate(1);1!==o.getDay();)o.setDate(o.getDate()+1);return o.getDate()}getCurrentMonthLastMondayDateNumber(){const e=new Date;return e.setMonth(e.getMonth()+1),e.setDate(0),e.getDate()-(e.getDay()-1)}getNextWeekDay(e,t=!0,s=new Date){const o=["sun","mon","tue","wed","thu","fri","sat"].indexOf(e.slice(0,3).toLowerCase());if(o<0)throw new Error(`Wrong short day name passed: "${e}"`);return s.setHours(0,0,0,0),s.setDate(s.getDate()+ +!!t+(o+7-s.getDay()-+!!t)%7),s}getMonthIndexFromName(e){const t=Date.parse(`${e} 1, 2000`);if(!isNaN(t))return new Date(t).getMonth()+1;throw new Error("Wrong month name")}static#e=this.ctorParameters=()=>[{type:n.gRc},{type:m.ze},{type:p.S8D},{type:Be},{type:Ee},{type:v.dci}];static#t=this.propDecorators={pageId:[{type:n.pde}],product:[{type:n.pde}],schedulingLines:[{type:n.pde}],currentAgreement:[{type:n.pde}]}};Yr=(0,r.Cg)([(0,n.uAl)({selector:"app-my-catalogue-order-product-card-variant-strip",template:'<ng-container *ngIf="productFeatures && productParams && !this.cardHidden">\n  <div class="product-card product-card--variant product-card--variant-strip product-card--variant-order">\n    <div class="product-card__header">\n      <ng-container *ngFor="let property of productFeatures.mainFeatures; let i = index">\n        <ng-container\n          *ngTemplateOutlet="propertyCellTemplate; context: { property: property, isLargeFont: !i }"\n        ></ng-container>\n      </ng-container>\n      <div *ngIf="product.lastUsedDate" class="product-card__param">\n        <app-product-cards-cell\n          [title]="\'text.productList.lastOrderingDate\' | cxTranslate"\n          [value]="(getLastOrderingDate() | dateWithTimezonePipe) || (\'text.productList.notOrderedYet\' | cxTranslate)"\n        ></app-product-cards-cell>\n      </div>\n      <div class="product-card__param product-card__param-badges-price d-flex align-items-center">\n        <app-product-cards-cell\n          *ngIf="productPrice"\n          [title]="\n            \'text.productList.variantProduct.strip.\' +\n              (currentAgreement.volumeBased ? \'basePricePerPiece\' : \'pricePerPiece\') | cxTranslate: { unit: UNITS.TONS }\n          "\n          [value]="currentAgreement.priceNotFinal ? (\'text.cart.product.priceNotFinal\' | cxTranslate) : productPrice"\n          [isInline]="true"\n          [isLargeFont]="true"\n          [isPriceNotFinal]="currentAgreement.priceNotFinal"\n        ></app-product-cards-cell>\n      </div>\n    </div>\n\n    <div class="product-card__body">\n      <ng-container *ngFor="let property of productFeatures.secondaryFeatures">\n        <ng-container *ngTemplateOutlet="propertyCellTemplate; context: { property: property }"></ng-container>\n      </ng-container>\n\n      <div\n        *ngIf="schedulingLines?.length"\n        [dir]="((productFeatures.secondaryFeatures.length + 1) % 4 === 0 && breakpointIsUpSm$ | async) ? \'rtl\' : \'ltr\'"\n        class="product-card__param"\n      >\n        <ng-container *ngIf="schedulingLines.length > 1; else singleDeliveryMonthTmpl">\n          <ng-select\n            [formControl]="productParams.get(\'deliveryMonth\')"\n            [items]="schedulingLines"\n            [clearable]="false"\n            (change)="handleMonthChange($event)"\n            appendTo="body"\n            bindLabel="deliveryMonth"\n            bindValue="deliveryMonth"\n            class="ng-select-outline"\n          >\n            <ng-template ng-label-tmp let-item="item">\n              <div class="ng-select__title">\n                {{ \'text.productList.variantProduct.deliveryMonth\' | cxTranslate }}\n              </div>\n              {{ item.deliveryMonth }}\n              {{ item.deliveryYear }}\n            </ng-template>\n\n            <ng-template ng-option-tmp let-item="item">\n              <span class="ng-option-label">\n                {{ item.deliveryMonth }}\n                {{ item.deliveryYear }}\n              </span>\n            </ng-template>\n          </ng-select>\n        </ng-container>\n        <ng-template #singleDeliveryMonthTmpl>\n          <app-product-cards-cell\n            [title]="\'text.productList.variantProduct.deliveryMonth\' | cxTranslate"\n            [value]="productParams.get(\'deliveryMonth\').value"\n          ></app-product-cards-cell>\n        </ng-template>\n      </div>\n\n      <div *ngIf="schedulingLines?.length" class="product-card__param product-card__param-calendar">\n        <app-product-card-calendar\n          [label]="\'text.productList.variantProduct.desiredDeliveryDate\' | cxTranslate"\n          [defaultMonth]="datepickerOptions.defaultMonth ? datepickerOptions.defaultMonth : undefined"\n          [disableUntil]="datepickerOptions.disableUntil"\n          [disableWeekdays]="datepickerOptions.disableWeekdays"\n          [selectedDay]="datepickerOptions.preselectedDay"\n          (dateChanged)="handleDesiredShipmentDateChange($event)"\n        ></app-product-card-calendar>\n      </div>\n\n      <div *ngIf="schedulingLines?.length" class="product-card__param">\n        <app-product-cards-cell\n          [title]="\'text.productList.variantProduct.dueDate\' | cxTranslate"\n          [value]="dueDate | dateWithTimezonePipe"\n        ></app-product-cards-cell>\n      </div>\n\n      <div *ngIf="schedulingLines?.length" class="product-card__param">\n        <app-product-cards-cell\n          [title]="\'text.productList.variantProduct.remainingTonnage\' | cxTranslate"\n          [value]="remainingTonnage + \' t\'"\n        ></app-product-cards-cell>\n      </div>\n\n      <div *ngIf="schedulingLines?.length" class="product-card__param">\n        <app-product-cards-cell\n          [title]="\'text.productList.variantProduct.initialVolume\' | cxTranslate"\n          [value]="initialVolume + \' t\'"\n        ></app-product-cards-cell>\n      </div>\n    </div>\n\n    <div\n      *ngIf="productFeatures?.restFeatures.length || productFeatures?.thirdlyFeatures.length"\n      class="product-card__controls d-flex"\n    >\n      <div class="product-card__controls-item">\n        <span\n          [class.product-card__control--open]="isCharOpen"\n          (click)="toggleProductCharacteristics()"\n          class="product-card__control"\n        >\n          {{ \'button.characteristics\' | cxTranslate }}\n          <svg-icon-sprite\n            [src]="isCharOpen ? \'expand_less\' : \'expand_more\'"\n            width="16"\n            height="16"\n            class="product-card__icon"\n          ></svg-icon-sprite>\n        </span>\n      </div>\n    </div>\n\n    <div\n      *ngIf="productFeatures?.restFeatures.length || productFeatures?.thirdlyFeatures.length"\n      class="product-card__characteristic"\n    >\n      <div\n        [class.is-open]="isCharOpen"\n        class="product-card__characteristic-block product-card__characteristic-block--additional"\n      >\n        <ng-container\n          *ngTemplateOutlet="restFeatures; context: { features: productFeatures.thirdlyFeatures }"\n        ></ng-container>\n        <ng-container\n          *ngTemplateOutlet="restFeatures; context: { features: productFeatures.restFeatures }"\n        ></ng-container>\n      </div>\n      <ng-template #restFeatures let-features="features">\n        <ng-container *ngFor="let feature of features; let last = last">\n          <ng-container *ngIf="feature.name && feature.featureValues && feature.featureValues[0]?.value">\n            <ng-container *ngTemplateOutlet="propertyCellTemplate; context: { property: feature }"></ng-container>\n          </ng-container>\n        </ng-container>\n      </ng-template>\n    </div>\n\n    <div class="product-card__footer">\n      <div class="product-card__param">\n        <app-product-cards-cell\n          [title]="\'text.cart.product.unitOfOrder\' | cxTranslate"\n          [value]="\'placeholder.\' + productUnits.unit | cxTranslate"\n        ></app-product-cards-cell>\n      </div>\n\n      <div *ngIf="productUnits && productParams" class="product-card__param">\n        <div\n          [ngbTooltip]="amountError"\n          placement="bottom auto"\n          triggers="manual"\n          class="d-inline-block"\n          #amountTooltip="ngbTooltip"\n        >\n          <input\n            [formControl]="productParams.get(\'quantity\')"\n            [maskito]="productUnits.unit === UNITS.PIECES ? piecesMask : tonsMask"\n            placeholder="{{ \'placeholder.\' + productParams.get(\'units\').value | cxTranslate }}"\n            type="text"\n            class="product-card__input-amount"\n            #quantityEl\n          />\n        </div>\n        <ng-template #amountError>\n          <div class="error-base-color d-flex align-items-center">\n            <svg-icon-sprite src="error" width="16" height="16" class="error-base-color mr-7"></svg-icon-sprite>\n            <ng-container *ngIf="quantityAdded !== null">\n              {{ \'text.productList.variantProduct.error.maxAvailableStock\' | cxTranslate }}:\n              {{ quantityAdded | massConversion }} t\n            </ng-container>\n          </div>\n          <cx-form-errors [control]="productParams.get(\'quantity\')"></cx-form-errors>\n        </ng-template>\n      </div>\n      <div class="product-card__param product-card__param-actions">\n        <app-product-cards-add-to-cart-button\n          [isDisabled]="isOutOfDateRange || isOutOfStock"\n          [isNoTonnage]="!remainingTonnage"\n          [productParams]="productParams"\n          [product]="product"\n          [quantityEl]="quantityEl"\n          [pageId]="pageId"\n          (addToCartError)="handleAddToCartError($event)"\n        ></app-product-cards-add-to-cart-button>\n      </div>\n    </div>\n  </div>\n\n  <div *ngIf="inProcess" class="loader-in-process">\n    <app-loader size="36px"></app-loader>\n  </div>\n</ng-container>\n\n<ng-template #propertyCellTemplate let-property="property" let-isLargeFont="isLargeFont">\n  <div class="product-card__param">\n    <app-product-cards-cell\n      *ngIf="property?.featureValues?.length"\n      [title]="property?.name"\n      [value]="\n        property?.featureValues[0]?.value\n          | changePropertyValue: { code: property.code, dimension: dimension, diameter: diameter }\n      "\n      [isLargeFont]="isLargeFont"\n    ></app-product-cards-cell>\n  </div>\n</ng-template>\n',styles:[Hb()]})],Yr);var Wb=i(80611),Kb=i.n(Wb);let rd=class extends us{constructor(e,t,s,o,l,u,h,_,C,T){super(e,t,s,o,l,u,h,_,C,T),this.breakpointService=e,this.changeDetection=t,this.fb=s,this.globalMessageService=o,this.offsetTopUtils=l,this.productCardsService=u,this.agreementFacetService=h,this.globalCurrencyService=_,this.currencyService=C,this.routingService=T,this.featureRegExps=Ne.MY_CATALOGUE.QUOTE.STRIP.BASE}ngOnInit(){super.init()}ngOnDestroy(){super.ngOnDestroy()}static#e=this.ctorParameters=()=>[{type:v.dci},{type:n.gRc},{type:m.ze},{type:p.S8D},{type:zt},{type:Be},{type:Ee},{type:Vt},{type:p.PnO},{type:p.Oie}]};rd=(0,r.Cg)([(0,n.uAl)({selector:"app-my-catalogue-quote-product-card-base-strip",template:'<ng-container *ngIf="classification && productFeatures">\n  <div #productContainer [class.is-open]="variantProducts?.length" class="product-card">\n    <div class="product-card__header">\n      <div\n        *ngFor="let property of productFeatures.mainFeatures; let i = index; let first = first"\n        class="product-card__param"\n      >\n        <ng-container\n          *ngTemplateOutlet="propertyCellTemplate; context: { property: property, isLargeFont: first }"\n        ></ng-container>\n      </div>\n    </div>\n\n    <div class="product-card__body product-card__body--no-shadow">\n      <ng-container *ngFor="let property of productFeatures.secondaryFeatures">\n        <div class="product-card__param">\n          <ng-container *ngTemplateOutlet="propertyCellTemplate; context: { property: property }"></ng-container>\n        </div>\n      </ng-container>\n\n      <div class="product-card__param product-card__param-actions">\n        <button\n          (click)="updateActiveProduct()"\n          [class.is-active]="variantProducts"\n          [disabled]="isSelectOptionsDisabled"\n          class="btn btn--sm btn-secondary"\n        >\n          <svg-icon-sprite src="create" width="18" height="18" class="btn-icon"></svg-icon-sprite>\n          {{\n            variantProducts?.length ? (\'button.options.hide\' | cxTranslate) : (\'button.options.select\' | cxTranslate)\n          }}\n        </button>\n      </div>\n    </div>\n  </div>\n\n  <scrollbar\n    *ngIf="variantProducts?.length"\n    [style.max-height.px]="variantProductsContainerMaxHeight"\n    class="product-card__variant-products"\n  >\n    <div #variantProductsContainerRef>\n      <app-my-catalogue-quote-product-card-variant-strip\n        *ngFor="let variantProduct of variantProducts"\n        [pageId]="pageId"\n        [product]="variantProduct"\n        class="product-card-wrapper"\n      ></app-my-catalogue-quote-product-card-variant-strip>\n\n      <div *ngIf="variantProductsPagination.totalPages > 1" class="d-flex justify-content-center pb-20">\n        <button\n          (click)="loadMoreVariantProducts()"\n          [disabled]="isLoadingMoreProducts || variantProductsCurrentPage >= variantProductsPagination.totalPages - 1"\n          class="btn btn-sm btn-secondary p-relative ml-auto"\n        >\n          {{ \'button.loadMore\' | cxTranslate }}\n          <div *ngIf="isLoadingMoreProducts" class="loader-in-process">\n            <app-loader size="24px"></app-loader>\n          </div>\n        </button>\n\n        <div class="product-card__variant-products-page ml-auto align-self-center">\n          {{\n            \'text.productList.itemOfItems\'\n              | cxTranslate: { items: variantProducts?.length, totalItems: variantProductsPagination.totalResults }\n          }}\n        </div>\n      </div>\n    </div>\n  </scrollbar>\n\n  <div *ngIf="inProcess" class="loader-in-process">\n    <app-loader size="36px"></app-loader>\n  </div>\n</ng-container>\n\n<ng-template #propertyCellTemplate let-property="property" let-isLargeFont="isLargeFont">\n  <ng-container *ngIf="getFacetValues(property); else textPropertyTemplate">\n    <ng-container\n      *ngTemplateOutlet="propertySelectTemplate; context: { facet: getFacetValues(property) }"\n    ></ng-container>\n  </ng-container>\n  <ng-template #textPropertyTemplate>\n    <app-product-cards-cell\n      *ngIf="property?.featureValues?.length"\n      [title]="property?.name"\n      [value]="property?.featureValues[0]?.value"\n      [isLargeFont]="isLargeFont"\n    ></app-product-cards-cell>\n  </ng-template>\n</ng-template>\n\n<ng-template #propertySelectTemplate let-facet="facet">\n  <div class="product-card__filter">\n    <app-select\n      *ngIf="facet"\n      bindLabel="name"\n      [controlData]="variantFilter.get(facet.name)"\n      [placeholderValues]="true"\n      [type]="selectTypes.FLAT"\n      [clearable]="false"\n      [placeholder]="facet.name"\n      [items]="sortFacet(facet.values)"\n    ></app-select>\n  </div>\n</ng-template>\n',styles:[Kb()]})],rd);var Zb=i(36739),Jb=i.n(Zb);let od=class extends cn{constructor(e,t,s,o,l){super(e,t,s,o),this.changeDetection=e,this.fb=t,this.globalMessageService=s,this.productCardsService=o,this.translatePipe=l,this.inProcess=!1,this.UNITS_OF_ORDER=[{label:this.translatePipe.transform("placeholder.ton"),code:G.KG},{label:this.translatePipe.transform("placeholder.pieces"),code:G.PIECES}]}ngOnInit(){this.featureRegExps=Ne.MY_CATALOGUE.QUOTE.STRIP[this.product?.classType===Zt_CLASS_TYPE?Se_VARIANT__PREPAINTED:Se_VARIANT],super.init()}initProductParams(){this.productParams=this.fb.group({units:[G.KG],quantity:[null,[m.k0.required]]})}getLastOrderingDate(){return this.product.lastUsedDate&&"Not ordered yet"!==this.product.lastUsedDate?this.product.lastUsedDate:null}static#e=this.ctorParameters=()=>[{type:n.gRc},{type:m.ze},{type:p.S8D},{type:Be},{type:p.D97}];static#t=this.propDecorators={pageId:[{type:n.pde}],product:[{type:n.pde}]}};od=(0,r.Cg)([(0,n.uAl)({selector:"app-my-catalogue-quote-product-card-variant-strip",template:'<ng-container *ngIf="productFeatures">\n  <div class="product-card product-card--variant product-card--variant-strip product-card--variant-quotation">\n    <div class="product-card__header">\n      <ng-container *ngFor="let property of productFeatures.mainFeatures; let i = index;">\n        <ng-container *ngTemplateOutlet="propertyCellTemplate; context: {property: property, isLargeFont: !i}"></ng-container>\n      </ng-container>\n    </div>\n\n\n    <div class="product-card__body">\n      <ng-container *ngFor="let property of productFeatures.secondaryFeatures">\n        <ng-container *ngTemplateOutlet="propertyCellTemplate; context: {property: property}"></ng-container>\n      </ng-container>\n      <div *ngIf="product.lastUsedDate" class="product-card__param">\n        <app-product-cards-cell\n          [title]="\'text.productList.lastOrderingDate\' | cxTranslate"\n          [value]="(getLastOrderingDate() | dateWithTimezonePipe) || (\'text.productList.notOrderedYet\' | cxTranslate)"\n        ></app-product-cards-cell>\n      </div>\n    </div>\n\n    <div\n      *ngIf="productFeatures?.restFeatures.length || productFeatures?.thirdlyFeatures.length"\n      class="product-card__controls d-flex">\n      <div class="product-card__controls-item">\n      <span\n        [class.product-card__control--open]="isCharOpen"\n        (click)="toggleProductCharacteristics()"\n        class="product-card__control"\n      >\n        {{ \'button.characteristics\' | cxTranslate }}\n        <svg-icon-sprite\n          [src]="isCharOpen ? \'expand_less\' : \'expand_more\'"\n          width="16"\n          height="16"\n          class="product-card__icon"\n        ></svg-icon-sprite>\n      </span>\n      </div>\n    </div>\n\n    <div\n      *ngIf="productFeatures?.restFeatures.length || productFeatures?.thirdlyFeatures.length"\n      class="product-card__characteristic">\n      <div\n        [class.is-open]="isCharOpen"\n        class="product-card__characteristic-block product-card__characteristic-block--additional"\n      >\n        <ng-container *ngTemplateOutlet="restFeatures; context: { features: productFeatures.thirdlyFeatures }"></ng-container>\n        <ng-container *ngTemplateOutlet="restFeatures; context: { features: productFeatures.restFeatures }"></ng-container>\n      </div>\n      <ng-template #restFeatures let-features="features">\n        <ng-container *ngFor="let feature of features; let last = last">\n          <ng-container *ngIf="feature.name && feature.featureValues && feature.featureValues[0]?.value">\n            <ng-container *ngTemplateOutlet="propertyCellTemplate; context: {property: feature}"></ng-container>\n          </ng-container>\n        </ng-container>\n      </ng-template>\n    </div>\n\n    <div class="product-card__footer">\n    <div class="product-card__param">\n        <ng-select\n          [formControl]="productParams.get(\'units\')"\n          [items]="UNITS_OF_ORDER"\n          [clearable]="false"\n          appendTo="body"\n          bindLabel="label"\n          bindValue="code"\n          class="ng-select-outline"\n        >\n          <ng-template ng-label-tmp let-item="item">\n            <div class="ng-select__title">\n              {{\'text.cart.product.unitOfOrder\' | cxTranslate}}\n            </div>\n            {{ item.label }}\n          </ng-template>\n        </ng-select>\n      </div>\n\n      <div\n        *ngIf="productUnits && productParams"\n        class="product-card__param"\n      >\n        <div\n          [ngbTooltip]="amountError"\n          placement="bottom auto"\n          triggers="manual"\n          class="d-inline-block"\n          #amountTooltip="ngbTooltip"\n        >\n          <input\n            [formControl]="productParams.get(\'quantity\')"\n            [maskito]="productUnits.unit === UNITS.PIECES ? piecesMask : tonsMask"\n            placeholder="{{ \'placeholder.\' + productParams.get(\'units\').value | cxTranslate }}"\n            type="text"\n            class="product-card__input-amount"\n            #quantityEl\n          >\n        </div>\n        <ng-template #amountError>\n          <div class="error-base-color d-flex align-items-center">\n            <svg-icon-sprite\n              src="error"\n              width="16"\n              height="16"\n              class="error-base-color mr-7"\n            ></svg-icon-sprite>\n            <ng-container *ngIf="quantityAdded !== null">\n              {{ \'text.productList.variantProduct.error.maxAvailableStock\' | cxTranslate }}: {{ quantityAdded | massConversion }} t\n            </ng-container>\n          </div>\n          <cx-form-errors [control]="productParams.get(\'quantity\')"></cx-form-errors>\n        </ng-template>\n      </div>\n      <div class="product-card__param product-card__param-actions">\n        <app-product-cards-add-to-cart-button\n          [productParams]="productParams"\n          [product]="product"\n          [quotation]="true"\n          [quantityEl]="quantityEl"\n          [pageId]="pageId"\n          (addToCartError)="handleAddToCartError($event)"\n        ></app-product-cards-add-to-cart-button>\n      </div>\n    </div>\n  </div>\n\n  <div *ngIf="inProcess" class="loader-in-process">\n    <app-loader size="36px"></app-loader>\n  </div>\n</ng-container>\n\n\n<ng-template #propertyCellTemplate let-property="property" let-isLargeFont="isLargeFont">\n  <div class="product-card__param">\n    <app-product-cards-cell\n      *ngIf="property?.featureValues?.length"\n      [title]="property?.name"\n      [value]="property?.featureValues[0]?.value | changePropertyValue: { code:property.code, dimension: dimension, diameter: diameter }"\n      [isLargeFont]="isLargeFont"\n    ></app-product-cards-cell>\n  </div>\n</ng-template>\n',styles:[Jb()]})],od);var ty=i(5589),ny=i.n(ty);let Qr=class{constructor(e){this.cmsService=e,this.pageId$=this.cmsService.getCurrentPage().pipe((0,B.p)(Boolean),(0,fe.E)("pageId")),this.PAGES_ID=q}ngOnInit(){}static#e=this.ctorParameters=()=>[{type:p.xYq}]};Qr=(0,r.Cg)([(0,n.uAl)({selector:"app-product-cards",template:'<ng-container *ngIf="pageId$ | async as pageId">\n\n  <ng-container [ngSwitch]="pageId">\n    <ng-container *ngSwitchCase="PAGES_ID.PRODUCT_LIST">\n      <app-product-listing\n        [pageId]="pageId"\n      ></app-product-listing>\n    </ng-container>\n\n    <ng-container *ngSwitchCase="PAGES_ID.CATALOG_QUOTE">\n      <app-my-catalogue\n        [pageId]="pageId"\n      ></app-my-catalogue>\n    </ng-container>\n\n    <ng-container *ngSwitchCase="PAGES_ID.CATALOG_ORDER">\n      <app-my-catalogue\n        [pageId]="pageId"\n      ></app-my-catalogue>\n    </ng-container>\n\n    <ng-container *ngSwitchDefault>\n      No relevant component available\n    </ng-container>\n  </ng-container>\n\n\n</ng-container>\n',styles:[ny()]})],Qr);var iy=i(95157),ry=i.n(iy);let ad=class extends us{constructor(e,t,s,o,l,u,h,_,C,T,D,F){super(e,t,s,o,l,u,_,C,T,h),this.breakpointService=e,this.changeDetection=t,this.fb=s,this.globalMessageService=o,this.offsetTopUtils=l,this.productCardsService=u,this.routingService=h,this.agreementFacetService=_,this.globalCurrencyService=C,this.currencyService=T,this.router=D,this.route=F,this.showRegistrationPopup=new n.bkB,this.isOptionsOpen=!1}ngOnInit(){this.featureRegExps=this.isStockPage?Ne.PRODUCT_LIST.PLATE.MTS.BASE:Ne.PRODUCT_LIST.PLATE.MTO.BASE,super.init()}ngOnDestroy(){super.ngOnDestroy()}openConfiguratorPage(){const e=Ye(this.product,f.steelGrade),t=this.route.snapshot.url[this.route.snapshot.url.length-1]?.path,s={code:this.product.classType,categoryCode:t||"",productCode:this.product.code||""};e&&(s.steelGrade=e),this.router.navigate([E.CONFIGURATOR.CONFIGURE_PLATE],{queryParams:s})}static#e=this.ctorParameters=()=>[{type:v.dci},{type:n.gRc},{type:m.ze},{type:p.S8D},{type:zt},{type:Be},{type:p.Oie},{type:Ee},{type:Vt},{type:p.PnO},{type:y.Ix},{type:y.nX}];static#t=this.propDecorators={isUserLoggedIn:[{type:n.pde}],isStockPage:[{type:n.pde}],showRegistrationPopup:[{type:n.k7i}]}};ad=(0,r.Cg)([(0,n.uAl)({selector:"app-product-listing-product-card-base-plate",template:'<ng-container *ngIf="classification && productFeatures">\n  <div\n    #productContainer\n    [class.is-open]="variantProducts?.length"\n    [class.is-stock]="isStockPage"\n    [class.is-order]="!isStockPage"\n    class="product-card"\n  >\n    <div class="product-card__header">\n      <ng-container *ngFor="let property of productFeatures.mainFeatures; let i = index;">\n        <div class="product-card__param">\n          <ng-container *ngTemplateOutlet="propertyCellTemplate; context: {property: property, isLargeFont: !i}"></ng-container>\n        </div>\n      </ng-container>\n    </div>\n\n    <div class="product-card__body product-card__body--no-shadow">\n      <ng-container *ngFor="let property of productFeatures.secondaryFeatures">\n        <div class="product-card__param">\n          <ng-container *ngTemplateOutlet="propertyCellTemplate; context: {property: property}"></ng-container>\n        </div>\n      </ng-container>\n\n      <div class="product-card__param product-card__param-actions">\n        <ng-container *ngTemplateOutlet="isUserLoggedIn ? controlsLoggedInTemplate : controlsGuestTemplate"></ng-container>\n      </div>\n    </div>\n  </div>\n\n  <scrollbar\n    *ngIf="variantProducts?.length"\n    [style.max-height.px]="variantProductsContainerMaxHeight"\n    class="product-card__variant-products"\n  >\n    <div #variantProductsContainerRef>\n      <app-product-listing-product-card-variant-plate\n        *ngFor="let variantProduct of variantProducts"\n        [product]="variantProduct"\n        class="product-card-wrapper"\n      ></app-product-listing-product-card-variant-plate>\n\n      <div\n        *ngIf="variantProductsPagination.totalPages > 1"\n        class="d-flex justify-content-center pb-20"\n      >\n        <button\n          (click)="loadMoreVariantProducts()"\n          [disabled]="isLoadingMoreProducts || (variantProductsCurrentPage >= variantProductsPagination.totalPages - 1)"\n          class="btn btn-sm btn-secondary p-relative ml-auto"\n        >\n          {{ \'button.loadMore\' | cxTranslate }}\n          <div\n            *ngIf="isLoadingMoreProducts"\n            class="loader-in-process"\n          >\n            <app-loader size="24px"></app-loader>\n          </div>\n        </button>\n\n        <div class="product-card__variant-products-page ml-auto align-self-center">\n          {{ \'text.productList.itemOfItems\' | cxTranslate : { items: variantProducts?.length, totalItems: variantProductsPagination.totalResults } }}\n        </div>\n      </div>\n    </div>\n  </scrollbar>\n\n  <div *ngIf="inProcess" class="loader-in-process">\n    <app-loader size="36px"></app-loader>\n  </div>\n</ng-container>\n\n\n<ng-template #propertyCellTemplate let-property="property" let-isLargeFont="isLargeFont">\n  <ng-container *ngIf="getFacetValues(property); else textPropertyTemplate">\n    <ng-container *ngTemplateOutlet="propertySelectTemplate; context: { facet: getFacetValues(property) }"></ng-container>\n  </ng-container>\n  <ng-template #textPropertyTemplate>\n    <app-product-cards-cell\n      *ngIf="property?.featureValues?.length"\n      [title]="property?.name"\n      [value]="property?.featureValues[0]?.value"\n      [isLargeFont]="isLargeFont"\n    ></app-product-cards-cell>\n  </ng-template>\n</ng-template>\n\n\n<ng-template #propertySelectTemplate let-facet="facet">\n  <div class="product-card__filter">\n    <app-select\n      *ngIf="facet"\n      bindLabel="name"\n      [controlData]="variantFilter.get(facet.name)"\n      [placeholderValues]="true"\n      [type]="selectTypes.FLAT"\n      [clearable]="false"\n      [placeholder]="facet.name"\n      [items]="sortFacet(facet.values)"\n    ></app-select>\n  </div>\n</ng-template>\n\n\n<ng-template #controlsGuestTemplate>\n  <button\n    (click)="showRegistrationPopup.emit()"\n    class="btn btn--sm btn-secondary flex-xs-fill"\n  >\n    {{ \'button.getPrice\' | cxTranslate }}\n  </button>\n</ng-template>\n\n\n<ng-template #controlsLoggedInTemplate>\n  <ng-container *ngIf="isStockPage">\n    <ng-container *ngTemplateOutlet="stockPageControlsTemplate"></ng-container>\n  </ng-container>\n  <ng-container *ngIf="!isStockPage">\n    <ng-container *ngTemplateOutlet="orderPageControlsTemplate"></ng-container>\n  </ng-container>\n</ng-template>\n\n<ng-template #stockPageControlsTemplate>\n  <button\n    (click)="updateActiveProduct()"\n    [class.is-active]="variantProducts"\n    [disabled]="isSelectOptionsDisabled"\n    class="btn btn--sm btn-secondary ml-sm-1 btn-block"\n  >\n    {{ variantProducts?.length ? (\'button.options.hide\' | cxTranslate) : (\'button.options.select\' | cxTranslate) }}\n  </button>\n</ng-template>\n\n\n<ng-template #orderPageControlsTemplate>\n  <button\n    (click)="openConfiguratorPage()"\n    class="btn btn--sm btn-secondary btn-block"\n  >\n    {{\'button.quotation\' | cxTranslate}}\n  </button>\n</ng-template>\n\n',styles:[ry()]})],ad);var ay=i(44277),cy=i.n(ay);let cd=class extends us{constructor(e,t,s,o,l,u,h,_,C,T){super(e,t,s,o,l,u,h,_,C,T),this.breakpointService=e,this.changeDetection=t,this.fb=s,this.globalMessageService=o,this.offsetTopUtils=l,this.productCardsService=u,this.agreementFacetService=h,this.globalCurrencyService=_,this.currencyService=C,this.routingService=T,this.showAddToMyCatalogForm=new n.bkB,this.showRegistrationPopup=new n.bkB,this.isOptionsOpen=!1,this.matrixSourceData=null}ngOnInit(){this.featureRegExps=this.isStockPage?Ne.PRODUCT_LIST.STRIP.MTS.BASE:Ne.PRODUCT_LIST.STRIP.MTO.BASE,super.init()}ngOnDestroy(){super.ngOnDestroy()}getProductMatrixData(){this.isOptionsOpen=!this.isOptionsOpen,this.isOptionsOpen&&this.productCardsService.getProductMatrix(this.product?.code).pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.matrixSourceData=e,this.changeDetection.detectChanges()})}static#e=this.ctorParameters=()=>[{type:v.dci},{type:n.gRc},{type:m.ze},{type:p.S8D},{type:zt},{type:Be},{type:Ee},{type:Vt},{type:p.PnO},{type:p.Oie}];static#t=this.propDecorators={isUserLoggedIn:[{type:n.pde}],isStockPage:[{type:n.pde}],showAddToMyCatalogForm:[{type:n.k7i}],showRegistrationPopup:[{type:n.k7i}]}};cd=(0,r.Cg)([(0,n.uAl)({selector:"app-product-listing-product-card-base-strip",template:'<ng-container *ngIf="classification && productFeatures">\n  <div\n    #productContainer\n    [class.is-open]="variantProducts?.length"\n    [class.is-logged-in]="isUserLoggedIn"\n    [class.is-stock]="isStockPage"\n    [class.is-order]="!isStockPage"\n    class="product-card"\n  >\n    <div class="product-card__header">\n      <ng-container *ngFor="let property of productFeatures.mainFeatures; let i = index;">\n        <div class="product-card__param">\n          <ng-container *ngTemplateOutlet="propertyCellTemplate; context: {property: property, isLargeFont: !i}"></ng-container>\n        </div>\n      </ng-container>\n    </div>\n\n    <div class="product-card__body product-card__body--no-shadow">\n      <ng-container *ngFor="let property of productFeatures.secondaryFeatures">\n        <div class="product-card__param">\n          <ng-container *ngTemplateOutlet="propertyCellTemplate; context: {property: property}"></ng-container>\n        </div>\n      </ng-container>\n\n      <div\n        [class.flex-column]="isUserLoggedIn"\n        [class.flex-sm-row]="isUserLoggedIn"\n        class="product-card__param product-card__param-actions d-flex"\n      >\n        <ng-container *ngTemplateOutlet="isUserLoggedIn ? controlsLoggedInTemplate : controlsGuestTemplate"></ng-container>\n      </div>\n    </div>\n\n    <div\n      *ngIf="isOptionsOpen"\n      class="product-card__param-matrix"\n    >\n      <scrollbar class="product-card__matrix-scrollbar">\n        <div class="product-card__matrix-wrapper">\n          <ng-container *ngIf="matrixSourceData; else matrixLoading">\n            <app-product-cards-matrix\n              class="product-card__matrix"\n              [data]="matrixSourceData"\n            ></app-product-cards-matrix>\n          </ng-container>\n          <ng-template #matrixLoading>\n            <div class="loader-in-process">\n              <app-loader size="36px"></app-loader>\n            </div>\n          </ng-template>\n        </div>\n      </scrollbar>\n    </div>\n  </div>\n\n  <scrollbar\n    *ngIf="variantProducts?.length"\n    [style.max-height.px]="variantProductsContainerMaxHeight"\n    class="product-card__variant-products"\n  >\n    <div #variantProductsContainerRef>\n      <app-product-listing-product-card-variant-strip\n        *ngFor="let variantProduct of variantProducts"\n        [isStockPage]="isStockPage"\n        [product]="variantProduct"\n        class="product-card-wrapper"\n      ></app-product-listing-product-card-variant-strip>\n\n      <div\n        *ngIf="variantProductsPagination.totalPages > 1"\n        class="d-flex justify-content-center pb-20"\n      >\n        <button\n          (click)="loadMoreVariantProducts()"\n          [disabled]="isLoadingMoreProducts || (variantProductsCurrentPage >= variantProductsPagination.totalPages - 1)"\n          class="btn btn-sm btn-secondary p-relative ml-auto"\n        >\n          {{ \'button.loadMore\' | cxTranslate }}\n          <div\n            *ngIf="isLoadingMoreProducts"\n            class="loader-in-process"\n          >\n            <app-loader size="24px"></app-loader>\n          </div>\n        </button>\n\n        <div class="product-card__variant-products-page ml-auto align-self-center">\n          {{ \'text.productList.itemOfItems\' | cxTranslate : { items: variantProducts?.length, totalItems: variantProductsPagination.totalResults } }}\n        </div>\n      </div>\n    </div>\n  </scrollbar>\n\n  <div *ngIf="inProcess" class="loader-in-process">\n    <app-loader size="36px"></app-loader>\n  </div>\n</ng-container>\n\n\n<ng-template #propertyCellTemplate let-property="property" let-isLargeFont="isLargeFont">\n  <ng-container *ngIf="getFacetValues(property); else textPropertyTemplate">\n    <ng-container *ngTemplateOutlet="propertySelectTemplate; context: { facet: getFacetValues(property) }"></ng-container>\n  </ng-container>\n  <ng-template #textPropertyTemplate>\n    <app-product-cards-cell\n      *ngIf="property?.featureValues?.length"\n      [title]="property?.name"\n      [value]="property?.featureValues[0]?.value"\n      [isLargeFont]="isLargeFont"\n    ></app-product-cards-cell>\n  </ng-template>\n</ng-template>\n\n\n<ng-template #propertySelectTemplate let-facet="facet">\n  <div class="product-card__filter">\n    <app-select\n      *ngIf="facet"\n      bindLabel="name"\n\n      [placeholderValues]="true"\n      [items]="sortFacet(facet.values)"\n      [placeholder]="facet.name"\n      [type]="selectTypes.FLAT"\n      [clearable]="false"\n      [controlData]="variantFilter.get(facet.name)"\n\n    ></app-select>\n  </div>\n</ng-template>\n\n\n<ng-template #controlsGuestTemplate>\n  <ng-container *ngTemplateOutlet="getMatrixButtonTemplate"></ng-container>\n  <button\n    (click)="showRegistrationPopup.emit()"\n    class="btn btn--sm btn-secondary ml-2 flex-fill"\n  >\n    {{ \'button.getPrice\' | cxTranslate }}\n  </button>\n</ng-template>\n\n\n<ng-template #controlsLoggedInTemplate>\n  <ng-container *ngIf="isStockPage">\n    <ng-container *ngTemplateOutlet="stockPageControlsTemplate"></ng-container>\n  </ng-container>\n  <ng-container *ngIf="!isStockPage">\n    <ng-container *ngTemplateOutlet="orderPageControlsTemplate"></ng-container>\n  </ng-container>\n</ng-template>\n\n\n<ng-template #stockPageControlsTemplate>\n  <button\n    data-cy\n    data="open-variant-cards-button"\n    (click)="updateActiveProduct()"\n    [class.is-active]="variantProducts"\n    [disabled]="isSelectOptionsDisabled"\n    class="btn btn--sm btn-secondary"\n  >\n    <svg-icon-sprite\n      src="create"\n      width="18"\n      height="18"\n      class="btn-icon"\n    ></svg-icon-sprite>\n    {{ variantProducts?.length ? (\'button.options.hide\' | cxTranslate) : (\'button.options.select\' | cxTranslate) }}\n  </button>\n</ng-template>\n\n\n<ng-template #orderPageControlsTemplate>\n  <ng-container *ngTemplateOutlet="getMatrixButtonTemplate"></ng-container>\n  <button\n    (click)="showAddToMyCatalogForm.emit(product)"\n    class="btn btn--sm btn-default mt-10 mt-sm-0 ml-sm-2 flex-fill"\n  >\n    <svg-icon-sprite\n      src="arrow_forward"\n      width="18"\n      height="18"\n      class="btn-icon"\n    ></svg-icon-sprite>\n    {{\'button.addToMyCatalogue\' | cxTranslate}}\n  </button>\n</ng-template>\n\n\n<ng-template #getMatrixButtonTemplate>\n  <button\n    (click)="getProductMatrixData()"\n    [class.is-active]="isOptionsOpen"\n    class="btn btn--sm btn-secondary flex-fill"\n  >\n    <svg-icon-sprite\n      [src]="isOptionsOpen ? \'invisible\': \'remove_red_eye\'"\n      width="16"\n      height="16"\n      class="btn-icon"\n    ></svg-icon-sprite>\n    {{ \'button.dimensions\' | cxTranslate }}\n  </button>\n</ng-template>\n\n',styles:[cy()]})],cd);var dy=i(69103),py=i.n(dy);let ld=class extends cn{constructor(e,t,s,o,l,u){super(e,t,s,o),this.changeDetection=e,this.fb=t,this.globalMessageService=s,this.productCardsService=o,this.calculatedVolumePipe=l,this.breakpointService=u,this.featureRegExps=Ne.PRODUCT_LIST.PLATE.MTS.VARIANT,this.futureStocks=null,this.productAmount=null,this.units=[{unit:this.UNITS.KG},{unit:this.UNITS.PIECES}],this.isIncorrectWeight=!1,this.breakpointIsUpSm$=this.breakpointService.isUp(v.SLZ.sm)}ngOnInit(){this.prepareFutureStocks(this.product.futureStocks),super.init(),this.initProductAmount(),this.swapValueOnSwapUnit()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete(),super.ngOnDestroy()}initProductUnits(){this.productUnits={unit:this.UNITS.KG}}initProductParams(){this.productParams=this.fb.group({stock:[null],preparedStocks:[null],units:[this.productUnits.unit],quantity:[null,[m.k0.required]]}),this.productParams.get("units").valueChanges.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.productUnits={unit:this.UNITS[e.toUpperCase()]},this.setProductAmount({units:e}),this.changeDetection.detectChanges()}),this.productParams.get("preparedStocks").valueChanges.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{e&&(this.setStock(e),this.setProductAmount({preparedStock:e}),this.changeDetection.detectChanges())})}initProductPrice(){this.productPrice=this.product.volumePrices?.find(e=>e.unit===this.UNITS.KG)?.formattedValue||null}initProductAmount(){this.productParams.get("preparedStocks").setValue(this.futureStocks[0])}setStock(e){if(!e)return;const t=this.productUnits.unit;this.productParams.get("stock").setValue(e[t])}prepareFutureStocks(e){const t=[];for(const s of e){const o=s.warehouseCode,l=s.unit===G.KG?G.PIECES:G.KG,u=t.find(h=>h[l]?.warehouseCode===o);u?u[s.unit]=s:t.push({[s.unit]:s})}this.futureStocks=t}setProductAmount(e){const t=e.units?e.units:this.productUnits.unit,s=e.preparedStock?e.preparedStock[t.toLowerCase()]:this.productParams.get("preparedStocks").value[t];this.productAmount=t===this.UNITS.PIECES?s?.stock?.stockLevel+" pcs.":we(+s?.stock?.stockLevel)+" t"}getWarehouseName(e){return e[this.productUnits.unit].warehouseName}swapValueOnSwapUnit(){!this.weightOfItem||!this.product.recalculatedInWeight||this.productParams.get("units").valueChanges.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.productParams.get("quantity").patchValue(this.calculatedVolumePipe.transform(this.productParams.get("quantity").value,{unit:e===G.KG?G.PIECES:G.KG,weightOfItem:this.weightOfItem})?.split(" ")[0]),this.changeDetection.detectChanges()})}onChangeQuantity(){this.weightOfItem&&this.productParams.get("units").value===G.KG&&this.productParams.get("quantity").value?(this.isIncorrectWeight=+this.productParams.get("quantity").value<+(this.weightOfItem/1e3).toFixed(3),this.isIncorrectWeight&&this.amountTooltip.open()):this.isIncorrectWeight=!1}static#e=this.ctorParameters=()=>[{type:n.gRc},{type:m.ze},{type:p.S8D},{type:Be},{type:fn},{type:v.dci}]};ld=(0,r.Cg)([(0,n.uAl)({selector:"app-product-listing-product-card-variant-plate",template:'<ng-container *ngIf="productFeatures">\n  <div class="product-card product-card--variant product-card--variant-plate product-card--variant-order">\n\n    <div class="product-card__header">\n      <ng-container *ngFor="let property of productFeatures.mainFeatures; let i = index;">\n        <div class="product-card__param">\n          <ng-container\n            *ngTemplateOutlet="propertyCellTemplate; context: {property: property, isLargeFont: !i}"\n          ></ng-container>\n        </div>\n      </ng-container>\n\n      <div\n        *ngIf="productPrice"\n        class="product-card__param product-card__param-badges-price d-flex align-items-center"\n      >\n        <app-product-cards-cell\n          [title]="\'text.productList.variantProduct.strip.pricePerPiece\' | cxTranslate: { unit: UNITS.TONS }"\n          [value]="productPrice"\n          [isInline]="true"\n          [isLargeFont]="true"\n        ></app-product-cards-cell>\n      </div>\n    </div>\n\n    <div class="product-card__body">\n      <ng-container\n        *ngTemplateOutlet="featureListTemplate; context: {properties: productFeatures.secondaryFeatures}"\n      ></ng-container>\n\n      <div\n        *ngIf="productParams.get(\'units\').value"\n        class="product-card__param"\n        [dir]="((productFeatures.secondaryFeatures.length + 1) % 4 === 0 && breakpointIsUpSm$ | async) ? \'rtl\' : \'ltr\'"\n      >\n        <ng-container *ngIf="futureStocks?.length > 1; else singleStock">\n          <ng-select\n            class="ng-select-outline"\n            appendTo="body"\n            [formControl]="productParams.get(\'preparedStocks\')"\n            [items]="futureStocks"\n            [clearable]="false"\n          >\n            <ng-template ng-option-tmp let-item="item">\n              <span class="ng-option-label">{{ getWarehouseName(item) }}</span>\n            </ng-template>\n\n            <ng-template ng-label-tmp let-item="item">\n              <div class="ng-select__title">\n                {{\'text.productList.variantProduct.plate.storageLocation\' | cxTranslate}}\n              </div>\n\n              {{ getWarehouseName(item) }}\n            </ng-template>\n          </ng-select>\n        </ng-container>\n\n        <ng-template #singleStock>\n          <app-product-cards-cell\n            *ngIf="productParams.get(\'preparedStocks\').value"\n            [title]="\'text.productList.variantProduct.plate.storageLocation\' | cxTranslate"\n            [value]="productParams.get(\'preparedStocks\').value[productUnits.unit]?.warehouseName"\n          ></app-product-cards-cell>\n        </ng-template>\n      </div>\n\n      <ng-template let-properties="properties" #featureListTemplate>\n        <div\n          *ngFor="let property of properties"\n          class="product-card__param"\n        >\n          <ng-container *ngTemplateOutlet="propertyCellTemplate; context: {property: property}"></ng-container>\n        </div>\n      </ng-template>\n    </div>\n\n    <div\n      *ngIf="productFeatures?.restFeatures.length || productFeatures?.thirdlyFeatures.length"\n      class="product-card__controls d-flex"\n    >\n      <div class="product-card__controls-item">\n      <span\n        class="product-card__control"\n        [class.product-card__control--open]="isCharOpen"\n        (click)="toggleProductCharacteristics()"\n      >\n        {{ \'button.characteristics\' | cxTranslate }}\n\n        <svg-icon-sprite\n          [src]="isCharOpen ? \'expand_less\' : \'expand_more\'"\n          width="16"\n          height="16"\n          class="product-card__icon"\n        ></svg-icon-sprite>\n      </span>\n      </div>\n    </div>\n\n    <div\n      *ngIf="productFeatures?.restFeatures.length || productFeatures?.thirdlyFeatures.length"\n      class="product-card__characteristic">\n      <div\n        [class.is-open]="isCharOpen"\n        class="product-card__characteristic-block product-card__characteristic-block--additional"\n      >\n        <ng-container\n          *ngTemplateOutlet="restFeatures; context: { features: productFeatures.thirdlyFeatures }"\n        ></ng-container>\n\n        <ng-container\n          *ngTemplateOutlet="restFeatures; context: { features: productFeatures.restFeatures }"\n        ></ng-container>\n      </div>\n\n      <ng-template #restFeatures let-features="features">\n        <ng-container *ngFor="let feature of features; let last = last">\n          <ng-container *ngIf="feature.name && feature.featureValues && feature.featureValues[0]?.value">\n            <div class="product-card__param">\n              <ng-container *ngTemplateOutlet="propertyCellTemplate; context: {property: feature}"></ng-container>\n            </div>\n          </ng-container>\n        </ng-container>\n      </ng-template>\n    </div>\n\n    <div class="product-card__footer">\n      <div class="product-card__param">\n        <ng-container *ngTemplateOutlet="product.recalculatedInWeight ? multipleUnits : singleUnit"></ng-container>\n        <ng-template #multipleUnits>\n          <ng-select\n            [formControl]="productParams.get(\'units\')"\n            [items]="units"\n            [clearable]="false"\n            appendTo="body"\n            bindLabel="unit"\n            bindValue="unit"\n            class="ng-select-outline"\n          >\n            <ng-template ng-option-tmp let-item="item">\n              <span class="ng-option-label">\n                {{\'placeholder.\' + item.unit | cxTranslate}}\n              </span>\n            </ng-template>\n\n            <ng-template ng-label-tmp let-item="item">\n              <div class="ng-select__title">{{ \'text.cart.product.unitOfOrder\' | cxTranslate }}</div>\n\n              {{\'placeholder.\' + item.unit | cxTranslate}}\n            </ng-template>\n          </ng-select>\n        </ng-template>\n\n        <ng-template #singleUnit>\n          <app-product-cards-cell\n            [title]="\'text.cart.product.unitOfOrder\' | cxTranslate"\n            [value]="\'placeholder.\' + productUnits.unit | cxTranslate"\n          ></app-product-cards-cell>\n        </ng-template>\n      </div>\n\n      <div\n        *ngIf="productUnits && productParams"\n        class="product-card__param"\n      >\n        <div\n          [ngbTooltip]="amountError"\n          tooltipClass="tooltip--card"\n          placement="bottom auto"\n          triggers="manual"\n          class="product-card__input-amount-wrapper d-inline-block"\n          #amountTooltip="ngbTooltip"\n        >\n          <input\n            [formControl]="productParams.get(\'quantity\')"\n            [maskito]="productUnits.unit === UNITS.PIECES ? piecesMask : tonsMask"\n            (focusout)="onChangeQuantity()"\n            placeholder="{{ \'placeholder.\' + productParams.get(\'units\').value | cxTranslate }}"\n            type="text"\n            class="product-card__input-amount"\n            #quantityEl\n          >\n        </div>\n\n        <ng-template #amountError>\n          <div class="error-base-color d-flex align-items-center product-card__tooltip">\n            <svg-icon-sprite\n              src="error"\n              width="16"\n              height="16"\n              class="error-base-color mr-7"\n            ></svg-icon-sprite>\n\n            <div class="d-flex flex-column">\n              <div *ngIf="quantityAdded !== null">\n                {{ \'text.productList.variantProduct.error.maxAvailableStock\' | cxTranslate }}:\n                {{ productUnits.unit === UNITS.PIECES ? quantityAdded + \' pieces\': (quantityAdded | massConversion) + \' t\' }}\n                <br/>\n              </div>\n              <div *ngIf="isIncorrectWeight" class="product-card__tooltip-text">\n                {{ \'text.productList.variantProduct.error.incorrectWeight\' | cxTranslate }}\n              </div>\n            </div>\n          </div>\n\n          <cx-form-errors [control]="productParams.get(\'quantity\')"></cx-form-errors>\n        </ng-template>\n      </div>\n\n      <div class="product-card__param" *ngIf="weightOfItem">\n        <app-product-cards-cell\n          [title]="\'text.cart.product.calculated\' | cxTranslate : {unit: (productParams.get(\'units\').value === UNITS.KG ? \'text.cart.product.pieces\' : \'text.cart.product.tonnage\') | cxTranslate }"\n          [value]="productParams.get(\'quantity\').value | calculatedVolume : {unit: productParams.get(\'units\').value, weightOfItem: weightOfItem}"\n        ></app-product-cards-cell>\n      </div>\n\n      <div class="product-card__param product-card__param-actions">\n        <app-product-cards-add-to-cart-button\n          [isDisabled]="isOutOfStock || isIncorrectWeight"\n          [productParams]="productParams"\n          [product]="product"\n          [quantityEl]="quantityEl"\n          (addToCartError)="handleAddToCartError($event)"\n        ></app-product-cards-add-to-cart-button>\n      </div>\n    </div>\n  </div>\n\n  <div *ngIf="inProcess" class="loader-in-process">\n    <app-loader size="36px"></app-loader>\n  </div>\n</ng-container>\n\n<ng-template #propertyCellTemplate let-property="property" let-isLargeFont="isLargeFont">\n  <app-product-cards-cell\n    *ngIf="property?.featureValues?.length"\n    [title]="property?.name"\n    [value]="property?.featureValues[0]?.value | changePropertyValue: { code:property.code, dimension: dimension, diameter: diameter }"\n    [isLargeFont]="isLargeFont"\n  ></app-product-cards-cell>\n</ng-template>\n',styles:[py()]})],ld);var hy=i(28095),gy=i.n(hy);let dd=class extends cn{constructor(e,t,s,o,l){super(e,t,s,o),this.changeDetection=e,this.fb=t,this.globalMessageService=s,this.productCardsService=o,this.cartService=l,this.PROPERTY_NAME=Rm,this.isInCartAlready$=this.cartService.getCart().pipe((0,w.T)(u=>u.rootGroups.find(h=>"ORDER"===h.groupType)?.children.find(h=>"Strip"===h.label)?.children.find(h=>"STOCK"===h.label)?.orderEntries.some(h=>h.product.code===this.product.code)),(0,x.Q)(this.destroyed$))}ngOnInit(){this.featureRegExps=Ne.PRODUCT_LIST.STRIP[this.isStockPage?Ke.MTS.toUpperCase():Ke.MTO.toUpperCase()][this.product?.classType===Zt_CLASS_TYPE?Se_VARIANT__PREPAINTED:Se_VARIANT],super.init()}initProductParams(){this.productParams=this.fb.group({units:[this.productUnits.unit],quantity:[we(this.getStockLevel())]})}static#e=this.ctorParameters=()=>[{type:n.gRc},{type:m.ze},{type:p.S8D},{type:Be},{type:ye}];static#t=this.propDecorators={isStockPage:[{type:n.pde}]}};dd=(0,r.Cg)([(0,n.uAl)({selector:"app-product-listing-product-card-variant-strip",template:'<ng-container *ngIf="productFeatures">\n  <div class="product-card product-card--variant product-card--variant-strip product-card--variant-order">\n\n    <div class="product-card__header">\n      <ng-container *ngFor="let property of productFeatures.mainFeatures; let i = index;">\n        <div class="product-card__param">\n          <ng-container *ngTemplateOutlet="propertyCellTemplate; context: {property: property, isLargeFont: !i}"></ng-container>\n        </div>\n      </ng-container>\n\n      <div class="product-card__param product-card__param-badges-price d-flex align-items-center">\n        <app-product-cards-cell\n          [title]="\'text.productList.variantProduct.strip.pricePerPiece\' | cxTranslate: { unit: UNITS.TONS }"\n          [value]="productPrice"\n          [isInline]="true"\n          [isLargeFont]="true"\n        ></app-product-cards-cell>\n      </div>\n    </div>\n\n\n    <div class="product-card__body">\n      <ng-container  *ngTemplateOutlet="featureListTemplate; context: {properties: productFeatures.secondaryFeatures}"></ng-container>\n\n      <div class="product-card__param">\n        <app-product-cards-cell\n          [title]="\'text.productList.variantProduct.tonnage\' | cxTranslate"\n          [value]="(getStockLevel() | massConversion) + \' t\'"\n        ></app-product-cards-cell>\n      </div>\n\n      <ng-template let-properties="properties" #featureListTemplate>\n        <div\n          *ngFor="let property of properties"\n          class="product-card__param"\n        >\n          <ng-container *ngTemplateOutlet="propertyCellTemplate; context: {property: property}"></ng-container>\n        </div>\n      </ng-template>\n    </div>\n\n    <div\n      *ngIf="productFeatures?.restFeatures.length || productFeatures?.thirdlyFeatures.length"\n      class="product-card__controls d-flex">\n      <div class="product-card__controls-item">\n      <span\n        [class.product-card__control--open]="isCharOpen"\n        (click)="toggleProductCharacteristics()"\n        class="product-card__control"\n      >\n        {{ \'button.characteristics\' | cxTranslate }}\n        <svg-icon-sprite\n          [src]="isCharOpen ? \'expand_less\' : \'expand_more\'"\n          width="16"\n          height="16"\n          class="product-card__icon"\n        ></svg-icon-sprite>\n      </span>\n      </div>\n    </div>\n\n    <div\n      *ngIf="productFeatures?.restFeatures.length || productFeatures?.thirdlyFeatures.length"\n      class="product-card__characteristic">\n      <div\n        [class.is-open]="isCharOpen"\n        class="product-card__characteristic-block product-card__characteristic-block--additional"\n      >\n        <ng-container *ngTemplateOutlet="restFeatures; context: { features: productFeatures.thirdlyFeatures }"></ng-container>\n        <ng-container *ngTemplateOutlet="restFeatures; context: { features: productFeatures.restFeatures }"></ng-container>\n        <ng-container *ngIf="product.productionDate">\n          <div class="product-card__param">\n            <app-product-cards-cell\n              [title]="\'text.cart.product.productionDate\' | cxTranslate"\n              [value]="product.productionDate | dateWithTimezonePipe"\n            ></app-product-cards-cell>\n          </div>\n        </ng-container>\n      </div>\n      <ng-template #restFeatures let-features="features">\n        <ng-container *ngFor="let feature of features; let last = last">\n          <ng-container *ngIf="feature.name && feature.featureValues && feature.featureValues[0]?.value">\n            <div class="product-card__param">\n              <ng-container *ngTemplateOutlet="propertyCellTemplate; context: {property: feature}"></ng-container>\n            </div>\n          </ng-container>\n        </ng-container>\n      </ng-template>\n    </div>\n\n    <ng-container *ngIf="isStockPage && steelDefects">\n      <div class="product-card__steel-defects d-flex flex-column flex-sm-row">\n        <div class="product-card__steel-defects-title mb-10 mb-sm-0">{{ PROPERTY_NAME.STEEL_DEFECTS }}:</div>\n        <div class="product-card__steel-defects-desc">\n          <ul class="steel-defects-list">\n            <li\n              *ngFor="let steelDefect of steelDefects; let index = index"\n              class="steel-defects-list__item"\n            >\n              {{ steelDefect.value }}\n            </li>\n          </ul>\n        </div>\n      </div>\n    </ng-container>\n\n\n    <div class="product-card__footer">\n      <div class="product-card__param">\n        <app-product-cards-cell\n          [title]="\'text.cart.product.unitOfOrder\' | cxTranslate"\n          [value]="\'placeholder.\' + productUnits.unit | cxTranslate"\n        ></app-product-cards-cell>\n      </div>\n\n      <div class="product-card__param product-card__param-actions">\n        <app-product-cards-add-to-cart-button\n          data-cy\n          data="add-to-cart-button-strip"\n          [isDisabled]="isOutOfStock || (isInCartAlready$ | async) && isStockPage"\n          [productParams]="productParams"\n          [product]="product"\n          [resetQuantityAfterSuccess]="false"\n          [quantityEl]="quantityEl"\n          (addToCartError)="handleAddToCartError($event)"\n        ></app-product-cards-add-to-cart-button>\n      </div>\n    </div>\n  </div>\n\n  <div *ngIf="inProcess" class="loader-in-process">\n    <app-loader size="36px"></app-loader>\n  </div>\n</ng-container>\n\n\n<ng-template #propertyCellTemplate let-property="property" let-isLargeFont="isLargeFont">\n  <app-product-cards-cell\n    *ngIf="property?.featureValues?.length"\n    [title]="property?.name"\n    [value]="property?.featureValues[0]?.value | changePropertyValue: { code:property.code, dimension: dimension, diameter: diameter }"\n    [isLargeFont]="isLargeFont"\n  ></app-product-cards-cell>\n</ng-template>\n',styles:[gy()]})],dd);var _y=i(61123),vy=i.n(_y);let pd=class{constructor(e,t,s,o,l,u,h,_){this.authService=e,this.orderTypeService=t,this.productCardsService=s,this.productListComponentService=o,this.router=l,this.commonCurrencyService=u,this.changeDetection=h,this.productSearchService=_,this.isUserLoggedIn$=this.authService.isUserLoggedIn(),this.orderType$=this.orderTypeService.orderType$,this.FACET_NAMES=ie,this.PRODUCT_TYPE=Z,this.EMPTY_CARD_TYPES=et,this.isLoading=!0,this.model=null,this.destroyed$=new R.B}ngOnInit(){this.initRouteSub(),this.initCurrencySub(),this.initSearch()}initSearch(){this.productSearchService.getResults().pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{Object.keys(e).length>0&&(this.model=e,this.isLoading=!1,this.changeDetection.detectChanges())})}initCurrencySub(){this.commonCurrencyService.currencyEvents$.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{e.name===tr.SET_ACTIVE&&(this.isLoading=!0,this.changeDetection.detectChanges())})}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete(),this.productCardsService.destroy()}initRouteSub(){this.router.events.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{e instanceof y.wF&&(this.productSearchService.clearResults(),this.isLoading=!0,this.changeDetection.detectChanges())})}showAddToMyCatalogForm(e){this.productCardsService.showAddToMyCatalogForm(e)}showRegistrationPopup(e){this.productCardsService.showRegistrationPopup(e)}static#e=this.ctorParameters=()=>[{type:p.uRZ},{type:gt},{type:Be},{type:v.Sj3},{type:y.Ix},{type:nn},{type:n.gRc},{type:p.jWL}];static#t=this.propDecorators={pageId:[{type:n.pde}]}};pd=(0,r.Cg)([(0,n.uAl)({selector:"app-product-listing",template:'<ng-container *ngIf="!isLoading; else loader">\n  <ng-container *ngIf="orderType$ | async as orderType">\n\n      <ng-container *ngIf="model.products.length > 0; else noProducts">\n        <ng-container *ngFor="let product of model.products">\n          <ng-container *ngIf="product.productionType.toLowerCase() === PRODUCT_TYPE.STRIP.toLowerCase(); then strip; else plate"></ng-container>\n\n          <ng-template #strip>\n            <app-product-listing-product-card-base-strip\n              [currentQuery]="model.currentQuery"\n              [isUserLoggedIn]="isUserLoggedIn$ | async"\n              [isStockPage]="orderType?.facetValueCode === FACET_NAMES.STOCK"\n              [pageId]="pageId"\n              [product]="product"\n\n              (showAddToMyCatalogForm)="showAddToMyCatalogForm($event)"\n              (showRegistrationPopup)="showRegistrationPopup($event)"\n\n              class="product-card-wrapper"\n            ></app-product-listing-product-card-base-strip>\n          </ng-template>\n\n          <ng-template #plate>\n            <app-product-listing-product-card-base-plate\n              [currentQuery]="model.currentQuery"\n              [isUserLoggedIn]="isUserLoggedIn$ | async"\n              [isStockPage]="orderType?.facetValueCode === FACET_NAMES.STOCK"\n              [pageId]="pageId"\n              [product]="product"\n\n              (showRegistrationPopup)="showRegistrationPopup($event)"\n\n              class="product-card-wrapper"\n            ></app-product-listing-product-card-base-plate>\n          </ng-template>\n        </ng-container>\n\n        <cx-pagination\n          [defaultPage]="0"\n          [pagination]="model.pagination"\n          queryParam="currentPage"\n        ></cx-pagination>\n      </ng-container>\n      <ng-template #noProducts>\n        <app-cards-is-not-found\n          [text]="\'text.listing.noProducts\' | cxTranslate"\n          [buttonText]="\'button.backToHome\' | cxTranslate"\n          [type]="EMPTY_CARD_TYPES.BACK_TO_HOME"\n          icon="list_alt"\n          buttonIcon="arrow_back"\n          class="product-card-wrapper"\n        ></app-cards-is-not-found>\n      </ng-template>\n  </ng-container>\n</ng-container>\n\n\n<ng-template #loader>\n  <app-loader></app-loader>\n</ng-template>\n',styles:[vy()]})],pd);var fy=i(3075),Cy=i.n(fy);let qr=class{constructor(e,t,s){this.authService=e,this.productListComponentService=t,this.productCardsService=s,this.model$=this.productListComponentService.model$.pipe((0,z.M)(()=>{this.isLoading=!1})),this.isUserLoggedIn$=this.authService.isUserLoggedIn(),this.isLoading=!0,this.PAGES_ID=q,this.SEARCH_CATEGORY=Ae}ngOnInit(){}ngOnDestroy(){this.productCardsService.destroy()}showAddToMyCatalogForm(e){this.productCardsService.showAddToMyCatalogForm(e)}showRegistrationPopup(e){this.productCardsService.showRegistrationPopup(e)}static#e=this.ctorParameters=()=>[{type:p.uRZ},{type:v.Sj3},{type:Be}];static#t=this.propDecorators={activeTab:[{type:n.pde}]}};qr=(0,r.Cg)([(0,n.uAl)({selector:"app-search-listing",template:'<ng-container *ngIf="model$ | async as model">\n  <ng-container *ngIf="isLoading; else listing">\n    <app-loader></app-loader>\n  </ng-container>\n\n  <ng-template #listing>\n    <ng-container *ngIf="model.products.length > 0">\n      <ng-container *ngFor="let product of model.products">\n        <ng-container [ngSwitch]="activeTab">\n          <ng-container *ngSwitchCase="SEARCH_CATEGORY.STRIP_STOCK">\n            <app-product-listing-product-card-base-strip\n              [currentQuery]="model.currentQuery"\n              [isUserLoggedIn]="isUserLoggedIn$ | async"\n              [isStockPage]="true"\n              [product]="product"\n\n              (showAddToMyCatalogForm)="showAddToMyCatalogForm($event)"\n              (showRegistrationPopup)="showRegistrationPopup($event)"\n\n              class="product-card-wrapper"\n            ></app-product-listing-product-card-base-strip>\n          </ng-container>\n          <ng-container *ngSwitchCase="SEARCH_CATEGORY.STRIP_ORDER">\n            <app-product-listing-product-card-base-strip\n              [currentQuery]="model.currentQuery"\n              [isUserLoggedIn]="isUserLoggedIn$ | async"\n              [isStockPage]="false"\n              [product]="product"\n\n              (showAddToMyCatalogForm)="showAddToMyCatalogForm($event)"\n              (showRegistrationPopup)="showRegistrationPopup($event)"\n\n              class="product-card-wrapper"\n            ></app-product-listing-product-card-base-strip>\n          </ng-container>\n          <ng-container *ngSwitchCase="SEARCH_CATEGORY.STRIP_QUOTE">\n            <app-my-catalogue-quote-product-card-base-strip\n              [currentQuery]="model.currentQuery"\n              [pageId]="PAGES_ID.CATALOG_QUOTE"\n              [product]="product"\n\n              class="product-card-wrapper"\n            ></app-my-catalogue-quote-product-card-base-strip>\n          </ng-container>\n          <ng-container *ngSwitchCase="SEARCH_CATEGORY.STRIP_AGREEMENT">\n            <app-my-catalogue-order-product-card-base-strip\n              [currentQuery]="model.currentQuery"\n              [pageId]=""\n              [product]="product"\n\n              class="product-card-wrapper"\n            ></app-my-catalogue-order-product-card-base-strip>\n          </ng-container>\n          <ng-container *ngSwitchCase="SEARCH_CATEGORY.PLATE_STOCK">\n            <app-product-listing-product-card-base-plate\n              [currentQuery]="model.currentQuery"\n              [isUserLoggedIn]="isUserLoggedIn$ | async"\n              [isStockPage]="true"\n              [pageId]="PAGES_ID.PRODUCT_LIST"\n              [product]="product"\n\n              (showRegistrationPopup)="showRegistrationPopup($event)"\n\n              class="product-card-wrapper"\n            ></app-product-listing-product-card-base-plate>\n          </ng-container>\n          <ng-container *ngSwitchCase="SEARCH_CATEGORY.PLATE_ORDER">\n            <app-product-listing-product-card-base-plate\n              [currentQuery]="model.currentQuery"\n              [isUserLoggedIn]="isUserLoggedIn$ | async"\n              [pageId]="PAGES_ID.PRODUCT_LIST"\n              [product]="product"\n\n              (showRegistrationPopup)="showRegistrationPopup($event)"\n\n              class="product-card-wrapper"\n            ></app-product-listing-product-card-base-plate>\n          </ng-container>\n          <ng-container *ngSwitchCase="SEARCH_CATEGORY.PLATE_AGREEMENT">\n            <app-my-catalogue-order-product-card-base-plate\n              [currentQuery]="model.currentQuery"\n              [pageId]="PAGES_ID.CATALOG_ORDER"\n              [product]="product"\n\n              class="product-card-wrapper"\n           ></app-my-catalogue-order-product-card-base-plate>\n          </ng-container>\n        </ng-container>\n      </ng-container>\n      <cx-pagination *ngIf="model.pagination.totalPages > 1" [pagination]="model.pagination" queryParam="currentPage"></cx-pagination>\n    </ng-container>\n  </ng-template>\n</ng-container>\n',styles:[Cy()]})],qr);let ln=class{};ln=(0,r.Cg)([(0,n.UQu)({declarations:[cd,ad,ld,dd,pd,Qr,ed,Zl,zr,Gr,Xl,rd,od,sd,Yr,id,nd,Vr,qr],imports:[S.MD,p.htr.withConfig({cmsComponents:{CMSProductListComponent:{component:Qr,guards:[Jl,Y]}},pagination:{addFirst:!0,addLast:!0,addEnd:!0,addPrevious:!0,addNext:!0,rangeCount:5,startLabel:"",nextLabel:"",previousLabel:"",endLabel:""}}),y.iI,p.LP3,V.F2,ge,ce,xe,m.X1,Ft.u,Xe.n8,v.GQ,st.MQ,v.x6L,Dg.PV,be,m.YN,bn,Te],providers:[Be,zt,fn],exports:[zr,qr,Yr,Gr,Vr]})],ln);var ot,ud,yy=i(91524),Sy=i.n(yy);!function(a){a.STEEL_GRADE="steel_grade",a.PRODUCT_STANDARD="product_standard",a.SURFACE_QUALITY="surface_quality",a.GALVA_CLASS="galva-class",a.TEST_CERTIFICATE_TYPE="test-certificate-type"}(ot||(ot={})),function(a){a[a.SPOT=1]="SPOT",a[a.MONTHLY=2]="MONTHLY"}(ud||(ud={}));let Hr=class{constructor(e){this.facetService=e,this.facetList$=this.facetService.facetList$,this.facetToHide=[ie.AGREEMENT,ie.ALL_CATEGORIES,ie.CATEGORIES,ie.IN_STOCK,ie.ORDER_TYPE,ie.PRODUCT_TYPE,ie.VALID_PRODUCTS]}customGetLinkParam(e){return e.includes(ot.STEEL_GRADE)||e.includes(ot.PRODUCT_STANDARD)||e.includes(ot.SURFACE_QUALITY)||e.includes(ot.GALVA_CLASS)||e.includes(ot.TEST_CERTIFICATE_TYPE)?{query:(new U.XM).decodeValue(e.replace(/\+/g,"\u0210")).replace(/\u0210/g," ")}:{query:(new U.XM).decodeValue(e).replace(/\+/g," ")}}getLinkParams(e){return this.customGetLinkParam(e.removeQuery?.query?.value)}getFocusKey(e,t){return e.facets?.find(s=>s.values?.find(o=>o.name===t.facetValueName))?"":t.facetValueName}ngOnInit(){}static#e=this.ctorParameters=()=>[{type:v.rOA}]};Hr=(0,r.Cg)([(0,n.uAl)({selector:"app-active-facets",template:'<ng-container *ngIf="facetList$ | async as facetList">\n  <div\n    *ngIf="facetList?.activeFacets?.length > 0"\n    class="active-facets"\n  >\n    <ng-container *ngFor="let facet of facetList?.activeFacets">\n    <a\n      *ngIf="!facetToHide.includes(facet.facetCode)"\n      [queryParams]="getLinkParams(facet)"\n      [cxFocus]="getFocusKey(facetList, facet)"\n      routerLink="./"\n      class="active-facets__item"\n    >\n      <span class="active-facets__title">\n        {{ facet.facetValueName }}\n        <img src="assets/icons/close_blue.svg" alt="" class="not-hover">\n        <img src="assets/icons/cancel-chips.svg" alt="" class="hover">\n      </span>\n\n    </a>\n    </ng-container>\n  </div>\n</ng-container>\n',changeDetection:n.Ngq.Default,styles:[Sy()]})],Hr);let hd=class{};hd=(0,r.Cg)([(0,n.UQu)({imports:[S.MD,y.iI,p.LP3,v.sNY],declarations:[Hr],exports:[Hr]})],hd);var Ey=i(19437),Ry=i.n(Ey);let Yt=class{constructor(e,t,s,o){this.occEndpointsService=e,this.http=t,this.routingService=s,this.productSearchService=o,this.currentCategoryCode$=new P.t(null),this.currentCategories$=new P.t(null),this.currentState$=this.routingService.getPageContext(),this.categories$=this.getCategory(),this.marketingLink$=this.getMarketingLink(),this.coldRolledFullHardCode="103"}currentCategoryCodeSnapshot(){return this.currentCategoryCode$.value}getCategory(){return this.currentState$.pipe((0,k.n)(e=>e.type===p.g6_.CATEGORY_PAGE?(this.currentCategoryCode$.next(e.id),this.http.get(this.getUrl(e.id)).pipe((0,w.T)(t=>(t=t.filter(s=>s.code!==this.coldRolledFullHardCode),this.currentCategories$.next({context:e,list:t}),{list:t,context:e})))):(0,$.of)(null)))}getUrl(e){return this.occEndpointsService.buildUrl(`${E.CATEGORIES.CLOSEST}/${e}`)}getMarketingLink(){return this.currentState$.pipe((0,k.n)(e=>e.type===p.g6_.CATEGORY_PAGE?this.http.get(this.getMarketingUrl(e.id)):(0,$.of)(null)))}getMarketingUrl(e){return this.occEndpointsService.buildUrl(E.CATEGORIES.MARKETING,{urlParams:{categoryCode:e}})}static#e=this.ctorParameters=()=>[{type:p.zxz},{type:U.Qq},{type:p.Oie},{type:p.jWL}]};Yt=(0,r.Cg)([(0,n._qm)()],Yt);let Dn=class{constructor(e,t,s,o,l,u,h,_,C,T,D,F){this.productSearchService=e,this.authService=t,this.userIdService=s,this.routing=o,this.activatedRoute=l,this.currencyService=u,this.agreementFacetService=h,this.languageService=_,this.router=C,this.http=T,this.occEndpointsService=D,this.cmsService=F,this.defaultPageSize=10,this.searchResults$=this.productSearchService.getResults().pipe((0,B.p)(K=>Object.keys(K).length>0)),this.searchByRouting$=(0,Ce.z)([this.routing.getRouterState().pipe((0,We.F)((K,ne)=>K.state.url===ne.state.url)),this.authService.isUserLoggedIn(),...this.siteContext]).pipe((0,B.p)(Boolean),(0,w.T)(([K,ne,...he])=>{const tt=K.state;if(tt.queryParams.query){const jt=tt.queryParams.query.includes(`${ie.ORDER_TYPE}:${ie.STOCK}`);if(!ne&&jt)return this.router.navigate(["/"]),!1}return tt}),(0,k.n)(K=>K?(0,Ce.z)([(0,$.of)(K),this.cmsService.getCurrentPage().pipe((0,oe.s)(1))]):(0,$.of)()),(0,z.M)(K=>{const[ne,he]=K,tt=[q.PRODUCT_LIST,q.CATALOG_QUOTE,q.CATALOG_ORDER,q.SEARCH];if((q.CATALOG_ORDER!==he?.pageId||ne.queryParams)&&he&&tt.includes(he.pageId)){const jt=this.getCriteriaFromRoute(ne.params,ne.queryParams,ne.context);he.pageId===q.PRODUCT_LIST&&ne?.queryParams?.query?.includes(Gn.ORDER_TYPE_STOCK)&&(jt.query+=xn.IN_STOCK),he.pageId===q.SEARCH&&(ne?.queryParams?.query?.includes(Gn.PRODUCTION_TYPE_PLATE_STOCK)||ne?.queryParams?.query?.includes(Gn.PRODUCTION_TYPE_PLATE_ORDER))&&(jt.query+=xn.IN_STOCK);const gF=[M.CATALOG.QUOTE,M.CATALOG.ORDER].includes(ne.context.id)?ne.context.id:null;this.userIdService.getUserId().subscribe(mF=>{this.search(jt,mF,gF,he)})}})),this.model$=(0,Ce.z)([this.searchResults$,this.searchByRouting$]).pipe((0,fe.E)(0),(0,zn.t)({bufferSize:1,refCount:!0}))}getCriteriaFromRoute(e,t,s){return{query:t.query||this.getQueryFromRouteParams({...e,pageId:s.id}),pageSize:t.pageSize||this.defaultPageSize,currentPage:t.currentPage,sortCode:t.sortCode,context:s}}getQueryFromRouteParams({query:e,categoryCode:t,brandCode:s,pageId:o}){if(e)return e;if(t)return`${ee_RELEVANCE_ALL_CATEGORIES}:${t}${ee_ORDER_TYPE}${ee_ORDER}`;if(s)return`${ee_RELEVANCE_ALL_CATEGORIES}${ee_BRAND_CODE}`;if(o&&o===M.CATALOG.ORDER){const l=this.agreementFacetService.currentAgreement$.value,u=l?.volumeBased?`${ee_CATEGORIES}:${l.category.code}`:l?.agreementProducts?.map(h=>`${ee_CODE}:${h.product}`).join("")||"";return l?ee_RELEVANCE+u:ee_RELEVANCE}return o&&o===M.CATALOG.QUOTE?ee_RELEVANCE:void 0}search(e,t,s,o){const l=e.currentPage,u=e.pageSize,h=e.sortCode;this.productSearchService.search(e.query,Object.assign({},l&&{currentPage:l},u&&{pageSize:u},h&&{sortCode:h},s&&{catalogType:s},{page:o},{currentUser:t}))}route(e){this.router.navigate([],{queryParams:e,queryParamsHandling:"merge",relativeTo:this.activatedRoute})}get siteContext(){return[this.languageService.getActive(),this.currencyService.getActive()]}setQuery(e){this.route({query:e,currentPage:void 0})}static#e=this.ctorParameters=()=>[{type:p.jWL},{type:p.uRZ},{type:p.y9w},{type:p.Oie},{type:y.nX},{type:p.PnO},{type:Ee},{type:p.gwd},{type:y.Ix},{type:U.Qq},{type:p.zxz},{type:p.xYq}]};Dn=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],Dn);let gd=class{constructor(e){this.store=e}search(e,t){this.store.dispatch(new p.Rxp.SearchProducts({queryText:e,searchConfig:t}))}getResults(){return this.store.pipe((0,Je.Lt)(p.gox.getSearchResults))}clearResults(){this.store.dispatch(new p.Rxp.ClearProductSearchResult({clearPageResults:!0}))}static#e=this.ctorParameters=()=>[{type:Je.il}]};gd=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],gd);let jr=class{constructor(e,t){this.agreementFacetService=e,this.customProductListComponentService=t,this.isSearch=!1,this.agreementChange=new n.bkB,this.currentAgreementViewInit=new n.bkB,this.UNITS=G,this.currentDate=Date.now(),this.isVisible=!0,this.CONTRACT_LENGTH_CODE=ud}ngOnInit(){}ngAfterViewInit(){this.agreement.code===this.currentAgreement?.code&&this.currentAgreementViewInit.emit()}onClick(e){if("INPUT"===e.target.tagName)return;if(this.agreement.code===this.currentAgreement.code)return void(this.isVisible=!this.isVisible);const t=this.agreementFacetService.selectAgreement(this.agreement,this.isSearch?this.queryBase:null);this.customProductListComponentService.setQuery(t),this.agreementChange.emit()}getMonth(e){return e.agreementProducts?e.agreementProducts[0]?.schedulingLines[0]?.deliveryMonth:""}static#e=this.ctorParameters=()=>[{type:Ee},{type:Dn}];static#t=this.propDecorators={agreement:[{type:n.pde}],count:[{type:n.pde}],isVolumeBasedTab:[{type:n.pde}],searchValue:[{type:n.pde}],currentAgreement:[{type:n.pde}],isSearch:[{type:n.pde}],queryBase:[{type:n.pde}],agreementChange:[{type:n.k7i}],currentAgreementViewInit:[{type:n.k7i}]}};jr=(0,r.Cg)([(0,n.uAl)({selector:"app-agreement-facet-item",template:'<ng-container *ngIf="!!isVolumeBasedTab === !!agreement.volumeBased">\n  <ng-container\n    *ngIf="agreement.code.toLowerCase().includes(searchValue.toLowerCase())"\n  >\n    <div\n      *ngIf="(agreement.endDate | dateTsPipe) >= currentDate"\n      [class.is-open]="agreement.code === currentAgreement?.code && isVisible"\n      [id]="agreement.code"\n      class="contract"\n    >\n      <label class="contract__radio-group radio-group">\n        <div (click)="onClick($event)" class="contract__info">\n          <div class="contract__head">\n            <input\n              type="radio"\n              name="agreement"\n              [value]="agreement.code"\n              [checked]="agreement.code === currentAgreement?.code"\n            />\n            <div class="radio-group__label">\n              <div class="contract__title">{{ agreement.category?.name }}</div>\n              <div class="contract__sub-title">\n                {{\n                  +agreement.contractLength.code ===\n                  CONTRACT_LENGTH_CODE.MONTHLY\n                    ? getMonth(agreement)\n                    : agreement.contractLength.name\n                }}\n                {{ \'text.facetNavigation.agreementFacet.name\' | cxTranslate }}\n                {{ agreement.endDate | dateWithTimezonePipe: \'y\' }} ({{\n                  agreement.code\n                }})\n              </div>\n            </div>\n            <img\n              src="/assets/icons/expand_dark.svg"\n              alt=""\n              class="contract__toggle-icon"\n            />\n          </div>\n        </div>\n      </label>\n      <div\n        *ngIf="agreement.code === currentAgreement?.code && isVisible"\n        class="contract__desc"\n      >\n        <ul>\n          <li class="contract__desc-item" *ngIf="agreement.initialVolume">\n            <span class="contract__desc-item--title">\n              {{\n                \'text.facetNavigation.agreementFacet.item.initialVolume\'\n                  | cxTranslate\n              }}:\n            </span>\n            {{ agreement.initialVolume | massConversion }} t\n          </li>\n          <li class="contract__desc-item">\n            <span class="contract__desc-item--title">\n              {{\n                \'text.facetNavigation.agreementFacet.item.remainingTonnage\'\n                  | cxTranslate\n              }}:\n            </span>\n            {{ agreement.remainingTonnage | massConversion: 0 }} t\n          </li>\n          <li class="contract__desc-item" *ngIf="agreement.lastDateToOrder">\n            <span class="contract__desc-item--title">\n              {{\n              \'text.facetNavigation.agreementFacet.item.lastDateToOrder\'\n                      | cxTranslate\n              }}:\n            </span>\n            {{ agreement.lastDateToOrder | dateWithTimezonePipe }}\n          </li>\n          <li class="contract__desc-item" *ngIf="agreement.currency">\n            <span class="contract__desc-item--title">\n              {{\n                \'text.facetNavigation.agreementFacet.item.currency\'\n                  | cxTranslate\n              }}:\n            </span>\n            {{ agreement.currency.symbol }} {{ agreement.currency.name }}\n          </li>\n          <li class="contract__desc-item">\n            <span class="contract__desc-item--title">\n              {{\n                \'text.facetNavigation.agreementFacet.item.period\' | cxTranslate\n              }}:\n            </span>\n            {{ agreement.startDate | dateWithTimezonePipe }} -\n            {{ agreement.endDate | dateWithTimezonePipe }}\n          </li>\n          <li class="contract__desc-item">\n            <span class="contract__desc-item--title">\n              {{\n                \'text.facetNavigation.agreementFacet.item.paymentTerms\'\n                  | cxTranslate\n              }}:\n            </span>\n            <span class="contract__desc-item--value">{{\n              agreement?.paymentTerms?.paymentMode?.name\n            }}</span>\n          </li>\n          <li\n            *ngIf="agreement?.paymentTerms?.priceGroup?.name"\n            class="contract__desc-item"\n          >\n            <span class="contract__desc-item--title">\n              {{\n                \'text.facetNavigation.agreementFacet.item.priceGroup\'\n                  | cxTranslate\n              }}:\n            </span>\n            <span class="contract__desc-item--value">{{\n              agreement.paymentTerms.priceGroup.name\n            }}</span>\n          </li>\n          <li class="contract__desc-item">\n            <span class="contract__desc-item--title">\n              {{\n                \'text.facetNavigation.agreementFacet.item.incoterms\'\n                  | cxTranslate\n              }}:\n            </span>\n            <span class="contract__desc-item--value">{{\n              agreement?.paymentTerms?.incotermMode?.name\n            }}</span>\n          </li>\n          <li class="contract__desc-item">\n            <span class="contract__desc-item--title">\n              {{\n                \'text.facetNavigation.agreementFacet.item.transportationMode\'\n                  | cxTranslate\n              }}:\n            </span>\n            <span class="contract__desc-item--value">{{\n              agreement?.paymentTerms?.deliveryMode?.name\n            }}</span>\n          </li>\n          <li\n            *ngIf="![undefined, null].includes(agreement?.volumeToSpecify)"\n            class="contract__desc-item"\n          >\n            <span class="contract__desc-item--title">\n              {{\n                \'text.facetNavigation.agreementFacet.item.volumeToSpecify\'\n                  | cxTranslate\n              }}:\n            </span>\n            <span class="contract__desc-item--value"\n              >{{ agreement?.volumeToSpecify | massConversion }} t</span\n            >\n          </li>\n        </ul>\n      </div>\n    </div>\n  </ng-container>\n</ng-container>\n',styles:[Ry()]})],jr);var Ay=i(30548),Iy=i.n(Ay);class Wr{constructor(e,t){this.changeDetection=e,this.breakpointService=t,this.destroy$=new R.B,this.desktopSizes=[v.SLZ.xl,v.SLZ.lg]}initBreakpointSub(){this.breakpointService.breakpoint$.pipe((0,x.Q)(this.destroy$)).subscribe(e=>{this.isOpened=this.desktopSizes.includes(e),this.changeDetection.detectChanges()})}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}}let Kr=class extends Wr{constructor(e,t,s,o,l,u){super(s,t),this.document=e,this.breakpointService=t,this.changeDetection=s,this.agreementFacetService=o,this.translatePipe=l,this.customProductListComponentService=u,this.agreements$=this.agreementFacetService.getData(),this.isOpened=!1,this.isVolumeBasedTab=!1,this.search=new m.hs(""),this.currentAgreement=null,this.destroyed$=new R.B}ngOnInit(){super.initBreakpointSub(),this.initAgreementSub(),this.setQuery()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete(),super.ngOnDestroy(),this.agreementFacetService.ngOnDestroy()}initAgreementSub(){this.agreementFacetService.currentAgreement$.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{e&&(this.isVolumeBasedTab=!!e?.volumeBased,this.currentAgreement=e,this.changeDetection.detectChanges())})}setQuery(){this.agreementFacetService.currentAgreement$.pipe((0,B.p)(Boolean),(0,me.$)(),(0,x.Q)(this.destroyed$)).subscribe(e=>{const t=this.agreementFacetService.selectAgreement(e);this.customProductListComponentService.setQuery(t)})}currentAgreementViewInit(){setTimeout(()=>{const e=this.agreementsContainer.nativeElement.getBoundingClientRect().top,s=this.document.getElementById(this.currentAgreement.code).getBoundingClientRect().top;this.agreementsContainer.nativeElement.scrollTo({top:s-e,behavior:"smooth"})},300)}toggle(){this.isOpened=!this.isOpened}resetSearch(){this.search.setValue("")}getTabs(e){const t=!!e.find(o=>o.volumeBased),s=!!e.find(o=>!o.volumeBased);return[{name:this.translatePipe.transform("text.facetNavigation.agreementFacet.tabs.volumeBased"),code:!0,disabled:!t},{name:this.translatePipe.transform("text.facetNavigation.agreementFacet.tabs.sku"),code:!1,disabled:!s}]}onValueChange(e,t){if(!!e==!!this.isVolumeBasedTab)return;const s=t.find(l=>!!l.volumeBased==!!e);if(!s)return void console.error(`No agreement, that suitable by value: ${e}`);const o=this.agreementFacetService.selectAgreement(s);this.customProductListComponentService.setQuery(o),setTimeout(()=>{this.agreementsContainer.nativeElement.scrollTo({top:0,behavior:"smooth"})},300)}static#e=this.ctorParameters=()=>[{type:Document,decorators:[{type:n.y_5,args:[S.qQ]}]},{type:v.dci},{type:n.gRc},{type:Ee},{type:p.D97},{type:Dn}];static#t=this.propDecorators={agreementsContainer:[{type:n.Uct,args:["agreementsContainer",{read:n.aKT}]}]}};Kr=(0,r.Cg)([(0,n.uAl)({selector:"app-agreement-facet",template:'<ng-container *ngIf="(agreements$ | async) as agreements">\n  <ng-container *ngIf="agreements.length > 0; else noAgreements">\n    <div\n      [class.contracts--hidden]="isOpened"\n      class="contracts"\n    >\n      <h4 class="contracts__sub-title">\n        {{ \'text.facetNavigation.agreementFacet.title\' | cxTranslate }}\n      </h4>\n\n      <div class="contracts__content">\n        <div\n          class="contracts__head">\n          <div\n            (click)="toggle()"\n            class="contracts__title d-flex align-items-center"\n          >\n            {{ \'text.facetNavigation.agreementFacet.myContracts\' | cxTranslate }}\n\n            <div class="contracts__toggle-icons">\n              <svg-icon-sprite\n                width="24px"\n                height="24px"\n                src="expand_more"\n                class="contracts__expand-icon"\n              ></svg-icon-sprite>\n              <svg-icon-sprite\n                width="24px"\n                height="24px"\n                src="close"\n                class="contracts__close-icon"\n              ></svg-icon-sprite>\n              <svg-icon-sprite\n                width="24px"\n                height="24px"\n                src="description"\n                class="contracts__description-icon"\n              ></svg-icon-sprite>\n            </div>\n          </div>\n        </div>\n        <div\n          *ngIf="isOpened"\n          class="contracts__body">\n          <div class="contracts__tabs">\n            <app-tabs-radio\n              [items]="getTabs(agreements)"\n              (selectedItemChange)="onValueChange($event, agreements)"\n              [(selectedItem)]="isVolumeBasedTab"\n              bindProperty="code"\n              showProperty="name"\n              size="small"\n              class="w-100"\n            ></app-tabs-radio>\n          </div>\n          <div class="contracts__search">\n            <svg-icon-sprite\n              class="contracts__search--icon"\n              src="search"\n              width="18"\n              height="18"\n            ></svg-icon-sprite>\n            <app-input\n              type="number"\n              [label]="\'placeholder.search\' | cxTranslate"\n              [controlData]="search"\n              [showIcon]="false"\n            ></app-input>\n            <svg-icon-sprite\n              *ngIf="search.value"\n              class="contracts__search--reset"\n              src="close"\n              width="18"\n              height="18"\n              (click)="resetSearch()"\n            ></svg-icon-sprite>\n          </div>\n\n          <scrollbar\n            *ngIf="currentAgreement"\n            class="contracts__agreements"\n            #agreementsContainer\n          >\n            <app-agreement-facet-item\n              *ngFor="let agreement of agreements; let count = index"\n              [currentAgreement]="currentAgreement"\n              [agreement]="agreement"\n              [count]="count"\n              [isVolumeBasedTab]="isVolumeBasedTab"\n              [searchValue]="search.value"\n\n              (agreementChange)="resetSearch()"\n              (currentAgreementViewInit)="currentAgreementViewInit()"\n            ></app-agreement-facet-item>\n          </scrollbar>\n        </div>\n      </div>\n    </div>\n  </ng-container>\n</ng-container>\n\n<ng-template #noAgreements>\n  <div class="contracts">\n    <h4 class="contracts__sub-title">{{ \'text.facetNavigation.agreementFacet.title\' | cxTranslate }}</h4>\n    <div class="contracts__content contracts__content--disabled">\n      <div class="contracts__head contracts__head--disabled">\n        <div class="contracts__title d-flex align-items-center">\n          {{ \'text.facetNavigation.agreementFacet.myContracts\' | cxTranslate }}\n          <div class="contracts__toggle-icons">\n            <svg-icon-sprite width="24px" height="24px" src="expand_more" class="contracts__expand-icon"></svg-icon-sprite>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</ng-template>\n',styles:[Iy()]})],Kr);var Py=i(70760),Dy=i.n(Py);class Bg extends p._3U{}let md=class{constructor(e,t){this.eventService=e,this.productSearchService=t}trackFilterChange(e,t){(0,Ce.z)([this.productSearchService.getResults().pipe((0,oe.s)(1))]).pipe((0,oe.s)(1)).subscribe(([s])=>{if(Object.keys(s).length>0){const o=[];[Z.STRIP,Z.PLATE].forEach(u=>{s.products?.some(_=>_?.productionType===u)&&o.push(u.toLowerCase())});const l={event:ae.SHOP_FILTER,filter_category:o.length>0?o.join(" | "):"",filter_subcategory:e,filter_name:t};this.eventService.register(Bg,(0,$.of)(l))}})}static#e=this.ctorParameters=()=>[{type:p.USV},{type:p.jWL}]};md=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],md);let Xr=class{set facet(e){this._facet=e,this.isMultiSelect=!!e.multiSelect,this.state$=this.facetService.getState(e)}get facet(){return this._facet}constructor(e,t,s,o){this.documentRef=e,this.facetService=t,this.elementRef=s,this.facetTrackingService=o,this.isCollapsed=!1,this.CheckboxTypesEnum=le}ngOnInit(){this.increaseVisibleValues()}toggleGroup(e){const t=this.elementRef.nativeElement;this.isCollapsed=!this.isCollapsed,this.isCollapsed||(t.focus(),e.stopPropagation())}openLink(e){e.target.click(),e.preventDefault()}increaseVisibleValues(){this.facetService.increaseVisibleValues(this.facet)}getLinkParams(e){const t=e.query?.query.value;return t.includes(ot.STEEL_GRADE)||t.includes(ot.PRODUCT_STANDARD)||t.includes(ot.SURFACE_QUALITY)||t.includes(ot.GALVA_CLASS)||t.includes(ot.TEST_CERTIFICATE_TYPE)?{query:(new U.XM).decodeValue(t.replace(/\+/g,"\u0210")).replace(/\u0210/g," ")}:{query:(new U.XM).decodeValue(t).replace(/\+/g," ")}}trackSelectFacet(e,t){t?.selected||this.facetTrackingService.trackFilterChange(e.name,t.name)}static#e=this.ctorParameters=()=>[{type:Document,decorators:[{type:n.y_5,args:[S.qQ]}]},{type:v.rOA},{type:n.aKT},{type:md}];static#t=this.propDecorators={isMultiSelect:[{type:n.g$6,args:["class.multi-select"]}],values:[{type:n.b2L,args:["facetValue"]}],facet:[{type:n.pde}]}};Xr=(0,r.Cg)([(0,n.uAl)({selector:"app-facet",template:'<ng-container *ngIf="state$ | async as state">\n  <div\n    [ngClass]="{\'is-collapsed\': isCollapsed}"\n    class="facet"\n  >\n    <div\n      (click)="toggleGroup($event)"\n      class="facet__head"\n    >\n      <div class="facet__title">\n        {{ facet.name }}\n        <img\n          src="/assets/icons/expand_dark.svg"\n          alt=""\n          class="facet__toggle-icon"\n        >\n      </div>\n    </div>\n    <scrollbar class="scrollbar">\n      <div class="facet__body">\n        <ng-container *ngTemplateOutlet="valuesList; context: { values: facet.values | slice: 0:state.topVisible, facet: facet }"></ng-container>\n        <ng-container *ngTemplateOutlet="valuesList; context: { values: facet.values | slice: state.topVisible:state.maxVisible, facet: facet }"></ng-container>\n      </div>\n    </scrollbar>\n  </div>\n</ng-container>\n\n<ng-template #valuesList let-values="values" let-facet="facet">\n  <ng-container *ngFor="let value of values">\n    <ng-container *ngIf="value.count">\n      <ng-container *ngTemplateOutlet="enabledValue; context: { value: value, facet: facet }"></ng-container>\n    </ng-container>\n    <ng-container *ngIf="!value.count">\n      <ng-container *ngTemplateOutlet="disabledValue; context: { value: value, facet: facet }"></ng-container>\n    </ng-container>\n  </ng-container>\n</ng-template>\n\n<ng-template #enabledValue let-value="value" let-facet="facet">\n  <a\n    #facetValue\n    [queryParams]="getLinkParams(value)"\n    [class.selected]="value.selected"\n    [cxFocus]="value.name"\n    (keydown.space)="openLink($event)"\n    routerLink="./"\n    class="facet__item d-flex align-items-start"\n    (click)="trackSelectFacet(facet, value)"\n  >\n    <ng-container *ngTemplateOutlet="valueContent; context: { value: value, facet: facet }"></ng-container>\n  </a>\n</ng-template>\n\n<ng-template #disabledValue let-value="value" let-facet="facet">\n  <span class="facet__item facet__item--disabled">\n    <ng-container *ngTemplateOutlet="valueContent; context: { value: value, facet: facet }"></ng-container>\n  </span>\n</ng-template>\n\n<ng-template #valueContent let-value="value" let-facet="facet">\n  <ng-container *ngIf="isMultiSelect; else singleSelect">\n    <img\n      [src]="value.count\n        ? value.selected\n          ? CheckboxTypesEnum.selected\n          : CheckboxTypesEnum.standard\n        : CheckboxTypesEnum.disabled"\n      alt=""\n      class="facet__checkbox"\n    >\n    <span class="label facet__item-value">{{ value.name }}</span>\n  </ng-container>\n  <ng-template #singleSelect>\n    <label class="radio-group">\n      <input type="radio" [name]="facet.name" [disabled]="!value.count">\n      <div class="radio-group__label">{{ value.name }}</div>\n    </label>\n  </ng-template>\n</ng-template>\n',changeDetection:n.Ngq.OnPush,styles:[Dy()]})],Xr);let _d=class{};_d=(0,r.Cg)([(0,n.UQu)({imports:[S.MD,y.iI,p.YYe,p.LP3,v.sNY,Te],declarations:[Xr],exports:[Xr]})],_d);var ky=i(98446),Fy=i.n(ky);let Zr=class{constructor(e,t,s){this.facetService=e,this.elementRef=t,this.renderer=s,this.closeList=new n.bkB,this.template=["classFacet-class_steel-customer_material_number","classFacet-class_steel-steel_grade","classFacet-class_steel-thickness","classFacet-class_steel-thickness_ranged","classFacet-class_strip-thickness-tolerance","classFacet-class_steel-width_ranged","classFacet-class_steel-width","classFacet-class_plate-length_ranged","classFacet-class_strip-test-certificate-type","classFacet-class_strip-packing-type","classFacet-class_strip-product_standard","classFacet-class_strip-spangle","classFacet-class_strip-surface_quality","classFacet-class_strip-chemical-protection","classFacet-class_strip-metallic-coating-type","classFacet-class_strip-metallic-coating-code","classFacet-class_strip-organic-protection-type","classFacet-class_strip-teardrop","classFacet-class_strip-organic-protection-quantity","classFacet-class_strip-edge-trim","classFacet-class_strip-galva-class","classFacet-class_strip-paint_system_outside","classFacet-class_strip-ral_code_outside","classFacet-class_strip-paint_system_inside","classFacet-class_strip-ral_code_inside"],this.facetList$=this.facetService.facetList$.pipe((0,w.T)(o=>{const l=o.facets.filter(u=>![ie.CATEGORIES,ie.IN_STOCK,ie.PRODUCT_TYPE,ie.VALID_PRODUCTS].includes(u.code));return[...this.getFacetByTemplate(l),...l]}))}ngOnInit(){}getIndex(e,t){return t.findIndex(s=>s.code===e)}getFacetByTemplate(e){const t=[];return this.template.forEach((s,o)=>{const l=this.getIndex(s,e);l>=0&&t.push(e.splice(l,1)[0])}),t}block(e){e.stopPropagation()}static#e=this.ctorParameters=()=>[{type:v.rOA},{type:n.aKT},{type:n.sFG}];static#t=this.propDecorators={closeList:[{type:n.k7i}]}};Zr=(0,r.Cg)([(0,n.uAl)({selector:"app-facet-list",template:'<div\n  class="facet-list"\n  *ngIf="facetList$ | async as facets"\n  (click)="block($event)"\n>\n  <app-facet\n    *ngFor="let facet of facets"\n    [facet]="facet"\n    [cxFocus]="{ lock: true, trap: true, autofocus: \'a\' }"\n  ></app-facet>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[Fy()]})],Zr);let vd=class{};vd=(0,r.Cg)([(0,n.UQu)({imports:[S.MD,p.LP3,_d,v.sNY],declarations:[Zr],exports:[Zr]})],vd);var Ny=i(23775),Uy=i.n(Ny);let hs=class extends Wr{constructor(e,t,s,o,l,u,h){super(u,l),this.authService=e,this.facetService=t,this.routingService=s,this.orderTypeService=o,this.breakpointService=l,this.changeDetection=u,this.activatedRoute=h,this.isUserLoggedIn$=this.authService.isUserLoggedIn(),this.orderType$=this.orderTypeService.orderType$,this.facetList$=this.facetService.facetList$,this.isOpened=!1}ngOnInit(){super.initBreakpointSub()}ngOnDestroy(){super.ngOnDestroy()}getParams(e){if(e)return this.facetService.getLinkParams(`${ee_RELEVANCE_ALL_CATEGORIES}:${this.activatedRoute.snapshot.params.categoryCode}${ee_ORDER_TYPE}:${e.facetValueCode}`);const s=new RegExp(`(${ee_CODE}:strip_mto_[^:]+)`,"g"),o=this.activatedRoute.snapshot.queryParams.query?.match(s);return o&&o.length?this.facetService.getLinkParams(`${ee_RELEVANCE}${o.join("")}`):""}toggle(){this.isOpened=!this.isOpened}static#e=this.ctorParameters=()=>[{type:p.uRZ},{type:v.rOA},{type:p.Oie},{type:gt},{type:v.dci},{type:n.gRc},{type:y.nX}]};hs=(0,r.Cg)([(0,n.uAl)({selector:"app-product-facet-navigation",template:'<ng-container *ngIf="facetList$ | async as facetList">\n  <div\n    *ngIf="facetList.facets?.length > 0"\n    [class.facet-list--hidden]="!isOpened"\n    class="facet-list"\n  >\n    <div class="facet-list__head" (click)="toggle()">\n      <h4 class="facet-list__title">{{ \'text.facetNavigation.filters\' | cxTranslate }}</h4>\n      <a\n        [class.disabled]="facetList?.activeFacets.length <= 1"\n        [queryParams]="getParams(orderType$ | async)"\n        (click)="$event.stopPropagation()"\n        routerLink="./"\n        class="facet-list__reset"\n      >\n        {{ \'button.clearAll\' | cxTranslate }}\n      </a>\n\n      <div class="facet-list__mobile-icons">\n        <svg-icon-sprite width="24px" height="24px" class="facet-list__facet-icon" src="tune"></svg-icon-sprite>\n        <svg-icon-sprite width="24px" height="24px" class="facet-list__close-icon" src="close"></svg-icon-sprite>\n      </div>\n    </div>\n\n    <div class="facet-list__body">\n      <app-active-facets></app-active-facets>\n      <app-facet-list></app-facet-list>\n    </div>\n  </div>\n\n</ng-container>\n',changeDetection:n.Ngq.OnPush,styles:[Uy()]})],hs);let Ln=class{};Ln=(0,r.Cg)([(0,n.UQu)({imports:[S.MD,vd,hd,p.LP3,p.htr.withConfig({cmsComponents:{AgreementsProductListComponent:{component:Kr,guards:[j,Y]},ProductRefinementComponent:{component:hs,guards:[Y]}}}),y.iI,v.fhh,m.YN,m.X1,V.F2,xe,it,ce,Te],declarations:[hs,Kr,jr],exports:[hs,jr]})],Ln);var By=i(3402),Vy=i.n(By);let dn=class{constructor(e,t){this.http=e,this.occEndpointsService=t,this.orderCode$=new P.t(null),this.entriesCount$=new P.t(null),this.entriesValidCount$=new P.t(null),this.orderEntries$=new P.t([]),this.isAddClicked$=new P.t(!1)}getOrderEntries(e){const t=this.occEndpointsService.buildUrl(E.USER.ORDERS.RE_ORDER_ENTRIES,{urlParams:{orderCode:e}});return this.http.get(t)}addToCart(e){const t=this.occEndpointsService.buildUrl(E.USER.ORDERS.RE_ORDER_ADD_TO_CART,{urlParams:{cartId:e}}),s=this.orderEntries$.value;return this.orderEntries$.next([]),this.http.post(t,{orderEntries:s})}reset(){this.orderCode$.next(null),this.entriesCount$.next(null)}static#e=this.ctorParameters=()=>[{type:U.Qq},{type:p.zxz}]};dn=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],dn);let xd=class extends cn{set setSchedulingLines(e){this.schedulingLines=e,this.setSchedulingLinesToForm()}constructor(e,t,s,o,l,u,h){super(e,t,s,o),this.changeDetection=e,this.fb=t,this.globalMessageService=s,this.productCardsService=o,this.agreementFacetService=l,this.breakpointService=u,this.reorderService=h,this.isInvalid=!1,this.featureRegExps=Ne.MY_CATALOGUE.ORDER.PLATE.VARIANT,this.inProcess=!1,this.initialVolume=null,this.isOutOfDateRange=!1,this.dueDate=null,this.shipmentDateBorders=null,this.remainingTonnage=null,this.remainingPlates=null,this.today=new Date,this.selectedDay=null,this.initDisableUntil={year:this.today.getFullYear(),month:this.today.getMonth()+1,day:this.today.getDate()+1},this.disableUntil=this.initDisableUntil,this.breakpointIsUpSm$=this.breakpointService.isUp(v.SLZ.sm)}ngOnInit(){super.init(),this.setRemaining(),this.validateQuantity(),this.initOnAddToCart()}initOnAddToCart(){this.isInvalid||this.reorderService.isAddClicked$.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{e&&(this.addProductToArray(),this.validateQuantity())})}addProductToArray(){this.productParams.markAllAsTouched();let e=this.productParams.get("desiredShipmentDate")?.value;if(e){const T=new Date(e),D=new Date(Date.UTC(T.getFullYear(),T.getMonth(),T.getDate()));e=Sn(D)}const t=this.productParams.get("deliveryMonth")?.value,s=this.productParams.get("quantity")?.value,o=this.productParams.get("volumeBasedAgreement")?.value,l=this.productParams.get("units").value===G.PIECES?this.productParams.get("units").value:G.KG,u=this.productParams.get("priceNotFinal")?.value,h=l===G.PIECES?s:tn(+s);if(0==+h)return void this.globalMessageService.add({key:"text.addToCart.error.nullAmount"},p.NCV.MSG_TYPE_WARNING);const _={product:{code:this.product.code},quantity:h,unit:l,deliveryMonth:t,desiredDeliveryDate:e,priceNotFinal:u,volumeBasedAgreement:o},C=this.reorderService.orderEntries$.value;this.quantity=h,this.reorderService.orderEntries$.next(C.concat(_))}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete(),super.ngOnDestroy()}ngAfterViewInit(){this.setDisabledOptions()}validateQuantity(){this.isInvalid||(this.productUnits.unit===G.KG?tn(this.remainingTonnage)<this.quantity:this.remainingPlates&&this.remainingPlates<this.quantity)&&(this.amountTooltip?.open(),this.productParams.get("quantity").setErrors({maxQuantityAdded:!0}),this.productParams.get("quantity").markAsTouched())}setRemaining(){this.currentAgreement?.remainingTonnage&&(this.remainingTonnage=we(this.currentAgreement.remainingTonnage),this.initialVolume=we(this.currentAgreement.initialVolume),this.weightOfItem&&(this.remainingPlates=Math.trunc(this.currentAgreement.remainingTonnage/this.weightOfItem)))}getNextWorkDate(e){const t=e.getDay();let s=1;t>5&&(s+=7-t);const o=new Date;return o.setDate(e.getDate()+s),o}initProductParams(){this.productParams=this.fb.group({units:[this.productUnits.unit],quantity:new m.hs({value:this.productUnits.unit===G.KG?we(this.quantity):this.quantity,disabled:this.isInvalid},[m.k0.required,m.k0.min(.1)]),desiredShipmentDate:[null,[m.k0.required]],deliveryMonth:[null,[m.k0.required]],volumeBasedAgreement:this.currentAgreement.volumeBased?this.currentAgreement.code:null}),this.schedulingLines?.length&&(this.productParams.get("deliveryMonth").valueChanges.pipe((0,x.Q)(this.destroyed$)).subscribe(this.setMonthParams.bind(this)),this.setSchedulingLinesToForm())}initProductUnits(){this.productUnits={unit:this.unit}}setSchedulingLinesToForm(){if(this.schedulingLines?.length&&this.productParams){const e=this.schedulingLines.find(t=>{const s=this.monthNames.findIndex(o=>o===t.deliveryMonth.toLowerCase());if(new Date(t.deliveryYear,s+1,0)>new Date)return t});this.productParams.get("deliveryMonth").setValue(e.deliveryMonth)}}setMonthParams(e){const t=new Date,s=this.schedulingLines.find(o=>o.deliveryMonth===e);if(this.initialVolume=we(this.currentAgreement.initialVolume),this.dueDate=s.dueDate,this.remainingTonnage=we(this.currentAgreement.remainingTonnage),this.shipmentDateBorders=super.getShipmentDateBorders(s.deliveryMonth,s.deliveryYear),this.shipmentDateBorders.fromDate.getMonth()===this.today.getMonth()){const o=this.getNextWorkDate(this.today);this.shipmentDateBorders.fromDate.setDate(o.getDate()),this.selectedDay=o}this.isOutOfDateRange=this.dueDate&&t>new Date(this.dueDate)||t>new Date(this.currentAgreement.endDate)}handleDesiredShipmentDateChange(e){e.singleDate.jsDate.getMonth()>this.today.getMonth()?this.disableUntil=null:this.disableUntil=this.initDisableUntil,this.productParams.get("desiredShipmentDate").setValue(e.singleDate.jsDate),this.changeDetection.detectChanges()}static#e=this.ctorParameters=()=>[{type:n.gRc},{type:m.ze},{type:p.S8D},{type:Be},{type:Ee},{type:v.dci},{type:dn}];static#t=this.propDecorators={product:[{type:n.pde}],setSchedulingLines:[{type:n.pde,args:["schedulingLines"]}],currentAgreement:[{type:n.pde}],unit:[{type:n.pde}],quantity:[{type:n.pde}],isInvalid:[{type:n.pde}]}};xd=(0,r.Cg)([(0,n.uAl)({selector:"app-reorder-product-card-variant-plate",template:'<ng-container *ngIf="productFeatures">\n  <div class="product-card product-card--variant product-card--variant-plate product-card--variant-order"\n       [class.product-card--disabled]="isInvalid"\n  >\n    <div class="product-card__header">\n      <ng-container *ngFor="let property of productFeatures.mainFeatures; let i = index;">\n        <ng-container *ngTemplateOutlet="propertyCellTemplate; context: {property: property, isLargeFont: !i}"></ng-container>\n      </ng-container>\n\n      <div class="product-card__param product-card__param-badges-price d-flex align-items-center">\n        <app-product-cards-cell\n          *ngIf="productPrice"\n          [title]="(\'text.productList.variantProduct.strip.\' + (currentAgreement.volumeBased ? \'basePricePerPiece\' : \'pricePerPiece\'))  | cxTranslate: { unit:  UNITS.TONS }"\n          [value]="productPrice"\n          [isInline]="true"\n          [isLargeFont]="true"\n        ></app-product-cards-cell>\n      </div>\n    </div>\n\n\n    <div class="product-card__body">\n      <ng-container *ngFor="let property of productFeatures.secondaryFeatures;">\n        <ng-container *ngTemplateOutlet="propertyCellTemplate; context: {property: property}"></ng-container>\n      </ng-container>\n\n      <div\n        *ngIf="schedulingLines?.length"\n        [dir]="((productFeatures.secondaryFeatures.length + 1) % 4 === 0 && breakpointIsUpSm$ | async) ? \'rtl\' : \'ltr\'"\n        class="product-card__param">\n        <ng-container *ngIf="schedulingLines.length > 1; else singleDeliveryMonthTmpl">\n          <ng-select\n            [formControl]="productParams.get(\'deliveryMonth\')"\n            [items]="schedulingLines"\n            [clearable]="false"\n            bindLabel="deliveryMonth"\n            bindValue="deliveryMonth"\n            class="ng-select-outline"\n          >\n            <ng-template ng-label-tmp let-item="item">\n              <div class="ng-select__title">\n                {{\'text.productList.variantProduct.deliveryMonth\' | cxTranslate}}\n              </div>\n              {{ item.deliveryMonth }}\n              {{ item.deliveryYear }}\n            </ng-template>\n\n            <ng-template ng-option-tmp let-item="item">\n              <span class="ng-option-label">\n                {{ item.deliveryMonth }}\n                {{ item.deliveryYear }}\n              </span>\n            </ng-template>\n          </ng-select>\n        </ng-container>\n        <ng-template #singleDeliveryMonthTmpl>\n          <app-product-cards-cell\n            [title]="\'text.productList.variantProduct.deliveryMonth\' | cxTranslate"\n            [value]="productParams.get(\'deliveryMonth\').value"\n          ></app-product-cards-cell>\n        </ng-template>\n      </div>\n\n      <div *ngIf="schedulingLines?.length" class="product-card__param product-card__param-calendar">\n        <app-product-card-calendar\n          [label]="\'text.productList.variantProduct.desiredDeliveryDate\' | cxTranslate"\n          [shipmentDateBorders]="shipmentDateBorders"\n          [disableUntil]="disableUntil"\n          [selectedDay]="selectedDay"\n          (dateChanged)="handleDesiredShipmentDateChange($event)"\n        ></app-product-card-calendar>\n      </div>\n\n      <div *ngIf="schedulingLines?.length && dueDate || currentAgreement?.endDate" class="product-card__param">\n        <app-product-cards-cell\n          [title]="\'text.productList.variantProduct.dueDate\' | cxTranslate"\n          [value]="(dueDate || currentAgreement?.endDate) | dateWithTimezonePipe"\n        ></app-product-cards-cell>\n      </div>\n\n      <div *ngIf="schedulingLines?.length" class="product-card__param">\n        <app-product-cards-cell\n          *ngIf="productParams.get(\'units\').value === UNITS.KG || !remainingPlates; else remainingPlate"\n          [title]="\'text.productList.variantProduct.remainingTonnage\' | cxTranslate"\n          [value]="remainingTonnage + \' t\'"\n        ></app-product-cards-cell>\n\n        <ng-template #remainingPlate>\n          <app-product-cards-cell\n            [title]="\'text.productList.variantProduct.remainingPlates\' | cxTranslate"\n            [value]="remainingPlates + \' psc.\'"\n          ></app-product-cards-cell>\n        </ng-template>\n      </div>\n\n      <div *ngIf="schedulingLines?.length && productUnits.unit !== UNITS.KG" class="product-card__param">\n        <app-product-cards-cell\n          [title]="\'text.productList.variantProduct.initialVolume\' | cxTranslate"\n          [value]="initialVolume + \' t\'"\n        ></app-product-cards-cell>\n      </div>\n    </div>\n\n    <div\n      *ngIf="productFeatures?.restFeatures.length || productFeatures?.thirdlyFeatures.length"\n      class="product-card__controls d-flex">\n      <div class="product-card__controls-item">\n      <span\n        [class.product-card__control--open]="isCharOpen"\n        (click)="toggleProductCharacteristics()"\n        class="product-card__control"\n      >\n        {{ \'button.characteristics\' | cxTranslate }}\n        <svg-icon-sprite\n          [src]="isCharOpen ? \'expand_less\' : \'expand_more\'"\n          width="16"\n          height="16"\n          class="product-card__icon"\n        ></svg-icon-sprite>\n      </span>\n      </div>\n    </div>\n\n    <div\n      *ngIf="productFeatures?.restFeatures.length || productFeatures?.thirdlyFeatures.length"\n      class="product-card__characteristic">\n      <div\n        [class.is-open]="isCharOpen"\n        class="product-card__characteristic-block product-card__characteristic-block--additional"\n      >\n        <ng-container *ngTemplateOutlet="restFeatures; context: { features: productFeatures.thirdlyFeatures }"></ng-container>\n        <ng-container *ngTemplateOutlet="restFeatures; context: { features: productFeatures.restFeatures }"></ng-container>\n      </div>\n      <ng-template #restFeatures let-features="features">\n        <ng-container *ngFor="let feature of features; let last = last">\n          <ng-container *ngIf="feature.name && feature.featureValues && feature.featureValues[0]?.value">\n            <ng-container *ngTemplateOutlet="propertyCellTemplate; context: {property: feature}"></ng-container>\n          </ng-container>\n        </ng-container>\n      </ng-template>\n    </div>\n\n    <div class="product-card__footer">\n      <div class="product-card__param">\n        <app-product-cards-cell\n          [title]="\'text.cart.product.unitOfOrder\' | cxTranslate"\n          [value]="\'placeholder.\' + productUnits.unit | cxTranslate"\n        ></app-product-cards-cell>\n      </div>\n\n      <div\n        *ngIf="productUnits && productParams"\n        class="product-card__param product-card__param-7"\n      >\n        <div\n          [ngbTooltip]="amountError"\n          placement="bottom auto"\n          triggers="manual"\n          class="d-inline-block"\n          tooltipClass="tooltip--big"\n          #amountTooltip="ngbTooltip"\n        >\n          <input\n            [formControl]="productParams.get(\'quantity\')"\n            [maskito]="productUnits.unit === UNITS.PIECES ? piecesMask : tonsMask"\n\n            placeholder="{{ \'placeholder.\' + productParams.get(\'units\').value | cxTranslate }}"\n            type="text"\n            class="product-card__input-amount"\n            #quantityEl\n          >\n        </div>\n        <ng-template #amountError>\n          <div class="error-base-color d-flex align-items-center">\n            <svg-icon-sprite\n              src="error"\n              width="16"\n              height="16"\n              class="error-base-color mr-7"\n            ></svg-icon-sprite>\n            <cx-form-errors [control]="productParams.get(\'quantity\')"></cx-form-errors>\n          </div>\n        </ng-template>\n      </div>\n\n      <div class="product-card__param" *ngIf="weightOfItem">\n        <app-product-cards-cell\n          [title]="\'text.cart.product.calculated\' | cxTranslate : {unit: (productParams.get(\'units\').value === UNITS.KG ? \'text.cart.product.pieces\' : \'text.cart.product.tonnage\') | cxTranslate }"\n          [value]="productParams.get(\'quantity\').value | calculatedVolume : {unit: productParams.get(\'units\').value, weightOfItem: weightOfItem}"\n        ></app-product-cards-cell>\n      </div>\n    </div>\n  </div>\n\n  <div *ngIf="isInvalid" class="local-message local-message--danger mt-10">\n    <div class="d-flex align-items-center">\n      <svg-icon-sprite\n        src="error"\n        width="24"\n        height="24"\n        class="local-message__icon"\n      ></svg-icon-sprite>\n      <span>{{ \'text.cart.product.unAvailable\' | cxTranslate }}</span>\n    </div>\n  </div>\n\n  <div *ngIf="inProcess" class="loader-in-process">\n    <app-loader size="36px"></app-loader>\n  </div>\n</ng-container>\n\n\n<ng-template #propertyCellTemplate let-property="property" let-isLargeFont="isLargeFont">\n  <div class="product-card__param">\n    <app-product-cards-cell\n      *ngIf="property?.featureValues?.length"\n      [title]="property?.name"\n      [value]="property?.featureValues[0]?.value | changePropertyValue: { code:property.code, dimension: dimension, diameter: diameter }"\n      [isLargeFont]="isLargeFont"\n    ></app-product-cards-cell>\n  </div>\n</ng-template>\n',styles:[Vy()]})],xd);var zy=i(85886),Yy=i.n(zy);let fd=class extends cn{constructor(e,t,s,o,l,u,h){super(e,t,s,o),this.changeDetection=e,this.fb=t,this.globalMessageService=s,this.productCardsService=o,this.agreementFacetService=l,this.breakpointService=u,this.reorderService=h,this.isInvalid=!1,this.PAGES_ID=q,this.AVAILABLE_DAY=$i.mon,this.UNITS=G,this.inProcess=!1,this.initialVolume=null,this.isOutOfDateRange=!1,this.datepickerOptions={defaultMonth:null,disableUntil:null,disableWeekdays:["su","tu","we","th","fr","sa"],preselectedDay:void 0},this.dueDate=null,this.remainingTonnage=null,this.breakpointIsUpSm$=this.breakpointService.isUp(v.SLZ.sm)}ngOnInit(){this.featureRegExps=Ne.MY_CATALOGUE.ORDER.STRIP[this.product?.classType===Zt_CLASS_TYPE?Se_VARIANT__PREPAINTED:Se_VARIANT],this.setDisableUntil(),super.init(),this.preselectMonth(this.schedulingLines),this.validateQuantity(),this.initOnAddToCart()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete(),super.ngOnDestroy()}initOnAddToCart(){this.isInvalid||this.reorderService.isAddClicked$.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{e&&(this.addProductToArray(),this.validateQuantity())})}addProductToArray(){this.productParams.markAllAsTouched();let e=this.productParams.get("desiredShipmentDate")?.value;if(e){const T=new Date(e),D=new Date(Date.UTC(T.getFullYear(),T.getMonth(),T.getDate()));e=Sn(D)}const t=this.productParams.get("deliveryMonth")?.value,s=this.productParams.get("volumeBasedAgreement")?.value,o=this.productParams.get("quantity")?.value,l=this.productParams.get("units").value===G.PIECES?this.productParams.get("units").value:G.KG,u=this.productParams.get("priceNotFinal")?.value,h=l===G.PIECES?o:tn(+o);if(0==+h)return void this.globalMessageService.add({key:"text.addToCart.error.nullAmount"},p.NCV.MSG_TYPE_WARNING);const _={product:{code:this.product.code},quantity:h,unit:l,deliveryMonth:t,desiredDeliveryDate:e,priceNotFinal:u,volumeBasedAgreement:s},C=this.reorderService.orderEntries$.value;this.quantity=h,this.reorderService.orderEntries$.next(C.concat(_))}ngAfterViewInit(){this.setDisabledOptions()}setDisableUntil(){const e=new Date;this.datepickerOptions.disableUntil={year:e.getFullYear(),month:e.getMonth()+1,day:e.getDate()}}validateQuantity(){this.isInvalid||tn(this.remainingTonnage)<this.quantity&&(this.amountTooltip?.open(),this.productParams.get("quantity").setErrors({maxQuantityAdded:!0}),this.productParams.get("quantity").markAsTouched())}initProductParams(){this.productParams=this.fb.group({units:[this.productUnits.unit],quantity:new m.hs({value:this.productUnits.unit===G.KG?we(this.quantity):this.quantity,disabled:this.isInvalid},[m.k0.required,m.k0.min(.1)]),desiredShipmentDate:[null,[m.k0.required]],deliveryMonth:[null,[m.k0.required]],priceNotFinal:!!this.currentAgreement.priceNotFinal,volumeBasedAgreement:this.currentAgreement.volumeBased?this.currentAgreement.code:null})}initProductUnits(){this.productUnits={unit:this.unit}}preselectMonth(e){if(this.schedulingLines?.length&&this.productParams){const t=new Intl.DateTimeFormat("en",{month:"long"}),s=new Date,o=s.getFullYear(),l=t.format(s);let u;const h=e.find(T=>T.deliveryMonth.toLowerCase()===l.toLowerCase()&&T.deliveryYear===o);h||(u=this.schedulingLines.find(T=>{const D=this.monthNames.findIndex(F=>F===T.deliveryMonth.toLowerCase());if(new Date(T.deliveryYear,D+1,0)>new Date)return T;console.error(`No according scheduling line was founded: ${D+1} ${T.deliveryYear}`)}));const _=h?h.deliveryMonth:u?.deliveryMonth,C=h?h.deliveryYear:u?.deliveryYear;this.productParams.get("deliveryMonth").setValue(_),this.setMonthParams(_,C)}}setDatepickerActiveMonth(e,t){if(!e||!t)return void console.error(`No month year or month name provided. Month name: ${e}, month year: ${t}`);const s=`0${this.getMonthIndexFromName(e)}`.slice(-2);this.datepickerOptions.defaultMonth={defMonth:`${s}/${t}`,overrideSelection:!0}}setPreselectedDay(e,t){if(!e||!t)return void console.error(`No month year or month name provided. Month name: ${e}, month year: ${t}`);let s=null;const o=new Date,l=o.getFullYear(),u=o.getMonth()+1,h=this.getMonthIndexFromName(e),T=t>l;if(t<l)s=null;else if(t===l){if(h<u)s=null;else if(h===u){const D=this.getCurrentMonthLastMondayDateNumber(),F=new Date(t,u,0).getDate(),K=o.getDate();if(K===F)s=null;else if(K>=D){const ne=new Date;ne.setDate(K+1),s=ne}else s=this.getNextWeekDay(this.AVAILABLE_DAY,!0)}else if(h>u){const D=this.getMonthFirstMondayDateNumber(e,t);s=new Date(t,h-1,D)}}else if(T){const D=this.getMonthFirstMondayDateNumber(e,t);s=new Date(t,h-1,D)}this.datepickerOptions.preselectedDay=s}setMonthParams(e,t){const s=new Date,o=this.schedulingLines.find(l=>l.deliveryMonth.toLowerCase()===e.toLowerCase()&&l.deliveryYear===t);o||console.error(`No according scheduling line was founded: ${e} ${t}`),this.initialVolume=we(o.quantity),this.dueDate=o.dueDate,this.remainingTonnage=we(o.remainingTonnage),this.setDatepickerActiveMonth(e,t),this.setPreselectedDay(e,t),this.isOutOfDateRange=s>new Date(this.dueDate)||s>new Date(this.currentAgreement.endDate)||this.datepickerOptions.preselectedDay<s,this.changeDetection.detectChanges()}handleMonthChange(e){this.setMonthParams(e.deliveryMonth,e.deliveryYear)}handleDesiredShipmentDateChange(e){this.productParams.get("desiredShipmentDate").setValue(e.singleDate.jsDate),this.changeDetection.detectChanges()}getMonthFirstMondayDateNumber(e,t){const s=this.getMonthIndexFromName(e)-1,o=new Date(t,s,1);for(o.setDate(1);1!==o.getDay();)o.setDate(o.getDate()+1);return o.getDate()}getCurrentMonthLastMondayDateNumber(){const e=new Date;return e.setMonth(e.getMonth()+1),e.setDate(0),e.getDate()-(e.getDay()-1)}getNextWeekDay(e,t=!0,s=new Date){const o=["sun","mon","tue","wed","thu","fri","sat"].indexOf(e.slice(0,3).toLowerCase());if(o<0)throw new Error(`Wrong short day name passed: "${e}"`);return s.setHours(0,0,0,0),s.setDate(s.getDate()+ +!!t+(o+7-s.getDay()-+!!t)%7),s}getMonthIndexFromName(e){const t=Date.parse(`${e} 1, 2000`);if(!isNaN(t))return new Date(t).getMonth()+1;throw new Error("Wrong month name")}static#e=this.ctorParameters=()=>[{type:n.gRc},{type:m.ze},{type:p.S8D},{type:Be},{type:Ee},{type:v.dci},{type:dn}];static#t=this.propDecorators={product:[{type:n.pde}],schedulingLines:[{type:n.pde}],currentAgreement:[{type:n.pde}],unit:[{type:n.pde}],quantity:[{type:n.pde}],isInvalid:[{type:n.pde}]}};fd=(0,r.Cg)([(0,n.uAl)({selector:"app-reorder-product-card-variant-strip",template:'<ng-container *ngIf="productFeatures && productParams">\n  <div\n    class="product-card product-card--variant product-card--variant-strip product-card--variant-order"\n    [class.product-card--disabled]="isInvalid"\n  >\n    <div class="product-card__header">\n      <ng-container *ngFor="let property of productFeatures.mainFeatures; let i = index;">\n        <ng-container *ngTemplateOutlet="propertyCellTemplate; context: {property: property, isLargeFont: !i}"></ng-container>\n      </ng-container>\n\n      <div class="product-card__param product-card__param-badges-price d-flex align-items-center">\n        <app-product-cards-cell\n          *ngIf="productPrice"\n          [title]="(\'text.productList.variantProduct.strip.\' + (currentAgreement.volumeBased ? \'basePricePerPiece\' : \'pricePerPiece\'))  | cxTranslate: { unit:  UNITS.TONS }"\n          [value]="currentAgreement.priceNotFinal ? (\'text.cart.product.priceNotFinal\' | cxTranslate) : productPrice"\n          [isInline]="true"\n          [isLargeFont]="true"\n          [isPriceNotFinal]="currentAgreement.priceNotFinal"\n        ></app-product-cards-cell>\n      </div>\n    </div>\n\n\n    <div class="product-card__body">\n      <ng-container *ngFor="let property of productFeatures.secondaryFeatures">\n        <ng-container *ngTemplateOutlet="propertyCellTemplate; context: {property: property}"></ng-container>\n      </ng-container>\n\n      <div *ngIf="schedulingLines?.length"\n           [dir]="((productFeatures.secondaryFeatures.length + 1) % 4 === 0 && breakpointIsUpSm$ | async) ? \'rtl\' : \'ltr\'"\n           class="product-card__param"\n      >\n        <ng-container *ngIf="schedulingLines.length > 1; else singleDeliveryMonthTmpl">\n          <ng-select\n            [formControl]="productParams.get(\'deliveryMonth\')"\n            [items]="schedulingLines"\n            [clearable]="false"\n\n            (change)="handleMonthChange($event)"\n\n            appendTo="body"\n            bindLabel="deliveryMonth"\n            bindValue="deliveryMonth"\n            class="ng-select-outline"\n          >\n            <ng-template ng-label-tmp let-item="item">\n              <div class="ng-select__title">\n                {{\'text.productList.variantProduct.deliveryMonth\' | cxTranslate}}\n              </div>\n              {{ item.deliveryMonth }}\n              {{ item.deliveryYear }}\n            </ng-template>\n\n            <ng-template ng-option-tmp let-item="item">\n              <span class="ng-option-label">\n                {{ item.deliveryMonth }}\n                {{ item.deliveryYear }}\n              </span>\n            </ng-template>\n          </ng-select>\n        </ng-container>\n        <ng-template #singleDeliveryMonthTmpl>\n          <app-product-cards-cell\n            [title]="\'text.productList.variantProduct.deliveryMonth\' | cxTranslate"\n            [value]="productParams.get(\'deliveryMonth\').value"\n          ></app-product-cards-cell>\n        </ng-template>\n      </div>\n\n      <div *ngIf="schedulingLines?.length" class="product-card__param product-card__param-calendar">\n        <app-product-card-calendar\n          [label]="\'text.productList.variantProduct.desiredDeliveryDate\' | cxTranslate"\n          [defaultMonth]="datepickerOptions.defaultMonth ? datepickerOptions.defaultMonth : undefined"\n          [disableUntil]="datepickerOptions.disableUntil"\n          [disableWeekdays]="datepickerOptions.disableWeekdays"\n          [selectedDay]="datepickerOptions.preselectedDay"\n          (dateChanged)="handleDesiredShipmentDateChange($event)"\n        ></app-product-card-calendar>\n      </div>\n\n      <div *ngIf="schedulingLines?.length" class="product-card__param">\n        <app-product-cards-cell\n          [title]="\'text.productList.variantProduct.dueDate\' | cxTranslate"\n          [value]="dueDate | dateWithTimezonePipe"\n        ></app-product-cards-cell>\n      </div>\n\n      <div *ngIf="schedulingLines?.length" class="product-card__param">\n        <app-product-cards-cell\n          [title]="\'text.productList.variantProduct.remainingTonnage\' | cxTranslate"\n          [value]="remainingTonnage + \' t\'"\n        ></app-product-cards-cell>\n      </div>\n\n      <div *ngIf="schedulingLines?.length" class="product-card__param">\n        <app-product-cards-cell\n          [title]="\'text.productList.variantProduct.initialVolume\' | cxTranslate"\n          [value]="initialVolume + \' t\'"\n        ></app-product-cards-cell>\n      </div>\n    </div>\n\n    <div\n      *ngIf="productFeatures?.restFeatures.length || productFeatures?.thirdlyFeatures.length"\n      class="product-card__controls d-flex">\n      <div class="product-card__controls-item">\n      <span\n        [class.product-card__control--open]="isCharOpen"\n        (click)="toggleProductCharacteristics()"\n        class="product-card__control"\n      >\n        {{ \'button.characteristics\' | cxTranslate }}\n        <svg-icon-sprite\n          [src]="isCharOpen ? \'expand_less\' : \'expand_more\'"\n          width="16"\n          height="16"\n          class="product-card__icon"\n        ></svg-icon-sprite>\n      </span>\n      </div>\n    </div>\n\n    <div\n      *ngIf="productFeatures?.restFeatures.length || productFeatures?.thirdlyFeatures.length"\n      class="product-card__characteristic">\n      <div\n        [class.is-open]="isCharOpen"\n        class="product-card__characteristic-block product-card__characteristic-block--additional"\n      >\n        <ng-container *ngTemplateOutlet="restFeatures; context: { features: productFeatures.thirdlyFeatures }"></ng-container>\n        <ng-container *ngTemplateOutlet="restFeatures; context: { features: productFeatures.restFeatures }"></ng-container>\n      </div>\n      <ng-template #restFeatures let-features="features">\n        <ng-container *ngFor="let feature of features; let last = last">\n          <ng-container *ngIf="feature.name && feature.featureValues && feature.featureValues[0]?.value">\n            <ng-container *ngTemplateOutlet="propertyCellTemplate; context: {property: feature}"></ng-container>\n          </ng-container>\n        </ng-container>\n      </ng-template>\n    </div>\n\n\n    <div class="product-card__footer">\n      <div class="product-card__param">\n        <app-product-cards-cell\n          [title]="\'text.cart.product.unitOfOrder\' | cxTranslate"\n          [value]="\'placeholder.\' + productUnits.unit | cxTranslate"\n        ></app-product-cards-cell>\n      </div>\n\n      <div\n        *ngIf="productUnits && productParams"\n        class="product-card__param"\n      >\n        <div\n          [ngbTooltip]="amountError"\n          placement="bottom auto"\n          triggers="manual"\n          class="d-inline-block"\n          tooltipClass="tooltip--big"\n          #amountTooltip="ngbTooltip"\n        >\n          <input\n            [formControl]="productParams.get(\'quantity\')"\n            [maskito]="productUnits.unit === UNITS.PIECES ? piecesMask : tonsMask"\n            placeholder="{{ \'placeholder.\' + productParams.get(\'units\').value | cxTranslate }}"\n            type="text"\n            class="product-card__input-amount"\n            #quantityEl\n          >\n        </div>\n        <ng-template #amountError>\n          <div class="error-base-color d-flex align-items-center">\n            <svg-icon-sprite\n              src="error"\n              width="16"\n              height="16"\n              class="error-base-color mr-7"\n            ></svg-icon-sprite>\n            <cx-form-errors [control]="productParams.get(\'quantity\')"></cx-form-errors>\n          </div>\n        </ng-template>\n      </div>\n    </div>\n  </div>\n\n  <div *ngIf="isInvalid" class="local-message local-message--danger mt-10">\n    <div class="d-flex align-items-center">\n      <svg-icon-sprite\n        src="error"\n        width="24"\n        height="24"\n        class="local-message__icon"\n      ></svg-icon-sprite>\n      <span>{{ \'text.cart.product.unAvailable\' | cxTranslate }}</span>\n    </div>\n  </div>\n\n  <div *ngIf="inProcess" class="loader-in-process">\n    <app-loader size="36px"></app-loader>\n  </div>\n</ng-container>\n\n\n<ng-template #propertyCellTemplate let-property="property" let-isLargeFont="isLargeFont">\n  <div class="product-card__param">\n    <app-product-cards-cell\n      *ngIf="property?.featureValues?.length"\n      [title]="property?.name"\n      [value]="property?.featureValues[0]?.value | changePropertyValue: { code:property.code, dimension: dimension, diameter: diameter }"\n      [isLargeFont]="isLargeFont"\n    ></app-product-cards-cell>\n  </div>\n</ng-template>\n',styles:[Yy()]})],fd);var qy=i(22558),Hy=i.n(qy);let Jr=class{constructor(e,t,s,o,l,u,h){this.reorderService=e,this.cartService=t,this.multiCartService=s,this.router=o,this.translateService=l,this.globalMessageService=u,this.agreementFacetService=h,this.showAlways=!1,this.entriesCount$=this.reorderService.entriesCount$,this.entriesValidCount$=this.reorderService.entriesValidCount$,this.currentAgreement$=this.agreementFacetService.currentAgreement$,this.destroy$=new R.B}ngOnInit(){}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}addToCart(){this.entriesValidCount$.value&&(this.reorderService.orderEntries$.next([]),this.reorderService.isAddClicked$.next(!0),this.reorderService.orderEntries$.pipe((0,B.p)(e=>e.length===this.entriesValidCount$.value),(0,k.n)(()=>this.cartService.getCart()),(0,me.$)(),(0,k.n)(e=>e&&Object.keys(e).length>0?(0,$.of)(e):this.multiCartService.createCart({userId:ht.userId}).pipe((0,B.p)(t=>!(0,se.Im)(t)))),(0,k.n)(e=>this.reorderService.addToCart(e.code)),(0,x.Q)(this.destroy$)).subscribe(e=>{const t=e?.cartModifications;e.allFailed?this.showError(t[0]):t.length>0&&(t.find(s=>s.statusCode!==te.SUCCESS.toString())?t.forEach(s=>{this.showError(s)}):(this.cartService.reOrderPlaced$.next(!0),this.multiCartService.loadCart(ht),this.router.navigate([M.CART]).then()))}))}showError(e){const t=this.currentAgreement$.value.code;if(!e||e.statusCode===te.SUCCESS.toString())return;let s;switch(e.statusCode?.toString()){case te.CONTRACT_DOES_NOT_EXIST:case te.START_END_DATE:s=this.translateService.transform(`text.cart.reOrderErrors.${e.statusCode}`,{code:t});break;case te.PRODUCT_DOES_NOT_EXIST:case te.WRONG_SCHEDULING_ITEM:case te.NO_STOCK:case te.WRONG_REMAINING_TONNAGE:s=this.translateService.transform(`text.cart.reOrderErrors.${e.statusCode}`,{index:e.indexFailed+1});break;case te.PRODUCT_NO_APPROVED:case te.SPECREF:default:s=this.translateService.transform(`text.cart.reOrderErrors.${e.statusCode}`)}this.globalMessageService.add(s,p.NCV.MSG_TYPE_ERROR)}static#e=this.ctorParameters=()=>[{type:dn},{type:ye},{type:se.Z1},{type:y.Ix},{type:p.D97},{type:p.S8D},{type:Ee}];static#t=this.propDecorators={showAlways:[{type:n.pde}]}};Jr=(0,r.Cg)([(0,n.uAl)({selector:"app-reorder-add-to-card",template:'<div\n  *ngIf="(entriesCount$ | async) > 5 || showAlways"\n  class="reorder-add"\n>\n  <div class="reorder-add__desc">\n    <svg-icon-sprite class="reorder-add__desc-icon" src="info" width="16" height="16"></svg-icon-sprite>\n    {{ \'orderDetails.reOrderPage.addText\' | cxTranslate }}\n  </div>\n  <button\n    (click)="addToCart()"\n    [disabled]="(entriesValidCount$ | async) <= 0"\n    class="reorder-add__button btn btn--md btn-default"\n  >\n    {{ \'orderDetails.reOrderPage.addAll\' | cxTranslate }}\n    <svg-icon-sprite class="reorder-add__button-icon" src="shopping_cart" width="18" height="18"></svg-icon-sprite>\n  </button>\n</div>\n',styles:[Hy()]})],Jr);var Wy=i(60170),Ky=i.n(Wy);let wt=class{constructor(e,t,s,o,l){this.facetService=e,this.translatePipe=t,this.http=s,this.occEndpoints=o,this.routingService=l,this.facetList$=this.facetService.facetList$.pipe((0,z.M)(u=>{const h=u.facets.find(_=>_.code===ie.PRODUCT_TYPE);if(this.isLoaded$.next(!1),this.facetUpdated=!1,this.typeFacet!==h)if(1===h?.values?.length&&[Ae.STRIP_AGREEMENT,Ae.PLATE_AGREEMENT.toString()].includes(h?.values[0].name)){if(this.searchGroups$.getValue())return void this.isLoaded$.next(!0);this.query$.subscribe(_=>{_&&_.split(ee_CODE).length>1?this.routingService.go({params:{query:_.split(ee_CODE)[0]}}):(this.typeFacet=h,this.facetUpdated=!0)}).unsubscribe(),this.typeFacet=h}else this.typeFacet=h,this.facetUpdated=!0})),this.query$=this.routingService.getRouterState().pipe((0,me.$)(),(0,w.T)(u=>u.state.queryParams.query)),this.facetUpdated=!1,this.typeFacet=null,this.searchGroups$=new P.t(null),this.searchTabs$=new P.t(null),this.activeGroup$=new P.t(null),this.activeTab$=new P.t(null),this.isLoaded$=new P.t(!0),this.isCategoryLoaded$=new P.t(!0),this.isAgreementLoaded$=new P.t(!0)}init(){this.sub=this.facetList$.subscribe(e=>{e&&this.facetUpdated&&this.setTotal()}),this.activeGroup$.subscribe(e=>{e&&(this.isLoaded$.next(!1),this.searchTabs$.next(this.typeFacet?.values.filter(t=>t.name.startsWith(e.toUpperCase())).map(t=>({...t,displayName:this.translatePipe.transform(`searchBox.${e}.${t.name.toLowerCase()}`),subtext:t.count}))))})}destroy(){this.sub.unsubscribe()}setTotal(){const e={name:"strip",total:0},t={name:"plate",total:0};this.typeFacet?.values.forEach(s=>{s.selected&&this.activeTab$.next(s.name),s.name.startsWith("STRIP_")?(e.total+=s.count,s.selected&&this.activeGroup$.next("strip")):(t.total+=s.count,s.selected&&this.activeGroup$.next("plate"))}),this.searchGroups$.next([e,t]),this.isLoaded$.next(!0),this.isCategoryLoaded$.next(!0)}getAgreements(e){return this.http.get(this.getAgreementEndpoint(),{params:{codes:e.join(",")}})}getAgreementEndpoint(){return this.occEndpoints.buildUrl(E.AGREEMENTS_CODES)}static#e=this.ctorParameters=()=>[{type:v.rOA},{type:p.D97},{type:U.Qq},{type:p.zxz},{type:p.Oie}]};wt=(0,r.Cg)([(0,n._qm)()],wt);let eo=class extends Wr{constructor(e,t,s,o,l,u){super(u,l),this.searchService=e,this.translatePipe=t,this.agreementFacetService=s,this.routingService=o,this.breakpointService=l,this.changeDetection=u,this.agreements$=this.routingService.getRouterState().pipe((0,me.$)(),(0,k.n)(h=>(this.baseQuery=h.state.queryParams.contract,super.initBreakpointSub(),this.searchService.getAgreements([`${this.baseQuery}`]))),(0,z.M)(h=>h.length&&this.agreementFacetService.currentAgreement$.next(h[0]))),this.currentAgreement$=this.agreementFacetService.currentAgreement$.pipe((0,z.M)(h=>{h&&(this.isVolumeBasedTab=!!h.volumeBased,this.changeDetection.detectChanges())})),this.search=new m.hs(""),this.baseQuery="",this.isVolumeBasedTab=!1,this.isOpened=!1}ngOnInit(){}getTabs(e){const t=!!e.find(o=>o.volumeBased),s=!!e.find(o=>!o.volumeBased);return[{name:this.translatePipe.transform("text.facetNavigation.agreementFacet.tabs.volumeBased"),code:!0,disabled:!t},{name:this.translatePipe.transform("text.facetNavigation.agreementFacet.tabs.sku"),code:!1,disabled:!s}]}toggle(){this.isOpened=!this.isOpened}resetSearch(){this.search.setValue("")}static#e=this.ctorParameters=()=>[{type:wt},{type:p.D97},{type:Ee},{type:p.Oie},{type:v.dci},{type:n.gRc}]};eo=(0,r.Cg)([(0,n.uAl)({selector:"app-reorder-agreements",template:'  <div class="search-agreements" *ngIf="agreements$ | async as agreements">\n    <ng-container *ngIf="agreements.length > 0">\n      <div [class.contracts--hidden]=isOpened class="contracts">\n        <div class="contracts__content">\n          <div class="contracts__head">\n            <div class="contracts__title d-flex align-items-center" (click)="toggle()">\n              {{ \'text.facetNavigation.agreementFacet.myContracts\' | cxTranslate }}\n\n              <div class="contracts__toggle-icons">\n                <svg-icon-sprite width="24px" height="24px" src="expand_more"\n                                 class="contracts__expand-icon"></svg-icon-sprite>\n                <svg-icon-sprite width="24px" height="24px" src="close"\n                                 class="contracts__close-icon"></svg-icon-sprite>\n                <svg-icon-sprite width="24px" height="24px" src="description"\n                                 class="contracts__description-icon"></svg-icon-sprite>\n              </div>\n            </div>\n          </div>\n          <div *ngIf="isOpened" class="contracts__body">\n            <div class="contracts__tabs">\n              <app-tabs-radio\n                [items]="getTabs(agreements)"\n                [(selectedItem)]="isVolumeBasedTab"\n                bindProperty="code"\n                showProperty="name"\n                size="small"\n                class="w-100"\n              ></app-tabs-radio>\n            </div>\n            <div class="contracts__search">\n              <svg-icon-sprite\n                class="contracts__search--icon"\n                src="search"\n                width="18"\n                height="18"\n              ></svg-icon-sprite>\n              <app-input\n                type="number"\n                [label]="\'placeholder.search\' | cxTranslate"\n                [controlData]="search"\n                [showIcon]="false"\n              ></app-input>\n              <svg-icon-sprite\n                *ngIf="search.value"\n                class="contracts__search--reset"\n                src="close"\n                width="18"\n                height="18"\n                (click)="resetSearch()"\n              ></svg-icon-sprite>\n            </div>\n\n            <scrollbar class="contracts__agreements">\n              <app-agreement-facet-item\n                *ngFor="let agreement of agreements; let count = index"\n                [currentAgreement]="currentAgreement$ | async"\n                [agreement]="agreement"\n                [count]=count\n                [isVolumeBasedTab]="isVolumeBasedTab"\n                [searchValue]="search.value"\n                [isSearch]="true"\n                [queryBase]="baseQuery"\n\n                (agreementChange)="resetSearch()"\n              ></app-agreement-facet-item>\n            </scrollbar>\n          </div>\n        </div>\n      </div>\n    </ng-container>\n  </div>\n',styles:[Ky()]})],eo);var Zy=i(8690),Jy=i.n(Zy);let to=class{constructor(e){this.reorderService=e,this.orderCode$=this.reorderService.orderCode$,this.ROUTE_URL=M}ngOnInit(){}static#e=this.ctorParameters=()=>[{type:dn}]};to=(0,r.Cg)([(0,n.uAl)({selector:"app-reorder-header",template:'<div *ngIf="orderCode$ | async as orderCode">\n  <a [routerLink]="{ cxRoute: \'orderDetails\', params: { code: orderCode } } | cxUrl">\n    <app-back-button class="reorder__title">\n      {{ \'orderDetails.reOrderPage.backToOrder\' | cxTranslate : { orderCode: orderCode } }}\n    </app-back-button>\n  </a>\n\n  <app-page-title class="reorder__order-number">\n    {{ \'orderDetails.reOrderPage.pageTitle\' | cxTranslate }}\n  </app-page-title>\n\n  <app-reorder-add-to-card [showAlways]="true"></app-reorder-add-to-card>\n</div>\n',styles:[Jy()]})],to);var tS=i(61474),nS=i.n(tS);let no=class{constructor(e,t,s){this.agreementFacetService=e,this.reorderService=t,this.routingService=s,this.destroyed$=new R.B,this.currentAgreement$=this.agreementFacetService.currentAgreement$,this.orderEntries$=this.routingService.getRouterState().pipe((0,me.$)(),(0,k.n)(o=>(this.reorderService.orderCode$.next(o.state.queryParams.order),this.reorderService.getOrderEntries(o.state.queryParams.order))),(0,z.M)(o=>{this.reorderService.entriesCount$.next(o.orderEntries.length),this.reorderService.entriesValidCount$.next(o.orderEntries.filter(l=>!l.reOrderInvalid)?.length)})),this.agreement=null,this.PRODUCT_TYPE=Z}ngOnInit(){this.initProductSchedulingLines()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete(),this.reorderService.reset()}initProductSchedulingLines(){this.currentAgreement$.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.agreement=e})}getSchedulingLines(e){if(this.agreement?.agreementProducts?.length)return this.agreement.volumeBased?this.agreement.agreementProducts[0]?.schedulingLines:this.agreement.agreementProducts?.find(t=>t.product===e)?.schedulingLines}static#e=this.ctorParameters=()=>[{type:Ee},{type:dn},{type:p.Oie}]};no=(0,r.Cg)([(0,n.uAl)({selector:"app-reorder-product-cards",template:'<ng-container *ngIf="currentAgreement$ | async as currentAgreement">\n  <ng-container *ngIf="orderEntries$ | async as orderEntries">\n\n    <ng-container\n      *ngIf="orderEntries.orderEntries.length &&\n      orderEntries.orderEntries[0].product.productionType === PRODUCT_TYPE.STRIP;\n      else plate"\n    >\n      <app-reorder-product-card-variant-strip\n        *ngFor="let variantProduct of orderEntries.orderEntries"\n        [currentAgreement]="currentAgreement"\n        [product]="variantProduct.product"\n        [schedulingLines]="getSchedulingLines(variantProduct.product.code)"\n        [unit]="variantProduct.unit"\n        [quantity]="variantProduct.quantity"\n        [isInvalid]="variantProduct.reOrderInvalid"\n        class="product-card-wrapper product-card-wrapper--reorder"\n      ></app-reorder-product-card-variant-strip>\n    </ng-container>\n\n    <ng-template #plate>\n      <app-reorder-product-card-variant-plate\n        *ngFor="let variantProduct of orderEntries.orderEntries"\n        [currentAgreement]="currentAgreement"\n        [product]="variantProduct.product"\n        [schedulingLines]="getSchedulingLines(variantProduct.product.code)"\n        [unit]="variantProduct.unit"\n        [quantity]="variantProduct.quantity"\n        [isInvalid]="variantProduct.reOrderInvalid"\n        class="product-card-wrapper product-card-wrapper--reorder"\n      ></app-reorder-product-card-variant-plate>\n    </ng-template>\n\n  </ng-container>\n</ng-container>\n',styles:[nS()]})],no);let Cd=class{};Cd=(0,r.Cg)([(0,n.UQu)({declarations:[no,to,Jr,eo,fd,xd],imports:[S.MD,p.htr.withConfig({cmsComponents:{ReOrderListingHeader:{component:to},ReOrderListingFooter:{component:Jr},AgreementReOrderProductListComponent:{component:eo,guards:[j]},ReorderProductListComponent:{component:no,guards:[j]}}}),V.F2,it,ce,Ln,Te,p.LP3,ln,ge,xe,v.GQ,st.MQ,Xe.n8,m.X1,Ft.u,ps,be,y.iI,p.YYe]})],Cd);var iS=i(82281),rS=i.n(iS);let gs=class{constructor(){this.disabled=!1,this.noMargin=!1,this.onChange=e=>{},this.onBlur=e=>{}}get checked(){return this._checked}set checked(e){this._checked=e}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onBlur=e}setDisabledState(e){this.disabled=e}writeValue(e){this.checked=e}onChanged(e){this.checked=!!e?.target?.checked,this.onChange(this.checked)}static#e=this.propDecorators={checked:[{type:n.pde}],disabled:[{type:n.pde}],noMargin:[{type:n.pde}],label:[{type:n.pde}]}};gs=(0,r.Cg)([(0,n.uAl)({selector:"app-switcher",template:'<label class="switcher" [class.mb-0]="noMargin">\n  <input\n    type="checkbox"\n\n    [checked]="checked"\n    [disabled]="disabled"\n\n    (blur)="onBlur($event)"\n    (change)="onChanged($event)"\n  />\n  <span class="switcher__title" [class.switcher__title--small]="noMargin">\n    {{ label }}\n  </span>\n</label>\n',providers:[{provide:m.kq,useExisting:(0,n.Rfq)(()=>gs),multi:!0}],styles:[rS()]})],gs);let so=class{};so=(0,r.Cg)([(0,n.UQu)({declarations:[gs],imports:[S.MD],exports:[gs]})],so);var oS=i(5938),aS=i(54875);var lS=i(99244),dS=i.n(lS);let io=class{constructor(e,t,s){this.http=e,this.occEndpoints=t,this.router=s,this.DELAY_REQUEST=1e4,this.MAX_DELAY_REQUEST=18e4,this.CURRENT_DELAY_REQUEST=0,this.previousUrl=null,this.selectedCompanies$=new P.t(""),this.router.events.pipe((0,B.p)(o=>o instanceof y.ld),(0,qc.J)()).subscribe(o=>{this.previousUrl=o[0].urlAfterRedirects.split("/")[2]})}getCompanies(){const e=this.occEndpoints.buildUrl(E.USER.COMPANIES);return this.http.get(e)}getPreviousUrl(){return this.previousUrl}static#e=this.ctorParameters=()=>[{type:U.Qq},{type:p.zxz},{type:y.Ix}]};var kn;io=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],io),function(a){a.STRIP="_7040_",a.PLATE="_7030_"}(kn||(kn={}));let ro=class{constructor(e,t,s,o,l){this.businessUnitService=e,this.changeDetection=t,this.globalMessageService=s,this.router=o,this.activatedRoute=l,this.destroy$=new R.B,this.lastSalesOrg=null,this.isLoading=!0,this.isUpdate=!1;const u=l.snapshot.url[1].path;this.companies$=this.businessUnitService.getCompanies().pipe((0,B.p)(Boolean),(0,fe.E)("companies"),(0,z.M)(h=>{h.length>1&&(h[0].companyId.indexOf(kn.STRIP)>0&&"strip"===u?this.businessUnitService.selectedCompanies$.next(h[0].companyId):this.businessUnitService.selectedCompanies$.next(h[1].companyId))}))}ngOnInit(){const e=this.activatedRoute.snapshot.url[2].path;this.businessUnitService.selectedCompanies$.pipe((0,B.p)(t=>t&&(t!==this.lastSalesOrg||this.isUpdate)),(0,k.n)(t=>{this.isLoading=!0,this.lastSalesOrg=t,this.isUpdate=!1;const s=this.businessUnitService.getPreviousUrl();return console.log(s),t.indexOf(kn.STRIP)>0&&"strip"!==s?this.router.navigate(["/help/strip/navigation"]):t.indexOf(kn.STRIP)>0&&"strip"===s?this.router.navigate(["/help/strip/",e]):t.indexOf(kn.PLATE)>0&&"plate"!==s?this.router.navigate(["/help/plate/quotations"]):this.router.navigate(["/help/plate/",e])}),(0,x.Q)(this.destroy$)).subscribe(t=>{this.isLoading=!1,this.changeDetection.detectChanges()})}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete(),this.businessUnitService.selectedCompanies$.next(null)}static#e=this.ctorParameters=()=>[{type:io},{type:n.gRc},{type:p.S8D},{type:y.Ix},{type:y.nX}]};ro=(0,r.Cg)([(0,n.uAl)({selector:"app-business-unit",template:'<ng-container *ngIf="companies$ | async as companies">\n  <ng-container *ngIf="companies.length; else notFound">\n      <div class="business-unit">\n        <ng-container>\n          <div class="business-unit__top">\n            <app-business-unit-company class="business-unit__top-company" [companies]="companies" ></app-business-unit-company>\n          </div>\n        </ng-container>\n      </div>\n  </ng-container>\n</ng-container>\n',styles:[dS()]})],ro);var uS=i(50608),hS=i.n(uS);let bd=class{constructor(e){this.businessUnitService=e,this.destroy$=new R.B,this.businessForm=new m.J3({unit:new m.hs(null)})}ngOnInit(){this.businessForm.get("unit").valueChanges.pipe((0,x.Q)(this.destroy$)).subscribe(e=>{this.selectedCompany=this.companies.find(t=>t.companyId===e),this.businessUnitService.selectedCompanies$.next(e)}),this.businessForm.get("unit").setValue(this.businessUnitService.selectedCompanies$.value)}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}static#e=this.ctorParameters=()=>[{type:io}];static#t=this.propDecorators={companies:[{type:n.pde}]}};bd=(0,r.Cg)([(0,n.uAl)({selector:"app-business-unit-company",template:'<app-toggle-card\n  *ngIf="companies && companies.length"\n  class="business-unit-company"\n  [overflowVisible]="true"\n  [isExpand]="true"\n  [hideToggleButton]="false"\n>\n  <span header-left class="business-unit-company__title">\n    {{ \'text.businessUnit.company.title\' | cxTranslate }}\n  </span>\n  <div toggle-body>\n    <div>\n      <div class="business-unit-company__body">\n        <app-select\n          *ngIf="companies.length > 1; else staticValue"\n          [clearable]="false"\n          [controlData]="businessForm.get(\'unit\')"\n          [items]="companies"\n          [placeholder]="\'text.businessUnit.company.select\' | cxTranslate"\n          bindValue="companyId"\n          bindLabel="description"\n        ></app-select>\n\n        <ng-template #staticValue>\n          <div class="business-unit-company__select">\n            <div class="business-unit-company__select-title">{{ \'text.businessUnit.company.select\' | cxTranslate }}:</div>\n            <div class="business-unit-company__select-value">{{ companies[0].description }}</div>\n          </div>\n        </ng-template>\n      </div>\n\n    </div>\n  </div>\n</app-toggle-card>\n',styles:[hS()]})],bd);let yd=class{};yd=(0,r.Cg)([(0,n.UQu)({declarations:[ro,bd],imports:[S.MD,p.htr.withConfig({cmsComponents:{BusinessUnitComponent:{component:ro,guards:[j]}}}),be,V.F2,ze,ce,Xe.n8,p.LP3,ge,Te]})],yd);var gS=i(90401);var _S=i(94297),vS=i.n(_S);let oo=class{constructor(e,t,s,o,l,u,h,_){this.cookieService=e,this.baseSiteService=t,this.componentData=s,this.eventBus=o,this.gtmService=l,this.authService=u,this.userConsentService=h,this.consentService=_,this.GDPRCookies=null,this.optionalCookies=Object.values(Oe_OPTIONAL_ARRAY),this.destroyed$=new R.B,this.isNeedReload$=new P.t(!1),this.nonObligatoryQueue=0,this.nonObligatoryQueueSuccess=0,this.isLoggedIn$=this.authService.isUserLoggedIn(),this.isTrading=null,this.isAnalyticalAllow=!0,this.isFunctionalAllow=!1,this.isAdvertisingAllow=!1,this.isAnalyticalState=!0,this.isFunctionalState=!1,this.isAdvertisingState=!1,this.settingsIsOpen=!1,this.isLoggedIn=!0,this.analyticalConsent=null,this.advertisingConsent=null,this.functionalConsent=null,this.optionalConsents=[],this.ROUTE_URL=M,this.isShowBanner$=new P.t(!0),this.data$=this.componentData.data$,this.gdprIsOpenByButton=!1}ngOnInit(){this.isLoggedIn$.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.isLoggedIn=e,e?this.initReg():this.initAnonymous()}),this.eventBus.on(J_GDPR_OPEN).subscribe(()=>{this.gdprIsOpenByButton=!0,this.allowToState()})}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}initGDPR(){this.baseSiteService.getActive().pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.isTrading=e===Re.TRADING||e===Re.STEELENA||e===Re.TURKEY,this.GDPRCookies=this.isTrading?Object.values(Oe_GDPR_TRADING):Object.values(Oe_GDPR),this.updateBannerState()}).unsubscribe()}initAnonymous(){this.GDPRCookies||this.initGDPR(),this.isAnalyticalState=!!this.cookieService.get(Oe_ANALYTICAL),this.isAdvertisingState=!!this.cookieService.get(Oe_ADVERTISING),this.isFunctionalState=!!this.cookieService.get(Oe_FUNCTIONAL)}initReg(){this.subscribers(),this.userConsentService.getConsents().pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.optionalConsents=this.consentService.groupConsentByName(e,Oe_OPTIONAL_),this.advertisingConsent=this.findConsentById(Oe_ADVERTISING),this.analyticalConsent=this.findConsentById(Oe_ANALYTICAL),this.functionalConsent=this.findConsentById(Oe_FUNCTIONAL),this.isAnalyticalState=this.consentService.isConsentGiven(this.analyticalConsent),this.isAdvertisingState=this.consentService.isConsentGiven(this.advertisingConsent),this.isFunctionalState=this.consentService.isConsentGiven(this.functionalConsent),this.updateBannerState()})}updateBannerState(){this.closeSettings(),this.isShowBanner$.next(!this.isLoggedIn&&!this.GDPRCookies.every(e=>this.cookieService.check(e)))}findConsentById(e){return this.optionalConsents.find(t=>t.id===e)?.currentConsent}setGDPRConsent(e=!0){this.isLoggedIn?this.setRegConsent():this.setAnonConsent(e)}setCookiesArray(e){e.forEach(t=>{this.cookieService.check(t)||this.cookieService.set(t,"true")})}setOptionalCookies(e,t,s,o=!1){e!==t&&(e?this.cookieService.set(s,"true"):(this.cookieService.delete(s),o&&this.gtmService.removeGtmAndDisable()))}updateState(e=!1){e?(this.isFunctionalState=!0,this.isAdvertisingState=!0,this.isAnalyticalState=!0):(this.isAnalyticalState=this.isAnalyticalAllow,this.isAdvertisingState=this.isAdvertisingAllow,this.isFunctionalState=this.isFunctionalAllow)}toggleSettings(){this.settingsIsOpen=!this.settingsIsOpen}changeAnalytic(){this.isAnalyticalAllow=!this.isAnalyticalAllow}changeAdvertising(){this.isAdvertisingAllow=!this.isAdvertisingAllow}changeFunctional(){this.isFunctionalAllow=!this.isFunctionalAllow}closeSettings(){this.settingsIsOpen=!1,this.gdprIsOpenByButton=!1,this.allowToState()}allowToState(){this.isAnalyticalAllow=this.isAnalyticalState,this.isAdvertisingAllow=this.isAdvertisingState,this.isFunctionalAllow=this.isFunctionalState}withdrawConsent(e){this.userConsentService.withdrawConsent(e.currentConsent.code),this.cookieService.delete(e.id)}updateConsent(e,t,s){if(t!==e){const o=this.optionalConsents.find(l=>l.currentConsent===s);return e?(this.userConsentService.giveConsent(o.id,o.version),!0):(this.nonObligatoryQueue+=1,this.withdrawConsent(o),o.id===Oe_ANALYTICAL&&this.isNeedReload$.next(!0),!1)}return t}setAnonConsent(e){e?(this.setCookiesArray(this.GDPRCookies.concat(this.optionalCookies)),this.updateState(!0)):(this.setCookiesArray(this.GDPRCookies),this.setOptionalCookies(this.isAnalyticalAllow,this.isAnalyticalState,Oe_ANALYTICAL,!0),this.setOptionalCookies(this.isAdvertisingAllow,this.isAdvertisingState,Oe_ADVERTISING),this.setOptionalCookies(this.isFunctionalAllow,this.isFunctionalState,Oe_FUNCTIONAL),this.updateState()),this.updateBannerState()}setRegConsent(){this.isAdvertisingState=this.updateConsent(this.isAdvertisingAllow,this.isAdvertisingState,this.advertisingConsent),this.isFunctionalState=this.updateConsent(this.isFunctionalAllow,this.isFunctionalState,this.functionalConsent),this.isAnalyticalState=this.updateConsent(this.isAnalyticalAllow,this.isAnalyticalState,this.analyticalConsent),this.updateBannerState()}isNonObligatoryQueue(){this.nonObligatoryQueue===this.nonObligatoryQueueSuccess&&this.gtmService.removeGtmAndDisable()}subscribers(){this.userConsentService.getWithdrawConsentResultSuccess().pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{e&&(this.nonObligatoryQueue>0&&(this.nonObligatoryQueueSuccess+=1,this.reloadIfItNeed()),this.userConsentService.loadConsents(),this.userConsentService.resetWithdrawConsentProcessState())})}reloadIfItNeed(){return this.isNeedReload$.value&&this.isNonObligatoryQueue()}static#e=this.ctorParameters=()=>[{type:In.O},{type:p.ASs},{type:v.TLs},{type:ve.u},{type:wn},{type:p.uRZ},{type:p.FX3},{type:on}]};oo=(0,r.Cg)([(0,n.uAl)({selector:"app-anonymous-consent-management-banner-component",template:'<ng-container *ngIf="data$ | async as data">\n  <ng-container *ngIf="gdprIsOpenByButton || (isShowBanner$ | async) as isShowBanner">\n    <div\n      *ngIf="isShowBanner"\n      class="gdpr"\n    >\n      <div class="gdpr__head container" *ngIf="!gdprIsOpenByButton && !settingsIsOpen">\n        <div class="gdpr__title">{{ data.mainTitle }}</div>\n        <div *ngIf="data.subTitle" class="gdpr__subtitle">{{ data.subTitle }}</div>\n          <ng-container *ngIf="!isTrading; else trading">\n            <p class="gdpr__text">\n              {{ data.textStart }}\n              <a [href]="data.linkCookiePolicy" target="_blank" class="gdpr__link">{{ data.textLinkCookiePolicy }}</a>\n              {{ data.textMiddle }}\n              <a [href]="data.readMoreLink" target="_blank" class="gdpr__link">{{ data.textLinkPrivacyPolicy }}</a>{{ data.textEnd }}\n              <a [href]="data.linkTermOfUse" target="_blank" class="gdpr__link">{{ data.textLinkTermOfUse }}</a>\n            </p>\n          </ng-container>\n          <ng-template #trading>\n            <p class="gdpr__text">\n              {{ \'consentBanner.textTitle\' | cxTranslate }}\n              <a [href]="ROUTE_URL.STATIC_PAGES.PRIVACY_STATEMENT" target="_blank" class="gdpr__link">{{ \'consentBanner.privacyPolicy\' | cxTranslate }}</a>\n              {{ \'consentBanner.text\' | cxTranslate}}\n              <a [href]="ROUTE_URL.STATIC_PAGES.DISCLAIMER" target="_blank" class="gdpr__link">\n                {{ \'consentBanner.cookiePolicy\' | cxTranslate }}\n              </a>\n              {{ \'consentBanner.textEnd\' | cxTranslate }}\n            </p>\n          </ng-template>\n        <div class="gdpr__buttons">\n          <button\n            (click)="toggleSettings()"\n            class="btn btn-secondary btn--md gdpr__buttons-button"\n          >\n            {{ \'button.cookieSettings\' | cxTranslate }}\n          </button>\n          <button\n            (click)="setGDPRConsent()"\n            class="btn btn-default btn--md gdpr__buttons-button"\n          >\n            {{ \'button.iAgree\' | cxTranslate }}\n          </button>\n        </div>\n      </div>\n      <div\n        *ngIf="settingsIsOpen || gdprIsOpenByButton"\n        class="gdpr__settings"\n        (clickOutside)="closeSettings()"\n        exclude=".gdpr__buttons-button"\n      >\n        <div class="gdpr__settings-title">\n          <span>{{ data.settingsTitle }}</span>\n          <svg-icon-sprite\n            class="gdpr__settings-icon"\n            src="clear"\n            width="18"\n            height="18"\n            (click)="closeSettings()"\n          ></svg-icon-sprite>\n        </div>\n        <app-cookie-switcher\n          [disabled]="true"\n          [checked]="true"\n          [cookieName]="data.strictlyCookieName"\n          [cookieText]="data.strictlyCookieText"\n        ></app-cookie-switcher>\n        <app-cookie-switcher\n          [checked]="isFunctionalAllow"\n          [cookieName]="data.functionalCookieName"\n          [cookieText]="data.functionalCookieText"\n          (cookieChange)="changeFunctional()"\n        ></app-cookie-switcher>\n        <app-cookie-switcher\n          [checked]="isAnalyticalAllow"\n          [cookieName]="data.analyticalCookieName"\n          [cookieText]="data.analyticalCookieText"\n          (cookieChange)="changeAnalytic()"\n        ></app-cookie-switcher>\n        <app-cookie-switcher\n          [checked]="isAdvertisingAllow"\n          [cookieName]="data.advertisingCookieName"\n          [cookieText]="data.advertisingCookieText"\n          (cookieChange)="changeAdvertising()"\n        ></app-cookie-switcher>\n        <div class="d-flex justify-content-center mt-30">\n          <button\n            class="btn btn-default btn--md gdpr__settings-button"\n            (click)="setGDPRConsent(false)"\n          >\n            {{\'button.savePreferences\' | cxTranslate}}\n          </button>\n        </div>\n      </div>\n    </div>\n  </ng-container>\n</ng-container>\n',styles:[vS()]})],oo);var fS=i(48444),CS=i.n(fS);let Sd=class{constructor(){this.cookieName=null,this.cookieText=null,this.checked=!1,this.code=null,this.disabled=!1,this.cookieChange=new n.bkB,this.isOpen=!1}onClick(e){e.preventDefault(),!this.disabled&&this.cookieChange.emit()}toggle(){this.isOpen=!this.isOpen}static#e=this.propDecorators={cookieName:[{type:n.pde}],cookieText:[{type:n.pde}],checked:[{type:n.pde}],code:[{type:n.pde}],disabled:[{type:n.pde}],cookieChange:[{type:n.k7i}]}};Sd=(0,r.Cg)([(0,n.uAl)({selector:"app-cookie-switcher",template:'<div class="cookie-switcher">\n  <div class="cookie-switcher__toggle">\n    <app-switcher\n      [class.cookie-switcher__toggle--disabled]="disabled"\n      [checked]="checked"\n      [disabled]="disabled"\n      [noMargin]="true"\n      (click)="onClick($event)"\n    ></app-switcher>\n    <div (click)="toggle()">\n      <span class="cookie-switcher__toggle-name">\n        {{ cookieName }}\n      </span>\n      <svg-icon-sprite\n        src="expand_less"\n        [class.cookie-switcher__toggle-icon--close]="!isOpen"\n        class="cookie-switcher__toggle-icon"\n        width="16px"\n      ></svg-icon-sprite>\n    </div>\n  </div>\n  <div *ngIf="isOpen" class="cookie-switcher__text">{{ cookieText }}</div>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[CS()]})],Sd);var yS=i(43963),SS=i.n(yS);let ao=class{constructor(e,t,s){this.cmsService=e,this.launchDialogService=t,this.baseSiteService=s,this.subscription=new X.yU,this.type=Pe.LOGIN,this.baseSite$=this.baseSiteService.getActive(),this.MODAL_TYPES=Pe,this.ACTIVE_SITE=Re}ngOnInit(){this.page$=this.getPage(),this.subscription.add(this.launchDialogService.data$.subscribe(e=>{e?.type&&this.onChangeType(e.type),this.header=e?.header}))}onChangeType(e){this.type=e,this.page$=this.getPage()}getPage(){return this.cmsService.getPage({id:this.type,type:p.g6_.CONTENT_PAGE})}close(e){this.launchDialogService.closeDialog(null),e?.stopPropagation()}closeModal(e){this.type!==Pe.REGISTER&&this.close(e)}ngOnDestroy(){this.subscription?.unsubscribe()}static#e=this.ctorParameters=()=>[{type:p.xYq},{type:v.PLe},{type:p.ASs}]};ao=(0,r.Cg)([(0,n.uAl)({selector:"app-auth",template:'<div class="cx-modal-container">\n  <div\n    class="cx-modal-content"\n  >\n    <div\n      *ngIf="baseSite$ | async as baseSite"\n      (clickOutside)="closeModal($event)"\n      delayClickOutsideInit="true"\n      exclude=".cx-modal-content"\n    >\n      <ng-container *ngIf="header">\n        <div class="controls d-flex modal-m">\n          <h6>{{ header }}</h6>\n          <div class="modal__close">\n            <svg-icon-sprite class="modal__close-icon" (click)="close($event)" src="close" width="18" height="18"></svg-icon-sprite>\n          </div>\n        </div>\n      </ng-container>\n      <div *ngIf="!header" class="controls d-flex modal-m">\n        <div\n          class="controls__item"\n          [class.is-active]="type === MODAL_TYPES.LOGIN"\n          (click)="onChangeType(MODAL_TYPES.LOGIN)"\n        >\n          {{ \'registrationModal.login\' | cxTranslate }}\n        </div>\n        <div class="controls__item"\n             [class.is-active]="type === MODAL_TYPES.REGISTER"\n             (click)="onChangeType(MODAL_TYPES.REGISTER)"\n        >\n          {{ baseSite === ACTIVE_SITE.TRADING || baseSite === ACTIVE_SITE.STEELENA || baseSite === ACTIVE_SITE.TURKEY ? (\'registrationModal.inquiry\' | cxTranslate) : (\'registrationModal.registration\' | cxTranslate) }}\n        </div>\n        <div class="modal__close">\n          <svg-icon-sprite class="modal__close-icon" (click)="close($event)" src="close" width="18" height="18"></svg-icon-sprite>\n        </div>\n      </div>\n      <ng-container *ngIf="(page$ | async)?.slots as slots; else loader">\n        <ng-container *ngFor="let component of slots.BodyContent.components">\n          <ng-template [cxComponentWrapper]="component"></ng-template>\n        </ng-container>\n      </ng-container>\n      <ng-template #loader>\n        <div class="text-center">\n          <app-loader></app-loader>\n        </div>\n      </ng-template>\n    </div>\n\n  </div>\n</div>\n',styles:[SS()]})],ao);var ES=i(99893),RS=i.n(ES);const OS={orders:[{label:"home",link:"/"},{label:"orders"},{label:"activeOrders"}],"order-history":[{label:"home",link:"/"},{label:"orders"},{label:"ordersHistory"}],order:[{label:"home",link:"/"},{label:"orders"},{label:"orderDetails"}],quotes:[{label:"home",link:"/"},{label:"quotes"},{label:"activeQuotes"}],"quotes-history":[{label:"home",link:"/"},{label:"quotes"},{label:"quotesHistory"}],"quote-details":[{label:"home",link:"/"},{label:"quotes"},{label:"quoteDetails"}],supportPage:[{label:"home",link:"/"},{label:"supportRequest"},{label:"createSupportRequest"}],"credit-limit":[{label:"home",link:"/"},{label:"finance"},{label:"creditLimits"}],"customers-listing":[{label:"home",link:"/"},{label:"myCompany"},{label:"users"}],"customers-editing":[{label:"home",link:"/"},{label:"myCompany"},{label:"users",link:M.MY_ACCOUNT.USERS.LISTING},{label:"editingUsers"}],"customers-create":[{label:"home",link:"/"},{label:"myCompany"},{label:"users",link:M.MY_ACCOUNT.USERS.LISTING},{label:"crateUser"}],"update-profile":[{label:"home",link:"/"},{label:"profile"},{label:"profileInformation"}],consents:[{label:"home",link:"/"},{label:"profile"},{label:"consentManagement"}],orderReportPage:[{label:"home",link:"/"},{label:"reports"},{label:"createOrderReport"}],deliveryReportPage:[{label:"home",link:"/"},{label:"reports"},{label:"createDeliveryReport"}],inquiryPage:[{label:"home",link:"/"},{label:"createInquiry"}],"address-book":[{label:"home",link:"/"},{label:"myCompany"},{label:"addressBook"}],"claims-list":[{label:"home",link:"/"},{label:"claims"},{label:"claimsList"}],"claim-create":[{label:"home",link:"/"},{label:"claims"},{label:"claimsCreate"}],"rts-list":[{label:"home",link:"/"},{label:"reports"},{label:"rtsList"}]};let co=class{constructor(e,t,s,o,l){this.pageMetaService=e,this.translation=t,this.orderTypeService=s,this.cmsService=o,this.routingService=l,this.PAGES_ID=q,this.PAGE_TEMPLATES=Em,this.ACCOUNT_BREADCRUMBS_MODEL=OS,this.cartPageId=[q.QUOTATION_CHECKOUT_PAGE,q.MTS_CHECKOUT_PAGE,q.MTO_CHECKOUT_PAGE,q.CART],this.catalogPageId=[q.CATALOG_QUOTE,q.CATALOG_ORDER],this.crumbs$=(0,Ce.z)([this.pageMetaService.getMeta(),this.translation.translate("common.home")]).pipe((0,w.T)(([u,h])=>u?.breadcrumbs?u.breadcrumbs:[{label:h,link:"/"}])),this.currentPage$=this.cmsService.getCurrentPage(),this.routingService$=this.routingService.getRouterState(),this.orderType$=this.orderTypeService.orderType$}ngOnInit(){}checkPageType(e,t){return t.includes(e)?e:""}static#e=this.ctorParameters=()=>[{type:p.Ucj},{type:p.L08},{type:gt},{type:p.xYq},{type:p.Oie}]};co=(0,r.Cg)([(0,n.uAl)({selector:"app-breadcrumbs",template:'<div class="container">\n  <div class="row">\n    <div class="col-12">\n      <scrollbar>\n        <div *ngIf="currentPage$ | async as page" class="breadcrumbs d-flex align-items-start">\n\n        <ng-container *ngIf="page.pageId === PAGES_ID.PRODUCT_LIST && orderType$ | async as orderType">\n          <app-breadcrumbs-page-name icon="list_alt" [text]=" \'navigation.breadcrumbsTitle.productList.\' +\n            orderType?.facetValueCode.toLowerCase() | cxTranslate"\n          ></app-breadcrumbs-page-name>\n        </ng-container>\n\n        <ng-container *ngIf="checkPageType(page.pageId, catalogPageId)">\n          <app-breadcrumbs-page-name icon="list_alt" [text]="\'navigation.breadcrumbsTitle.myCatalogue.\' +\n            page.pageId[0].toLowerCase() + page.pageId.slice(1) | cxTranslate"\n          ></app-breadcrumbs-page-name>\n        </ng-container>\n\n        <ng-container *ngIf="page.pageId === PAGES_ID.PLATE_CONFIGURE">\n          <app-breadcrumbs-page-name icon="tune" [text]="page.title" [isConfigurator]="true"></app-breadcrumbs-page-name>\n        </ng-container>\n\n        <ng-container *ngIf="page.template === PAGE_TEMPLATES.ACCOUNT_PAGE">\n          <app-breadcrumbs-page-name icon="person" [text]="\'navigation.breadcrumbsTitle.accountPage\' | cxTranslate"></app-breadcrumbs-page-name>\n        </ng-container>\n\n        <div *ngIf="PAGE_TEMPLATES.ACCOUNT_PAGE.includes(page.template); else defaultBreadcrumbs" class="breadcrumbs__item">\n          <app-breadcrumbs-navigation\n            [crumbs]="ACCOUNT_BREADCRUMBS_MODEL[page.pageId]"\n            [customLabel]="true"\n          ></app-breadcrumbs-navigation>\n        </div>\n\n        <ng-template #defaultBreadcrumbs>\n          <div class="breadcrumbs__item" *ngIf="crumbs$ | async as crumbs">\n            <ng-container [ngSwitch]="page.pageId">\n\n              <ng-container *ngSwitchCase="page.pageId.match(\'ProductLandingPage\') ? page.pageId : \'\'">\n                <app-breadcrumbs-navigation\n                  [crumbs]="crumbs.concat([{ label: \'navigation.breadcrumbsTitle.product\' | cxTranslate, link: \'\' }])"\n                  [lastChild]="page.title"\n                ></app-breadcrumbs-navigation>\n              </ng-container>\n\n              <ng-container *ngSwitchCase="page.pageId.match(\'SegmentLandingPage\') ? page.pageId : \'\'">\n                <app-breadcrumbs-navigation\n                  [crumbs]="crumbs.concat([{ label: \'navigation.breadcrumbsTitle.segment\' | cxTranslate, link: \'\' }])"\n                  [lastChild]="page.title"\n                ></app-breadcrumbs-navigation>\n              </ng-container>\n\n              <ng-container *ngSwitchCase="[PAGES_ID.PRODUCT_LIST]">\n                <app-breadcrumbs-navigation\n                  [crumbs]="crumbs | splicePipe : { newValue: { label: \'navigation.breadcrumbsTitle.selector\' | cxTranslate, link: \'\' }, start: 1, del: 0 }"\n                ></app-breadcrumbs-navigation>\n              </ng-container>\n\n              <ng-container *ngSwitchCase="checkPageType(page.pageId, cartPageId)">\n                <app-breadcrumbs-navigation\n                  [crumbs]="crumbs"\n                  [lastChild]="\'navigation.breadcrumbsTitle.\' + page.pageId | cxTranslate"\n                ></app-breadcrumbs-navigation>\n              </ng-container>\n\n              <ng-container *ngSwitchCase="checkPageType(page.pageId, catalogPageId)">\n                <app-breadcrumbs-navigation\n                  [crumbs]="crumbs | splicePipe : { newValue: { label: \'navigation.breadcrumbsTitle.myCatalogue.root\' | cxTranslate, link: \'\' }, start: 1, del: 0 }"\n                  [lastChild]="\'navigation.breadcrumbsTitle.myCatalogue.\' +\n                  page.pageId[0].toLowerCase() + page.pageId.slice(1) | cxTranslate"\n                ></app-breadcrumbs-navigation>\n              </ng-container>\n\n              <ng-container *ngSwitchCase="PAGES_ID.THANK_YOU_PAGE"></ng-container>\n\n              <ng-container *ngSwitchCase="PAGES_ID.RESET_PASSWORD">\n                <ng-container *ngIf="routingService$ | async as routingService">\n                  <app-breadcrumbs-navigation\n                    [crumbs]="crumbs"\n                    [lastChild]="routingService.state.queryParams.reg ? (\'navigation.breadcrumbsTitle.setUpPassword\' | cxTranslate) : page?.title"\n                  ></app-breadcrumbs-navigation>\n                </ng-container>\n              </ng-container>\n\n              <ng-container *ngSwitchDefault>\n                <ng-container *ngIf="page.title as title">\n                  <app-breadcrumbs-navigation\n                    [crumbs]="crumbs"\n                    [lastChild]="title"\n                  ></app-breadcrumbs-navigation>\n                </ng-container>\n              </ng-container>\n\n            </ng-container>\n          </div>\n        </ng-template>\n      </div>\n      </scrollbar>\n    </div>\n  </div>\n</div>\n',styles:[RS()]})],co);var IS=i(64163),wS=i.n(IS);let Td=class{constructor(){this.customLabel=!1}static#e=this.propDecorators={crumbs:[{type:n.pde}],lastChild:[{type:n.pde}],customLabel:[{type:n.pde}]}};Td=(0,r.Cg)([(0,n.uAl)({selector:"app-breadcrumbs-navigation",template:'<div class="d-flex breadcrumbs-nav">\n  <div *ngFor="let crumb of crumbs; last as isLast;" class="d-flex align-items-center">\n    <span\n      [innerHTML]="customLabel ? (\'navigation.breadcrumbsTitle.\' + crumb.label | cxTranslate) : crumb.label"\n      [routerLink]="crumb.link ? crumb.link : null"\n      [class.breadcrumbs-nav__link--last]="isLast && !lastChild"\n      [class.breadcrumbs-nav__link--is-link]="crumb.link"\n      class="breadcrumbs-nav__link"\n    ></span>\n    <svg-icon-sprite\n      *ngIf="!isLast || lastChild"\n      height="16"\n      width="16"\n      class="breadcrumbs-nav__icon"\n      src="chevron_right"\n    ></svg-icon-sprite>\n  </div>\n  <span *ngIf="lastChild" class="d-flex align-items-center breadcrumbs-nav__link breadcrumbs-nav__link--last">\n    {{lastChild}}\n  </span>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[wS()]})],Td);var DS=i(87271),LS=i.n(DS);let Ed=class{constructor(){this.isConfigurator=!1}static#e=this.propDecorators={icon:[{type:n.pde}],text:[{type:n.pde}],isConfigurator:[{type:n.pde}]}};Ed=(0,r.Cg)([(0,n.uAl)({selector:"app-breadcrumbs-page-name",template:'<div class="breadcrumbs-left" [class.breadcrumbs-left--configurator]="isConfigurator">\n  <svg-icon-sprite\n    height="18"\n    width="18"\n    [src]="icon"\n    class="breadcrumbs-left__icon"\n  ></svg-icon-sprite>\n  {{ text }}\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[LS()]})],Ed);let Rd=class{};Rd=(0,r.Cg)([(0,n.UQu)({declarations:[co,Ed,Td],imports:[S.MD,p.htr.withConfig({cmsComponents:{BreadcrumbComponent:{component:co}}}),V.F2,y.iI,p.LP3,Te,xe]})],Rd);var FS=i(21893),MS=i.n(FS);let lo=class{constructor(e){this.facetService=e,this.isOpened=!1}ngOnInit(){}getLinkParams(e){return this.facetService.getLinkParams(e.query?.query.value)}toggle(){this.isOpened=!this.isOpened}static#e=this.ctorParameters=()=>[{type:v.rOA}];static#t=this.propDecorators={list:[{type:n.pde}]}};lo=(0,r.Cg)([(0,n.uAl)({selector:"app-category-list",template:'<div class="category">\n  <ul class="category__list list-inline">\n    <li class="category__list-item list-inline-item" *ngFor="let item of list">\n      <a\n        [queryParams]="getLinkParams(item)"\n        routerLink="./"\n      >{{ item.name }}</a>\n    </li>\n  </ul>\n</div>\n',styles:[MS()]})],lo);let Od=class{};Od=(0,r.Cg)([(0,n.UQu)({declarations:[lo],imports:[S.MD,y.iI],exports:[lo]})],Od);var Fn,US=i(88009),$S=i.n(US);!function(a){a.NlmkCategoryNavComponent="NlmkCategoryNavComponent",a.NlmkTradingCategoryNavComponent="NlmkTradingCategoryNavComponent",a.GlobalCategoryNavComponent="NlmkGlobalCategoryNavComponent"}(Fn||(Fn={}));let po=class{constructor(e,t){this.componentData=e,this.service=t,this.CategoryNavEnum=Fn,this.uid$=this.componentData.data$.pipe((0,B.p)(Boolean),(0,fe.E)("uid")),this.node$=this.service.getNavigationNode(this.componentData.data$)}ngOnInit(){}static#e=this.ctorParameters=()=>[{type:v.TLs},{type:v.o_p}]};po=(0,r.Cg)([(0,n.uAl)({selector:"app-category-navigation",template:'<ng-container *ngIf="uid$ | async as uid">\n  <ng-container *ngIf="node$ | async as node">\n    <ng-container [ngSwitch]="uid">\n      <ng-container *ngSwitchCase="CategoryNavEnum.NlmkCategoryNavComponent">\n        <app-cat-nav-eu\n          [node]="node.children"\n          class="header-grid__nav-list d-flex flex-column flex-lg-row"\n        >\n        </app-cat-nav-eu>\n      </ng-container>\n\n      <ng-container *ngSwitchCase="CategoryNavEnum.GlobalCategoryNavComponent">\n        <app-cat-nav-global\n          [node]="node.children"\n          class="header-grid__nav-list d-flex flex-column flex-lg-row"\n        >\n        </app-cat-nav-global>\n      </ng-container>\n\n      <ng-container *ngSwitchCase="CategoryNavEnum.NlmkTradingCategoryNavComponent">\n        <app-cat-nav-trading\n          [node]="node.children"\n          class="header-grid__nav-list d-flex flex-column flex-lg-row"\n        >\n        </app-cat-nav-trading>\n      </ng-container>\n      <ng-container *ngSwitchDefault>\n        <cx-navigation-ui [node]="node">\n        </cx-navigation-ui>\n      </ng-container>\n    </ng-container>\n  </ng-container>\n</ng-container>\n\n\n\n',changeDetection:n.Ngq.OnPush,styles:[$S()]})],po);var VS=i(87980),GS=i.n(VS);let Ad=class{constructor(e,t,s,o,l,u){this.router=e,this.renderer=t,this.elemRef=s,this.breakpointService=o,this.eventBus=l,this.changeDetection=u,this.openNodes=[],this.destroy$=new R.B,this.CategoryNavEnum=Fn,this.HEADER_MENU=Xt,this.isMobileDimension$=this.breakpointService.isDown(v.SLZ.md),this.isMobileDimension=!1,this.isMouseOver=!1,this.plateItems=null,this.plateItemsSteel=null,this.selectedItem=null,this.selectedTabTitle$=new P.t({}),this.router.events.pipe((0,B.p)(h=>h instanceof y.wF),(0,x.Q)(this.destroy$)).subscribe(()=>this.clear())}ngOnInit(){this.addSubscriptions(),this.plateItems=this.preparePlateMenu(this.node,Xt.MENU_SECTION_UID.PRODUCT),this.plateItemsSteel=this.preparePlateMenu(this.node,Xt.MENU_SECTION_UID.SELECTOR),this.getActiveNavNode()}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}addSubscriptions(){this.isMobileDimension$.pipe((0,x.Q)(this.destroy$)).subscribe(e=>{this.isMobileDimension=e})}clear(){this.openNodes=[]}nodeClick(e,t){this.openNodes.includes(t)?this.openNodes=this.openNodes.filter(s=>s!==t):this.openNodes.push(t),this.selectedItem=t,t.isOpen=!t.isOpen,e.stopPropagation()}getActiveNavNode(){this.selectedTabTitle$.pipe((0,is.B)(200),(0,x.Q)(this.destroy$)).subscribe(e=>{this.selectTab(e)})}onHover(e){this.selectedTabTitle$.next(e)}onLeave(){this.selectedTabTitle$.next({})}selectTab(e){this.node.forEach(t=>{if(t.title!==e.title)return t.isShown=!1;t.isShown=!0}),this.changeDetection.detectChanges()}preparePlateMenu(e,t){const s=[...new Array(3)].map(()=>[]),o=e.find(u=>u.uid?.toLowerCase()===t.toLowerCase());if(!o)return;const l=o.children.find(u=>u.title.toUpperCase()===Z.PLATE);return l?(l.children.forEach(u=>u.children?[Xt.MENU_SECTION_UID.PRODUCT_BRANDS,Xt.MENU_SECTION_UID.SELECTOR_BRANDS].includes(u.uid.toLowerCase())?s[2].push(u):s[0].push(u):s[1].push(u)),s):void 0}burgerClick(){this.eventBus.cast(J_HEADER.BURGER_CLICK)}static#e=this.ctorParameters=()=>[{type:y.Ix},{type:n.sFG},{type:n.aKT},{type:v.dci},{type:ve.u},{type:n.gRc}];static#t=this.propDecorators={node:[{type:n.pde}]}};Ad=(0,r.Cg)([(0,n.uAl)({selector:"app-cat-nav-eu",template:'<div\n  *ngIf="node && node.length"\n  class="cat-nav is-logged-in"\n>\n  <div class="cat-nav__list cat-nav__list_lvl-0 d-flex flex-column flex-lg-row align-items-lg-center">\n    <div\n      *ngFor="let child of node"\n      (click)="isMobileDimension && nodeClick($event, child)"\n      [ngClass]="{ \'is-open\': child.isOpen, \'is-shown\': child.isShown }"\n      (mouseenter)="onHover(child)"\n      (mouseleave)="onLeave()"\n      class="cat-nav__list-item"\n    >\n      <ng-container *ngTemplateOutlet="linkHeading; context: { $implicit: child }"></ng-container>\n\n      <div\n        *ngIf="child.children?.length > 0"\n        [ngClass]="{ \'container\': (isMobileDimension$ | async) === false }"\n        class="cat-nav__submenu"\n      >\n        <div [ngClass]="{ \'container\': (isMobileDimension$ | async) === false }">\n          <div [ngClass]="{ \'no-gutters\': isMobileDimension$ | async }" class="row">\n            <div class="col-12">\n              <ul\n                [ngClass]="{\'is-columned\': child.uid?.toLowerCase() === HEADER_MENU.MENU_SECTION_UID.SEGMENT}"\n                class="cat-nav__list cat-nav__list_lvl-1"\n              >\n                <ng-container *ngTemplateOutlet="recursiveList; context: { $implicit: child.children, depth: 2, parentUid: child.uid }"></ng-container>\n              </ul>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n\n<ng-template #recursiveList let-node let-depth="depth" let-parentUid="parentUid">\n  <li\n    *ngFor="let child of node"\n    (click)="isMobileDimension && nodeClick($event, child)"\n    [ngClass]="{ \'is-open\': child.isOpen }"\n    class="cat-nav__list-item"\n  >\n    <ng-container *ngTemplateOutlet="linkHeading; context: { $implicit: child, depth: depth }"></ng-container>\n\n    <ng-container [ngSwitch]="child.uid?.toLowerCase()">\n      <ng-container *ngSwitchCase="HEADER_MENU.MENU_SECTION_UID.PRODUCT_PLATE">\n        <ng-container *ngTemplateOutlet="productCatalogPlate; context: { depth: depth, parentUid: parentUid }"></ng-container>\n      </ng-container>\n      <ng-container *ngSwitchCase="HEADER_MENU.MENU_SECTION_UID.SELECTOR_PLATE">\n        <ng-container *ngTemplateOutlet="productCatalogPlate; context: { depth: depth, parentUid: parentUid }"></ng-container>\n      </ng-container>\n      <ng-container *ngSwitchDefault>\n        <ng-container *ngTemplateOutlet="productCatalogDefault; context: { child: child, depth: depth }"></ng-container>\n      </ng-container>\n    </ng-container>\n  </li>\n</ng-template>\n\n<ng-template #linkHeading let-node>\n  <cx-generic-link\n    *ngIf="node.url && !node?.children?.length; else simpleHeading"\n    [url]="node.url"\n    [target]="node.target"\n\n    (click)="burgerClick()"\n\n    class="cat-nav__title cat-nav__title--link"\n  >\n    {{ node.title }}\n  </cx-generic-link>\n\n  <ng-template #simpleHeading>\n    <div *ngIf="node?.children?.length" class="cat-nav__title">\n      <span>{{ node.title }}</span>\n      <svg-icon-sprite\n        src="expand_more"\n        width="24"\n        height="24"\n        class="cat-nav__more-icon d-lg-none">\n      </svg-icon-sprite>\n    </div>\n  </ng-template>\n</ng-template>\n\n<ng-template #productCatalogDefault let-child="child" let-depth="depth">\n  <ul\n    *ngIf="child.children?.length > 0"\n    [class.active]="selectedItem === child"\n    class="cat-nav__list cat-nav__list_lvl-{{ depth }}"\n  >\n    <ng-container *ngTemplateOutlet="recursiveList; context: { $implicit: child.children, depth: depth + 1 }"></ng-container>\n  </ul>\n</ng-template>\n\n<ng-template #productCatalogPlate let-depth="depth" let-parentUid="parentUid">\n  <div class="d-lg-flex no-gutters">\n    <ul\n      *ngFor="let child of parentUid?.toLowerCase() === HEADER_MENU.MENU_SECTION_UID.PRODUCT ? plateItems : plateItemsSteel; let last = last"\n      [class.pr-lg-3]="!last"\n      [class.active]="selectedItem === child"\n      class="cat-nav__list cat-nav__list_lvl-{{ depth }} col-lg-4"\n    >\n      <ng-container *ngTemplateOutlet="recursiveList; context: { $implicit: child, depth: depth + 1 }"></ng-container>\n    </ul>\n  </div>\n</ng-template>\n',changeDetection:n.Ngq.OnPush,styles:[GS()]})],Ad);var YS=i(11582),QS=i.n(YS);let Id=class{constructor(e,t,s,o,l,u){this.authService=e,this.router=t,this.renderer=s,this.elemRef=o,this.breakpointService=l,this.eventBus=u,this.openNodes=[],this.destroyed$=new R.B,this.CategoryNavEnum=Fn,this.HEADER_MENU=Xt,this.isMobileDimension$=this.breakpointService.isDown(v.SLZ.md),this.isMobileDimension=!1,this.isUserLoggedIn$=this.authService.isUserLoggedIn(),this.isMouseOver=!1,this.plateItems=null,this.selectedItem=null,this.router.events.pipe((0,B.p)(h=>h instanceof y.wF),(0,x.Q)(this.destroyed$)).subscribe(()=>this.clear())}ngOnInit(){this.addSubscriptions(),this.plateItems=this.preparePlateMenu(this.node)}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}addSubscriptions(){this.isMobileDimension$.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.isMobileDimension=e})}clear(){this.openNodes=[]}nodeClick(e,t){this.openNodes.includes(t)?this.openNodes=this.openNodes.filter(s=>s!==t):this.openNodes.push(t),this.selectedItem=t,t.isOpen=!t.isOpen,e.stopPropagation()}preparePlateMenu(e){const t=[...new Array(3)].map(()=>[]),s=e.find(l=>l.title.toLowerCase()===this.HEADER_MENU.MENU_SECTION.PRODUCT_CATALOG);if(!s)return;const o=s.children.find(l=>l.title.toUpperCase()===Z.PLATE);return o?(o.children.forEach(l=>l.children?"brands"!==l.title.toLowerCase()?t[0].push(l):t[2].push(l):t[1].push(l)),t):void 0}burgerClick(){this.eventBus.cast(J_HEADER.BURGER_CLICK)}static#e=this.ctorParameters=()=>[{type:p.uRZ},{type:y.Ix},{type:n.sFG},{type:n.aKT},{type:v.dci},{type:ve.u}];static#t=this.propDecorators={node:[{type:n.pde}]}};Id=(0,r.Cg)([(0,n.uAl)({selector:"app-cat-nav-global",template:'<div\n  *ngIf="node && node.length"\n  [class]="(isUserLoggedIn$ | async) ? \'is-logged-in\' : \'is-guest\'"\n  class="cat-nav"\n>\n  <div class="cat-nav__list cat-nav__list_lvl-0 d-flex flex-column flex-lg-row align-items-lg-center">\n    <div\n      *ngFor="let child of node"\n      (click)="isMobileDimension && nodeClick($event, child)"\n      [class.is-open]="child.isOpen"\n      class="cat-nav__list-item"\n    >\n      <ng-container *ngTemplateOutlet="linkHeading; context: { $implicit: child }"></ng-container>\n\n      <div\n        *ngIf="child.children?.length > 0"\n        class="cat-nav__submenu"\n      >\n        <div [ngClass]="{ \'container\': (isMobileDimension$ | async) === false }">\n          <div [ngClass]="{ \'no-gutters\': isMobileDimension$ | async }" class="row">\n            <div class="col-12">\n              <ul\n                [ngClass]="{\'is-columned\': child.title?.toLowerCase() !== HEADER_MENU.MENU_SECTION.PLATE && (isUserLoggedIn$ | async) === false}"\n                class="cat-nav__list cat-nav__list_lvl-1"\n              >\n                <ng-container [ngSwitch]="child.title?.toLowerCase()">\n                  <ng-container *ngSwitchCase="HEADER_MENU.MENU_SECTION.PLATE">\n                    <ng-container *ngTemplateOutlet="productCatalogPlate; context: { depth: 1}"></ng-container>\n                  </ng-container>\n                  <ng-container *ngSwitchDefault>\n                    <ng-container *ngTemplateOutlet="recursiveList; context: { $implicit: child.children, depth: 2 }"></ng-container>\n                  </ng-container>\n                </ng-container>\n              </ul>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n\n<ng-template #recursiveList let-node let-depth="depth">\n  <li\n    *ngFor="let child of node"\n    (click)="isMobileDimension && nodeClick($event, child)"\n    [ngClass]="{ \'is-open\': child.isOpen }"\n    class="cat-nav__list-item"\n  >\n    <ng-container *ngTemplateOutlet="linkHeading; context: { $implicit: child, depth: depth }"></ng-container>\n\n    <ng-container [ngSwitch]="child.title?.toLowerCase()">\n      <ng-container *ngSwitchCase="HEADER_MENU.MENU_SECTION.PLATE">\n        <ng-container *ngTemplateOutlet="productCatalogPlate; context: { depth: depth}"></ng-container>\n      </ng-container>\n      <ng-container *ngSwitchDefault>\n        <ng-container *ngTemplateOutlet="productCatalogDefault; context: { child: child, depth: depth}"></ng-container>\n      </ng-container>\n    </ng-container>\n  </li>\n</ng-template>\n\n<ng-template #linkHeading let-node>\n  <cx-generic-link\n    *ngIf="node.url && !node?.children?.length; else simpleHeading"\n    [url]="node.url"\n    [target]="node.target"\n\n    (click)="burgerClick()"\n\n    class="cat-nav__title cat-nav__title--link"\n  >\n    {{ node.title }}\n  </cx-generic-link>\n\n  <ng-template #simpleHeading>\n    <div *ngIf="node?.children?.length" class="cat-nav__title">\n      <span>{{ node.title }}</span>\n      <svg-icon-sprite\n        src="expand_more"\n        width="24"\n        height="24"\n        class="cat-nav__more-icon d-lg-none">\n      </svg-icon-sprite>\n    </div>\n  </ng-template>\n</ng-template>\n\n<ng-template #productCatalogDefault let-child="child" let-depth="depth">\n  <ul\n    *ngIf="child.children?.length > 0"\n    [class.active]="selectedItem === child"\n    class="cat-nav__list cat-nav__list_lvl-{{ depth }}"\n  >\n    <ng-container *ngTemplateOutlet="recursiveList; context: { $implicit: child.children, depth: depth + 1 }"></ng-container>\n  </ul>\n</ng-template>\n\n<ng-template #productCatalogPlate let-depth="depth">\n  <div class="d-lg-flex no-gutters">\n    <ul\n      *ngFor="let child of plateItems; let last = last"\n      [class.pr-lg-3]="!last"\n      [class.active]="selectedItem === child"\n      class="cat-nav__list cat-nav__list_lvl-{{ depth }} col-lg-4"\n    >\n      <ng-container *ngTemplateOutlet="recursiveList; context: { $implicit: child, depth: depth + 1 }"></ng-container>\n    </ul>\n  </div>\n</ng-template>\n',styles:[QS()]})],Id);var HS=i(42052),jS=i.n(HS);let wd=class{constructor(e,t,s,o,l,u){this.authService=e,this.router=t,this.renderer=s,this.elemRef=o,this.breakpointService=l,this.eventBus=u,this.MAX_COLUMNS_AMOUNT=4,this.openNodes=[],this.destroyed$=new R.B,this.CategoryNavEnum=Fn,this.HEADER_MENU=Xt,this.isMobileDimension$=this.breakpointService.isDown(v.SLZ.md),this.isMobileDimension=!1,this.isUserLoggedIn$=this.authService.isUserLoggedIn(),this.isMouseOver=!1,this.productsItems=null,this.selectedItem=null,this.router.events.pipe((0,B.p)(h=>h instanceof y.wF),(0,x.Q)(this.destroyed$)).subscribe(()=>this.clear())}ngOnInit(){this.addSubscriptions(),this.productsItems=this.prepareProductsMenu(this.node)}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}addSubscriptions(){this.isMobileDimension$.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.isMobileDimension=e})}clear(){this.openNodes=[]}nodeClick(e,t){this.openNodes.includes(t)?this.openNodes=this.openNodes.filter(s=>s!==t):this.openNodes.push(t),this.selectedItem=t,t.isOpen=!t.isOpen,e.stopPropagation()}countTreeNodes(e){if(!e.children)return 0;let t=e.children.length;return e.children.forEach(s=>{const o=this.countTreeNodes(s);t+=o}),t}prepareProductsMenu(e){const t=e.find(C=>C.uid.toLowerCase()===this.HEADER_MENU.MENU_SECTION_UID.TRADING_PRODUCTS);if(!t)return;const s=t.children.length<this.MAX_COLUMNS_AMOUNT?t.children.length:this.MAX_COLUMNS_AMOUNT,o=this.countTreeNodes(t),l=Math.round(o/s),u=[...new Array(s)].map(()=>[]);let h=0,_=0;return t.children.forEach(C=>{u[h].push(C),_+=this.countTreeNodes(C)+1,_>=l&&(h+=1,_=0)}),u}burgerClick(){this.eventBus.cast(J_HEADER.BURGER_CLICK)}static#e=this.ctorParameters=()=>[{type:p.uRZ},{type:y.Ix},{type:n.sFG},{type:n.aKT},{type:v.dci},{type:ve.u}];static#t=this.propDecorators={node:[{type:n.pde}]}};wd=(0,r.Cg)([(0,n.uAl)({selector:"app-cat-nav-trading",template:'<div\n  *ngIf="node && node.length"\n  [class]="(isUserLoggedIn$ | async) ? \'is-logged-in\' : \'is-guest\'"\n  class="cat-nav"\n>\n  <div class="cat-nav__list cat-nav__list_lvl-0 d-flex flex-column flex-lg-row align-items-lg-center">\n    <div\n      *ngFor="let child of node"\n      (click)="isMobileDimension && nodeClick($event, child)"\n      [class.is-open]="child.isOpen"\n      class="cat-nav__list-item"\n    >\n      <ng-container *ngTemplateOutlet="simpleHeading; context: { $implicit: child }"></ng-container>\n\n      <div\n        *ngIf="child.children?.length > 0"\n        class="cat-nav__submenu"\n      >\n        <div [class.container]="(isMobileDimension$ | async) === false">\n          <div [class.no-gutters]="isMobileDimension$ | async" class="row">\n            <div class="col-12">\n              <ul class="cat-nav__list cat-nav__list_lvl-1">\n                <ng-container [ngSwitch]="child.uid?.toLowerCase()">\n                  <ng-container *ngSwitchCase="HEADER_MENU.MENU_SECTION_UID.TRADING_PRODUCTS">\n                    <ng-container *ngTemplateOutlet="productCatalogProducts; context: { depth: 1}"></ng-container>\n                  </ng-container>\n                  <ng-container *ngSwitchDefault>\n                    <ng-container *ngTemplateOutlet="recursiveList; context: { $implicit: child.children, depth: 2 }"></ng-container>\n                  </ng-container>\n                </ng-container>\n              </ul>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n\n<ng-template #recursiveList let-node let-isProduct="isProduct" let-depth="depth">\n  <li\n    *ngFor="let child of node"\n    (click)="isMobileDimension && nodeClick($event, child)"\n    [class.is-open]="child.isOpen"\n    [class.is-product]="isProduct"\n    class="cat-nav__list-item"\n  >\n    <ng-container *ngTemplateOutlet="(child.url && !child?.children?.length) ? linkHeading : simpleHeading; context: { $implicit: child }"></ng-container>\n\n    <ng-container *ngTemplateOutlet="productCatalogDefault; context: { child: child, depth: depth}"></ng-container>\n  </li>\n</ng-template>\n\n<ng-template #productCatalogProducts let-depth="depth">\n  <ng-container *ngFor="let productItem of productsItems">\n    <li class="cat-nav__list-item">\n      <ul class="cat-nav__list">\n        <ng-container *ngTemplateOutlet="recursiveList; context: { $implicit: productItem, isProduct: true, depth: depth + 1 }"></ng-container>\n      </ul>\n    </li>\n  </ng-container>\n</ng-template>\n\n<ng-template #productCatalogDefault let-child="child" let-depth="depth">\n  <ul\n    *ngIf="child.children?.length > 0"\n    [class.active]="selectedItem === child"\n    class="cat-nav__list cat-nav__list_lvl-{{ depth }}"\n  >\n    <ng-container *ngTemplateOutlet="recursiveList; context: { $implicit: child.children, depth: depth + 1 }"></ng-container>\n  </ul>\n</ng-template>\n\n\n<ng-template #linkHeading let-node>\n  <cx-generic-link\n    [url]="node.url"\n    [target]="node.target"\n\n    (click)="burgerClick()"\n\n    class="cat-nav__title"\n  >\n    {{ node.title }}\n  </cx-generic-link>\n</ng-template>\n\n<ng-template #simpleHeading let-node>\n  <div\n    *ngIf="node?.children?.length"\n    class="cat-nav__title"\n  >\n    <span>{{ node.title }}</span>\n    <svg-icon-sprite\n      src="expand_more"\n      width="24"\n      height="24"\n      class="cat-nav__more-icon d-lg-none">\n    </svg-icon-sprite>\n  </div>\n</ng-template>\n',changeDetection:n.Ngq.OnPush,styles:[jS()]})],wd);let Pd=class{};Pd=(0,r.Cg)([(0,n.UQu)({declarations:[po,wd,Ad,Id],imports:[S.MD,p.htr.withConfig({cmsComponents:{CategoryNavigationComponent:{component:po,guards:[Y]}}}),v.fmq,v.sS9,V.F2,Te]})],Pd);var KS=i(75484),XS=i.n(KS);let Dd=class{constructor(){}ngOnInit(){this.isOpen=!this.isMobileDimension}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={node:[{type:n.pde}],isMobileDimension:[{type:n.pde}]}};Dd=(0,r.Cg)([(0,n.uAl)({selector:"app-group-header-level-one",template:'<div [class.is-open]="isOpen" class="group-header-level-one">\n  <h4 (click)="isOpen = !isOpen; $event.stopPropagation()" class="group-header-title-m">\n    {{ node.title }}\n    <svg-icon-sprite\n      src="expand_more"\n      width="24"\n      height="24"\n      class="more-icon d-lg-none">\n    </svg-icon-sprite>\n  </h4>\n\n  <ng-container *ngIf="isOpen">\n    <div *ngFor="let levelTwo of node.children" class="group-header-level-one__block">\n      <app-group-header-level-two\n        [isMobileDimension]="isMobileDimension"\n        [node]="levelTwo"\n      ></app-group-header-level-two>\n    </div>\n  </ng-container>\n\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[XS()]})],Dd);var JS=i(10816),e0=i.n(JS);let Ld=class{constructor(e){this.breakpointService=e,this.isOpen=!1,this.isMobileDimension$=this.breakpointService.isDown(v.SLZ.md)}ngOnInit(){}static#e=this.ctorParameters=()=>[{type:v.dci}];static#t=this.propDecorators={node:[{type:n.pde}]}};Ld=(0,r.Cg)([(0,n.uAl)({selector:"app-group-header",template:'<div\n  [class.is-open]="isOpen"\n  class="group-header d-lg-flex align-items-lg-stretch"\n>\n  <ng-container *ngFor="let node of node.children">\n    <div\n      (click)="isOpen = !isOpen; $event.stopPropagation()"\n      (clickOutside)="isOpen = false"\n      exclude=".group-header"\n      class="group-header__title d-lg-flex align-items-lg-center"\n    >\n      {{ node.title }}\n      <svg-icon-sprite\n        src="expand_more"\n        width="24"\n        height="24"\n        class="more-icon">\n      </svg-icon-sprite>\n    </div>\n\n    <ng-container *ngIf="isOpen">\n        <div class="group-header__row">\n          <scrollbar class="group-header__scrollbar">\n          <div class="d-flex flex-column flex-lg-row">\n            <div *ngFor="let levelOne of node.children" class="group-header__column">\n              <app-group-header-level-one\n                [isMobileDimension]="isMobileDimension$ | async"\n                [node]="levelOne"\n              ></app-group-header-level-one>\n            </div>\n          </div>\n          </scrollbar>\n        </div>\n    </ng-container>\n  </ng-container>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[e0()]})],Ld);var kd,n0=i(47617),s0=i.n(n0);!function(a){a.StripHelpNavComponent="StripHelpNavComponent",a.PlateHelpNavComponent="PlateHelpNavComponent"}(kd||(kd={}));let uo=class{constructor(e,t){this.component=e,this.service=t,this.HelpNavigationUid=kd,this.uid$=this.component.data$.pipe((0,w.T)(s=>s?.uid)),this.node$=this.service.createNavigation(this.component.data$)}ngOnInit(){}static#e=this.ctorParameters=()=>[{type:v.TLs},{type:v.o_p}]};uo=(0,r.Cg)([(0,n.uAl)({selector:"app-help-navigation",template:'<ng-container *ngIf="node$ | async as node">\n  <ng-container [ngSwitch]="uid$ | async">\n    <ng-container *ngSwitchCase="HelpNavigationUid.StripHelpNavComponent">\n      <app-help-menu [node]="node"></app-help-menu>\n    </ng-container>\n    <ng-container *ngSwitchCase="HelpNavigationUid.PlateHelpNavComponent">\n      <app-help-menu [node]="node"></app-help-menu>\n    </ng-container>\n    <ng-container *ngSwitchDefault>\n      <cx-navigation></cx-navigation>\n    </ng-container>\n  </ng-container>\n</ng-container>\n',styles:[s0()]})],uo);var r0=i(15403),o0=i.n(r0);let Fd=class{constructor(){}ngOnInit(){}toggle(){this.isOpened=!this.isOpened}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={text:[{type:n.pde}],isOpened:[{type:n.pde}],icon:[{type:n.pde}]}};Fd=(0,r.Cg)([(0,n.uAl)({selector:"app-manager-mobile-toggle",template:'<div class="toggle" [class.toggle--hidden]="!isOpened" (click)="toggle()">\n  <div class="toggle__head">\n    <h4 class="toggle__title">\n      <svg-icon-sprite *ngIf="icon" [src]="icon" width="24" height="24" class="toggle__title-icon"></svg-icon-sprite>\n      {{text}}\n    </h4>\n    <div class="toggle__mobile-icons">\n      <svg-icon-sprite width="24px" height="24px" class="toggle__facet-icon" src="expand_more"></svg-icon-sprite>\n      <svg-icon-sprite width="24px" height="24px" class="toggle__close-icon" src="close"></svg-icon-sprite>\n    </div>\n  </div>\n</div>\n',styles:[o0()]})],Fd);var c0=i(71875),l0=i.n(c0);let Md=class{constructor(e,t,s,o){this.launchDialogService=e,this.translatePipe=t,this.authService=s,this.router=o,this.item=null,this.url=this.router.url,this.passwordUpdateUrl="passwordUpdate",this.isSelectedCategory=!1,this.isOpened=!1,this.API_ENDPOINT=E,this.destroyed$=new R.B}ngOnInit(){this.checkSelectedCategory(),this.onChangeUrl(),this.isItemIncludesCurrentRoute()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}checkSelectedCategory(){const e=[];this.item.childItems?.forEach(t=>{t.url&&e.push(t.url)}),this.isSelectedCategory=e.includes(this.url.split("?")[0]),this.isOpened=this.isSelectedCategory}onChangeUrl(){this.router.events.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{e instanceof y.wF&&(this.url=e.url,this.checkSelectedCategory())})}isItemIncludesCurrentRoute(){this.isOpened=!!this.item.childItems.find(s=>this.router.url.split("?")[0]===s.url),!this.item.childItems.find(s=>s.url===M.MY_ACCOUNT.ORDER.ACTIVE)||this.isOpened?!this.item.childItems.find(s=>s.url===M.MY_ACCOUNT.QUOTE.ACTIVE)||this.isOpened||(this.isOpened=this.router.url.includes(M.MY_ACCOUNT.QUOTE.DETAILS)):this.isOpened=this.router.url.includes(M.MY_ACCOUNT.ORDER.DETAILS_PATH)}toggle(){this.isOpened=!this.isOpened}onClick(e,t){e===this.passwordUpdateUrl?this.showPasswordUpdateModal():this.url=t}translate(e){const t=`text.helpMenu.menu.${e}`;return this.translatePipe.transform(t)}showPasswordUpdateModal(){this.launchDialogService.openDialogAndSubscribe("AUTH_MODAL",void 0,{type:Pe.UPDATE,header:this.translatePipe.transform("button.updatePassword")})}onLogout(){return this.authService.coreLogout(),this.router.navigate(["/"])}highlightNav(e){if(e)return this.url===e||this.url.includes(`${e}?`)}showChangePasswordModal(){this.launchDialogService.openDialogAndSubscribe("AUTH_MODAL",void 0,{type:Pe.UPDATE,header:this.translatePipe.transform("button.updatePassword")})}static#e=this.ctorParameters=()=>[{type:v.PLe},{type:p.D97},{type:p.uRZ},{type:y.Ix}];static#t=this.propDecorators={item:[{type:n.pde}]}};Md=(0,r.Cg)([(0,n.uAl)({selector:"app-help-menu-item",template:'<ng-container *ngIf="item">\n  <ng-container *ngIf="item.childItems && item.childItems.length > 0; else single">\n    <div class="menu-item">\n      <div class="menu-item__head" [class.menu-item--opened]="isSelectedCategory" (click)="toggle()">\n        <div class="menu-item__title-icon">\n          <svg-icon-sprite\n            [src]="item.icon"\n            [class.menu-item__active-icon]="isSelectedCategory"\n            width="18"\n            height="18"\n          ></svg-icon-sprite>\n        </div>\n\n        <div class="menu-item__title">\n          {{ item.title ? item.title : translate(item.name)}}\n        </div>\n        <div class="menu-item__toggle-icon">\n          <svg-icon-sprite\n            [src]="isOpened ? \'expand_less\' : \'expand_more\'"\n            [class.menu-item__active-icon]="isSelectedCategory"\n            width="24"\n            height="24"\n          ></svg-icon-sprite>\n        </div>\n      </div>\n\n      <div\n        *ngIf="isOpened"\n        class="menu-item__body"\n      >\n        <div class="menu-item__child-list">\n          <ng-container *ngFor="let childItem of item.childItems">\n            <div *ngIf="childItem.url !== API_ENDPOINT.MY_ACCOUNT.UPDATE_PASSWORD; else updatePassword"\n              [routerLink]="childItem.url"\n              [class.menu-item__child-item--is-open]="highlightNav(childItem.url)"\n              (click)="onClick(childItem.name, childItem.url)"\n              class="menu-item__child-item"\n            >\n              {{ childItem.title ? childItem.title : translate(childItem.name) }}\n            </div>\n            <ng-template #updatePassword>\n              <div\n                class="menu-item__child-item"\n                (click)="showChangePasswordModal()">\n                {{ childItem.title ? childItem.title : translate(childItem.name) }}\n              </div>\n            </ng-template>\n          </ng-container>\n        </div>\n      </div>\n    </div>\n  </ng-container>\n</ng-container>\n\n\n<ng-template #single>\n  <ng-container *ngIf="item.url">\n    <div class="menu-item" [routerLink]="item.url" *ngIf="item.url !== API_ENDPOINT.LOGOUT; else logout">\n      <div class="menu-item__head" [class.menu-item--opened]="highlightNav(item.url)">\n        <div class="menu-item__title-icon">\n          <svg-icon-sprite\n            [class.menu-item__active-icon]="highlightNav(item.url)"\n            [src]="item.icon"\n            width="18px"\n            height="18px"\n          ></svg-icon-sprite>\n        </div>\n        <div class="menu-item__title">\n          {{ item.title ? item.title : translate(item.name) }}\n        </div>\n      </div>\n    </div>\n    <ng-template #logout>\n      <div class="menu-item" (click)="onLogout()">\n        <div class="menu-item__head">\n          <div class="menu-item__title-icon">\n            <svg-icon-sprite [src]="item.icon" width="18px" height="18px"></svg-icon-sprite>\n          </div>\n          <div class="menu-item__title">\n            {{ item.title ? item.title : translate(item.name)}}\n          </div>\n        </div>\n      </div>\n    </ng-template>\n  </ng-container>\n</ng-template>\n',styles:[l0()]})],Md);var p0=i(25391),u0=i.n(p0);class h0{constructor(){this.isNavListOpen=!1,this.iconMap={},this.navModel=[]}setNavModel(){this.node.children[0]?.children?.forEach(e=>{this.navModel.push({title:e.title,name:this.titleNormalizer(e.title),icon:this.getNavIcon(e.title),url:e.url,childItems:this.getChildrenMap(e.children)})})}getChildrenMap(e){return e&&e.length?e.filter(t=>t.url).map(t=>({title:t.title,name:this.titleNormalizer(t.title),url:t.url})):[]}getNavIcon(e){return this.iconMap[this.titleNormalizer(e)]}titleNormalizer(e){return e?e.toLowerCase().replace(/[^a-zA-Z0-9]+(.)/g,(t,s)=>s.toUpperCase()):""}toggleNavList(){this.isNavListOpen=!this.isNavListOpen}static#e=this.propDecorators={node:[{type:n.pde}]}}let ho=class extends h0{constructor(){super(),this.iconMap={orders:"assignment",quotations:"work",supportRequest:"contact_support",myCompany:"business",claims:"feedback",reports:"report_menu",navigation:"navigation"},this.isManagerOpen=!1}ngOnInit(){super.setNavModel()}toggleManager(){this.isManagerOpen=!this.isManagerOpen}static#e=this.ctorParameters=()=>[]};ho=(0,r.Cg)([(0,n.uAl)({selector:"app-help-menu",template:'<div class="help-menu">\n  <div class="help-menu__nav-list">\n      <div\n        [class.is-hidden]="!isNavListOpen"\n        class="help-menu__nav-list"\n      >\n        <app-manager-mobile-toggle\n          [isOpened]="isNavListOpen"\n          (click)="toggleNavList()"\n          text="{{ \'text.helpMenu.menu.title\' | cxTranslate }}"\n          icon="help"\n        ></app-manager-mobile-toggle>\n        <div class="help-menu__nav-list-body">\n          <ng-container *ngFor="let item of navModel">\n            <app-help-menu-item\n              [item]="item"\n              class="help-menu__nav-item"\n            ></app-help-menu-item>\n          </ng-container>\n        </div>\n      </div>\n  </div>\n</div>\n',styles:[u0()]})],ho);let Nd=class{};Nd=(0,r.Cg)([(0,n.UQu)({declarations:[ho,Md,Fd],imports:[S.MD,y.iI,V.F2,p.LP3],exports:[ho],providers:[p.D97]})],Nd);let Ud=class{};Ud=(0,r.Cg)([(0,n.UQu)({declarations:[uo,Ld,Dd],imports:[S.MD,p.htr.withConfig({cmsComponents:{HelpNavigationComponent:{component:uo}}}),y.iI,v.fmq,Nd,v.sS9,Bt.o,V.F2,Te]})],Ud);var m0=i(26493),_0=i.n(m0);let go=class{constructor(e,t,s,o,l,u,h,_){this.quotationService=e,this.routingService=t,this.checkoutService=s,this.cartService=o,this.multiCartService=l,this.facetService=u,this.orderTrackingService=h,this.launchDialogService=_,this.destroy$=new R.B,this.coldRolledFullHardCode="103",this.quotationForm=new m.J3({productCategory:new m.hs(null,m.k0.required),volume:new m.hs(null,[m.k0.required,m.k0.min(.1)])}),this.quotationCategories$=this.quotationService.getCategories().pipe((0,w.T)(C=>C.filter(T=>T.code!==this.coldRolledFullHardCode))),this.categories$=this.facetService.facetList$.pipe((0,me.$)(),(0,w.T)(C=>C.facets.find(T=>T.code===ie.CATEGORIES))),this.isLoading$=new P.t(!1),this.tonsMask=Ti(),this.subscription=new X.yU}ngOnInit(){}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}createQuotation(e,t){this.quotationService.getQuotationProduct(e,t).pipe((0,x.Q)(this.destroy$)).subscribe(s=>{const o=s.rootGroups.find(l=>l.groupType===re.QUOTATION_VOLUME);this.cartService.changeCartType(re.QUOTATION),this.checkoutService.setQuotationProduct(o),this.cartService.reloadCart(),this.orderTrackingService.trackBeginVolumeCheckout(o?.orderEntries),this.routingService.goByUrl(`${M.CHECKOUT.QUOTATION}?groupNumber=${o.groupNumber}&category=${e}&volume=${t}`)},()=>{this.isLoading$.next(!1)})}isCardCreated(e,t){this.cartService.getCart().pipe((0,me.$)(),(0,x.Q)(this.destroy$)).subscribe(s=>{if(!(s&&Object.keys(s).length>0))return this.multiCartService.createCart({userId:ht.userId}).pipe((0,x.Q)(this.destroy$)).subscribe(o=>{o&&this.createQuotation(e,t)});this.createQuotation(e,t)})}onSubmit(){if(this.quotationForm.invalid)return void this.quotationForm.markAllAsTouched();this.isLoading$.next(!0);const e=this.quotationForm.value,{code:t,name:s,classType:o}=e.productCategory,l=1e3*e.volume;this.categories$.pipe((0,x.Q)(this.destroy$)).subscribe(u=>{u.values.find(_=>_.name===s)?this.isCardCreated(t,l):(this.launchDialogService.openDialogAndSubscribe("QUOTATION_ERROR",void 0,{title:"text.addToCart.error.title",text:"text.addToCart.error.text",primaryButton:"button.addToMyCatalogue",secondaryButton:"button.proceedWithQuotation",icon:"error_outline"}),this.isLoading$.next(!1),this.subscription.add(this.launchDialogService.dialogClose.pipe((0,B.p)(p.EAw)).subscribe(_=>{null!==_&&(_?this.launchDialogService.openDialogAndSubscribe("ADD_TO_MY_CATALOG",void 0,{product:{classType:o,classifications:[]}}):(this.isLoading$.next(!0),this.isCardCreated(t,l)))})))})}static#e=this.ctorParameters=()=>[{type:Kn},{type:p.Oie},{type:Me},{type:ye},{type:se.Z1},{type:v.rOA},{type:bt},{type:v.PLe}]};go=(0,r.Cg)([(0,n.uAl)({selector:"app-category-quotation",template:'<div class="quotation">\n  <app-toggle-card [isExpand]="true" [overflowVisible]="true">\n    <span header-left>\n       {{\'text.productList.quotationRequest\' | cxTranslate}}\n      </span>\n    <div toggle-body>\n      <div class="quotation__body d-flex">\n        <div class="d-flex quotation__body-fields">\n          <app-select-search\n            class="quotation__body-selector"\n            [control]="quotationForm.get(\'productCategory\')"\n            [items]="quotationCategories$ | async"\n            bindLabel="name"\n            placeholder="{{ \'placeholder.productCategory\' | cxTranslate }}"\n          ></app-select-search>\n          <app-input\n            class="quotation__body-input"\n            [controlData]="quotationForm.get(\'volume\')"\n            [showIcon]="false"\n            [maskito]="tonsMask"\n            type="number"\n            label="{{ \'placeholder.volumeInTons\' | cxTranslate }}"\n          ></app-input>\n        </div>\n        <button [disabled]="isLoading$ | async" (click)="onSubmit()" class="btn btn-secondary quotation__body-button">{{ \'button.quotation\' | cxTranslate }}</button>\n      </div>\n    </div>\n  </app-toggle-card>\n</div>\n',styles:[_0()]})],go);let $d=class{};$d=(0,r.Cg)([(0,n.UQu)({declarations:[go],imports:[S.MD,p.htr.withConfig({cmsComponents:{CategoryQuotation:{component:go}}}),ce,p.LP3,ze,Ft.u],providers:[Kn]})],$d);var Bd,x0=i(24689),f0=i.n(x0);!function(a){a.ContactUsLink="ContactUsLink",a.CreateInquiryLink="CreateInquiryLink",a.CreateInquiryLinkForAnonymousUsers="CreateInquiryLinkForAnonymousUsers",a.CategoryOrderPageLink="CatalogOrderPageLink",a.CategoryQuotePageLink="CatalogQuotePageLink"}(Bd||(Bd={}));let mo=class{constructor(e,t,s,o){this.authService=e,this.router=t,this.component=s,this.pageService=o,this.LinksUid=Bd,this.isUserLoggedIn$=this.authService.isUserLoggedIn(),this.ROUTE_URL=M,this.data=null,this.currentUrl=null,this.uid$=this.component.data$.pipe((0,w.T)(l=>(this.data=l,this.currentUrl=this.router.url.split("?")[0],l?.uid)))}ngOnInit(){}onInquiryClick(e){this.pageService.onInquiryClick(e)}static#e=this.ctorParameters=()=>[{type:p.uRZ},{type:y.Ix},{type:v.TLs},{type:mt}]};mo=(0,r.Cg)([(0,n.uAl)({selector:"app-cms-links",template:'<ng-container *ngIf="uid$ | async as uid">\n  <ng-container [ngSwitch]="uid">\n    <ng-container *ngSwitchCase="LinksUid.ContactUsLink">\n      <div class="cms-link d-lg-flex align-items-lg-stretch">\n        <div class="cms-link__inner d-lg-flex align-items-lg-center">\n          <svg-icon-sprite\n            src="call"\n            height="18"\n            width="18"\n            class="cms-link__icon"\n          ></svg-icon-sprite>\n          <cx-link></cx-link>\n        </div>\n      </div>\n    </ng-container>\n\n    <ng-container *ngSwitchCase="LinksUid.CategoryOrderPageLink">\n      <app-my-catalogue-list-switcher class="w-100" [data]="data" [currentUrl]="currentUrl"></app-my-catalogue-list-switcher>\n    </ng-container>\n\n    <ng-container *ngSwitchCase="LinksUid.CategoryQuotePageLink">\n      <app-my-catalogue-list-switcher class="w-100" [data]="data" [currentUrl]="currentUrl"></app-my-catalogue-list-switcher>\n    </ng-container>\n\n    <ng-container *ngSwitchCase="LinksUid.CreateInquiryLink">\n      <ng-container *ngTemplateOutlet="inquiry; context:{isUserLoggedIn:isUserLoggedIn$ | async}"></ng-container>\n      <ng-template #inquiry let-isUserLoggedIn=\'isUserLoggedIn\'>\n        <cx-link class="create-inquiry-link" (click)="onInquiryClick(isUserLoggedIn)"></cx-link>\n      </ng-template>\n    </ng-container>\n\n    <ng-container *ngSwitchCase="LinksUid.CreateInquiryLinkForAnonymousUsers">\n      <div class="create-inquiry-link" (click)="onInquiryClick(false)">{{ data.linkName }}</div>\n    </ng-container>\n\n    <ng-container *ngSwitchDefault>\n      <cx-link></cx-link>\n    </ng-container>\n  </ng-container>\n</ng-container>\n',styles:[f0()]})],mo);var b0=i(69684),y0=i.n(b0);let Vd=class{constructor(){this.ROUTE_URL=M}ngOnInit(){}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={data:[{type:n.pde}],currentUrl:[{type:n.pde}]}};Vd=(0,r.Cg)([(0,n.uAl)({selector:"app-my-catalogue-list-switcher",template:'<div class="btn-group d-flex">\n  <ng-container\n    *ngTemplateOutlet="currentUrl === ROUTE_URL.CATALOG.ORDER ? stub : link; context: { url: data.url, title: \'button.order\' | cxTranslate }"\n  ></ng-container>\n  <ng-container\n    *ngTemplateOutlet="currentUrl === ROUTE_URL.CATALOG.QUOTE ? stub : link; context: { url: data.url, title: \'button.quote\' | cxTranslate }"\n  ></ng-container>\n</div>\n\n<ng-template #link let-url="url" let-title="title">\n  <a\n    [routerLink]="url"\n    class="btn btn--md flex-fill"\n  >\n    {{ title }}\n  </a>\n</ng-template>\n\n<ng-template #stub let-title="title">\n  <span class="btn btn--md is-active flex-fill">\n    {{ title }}\n  </span>\n</ng-template>\n',styles:[y0()]})],Vd);let Gd=class{};Gd=(0,r.Cg)([(0,n.UQu)({declarations:[mo,Vd],imports:[S.MD,p.htr.withConfig({cmsComponents:{CMSLinkComponent:{component:mo}}}),v.VMI,y.iI,V.F2,p.LP3]})],Gd);var S0=i(3281);var E0=i(52986),R0=i.n(E0);let _o=class{constructor(){this.min=0,this.max=0,this.units="",this.minValueChange=new n.bkB,this.maxValueChange=new n.bkB,this.tabs=[{name:"Range",code:!0},{name:"Precise",code:!1}]}ngOnInit(){}updateMax(e){this.maxValueChange.emit(e)}updateMin(e){this.minValueChange.emit(e)}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={control:[{type:n.pde}],min:[{type:n.pde}],max:[{type:n.pde}],units:[{type:n.pde}],dimension:[{type:n.pde}],minValueChange:[{type:n.k7i}],maxValueChange:[{type:n.k7i}]}};_o=(0,r.Cg)([(0,n.uAl)({selector:"app-slider-input-tabs",template:'<div class="slider-input-tabs">\n  <app-tabs-radio class="slider-input-tabs__tabs" [items]="tabs" showProperty="name" bindProperty="code"\n    [(selectedItem)]="dimension">\n  </app-tabs-radio>\n\n  <app-slider-input\n    (minValueChange)="updateMin($event)"\n    (maxValueChange)="updateMax($event)"\n    [dimension]="dimension"\n    [units]="units"\n    [formControl]="control"\n    [min]="min"\n    [max]="max"\n    class="slider-input-tabs__slider">\n  </app-slider-input>\n</div>\n',styles:[R0()]})],_o);var A0=i(66984),I0=i.n(A0);let ms=class{constructor(){this.dimension=!1,this.min=0,this.max=0,this.units="",this.debounceTime=300,this.isError=!1,this.placeholder="",this.step=.1,this.isDisabled=!1,this.minValueChange=new n.bkB,this.maxValueChange=new n.bkB,this.valueChanges=new n.bkB,this.ENTER_CODE="Enter",this.initValues={min:null,max:null},this.isSliderActive=!1,this.minValue=null,this.maxValue=null,this.minSliderValue=null,this.maxSliderValue=null,this.numberMask=null,this.touched=!1,this.options=null,this.DEFAULT_MASK={prefix:"",postfix:"",decimalZeroPadding:!1,precision:1,thousandSeparator:""},this.propagateChange=e=>{},this.numberMask=(0,Ue.TK)(this.DEFAULT_MASK)}ngOnInit(){this.options={animate:!1,ceil:this.max,floor:this.min,showSelectionBar:!0,step:this.step}}ngOnChanges(e){const t=Object.assign({},this.options);if(e.hasOwnProperty("min")&&(t.floor=e.min.currentValue),e.hasOwnProperty("max")&&(t.ceil=e.max.currentValue),this.options=t,e.hasOwnProperty("dimension")){const s=e.dimension.currentValue?this.options.ceil:null;this.maxSliderValue=s,this.maxValue=Number.isInteger(s)?this.getPlaceholder(s):null,this.initValues.max=s,e.dimension.firstChange||(this.maxValueChange.emit(s),this.propagateChange(this.initValues))}e.hasOwnProperty("units")&&this.units&&(this.numberMask=(0,Ue.TK)({...this.DEFAULT_MASK,postfix:` ${this.units}`}))}activateSlider(e){this.isSliderActive=!0,this.touched=!0,e&&this.moveCaretToEnd(e.target)}moveCaretToEnd(e){e&&setTimeout(()=>{e.selectionStart=e.value.length,e.selectionEnd=e.value.length})}getPlaceholder(e){let t="";return 0===e?(t=`${e} ${this.units}`,t):(t=e?this.units?`${e} ${this.units}`:e.toString():"",t)}registerOnChange(e){this.propagateChange=e}writeValue(e){e&&(this.initValues=e,this.minValue=this.getPlaceholder(e.min),this.minSliderValue=e.min,this.dimension&&(this.maxValue=this.getPlaceholder(e.max)||null,this.maxSliderValue=e.max?e.max:this.options.ceil))}registerOnTouched(e){}updateValue(e){this.propagateChange(e)}setDisabledState(e){this.isDisabled=e,this.options.disabled=e}onBlurMinValue(){this.isSliderActive=!1;let e=this.getRawValue(this.minValue,this.units);this.initValues.min!==e&&(e>this.options.ceil&&(e=this.options.ceil,this.minValue=this.getPlaceholder(e)),e<this.options.floor&&(e=this.options.floor,this.minValue=this.getPlaceholder(e)),this.dimension&&!this.initValues.max&&(this.maxValue=this.getPlaceholder(this.options.ceil),this.maxSliderValue=this.options.ceil),this.minSliderValue=e,this.initValues.min=e,this.isSliderActive=!1,this.minValueChange.emit(e),this.propagateChange(this.initValues))}onBlurMaxValue(){this.isSliderActive=!1;let e=this.getRawValue(this.maxValue,this.units);this.initValues.max!==e&&(e>this.options.ceil&&(e=this.options.ceil,this.maxValue=this.getPlaceholder(this.options.ceil)),e<this.options.floor&&(e=this.options.floor,this.maxValue=this.getPlaceholder(this.options.floor)),e&&!this.minValue&&(this.minValue=this.getPlaceholder(this.options.floor),this.minSliderValue=this.options.floor),this.maxSliderValue=e,this.initValues.max=e,this.maxValueChange.emit(e),this.propagateChange(this.initValues))}getRawValue(e,t=""){return+e.replace(` ${t}`,"")}userChangeEnd(e,t){e!==this.initValues.min&&(this.initValues.min=e,this.minValue=this.getPlaceholder(e),this.minValueChange.emit(e)),t!==this.initValues.max&&this.dimension&&(this.initValues.max=t,this.maxValue=this.getPlaceholder(t),this.maxValueChange.emit(t)),this.isSliderActive=!1,this.propagateChange(this.initValues)}keydown(e){e.key===this.ENTER_CODE&&e.target.blur()}valueChange(e){this.touched&&(this.minValue=this.getPlaceholder(e))}highValueChange(e){this.touched&&(this.maxValue=this.getPlaceholder(e))}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={dimension:[{type:n.pde}],min:[{type:n.pde}],max:[{type:n.pde}],units:[{type:n.pde}],debounceTime:[{type:n.pde}],isError:[{type:n.pde}],placeholder:[{type:n.pde}],step:[{type:n.pde}],isDisabled:[{type:n.pde}],minValueChange:[{type:n.k7i}],maxValueChange:[{type:n.k7i}],valueChanges:[{type:n.k7i}]}};ms=(0,r.Cg)([(0,n.uAl)({selector:"app-slider-input",template:'<div class="slider"\n     [class.slider--single]="!dimension"\n     [class.slider--active]="isSliderActive"\n     [class.slider--error]="isError"\n     [class.slider--with-placeholder]="placeholder"\n     [class.slider--has-value]="!!maxValue || !!minValue"\n     [class.slider--disabled]="isDisabled"\n>\n  <div class="slider__content-wrapper">\n    <span class="slider__placeholder">{{placeholder}}</span>\n\n    <input class="slider__input"\n           type="text"\n           [disabled]="isDisabled"\n           [placeholder]="getPlaceholder(options.floor)"\n           [maskito]="numberMask"\n           [(ngModel)]="minValue" type="text"\n           (blur)="onBlurMinValue()"\n           (focus)="activateSlider($event)"\n           (keydown)="keydown($event)">\n\n    <ng-container *ngIf="maxValue || dimension; else range">\n      <input class="slider__input slider__input--last"\n             type="text"\n             [disabled]="isDisabled"\n             [placeholder]="getPlaceholder(options.ceil)"\n             [maskito]="numberMask"\n             [(ngModel)]="maxValue"\n             (focus)="activateSlider($event)"\n             (blur)="onBlurMaxValue()"\n             (keydown)="keydown($event)">\n    </ng-container>\n\n    <ng-template #range>\n      <div>\n        <span class="slider__options" *ngIf="options.floor || options.floor === 0">\n        {{ \'text.sliderInput.min\' | cxTranslate }} {{ options.floor }}\n          <span *ngIf="units">\n            {{ units }}\n          </span>\n          {{ \' - \' }}\n        </span>\n\n        <span class="slider__options" *ngIf="options.ceil">\n        {{ \'text.sliderInput.max\' | cxTranslate }} {{ options.ceil }}\n          <span *ngIf="units">\n            {{ units }}\n          </span>\n      </span>\n      </div>\n    </ng-template>\n  </div>\n\n  <div class="slider__line">\n    <ngx-slider (userChangeStart)="activateSlider()"\n                [options]="options"\n                [(value)]="minSliderValue"\n\n                [(highValue)]="maxSliderValue"\n                (valueChange)="valueChange($event)"\n                (highValueChange)="highValueChange($event)"\n                (userChangeEnd)="userChangeEnd($event.value, $event.highValue)">\n    </ngx-slider>\n  </div>\n</div>\n',providers:[{provide:m.kq,useExisting:(0,n.Rfq)(()=>ms),multi:!0}],styles:[I0()]})],ms);let _s=class{};_s=(0,r.Cg)([(0,n.UQu)({imports:[S.MD,S0.Ti,Ft.u,m.YN,it,m.X1,p.LP3],declarations:[ms,_o],exports:[ms,_o]})],_s);var P0=i(37417),D0=i.n(P0);let zd=class{constructor(){this.requestQuotation=new n.bkB}ngOnInit(){}request(){this.requestQuotation.next()}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={requestQuotation:[{type:n.k7i}]}};zd=(0,r.Cg)([(0,n.uAl)({selector:"app-configure-footer",template:'<div class="configure-footer">\n  <div class="configure-footer__controls no-gutters">\n    <div class="col-12 col-sm-6">\n      <button (click)="request()" class="btn btn--lg btn-default configure-footer__button">\n        {{\'button.requestAQuotation\' | cxTranslate}}\n      </button>\n    </div>\n  </div>\n</div>\n',styles:[D0()]})],zd);var k0=i(56939),F0=i.n(k0);let Yd=class{constructor(){}ngOnInit(){}static#e=this.ctorParameters=()=>[]};Yd=(0,r.Cg)([(0,n.uAl)({selector:"app-configure-head",template:'<div class="head">\n  <h1 class="head__title h5">{{\'text.configureProduct.title\' | cxTranslate}}</h1>\n</div>\n\n',styles:[F0()]})],Yd);var N0=i(6327),U0=i.n(N0);let vo=class{constructor(e,t){this.occEndpointsService=e,this.http=t,this.types$=this.getTypes()}getTypes(){return this.http.get(this.occEndpointsService.buildUrl(E.CONFIGURATOR.PLATE_TYPES))}static#e=this.ctorParameters=()=>[{type:p.zxz},{type:U.Qq}]};vo=(0,r.Cg)([(0,n._qm)()],vo);var $0=i(12498);const Vg={attributes:[],configurationId:"",configurationSessionDTO:null};let St=class{constructor(e,t,s,o,l,u,h,_){this.occEndpointsService=e,this.http=t,this.commonCurrencyService=s,this.languageService=o,this.route=l,this.globalMessageService=u,this.multiCartService=h,this.cartService=_,this.CONFIGURATION_ID="configurationId",this.validateFormOnSetData=!1,this.data$=new P.t(Vg),this.isLoading$=new P.t(!1),this.qty=1}showErrorMessage(e){this.globalMessageService.add({key:e},p.NCV.MSG_TYPE_ERROR)}updateLoadingStatus(e){this.isLoading$.next(e)}updateQty(e){this.qty=e}loadAttributes(){const{steelGrade:e,code:t,categoryCode:s,productCode:o}=this.route.snapshot.queryParams;if(!t||!s)return(0,$.of)();const l={classificationCode:t,categoryCode:s};e&&(l.steelGrade=e),o&&(l.productCode=o);const u=this.occEndpointsService.buildUrl(E.CONFIGURATOR.PLATE_ATTRIBUTES,{urlParams:{},queryParams:l});return this.http.get(u).pipe((0,z.M)(h=>{this.data$.next({...this.data$.value,configurationSessionDTO:h.configurationSessionDTO}),this.setConfId(h.configurationId)}),(0,$0.L)(5),(0,pe.W)(h=>(this.showErrorMessage("text.configureProduct.errors.loadErr"),(0,ue.$)(h))))}updateValue(e){const t=this.occEndpointsService.buildUrl(`${E.CONFIGURATOR.PLATE_ATTRIBUTES}/${e.attributeCode}`,{urlParams:{},queryParams:{configurationId:this.getConfId(),classificationCode:this.route.snapshot.queryParams.code,categoryCode:this.route.snapshot.queryParams.categoryCode}});return this.http.post(t,{...e.value,configurationSessionDTO:this.data$.value.configurationSessionDTO}).pipe((0,pe.W)(s=>(this.showErrorMessage("text.configureProduct.errors.updateErr"),(0,ue.$)(s))),(0,z.M)(s=>{this.data$.next(s)}))}getConfId(){return sessionStorage?.getItem(this.CONFIGURATION_ID)||null}setConfId(e){sessionStorage?.setItem(this.CONFIGURATION_ID,e)}clearConfId(){sessionStorage?.removeItem(this.CONFIGURATION_ID)}resetData(){this.data$.next(Vg),this.validateFormOnSetData=!1}destroy(){this.clearConfId(),this.resetData()}requestQuotation(e,t=this.qty){const s=this.getConfId(),{categoryCode:o}=this.route.snapshot.queryParams,l=this.occEndpointsService.buildUrl(E.USER.CART.QUOTATION_PLATE,{urlParams:{},queryParams:{categoryCode:o,configurationId:s,classificationCode:e,qty:t}});return this.http.post(l,{configurationSessionDTO:this.data$.value.configurationSessionDTO})}createCartAndSendRequest(e){const t=this.route.snapshot.queryParams.code;return this.updateLoadingStatus(!0),this.cartService.getCart().pipe((0,me.$)(),(0,k.n)(s=>s&&Object.keys(s).length>0?(0,$.of)(s):this.multiCartService.createCart({userId:ht.userId}).pipe((0,B.p)(o=>!(0,se.Im)(o)))),(0,At.Z)(()=>this.requestQuotation(t,e).pipe((0,_e.j)(()=>{this.updateLoadingStatus(!1),this.validateFormOnSetData=!1}))))}static#e=this.ctorParameters=()=>[{type:p.zxz},{type:U.Qq},{type:nn},{type:p.gwd},{type:y.nX},{type:p.S8D},{type:se.Z1},{type:ye}]};St=(0,r.Cg)([(0,n._qm)()],St);let xo=class{constructor(e,t,s,o,l,u){this.configureProductTypeSelectorService=e,this.configureProductService=t,this.routing=s,this.router=o,this.activatedRoute=l,this.elementRef=u,this.queryParams$=this.routing.getRouterState().pipe((0,w.T)(h=>(this.activeCategoryCode=h.state.queryParams.categoryCode,h.state.queryParams))),this.types$=this.configureProductTypeSelectorService.types$.pipe((0,z.M)(h=>this.fillCategoryActiveState(h))),this.isLoading$=this.configureProductService.isLoading$,this.activeCategoryCode=null,this.types=null,this.isOpened=!1,this.isCollapsed=!1}fillCategoryActiveState(e,t=null){return e.map(s=>(s.isActive=s.code===this.activeCategoryCode,s.isActive&&t&&(t.isActive=!0),s.subcategories.length&&(s.subcategories=this.fillCategoryActiveState(s.subcategories,s)),s))}onChange(e){this.router.navigate([],{queryParams:{categoryCode:e.code,code:e.classCode},queryParamsHandling:"merge",relativeTo:this.activatedRoute}),this.configureProductService.resetData()}toggle(){this.isOpened=!this.isOpened}toggleGroup(e){const t=this.elementRef.nativeElement;this.isCollapsed=!this.isCollapsed,this.isCollapsed||(t.focus(),e.stopPropagation())}static#e=this.ctorParameters=()=>[{type:vo},{type:St},{type:p.Oie},{type:y.Ix},{type:y.nX},{type:n.aKT}]};xo=(0,r.Cg)([(0,n.uAl)({selector:"app-configure-product-type-selector",template:'<ng-container *ngIf="queryParams$ | async as queryParams">\n  <ng-container *ngIf="types$ | async as types">\n    <div *ngIf="types.length > 0"\n         class="configure-product-type-selector"\n         [class.configure-product-type-selector--hidden]="!isOpened"\n         [class.is-collapsed]="isCollapsed"\n    >\n      <div class="configure-product-type-selector__header d-flex justify-content-between"\n           (click)="toggle(); toggleGroup($event)">\n        <span class="configure-product-type-selector__header-title">\n          {{\'text.configureProduct.type.subtitle\' | cxTranslate}}</span>\n        <svg-icon-sprite src="expand_less" width="24" height="24"\n                         class="configure-product-type-selector__toggle-icon"></svg-icon-sprite>\n        <div class="configure-product-type-selector__mobile-icons">\n          <svg-icon-sprite width="24" height="24" class="configure-product-type-selector__facet-icon" src="tune"></svg-icon-sprite>\n          <svg-icon-sprite width="24" height="24" class="configure-product-type-selector__close-icon" src="close"></svg-icon-sprite>\n        </div>\n      </div>\n      <div class="configure-product-type-selector__body">\n        <ng-container *ngTemplateOutlet="recursiveListTmpl; context: { list: types, queryParams: queryParams }"></ng-container>\n      </div>\n      <ng-container *ngIf="isLoading$ | async">\n        <div class="configure-product-type-selector__loader">\n          <app-loader size="50px"></app-loader>\n        </div>\n      </ng-container>\n    </div>\n  </ng-container>\n</ng-container>\n\n<ng-template #recursiveListTmpl let-list="list" let-queryParams="queryParams">\n  <ul class="configure-product-type-selector__list">\n    <li\n      *ngFor="let item of list"\n      [class.is-active]="item.isActive"\n      class="configure-product-type-selector__list-item"\n    >\n\n      <ng-container *ngIf="item.subcategories.length > 0; then collapsable else simpleRadio"></ng-container>\n      <ng-template #collapsable>\n        <div\n          [class.is-active]="item.isActive"\n          (click)="item.isActive = !item.isActive"\n          class="configure-product-type-selector__toggle"\n        >\n          <span class="configure-product-type-selector__label">{{ item.name }}</span>\n        </div>\n\n        <ng-container *ngTemplateOutlet="recursiveListTmpl; context: { list: item.subcategories, queryParams: queryParams }"></ng-container>\n      </ng-template>\n\n      <ng-template #simpleRadio>\n        <label class="radio-group">\n          <input\n            [checked]="queryParams.categoryCode === item.code"\n            (change)="onChange(item)"\n            name="configureProductTypeSelectorRadio"\n            type="radio"\n          >\n          <div class="radio-group__label" (click)="toggle()">\n            <span class="configure-product-type-selector__label">{{ item.name }}</span>\n          </div>\n        </label>\n      </ng-template>\n    </li>\n  </ul>\n</ng-template>\n\n',styles:[U0()]})],xo);var fo,Q,qe,V0=i(16991),G0=i.n(V0);!function(a){a.LIST="LIST",a.BOOLEAN="BOOLEAN",a.STRING="STRING",a.NUMBER="NUMBER",a.RANGE="RANGE",a.ENUM="ENUM"}(fo||(fo={})),function(a){a.UNITE_COMMANDE="UNITE_COMMANDE",a.GRADE_V2="GRADE_V2",a.UNITE_DIM_CDE="UNITE_DIM_CDE",a.WIDTH_CLIENT="WIDTH_CLIENT",a.LENGTH_CLIENT="LENGTH_CLIENT",a.EPAIS_CLIENT="EPAIS_CLIENT",a.LARG_CLIENT_3="LARG_CLIENT_3",a.LONG_CLIENT_3="LONG_CLIENT_3",a.EPAIS_CLIENT_3="EPAIS_CLIENT_3",a.NREMT_1="NREMT_1",a.CODE_TOLERANCE="CODE_TOLERANCE",a.ITYT="ITYT",a.CODE_FACTURATION="CODE_FACTURATION",a.ETAT_LIVR="ETAT_LIVR",a.THICKNESS_TOLERANCE="THICKNESS_TOLERANCE",a.NOMBRE_TOLES="NOMBRE_TOLES",a.POIDS_POSTE="POIDS_1_TOLE",a.PAQEMB_MAX="PAQEMB_MAX",a.TRAIT_SURF_QUOTE="TRAIT_SURF_QUOTE",a.LENGTH_MAX_REST="LENGTH_MAX_REST",a.ITP="ITP",a.FLATNESS_TOLERANCE="FLATNESS_TOLERANCE"}(Q||(Q={})),function(a){a.BLOCK="block",a.INLINE="inline"}(qe||(qe={}));qe.BLOCK,Q.GRADE_V2,qe.BLOCK,Q.UNITE_DIM_CDE,qe.BLOCK,Q.WIDTH_CLIENT,Q.LENGTH_CLIENT,Q.EPAIS_CLIENT,Q.LARG_CLIENT_3,Q.LONG_CLIENT_3,Q.EPAIS_CLIENT_3,qe.BLOCK,Q.NREMT_1,qe.BLOCK,Q.CODE_TOLERANCE,qe.BLOCK,Q.ITYT,qe.BLOCK,Q.CODE_FACTURATION,qe.BLOCK,Q.ETAT_LIVR,qe.BLOCK,Q.THICKNESS_TOLERANCE,qe.BLOCK,Q.TRAIT_SURF_QUOTE,qe.BLOCK,Q.LENGTH_MAX_REST,qe.BLOCK,Q.UNITE_COMMANDE,qe.INLINE,Q.NOMBRE_TOLES,Q.POIDS_POSTE,Q.PAQEMB_MAX;const z0=[Q.ITYT,Q.UNITE_DIM_CDE,Q.WIDTH_CLIENT,Q.LENGTH_CLIENT,Q.EPAIS_CLIENT,Q.LARG_CLIENT_3,Q.LONG_CLIENT_3,Q.EPAIS_CLIENT_3],Y0=[Q.NREMT_1,Q.FLATNESS_TOLERANCE,Q.THICKNESS_TOLERANCE,Q.TRAIT_SURF_QUOTE],Q0=[Q.NOMBRE_TOLES,Q.POIDS_POSTE,Q.PAQEMB_MAX];var Qd;!function(a){a.INVALID="INVALID",a.VALID="VALID"}(Qd||(Qd={}));let Pt=class{constructor(){this.invalidFields=[],this.validate$=new R.B}updateStatus(e,t){switch(e){case Q.WIDTH_CLIENT:this.excludeAlternativeCode(Q.LARG_CLIENT_3);break;case Q.LARG_CLIENT_3:this.excludeAlternativeCode(Q.WIDTH_CLIENT);break;case Q.LENGTH_CLIENT:this.excludeAlternativeCode(Q.LONG_CLIENT_3);break;case Q.LONG_CLIENT_3:this.excludeAlternativeCode(Q.LENGTH_CLIENT);break;case Q.EPAIS_CLIENT:this.excludeAlternativeCode(Q.EPAIS_CLIENT_3);break;case Q.EPAIS_CLIENT_3:this.excludeAlternativeCode(Q.EPAIS_CLIENT)}t===Qd.VALID?this.invalidFields=this.invalidFields.filter(s=>e!==s):this.invalidFields.includes(e)||this.invalidFields.push(e)}excludeAlternativeCode(e){this.invalidFields=this.invalidFields.filter(t=>t!==e)}validate(){let e=!1;return this.invalidFields.length>0&&(this.validate$.next(this.invalidFields[0]),e=!0),e}reset(){this.invalidFields=[]}static#e=this.ctorParameters=()=>[]};Pt=(0,r.Cg)([(0,n._qm)()],Pt);let Co=class{onScroll(){this.detectPosition()}constructor(e,t,s,o,l,u,h,_,C,T){this.configureProductService=e,this.changeDetector=t,this.route=s,this.launchDialogService=o,this.globalMessageService=l,this.router=u,this.configureValidatorService=h,this.multiCartService=_,this.cartService=C,this.document=T,this.ConfigureFormTypes=fo,this.data=null,this.isLoading$=this.configureProductService.isLoading$,this.mainAttributes={},this.configureItems=[],this.attributesWithoutIndex=[],this.stringAttributes=[],this.loaderOffsetTop=200,this.padding=200,this.destroyed$=new R.B,this.subscription=new X.yU}ngOnInit(){this.initRouteSub(),this.initDataSub()}ngOnDestroy(){this.destroy()}ngAfterViewInit(){this.detectPosition()}detectPosition(){const t=this.document.defaultView.pageYOffset+this.padding,s=this.container.nativeElement.offsetHeight;this.loaderOffsetTop=t+90>=s-90?s-90:t}destroy(){this.configureProductService.destroy(),this.destroyed$.next(),this.destroyed$.complete()}initDataSub(){this.configureProductService.data$.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.data=e,this.clearLayout(),this.generateLayout(e),this.changeDetector.detectChanges()})}clearLayout(){this.mainAttributes={},this.attributesWithoutIndex=[],this.stringAttributes=[],this.configureItems=[]}initRouteSub(){this.route.queryParams.pipe((0,x.Q)(this.destroyed$),(0,k.n)(()=>(this.configureProductService.updateLoadingStatus(!0),this.changeDetector.detectChanges(),this.configureProductService.loadAttributes()))).pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.configureProductService.updateLoadingStatus(!1),e&&(this.clearLayout(),this.generateLayout(e)),this.changeDetector.detectChanges()},e=>{this.configureProductService.updateLoadingStatus(!1),this.changeDetector.detectChanges()})}generateLayout(e){e.attributes.forEach(t=>{if(t.innerCode===Q.ITP)return;if(t.innerCode===Q.GRADE_V2)return void(this.mainAttributes.steelGrade=t);if(t.innerCode===Q.UNITE_COMMANDE)return void(this.mainAttributes.unitOfOrder=t);if(Q0.includes(t.innerCode))return void this.stringAttributes.push(t);const s=z0.indexOf(t.innerCode);if(-1!==s)this.configureItems[s]=t;else{const o=Y0.indexOf(t.innerCode);-1!==o&&(this.attributesWithoutIndex[o]=t)}}),this.attributesWithoutIndex.length%2!=0&&(this.mainAttributes.lastItem=this.attributesWithoutIndex.pop()),this.changeDetector.detectChanges()}trackByFn(e,t){return+t.code}trackByCode(e){return+e.subCode}requestQuotation(){this.configureValidatorService.validate()?this.configureProductService.validateFormOnSetData=!0:this.configureProductService.createCartAndSendRequest(this.getQty()).pipe((0,x.Q)(this.destroyed$)).subscribe(t=>{if(t)switch(t.statusCode){case te.MORE_THAN_ONE_CATEGORY_FOR_QUOTATION:this.globalMessageService.add({key:"text.productList.variantProduct.error.moreThanOneCategoryForQuotation"},p.NCV.MSG_TYPE_ERROR);break;case te.NO_SALES_DATA_ERROR:this.launchDialogService.openDialogAndSubscribe("WARNING_MODAL",void 0,void 0);break;default:this.cartService.changeCartType(re.QUOTATION),this.showModalAndRedirect()}else this.globalMessageService.add({key:"text.configureProduct.errors.configureId"},p.NCV.MSG_TYPE_ERROR)},t=>{t.error?.errors?.forEach(s=>{this.globalMessageService.add(s?.message,p.NCV.MSG_TYPE_ERROR)})})}getQty(){return+this.data.attributes.find(e=>e.innerCode===Q.UNITE_COMMANDE)?.valueCurrent?.quantity||1}showModalAndRedirect(){this.launchDialogService.openDialogAndSubscribe("ADD_TO_CART_MODAL",void 0,void 0),this.subscription.add(this.launchDialogService.dialogClose.subscribe(e=>{e||this.redirectToListingPage(),this.destroy(),this.multiCartService.loadCart({cartId:ht.cartId,userId:ht.userId})},()=>{this.redirectToListingPage()}))}redirectToListingPage(){const{categoryCode:e}=this.route.snapshot.queryParams;this.router.navigate([`${M.CATEGORIES.BASE}/${e}`]).then()}isHaveStringType(e){return e.find(t=>t.type===fo.STRING)}trackBy(e){return e}static#e=this.ctorParameters=()=>[{type:St},{type:n.gRc},{type:y.nX},{type:v.PLe},{type:p.S8D},{type:y.Ix},{type:Pt},{type:se.Z1},{type:ye},{type:Document,decorators:[{type:n.y_5,args:[S.qQ]}]}];static#t=this.propDecorators={container:[{type:n.Uct,args:["container",{read:n.aKT}]}],onScroll:[{type:n.Z$l,args:["window:scroll"]}]}};Co=(0,r.Cg)([(0,n.uAl)({selector:"app-configure-product",template:'<div class="configure-product">\n  <div class="configure-product__head">\n    <app-configure-head></app-configure-head>\n  </div>\n\n  <div class="configure-product__content" #container>\n    <ng-container *ngIf="data">\n      <div class="configure-product__content">\n        <app-toggle-card\n          [isExpand]="true"\n          [secondary]="false"\n          [hideToggleButton]="false"\n          [overflowVisible]="true"\n          class="d-block mb-20"\n        >\n          <div header-left>\n            {{ (\'text.configureProduct.plateChars\' | cxTranslate).toUpperCase() }}\n          </div>\n          <div toggle-body>\n            <div class="configure-product__wrapper" *ngIf="configureItems.length > 0; else skeleton">\n\n              <div class="configure-product__columns-wrapper configure-product__columns-wrapper--with-border">\n                <app-configure-list\n                  *ngIf="mainAttributes?.steelGrade"\n                  [data]="mainAttributes.steelGrade"\n                ></app-configure-list>\n                <ng-container *ngFor="let attribute of configureItems; trackBy: trackBy ">\n                  <ng-container *ngTemplateOutlet="attributeItem; context: { attribute: attribute }"></ng-container>\n                </ng-container>\n              </div>\n\n              <div class="configure-product__columns-wrapper">\n                <ng-container *ngFor="let attribute of attributesWithoutIndex; trackBy: trackBy ">\n                  <ng-container *ngTemplateOutlet="attributeItem; context: { attribute: attribute }"></ng-container>\n                </ng-container>\n              </div>\n\n              <div *ngIf="mainAttributes.lastItem" class="w-100">\n                <ng-container\n                  *ngTemplateOutlet="attributeItem; context: { attribute: mainAttributes.lastItem }"></ng-container>\n              </div>\n            </div>\n          </div>\n        </app-toggle-card>\n      </div>\n\n      <app-toggle-card\n        [isExpand]="true"\n        [secondary]="false"\n        [hideToggleButton]="false"\n        [overflowVisible]="true"\n        class="d-block mb-20"\n      >\n\n        <div header-left>\n          {{\'text.configureProduct.unitOfOrder\' | cxTranslate}}\n        </div>\n\n        <div toggle-body class="configure-product__wrapper">\n\n          <ng-container *ngIf="mainAttributes?.unitOfOrder; else loadingCard">\n            <app-configure-enum [data]="mainAttributes?.unitOfOrder"></app-configure-enum>\n          </ng-container>\n\n        </div>\n      </app-toggle-card>\n\n      <app-card-wrapper [overflowVisible]="true" class="d-block mb-20">\n        <div class="configure-product__wrapper">\n\n          <ng-container *ngIf="configureItems?.length > 0; else loadingCard">\n            <div class="configure-product__string-wrapper" *ngIf="stringAttributes.length > 0">\n              <ng-container *ngFor="let attribute of stringAttributes">\n                <app-configure-string [data]="attribute"></app-configure-string>\n              </ng-container>\n              <div class="d-flex">\n                <app-configure-footer class="configure-product__request-button" (requestQuotation)="requestQuotation()"></app-configure-footer>\n              </div>\n            </div>\n          </ng-container>\n\n        </div>\n      </app-card-wrapper>\n    </ng-container>\n\n    <div *ngIf="configureItems?.length > 0 && isLoading$ | async " class="configure-product__loader-wrapper">\n      <app-loader style.top="{{loaderOffsetTop}}px" class="configure-product__loader"></app-loader>\n    </div>\n  </div>\n</div>\n\n<ng-template #attributeItem let-attribute="attribute">\n  <ng-container [ngSwitch]="attribute?.type">\n    <app-configure-list *ngSwitchCase="ConfigureFormTypes.LIST" [data]="attribute"></app-configure-list>\n    <app-configure-range *ngSwitchCase="ConfigureFormTypes.RANGE" [data]="attribute"></app-configure-range>\n    <app-configure-number *ngSwitchCase="ConfigureFormTypes.NUMBER" [data]="attribute"></app-configure-number>\n  </ng-container>\n</ng-template>\n\n<ng-template #skeleton>\n  <div class="configure-product__wrapper">\n    <div class="configure-product__columns-wrapper configure-product__columns-wrapper--with-border">\n      <div class="input">\n        <div class="blink">\n        </div>\n      </div>\n      <div class="input">\n        <div class="blink">\n        </div>\n      </div>\n\n      <div class="input">\n        <div class="blink">\n        </div>\n      </div>\n\n      <div class="input">\n        <div class="blink">\n        </div>\n      </div>\n    </div>\n\n    <div class="configure-product__columns-wrapper">\n      <div class="input">\n        <div class="blink">\n        </div>\n      </div>\n      <div class="input">\n        <div class="blink">\n        </div>\n      </div>\n\n      <div class="input">\n        <div class="blink">\n        </div>\n      </div>\n\n      <div class="input">\n        <div class="blink">\n        </div>\n      </div>\n    </div>\n\n    <div class="w-100">\n      <div class="input">\n        <div class="blink blink--double">\n        </div>\n      </div>\n    </div>\n  </div>\n</ng-template>\n\n\n<ng-template #loadingCard>\n  <div class="loading-card">\n    <div class="loading-card__wrapper">\n      <app-loader size="48px" class="loading-card__loader"></app-loader>\n      <p class="loading-card__text">\n        {{ \'text.configureProduct.loading\' | cxTranslate }}\n      </p>\n    </div>\n  </div>\n</ng-template>\n',styles:[G0()]})],Co);var H0=i(87659),j0=i.n(H0);let qd=class{constructor(){this.formItem=null,this.items=[],this.control=null,this.last=!1,this.inputControl=null,this.updateQuantity=new n.bkB,this.onFocus=!1,this.currentMask={prefix:"",thousandSeparator:""},this.numberMask=(0,Ue.TK)(this.currentMask)}set setDecimal(e){this.currentMask=Object.assign(this.currentMask,{precision:e?2:0}),this.numberMask=(0,Ue.TK)(this.currentMask)}set setDecimalLimit(e){(e||0===e)&&(this.currentMask=Object.assign(this.currentMask,{precision:e}),this.numberMask=(0,Ue.TK)(this.currentMask))}update(){if(!this.onFocus||this.inputControl.invalid||!this.control.value)return;const e={attributeCode:this.formItem.valueSpec?.value?.code,value:{value:!isNaN(this.inputControl.value)&&this.inputControl.value}};this.updateQuantity.emit(e),this.onFocus=!1}setFocus(){this.onFocus=!0}static#e=this.propDecorators={formItem:[{type:n.pde}],items:[{type:n.pde}],control:[{type:n.pde}],last:[{type:n.pde}],inputControl:[{type:n.pde}],setDecimal:[{type:n.pde,args:["allowDecimal"]}],setDecimalLimit:[{type:n.pde,args:["decimalLimit"]}],updateQuantity:[{type:n.k7i}]}};qd=(0,r.Cg)([(0,n.uAl)({selector:"app-enum-field-configure",template:'<div class="enum-item">\n  <div class="enum-item__head" [class.enum-item__head--tabs]="items.length > 2">\n    <label\n      [for]="formItem.innerCode"\n      class="enum-item__label"\n    >\n      {{ formItem.name }}\n    </label>\n\n    <div class="enum-item__field">\n      <app-tabs-radio\n        [formControl]="control"\n        [items]="items"\n        bindProperty="code"\n        showProperty="name"\n        size="small"\n      >\n      </app-tabs-radio>\n    </div>\n  </div>\n\n  <div class="enum-item__input-field">\n    <input\n      [formControl]="inputControl"\n      [maskito]="numberMask"\n      (click)="setFocus()"\n      (mouseleave)="update()"\n      placeholder="Volume"\n      type="text"\n      class="w-100"\n    >\n\n    <div class="enum-item__error">\n      <cx-form-errors [control]="inputControl"></cx-form-errors>\n    </div>\n  </div>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[j0()]})],qd);var K0=i(9919),X0=i.n(K0);class vs{set setData(e){this.initFormStatusSub(),this.data=e,this.form.clearValidators(),this.setDataIntoForm(e),this.form.updateValueAndValidity(),this.configureProductService.validateFormOnSetData&&this.form.markAllAsTouched()}constructor(e,t){this.configureProductService=e,this.configureValidatorService=t,this.currentMask={prefix:"",thousandSeparator:""},this.destroy$=new R.B,this.updated=!1,this.initValidateSub()}initFormStatusSub(){this.form.statusChanges.pipe((0,x.Q)(this.destroy$)).subscribe(e=>{this.configureValidatorService.updateStatus(this.data.innerCode,e)})}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}initValidateSub(){this.configureValidatorService.validate$.pipe((0,x.Q)(this.destroy$)).subscribe(e=>{this.form.markAllAsTouched(),e===this.data.innerCode&&this.container?.nativeElement?.scrollIntoView({behavior:"smooth",block:"center"})})}update(e){this.configureProductService.updateLoadingStatus(!0),this.configureProductService.updateValue(e).pipe((0,_e.j)(()=>{this.configureProductService.updateLoadingStatus(!1),this.updated=!0}),(0,x.Q)(this.destroy$)).subscribe()}getDestroy(){return this.destroy$}getData(){return this.data}static#e=this.propDecorators={setData:[{type:n.pde,args:["data"]}],container:[{type:n.Uct,args:["container",{read:n.aKT}]}]}}let Hd=class extends vs{constructor(e,t){super(e,t),this.configureProductService=e,this.configureValidatorService=t,this.form=new m.hs}ngOnInit(){}ngOnDestroy(){super.ngOnDestroy()}initValueChangeSub(){this.form.valueChanges.pipe((0,x.Q)(super.getDestroy())).subscribe(e=>{this.updateValue(e)})}setDataIntoForm(e){e&&(this.form.setValue(e.valueCurrent.code),e.required&&this.form.setValidators(m.k0.required))}updateValue(e){if(!e)return void this.form.markAllAsTouched();const t={attributeCode:super.getData().code,value:{value:e}};super.update(t)}static#e=this.ctorParameters=()=>[{type:St},{type:Pt}]};Hd=(0,r.Cg)([(0,n.uAl)({selector:"app-configure-boolean",template:'<div class="boolean-item" #container>\n  <label class="col-3 boolean-item__title">{{ data.name }}</label>\n  <div class="boolean-item__field">\n    <app-input [controlData]="form" type="checkbox"></app-input>\n  </div>\n</div>\n',styles:[X0()]})],Hd);var J0=i(60389),eT=i.n(J0);let jd=class extends vs{constructor(e,t){super(e,t),this.configureProductService=e,this.configureValidatorService=t,this.onFocus=!1,this.numberMask=(0,Ue.TK)(this.currentMask),this.form=this.initForm()}ngOnInit(){}ngOnDestroy(){super.ngOnDestroy()}setDataIntoForm(e){const t=this.form.get("input");t.clearValidators(),e&&this.form.patchValue({tabs:e.valueCurrent.code,input:e.valueCurrent.quantity}),e.required&&t.setValidators(m.k0.required),this.calculateMask(e)}setFocus(){this.onFocus=!0;const e=this.form.get("input");(0===e.value||"0"===e.value)&&e.setValue("",{emitEvent:!1,onlySelf:!1})}onChangeQuantity(){if(!this.onFocus)return;const e=this.form.get("input"),t={attributeCode:this.data.valueSpec.value.code,value:{value:e.value?e.value:"0"}};this.onFocus=!1,this.input.nativeElement.blur(),super.update(t)}onChangeTab(e){const t={attributeCode:this.data.code,value:{code:e}};super.update(t)}calculateMask(e){const s=Number.isInteger(e.valueSpec?.value?.minValue||0)?0:3;this.numberMask=(0,Ue.TK)(Object.assign(this.currentMask,{precision:s}))}initForm(){return new m.J3({tabs:new m.hs,input:new m.hs("0")})}static#e=this.ctorParameters=()=>[{type:St},{type:Pt}];static#t=this.propDecorators={input:[{type:n.Uct,args:["input",{read:n.aKT}]}]}};jd=(0,r.Cg)([(0,n.uAl)({selector:"app-configure-enum",template:'<div class="enum-item" #container>\n  <div class="enum-item__head">\n    <div class="enum-item__field">\n      <app-tabs-radio\n        *ngIf="data.valueSpec?.list"\n        [formControl]="form.get(\'tabs\')"\n        [items]="data.valueSpec.list"\n        bindProperty="code"\n        showProperty="name"\n        (valueChange)="onChangeTab($event)">\n      </app-tabs-radio>\n    </div>\n  </div>\n\n  <div class="enum-item__input-field">\n    <app-input #input\n               type="number"\n               [maskito]="numberMask"\n               [showIcon]="false"\n               [controlData]="form.get(\'input\')"\n               [label]="data.name"\n               (focusout)="onChangeQuantity()"\n               (focusEvent)="setFocus()">\n    </app-input>\n  </div>\n</div>\n',styles:[eT()]})],jd);var nT=i(82999),sT=i.n(nT);function iT(a){return a.value&&"0"!==a.value?null:{required:!0}}let Wd=class extends vs{constructor(e,t){super(e,t),this.configureProductService=e,this.configureValidatorService=t,this.form=new m.hs}ngOnInit(){}ngOnDestroy(){super.ngOnDestroy()}setDataIntoForm(e){e&&this.form.setValue(e.valueCurrent?.code),e.required&&this.form.setValidators(iT)}updateValue(e){const t={attributeCode:this.data.code,value:{code:e.code}};super.update(t)}static#e=this.ctorParameters=()=>[{type:St},{type:Pt}]};Wd=(0,r.Cg)([(0,n.uAl)({selector:"app-configure-list",template:'<app-select-search\n  bindValue="code"\n  bindLabel="name"\n  [control]="form"\n  [items]="data?.valueSpec?.list"\n  [placeholder]="data.name"\n  [clearable]="false"\n  (valueChange)="updateValue($event)"\n  #container>\n</app-select-search>\n',styles:[sT()]})],Wd);var oT=i(39241),aT=i.n(oT);let Kd=class extends vs{constructor(e,t){super(e,t),this.configureProductService=e,this.configureValidatorService=t,this.numberMask=(0,Ue.TK)({prefix:"",thousandSeparator:""}),this.form=new m.hs,this.onFocus=!1}ngOnInit(){}ngOnDestroy(){super.ngOnDestroy()}setDataIntoForm(e){e.valueCurrent?.value&&this.form.setValue(e.valueCurrent.value),e.required&&this.form.setValidators(m.k0.required)}updateValue(){if(!this.onFocus||this.form.invalid)return;const e={attributeCode:this.data.code,value:{value:this.form.value}};this.onFocus=!1,this.input.nativeElement.blur(),super.update(e)}setFocus(){this.onFocus=!0}static#e=this.ctorParameters=()=>[{type:St},{type:Pt}];static#t=this.propDecorators={input:[{type:n.Uct,args:["input",{read:n.aKT}]}]}};Kd=(0,r.Cg)([(0,n.uAl)({selector:"app-configure-number",template:'<ng-container *ngIf="!data.editable; else numberEditable" #container>\n  <div class="number-item">\n    <div class="number-item__label">{{ data.name }}</div>\n    <div class="number-item__value">\n      {{ \'text.configureProduct.string\' | cxTranslate }}\n    </div>\n  </div>\n</ng-container>\n<ng-template #numberEditable>\n  <div class="number-item number-item--row">\n    <div class="number-item__field">\n      <app-input  #input\n                  type="number"\n                  [showIcon]="false"\n                  [controlData]="form"\n                  [label]="data.name"\n                  (mouseLeave)="updateValue()"\n                  (focusEvent)="setFocus()">\n      </app-input>\n    </div>\n  </div>\n</ng-template>\n',styles:[aT()]})],Kd);var lT=i(99135),dT=i.n(lT);function uT(a){return a.value||0===a.value?null:{required:!0}}function Gg(a,e){return t=>t.value<a||t.value>e?{invalidRange:!0}:null}let Xd=class extends vs{constructor(e,t){super(e,t),this.configureProductService=e,this.configureValidatorService=t,this.form=new m.hs("",m.k0.required),this.rangeMask=(0,Ue.TK)({precision:2,decimalSeparator:".",prefix:"",thousandSeparator:""}),this.defaultMin=0,this.defaultMax=1e5}ngOnInit(){}ngOnDestroy(){super.ngOnDestroy()}setDataIntoForm(e){e&&((e.valueCurrent.value||0==+e.valueCurrent.value)&&this.form.setValue(e.valueCurrent.value),e.required?this.form.setValidators([uT,Gg(e.range?.min||this.defaultMin,e.range?.max||this.defaultMax)]):this.form.setValidators([Gg(e.range?.min||this.defaultMin,e.range?.max||this.defaultMax)]))}updateValue(e){const t=e.target;if(this.form.invalid)return void this.form.markAsTouched();if(+t.value==+this.data.valueCurrent.value)return;const s={attributeCode:this.data.code,value:{value:t.value}};super.update(s)}static#e=this.ctorParameters=()=>[{type:St},{type:Pt}]};Xd=(0,r.Cg)([(0,n.uAl)({selector:"app-configure-range",template:'<div #container>\n  <app-input\n    [controlData]="form"\n    [label]="data.name + (data.required ? \' *\' : \'\')"\n    [maskito]="rangeMask"\n    [textOption]="\'placeholder.minMax\' | cxTranslate : { min: data.range?.min || defaultMin, max: data.range?.max || defaultMax}"\n    (focusout)="updateValue($event)"\n    type="number"\n  ></app-input>\n</div>\n',styles:[dT()]})],Xd);var gT=i(40313),mT=i.n(gT);let Zd=class{static#e=this.propDecorators={data:[{type:n.pde}]}};Zd=(0,r.Cg)([(0,n.uAl)({selector:"app-configure-string",template:'<div class="string-item">\n  <div class="string-item__wrapper d-flex align-items-center flex-wrap">\n    <span class="string-item__title">{{ data.name }}</span>\n    <span\n      *ngIf="data.description"\n      class="string-item__description"\n    >\n      {{ data.description }}\n    </span>\n  </div>\n  <div class="string-item__value">\n    {{ data.valueCurrent?.value }}\n  </div>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[mT()]})],Zd);let Jd=class{};Jd=(0,r.Cg)([(0,n.UQu)({declarations:[Co,xo,qd,zd,Yd,jd,Xd,Wd,Hd,Zd,Kd],imports:[S.MD,y.iI,p.htr.withConfig({cmsComponents:{ConfigureProductComponent:{component:Co,guards:[j]},ConfigurationProductTypeSelectorComponent:{component:xo,providers:[{provide:vo}]}}}),ce,m.X1,it,_s,m.X1,Ze,On,p.LP3,V.F2,ge,v.GQ,Ft.u,ct,ze],providers:[St,Pt]})],Jd);var vT=i(78981),xT=i.n(vT);let ep=class{static#e=this.propDecorators={card:[{type:n.pde}]}};ep=(0,r.Cg)([(0,n.uAl)({selector:"app-contact-us-card",template:'<div class="contact-card">\n  <div class="contact-card__header d-flex align-items-center">\n    <svg-icon-sprite\n      class="contact-card__header-icon"\n      src="public"\n      width="18"\n      height="18"\n    ></svg-icon-sprite>\n    {{card.header}}\n  </div>\n  <div class="contact-card__line contact-card__line--name">\n    <svg-icon-sprite\n      class="contact-card__line-icon"\n      src="nlmk_manager"\n      width="18"\n      height="18"\n    ></svg-icon-sprite>\n    {{card.fullName}}\n  </div>\n  <div class="contact-card__line contact-card__line--company">\n    <svg-icon-sprite\n      class="contact-card__line-icon"\n      src="business"\n      width="18"\n      height="18"\n    ></svg-icon-sprite>\n    {{card.title}}\n  </div>\n  <a class="contact-card__line contact-card__line--link" href="mailto:{{card.email}}">\n    <svg-icon-sprite\n      class="contact-card__line-icon contact-card__line-icon--link"\n      src="mail_outline"\n      width="18"\n      height="18"\n    ></svg-icon-sprite>\n    {{card.email}}\n  </a>\n  <a\n    *ngIf="card.phoneNumber"\n    class="contact-card__line contact-card__line--link"\n    href="tel:{{card.phoneNumber}}"\n  >\n    <svg-icon-sprite\n      class="contact-card__line-icon contact-card__line-icon--link"\n      src="phone"\n      width="18"\n      height="18"\n    ></svg-icon-sprite>\n    {{card.phoneNumber}}\n  </a>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[xT()]})],ep);var CT=i(72959),bT=i.n(CT);let xs=class{constructor(){this.activeProductTab$=new P.t(Z.PLATE)}changeProductType(e){this.activeProductTab$.next(e)}static#e=this.ctorParameters=()=>[]};xs=(0,r.Cg)([(0,n._qm)()],xs);let tp=class{constructor(e,t,s,o){this.contactUsStaticService=e,this.translatePipe=t,this.translateService=s,this.changeDetection=o,this.selectedTab=this.contactUsStaticService.activeProductTab$.getValue()}ngOnInit(){this.setTabAfterTranslateLoaded()}setTabAfterTranslateLoaded(){this.translateService.loadChunks("common").then(()=>{this.tabs=[{name:this.translatePipe.transform("text.staticPage.plate"),code:Z.PLATE},{name:this.translatePipe.transform("text.staticPage.strip"),code:Z.STRIP}],this.changeDetection.detectChanges()})}onValueChange(e){this.contactUsStaticService.changeProductType(Z[e])}static#e=this.ctorParameters=()=>[{type:xs},{type:p.D97},{type:p.L08},{type:n.gRc}]};tp=(0,r.Cg)([(0,n.uAl)({selector:"app-contact-us-title",template:'<div class="d-flex align-items-center contact-us">\n  <h5 class="contact-us__title">{{ \'text.staticPage.contacts\' | cxTranslate }}</h5>\n  <app-tabs-radio\n    showProperty="name"\n    bindProperty="code"\n    size="small"\n    [items]="tabs"\n    (selectedItemChange)="onValueChange($event)"\n    [(selectedItem)]="selectedTab"\n  ></app-tabs-radio>\n</div>\n\n<div class="contact-us__divider"></div>\n',styles:[bT()]})],tp);var ST=i(64105),TT=i.n(ST);let bo=class{constructor(e,t){this.contactUsStaticService=e,this.component=t,this.data$=this.component.data$,this.activeProductTab$=this.contactUsStaticService.activeProductTab$,this.sortByOrder=pt}getDisplayCards(e,t){return Object.values(e).filter(s=>s.productionType===t)}static#e=this.ctorParameters=()=>[{type:xs},{type:v.TLs}]};bo=(0,r.Cg)([(0,n.uAl)({selector:"app-contact-us-static",template:'<app-contact-us-title></app-contact-us-title>\n\n<div *ngIf="data$ | async as data" class="contact-us-cards">\n  <ng-container *ngIf="activeProductTab$ | async as activeTab">\n    <app-contact-us-card\n      *ngFor="let displayCard of sortByOrder(getDisplayCards(data.contacts, activeTab))"\n      [card]="displayCard"\n    ></app-contact-us-card>\n  </ng-container>\n</div>\n',styles:[TT()]})],bo);let np=class{};np=(0,r.Cg)([(0,n.UQu)({declarations:[ep,tp,bo],imports:[S.MD,p.htr.withConfig({cmsComponents:{ContactUsItemsRootComponent:{component:bo}}}),V.F2,it,p.LP3],providers:[xs],exports:[]})],np);var RT=i(79869),OT=i.n(RT);let yo=class{constructor(e){this.componentData=e,this.class="footer__block col-12 p-0",this.data$=this.componentData.data$,this.social={youtube:!1,instagram:!1,facebook:!1,twitter:!1,linkedIn:!1}}static#e=this.ctorParameters=()=>[{type:v.TLs}];static#t=this.propDecorators={class:[{type:n.g$6,args:["class"]}]}};yo=(0,r.Cg)([(0,n.uAl)({selector:"app-contact-us",template:' <div *ngIf="data$ | async as data" class="row">\n    <div class="col-12">\n      <h3 class="footer__title">{{data.title}}</h3>\n      <div class="d-flex flex-column">\n        <a class="footer__contact" href="tel:{{data.phone}}">\n          <svg-icon-sprite\n            class="footer__contact-icon"\n            src="call"\n            width="16"\n            height="16"\n          ></svg-icon-sprite>\n          {{ data.phone }}</a>\n        <a *ngIf="data.fax" class="footer__contact" href="fax:{{data.fax}}">\n          <svg-icon-sprite\n            class="footer__contact-icon"\n            src="fax"\n            width="16"\n            height="16"\n          ></svg-icon-sprite>\n          {{ data.fax }}</a>\n        <a *ngIf="data.email" class="footer__contact--s footer__contact--colored d-flex align-items-center"\n           href="mailto:{{data.email}}">\n          <svg-icon-sprite\n            class="footer__contact-icon footer__contact--colored"\n            src="email"\n            width="16"\n            height="16"\n          ></svg-icon-sprite>\n          {{ data.email }}</a>\n        <div *ngIf="data.address" class="footer__contact--s d-flex align-items-center">\n          <svg-icon-sprite\n            class="footer__contact-icon"\n            src="place"\n            width="16"\n            height="16"\n          ></svg-icon-sprite>\n          {{data.address}}</div>\n      </div>\n      <div class="mb-20 d-flex">\n        <a *ngIf="data.fbLink" [href]="data.fbLink" class="footer__icon">\n          <svg-icon-sprite\n            (mouseenter)="social.facebook = true"\n            (mouseleave)="social.facebook = false"\n            [src]="social.facebook ? \'facebook_hover\' : \'facebook_static\'"\n            width="36"\n            height="36"\n          ></svg-icon-sprite>\n        </a>\n        <a *ngIf="data.twitterLink" [href]="data.twitterLink" class="footer__icon">\n          <svg-icon-sprite\n            (mouseenter)="social.twitter = true"\n            (mouseleave)="social.twitter = false"\n            [src]="social.twitter ? \'twitter_hover\' : \'twitter_static\'"\n            width="36"\n            height="36"\n          ></svg-icon-sprite>\n        </a>\n        <a *ngIf="data.youtubeLink" [href]="data.youtubeLink" class="footer__icon">\n          <svg-icon-sprite\n            (mouseenter)="social.youtube = true"\n            (mouseleave)="social.youtube = false"\n            [src]="social.youtube ? \'youtube_hover\' : \'youtube_static\'"\n            width="36"\n            height="36"\n          ></svg-icon-sprite>\n        </a>\n        <a *ngIf="data.instagramLink" [href]="data.instagramLink" class="footer__icon">\n          <svg-icon-sprite\n            (mouseenter)="social.instagram = true"\n            (mouseleave)="social.instagram = false"\n            [src]="social.instagram ? \'instagram_hover\' : \'instagram_static\'"\n            width="36"\n            height="36"\n          ></svg-icon-sprite>\n        </a>\n      </div>\n\n      <div class *ngIf="data.optionalEmail && data.additionalTitle">\n        <h3 class="footer__title">{{data.additionalTitle}}</h3>\n        <a class="footer__contact--s footer__contact--colored d-flex align-items-center"\n           href="mailto:{{data.optionalEmail}}">\n          <svg-icon-sprite\n            class="footer__contact-icon footer__contact--colored"\n            src="email"\n            width="16"\n            height="16"\n          ></svg-icon-sprite>\n          {{ data.optionalEmail }}</a>\n      </div>\n      \n      <div class *ngIf="data.websiteEmail && data.websiteTitle">\n      \t<h3 class="footer__title">{{data.websiteTitle}}</h3>\n        <a class="footer__contact--s footer__contact--colored d-flex align-items-center"\n           href="mailto:{{data.websiteEmail}}">\n          <svg-icon-sprite\n            class="footer__contact-icon footer__contact--colored"\n            src="email"\n            width="16"\n            height="16"\n          ></svg-icon-sprite>\n          {{ data.websiteEmail }}</a>\n      </div>\n\n    </div>\n  </div>\n',changeDetection:n.Ngq.OnPush,styles:[OT()]})],yo);var IT=i(51391),wT=i.n(IT);let So=class{constructor(e,t,s){this.authService=e,this.component=t,this.pageService=s,this.isUserLoggedIn$=this.authService.isUserLoggedIn(),this.data$=this.component.data$}onInquiryClick(e){this.pageService.onInquiryClick(e)}static#e=this.ctorParameters=()=>[{type:p.uRZ},{type:v.TLs},{type:mt}]};So=(0,r.Cg)([(0,n.uAl)({selector:"app-create-inquiry",template:'<div class="footer-trading" *ngIf="data$ | async as data">\n  <div class="d-flex flex-column flex-sm-row">\n    <div class="footer-trading__description">{{data.componentMainText}}</div>\n    <ng-container *ngTemplateOutlet="inquiry; context:{isUserLoggedIn:isUserLoggedIn$ | async}"></ng-container>\n    <ng-template #inquiry let-isUserLoggedIn=\'isUserLoggedIn\'>\n      <button\n        [routerLink]="data.createInquiryUrl"\n        (click)="onInquiryClick(isUserLoggedIn)"\n        class="btn btn-default footer-trading__button"\n      >\n        {{data.createInquiryLabel}}\n      </button>\n    </ng-template>\n  </div>\n  <div class="footer-trading__bottom">\n    <div class="footer-trading__nlmk">{{data.companyAbbreviation}} {{data.year}}</div>\n    <app-footer-privacy-settings></app-footer-privacy-settings>\n  </div>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[wT()]})],So);let sp=class{};sp=(0,r.Cg)([(0,n.UQu)({declarations:[So],imports:[S.MD,p.htr.withConfig({cmsComponents:{CreateInquiryFooterComponent:{component:So}}}),p.LP3,y.iI,Nr]})],sp);var To,ip,DT=i(97031),LT=i.n(DT);!function(a){a.NEW="new",a.DEFAULT="default",a.COMPLETED="completed"}(To||(To={})),function(a){a.ACTIVE="ACTIVE",a.SENT_FOR_APPROVAL="SENT_FOR_APPROVAL",a.NOT_APPROVED="NOT_APPROVED"}(ip||(ip={}));let pn=class{constructor(e,t,s){this.globalMessageService=e,this.http=t,this.occEndpointsService=s,this.isAddressUpdate$=new P.t(null)}getAddressesList(e){const t=this.occEndpointsService.buildUrl(E.USER.DELIVERY_ADDRESSES,{urlParams:{},queryParams:e});return this.http.get(t)}setDefaultAddress(e){const t=this.occEndpointsService.buildUrl(E.USER.SET_DEFAULT_ADDRESS,{urlParams:{addressId:e.id}});return this.http.put(t,e)}updateAddressData(e){const t=this.occEndpointsService.buildUrl(E.USER.SET_DEFAULT_ADDRESS,{urlParams:{addressId:e.id}});return this.http.patch(t,e)}verifyAddress(e){const t=this.occEndpointsService.buildUrl(E.USER.ADDRESS_VERIFY);return this.http.post(t,e)}updateTemplateName(e,t){const s=this.occEndpointsService.buildUrl(E.USER.ADDRESS_TEMPLATE_NAME_UPDATE,{urlParams:{addressId:t}});return this.http.post(s,{templateName:e})}getAllSalesData(){const e=this.occEndpointsService.buildUrl(E.USER.GET_ALL_SALES_DATA);return this.http.get(e)}getUserDefaultAddress(){const e=this.occEndpointsService.buildUrl(E.USER.GET_USER_DEFAULT_ADDRESS);return this.http.get(e)}static#e=this.ctorParameters=()=>[{type:p.S8D},{type:U.Qq},{type:p.zxz}]};pn=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],pn);let rp=class{constructor(e,t,s,o,l){this.deliveryService=e,this.fb=t,this.siteConnector=s,this.translatePipe=o,this.launchDialogService=l,this.state=To.COMPLETED,this.setActive=new n.bkB,this.salesDates=null,this.isOpened=!1,this.isAddTemplateNameBlockShown=!1,this.DELIVERY_STATUSES=ip,this.countries$=this.siteConnector.getCountries(),this.salesDates$=this.deliveryService.getAllSalesData().pipe((0,z.M)(u=>{u.salesDataDates&&(this.salesDates=u.salesDataDates,1===u.salesDataDates.length&&this.form.get("b2bSalesCompany").setValue(u.salesDataDates[0].codeSalesData))})),this.destroyed$=new R.B}ngOnInit(){this.initForm(),this.initAddTemplateNameForm()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}open(){this.isOpened=!0}close(){this.isOpened=!1}verifyAddress(){if(this.form.invalid)return void this.form.markAllAsTouched();const e={...this.form.value,country:{isocode:this.form.get("country").value},b2bSalesCompany:this.salesDates?.filter(t=>t.codeSalesData===this.form.get("b2bSalesCompany").value)};this.deliveryService.verifyAddress(e).pipe((0,x.Q)(this.destroyed$)).subscribe(t=>{"REJECT"!==t.decision?this.addressVerifiedSuccess():t.errors?.errors?.length&&this.showError(t.errors.errors[0].message)})}showAddTemplateNameBlock(){this.isAddTemplateNameBlockShown||this.addTemplateNameForm.get("templateName").setValue(this.address?.templateName||null),this.isAddTemplateNameBlockShown=!this.isAddTemplateNameBlockShown}saveTemplateName(){const e=this.addTemplateNameForm.get("templateName").value;e&&this.deliveryService.updateTemplateName(e,this.address.id).pipe((0,x.Q)(this.destroyed$)).subscribe(()=>{this.deliveryService.isAddressUpdate$.next(!0),this.addTemplateNameForm.reset(),this.showAddTemplateNameBlock()})}initForm(){this.form=this.fb.group({templateName:[null],country:[null,[m.k0.required]],town:[null,[m.k0.required]],postalCode:[null,[m.k0.required]],streetName:[null,[m.k0.required]],streetNumber:[null,[m.k0.required]],b2bSalesCompany:[null,[m.k0.required]]})}initAddTemplateNameForm(){this.addTemplateNameForm=this.fb.group({templateName:[null]})}addressVerifiedSuccess(){this.launchDialogService.openDialogAndSubscribe("THANK_YOU_MODAL",void 0,{title:this.translatePipe.transform("text.delivery.modal.title"),text:this.translatePipe.transform("text.delivery.modal.text"),buttonText:this.translatePipe.transform("text.delivery.modal.buttonText"),isSmallFormat:!0}),this.deliveryService.isAddressUpdate$.next(!0);const e=this.form.get("b2bSalesCompany").value;this.form.reset(),this.form.get("b2bSalesCompany").setValue(e)}showError(e){this.launchDialogService.openDialogAndSubscribe("WARNING_MODAL",void 0,{title:e,originalMessage:!0})}static#e=this.ctorParameters=()=>[{type:pn},{type:m.ze},{type:p.Re_},{type:p.D97},{type:v.PLe}];static#t=this.propDecorators={address:[{type:n.pde}],state:[{type:n.pde}],setActive:[{type:n.k7i}]}};rp=(0,r.Cg)([(0,n.uAl)({selector:"app-delivery-address-card",template:'<ng-container [ngSwitch]="state">\n  <ng-template ngSwitchCase="new">\n    <div class="address-card address-card--new" (click)="isOpened ? close() : open()">\n      <div class="address-card__head">\n        <svg-icon-sprite\n          src="location_on"\n          width="32"\n          height="32"\n          class="mr-6 address-card__icon--new"\n        ></svg-icon-sprite>\n        <span class="address-card__title">{{ \'text.delivery.addressCard.newAddress\' | cxTranslate }}</span>\n\n        <div class="address-card__buttons">\n          <ng-container *ngIf="isOpened; else openButton">\n            <svg-icon-sprite\n              class="address-card__icon"\n              src="remove_circle_outline"\n              width="24px"\n              height="24px"\n            ></svg-icon-sprite>\n          </ng-container>\n\n          <ng-template #openButton>\n            <svg-icon-sprite\n              class="address-card__icon address-card__add-icon"\n              src="add_circle_outline"\n              width="24px"\n              height="24px"\n            ></svg-icon-sprite>\n          </ng-template>\n        </div>\n      </div>\n\n      <ng-container *ngIf="isOpened" [ngTemplateOutlet]="formGroup"></ng-container>\n    </div>\n  </ng-template>\n\n  <ng-template ngSwitchCase="default">\n    <div class="address-card address-card--default">\n      <div class="address-card__head">\n        <div class="address-card__info">\n          <svg-icon-sprite\n            src="location_on"\n            width="32"\n            height="32"\n            class="mr-6 address-card__icon--default"\n          ></svg-icon-sprite>\n          <div>\n            <ng-container\n              [ngTemplateOutlet]="addTemplateNameButton"\n              [ngTemplateOutletContext]="{ type: \'default\' }"\n            ></ng-container>\n\n            <p class="address-card__title">{{ address.formattedAddress }}</p>\n            <div class="address-card__sub-title address-card__sub-title--default">\n              <div class="d-flex" *ngIf="address?.b2bSalesCompany?.productionType">\n                <div>{{ \'text.delivery.addressCard.division\' | cxTranslate }}:</div>\n                <div class="address-card__sub-title-text">{{ address.b2bSalesCompany.productionType | titlecase }}</div>\n              </div>\n              <div class="d-flex">\n                <div>{{ \'text.delivery.addressCard.type\' | cxTranslate }}:</div>\n                <div class="address-card__sub-title-text">{{ \'text.delivery.addressCard.default\' | cxTranslate }}</div>\n              </div>\n              <div class="d-flex">\n                <div>{{ \'text.delivery.addressCard.date\' | cxTranslate }}:</div>\n                <div class="address-card__sub-title-text">{{ address.statusDate }}</div>\n              </div>\n              <app-delivery-status [status]="address.status" [isDefault]="true"></app-delivery-status>\n            </div>\n          </div>\n        </div>\n        <div class="address-card__buttons">\n          <svg-icon-sprite\n            width="24px"\n            height="24px"\n            src="check_circle_active"\n            class="address-card__status-icon"\n          ></svg-icon-sprite>\n        </div>\n      </div>\n\n      <ng-container *ngIf="isAddTemplateNameBlockShown" [ngTemplateOutlet]="addTemplateNameBlock"></ng-container>\n    </div>\n  </ng-template>\n\n  <ng-template ngSwitchCase="completed">\n    <div class="address-card">\n      <div class="address-card__head">\n        <div class="address-card__info">\n          <svg-icon-sprite src="location_on" width="32" height="32" class="mr-6"></svg-icon-sprite>\n          <div>\n            <ng-container\n              [ngTemplateOutlet]="addTemplateNameButton"\n              [ngTemplateOutletContext]="{ type: \'completed\' }"\n            ></ng-container>\n\n            <p class="address-card__title">{{ address.formattedAddress }}</p>\n            <div class="address-card__sub-title">\n              <div class="d-flex" *ngIf="address?.b2bSalesCompany?.productionType">\n                <div>{{ \'text.delivery.addressCard.division\' | cxTranslate }}:</div>\n                <div class="address-card__sub-title-text">{{ address.b2bSalesCompany.productionType | titlecase }}</div>\n              </div>\n              <div class="d-flex">\n                <div>{{ \'text.delivery.addressCard.type\' | cxTranslate }}:</div>\n                <div class="address-card__sub-title-text">{{ \'text.delivery.addressCard.other\' | cxTranslate }}</div>\n              </div>\n              <div class="d-flex">\n                <div>{{ \'text.delivery.addressCard.date\' | cxTranslate }}:</div>\n                <div class="address-card__sub-title-text">{{ address.statusDate }}</div>\n              </div>\n              <app-delivery-status [status]="address.status"></app-delivery-status>\n            </div>\n          </div>\n        </div>\n\n        <div class="address-card__buttons">\n          <ng-container [ngSwitch]="address.status">\n            <svg-icon-sprite\n              *ngSwitchCase="DELIVERY_STATUSES.ACTIVE"\n              (click)="setActive.emit(address)"\n              [ngbTooltip]="setActiveTooltip"\n              [autoClose]="\'outside\'"\n              placement="bottom"\n              src="radio_button_unchecked"\n              width="24"\n              height="24"\n              class="address-card__icon"\n            ></svg-icon-sprite>\n            <ng-template #setActiveTooltip>\n              <div class="d-flex align-items-center set-active-tooltip">\n                <svg-icon-sprite\n                  src="info"\n                  width="16px"\n                  height="16px"\n                  class="set-active-tooltip__icon"\n                ></svg-icon-sprite>\n                {{ \'text.delivery.addressCard.tooltip\' | cxTranslate }}\n              </div>\n            </ng-template>\n            <svg-icon-sprite\n              *ngSwitchCase="DELIVERY_STATUSES.SENT_FOR_APPROVAL"\n              src="query_builder"\n              width="24"\n              height="24"\n            ></svg-icon-sprite>\n            <svg-icon-sprite\n              *ngSwitchCase="DELIVERY_STATUSES.NOT_APPROVED"\n              src="not_interested"\n              width="24"\n              height="24"\n              class="address-card__icon--disabled"\n            ></svg-icon-sprite>\n          </ng-container>\n        </div>\n      </div>\n\n      <ng-container *ngIf="isAddTemplateNameBlockShown" [ngTemplateOutlet]="addTemplateNameBlock"></ng-container>\n    </div>\n  </ng-template>\n</ng-container>\n\n<ng-template #addTemplateNameButton let-type="type">\n  <button\n    *ngIf="address.status === \'ACTIVE\'"\n    class="address-card__add-template-name-button address-card__add-template-name-button--{{ type }}"\n    (click)="showAddTemplateNameBlock()"\n  >\n    <span class="address-card__add-template-name-text">\n      {{ address.templateName ? address.templateName : (\'text.delivery.addressCard.addTemplateName\' | cxTranslate) }}\n    </span>\n\n    <svg-icon-sprite\n      class="address-card__add-template-name-icon address-card__add-template-name-icon--{{ type }}"\n      src="edit"\n      width="12"\n      height="12"\n    ></svg-icon-sprite>\n  </button>\n  <span *ngIf="address.status !== \'ACTIVE\'" class="address-card__add-template-name-text">\n    {{ address.templateName ? address.templateName : (\'text.delivery.addressCard.addTemplateName\' | cxTranslate) }}\n  </span>\n</ng-template>\n\n<ng-template #addTemplateNameBlock>\n  <form class="address-card__add-template-name-form d-flex" [formGroup]="addTemplateNameForm">\n    <app-input\n      [controlData]="addTemplateNameForm.get(\'templateName\')"\n      label="{{ \'text.delivery.form.templateName\' | cxTranslate }}"\n      class="address-card__input w-50 mr-10"\n    ></app-input>\n\n    <button class="btn btn-default w-50 d-flex justify-content-center align-items-center" (click)="saveTemplateName()">\n      {{ \'button.save\' | cxTranslate }}\n    </button>\n  </form>\n</ng-template>\n\n<ng-template #formGroup>\n  <hr class="address-card__divider" />\n  <form [formGroup]="form" (click)="$event.stopPropagation()">\n    <div class="w-100 mb-30">\n      <app-input\n        [controlData]="form.get(\'templateName\')"\n        label="{{ \'text.delivery.form.templateName\' | cxTranslate }}"\n        class="address-card__input"\n      ></app-input>\n    </div>\n    <ng-container *ngIf="salesDates$ | async as salesDates">\n      <div *ngIf="salesDates.salesDataDates.length > 1" class="w-100 mb-30">\n        <app-select\n          [controlData]="form.get(\'b2bSalesCompany\')"\n          [items]="salesDates.salesDataDates"\n          placeholder="{{ \'text.delivery.form.salesOrg\' | cxTranslate }}*"\n          bindLabel="productionType"\n          bindValue="codeSalesData"\n        ></app-select>\n      </div>\n    </ng-container>\n    <div class="address-card__form">\n      <app-select-search\n        [control]="form.get(\'country\')"\n        [items]="countries$ | async"\n        bindLabel="name"\n        bindValue="isocode"\n        placeholder="{{ \'text.delivery.form.country\' | cxTranslate }}*"\n        class="address-card__input"\n      ></app-select-search>\n      <app-input\n        [controlData]="form.get(\'town\')"\n        label="{{ \'text.delivery.form.town\' | cxTranslate }}*"\n        class="address-card__input"\n      ></app-input>\n      <app-input\n        [controlData]="form.get(\'postalCode\')"\n        label="{{ \'text.delivery.form.postalCode\' | cxTranslate }}*"\n        class="address-card__input"\n      ></app-input>\n      <app-input\n        [controlData]="form.get(\'streetName\')"\n        label="{{ \'text.delivery.form.streetName\' | cxTranslate }}*"\n        class="address-card__input"\n      ></app-input>\n      <app-input\n        [controlData]="form.get(\'streetNumber\')"\n        label="{{ \'text.delivery.form.streetNumber\' | cxTranslate }}*"\n        class="address-card__input"\n      ></app-input>\n\n      <button (click)="verifyAddress()" class="btn btn-default w-100 d-flex justify-content-center align-items-center">\n        {{ \'button.sendToApproval\' | cxTranslate }}\n        <svg-icon-sprite class="address-card__send-icon" src="send" width="18" height="18"></svg-icon-sprite>\n      </button>\n    </div>\n  </form>\n</ng-template>\n',styles:[LT()]})],rp);var FT=i(37647),MT=i.n(FT);let fs=class{constructor(e,t,s,o,l,u,h){this.changeDetectorRef=e,this.activatedRoute=t,this.router=s,this.deliveryService=o,this.globalMessageService=l,this.userAccountService=u,this.translatePipe=h,this.defaultAddressArr=[],this.sorts=[],this.activeSort="",this.isLoading=!1,this.DELIVERY_ADDRESS_STATE=To,this.user$=this.userAccountService.get(),this.destroyed$=new R.B}ngOnInit(){this.initRouterSub()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}setActive(e){this.deliveryService.setDefaultAddress(e).pipe((0,pe.W)(t=>(this.globalMessageService.add(t.error.errors[0].message,p.NCV.MSG_TYPE_ERROR),(0,ue.$)(t))),(0,x.Q)(this.destroyed$)).subscribe(()=>{this.globalMessageService.add(this.translatePipe.transform("text.delivery.successChange"),p.NCV.MSG_TYPE_CONFIRMATION),this.deliveryService.isAddressUpdate$.next(!0)})}selectSort(e){const t=Object.assign({},this.activatedRoute.snapshot.queryParams,{sort:e.code});this.router.navigate([],{relativeTo:this.activatedRoute,queryParams:t})}showFn(e){return t=>e.transform(t.name)}initRouterSub(){this.activatedRoute.queryParams.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.isLoading=!0,this.getAddresses(e)})}getAddresses(e){this.addressesList$=this.deliveryService.isAddressUpdate$.pipe((0,k.n)(()=>this.deliveryService.getUserDefaultAddress().pipe((0,fe.E)("addresses"),(0,k.n)(t=>(this.defaultAddressArr=t,this.deliveryService.getAddressesList(e).pipe((0,B.p)(Boolean),(0,z.M)(s=>this.setSorts(s.sorts)),(0,fe.E)("addressBook"),(0,w.T)(s=>{let o=[];return s.forEach(l=>{o=[...o,...l.addresses]}),t.forEach(l=>{o=o.filter(u=>u.id!==l.originalAddressPK)}),o}),(0,_e.j)(()=>{this.isLoading=!1,this.changeDetectorRef.detectChanges()})))))))}setSorts(e){this.sorts=e;const t=this.sorts.find(s=>s.selected);this.activeSort=t.code,this.changeDetectorRef.markForCheck()}static#e=this.ctorParameters=()=>[{type:n.gRc},{type:y.nX},{type:y.Ix},{type:pn},{type:p.S8D},{type:Le.zq},{type:p.D97}]};fs=(0,r.Cg)([(0,n.uAl)({selector:"app-delivery-list",template:'<div class="profile">\n  <div class="d-flex justify-content-between align-items-center">\n    <app-page-title>\n      {{\'text.delivery.deliveryList.deliveryAddresses\' | cxTranslate}}\n    </app-page-title>\n\n    <app-sort-select\n      *ngIf="sorts?.length"\n      bindValue="code"\n      bindTitle="name"\n      [activeItem]="activeSort"\n      [sortTitle]="\'claims.sorting\' | cxTranslate"\n      [items]="sorts"\n      [showFn]="showFn(translatePipe)"\n      [disabled]="isLoading"\n      showSortIcons="true"\n      (selectItem)="selectSort($event)">\n    </app-sort-select>\n  </div>\n\n  <hr class="profile__divider">\n\n  <div\n    *ngIf="addressesList$ | async as addresses; else loader"\n    class="profile__list"\n  >\n    <div\n      *ngFor="let defaultAddress of defaultAddressArr"\n      class="profile__list-item"\n    >\n      <app-delivery-address-card\n        [address]="defaultAddress"\n        [state]="DELIVERY_ADDRESS_STATE.DEFAULT"\n        (setActive)="setActive($event)"\n      ></app-delivery-address-card>\n    </div>\n    <div\n      *ngFor="let address of addresses"\n      class="profile__list-item"\n    >\n      <app-delivery-address-card\n        [address]="address"\n        [state]="DELIVERY_ADDRESS_STATE.COMPLETED"\n        (setActive)="setActive($event)"\n      ></app-delivery-address-card>\n    </div>\n    <hr *ngIf="addresses.length" class="profile__divider profile__divider--margin">\n  </div>\n\n  <ng-template #loader>\n    <app-loader></app-loader>\n  </ng-template>\n\n  <app-delivery-address-card\n    *ngIf="(user$ | async).roles?.includes(\'b2badmingroup\')"\n    [state]="DELIVERY_ADDRESS_STATE.NEW"\n  ></app-delivery-address-card>\n</div>\n',styles:[MT()]})],fs);var UT=i(97375),$T=i.n(UT);let op=class{constructor(){this.status="",this.isDefault=!1}ngOnInit(){}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={status:[{type:n.pde}],isDefault:[{type:n.pde}]}};op=(0,r.Cg)([(0,n.uAl)({selector:"app-delivery-status",template:'<span *ngIf="status" class="status" [class.status--default]="isDefault">\n  <span class="status__title">\n    {{\'text.delivery.deliveryStatus.status\' | cxTranslate}}:\n  </span>\n  <span class="status__status status__status--{{status.toLowerCase()}}">\n      {{\'text.delivery.deliveryStatus.\' + status.toLowerCase() | cxTranslate}}\n  </span>\n</span>\n',styles:[$T()]})],op);let ap=class{};ap=(0,r.Cg)([(0,n.UQu)({declarations:[rp,op,fs],exports:[fs],imports:[S.MD,V.F2,ce,m.X1,p.htr.withConfig({cmsComponents:{AccountAddressBookComponent:{component:fs,guards:[Y]}}}),p.LP3,Xe.n8,It,ge,be]})],ap);var VT=i(63345),GT=i.n(VT);let cp=class{constructor(e){this.baseSiteService=e,this.media=null,this.mediaInfo=null,this.mediaTitle=null,this.ACTIVE_SITE=Re,this.baseSite$=this.baseSiteService.getActive()}ngOnInit(){}getMediaInfoValues(){return Object.values(this.mediaInfo)}static#e=this.ctorParameters=()=>[{type:p.ASs}];static#t=this.propDecorators={media:[{type:n.pde}],mediaInfo:[{type:n.pde}],mediaTitle:[{type:n.pde}]}};cp=(0,r.Cg)([(0,n.uAl)({selector:"app-download-banner",template:'<ng-container *ngIf="baseSite$ | async as baseSite">\n  <a\n    *ngIf="baseSite !== ACTIVE_SITE.TURKEY; else turkey"\n    class="download"\n    [attr.href]="mediaInfo ? (mediaInfo | getMedia) + \'&attachment=true\' : null"\n    target="_blank"\n  >\n    <div class="row no-gutters">\n      <div class="download__banner col-12 col-sm-6">\n        <div\n          *ngIf="media"\n          [style.background-image]="\'url(\' + (media | getMedia) + \')\'"\n          class="download__banner-img"\n        ></div>\n      </div>\n\n      <ng-container *ngIf="mediaInfo">\n        <ng-container *ngIf="baseSite !== ACTIVE_SITE.TRADING && baseSite !== ACTIVE_SITE.STEELENA; else trading">\n          <div class="download__content d-flex col-12 col-sm-6">\n            <div class="d-flex">\n              <div class="download__content-icon">\n                <svg-icon-sprite src="file_pdf" width="48" height="48"></svg-icon-sprite>\n              </div>\n              <div class="d-flex align-items-xl-center align-items-start flex-column flex-xl-row mr-10">\n                <span class="download__content-title">{{ mediaTitle }}</span>\n                <span class="download__content-size">{{ mediaInfo.size | fileSize }}</span>\n              </div>\n            </div>\n            <button class="btn btn-default btn--md download__button">\n              {{ \'button.download\' | cxTranslate }}\n              <svg-icon-sprite\n                class="download__button-icon"\n                src="cloud_download"\n                width="18"\n                height="18"\n              ></svg-icon-sprite>\n            </button>\n          </div>\n        </ng-container>\n      </ng-container>\n      <ng-template #trading>\n        <div class="download__content--trading d-flex justify-content-between align-items-center col-12 col-sm-6">\n          <div class="d-flex align-items-sm-center align-items-start flex-column flex-sm-row mr-10">\n            <span class="download__content-title">{{ mediaTitle }}</span>\n            <span class="download__content-size--trading">{{ mediaInfo.size | fileSize }}</span>\n          </div>\n          <div class="download__content-icon--trading">\n            <svg-icon-sprite src="file_pdf" width="48" height="48"></svg-icon-sprite>\n          </div>\n        </div>\n      </ng-template>\n    </div>\n  </a>\n</ng-container>\n\n<ng-template #turkey>\n  <div class="download">\n    <div class="row no-gutters">\n      <div class="download__banner col-12 col-sm-6">\n        <div\n          *ngIf="media"\n          [style.background-image]="\'url(\' + (media | getMedia) + \')\'"\n          class="download__banner-img"\n        ></div>\n      </div>\n\n      <ng-container *ngIf="mediaInfo">\n        <div class="download__content--trading d-flex flex-column col-12 col-sm-6">\n          <a\n            *ngFor="let info of getMediaInfoValues()"\n            [attr.href]="info ? (info | getMedia) + \'&attachment=true\' : null"\n            target="_blank"\n            class="d-flex justify-content-between align-items-center"\n          >\n            <div class="d-flex align-items-sm-center align-items-start flex-column flex-sm-row mr-10">\n              <span class="download__content-title">{{ info.title }}</span>\n              <span class="download__content-size--trading">{{ info.size | fileSize }}</span>\n            </div>\n            <div class="download__content-icon--trading">\n              <svg-icon-sprite src="file_pdf" width="48" height="48"></svg-icon-sprite>\n            </div>\n          </a>\n        </div>\n      </ng-container>\n    </div>\n  </div>\n</ng-template>\n',styles:[GT()]})],cp);var YT=i(24209),QT=i.n(YT);let lp=class{ngOnInit(){}static#e=this.propDecorators={icon:[{type:n.pde}],documentTitle:[{type:n.pde}],size:[{type:n.pde}],url:[{type:n.pde}]}};lp=(0,r.Cg)([(0,n.uAl)({selector:"app-download-document-card",template:'<a class="card" href="{{url}}&attachment=true" target="_blank">\n  <div class="card__header">\n    <div class="card__header-icon">\n      <div class="card__icon-background">\n        <svg-icon-sprite\n          class="card__icon-icon"\n          [src]="icon"\n        ></svg-icon-sprite>\n      </div>\n    </div>\n  </div>\n  <div class="card__content d-flex flex-column">\n    <div class="card__content-title">{{documentTitle}}</div>\n    <div class="card__content-size">{{size}}</div>\n  </div>\n</a>\n\n',styles:[QT()]})],lp);var HT=i(13169),jT=i.n(HT);let dp=class{constructor(){}ngOnInit(){}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={photo:[{type:n.pde}],index:[{type:n.pde}],processTitle:[{type:n.pde}]}};dp=(0,r.Cg)([(0,n.uAl)({selector:"app-download-marketing-process",template:'<div class="product-process">\n  <div class="product-process__photo">\n    <img class="product-process__photo-image" alt="photo" [src]="photo">\n  </div>\n  <div class="product-process__index">\n    {{index}}\n  </div>\n  <div class="product-process__title">\n    {{processTitle}}\n  </div>\n</div>\n',styles:[jT()]})],dp);var KT=i(45093),XT=i.n(KT);let pp=class{constructor(){this.isExpand=!1}ngOnInit(){}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={isExpand:[{type:n.pde}],cardTitle:[{type:n.pde}]}};pp=(0,r.Cg)([(0,n.uAl)({selector:"app-download-toggler",template:'<app-card-wrapper [hoverShadow]="true">\n  <div class="marketing-toggle-card">\n    <div class="marketing-toggle-card__header"\n         [class.toggle-card__header--expanded]="isExpand"\n         (click)="isExpand = !isExpand">\n      <div\n        class="marketing-toggle-card__header-title"\n        [class.marketing-toggle-card--is-open]="isExpand">\n        {{cardTitle}}\n      </div>\n      <div class="marketing-toggle-card__header-right">\n        <svg-icon-sprite\n          [src]="isExpand ?  \'cancel\' : \'add_circle\'"\n          [class.marketing-toggle-card--is-open]="isExpand"\n          width="32"\n          height="32"\n        ></svg-icon-sprite>\n      </div>\n    </div>\n\n    <div *ngIf="isExpand" [@showBody] class="marketing-toggle-card__body">\n      <ng-content select="[marketing-toggle-body]"></ng-content>\n    </div>\n  </div>\n</app-card-wrapper>\n',changeDetection:n.Ngq.OnPush,animations:[rl()],styles:[XT()]})],pp);var JT=i(96117),eE=i.n(JT);let Eo=class{constructor(e){this.pageService=e,this.ROUTE_URL=M}ngOnInit(){}onInquiryClick(e){this.pageService.onInquiryClick(e)}static#e=this.ctorParameters=()=>[{type:mt}];static#t=this.propDecorators={link:[{type:n.pde}],isUserLoggedIn:[{type:n.pde}]}};Eo=(0,r.Cg)([(0,n.uAl)({selector:"app-marketing-contact-inquiry",template:'<div class="request d-flex flex-column">\n\n  <p class="request__text">{{ \'buttons.moreInformation\' | cxTranslate }}</p>\n  <span (click)="onInquiryClick(isUserLoggedIn)" class="request__button btn btn-default">\n      {{ link.linkName  }}\n  </span>\n</div>\n\n',styles:[eE()]})],Eo);var up,hp,nE=i(66421),sE=i.n(nE);!function(a){a.FILE_COLLECTION="FileCollectionProductLandingTabItem",a.ORDER_MEDIA="OrderedMediaProductLandingTabItem",a.TEXTAREA="TextareaProductLandingTabItem",a.MEDIA="OrderedMediaProductLandingTabItem"}(up||(up={})),function(a){a.MarketingManager="MarketingManager",a.SegmentManager="SegmentManager"}(hp||(hp={}));let Ro=class{constructor(e){this.component=e,this.data$=this.component.data$,this.MarketingManagerType=hp}ngOnInit(){}static#e=this.ctorParameters=()=>[{type:v.TLs}]};Ro=(0,r.Cg)([(0,n.uAl)({selector:"app-marketing-contact-manager",template:'<ng-container *ngIf="data$ | async as data">\n  <ng-container [ngSwitch]="data.flexType">\n    <ng-container *ngSwitchCase="MarketingManagerType.MarketingManager">\n      <app-marketing-contact-manager-product [data]="data"></app-marketing-contact-manager-product>\n    </ng-container>\n    <ng-container *ngSwitchCase="MarketingManagerType.SegmentManager">\n      <app-marketing-contact-manager-segment [data]="data"></app-marketing-contact-manager-segment>\n    </ng-container>\n</ng-container>\n',styles:[sE()]})],Ro);var rE=i(46475),oE=i.n(rE);let Cs=class{constructor(e,t){this.occEndpointsService=e,this.http=t}getProducts(e,t={}){const s=this.occEndpointsService.buildUrl("productSearchOnlyProducts");let o=new U.Nl;return Object.keys(t).forEach(l=>{o=o.set(l,t[l])}),this.http.post(s,{query:e},{params:o})}static#e=this.ctorParameters=()=>[{type:p.zxz},{type:U.Qq}]};Cs=(0,r.Cg)([(0,n._qm)()],Cs);let gp=class{constructor(e,t,s,o,l){this.authService=e,this.launchDialogService=t,this.router=s,this.changeDetection=o,this.marketingService=l,this.destroy$=new R.B,this.subscription=new X.yU,this.isLoading=!1,this.isUserLoggedIn$=this.authService.isUserLoggedIn()}ngOnInit(){}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete(),this.subscription?.unsubscribe()}getManagers(e){const t=this.managers.find(s=>s.kam);e&&t?this.openPersonalManagerModal(t):this.openModal(this.managers)}openPersonalManagerModal(e){this.launchDialogService.openDialogAndSubscribe("CONTACT_MANAGER_PROFILE_MODAL",void 0,{manager:e})}openModal(e){this.launchDialogService.openDialogAndSubscribe("CONTACT_MANAGER_PRODUCT_MODAL",void 0,{managers:e})}onSelectProduct(e){this.isLoading=!0;const t=e.match(/\?query=(.*)/);let s="";t?.length&&(s=t[1]),s?this.marketingService.getProducts(s).pipe((0,B.p)(Boolean),(0,fe.E)("products"),(0,x.Q)(this.destroy$)).subscribe(o=>{o&&o.length?this.router.navigateByUrl(e).then():this.openWarningModal()}):this.openWarningModal()}openWarningModal(){this.launchDialogService.openDialogAndSubscribe("WARNING_MODAL",void 0,{title:"text.noSelectProduct.title",text:"text.noSelectProduct.text",primaryButton:"text.noSelectProduct.button",icon:"warning",iconButton:""}),this.isLoading=!1,this.changeDetection.detectChanges(),this.subscription.add(this.launchDialogService.dialogClose.subscribe(e=>{e?this.router.navigate(["/"]).then():this.launchDialogService.closeDialog("")}))}static#e=this.ctorParameters=()=>[{type:p.uRZ},{type:v.PLe},{type:y.Ix},{type:n.gRc},{type:Cs}];static#t=this.propDecorators={link:[{type:n.pde}],managers:[{type:n.pde}]}};gp=(0,r.Cg)([(0,n.uAl)({selector:"app-marketing-contact-manager-card",template:'<ng-container *ngTemplateOutlet="componentTemplate; context: { isUserLoggedIn: isUserLoggedIn$ | async }"></ng-container>\n\n<ng-template #componentTemplate let-isUserLoggedIn="isUserLoggedIn">\n  <div class="contact d-flex flex-column">\n    <button\n      (click)="getManagers(isUserLoggedIn)"\n      class="contact__manager btn btn--sm btn-secondary"\n    >\n      {{ \'buttons.contactManager\' | cxTranslate }}\n      <svg-icon-sprite\n        class="contact__manager-icon"\n        src="contact_phone"\n        width="18"\n        height="18"\n      ></svg-icon-sprite>\n    </button>\n\n    <button\n      *ngIf="link"\n      [disabled]="isLoading"\n      (click)="onSelectProduct(link.url)"\n      class="contact__cart btn btn-default">\n      <div *ngIf="isLoading; else buttonText">\n        <app-loader size="36px"></app-loader>\n      </div>\n      <ng-template #buttonText>\n        <span>\n          {{ \'buttons.selectProduct\' | cxTranslate }}\n          <svg-icon-sprite\n            class="contact__cart-icon"\n            src="shopping_cart"\n            width="18"\n            height="18"\n          ></svg-icon-sprite>\n        </span>\n      </ng-template>\n    </button>\n  </div>\n</ng-template>\n',styles:[oE()]})],gp);var cE=i(8165),lE=i.n(cE);let mp=class{set setData(e){this.data=e,this.managers=Object.keys(e.components).map(t=>e.components[t])}constructor(){this.data=null,this.managers=null}ngOnInit(){}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={setData:[{type:n.pde,args:["data"]}]}};mp=(0,r.Cg)([(0,n.uAl)({selector:"app-marketing-contact-manager-product",template:'<ng-container *ngIf="data">\n  <app-marketing-contact-manager-card\n    [link]="data.link"\n    [managers]="managers"\n  ></app-marketing-contact-manager-card>\n</ng-container>\n',styles:[lE()]})],mp);var pE=i(26053),uE=i.n(pE);let Oo=class{set setData(e){this.data=e,this.managers=Object.keys(e.components).map(t=>e.components[t]),this.managers?.sort((t,s)=>s.segment.localeCompare(t.segment))}constructor(){this.data=null,this.managers=null}ngOnInit(){}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={setData:[{type:n.pde,args:["data"]}]}};Oo=(0,r.Cg)([(0,n.uAl)({selector:"app-marketing-contact-manager-segment",template:'<ng-container *ngIf="data">\n  <app-marketing-contact-manager-card\n    [link]="data.link"\n    [managers]="managers"\n  ></app-marketing-contact-manager-card>\n</ng-container>\n\n\n',styles:[uE()]})],Oo);var _p,gE=i(92653),mE=i.n(gE);!function(a){a.ProductLandingInfoComponent="ProductLandingInfoComponent",a.SegmentLandingInfoComponent="SegmentLandingInfoComponent"}(_p||(_p={}));let vp=class{constructor(e,t,s){this.cmsComponentData=e,this.ngZone=t,this.eventBus=s,this.shortInfoText="",this.isTextShort=!1,this.data$=this.cmsComponentData.data$.pipe((0,z.M)(({text:o})=>{this.calculateShortDescription(o)})),this.isOpen=!1,this.marketingInfoFlexType=_p}ngOnInit(){}calculateShortDescription(e){this.ngZone.runOutsideAngular(()=>{const t=document.createElement("p"),l=[" ",",","."];t.style.visibility="hidden",t.style.lineHeight="22px",t.style.maxWidth="500px",document.body.appendChild(t);let u="";if(e.split("").forEach((h,_)=>{const C=u+h+"...";t.innerHTML=C,t.offsetHeight<=66&&(u+=h),_===e.length-1&&t.offsetHeight<=66&&(this.isTextShort=!0)}),!this.isTextShort){for(;l.includes(u.slice(-1));)u=u.substr(0,u.length-1);this.shortInfoText=u+"..."}t.remove()})}scrollTo(e){const t=document.getElementById(e);this.eventBus.cast(J_MARKETING.LOAD_MORE_CLICKED),t.scrollIntoView()}static#e=this.ctorParameters=()=>[{type:v.TLs},{type:n.SKi},{type:ve.u}];static#t=this.propDecorators={flexType:[{type:n.pde}]}};vp=(0,r.Cg)([(0,n.uAl)({selector:"app-marketing-info",template:'<div\n  *ngIf="data$ | async as data"\n  class="product-info"\n>\n  <div class="product-info__header">\n    <div class="product-info__header-inner d-flex justify-content-between">\n      <div class="product-info__name">\n        <img *ngIf="data.logo"\n             class="product-info__name-image"\n             [src]="data.logo | getMedia"\n             alt="logo"\n        >{{ data.title }}\n        <div class="product-info__name-desc">\n          {{ data.subTitle }}\n        </div>\n      </div>\n\n      <div\n        *ngIf="data.image?.url"\n        class="product-info__top-right-img"\n      >\n        <img [src]="data.image | getMedia" alt="product">\n      </div>\n    </div>\n  </div>\n\n  <div class="product-info__body">\n    <div\n      [class.is-open]="isOpen"\n      class="product-info__text"\n      [innerHTML]="isTextShort ? data.text : isOpen ? data.text : shortInfoText">\n    </div>\n\n    <div\n      *ngIf="!isTextShort"\n      class="product-info__full-desc"\n    >\n      <span (click)="isOpen = !isOpen">\n        {{ (isOpen ? \'buttons.showShortDescription\' : \'buttons.showFullDescription\') | cxTranslate }}\n      </span>\n    </div>\n\n    <div\n      *ngIf="flexType === marketingInfoFlexType.ProductLandingInfoComponent"\n      class="product-info__more"\n    >\n      <span\n        (click)="scrollTo(\'marketingTabs\')"\n        class="btn btn--md btn-secondary"\n      >\n        {{ \'buttons.learnMore\' | cxTranslate }}\n      </span>\n    </div>\n  </div>\n</div>\n',styles:[mE()]})],vp);var vE=i(32599),xE=i.n(vE);let Ao=class{constructor(e){this.component=e,this.interval=3e3,this.options={loop:!0,slidesPerView:1},this.events={dragStart:()=>{this.setPause(!0)},dragEnd:()=>{this.setPause(!1)}},this.sortByOrder=pt,this.slides=null,this.destroyed$=new R.B,this.sliderData$=this.component.data$.pipe((0,me.$)(),(0,w.T)(t=>(this.slides=Object.values(t.banners),this.slides)),(0,x.Q)(this.destroyed$)).subscribe(),this.nextSlide$=new R.B,this.moveToSlide$=new R.B,this.pause=!1,this.slideState=[],this.timerId=0}ngOnInit(){this.options.slides=this.slides?.length||0}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete(),this.resetTimer()}onSlideChange(e){this.setTimer(),this.slides.forEach((t,s)=>{this.slideState[s]=s===e})}resetTimer(){clearInterval(this.timerId)}setTimer(){this.resetTimer(),this.timerId=setInterval(()=>{this.pause||this.nextSlide$.next()},this.interval)}setPause(e){this.pause=e,this.setTimer()}static#e=this.ctorParameters=()=>[{type:v.TLs}];static#t=this.propDecorators={interval:[{type:n.pde}],options:[{type:n.pde}],events:[{type:n.pde}]}};Ao=(0,r.Cg)([(0,n.uAl)({selector:"app-marketing-message-slider",template:'<div\n  *ngIf="slides.length"\n  @carouselAppear\n  class="message-carousel container"\n>\n  <app-carousel\n    [events]="events"\n    [moveToSlide$]="moveToSlide$"\n    [nextSlide$]="nextSlide$"\n    [options]="options"\n\n    (slideChange)="onSlideChange($event)"\n  >\n    <div\n      *ngFor="let slide of sortByOrder(slides); let i = index"\n      [@sliding]="{value: slideState[i], params: {time: \'500ms\'}}"\n      class="message-carousel__slide"\n    >\n      <img [src]="slide.media | getMedia" alt="">\n      <div\n        [style.background-image]="\'url(\' + (slide.media | getMedia) + \')\'"\n        class="message-carousel__slide-image"\n      ></div>\n      <div class="message-carousel__slide-content">\n        <div class="container h-100">\n          <div class="row h-100">\n            <div class="col-12">\n              <div class="message-carousel__text d-flex align-items-center h-100">\n                <div class="mr-20 flex-shrink-0">\n                  <img\n                    [src]="slide.logo | getMedia"\n                    alt=""\n                  >\n                </div>\n                <div>\n                  <div class="message-carousel__text-content">{{ slide.description }}</div>\n                </div>\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n\n    <div class="message-carousel__progress">\n      <div class="container">\n        <div class="message-carousel__progress-inner d-flex">\n          <div\n            *ngFor="let slide of sortByOrder(slides); let i = index"\n            (click)="moveToSlide$.next(i)"\n            class="message-carousel__progress-item"\n          >\n            <div\n              [@slideDuration]="{value: slideState[i], params: {time: interval + \'ms\'}}"\n              class="message-carousel__progress-item-bar"\n            ></div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </app-carousel>\n</div>\n',animations:[(0,H.hZ)("carouselAppear",[(0,H.kY)(":enter",[(0,H.iF)({opacity:0}),(0,H.i0)("500ms",(0,H.iF)({opacity:1}))])]),(0,H.hZ)("sliding",[(0,H.wk)("false",(0,H.iF)({opacity:0})),(0,H.wk)("true",(0,H.iF)({opacity:1})),(0,H.kY)("false <=> true",(0,H.i0)("{{ time }}"))]),(0,H.hZ)("slideDuration",[(0,H.wk)("false",(0,H.iF)({right:"100%"})),(0,H.wk)("true",(0,H.iF)({right:"0"})),(0,H.kY)("* => true",(0,H.i0)("{{ time }}"))])],styles:[xE()]})],Ao);var CE=i(33257),bE=i.n(CE);let Io=class{constructor(e,t,s,o){this.component=e,this.changeDetection=t,this.sanitizer=s,this.eventBus=o,this.itemTypes=up,this.tabs=[],this.activeTab=null,this.cache="",this.cacheHtml=null,this.sortByOrder=pt,this.CHARACTERISTICS="Characteristics",this.destroyed$=new R.B}ngOnInit(){this.loadComponentData(),this.setCharacteristicsTab()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}loadComponentData(){this.component.data$.pipe((0,me.$)(),(0,x.Q)(this.destroyed$)).subscribe(e=>{this.tabs=Object.values(e.tabs).filter(t=>Object.keys(t.items).length>0),this.setActiveTab(this.tabs[0]||null)})}setCharacteristicsTab(){this.eventBus.on(J_MARKETING.LOAD_MORE_CLICKED).subscribe(()=>{this.tabs.length&&(this.setActiveTab(this.tabs.find(e=>e.title===this.CHARACTERISTICS)||this.tabs[0]),this.changeDetection.detectChanges())})}setActiveTab(e){this.activeTab=e}getValues(e){if(e)return Object.keys(e).map(t=>e[t])}sanitizeHtml(e){return this.cache===e||(this.cache=e,this.cacheHtml=this.sanitizer.bypassSecurityTrustHtml(this.cache)),this.cacheHtml}static#e=this.ctorParameters=()=>[{type:v.TLs},{type:n.gRc},{type:Lt.up},{type:ve.u}]};Io=(0,r.Cg)([(0,n.uAl)({selector:"app-marketing-tabs",template:'<div class="marketing-documents" id="marketingTabs">\n  <div class="container">\n    <scrollbar>\n    <div class="marketing-documents__tabs">\n      <div *ngFor="let tab of sortByOrder(tabs)"\n           class="marketing-documents__tabs-content"\n           [class.marketing-documents__tabs-content--is-open]="tab.title === activeTab.title"\n           (click)="setActiveTab(tab)">\n        {{ tab.title }}\n      </div>\n    </div>\n    </scrollbar>\n    <div\n      *ngFor="let item of getValues(activeTab?.items); let first = first;"\n      class="mt-30"\n    >\n      <div [ngSwitch]="item.itemType">\n        <div *ngSwitchCase="itemTypes.FILE_COLLECTION">\n          <app-download-toggler [cardTitle]="item.title" [isExpand]="first">\n            <div marketing-toggle-body>\n              <div class="marketing-documents__download">\n                <app-download-document-card\n                  *ngFor="let file of getValues(item.files)" icon="file_pdf"\n                  size="{{(file.media.size/1024).toFixed()}}kb"\n                  [documentTitle]="file.title"\n                  [url]="file.media | getMedia">\n                </app-download-document-card>\n              </div>\n            </div>\n          </app-download-toggler>\n        </div>\n\n        <div *ngSwitchCase="itemTypes.TEXTAREA">\n          <app-download-toggler [cardTitle]="item.title" [isExpand]="first">\n            <scrollbar marketing-toggle-body>\n              <div\n                class="marketing-table"\n                [innerHTML]="sanitizeHtml(item.content)">\n              </div>\n            </scrollbar>\n          </app-download-toggler>\n        </div>\n\n        <div *ngSwitchCase="itemTypes.MEDIA">\n          <app-download-toggler [cardTitle]="item.title" [isExpand]="first">\n            <scrollbar marketing-toggle-body class="marketing-documents__process-scrollbar">\n              <div class="marketing-documents__process-content">\n                <ng-container\n                  *ngFor="let media of sortByOrder(getValues(item.files)); let i = index">\n                  <app-download-marketing-process\n                    [processTitle]="media.title"\n                    [index]="i+1"\n                    [photo]="media.media | getMedia">\n                  </app-download-marketing-process>\n                </ng-container>\n              </div>\n            </scrollbar>\n          </app-download-toggler>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n\n\n',styles:[bE()]})],Io);var SE=i(52334),TE=i.n(SE);let xp=class{constructor(){}ngOnInit(){}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={sectionTitle:[{type:n.pde}],slides:[{type:n.pde}]}};xp=(0,r.Cg)([(0,n.uAl)({selector:"app-news-slider",template:'<div class="marketing-news container">\n  <div class="marketing-news__title">{{ sectionTitle }}</div>\n  <app-text-slider [slides]="slides" size="s"></app-text-slider>\n</div>\n',styles:[TE()]})],xp);var RE=i(3895),OE=i.n(RE);let bs=class{constructor(e){this.component=e,this.data$=this.component.data$}ngOnInit(){}static#e=this.ctorParameters=()=>[{type:v.TLs}]};bs=(0,r.Cg)([(0,n.uAl)({selector:"app-product-landing-download-catalog",template:'  <div\n    *ngIf="data$ | async as data"\n    class="download-catalog"\n  >\n    <div class="container">\n      <div>\n        <div class="download-catalog__title">{{ data.text }}</div>\n        <div class="download-catalog__banner">\n          <app-download-banner\n            [media]="data.background"\n            [mediaInfo]="data.catalog ? data.catalog : data.media"\n            [mediaTitle]="data.title ? data.title : null"\n          ></app-download-banner>\n        </div>\n      </div>\n\n    </div>\n  </div>\n',styles:[OE()]})],bs);var IE=i(20591),wE=i.n(IE);let wo=class{constructor(e){this.cmsComponentData=e,this.data$=this.cmsComponentData.data$}ngOnInit(){}static#e=this.ctorParameters=()=>[{type:v.TLs}]};wo=(0,r.Cg)([(0,n.uAl)({selector:"app-product-landing-info",template:'<app-marketing-info\n  *ngIf="data$ | async as data"\n  [flexType]="data.flexType"\n  class="app-marketing-info"\n></app-marketing-info>\n',styles:[wE()]})],wo);var DE=i(32517),LE=i.n(DE);function ys(a){this.isDisabledRight=a.disabledRight,this.isDisabledLeft=a.disabledLeft}let Po=class{constructor(e,t){this.breakpointService=e,this.component=t,this.data$=this.component.data$,this.slides$=this.component.data$.pipe((0,me.$)(),(0,w.T)(s=>Object.values(s.mills))),this.options={breakpoints:{[`(min-width: ${this.breakpointService.getSize(v.SLZ.md)}px)`]:{slidesPerView:4},[`(max-width: ${this.breakpointService.getSize(v.SLZ.md)}px)`]:{slidesPerView:2},[`(max-width: ${this.breakpointService.getSize(v.SLZ.sm)}px)`]:{mode:"free"},[`(max-width: ${this.breakpointService.getSize(v.SLZ.xs)}px)`]:{mode:"free"}},slides:".slide"},this.isDisabledLeft=!1,this.isDisabledRight=!1,this.sortByOrder=pt,this.disabledArrow=ys}ngOnInit(){}static#e=this.ctorParameters=()=>[{type:v.dci},{type:v.TLs}]};Po=(0,r.Cg)([(0,n.uAl)({selector:"app-product-landing-mills",template:'<div\n  *ngIf="data$ | async as data"\n  class="marketing-mills"\n>\n  <div class="mill-slider">\n    <div class="mill-slider__content container">\n      <div class="mill-slider__content-title">{{ data.title }}</div>\n      <div class="mill-slider__content-items">\n        <app-carousel\n          [options]="options"\n          [withArrow]="true"\n          (disabledArrows)="disabledArrow($event)"\n        >\n          <ng-container *ngFor="let slide of sortByOrder(slides$ | async)">\n            <a class="slide" [href]="slide.link">\n              <img [src]="slide.media | getMedia">\n            </a>\n          </ng-container>\n\n          <div\n            [class.keen-slider__arrow--hidden]="isDisabledLeft"\n            class="keen-slider__arrow keen-slider__arrow--left"\n            #arrowPrev\n          >\n            <svg-icon-sprite\n              src="chevron_left"\n              width="24px"\n              height="24px"\n              class="slider__arrow-icon"\n            ></svg-icon-sprite>\n          </div>\n          <div\n            [class.keen-slider__arrow--hidden]="isDisabledRight"\n            class="keen-slider__arrow keen-slider__arrow--right"\n            #arrowNext\n          >\n            <svg-icon-sprite\n              src="chevron_right"\n              width="24px"\n              height="24px"\n              class="slider__arrow-icon"\n            ></svg-icon-sprite>\n          </div>\n        </app-carousel>\n      </div>\n    </div>\n  </div>\n</div>\n',styles:[LE()]})],Po);var FE=i(55045),ME=i.n(FE);let Do=class{constructor(e){this.component=e,this.data$=this.component.data$,this.slides$=this.component.data$.pipe((0,me.$)(),(0,w.T)(t=>Object.values(t.slides)))}ngOnInit(){}static#e=this.ctorParameters=()=>[{type:v.TLs}]};Do=(0,r.Cg)([(0,n.uAl)({selector:"app-product-landing-news-slider",template:'<ng-container *ngIf="data$ | async as data">\n  <ng-container *ngIf="slides$ | async as slides">\n    <ng-container [ngSwitch]="data.flexType">\n      <ng-container *ngSwitchCase="\'ProductLandingUseCasesSliderComponent\'">\n        <app-use-cases\n          [sectionTitle]="data.title"\n          [slides]="slides"\n        ></app-use-cases>\n      </ng-container>\n      <ng-container *ngSwitchCase="\'SegmentUseCasesSliderComponent\'">\n        <app-use-cases\n          [sectionTitle]="data.title"\n          [slides]="slides"\n        ></app-use-cases>\n      </ng-container>\n      <ng-container *ngSwitchCase="\'ProductLandingNewsSliderComponent\'">\n        <app-news-slider\n          [sectionTitle]="data.title"\n          [slides]="slides"\n        ></app-news-slider>\n      </ng-container>\n      <ng-container *ngSwitchCase="\'SegmentNewsSliderComponent\'">\n        <app-news-slider\n          [sectionTitle]="data.title"\n          [slides]="slides"\n        ></app-news-slider>\n      </ng-container>\n      <ng-container *ngSwitchDefault></ng-container>\n    </ng-container>\n  </ng-container>\n</ng-container>\n',styles:[ME()]})],Do);var UE=i(64189),$E=i.n(UE);let Lo=class{constructor(e,t){this.component=e,this.breakpointService=t,this.data$=this.component.data$,this.slides$=this.component.data$.pipe((0,me.$)(),(0,w.T)(s=>Object.values(s.slides))),this.options={breakpoints:{[`(min-width: ${this.breakpointService.getSize(v.SLZ.md)}px)`]:{slidesPerView:4,spacing:0},[`(max-width: ${this.breakpointService.getSize(v.SLZ.md)}px)`]:{slidesPerView:3,spacing:0},[`(max-width: ${this.breakpointService.getSize(v.SLZ.sm)}px)`]:{slidesPerView:2,spacing:0},[`(max-width: ${this.breakpointService.getSize(v.SLZ.xs)}px)`]:{slidesPerView:1,spacing:0}},slides:".slide",slidesPerView:3,spacing:30},this.sortByOrder=pt,this.disabledArrow=ys,this.isDisabledLeft=!1,this.isDisabledRight=!1}ngOnInit(){}static#e=this.ctorParameters=()=>[{type:v.TLs},{type:v.dci}]};Lo=(0,r.Cg)([(0,n.uAl)({selector:"app-product-landing-slider",template:'<ng-container *ngIf="data$ | async as data">\n  <div class="marketing-segments container">\n    <div class="marketing-segments__title">\n      {{ data.title }}\n    </div>\n    <div\n      *ngIf="slides$ | async as slides"\n      class="marketing-segments__slider"\n    >\n      <app-carousel\n        [options]="options"\n        [withArrow]="true"\n        (disabledArrows)="disabledArrow($event)"\n      >\n        <ng-container *ngFor="let slide of sortByOrder(slides)">\n          <div\n            [class.slide--link]="slide.link"\n            class="slide"\n          >\n            <a [routerLink]="slide.link">\n              <div class="slide__content">\n                <img\n                  [src]="slide.media | getMedia"\n                  alt=""\n                  class="slide__content-image">\n                <div class="slide__content-title">{{slide.title}}</div>\n              </div>\n            </a>\n          </div>\n        </ng-container>\n\n        <div\n          [class.keen-slider__arrow--hidden]="isDisabledLeft"\n          class="keen-slider__arrow keen-slider__arrow--left"\n          #arrowPrev\n        >\n          <svg-icon-sprite\n            src="chevron_left"\n            width="24px"\n            height="24px"\n            class="slider__arrow-icon"\n          ></svg-icon-sprite>\n        </div>\n        <div\n          [class.keen-slider__arrow--hidden]="isDisabledRight"\n          class="keen-slider__arrow keen-slider__arrow--right"\n          #arrowNext\n        >\n          <svg-icon-sprite\n            src="chevron_right"\n            width="24px"\n            height="24px"\n            class="slider__arrow-icon"\n          ></svg-icon-sprite>\n        </div>\n      </app-carousel>\n    </div>\n  </div>\n</ng-container>\n',styles:[$E()]})],Lo);var VE=i(35989),GE=i.n(VE);let ko=class{constructor(){}ngOnInit(){}static#e=this.ctorParameters=()=>[]};ko=(0,r.Cg)([(0,n.uAl)({selector:"app-product-landing-support",template:'<div class="marketing-contact container">\n  <div class="row">\n    <div class="col-12 col-sm-6 mb-5 mb-sm-0">\n      <app-support-card\n        button="{{ \'buttons.support\' | cxTranslate }}"\n        icon="settings"\n        title="{{ \'support.productSupport\' | cxTranslate }}"\n        type="primary"\n      ></app-support-card>\n    </div>\n    <div class="col-12 col-sm-6">\n      <app-support-card\n        button="{{ \'buttons.contactManager\' | cxTranslate }}"\n        icon="account_circle"\n        title="{{ \'support.salesManager\' | cxTranslate }}"\n        type="secondary"\n      ></app-support-card>\n    </div>\n  </div>\n</div>\n',styles:[GE()]})],ko);var YE=i(66743),QE=i.n(YE);let Fo=class{constructor(e){this.cmsComponentData=e,this.data$=this.cmsComponentData.data$}ngOnInit(){}static#e=this.ctorParameters=()=>[{type:v.TLs}]};Fo=(0,r.Cg)([(0,n.uAl)({selector:"app-segment-landing-info",template:'<app-marketing-info\n  *ngIf="data$ | async as data"\n  [flexType]="data.flexType"\n  class="app-marketing-info"\n></app-marketing-info>\n',styles:[QE()]})],Fo);var HE=i(1189),jE=i.n(HE);let Mo=class{constructor(e,t){this.breakpointService=e,this.component=t,this.data$=this.component.data$,this.slides$=this.component.data$.pipe((0,me.$)(),(0,w.T)(s=>Object.values(s.productItems))),this.options={breakpoints:{[`(min-width: ${this.breakpointService.getSize(v.SLZ.md)}px)`]:{slidesPerView:3,spacing:14},[`(max-width: ${this.breakpointService.getSize(v.SLZ.md)}px)`]:{slidesPerView:3,spacing:2},[`(max-width: ${this.breakpointService.getSize(v.SLZ.sm)}px)`]:{slidesPerView:3,spacing:2},[`(max-width: ${this.breakpointService.getSize(v.SLZ.xs)}px)`]:{slidesPerView:1,spacing:2}},slides:".slide",slidesPerView:3,spacing:30},this.sortByOrder=pt,this.disabledArrow=ys,this.isDisabledLeft=!1,this.isDisabledRight=!1}ngOnInit(){}static#e=this.ctorParameters=()=>[{type:v.dci},{type:v.TLs}]};Mo=(0,r.Cg)([(0,n.uAl)({selector:"app-segment-use-cases-slider",template:'<ng-container *ngIf="data$ | async as data">\n  <div class="marketing-grey">\n    <div class="container">\n      <div class="marketing-grey__title">{{ data.title }}</div>\n      <div class="product-slider">\n        <app-carousel\n          [options]="options"\n          [withArrow]="true"\n          (disabledArrows)="disabledArrow($event)"\n        >\n          <ng-container *ngFor="let slide of sortByOrder(slides$ | async)">\n            <a class="slide" [href]="slide.link">\n              <div class="slide__content" [style.background]="\'#\' + slide.backgroundColor">\n                <img class="slide__icon" [src]="slide.icon | getMedia" alt="">\n                <div class="slide__title">{{ slide.title }}</div>\n              </div>\n            </a>\n          </ng-container>\n\n          <div\n            [class.keen-slider__arrow--hidden]="isDisabledLeft"\n            class="keen-slider__arrow keen-slider__arrow--left"\n            #arrowPrev\n          >\n            <svg-icon-sprite\n              src="chevron_left"\n              width="24px"\n              height="24px"\n              class="slider__arrow-icon"\n            ></svg-icon-sprite>\n          </div>\n          <div\n            [class.keen-slider__arrow--hidden]="isDisabledRight"\n            class="keen-slider__arrow keen-slider__arrow--right"\n            #arrowNext\n          >\n            <svg-icon-sprite\n              src="chevron_right"\n              width="24px"\n              height="24px"\n              class="slider__arrow-icon"\n            ></svg-icon-sprite>\n          </div>\n        </app-carousel>\n      </div>\n\n    </div>\n  </div>\n</ng-container>\n',styles:[jE()]})],Mo);var KE=i(78996),XE=i.n(KE);let fp=class{constructor(){}ngOnInit(){}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={icon:[{type:n.pde}],title:[{type:n.pde}],button:[{type:n.pde}],type:[{type:n.pde}]}};fp=(0,r.Cg)([(0,n.uAl)({selector:"app-support-card",template:'<div class="support support--{{type}} d-flex flex-column justify-content-between align-items-center">\n  <div class="support__icon support__icon--{{type}}">\n    <div class="support__icon-background d-flex justify-content-center align-items-center">\n      <svg-icon-sprite\n        class="support__icon--{{type}}-color"\n        [src]="icon"\n        width="40"\n        height="40"\n      ></svg-icon-sprite>\n    </div>\n  </div>\n  <div class="support__title">\n    {{title}}\n  </div>\n  <button class="support__button support__button--{{type}}">{{button}}</button>\n</div>\n',styles:[XE()]})],fp);var zg,JE=i(43870),eR=i.n(JE);!function(a){a.s="s",a.l="l"}(zg||(zg={}));let Cp=class{constructor(e){this.breakpointService=e,this.options={breakpoints:{[`(min-width: ${this.breakpointService.getSize(v.SLZ.md)}px)`]:{slidesPerView:3,spacing:14},[`(max-width: ${this.breakpointService.getSize(v.SLZ.md)}px)`]:{slidesPerView:2,spacing:14},[`(max-width: ${this.breakpointService.getSize(v.SLZ.sm)}px)`]:{slidesPerView:2,spacing:14},[`(max-width: ${this.breakpointService.getSize(v.SLZ.xs)}px)`]:{slidesPerView:1,spacing:2}},slides:".slide"},this.sortByOrder=pt,this.disabledArrow=ys,this.isDisabledLeft=!1,this.isDisabledRight=!1}ngOnInit(){}static#e=this.ctorParameters=()=>[{type:v.dci}];static#t=this.propDecorators={size:[{type:n.pde}],slides:[{type:n.pde}]}};Cp=(0,r.Cg)([(0,n.uAl)({selector:"app-text-slider",template:'<div class="text-slider">\n  <app-carousel\n    [options]="options"\n    [withArrow]="true"\n    (disabledArrows)="disabledArrow($event)"\n  >\n    <ng-container *ngFor="let slide of sortByOrder(slides)">\n      <div class="slide">\n        <div class="slide__content d-flex flex-column">\n          <div class="slide__content-image">\n            <img [src]="slide.media | getMedia">\n          </div>\n          <div class="slide__text d-flex flex-column flex-grow-1">\n            <div class="slide__text-title">{{ slide.title }}</div>\n            <div class="slide__text-content slide__text-content--{{size}} flex-grow-1">{{ slide.description }}</div>\n            <div class="slide__text-date">{{ slide.publishDate }}</div>\n          </div>\n        </div>\n      </div>\n    </ng-container>\n\n    <div\n      [class.keen-slider__arrow--hidden]="isDisabledLeft"\n      class="keen-slider__arrow keen-slider__arrow--left"\n      #arrowPrev\n    >\n      <svg-icon-sprite\n        src="chevron_left"\n        width="24px"\n        height="24px"\n        class="slider__arrow-icon"\n      ></svg-icon-sprite>\n    </div>\n    <div\n      [class.keen-slider__arrow--hidden]="isDisabledRight"\n      class="keen-slider__arrow keen-slider__arrow--right"\n      #arrowNext\n    >\n      <svg-icon-sprite\n        src="chevron_right"\n        width="24px"\n        height="24px"\n        class="slider__arrow-icon"\n      ></svg-icon-sprite>\n    </div>\n  </app-carousel>\n</div>\n',styles:[eR()]})],Cp);var nR=i(73974),sR=i.n(nR);let bp=class{constructor(){}ngOnInit(){}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={sectionTitle:[{type:n.pde}],slides:[{type:n.pde}]}};bp=(0,r.Cg)([(0,n.uAl)({selector:"app-use-cases",template:'<div class="marketing-case container">\n  <div class="marketing-case__title">{{ sectionTitle }}</div>\n  <div class="marketing-case__slider">\n    <app-text-slider [slides]="slides" size="l"></app-text-slider>\n  </div>\n</div>\n',styles:[sR()]})],bp);let No=class{};No=(0,r.Cg)([(0,n.UQu)({declarations:[wo,vp,Lo,Do,bs,Po,ko,cp,pp,lp,dp,fp,bp,xp,Cp,Fo,Mo,Oo,Io,Ao,Eo,mp,gp,Ro],imports:[S.MD,p.htr.withConfig({cmsComponents:{LandingInfoComponent:{component:wo,guards:[Y]},SegmentLandingInfoComponent:{component:Fo,guards:[Y]},ProductLandingSliderComponent:{component:Lo,guards:[Y]},ProductLandingNewsSliderComponent:{component:Do,guards:[Y]},DownloadCatalogComponent:{component:bs,guards:[Y]},MultipleDownloadCatalogComponent:{component:bs},ProductLandingMillsComponent:{component:Po,guards:[Y]},ProductLandingSupportComponent:{component:ko,guards:[Y]},ProductsUsedSliderComponent:{component:Mo,guards:[Y]},SegmentManagerComponent:{component:Oo,guards:[Y]},ContactManagerItemsRootComponent:{component:Ro,guards:[Y]},ProductLandingTabsContainerComponent:{component:Io,guards:[Y]},MarketingMessageSliderComponent:{component:Ao,guards:[Y]}}}),be,V.F2,p.LP3,y.iI,xe,ct,v.sS9,Te,ge],exports:[Eo],providers:[Cs]})],No);var yp,rR=i(55325),oR=i.n(rR);!function(a){a.ProductPageCreateInquiryComponent="ProductPageCreateInquiryComponent"}(yp||(yp={}));let Uo=class{constructor(e,t){this.component=e,this.authService=t,this.data$=this.component.data$,this.isUserLoggedIn$=this.authService.isUserLoggedIn(),this.FlexLinkComponentEnums=yp,this.ROUTE_URL=M}ngOnInit(){}static#e=this.ctorParameters=()=>[{type:v.TLs},{type:p.uRZ}]};Uo=(0,r.Cg)([(0,n.uAl)({selector:"app-flex-with-link",template:'<ng-container *ngIf="data$ | async as data">\n  <ng-container [ngSwitch]="data.flexType">\n    <ng-container *ngSwitchCase="FlexLinkComponentEnums.ProductPageCreateInquiryComponent">\n      <ng-container *ngTemplateOutlet="inquiry; context:{isUserLoggedIn:isUserLoggedIn$ | async}"></ng-container>\n      <ng-template #inquiry let-isUserLoggedIn=\'isUserLoggedIn\'>\n        <app-marketing-contact-inquiry [link]="data.link" [isUserLoggedIn]="isUserLoggedIn"></app-marketing-contact-inquiry>\n      </ng-template>\n    </ng-container>\n    <ng-container *ngSwitchDefault>\n      <cx-generic-link\n        [url]="data.link.url"\n        [title]="data.link.linkName"\n      >\n        <span>{{ data.link.linkName }}</span>\n      </cx-generic-link>\n    </ng-container>\n  </ng-container>\n</ng-container>\n',styles:[oR()]})],Uo);let Sp=class{};Sp=(0,r.Cg)([(0,n.UQu)({declarations:[Uo],imports:[S.MD,p.htr.withConfig({cmsComponents:{FlexWithLinkComponent:{component:Uo}}}),v.sS9,p.LP3,V.F2,v.VMI,No]})],Sp);var cR=i(54157),lR=i.n(cR);let Ss=class{constructor(e){this.component=e,this.EMAIL="@",this.data$=this.component.data$.pipe((0,z.M)(t=>{this.stripLink=this.buildLink(t.stripContactInfo),this.plateLink=this.buildLink(t.plateContactInfo)})),this.stripLink="",this.plateLink=""}ngOnInit(){}buildLink(e){let t="";return t=this.isMail(e)?"mailto:"+e:"tel:+"+e.replace(/\D/g,"").replace(/\s/,""),t}isMail(e){return e.includes(this.EMAIL)}static#e=this.ctorParameters=()=>[{type:v.TLs}]};Ss=(0,r.Cg)([(0,n.uAl)({selector:"app-footer-contacts",template:'<div *ngIf="data$ | async as data" class="footer-contacts">\n  <p class="footer-contacts__title">{{ \'text.footerContacts\' | cxTranslate }}</p>\n  <div class="footer-contacts__buttons-wrapper">\n    <button class="btn btn-secondary btn--sm footer-contacts__button">\n      <a [href]="stripLink" target="_blank">\n        <svg-icon-sprite width="16" height="16" src="strip" class="footer-contacts__button-icon"></svg-icon-sprite>\n        <span>{{data.stripContactInfo}}</span>\n      </a>\n    </button>\n\n    <button class="btn btn-secondary btn--sm footer-contacts__button">\n      <a [href]="plateLink" target="_blank">\n        <svg-icon-sprite width="16" height="16" src="plate" class="footer-contacts__button-icon"></svg-icon-sprite>\n        <span>{{data.plateContactInfo}}</span>\n      </a>\n    </button>\n  </div>\n</div>\n',styles:[lR()]})],Ss);let Tp=class{};Tp=(0,r.Cg)([(0,n.UQu)({declarations:[Ss],exports:[Ss],imports:[S.MD,p.htr.withConfig({cmsComponents:{ContactsFooterComponent:{component:Ss}}}),V.F2,p.LP3]})],Tp);var pR=i(91833),uR=i.n(pR);let Ep=class{constructor(){this.isShowProducts=!1}close(){this.isShowProducts&&(this.isShowProducts=!1)}toggle(){this.isShowProducts=!this.isShowProducts}static#e=this.propDecorators={item:[{type:n.pde}]}};Ep=(0,r.Cg)([(0,n.uAl)({selector:"app-footer-navigation-product",template:'<div\n  (clickOutside)="close()"\n  exclude=".footer-nav__products"\n  class="footer-nav"\n>\n  <div\n    class="footer-nav__link d-flex align-items-center"\n    (click)="toggle()"\n    [class.footer-nav__link--is-open]="isShowProducts"\n  >\n    {{item.title}}\n    <svg-icon-sprite\n      class="footer-nav__link-icon"\n      src="expand_more"\n      [class.footer-nav__link-icon--is-open]="isShowProducts"\n      width="16" height="16"\n    ></svg-icon-sprite>\n  </div>\n  <div *ngIf="isShowProducts">\n    <div class="footer-nav__products">\n      <ng-container *ngFor="let children of item.children">\n        <a class="footer-nav__products-link" [routerLink]="children.url">{{children.title}}</a>\n      </ng-container>\n    </div>\n  </div>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[uR()]})],Ep);var Rp,gR=i(3225),mR=i.n(gR);!function(a){a.TradingFooterNavigationComponent="TradingFooterNavigationComponent",a.FooterNavigationComponent="FooterNavigationComponent"}(Rp||(Rp={}));let $o=class{constructor(e,t){this.component=e,this.service=t,this.node$=this.service.getNavigationNode(this.component.data$),this.uid$=this.component.data$.pipe((0,B.p)(Boolean),(0,fe.E)("uid")),this.FooterNavUid=Rp,this.isShowProducts=!1}ngOnInit(){}static#e=this.ctorParameters=()=>[{type:v.TLs},{type:v.o_p}]};$o=(0,r.Cg)([(0,n.uAl)({selector:"app-footer-navigation",template:'<ng-container *ngIf="node$ | async as node">\n  <ng-container *ngIf="uid$ | async as uid">\n      <div class="d-flex flex-wrap">\n\n        <ng-container [ngSwitch]="uid$ | async">\n          <ng-container *ngSwitchCase="FooterNavUid.FooterNavigationComponent">\n            <div *ngFor="let item of node.children" class="footer__block col-12 col-sm-6 col-lg-3 no-gutters">\n              <ng-container *ngTemplateOutlet="nav; context: { node: item }"></ng-container>\n            </div>\n          </ng-container>\n          <ng-container *ngSwitchCase="FooterNavUid.TradingFooterNavigationComponent">\n            <div *ngFor="let item of node.children" class="footer__block col-12 col-sm-4 no-gutters">\n              <ng-container *ngTemplateOutlet="nav; context: { node: item }"></ng-container>\n            </div>\n          </ng-container>\n          <ng-container *ngSwitchDefault>\n            <div *ngFor="let item of node.children" class="footer__block col-12 col-sm-6 col-lg-3 no-gutters">\n              <ng-container *ngTemplateOutlet="nav; context: { node: item }"></ng-container>\n            </div>\n          </ng-container>\n        </ng-container>\n\n        <ng-template #nav let-node="node">\n          <h3 class="footer__title">\n            <ng-container *ngIf="node.url; else title">\n              <a [href]="node.url" class="footer__title-link">{{ node.title }}</a>\n            </ng-container>\n            <ng-template #title>\n              {{ node.title }}\n            </ng-template>\n          </h3>\n          <ul *ngFor="let item of node.children" class="footer-nav">\n            <li class="footer-nav__item">\n              <app-footer-navigation-product\n                *ngIf="item.children; else withoutChildren"\n                [item]="item"\n              ></app-footer-navigation-product>\n              <ng-template #withoutChildren>\n                <cx-generic-link\n                  *ngIf="item.url"\n                  [url]="item.url"\n                  [target]="item.target"\n                  class="footer-nav__link"\n                >\n                  {{ item.title }}\n                </cx-generic-link>\n              </ng-template>\n            </li>\n          </ul>\n        </ng-template>\n\n      </div>\n  </ng-container>\n</ng-container>\n',changeDetection:n.Ngq.OnPush,styles:[mR()]})],$o);var vR=i(57559),xR=i.n(vR);let Ts=class{constructor(e){this.component=e,this.data$=this.component.data$,this.social={youtube:!1,instagram:!1,facebook:!1,twitter:!1,linkedIn:!1}}ngOnInit(){}static#e=this.ctorParameters=()=>[{type:v.TLs}]};Ts=(0,r.Cg)([(0,n.uAl)({selector:"app-footer-socials",template:'<div *ngIf="data$ | async as data" class="footer-socials">\n  <p class="footer-socials__title">{{ \'text.footerSocials\' | cxTranslate }}</p>\n  <div class="footer-socials__icons-wrapper">\n\n    <a *ngIf="data.fbLink" [href]="data.fbLink" target="_blank" class="footer-socials__icon">\n      <svg-icon-sprite\n        (mouseenter)="social.facebook = true"\n        (mouseleave)="social.facebook = false"\n        [src]="social.facebook ? \'facebook_hover\' : \'facebook_static\'"\n        width="36"\n        height="36"\n      ></svg-icon-sprite>\n    </a>\n    <a *ngIf="data.twitterLink" [href]="data.twitterLink" target="_blank" class="footer-socials__icon">\n      <svg-icon-sprite\n        (mouseenter)="social.twitter = true"\n        (mouseleave)="social.twitter = false"\n        [src]="social.twitter ? \'twitter_hover\' : \'twitter_static\'"\n        width="36"\n        height="36"\n      ></svg-icon-sprite>\n    </a>\n    <a *ngIf="data.youtubeLink" [href]="data.youtubeLink" target="_blank" class="footer-socials__icon">\n      <svg-icon-sprite\n        (mouseenter)="social.youtube = true"\n        (mouseleave)="social.youtube = false"\n        [src]="social.youtube ? \'youtube_hover\' : \'youtube_static\'"\n        width="36"\n        height="36"\n      ></svg-icon-sprite>\n    </a>\n    <a *ngIf="data.instagramLink" [href]="data.instagramLink" target="_blank" class="footer-socials__icon">\n      <svg-icon-sprite\n        (mouseenter)="social.instagram = true"\n        (mouseleave)="social.instagram = false"\n        [src]="social.instagram ? \'instagram_hover\' : \'instagram_static\'"\n        width="36"\n        height="36"\n      ></svg-icon-sprite>\n    </a>\n    <a *ngIf="data.linkedInLink" [href]="data.linkedInLink" target="_blank" class="footer-socials__icon">\n      <svg-icon-sprite\n        (mouseenter)="social.linkedIn = true"\n        (mouseleave)="social.linkedIn = false"\n        [src]="social.linkedIn ? \'linkedin_hover\' : \'linkedin_static\'"\n        width="36"\n        height="36"\n      ></svg-icon-sprite>\n    </a>\n  </div>\n</div>\n',styles:[xR()]})],Ts);let Op=class{};Op=(0,r.Cg)([(0,n.UQu)({declarations:[Ts],exports:[Ts],imports:[S.MD,p.htr.withConfig({cmsComponents:{SocialMediaFooterComponent:{component:Ts}}}),V.F2,p.LP3]})],Op);var CR=i(81533),bR=i.n(CR),un=i(20547);let Es=class{constructor(e,t,s){this.fb=e,this.launchDialogService=t,this.userPasswordService=s}ngOnInit(){this.forgotPasswordForm=this.fb.group({userEmail:["",[m.k0.required,v.zEP.emailValidator]]})}requestForgotPasswordEmail(){this.forgotPasswordForm.valid?(this.userPasswordService.requestForgotPasswordEmail(this.forgotPasswordForm.value.userEmail),this.launchDialogService.openDialogAndSubscribe("FORGOT_PASSWORD_EMAIL_MODAL",void 0,void 0)):this.forgotPasswordForm.markAllAsTouched()}closeModal(){this.launchDialogService.closeDialog("")}static#e=this.ctorParameters=()=>[{type:m.ze},{type:v.PLe},{type:un.Dt}]};Es=(0,r.Cg)([(0,n.uAl)({selector:"app-forgot-password",template:'<form\n  [formGroup]="forgotPasswordForm"\n  (ngSubmit)="requestForgotPasswordEmail()"\n>\n  <div class="form-group">\n    <app-input\n      [controlData]="forgotPasswordForm.get(\'userEmail\')"\n      [label]="\'userLoginForm.emailAddress.label\' | cxTranslate"\n      name="email"\n    ></app-input>\n  </div>\n\n  <div class="controls d-flex align-content-center justify-content-end">\n    <button (click)="closeModal()" type="button" class="btn btn--md btn-secondary">\n        {{ \'common.cancel\' | cxTranslate }}\n    </button>\n    <button type="submit" class="btn btn--md btn-default">\n      {{\'button.getNewPassword\' | cxTranslate}}\n    </button>\n  </div>\n</form>\n',styles:[bR()]})],Es);let Ap=class{};Ap=(0,r.Cg)([(0,n.UQu)({declarations:[Es],imports:[S.MD,p.htr.withConfig({cmsComponents:{ForgotPasswordComponent:{component:Es}}}),m.YN,p.LP3,m.X1,ce],exports:[Es]})],Ap);var SR=i(29501),TR=i.n(SR);let Bo=class{constructor(e){this.globalMessageService=e,this.messageType=p.NCV}ngOnInit(){this.messages$=this.globalMessageService.get()}clear(e,t){this.globalMessageService.remove(e,t)}static#e=this.ctorParameters=()=>[{type:p.S8D}]};Bo=(0,r.Cg)([(0,n.uAl)({selector:"app-global-message",template:'<div *ngIf="messages$ | async as messages">\n  \x3c!-- Success --\x3e\n  <div\n    class="alert alert-success"\n    *ngFor="\n      let confMsg of messages[messageType.MSG_TYPE_CONFIRMATION];\n      let i = index\n    "\n  >\n    <ng-container *ngTemplateOutlet="alertContent; context: { msg: confMsg, msgType: messageType.MSG_TYPE_CONFIRMATION, i: i }"></ng-container>\n  </div>\n\n  \x3c!-- Info --\x3e\n  <div\n    class="alert alert-info"\n    *ngFor="let infoMsg of messages[messageType.MSG_TYPE_INFO]; let i = index"\n  >\n    <ng-container *ngTemplateOutlet="alertContent; context: { msg: infoMsg, msgType: messageType.MSG_TYPE_INFO, i: i }"></ng-container>\n  </div>\n\n  \x3c!-- Warning --\x3e\n  <div\n    class="alert alert-warning"\n    *ngFor="\n      let infoMsg of messages[messageType.MSG_TYPE_WARNING];\n      let i = index\n    "\n  >\n    <ng-container *ngTemplateOutlet="alertContent; context: { msg: infoMsg, msgType: messageType.MSG_TYPE_WARNING, i: i, icon: \'warning\'}"></ng-container>\n  </div>\n\n  \x3c!-- Error --\x3e\n  <div\n    class="alert alert-danger"\n    *ngFor="let errorMsg of messages[messageType.MSG_TYPE_ERROR]; let i = index"\n  >\n    <ng-container *ngTemplateOutlet="alertContent; context: { msg: errorMsg, msgType: messageType.MSG_TYPE_ERROR, i: i, icon: \'error\' }"></ng-container>\n  </div>\n</div>\n\n<ng-template #alertContent let-msg="msg" let-msgType="msgType" let-i="i" let-icon="icon">\n  <div class="container">\n    <div class="row">\n      <div class="col-12">\n        <div class="alert__inner">\n          <svg-icon-sprite\n            *ngIf="icon"\n            [src]="icon"\n            width="24"\n            height="24"\n            class="alert__icon"\n          ></svg-icon-sprite>\n\n          <span>{{ msg | cxTranslate }}</span>\n\n          <button\n            class="alert__close"\n            type="button"\n            (click)="clear(msgType, i)"\n          >\n            <img src="/assets/icons/cancel.svg" alt="">\n          </button>\n        </div>\n      </div>\n    </div>\n  </div>\n</ng-template>\n',changeDetection:n.Ngq.OnPush,styles:[TR()]})],Bo);let Vo=class{};Vo=(0,r.Cg)([(0,n.UQu)({declarations:[Bo],imports:[S.MD,U.q1,p.LP3,V.F2],exports:[Bo]})],Vo);var RR=i(14582),OR=i.n(RR);let Go=class{constructor(){}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={data:[{type:n.pde}]}};Go=(0,r.Cg)([(0,n.uAl)({selector:"app-home-page-about-us",template:'<div class="container">\n  <div class="about-us">\n    <div\n      class="about-us__image"\n      [style.background-image]="\'url(\' + (data.media | getMedia) + \')\'"\n    ></div>\n    <div class="about-us__content d-flex flex-column">\n        <img\n          class="about-us__content-logo"\n          [src]="data.logo | getMedia"\n          [alt]="data.logo?.altText"\n        />\n      <div class="about-us__content-description">{{ data.description }}</div>\n    </div>\n  </div>\n</div>\n\n',changeDetection:n.Ngq.OnPush,styles:[OR()]})],Go);var IR=i(66274),wR=i.n(IR);let Ip=class{constructor(e){this.mediaService=e}ngOnInit(){}static#e=this.ctorParameters=()=>[{type:v.u1P}];static#t=this.propDecorators={icon:[{type:n.pde}],titleNumber:[{type:n.pde}],title:[{type:n.pde}],text:[{type:n.pde}]}};Ip=(0,r.Cg)([(0,n.uAl)({selector:"app-home-page-info-block",template:'<div class="info-block">\n  <div>\n    <img\n      [src]="icon | getMedia"\n      class="info-block__icon"\n    >\n  </div>\n  <div class="d-flex flex-column">\n    <div class="info-block__count">{{ titleNumber }}</div>\n    <div class="info-block__title">{{ title }}</div>\n    <div class="info-block__descriptions">{{ text }}</div>\n  </div>\n</div>\n',styles:[wR()]})],Ip);var DR=i(24598),LR=i.n(DR);let zo=class{constructor(e){this.cmsComponentData=e,this.data$=this.cmsComponentData.data$.pipe((0,w.T)(t=>t?Object.values(t.fields):[]))}static#e=this.ctorParameters=()=>[{type:v.TLs}]};zo=(0,r.Cg)([(0,n.uAl)({selector:"app-home-page-info",template:'<div class="container">\n  <div class="row">\n    <div class="col-12">\n      <div\n        *ngIf="data$ | async as data"\n        class="home-page-info"\n      >\n        <app-home-page-info-block\n          *ngFor="let block of data"\n          [icon]="block.icon"\n          [titleNumber]="block.titleNumber"\n          [title]="block.title"\n          [text]="block.text"\n        ></app-home-page-info-block>\n      </div>\n    </div>\n  </div>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[LR()]})],zo);var wp,FR=i(64816),MR=i.n(FR);!function(a){a.HomepageTradingRegistrationEncouragingComponent="HomepageTradingRegistrationEncouragingComponent",a.HomepageRegistrationEncouragingComponent="HomepageRegistrationEncouragingComponent"}(wp||(wp={}));let Yo=class{constructor(e,t){this.cmsComponentData=e,this.launchDialogService=t,this.data$=this.cmsComponentData.data$,this.HomePageLoginFlexTypes=wp}ngOnInit(){}openLoginModal(){this.launchDialogService.openDialogAndSubscribe("AUTH_MODAL",void 0,{type:Pe.REGISTER})}static#e=this.ctorParameters=()=>[{type:v.TLs},{type:v.PLe}]};Yo=(0,r.Cg)([(0,n.uAl)({selector:"app-home-page-login",template:'<div class="container">\n  <div class="row">\n    <div class="col-12">\n      <div\n        *ngIf="data$ | async as data"\n        class="login d-flex"\n      >\n        <div class="d-flex">\n          <img\n            [src]="data.icon | getMedia"\n            alt="NLMK"\n            class="login__icon"\n          >\n\n          <div class="login__title">\n            {{ data.text }}\n          </div>\n        </div>\n        <button class="login__button d-flex align-items-center btn btn-default" (click)="openLoginModal()">\n          <svg-icon-sprite\n            class="login__button-icon"\n            src="person"\n            width="18"\n            height="18"\n          ></svg-icon-sprite>\n          <ng-container\n            *ngIf="data.flexType !== HomePageLoginFlexTypes.HomepageTradingRegistrationEncouragingComponent; else trading">\n            {{ \'button.login\' | cxTranslate }}\n          </ng-container>\n        </button>\n      </div>\n    </div>\n  </div>\n</div>\n\n\n<ng-template #trading>\n  {{ \'button.createInquiry\' | cxTranslate }}\n</ng-template>\n',changeDetection:n.Ngq.OnPush,styles:[MR()]})],Yo);var UR=i(79901),$R=i.n(UR);const BR={NEW_WINDOW:"newWindow"};let Pp=class{constructor(){this.TARGET_VALUE=BR}static#e=this.propDecorators={mill:[{type:n.pde}]}};Pp=(0,r.Cg)([(0,n.uAl)({selector:"app-mill-card",template:'<a\n  class="mill-card d-flex"\n  [href]="mill.link"\n  [target]="mill.target === TARGET_VALUE.NEW_WINDOW ? \'_blank\' : \'_self\'"\n>\n  <img [src]="mill.image | getMedia" alt="mill-image" class="mill-card__image">\n  <img\n    *ngIf="mill.logo | getMedia; else standard"\n    [src]="mill.logo | getMedia"\n    alt="mill-logo"\n    class="mill-card__logo"\n  >\n  <ng-template #standard>\n    <div class="mill-card__info d-flex flex-column align-items-center">\n      <svg-icon-sprite src="nlmk_logo_en" width="70" height="40"></svg-icon-sprite>\n      <div class="mill-card__info-title">{{mill.title}}</div>\n    </div>\n  </ng-template>\n</a>\n',changeDetection:n.Ngq.OnPush,styles:[$R()]})],Pp);var GR=i(92035),zR=i.n(GR);let Dp=class{constructor(){this.sortByOrder=pt}ngOnInit(){this.millsCard=Object.values(this.productCategory).filter(e=>"string"!=typeof e)}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={productCategory:[{type:n.pde}]}};Dp=(0,r.Cg)([(0,n.uAl)({selector:"app-mills-category",template:'<div class="mill-category">\n  <div class="mill-category__title">{{productCategory.title}}</div>\n  <scrollbar class="scrollbar">\n  <div class="mill-category__cards">\n    <div\n      *ngFor="let mill of sortByOrder(millsCard)"\n      class="mill-category__card"\n\n    >\n      <app-mill-card\n        [mill]="mill"\n        class="mill-category__cards-card"\n      ></app-mill-card>\n    </div>\n  </div>\n  </scrollbar>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[zR()]})],Dp);var QR=i(81204),qR=i.n(QR);let Qo=class{constructor(e){this.component=e,this.data$=this.component.data$}static#e=this.ctorParameters=()=>[{type:v.TLs}]};Qo=(0,r.Cg)([(0,n.uAl)({selector:"app-home-page-mills",template:'<div class="container mt-30">\n  <div class="mills" *ngIf="data$ | async as data">\n    <div class="mills__title">{{ data.title }}</div>\n    <div *ngFor="let productCategory of data.components | keyvalue">\n      <app-mills-category [productCategory]="productCategory.value"></app-mills-category>\n    </div>\n  </div>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[qR()]})],Qo);let Lp=class{};Lp=(0,r.Cg)([(0,n.UQu)({declarations:[Qo,Dp,Pp],imports:[S.MD,p.htr.withConfig({cmsComponents:{EuropeMillsRootComponent:{component:Qo}}}),V.F2,xe,Te]})],Lp);var jR=i(91300),WR=i.n(jR);let qo=class{constructor(e){this.component=e,this.data$=this.component.data$,this.linksCount$=this.data$.pipe((0,w.T)(t=>{if(t)return Object.keys(t.links).length}))}getLink(e){if(e)return e.split("?")[0]}getParamsFromUrl(e){if(!e)return;const t=e.split("?");return t.length<2?void 0:t[1].split("&").reduce((s,o)=>{const l=o.split("=");return s[l[0]]=decodeURIComponent(l[1]),s},{})}static#e=this.ctorParameters=()=>[{type:v.TLs}]};qo=(0,r.Cg)([(0,n.uAl)({selector:"app-homepage-link-block",template:'<ng-container *ngIf="data$ | async as data">\n  <div class="homepage-link-wrapper">\n    <ng-container *ngIf="(linksCount$ | async) === 1; else twoLinks">\n      <a\n        *ngFor="let link of data.links | keyvalue"\n        [routerLink]="link.value.link"\n        class="homepage-link"\n      >\n        <cx-media\n          [container]="data.background"\n        ></cx-media>\n        <div class="homepage-link__central link">\n          {{data.title}}\n        </div>\n      </a>\n    </ng-container>\n\n    <ng-template #twoLinks>\n      <a class="homepage-link">\n        <cx-media\n          [container]="data.background"\n        ></cx-media>\n        <div class="homepage-link__central">\n          {{data.title}}\n        </div>\n        <div class="homepage-link__buttons">\n          <a\n            *ngFor="let link of data.links | keyvalue"\n            [routerLink]="getLink(link.value.link)"\n            [queryParams]="getParamsFromUrl(link.value.link)"\n            class="homepage-link__buttons-button link"\n          >\n            {{link.value.linkName}}\n          </a>\n        </div>\n      </a>\n    </ng-template>\n  </div>\n</ng-container>\n',styles:[WR()]})],qo);var XR=i(41483),ZR=i.n(XR);let kp=class{constructor(e){this.breakpointService=e,this.isDisabledLeft=!1,this.isDisabledRight=!1,this.options={breakpoints:{[`(min-width: ${this.breakpointService.getSize(v.SLZ.md)}px)`]:{slidesPerView:3,spacing:14},[`(max-width: ${this.breakpointService.getSize(v.SLZ.md)}px)`]:{slidesPerView:2,spacing:2},[`(max-width: ${this.breakpointService.getSize(v.SLZ.sm)}px)`]:{slidesPerView:2,spacing:10},[`(max-width: ${this.breakpointService.getSize(v.SLZ.xs)}px)`]:{slidesPerView:1,spacing:2}},slides:".slide",slidesPerView:3,spacing:30},this.sortByOrder=pt,this.disabledArrow=ys}static#e=this.ctorParameters=()=>[{type:v.dci}];static#t=this.propDecorators={slides:[{type:n.pde}]}};kp=(0,r.Cg)([(0,n.uAl)({selector:"app-homepage-product-slider",template:'<app-carousel\n  [options]="options"\n  [withArrow]="true"\n  (disabledArrows)="disabledArrow($event)"\n>\n  <ng-container *ngFor="let slide of sortByOrder(slides)">\n    <div class="slide">\n      <a [routerLink]="slide.link">\n        <div class="slide__content">\n          <img\n            [src]="slide.backgroundImage | getMedia"\n            alt=""\n            class="slide__content-image">\n          <div class="slide__content-title">{{slide.title}}</div>\n        </div>\n      </a>\n    </div>\n  </ng-container>\n\n  <div\n    [class.keen-slider__arrow--hidden]="isDisabledLeft"\n    class="keen-slider__arrow keen-slider__arrow--left"\n    #arrowPrev\n  >\n    <svg-icon-sprite\n      src="chevron_left"\n      width="24px"\n      height="24px"\n      class="slider__arrow-icon"\n    ></svg-icon-sprite>\n  </div>\n  <div\n    [class.keen-slider__arrow--hidden]="isDisabledRight"\n    class="keen-slider__arrow keen-slider__arrow--right"\n    #arrowNext\n  >\n    <svg-icon-sprite\n      src="chevron_right"\n      width="24px"\n      height="24px"\n      class="slider__arrow-icon"\n    ></svg-icon-sprite>\n  </div>\n</app-carousel>\n',styles:[ZR()]})],kp);var eO=i(54032),tO=i.n(eO);let Ho=class{constructor(e){this.component=e,this.data$=this.component.data$,this.slides$=this.component.data$.pipe((0,me.$)(),(0,w.T)(t=>Object.values(t.items)))}static#e=this.ctorParameters=()=>[{type:v.TLs}]};Ho=(0,r.Cg)([(0,n.uAl)({selector:"app-products-slider",template:'<div class="product-slider container" *ngIf="data$ | async as data">\n  <div class="product-slider__title">{{ data.title }}</div>\n  <app-homepage-product-slider [slides]="slides$ | async"></app-homepage-product-slider>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[tO()]})],Ho);let Fp=class{};Fp=(0,r.Cg)([(0,n.UQu)({declarations:[Ho,kp],imports:[S.MD,p.htr.withConfig({cmsComponents:{CommonSliderComponent:{component:Ho}}}),be,y.iI,V.F2,xe]})],Fp);let jo=class{};jo=(0,r.Cg)([(0,n.UQu)({declarations:[zo,Ip,Yo,qo,Go],imports:[S.MD,p.htr.withConfig({cmsComponents:{RegistrationLoginEncouragingComponent:{component:Yo},StatisticInfoFieldsContainerComponent:{component:zo},HomepageLinkBlockComponent:{component:qo}}}),V.F2,p.LP3,Fp,Lp,y.iI,v.Lmd,xe],exports:[Go]})],jo);var sO=i(4763),iO=i.n(sO);let Wo=class{constructor(e,t,s,o){this.component=e,this.occEndpointsService=t,this.domSanitizer=s,this.document=o,this.data$=this.component.data$.pipe((0,w.T)(l=>{let u=l.content;return u?(u&&l.uid===Wt.WHO_WE_ARE_COMPONENT&&(u=this.buildEndpointPathForDownload(u)),this.domSanitizer.bypassSecurityTrustHtml(u)):""}))}ngOnInit(){}buildEndpointPathForDownload(e){const t=this.document.createElement("p"),s=this.occEndpointsService.getBaseUrl();return t.innerHTML=e,t.querySelectorAll("a").forEach(l=>{if(l.getAttribute("href")&&!l.href.includes(s)&&l.href.includes("download")){const u=l.href.split("/download/")[1].replace(/\/'$/,"");l.href=`${s}/download/${u}`}}),t.outerHTML}static#e=this.ctorParameters=()=>[{type:v.TLs},{type:p.zxz},{type:Lt.up},{type:Document,decorators:[{type:n.y_5,args:[S.qQ]}]}]};Wo=(0,r.Cg)([(0,n.uAl)({selector:"app-link-paragraph",template:'<ng-container *ngIf="data$ | async as data">\n  <p [innerHTML]="data" class="link-paragraph"></p>\n</ng-container>\n',styles:[iO()]})],Wo);let Mp=class{};Mp=(0,r.Cg)([(0,n.UQu)({declarations:[Wo],imports:[S.MD,p.htr.withConfig({cmsComponents:{CMSParagraphComponent:{component:Wo}}})]})],Mp);var oO=i(95185),aO=i.n(oO);let Rs=class{constructor(e,t,s,o){this.authService=e,this.componentData=t,this.eventBus=s,this.launchDialogService=o,this.uid$=this.componentData.data$.pipe((0,w.T)(l=>l.uid)),this.isUserMenuOpened=!1,this.isUserLoggedIn$=this.authService.isUserLoggedIn()}ngOnInit(){}closeUserMenu(){this.isUserMenuOpened&&(this.isUserMenuOpened=!1,this.eventBus.cast(J_PAGE_UNDERLAY,!1))}userActions(e){e?(this.eventBus.cast(J_PAGE_UNDERLAY,!this.isUserMenuOpened),this.isUserMenuOpened=!this.isUserMenuOpened):(this.isUserMenuOpened&&(this.isUserMenuOpened=!1),this.openLoginModal())}openLoginModal(){this.launchDialogService.openDialogAndSubscribe("AUTH_MODAL",void 0,{type:Pe.LOGIN})}static#e=this.ctorParameters=()=>[{type:p.uRZ},{type:v.TLs},{type:ve.u},{type:v.PLe}]};Rs=(0,r.Cg)([(0,n.uAl)({selector:"app-login",template:'\n<ng-container *ngTemplateOutlet="isUserLoggedIn; context:{isUserLoggedIn:isUserLoggedIn$ | async, uid:uid$ | async}"></ng-container>\n\n<ng-template #isUserLoggedIn let-isUserLoggedIn=\'isUserLoggedIn\'>\n  <div\n    [class.is-open]="isUserMenuOpened && isUserLoggedIn"\n    class="user"\n  >\n    <div\n      (click)="userActions(isUserLoggedIn)"\n      class="submenu__title"\n      data-cy\n      data="login-button"\n    >\n      <svg-icon-sprite\n        [class.is-active]="isUserMenuOpened && isUserLoggedIn"\n        src="person"\n        width="32"\n        height="32"\n        class="user__icon"\n      ></svg-icon-sprite>\n    </div>\n      <app-user-menu\n        *ngIf="isUserLoggedIn$ | async"\n        (clickOutside)="closeUserMenu()"\n        (closed)="userActions(isUserLoggedIn)"\n        class="submenu"\n        exclude=".user"\n      ></app-user-menu>\n  </div>\n</ng-template>\n\n',styles:[aO()]})],Rs);var lO=i(94177),dO=i.n(lO);let Ko=class{constructor(e,t,s,o,l,u){this.authService=e,this.launchDialogService=t,this.vcr=s,this.cmsService=o,this.eventBus=l,this.changeDetection=u,this.isCartMenuOpened=!1,this.isUserLoggedIn=!1,this.destroyed$=new R.B,this.pageId$=this.cmsService.getCurrentPage().pipe((0,B.p)(Boolean),(0,fe.E)("pageId")),this.PAGES_ID=q}ngOnInit(){this.authService.isUserLoggedIn().pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.isUserLoggedIn=e,this.emitUpdateCartEvent(),this.changeDetection.detectChanges()})}ngAfterViewInit(){this.emitUpdateCartEvent()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}emitUpdateCartEvent(){this.eventBus.cast(J_MINI_CART_UPDATE)}openLoginModal(){this.launchDialogService.openDialogAndSubscribe("AUTH_MODAL",void 0,{type:Pe.LOGIN})}userCartActions(e){e?(this.eventBus.cast(J_PAGE_UNDERLAY,!this.isCartMenuOpened),this.isCartMenuOpened=!this.isCartMenuOpened):this.openLoginModal()}menuCartClose(){this.isCartMenuOpened&&(this.eventBus.cast(J_PAGE_UNDERLAY,!1),this.isCartMenuOpened=!this.isCartMenuOpened)}closeMenu(){this.isCartMenuOpened&&(this.eventBus.cast(J_PAGE_UNDERLAY,!1),this.isCartMenuOpened=!this.isCartMenuOpened)}static#e=this.ctorParameters=()=>[{type:p.uRZ},{type:v.PLe},{type:n.c1b},{type:p.xYq},{type:ve.u},{type:n.gRc}]};Ko=(0,r.Cg)([(0,n.uAl)({selector:"app-mini-cart",template:'<div class="mini-cart">\n  <ng-container *ngIf="isUserLoggedIn; else anonymous">\n    <div class="d-flex align-items-center">\n      <button\n        (click)="userCartActions(isUserLoggedIn)"\n        class="mini-cart__button"\n      >\n        <svg-icon-sprite\n          [class.is-open]="isCartMenuOpened"\n          class="mini-cart__icon"\n          src="shopping_cart_c"\n          height="32"\n          width="32"\n        ></svg-icon-sprite>\n      </button>\n      <div class="mini-cart__info">\n        <app-cart-info></app-cart-info>\n      </div>\n    </div>\n    <app-cart-menu\n      *ngIf="isCartMenuOpened"\n      (clickOutside)="menuCartClose()"\n      [isMenu]="true"\n\n      exclude=".mini-cart"\n      class="mini-cart__menu"\n    >\n      <ng-container *ngIf="(pageId$ | async) !== PAGES_ID.CART" cart-button>\n        <button\n          (click)="closeMenu()"\n          [routerLink]="{ cxRoute: \'cart\' } | cxUrl"\n          class="btn btn-default btn--md mini-cart__cart-button d-flex align-items-center justify-content-center"\n        >\n          {{ \'button.goToCart\' | cxTranslate }}\n        </button>\n      </ng-container>\n    </app-cart-menu>\n  </ng-container>\n\n  <ng-template #anonymous>\n    <button class="mini-cart__button">\n      <div\n        [ngbTooltip]="\'placeholder.registerToMakeOrder\' | cxTranslate"\n        placement="bottom auto"\n        tooltipClass="mini-cart__tooltip"\n      >\n        <svg-icon-sprite\n          [class.is-active]="isCartMenuOpened"\n          (click)="openLoginModal()"\n          src="shopping_cart_c"\n          height="32"\n          width="32"\n          class="mini-cart__icon"\n        ></svg-icon-sprite>\n      </div>\n    </button>\n  </ng-template>\n</div>\n',styles:[dO()]})],Ko);var uO=i(37924),hO=i.n(uO);let Xo=class{constructor(e){this.launchDialogService=e,this.subscription=new X.yU}ngOnInit(){this.subscription.add(this.launchDialogService.data$.subscribe(e=>{e&&(this.title=e.title,this.text=e.text,this.primaryButton=e.primaryButton,this.secondaryButton=e.secondaryButton,this.icon=e.icon)}))}ngOnDestroy(){this.subscription?.unsubscribe()}close(e=null){this.launchDialogService.closeDialog(e&&"close quotation")}static#e=this.ctorParameters=()=>[{type:v.PLe}]};Xo=(0,r.Cg)([(0,n.uAl)({selector:"app-add-quotation-error",template:'<div class="cx-modal-container">\n  <div class="cx-modal-content">\n    <div class="modal-info text-center modal-m">\n      <div class="modal-info__close">\n        <svg-icon-sprite\n          src="close"\n          width="18"\n          height="18"\n          class="modal-info__close-icon"\n          (click)="close()"\n        ></svg-icon-sprite>\n      </div>\n      <div>\n        <svg-icon-sprite [src]="icon" width="32" height="32" class="modal-info__icon"></svg-icon-sprite>\n      </div>\n\n      <div class="modal-info__title">\n        {{ title | cxTranslate }}\n      </div>\n\n      <div class="modal-info__text">\n        {{ text | cxTranslate }}\n      </div>\n      <div class="modal-info__controls">\n        <button class="btn btn--sm btn-secondary" (click)="close(false)">\n          {{ secondaryButton | cxTranslate }}\n        </button><br/>\n        <button class="btn btn--sm btn-default" (click)="close(true)">\n          {{ primaryButton | cxTranslate }}\n        </button>\n      </div>\n    </div>\n\n  </div>\n</div>\n',styles:[hO()]})],Xo);var mO=i(86364),_O=i.n(mO);let Zo=class{constructor(e){this.launchDialogService=e}ngOnInit(){}close(e=!1){this.launchDialogService.closeDialog(e&&"close add to cart")}static#e=this.ctorParameters=()=>[{type:v.PLe}]};Zo=(0,r.Cg)([(0,n.uAl)({selector:"app-add-to-cart",template:'<div class="cx-modal-container">\n  <div class="cx-modal-content">\n    <div class="modal-info text-center modal-m">\n      <div class="modal-info__close">\n        <svg-icon-sprite\n          src="close"\n          width="18"\n          height="18"\n          class="modal-info__close-icon"\n          (click)="close()"\n        ></svg-icon-sprite>\n      </div>\n      <div>\n        <svg-icon-sprite src="check_circle_outline" width="32" height="32" class="modal-info__icon"></svg-icon-sprite>\n      </div>\n\n      <div class="modal-info__title">\n        {{\'text.addToCart.title\' | cxTranslate}}\n      </div>\n\n      <div class="modal-info__text">\n        {{\'text.addToCart.text\' | cxTranslate}}\n      </div>\n      <div class="modal-info__controls">\n        <button class="btn btn--md btn-default" (click)="close(true)" [routerLink]="{ cxRoute: \'cart\' } | cxUrl">\n          {{\'button.proceedToCart\' | cxTranslate}}\n        </button><br/>\n        <button class="btn btn--md btn-secondary" (click)="close()">\n          {{\'button.continueShopping\' | cxTranslate}}\n        </button>\n      </div>\n    </div>\n\n  </div>\n</div>\n\n',styles:[_O()]})],Zo);var xO=i(5808),fO=i.n(xO);let Jo=class{constructor(e){this.launchDialogService=e}ngOnInit(){}close(){this.launchDialogService.closeDialog(null)}static#e=this.ctorParameters=()=>[{type:v.PLe}]};Jo=(0,r.Cg)([(0,n.uAl)({selector:"app-add-to-my-catalog-form-success",template:'<div class="cx-modal-container">\n  <div class="cx-modal-content">\n    <div class="modal-info text-center modal-m">\n      <div class="modal__close">\n        <svg-icon-sprite class="modal__close-icon" (click)="close()" src="close" width="18" height="18"></svg-icon-sprite>\n      </div>\n      <div class="modal-info__icon">\n        <img src="/assets/icons/check_circle_outline.svg" alt="">\n      </div>\n\n      <div class="modal-info__title">{{\'text.addToMyCatalogueForm.success.title\' | cxTranslate}}</div>\n\n      <div class="modal-info__text">\n        <p>{{\'text.addToMyCatalogueForm.success.subtitle\' | cxTranslate}}</p>\n      </div>\n\n      <div class="modal-info__controls">\n        <button (click)="close()" class="btn btn--md btn-default">\n          {{\'button.backToSite\' | cxTranslate}}\n        </button>\n      </div>\n    </div>\n\n  </div>\n</div>\n',styles:[fO()]})],Jo);var bO=i(88060),yO=i.n(bO);let ea=class{constructor(e,t){this.http=e,this.occEndpointsService=t}getAddToMyCatalogFormData(e){const t=this.occEndpointsService.buildUrl(E.CONFIGURATOR.STRIP_ATTRIBUTES,{urlParams:{classificationClass:e}});return this.http.get(t)}submit(e){const t=this.occEndpointsService.buildUrl(E.USER.CATALOG);return this.http.post(t,e)}static#e=this.ctorParameters=()=>[{type:U.Qq},{type:p.zxz}]};ea=(0,r.Cg)([(0,n._qm)()],ea);class Yg extends p._3U{}let Np=class{constructor(e){this.eventService=e}trackAddToCatalogSubmit(e,t,s){this.eventService.register(Yg,(0,$.of)({event:ae.ADD_TO_CATALOG_SUBMIT,item_category:e?.toLowerCase(),item_category2:t,item_category3:s}))}static#e=this.ctorParameters=()=>[{type:p.USV}]};var Up,Mn;Np=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],Np),function(a){a.ENUM="enum",a.STRING="string",a.NUMBER="number"}(Up||(Up={})),function(a){a.WIDTH_STD_CUSTOMER="WIDTH_STD_CUSTOMER",a.THICKNESS_STD_CUSTOMER="THICKNESS_STD_CUSTOMER",a.WEIGHT_MIN_DESIRED="WEIGHT_MIN_DESIRED",a.WEIGHT_MAX_DESIRED="WEIGHT_MAX_DESIRED"}(Mn||(Mn={}));let Os=class{constructor(e,t,s,o,l){this.fb=e,this.addToMyCatalogFormService=t,this.launchDialogService=s,this.globalMessageService=o,this.catalogTrackingService=l,this.subscription=new X.yU,this.destroy$=new R.B,this.FIELDS_ORDER=[new RegExp(/category$/gi),f.steelGrade,f.productStandard,f.thickness,f.thicknessTolerance,f.width,f.widthTolerance,f.coilWeightMin,f.coilWeightMax,f.surfaceQuality],this.FIELD_CODES={CATEGORY:"category",COMMENTS:"comments"},this.FIELD_CODE={[Mn.WIDTH_STD_CUSTOMER]:{units:G.MM},[Mn.THICKNESS_STD_CUSTOMER]:{units:G.MM},[Mn.WEIGHT_MIN_DESIRED]:{units:"tonnes"},[Mn.WEIGHT_MAX_DESIRED]:{units:"tonnes"}},this.addToMyCatalogFormData$=(0,$.of)(null),this.productClassType=null,this.productFeatures=[],this.categoryName=null,this.fieldTypes=Up}ngOnInit(){this.subscription.add(this.launchDialogService.data$.subscribe(e=>{this.product=e?.product})),this.init()}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete(),this.subscription?.unsubscribe()}init(){this.productClassType=this.categoryName||this.product?.classType,this.getProductFeatures(),this.createForm()}getProductFeatures(){const e={code:this.FIELD_CODES.CATEGORY,featureValues:[{value:this.productClassType}]};this.productFeatures=this.categoryName?[e]:this.product?.classifications.map(t=>[...t.features,e]).flat()}createForm(){this.addToMyCatalogForm=this.fb.group({}),this.addToMyCatalogFormData$=this.addToMyCatalogFormService.getAddToMyCatalogFormData(this.productClassType).pipe((0,w.T)(e=>{const t=this.orderFields(e);return[...t.mainFields,...t.restFields].map(s=>{let o=null,l=null;s.code===this.FIELD_CODES.CATEGORY?o=s.values.find(u=>u.code===this.productClassType)?.name||null:this.categoryName||(l=this.productFeatures.find(u=>s.code.match(f.steelGrade)?u.code.match(f.steelGrade):u.code.toLowerCase().endsWith(s.code.toLowerCase())),o=l&&l.featureValues[0]?.value||null),this.addToMyCatalogForm.addControl(s.name,new m.hs(o,m.k0.required))}),this.addToMyCatalogForm.addControl(this.FIELD_CODES.COMMENTS,this.fb.control("")),t}))}orderFields(e){const t=e.reduce((s,o)=>{for(const[l,u]of this.FIELDS_ORDER.entries())if(u.test(o.code))return s.mainFields[l]=o,s;return s.restFields.push(o),s},{mainFields:[],restFields:[]});return t.mainFields=t.mainFields.filter(Boolean),t}close(){this.launchDialogService.closeDialog(null)}onCategoryChange(e){this.categoryName=e.code?e.code:this.categoryName,this.init()}showErrors(e){(e?.error?.errors).forEach(s=>{this.globalMessageService.add(s?.message,p.NCV.MSG_TYPE_ERROR)})}submit(){this.addToMyCatalogForm.invalid?this.addToMyCatalogForm.markAllAsTouched():(this.catalogTrackingService.trackAddToCatalogSubmit(this.product?.productionType,this.addToMyCatalogForm.value.Category,this.addToMyCatalogForm.value["Steel grade"]),this.addToMyCatalogFormService.submit(this.addToMyCatalogForm.value).pipe((0,x.Q)(this.destroy$)).subscribe(()=>{this.launchDialogService.openDialogAndSubscribe("ADD_TO_MY_CATALOG_FORM_SUCCESS",void 0,void 0)},e=>{this.showErrors(e)}))}static#e=this.ctorParameters=()=>[{type:m.ze},{type:ea},{type:v.PLe},{type:p.S8D},{type:Np}]};Os=(0,r.Cg)([(0,n.uAl)({selector:"app-add-to-my-catalog-form",template:'<div class="cx-modal-container">\n  <div class="cx-modal-content">\n    <ng-container *ngIf="addToMyCatalogFormData$ | async as addToMyCatalogFormData; else loading">\n      <div class="modal-catalog">\n        <div class="modal__close">\n          <svg-icon-sprite\n            (click)="close()"\n            src="close"\n            width="18"\n            height="18"\n            class="modal__close-icon"\n          ></svg-icon-sprite>\n        </div>\n\n        <form\n          [formGroup]="addToMyCatalogForm"\n          class="form"\n        >\n          <div class="form__header d-flex align-items-center">\n            <div>\n              <div class="form__title">\n                {{\'text.addToMyCatalogueForm.title\' | cxTranslate}}\n              </div>\n              <div class="form__subtitle">\n                {{\'text.addToMyCatalogueForm.subtitle\' | cxTranslate}}\n              </div>\n            </div>\n          </div>\n\n          <div class="form__body">\n            <ng-container *ngFor="let field of addToMyCatalogFormData.mainFields">\n              <ng-container *ngTemplateOutlet="fieldTmpl; context: {field: field}"></ng-container>\n            </ng-container>\n            <ng-container *ngFor="let field of addToMyCatalogFormData.restFields">\n              <ng-container *ngTemplateOutlet="fieldTmpl; context: {field: field}"></ng-container>\n            </ng-container>\n\n            <ng-template #fieldTmpl let-field="field">\n              <ng-container [ngSwitch]="field.type">\n                <div *ngSwitchCase="fieldTypes.ENUM" class="mb-3">\n                  <app-select-search\n                    [control]="addToMyCatalogForm.get(field.name)"\n                    [items]="field.values"\n                    [placeholder]="field.name"\n\n                    (valueChange)="(field.code === FIELD_CODES.CATEGORY) && onCategoryChange($event)"\n\n                    bindLabel="name"\n                    bindValue="name"\n                  ></app-select-search>\n                </div>\n                <div *ngSwitchCase="fieldTypes.STRING" class="mb-3">\n                  <app-input\n                    [controlData]="addToMyCatalogForm.get(field.name)"\n                    [label]="FIELD_CODE[field.code] ?\n                ( \'text.addToMyCatalogueForm.units\' | cxTranslate: {name: field.name, measure: FIELD_CODE[field.code].units})\n                  : field.name"\n                    [name]="field.name"\n                  ></app-input>\n                </div>\n                <div *ngSwitchCase="fieldTypes.NUMBER" class="mb-3">\n                  <app-input\n                    [controlData]="addToMyCatalogForm.get(field.name)"\n                    [label]="field.name"\n                    [name]="field.name"\n                  ></app-input>\n                </div>\n              </ng-container>\n            </ng-template>\n\n            <label>\n          <textarea\n            formControlName="comments"\n            placeholder="{{\'placeholder.comments\' | cxTranslate}}"\n          ></textarea>\n            </label>\n          </div>\n\n          <div class="form__controls text-right">\n            <button (click)="close()" class="btn btn-secondary btn--md">{{\'button.cancel\' | cxTranslate}}</button>\n            <button (click)="submit()" class="btn btn-default btn--md ml-3">{{\'button.submit\' | cxTranslate}}</button>\n          </div>\n        </form>\n      </div>\n    </ng-container>\n\n\n    <ng-template #loading>\n      <app-loader></app-loader>\n    </ng-template>\n  </div>\n</div>\n\n',styles:[yO()]})],Os);var TO=i(61692),EO=i.n(TO);let ta=class{constructor(e){this.launchDialogService=e,this.subscription=new X.yU,this.title="",this.subTitle="",this.cancelButton="",this.confirmButton="",this.icon="",this.size=vt.S,this.MODAL_SIZE=vt}ngOnInit(){this.subscription.add(this.launchDialogService.data$.subscribe(e=>{e&&(this.title=e.title||"",this.subTitle=e.subTitle||"",this.cancelButton=e.cancelButton||"",this.confirmButton=e.confirmButton||"",this.icon=e.icon||"",this.size=e.size||vt.S)}))}ngOnDestroy(){this.subscription?.unsubscribe()}close(e=!1){this.launchDialogService.closeDialog(e&&"close confirm component")}static#e=this.ctorParameters=()=>[{type:v.PLe}]};ta=(0,r.Cg)([(0,n.uAl)({selector:"app-confirm-modal",template:'<div class="cx-modal-container">\n  <div class="cx-modal-content">\n    <div\n      [ngClass]="{\n     \'modal-s\': size === MODAL_SIZE.S,\n     \'modal-m\': size === MODAL_SIZE.M\n     }"\n      class="modal-info"\n    >\n      <div class="modal__close">\n        <svg-icon-sprite\n          (click)="close(false)"\n          src="close"\n          width="18"\n          height="18"\n          class="modal__close-icon"\n        ></svg-icon-sprite>\n      </div>\n\n      <div class="d-flex justify-content-center">\n        <svg-icon-sprite class="modal-info__top-icon" [src]="icon" width="32" height="32"></svg-icon-sprite>\n      </div>\n\n      <div class="modal-info__title text-center">\n        {{ title }}\n      </div>\n\n      <div class="modal-info__text">\n        <div class="modal-info__text-item text-center">\n          {{ subTitle }}\n        </div>\n      </div>\n\n      <div class="modal-info__controls d-flex justify-content-center">\n        <button *ngIf="cancelButton" class="btn btn--md btn-secondary" (click)="close(false)">\n          {{ cancelButton }}\n        </button>\n        <button class="btn btn--md btn-default" (click)="close(true)">\n          {{ confirmButton }}\n        </button>\n      </div>\n\n\n    </div>\n  </div>\n</div>\n',styles:[EO()]})],ta);var OO=i(82038),AO=i.n(OO);let As=class{constructor(e){this.launchDialogService=e}ngOnInit(){}close(e=!1){this.launchDialogService.closeDialog(e)}static#e=this.ctorParameters=()=>[{type:v.PLe}]};As=(0,r.Cg)([(0,n.uAl)({selector:"app-consent-management-modal",template:'<div class="cx-modal-container">\n  <div class="cx-modal-content">\n    <div class="modal-info text-center modal-m">\n      <div class="modal-info__icon">\n        <svg-icon-sprite src="warning" width="32" height="32"></svg-icon-sprite>\n      </div>\n\n      <div class="modal-info__title">\n        {{ \'text.consentManagementModal.title\' | cxTranslate}}\n      </div>\n\n      <div class="modal-info__controls">\n        <button class="btn btn--md btn-default" (click)="close(true)">\n          {{\'button.keepConsent\' | cxTranslate}}\n        </button><br/>\n        <button class="btn btn--md btn-secondary" (click)="close(false)">\n          {{\'button.removeConsent\' | cxTranslate}}\n        </button>\n      </div>\n    </div>\n\n  </div>\n</div>\n',styles:[AO()]})],As);var wO=i(59760),PO=i.n(wO);let na=class{set setManagers(e){this.managers=e}constructor(e){this.launchDialogService=e,this.subscription=new X.yU,this.PRODUCT_TYPE=Z,this.activeCountry=null,this.activeManagers=null,this.countries=[],this.country=new m.hs,this.managers=null,this.tabs=[]}ngOnInit(){this.init()}init(){this.subscription.add(this.launchDialogService.data$.subscribe(t=>{this.managers=t.managers}));const e=this.prepareCountriesAndSegments(this.managers);this.tabs=e.segments,this.countries=e.countries,this.tabs.length?(this.tabs[0].isActive=!0,this.setActiveManagersBySegment()):this.countries.length||(this.activeManagers=this.managers)}prepareCountriesAndSegments(e){return e?.reduce((t,s,o)=>(s.segment&&t.segments.push({name:s.segment,isActive:!o}),s.country&&t.countries.push(s.country),t),{countries:[],segments:[]})}setActiveManagersBySegment(){const e=this.tabs.find(t=>t.isActive);this.activeManagers=this.managers.filter(t=>e?.name.toLowerCase()===t.segment?.toLowerCase())}setActiveManagersByCountry(e){this.activeCountry=e,this.activeManagers=this.managers.filter(t=>this.activeCountry.name===t.country?.name)}selectTab(e){if(e.isActive)return;const t=this.tabs.find(s=>s.isActive);t&&(t.isActive=!1),e.isActive=!0,this.setActiveManagersBySegment()}close(){this.launchDialogService.closeDialog(null)}ngOnDestroy(){this.subscription?.unsubscribe()}static#e=this.ctorParameters=()=>[{type:v.PLe}];static#t=this.propDecorators={isUserLoggedIn:[{type:n.pde}],setManagers:[{type:n.pde,args:["managers"]}]}};na=(0,r.Cg)([(0,n.uAl)({selector:"app-contact-manager-product",template:'<div class="cx-modal-container">\n  <div class="cx-modal-content">\n    <div class="modal-l contact">\n      <div class="modal__close">\n        <svg-icon-sprite\n          (click)="close()"\n          src="close"\n          width="18"\n          height="18"\n          class="modal__close-icon"\n        ></svg-icon-sprite>\n      </div>\n\n      <ng-container *ngTemplateOutlet="tabs.length && tabsTmpl; context: { tabs: tabs}"></ng-container>\n      <ng-container *ngTemplateOutlet="!tabs.length && countries.length && countriesTmpl; context: { countries: countries}"></ng-container>\n\n      <ng-container *ngTemplateOutlet="managerProfile; context: { activeManagers: activeManagers }"></ng-container>\n    </div>\n\n    <ng-template #tabsTmpl let-tabs="tabs">\n      <div class="contact__tabs d-flex flex-wrap">\n    <span\n      *ngFor="let tab of tabs"\n      (click)="selectTab(tab)"\n      class="contact__tabs-value"\n    >\n      <span [class.contact__active-link]="tab.isActive">\n        {{ tab.name }}\n      </span>\n    </span>\n      </div>\n    </ng-template>\n\n    <ng-template #countriesTmpl let-countries="countries">\n      <div class="contact__country">\n        <app-select-search\n          [control]="country"\n          [items]="countries"\n\n          (valueChange)="setActiveManagersByCountry($event)"\n\n          bindLabel="name"\n          bindValue="isocode"\n          placeholder="{{ \'placeholder.country\' | cxTranslate }}"\n        ></app-select-search>\n      </div>\n    </ng-template>\n\n    <ng-template #managerProfile let-activeManagers="activeManagers">\n      <ng-container *ngIf="activeManagers?.length">\n        <app-contact-manager-profile\n          *ngFor="let activeManager of activeManagers"\n          [isStandAloneModal]="false"\n          [isInside]="true"\n          [manager]="activeManager"\n        ></app-contact-manager-profile>\n      </ng-container>\n    </ng-template>\n\n  </div>\n</div>\n\n',styles:[PO()]})],na);var LO=i(13324),kO=i.n(LO);let sa=class{constructor(e){this.launchDialogService=e,this.isStandAloneModal=!0,this.subscription=new X.yU}ngOnInit(){this.subscription.add(this.launchDialogService.data$.subscribe(e=>{e.manager&&(this.manager=e.manager)}))}ngOnDestroy(){this.subscription?.unsubscribe()}static#e=this.ctorParameters=()=>[{type:v.PLe}];static#t=this.propDecorators={isInside:[{type:n.pde}],isStandAloneModal:[{type:n.pde}],manager:[{type:n.pde}]}};sa=(0,r.Cg)([(0,n.uAl)({selector:"app-contact-manager-profile",template:'<div [ngClass]="{ \'cx-modal-container\': isStandAloneModal}" >\n  <div [ngClass]="{ \'cx-modal-content\': isStandAloneModal}">\n    <div\n      [ngClass]="isInside && \'is-inside\'"\n      class="contact-profile d-flex flex-column align-items-center"\n    >\n      <div class="icon__background-first">\n        <ng-container *ngTemplateOutlet="manager.photo ? managerPhoto : managerThumb"></ng-container>\n        <ng-template #managerPhoto>\n          <img\n            [src]="manager.photo | getMedia"\n            [alt]="manager.title?.name"\n            class="contact-profile__photo"\n          >\n        </ng-template>\n        <ng-template #managerThumb>\n          <div class="icon__background-second">\n            <svg-icon-sprite\n              src="account_circle"\n              width="64"\n              height="64"\n              class="icon"\n            ></svg-icon-sprite>\n          </div>\n        </ng-template>\n      </div>\n      <div class="contact-profile__name">\n        \x3c!-- || because of new diff in new realization and old API --\x3e\n        {{ manager.title?.name }} {{ manager.name || manager.fullName }}\n      </div>\n\n      <span class="contact-profile__role">{{ manager.position }}</span>\n\n      <a\n        *ngIf="manager.mobile"\n        [href]="\'tel:\' + manager.mobile"\n        class="contact-profile__link"\n      >\n        <svg-icon-sprite\n          src="phone_iphone"\n          width="18"\n          height="18"\n          class="contact-profile__link-icon"\n        ></svg-icon-sprite>\n        {{ manager.mobile }}\n      </a>\n      <a\n        *ngIf="manager.phoneNumber"\n        [href]="\'tel:\' + manager.phoneNumber"\n        class="contact-profile__link"\n      >\n        <svg-icon-sprite\n          src="call"\n          width="18"\n          height="18"\n          class="contact-profile__link-icon"\n        ></svg-icon-sprite>\n        {{ manager.phoneNumber }}\n      </a>\n      <a\n        *ngIf="manager.email"\n        [href]="\'mailto:\' + manager.email"\n        class="contact-profile__link"\n      >\n        <svg-icon-sprite\n          src="mail_outline"\n          width="18"\n          height="18"\n          class="contact-profile__link-icon"\n        ></svg-icon-sprite>\n        {{ manager.email }}\n      </a>\n    </div>\n\n  </div>\n</div>\n',styles:[kO()]})],sa);var MO=i(22320),NO=i.n(MO);let $p=class{constructor(e){this.launchDialogService=e,this.PRODUCT_TYPE=Z,this.activeManagers=null,this.subscription=new X.yU}ngOnInit(){this.subscription.add(this.launchDialogService.data$.subscribe(e=>{this.managers=e.managers,e.activeMangers&&(this.activeManagers=e.activeMangers)}))}close(){this.launchDialogService.closeDialog(""),this.subscription?.unsubscribe()}showManagers(e){this.activeManagers=this.managers.filter(t=>t.productionType.toLowerCase()===e.toLowerCase())}static#e=this.ctorParameters=()=>[{type:v.PLe}];static#t=this.propDecorators={managers:[{type:n.pde}]}};$p=(0,r.Cg)([(0,n.uAl)({selector:"app-contact-manager-segment",template:'<div\n  *ngIf="!activeManagers?.length; else managerCardsListTmpl"\n  class="modal-segments text-center"\n>\n  <div class="modal__close" ngbAutofocus>\n    <svg-icon-sprite\n      (click)="close()"\n      src="close"\n      width="18"\n      height="18"\n      class="modal__close-icon"\n    ></svg-icon-sprite>\n  </div>\n\n  <div class="modal-segments-title">{{ \'modals.contactManagerSegment.title\' | cxTranslate }}</div>\n\n  <div class="modal-segments__buttons">\n    <button\n      (click)="showManagers(PRODUCT_TYPE.STRIP)"\n      class="modal-segments__buttons-button btn btn--md btn-secondary"\n    >\n      {{ \'buttons.strip\' | cxTranslate }}\n    </button>\n    <button\n      (click)="showManagers(PRODUCT_TYPE.PLATE)"\n      class="modal-segments__buttons-button btn btn--md btn-secondary"\n    >\n      {{ \'buttons.plate\' | cxTranslate }}\n    </button>\n  </div>\n</div>\n\n<ng-template #managerCardsListTmpl>\n  <ng-container *ngFor="let activeManager of activeManagers">\n    <div class="p-relative">\n      <div class="modal__close">\n        <svg-icon-sprite\n          (click)="close()"\n          class="modal__close-icon"\n          src="close"\n          width="18"\n          height="18"\n        ></svg-icon-sprite>\n      </div>\n      <app-contact-manager-profile\n        [isInside]="false"\n        [isStandAloneModal]="false"\n        [manager]="activeManager"\n      ></app-contact-manager-profile>\n    </div>\n  </ng-container>\n</ng-template>\n\n',styles:[NO()]})],$p);var $O=i(33220),BO=i.n($O);let Is=class{constructor(e){this.launchDialogService=e}ngOnInit(){}close(e){this.launchDialogService.closeDialog(e&&"close modal")}static#e=this.ctorParameters=()=>[{type:v.PLe}]};Is=(0,r.Cg)([(0,n.uAl)({selector:"app-deactivate-user",template:'<div class="cx-modal-container">\n  <div class="cx-modal-content">\n    <div class="modal-info text-center modal-m">\n      <div class="modal-info__close">\n        <svg-icon-sprite\n          src="close"\n          width="18"\n          height="18"\n          class="modal-info__close-icon"\n          (click)="close(false)"\n        ></svg-icon-sprite>\n      </div>\n      <div>\n        <svg-icon-sprite src="user_disable" width="32" height="32" class="modal-info__icon"></svg-icon-sprite>\n      </div>\n\n      <div class="modal-info__title">\n        {{\'deactivate.modalTitle\' | cxTranslate}}\n      </div>\n\n      <div class="modal-info__text">\n        {{\'deactivate.modalText\' | cxTranslate}}\n      </div>\n      <div class="modal-info__controls">\n        <button class="btn btn--sm btn-secondary" (click)="close(false)">\n          {{\'button.cancel\' | cxTranslate}}\n        </button>\n        <button class="btn btn--sm btn-default" (click)="close(true)">\n          {{\'button.confirm\' | cxTranslate}}\n        </button>\n      </div>\n    </div>\n  </div>\n</div>\n\n',styles:[BO()]})],Is);var GO=i(29080),zO=i.n(GO);let ia=class{};ia=(0,r.Cg)([(0,n.uAl)({selector:"app-delivery-new-report",template:"<app-report-base\n  reportTitle=\"{{ 'report.modal.deliveryTitle' | cxTranslate }}\"\n  reportSubTitle=\"{{ 'report.modal.subtitle' | cxTranslate }}\"\n></app-report-base>\n",styles:[zO()]})],ia);var QO=i(33414),qO=i.n(QO);let ra=class{constructor(e){this.launchDialogService=e,this.isSelectedOpen=!1,this.UNITS=G,this.subscription=new X.yU}ngOnInit(){this.subscription.add(this.launchDialogService.data$.subscribe(e=>{this.total=e.total,this.coils=e.coils,this.unit=e.unit}))}close(e=!1){this.launchDialogService.closeDialog(e&&"close delivery request")}toggle(){this.isSelectedOpen=!this.isSelectedOpen}ngOnDestroy(){this.subscription?.unsubscribe()}static#e=this.ctorParameters=()=>[{type:v.PLe}]};ra=(0,r.Cg)([(0,n.uAl)({selector:"app-delivery-request",template:'<div class="cx-modal-container">\n  <div class="cx-modal-content">\n    <div class="modal-delivery text-center">\n      <div class="modal__close">\n        <svg-icon-sprite\n          class="modal__close-icon"\n          (click)="close(false)"\n          src="close"\n          width="18"\n          height="18"\n        ></svg-icon-sprite>\n      </div>\n      <div class="modal-delivery__title">{{ \'orders.ordersActive.orderItemProduct.modal.wouldYouLike\' | cxTranslate }}</div>\n      <div class="modal-delivery__controls">\n        <button class="btn btn--md btn-secondary" (click)="close(false)">\n          {{ \'button.no\' | cxTranslate }}\n        </button>\n        <button class="btn btn--md btn-default" (click)="close(true)">\n          {{ \'button.yes\' | cxTranslate }}\n        </button>\n      </div>\n      <div class="modal-delivery__selected">\n        <div\n          class="d-flex justify-content-between position-relative modal-delivery__selected-header"\n          [class.modal-delivery__selected-header--is-open]="isSelectedOpen"\n        >\n          <div class="row w-100">\n            <div class="d-flex col-12">\n              <div class="d-flex align-items-center col-6 p-0">\n                <svg-icon-sprite\n                  src="check_box"\n                  width="16"\n                  height="16"\n                  class="modal-delivery__selected-icon"\n                ></svg-icon-sprite>\n                {{ \'orders.ordersActive.orderItemProduct.selectedForDelivery\' | cxTranslate }}:\n              </div>\n              <div\n                class="\n              d-flex\n              align-items-center\n              col-6\n              modal-delivery__selected-value modal-delivery__selected-value--weight\n            "\n              >\n                <svg-icon-sprite\n                  class="modal-delivery__selected-value--icon"\n                  src="weight_volume"\n                  width="16"\n                  height="16"\n                ></svg-icon-sprite>\n                {{ unit === UNITS.PIECES ? total : (total | massConversion) }}\n                {{ unit | units }}\n              </div>\n            </div>\n            <button class="modal-delivery__selected-button" (click)="toggle()">\n              <svg-icon-sprite\n                [src]="isSelectedOpen ? \'expand_less\' : \'expand_more\'"\n                class="modal-delivery__selected-button--icon"\n                [class.modal-delivery__selected-button--is-open]="isSelectedOpen"\n                width="16"\n                height="16"\n              ></svg-icon-sprite>\n            </button>\n          </div>\n        </div>\n        <ng-container *ngFor="let coil of coils">\n          <div class="modal-delivery__selected-coil" *ngIf="isSelectedOpen">\n            <div class="row w-100">\n              <div class="d-flex col-12">\n                <div class="d-flex align-items-center col-6 p-0">\n                  <ng-template #tooltipContent>\n                    <div>\n                      {{ \'orders.ordersActive.orderItemProduct.modal.steelGrade\' | cxTranslate }} {{ coil.steelGrade }}\n                    </div>\n                    <div>\n                      {{ \'orders.ordersActive.orderItemProduct.modal.orderEntryNumber\' | cxTranslate }}\n                      {{ coil.entryNumber }}\n                    </div>\n                  </ng-template>\n                  <div [ngbTooltip]="tooltipContent" tooltipClass="tooltip--coils" class="modal-delivery__selected-icon">\n                    <svg-icon-sprite src="help_outline" width="16" height="16"></svg-icon-sprite>\n                  </div>\n                  {{ \'orders.ordersActive.orderItemProduct.batchId\' | cxTranslate }}\n                  <span class="modal-delivery__selected-value">{{ coil.id }}</span>\n                </div>\n                <div\n                  class="\n                d-flex\n                align-items-center\n                col-6\n                modal-delivery__selected-value modal-delivery__selected-value--weight\n              "\n                >\n                  <svg-icon-sprite\n                    class="modal-delivery__selected-value--icon"\n                    src="weight_volume"\n                    width="16"\n                    height="16"\n                  ></svg-icon-sprite>\n                  {{ unit === UNITS.PIECES ? coil.quantity : (coil.quantity | massConversion) }}\n                  {{ unit | units }}\n                </div>\n              </div>\n            </div>\n          </div>\n        </ng-container>\n      </div>\n    </div>\n  </div>\n</div>\n',styles:[qO()]})],ra);var jO=i(91804),WO=i.n(jO);let ws=class{constructor(e){this.launchDialogService=e}ngOnInit(){}close(){this.launchDialogService.closeDialog(null)}static#e=this.ctorParameters=()=>[{type:v.PLe}]};ws=(0,r.Cg)([(0,n.uAl)({selector:"app-forgot-password-email-success",template:'<div class="cx-modal-container">\n  <div class="cx-modal-content">\n    <div class="info-modal text-center modal-s">\n      <div class="modal__close">\n        <svg-icon-sprite class="modal__close-icon" (click)="close()" src="close" width="18" height="18"></svg-icon-sprite>\n      </div>\n      <div class="info-modal__icon">\n        <img src="/assets/icons/check_circle_outline.svg" alt="">\n      </div>\n\n      <div class="info-modal__title">{{\'text.forgotPasswordEmailSuccess.title\' | cxTranslate}}</div>\n      <div class="info-modal__text">\n        <div class="info-modal__text-item">{{\'text.forgotPasswordEmailSuccess.text\' | cxTranslate}}</div>\n      </div>\n    </div>\n  </div>\n</div>\n',styles:[WO()]})],ws);var XO=i(24370),ZO=i.n(XO);let oa=class{};oa=(0,r.Cg)([(0,n.uAl)({selector:"app-order-new-report",template:"<app-report-base\n  reportTitle=\"{{ 'report.modal.orderTitle' | cxTranslate }}\"\n  reportSubTitle=\"{{ 'report.modal.subtitle' | cxTranslate }}\"\n></app-report-base>\n",styles:[ZO()]})],oa);var eA=i(74132),tA=i.n(eA);let aa=class{constructor(e){this.launchDialogService=e}ngOnInit(){}close(){this.launchDialogService.closeDialog(null)}static#e=this.ctorParameters=()=>[{type:v.PLe}]};aa=(0,r.Cg)([(0,n.uAl)({selector:"app-registration-success-trading",template:'<div class="cx-modal-container">\n  <div class="cx-modal-content">\n    <div class="modal-info text-center modal-m">\n      <div class="modal__close">\n        <svg-icon-sprite class="modal__close-icon" (click)="close()" src="close" width="18" height="18"></svg-icon-sprite>\n      </div>\n      <div class="modal-info__icon">\n        <img src="/assets/icons/check_circle_outline.svg" alt="">\n      </div>\n\n      <div class="modal-info__title">{{\'text.registrationSuccess.title\' | cxTranslate}}</div>\n\n      <div class="modal-info__text">\n        {{\'text.registrationSuccess.textTrading\' | cxTranslate}}\n      </div>\n\n      <div class="modal-info__controls">\n        <button (click)="close()" class="btn btn--md btn-default modal-info__controls-button">\n          {{\'button.backToSite\' | cxTranslate}}\n        </button>\n      </div>\n    </div>\n  </div>\n</div>\n',styles:[tA()]})],aa);var sA=i(81780),iA=i.n(sA);let Ps=class{constructor(e){this.launchDialogService=e,this.subscription=new X.yU,this.isPassword=!1}ngOnInit(){this.subscription.add(this.launchDialogService.data$.subscribe(e=>{e&&(this.isPassword=e.isPassword)}))}ngOnDestroy(){this.subscription?.unsubscribe()}close(e=!1){if(this.isPassword&&e){this.launchDialogService.openDialogAndSubscribe("AUTH_MODAL",void 0,{type:Pe.LOGIN})}else this.launchDialogService.closeDialog(e?"close registration":null)}static#e=this.ctorParameters=()=>[{type:v.PLe}]};Ps=(0,r.Cg)([(0,n.uAl)({selector:"app-registration-success",template:'<div class="cx-modal-container">\n  <div class="cx-modal-content">\n    <div class="modal-info text-center modal-m">\n      <div class="modal__close">\n        <svg-icon-sprite class="modal__close-icon" (click)="close()" src="close" width="18" height="18"></svg-icon-sprite>\n      </div>\n      <div class="modal-info__icon">\n        <img src="/assets/icons/check_circle_outline.svg" alt="">\n      </div>\n\n      <div class="modal-info__title">{{ ( isPassword ? \'text.registrationSuccess.passwordCreated\' : \'text.registrationSuccess.title\' ) | cxTranslate}}</div>\n\n      <div class="modal-info__text" *ngIf="!isPassword">\n        <p>{{\'text.registrationSuccess.text1\' | cxTranslate}}</p>\n        <p>{{\'text.registrationSuccess.text2\' | cxTranslate}}</p>\n      </div>\n\n      <div class="modal-info__controls">\n        <button (click)="close(true)" class="btn btn--md btn-default">\n          {{ ( isPassword ? \'registrationModal.login\' :\'button.backToSite\' ) | cxTranslate}}\n        </button>\n      </div>\n    </div>\n\n  </div>\n</div>\n',styles:[iA()]})],Ps);var oA=i(15700),aA=i.n(oA);let Bp=class{constructor(e){this.launchDialogService=e,this.reportTitle="",this.reportSubTitle="",this.subscription=new X.yU}ngOnInit(){this.subscription.add(this.launchDialogService.data$.subscribe(e=>{this.reportTitle=e.reportTitle,this.reportSubTitle=e.reportSubTitle}))}close(e=!1){this.launchDialogService.closeDialog(e)}ngOnDestroy(){this.subscription?.unsubscribe()}static#e=this.ctorParameters=()=>[{type:v.PLe}];static#t=this.propDecorators={reportTitle:[{type:n.pde}],reportSubTitle:[{type:n.pde}]}};Bp=(0,r.Cg)([(0,n.uAl)({selector:"app-report-base",template:'<div class="cx-modal-container">\n  <div class="cx-modal-content">\n    <div class="modal-info modal-s">\n      <div class="modal__close">\n        <svg-icon-sprite\n          (click)="close(false)"\n          src="close"\n          width="18"\n          height="18"\n          class="modal__close-icon"\n        ></svg-icon-sprite>\n      </div>\n      <div class="modal-info__title">\n        {{ reportTitle }}\n      </div>\n\n      <div class="modal-info__text">\n        <div class="modal-info__text-item">\n          {{ reportSubTitle }}\n        </div>\n      </div>\n      <div class="modal-info__controls text-right">\n        <button class="btn btn--md btn-secondary" (click)="close(false)">\n          {{ \'report.modal.cancel\' | cxTranslate }}\n        </button>\n        <button class="btn btn--md btn-default" (click)="close(true)">\n          {{ \'report.modal.create\' | cxTranslate }}\n        </button>\n      </div>\n    </div>\n\n  </div>\n</div>\n',styles:[aA()]})],Bp);var lA=i(48644),dA=i.n(lA);let ca=class{constructor(e){this.launchDialogService=e,this.subscription=new X.yU,this.title="",this.subTitle="",this.confirmButton="",this.cancelButton="",this.cancelReason=""}ngOnInit(){this.subscription.add(this.launchDialogService.data$.subscribe(e=>{this.title=e.title||"",this.subTitle=e.subTitle||"",this.confirmButton=e.confirmButton||"",this.cancelButton=e.cancelButton||"",this.cancelReason=e.cancelReason||""}))}close(e=!1){this.launchDialogService.closeDialog(e)}ngOnDestroy(){this.subscription?.unsubscribe()}static#e=this.ctorParameters=()=>[{type:v.PLe}];static#t=this.propDecorators={title:[{type:n.pde}],subTitle:[{type:n.pde}],confirmButton:[{type:n.pde}],cancelButton:[{type:n.pde}],cancelReason:[{type:n.pde}]}};ca=(0,r.Cg)([(0,n.uAl)({selector:"app-success-modal",template:'<div class="cx-modal-container">\n  <div class="cx-modal-content">\n    <div class="modal-info modal-s">\n      <div class="modal__close">\n        <svg-icon-sprite\n          (click)="close(false)"\n          src="close"\n          width="18"\n          height="18"\n          class="modal__close-icon"\n        ></svg-icon-sprite>\n      </div>\n\n      <div class="d-flex justify-content-center">\n        <svg-icon-sprite class="modal-info__top-icon" src="check_circle_outline" width="32" height="32"></svg-icon-sprite>\n      </div>\n\n      <div class="modal-info__title text-center">\n        {{ title }}\n      </div>\n\n      <div class="modal-info__text">\n        <div class="modal-info__text-item text-center">\n          {{ subTitle }}\n        </div>\n      </div>\n\n      <div class="modal-info__controls d-flex justify-content-center" [class.flex-column]="cancelButton">\n        <button *ngIf="cancelButton" class="btn btn--md btn-secondary w-100" [ngStyle]="{ marginBottom: \'20px\' }"\n                (click)="close(cancelReason)">\n          {{ cancelButton }}\n        </button>\n\n        <button class="btn btn--md btn-default" [class.w-100]="cancelButton" (click)="close(true)">\n          {{ confirmButton }}\n        </button>\n      </div>\n    </div>\n\n  </div>\n</div>\n',styles:[dA()]})],ca);var uA=i(6068),hA=i.n(uA);let la=class{constructor(e){this.launchDialogService=e}ngOnInit(){}close(){this.launchDialogService.closeDialog(null)}static#e=this.ctorParameters=()=>[{type:v.PLe}]};la=(0,r.Cg)([(0,n.uAl)({selector:"app-support-request-created",template:'<div class="cx-modal-container">\n  <div class="cx-modal-content">\n    <div class="modal-info text-center modal-m">\n      <div class="modal__close">\n        <svg-icon-sprite class="modal__close-icon" (click)="close()" src="close" width="18" height="18"></svg-icon-sprite>\n      </div>\n      <div class="modal-info__icon">\n        <img src="/assets/icons/check_circle_outline.svg" alt="">\n      </div>\n\n      <div class="modal-info__title">{{ \'supportRequest.modal.title\' | cxTranslate }}</div>\n\n      <div class="modal-info__text">\n        {{ \'supportRequest.modal.subtitle1\' | cxTranslate }}<br>\n        {{ \'supportRequest.modal.subtitle2\' | cxTranslate }}\n      </div>\n\n      <div class="modal-info__controls">\n        <button (click)="close()" class="btn btn--md btn-default">\n          {{ \'supportRequest.modal.ok\' | cxTranslate }}\n        </button>\n      </div>\n    </div>\n\n  </div>\n</div>\n',styles:[hA()]})],la);var Nn,mA=i(65076),_A=i.n(mA);!function(a){a.SUCCESS="success",a.WARNING="warning"}(Nn||(Nn={}));let da=class{constructor(e){this.launchDialogService=e,this.subscription=new X.yU,this.title="",this.text="",this.icon="check_circle_outline",this.type=Nn.SUCCESS,this.buttonText="",this.isSmallFormat=!1,this.largeButton=!1}ngOnInit(){this.subscription.add(this.launchDialogService.data$.subscribe(e=>{this.title=e.title||"",this.text=e.text||"",this.buttonText=e.buttonText||"",this.isSmallFormat=!!e.isSmallFormat&&e.isSmallFormat}))}close(){this.launchDialogService.closeDialog(null)}ngOnDestroy(){this.subscription?.unsubscribe()}static#e=this.ctorParameters=()=>[{type:v.PLe}]};da=(0,r.Cg)([(0,n.uAl)({selector:"app-thank-you-modal",template:'<div class="cx-modal-container">\n  <div class="cx-modal-content">\n    <div\n      class="modal-info text-center modal-m modal-info--{{type}}" >\n\n      <div class="modal__close">\n        <svg-icon-sprite class="modal__close-icon" (click)="close()" src="close" width="18" height="18"></svg-icon-sprite>\n      </div>\n\n      <div class="modal-info__icon">\n        <svg-icon-sprite [src]="icon" width="32" height="32"></svg-icon-sprite>\n      </div>\n\n      <div class="modal-info__title" [class.modal-info__title--small]="isSmallFormat">{{title}}</div>\n\n      <div class="modal-info__text" [class.modal-info__text--small]="isSmallFormat">\n        {{text}}\n      </div>\n\n      <div class="modal-info__buttons" [class.modal-info__buttons-large]="largeButton" *ngIf="buttonText">\n        <button\n          (click)="close()"\n          class="btn btn-default btn-sm"\n          [class.modal-info__buttons--small]="isSmallFormat"\n        >\n          {{ buttonText }}\n        </button>\n      </div>\n    </div>\n\n  </div>\n</div>\n',styles:[_A()]})],da);var xA=i(6664),fA=i.n(xA);class pa{static passwordStrength(e){const t=e.value,s=new RegExp("^"+Cg+bg+yg+Sg);return!t.length||t?.match(s)?null:{passwordStrength:!0}}static newIsNotOld(e,t){return o=>{const l=o.controls[e],u=o.controls[t];u.setErrors(l.value===u.value?{newIsNotOld:!0}:null)}}}let Ds=class{constructor(e,t,s,o,l,u){this.fb=e,this.launchDialogService=t,this.userPasswordService=s,this.globalMessageService=o,this.authService=l,this.router=u,this.destroyed$=new R.B}ngOnInit(){this.forgotPasswordForm=this.fb.group({oldPassword:["",[m.k0.required]],newPassword:["",[m.k0.required,m.k0.minLength(6),m.k0.maxLength(20),pa.passwordStrength]],newPasswordConfirm:["",[m.k0.required]]},{validators:m.k0.compose([v.zEP.passwordsMustMatch("newPassword","newPasswordConfirm"),pa.newIsNotOld("oldPassword","newPassword")])})}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}onSuccess(e){e&&(this.globalMessageService.add({key:"updatePasswordForm.passwordUpdateSuccess"},p.NCV.MSG_TYPE_CONFIRMATION),this.router.navigate(["/"]).then(()=>{this.authService.coreLogout();this.launchDialogService.openDialogAndSubscribe("AUTH_MODAL",void 0,{type:Pe.LOGIN})}))}submit(){this.forgotPasswordForm.valid?this.userPasswordService.update(this.forgotPasswordForm.value.oldPassword,this.forgotPasswordForm.value.newPassword).pipe((0,x.Q)(this.destroyed$)).subscribe(e=>this.onSuccess(e)):this.forgotPasswordForm.markAllAsTouched()}closeModal(){this.launchDialogService.closeDialog("close update password")}static#e=this.ctorParameters=()=>[{type:m.ze},{type:v.PLe},{type:un.Dt},{type:p.S8D},{type:p.uRZ},{type:y.Ix}]};Ds=(0,r.Cg)([(0,n.uAl)({selector:"app-update-password",template:'<form class="modal-m"\n  [formGroup]="forgotPasswordForm"\n  (ngSubmit)="submit()"\n>\n  <div class="modal__close">\n    <svg-icon-sprite class="modal__close-icon" (click)="closeModal()" src="close" width="18" height="18"></svg-icon-sprite>\n  </div>\n  <div class="form-group">\n    <app-input\n      [controlData]="forgotPasswordForm.get(\'oldPassword\')"\n      [label]="\'updatePasswordForm.oldPassword.placeholder\' | cxTranslate"\n      type="password"\n      name="email"\n    ></app-input>\n  </div>\n\n  <div class="form-group">\n    <app-input\n      [controlData]="forgotPasswordForm.get(\'newPassword\')"\n      [label]="\'updatePasswordForm.newPassword.placeholder\' | cxTranslate"\n      [showPasswordStrengthInfo]="true"\n      type="password"\n      name="email"\n    ></app-input>\n  </div>\n\n  <div class="form-group">\n    <app-input\n      [controlData]="forgotPasswordForm.get(\'newPasswordConfirm\')"\n      [label]="\'updatePasswordForm.confirmPassword.placeholder\' | cxTranslate"\n      type="password"\n      name="email"\n    ></app-input>\n  </div>\n\n  <div class="controls d-flex align-content-center justify-content-end">\n    <button (click)="closeModal()" type="button" class="btn btn--md btn-secondary">\n      {{ \'common.cancel\' | cxTranslate }}\n    </button>\n    <button type="submit" class="btn btn--md btn-default">\n      {{ \'common.save\' | cxTranslate }}\n    </button>\n  </div>\n</form>\n',styles:[fA()]})],Ds);var bA=i(61925),yA=i.n(bA);let ua=class{constructor(e){this.launchDialogService=e,this.name="",this.surname="",this.subscription=new X.yU}ngOnInit(){this.subscription.add(this.launchDialogService.data$.subscribe(e=>{this.name=e.name||"",this.surname=e.surname||""}))}close(e){this.launchDialogService.closeDialog(e&&"users modal close")}ngOnDestroy(){this.subscription?.unsubscribe()}static#e=this.ctorParameters=()=>[{type:v.PLe}]};ua=(0,r.Cg)([(0,n.uAl)({selector:"app-users-modal-create",template:'<div class="cx-modal-container">\n  <div class="cx-modal-content">\n    <div class="modal-info text-center modal-m">\n      <div class="modal-info__close">\n        <svg-icon-sprite\n          src="close"\n          width="18"\n          height="18"\n          class="modal-info__close-icon"\n          (click)="close(false)"\n        ></svg-icon-sprite>\n      </div>\n      <div>\n        <svg-icon-sprite src="person_add" width="32" height="32" class="modal-info__icon"></svg-icon-sprite>\n      </div>\n\n      <div class="modal-info__title">\n        {{ \'text.createUserModal.title\' | cxTranslate }}\n      </div>\n\n      <div class="modal-info__text">\n        {{ \'text.createUserModal.text1\' | cxTranslate }}\n        <br>\n        {{name}} {{surname}}\n        <br>\n        {{ \'text.createUserModal.text2\' | cxTranslate }}\n      </div>\n      <div class="modal-info__controls">\n        <button class="btn btn--sm btn-secondary" (click)="close(false)">\n          {{ \'button.reject\' | cxTranslate }}\n        </button>\n        <button class="btn btn--sm btn-default" (click)="close(true)">\n          {{ \'button.confirm\' | cxTranslate }}\n        </button>\n      </div>\n    </div>\n\n  </div>\n</div>\n\n',styles:[yA()]})],ua);var TA=i(7777),EA=i.n(TA);let ha=class{constructor(e){this.launchDialogService=e,this.email="",this.subscription=new X.yU}ngOnInit(){this.subscription.add(this.launchDialogService.data$.subscribe(e=>{this.email=e.email||""}))}close(e){this.launchDialogService.closeDialog(e&&"users modal close")}ngOnDestroy(){this.subscription?.unsubscribe()}static#e=this.ctorParameters=()=>[{type:v.PLe}]};ha=(0,r.Cg)([(0,n.uAl)({selector:"app-users-modal-disable",template:'<div class="cx-modal-container">\n  <div class="cx-modal-content">\n    <div class="modal-info text-center modal-m">\n      <div class="modal-info__close">\n        <svg-icon-sprite\n          src="close"\n          width="18"\n          height="18"\n          class="modal-info__close-icon"\n          (click)="close(false)"\n        ></svg-icon-sprite>\n      </div>\n      <div>\n        <svg-icon-sprite src="user_disable" width="32" height="32" class="modal-info__icon"></svg-icon-sprite>\n      </div>\n\n      <div class="modal-info__title">\n        {{ \'text.userDisableModal.title\' | cxTranslate }}\n      </div>\n\n      <div class="modal-info__text">\n        {{ \'text.userDisableModal.text1\' | cxTranslate }}\n        <br>\n        {{email}}\n        <br>\n        {{ \'text.userDisableModal.text2\' | cxTranslate }} </div>\n      <div class="modal-info__controls">\n        <button class="btn btn--sm btn-secondary" (click)="close(false)">\n          {{ \'button.cancel\' | cxTranslate }}\n        </button>\n        <button class="btn btn--sm btn-default" (click)="close(true)">\n          {{ \'button.disabled\' | cxTranslate }}\n        </button>\n      </div>\n    </div>\n\n  </div>\n</div>\n\n',styles:[EA()]})],ha);var OA=i(89187),AA=i.n(OA);let ga=class{constructor(e){this.launchDialogService=e}close(e){this.launchDialogService.closeDialog(e&&"close users modal enable")}static#e=this.ctorParameters=()=>[{type:v.PLe}]};ga=(0,r.Cg)([(0,n.uAl)({selector:"app-users-modal-enable",template:'<div class="cx-modal-container">\n  <div class="cx-modal-content">\n    <div class="modal-info text-center modal-m">\n      <div class="modal-info__close">\n        <svg-icon-sprite\n          src="close"\n          width="18"\n          height="18"\n          class="modal-info__close-icon"\n          (click)="close(false)"\n        ></svg-icon-sprite>\n      </div>\n      <div>\n        <svg-icon-sprite src="how_to_reg" width="32" height="32" class="modal-info__icon"></svg-icon-sprite>\n      </div>\n\n      <div class="modal-info__title">\n        {{ \'text.userEnableModal.title\' | cxTranslate }}\n\n      </div>\n\n      <div class="modal-info__text">\n        {{ \'text.userEnableModal.text\' | cxTranslate }}\n      </div>\n      <div class="modal-info__controls">\n        <button class="btn btn--sm btn-secondary" (click)="close(false)">\n          {{ \'button.cancel\' | cxTranslate }}\n        </button>\n        <button class="btn btn--sm btn-default" (click)="close(true)">\n          {{ \'button.confirm\' | cxTranslate }}\n        </button>\n      </div>\n    </div>\n  </div>\n</div>\n\n',styles:[AA()]})],ga);var wA=i(68779),PA=i.n(wA);let ma=class{constructor(e){this.launchDialogService=e}close(){this.launchDialogService.closeDialog(null)}static#e=this.ctorParameters=()=>[{type:v.PLe}]};ma=(0,r.Cg)([(0,n.uAl)({selector:"app-users-modal-password-reset",template:'<div class="cx-modal-container">\n  <div class="cx-modal-content">\n    <div class="modal-info text-center modal-m">\n      <div class="modal-info__close">\n        <svg-icon-sprite\n          src="close"\n          width="18"\n          height="18"\n          class="modal-info__close-icon"\n          (click)="close()"\n        ></svg-icon-sprite>\n      </div>\n      <div>\n        <svg-icon-sprite src="no_encryption" width="32" height="32" class="modal-info__icon"></svg-icon-sprite>\n      </div>\n\n      <div class="modal-info__title">\n        {{ \'text.resetPassword.title\' | cxTranslate }}\n      </div>\n\n      <div class="modal-info__text">\n        {{ \'text.resetPassword.text\' | cxTranslate }}\n      </div>\n      <div class="modal-info__controls d-flex justify-content-center align-items-center">\n        <button class="btn btn--sm btn-secondary" (click)="close()">\n          {{ \'button.backToSite\' | cxTranslate }}\n        </button>\n      </div>\n    </div>\n\n\n  </div>\n</div>\n',styles:[PA()]})],ma);var LA=i(72064),kA=i.n(LA);let _a=class{constructor(e){this.launchDialogService=e,this.subscription=new X.yU,this.title="text.noSalesData.title",this.text="",this.primaryButton="common.back",this.icon="error_outline",this.iconButton="arrow_back",this.originalMessage=!1}ngOnInit(){this.subscription.add(this.launchDialogService.data$.subscribe(e=>{e&&(this.title=e.title?e.title:"text.noSalesData.title",this.text=e.text?e.text:"",this.primaryButton=e.primaryButton?e.primaryButton:"common.back",this.icon=e.icon?e.icon:"error_outline",this.iconButton=e.iconButton?e.iconButton:"arrow_back")}))}close(e=!1){this.launchDialogService.closeDialog(e&&"close warning modal")}ngOnDestroy(){this.subscription?.unsubscribe()}static#e=this.ctorParameters=()=>[{type:v.PLe}]};_a=(0,r.Cg)([(0,n.uAl)({selector:"app-warning-modal",template:'<div class="cx-modal-container">\n  <div class="cx-modal-content">\n    <div class="modal-info text-center modal-m">\n      <div class="modal-info__close">\n        <svg-icon-sprite\n          src="close"\n          width="18"\n          height="18"\n          class="modal-info__close-icon"\n          (click)="close(false)"\n        ></svg-icon-sprite>\n      </div>\n      <div>\n        <svg-icon-sprite [src]="icon" width="32" height="32" class="modal-info__icon"></svg-icon-sprite>\n      </div>\n\n      <div *ngIf="!originalMessage" class="modal-info__title">\n        {{ title | cxTranslate }}\n      </div>\n\n      <div *ngIf="originalMessage" class="modal-info__title">\n        {{ title }}\n      </div>\n\n      <div *ngIf="text && !originalMessage" class="modal-info__text">\n        {{ text | cxTranslate }}\n      </div>\n      <div *ngIf="text && originalMessage" class="modal-info__text">\n        {{ text }}\n      </div>\n\n      <div *ngIf="primaryButton" class="modal-info__controls d-flex justify-content-center">\n        <button class="btn btn--sm btn-default modal-info__controls-button" (click)="close(true)">\n          <svg-icon-sprite\n            *ngIf="iconButton"\n            class="modal-info__controls-icon"\n            [src]="iconButton"\n            width="16"\n            height="16"\n          ></svg-icon-sprite>\n          {{ primaryButton | cxTranslate }}\n        </button>\n      </div>\n    </div>\n\n  </div>\n</div>',styles:[kA()]})],_a);const FA={launch:{AUTH_MODAL:{inlineRoot:!0,component:ao,dialogType:v.YMd.DIALOG},QUOTATION_ERROR:{inlineRoot:!0,component:Xo,dialogType:v.YMd.DIALOG},ADD_TO_MY_CATALOG:{inlineRoot:!0,component:Os,dialogType:v.YMd.DIALOG},ADD_TO_MY_CATALOG_FORM_SUCCESS:{inlineRoot:!0,component:Jo,dialogType:v.YMd.DIALOG},CONFIRM_MODAL:{inlineRoot:!0,component:ta,dialogType:v.YMd.DIALOG},WARNING_MODAL:{inlineRoot:!0,component:_a,dialogType:v.YMd.DIALOG},ADD_TO_CART_MODAL:{inlineRoot:!0,component:Zo,dialogType:v.YMd.DIALOG},THANK_YOU_MODAL:{inlineRoot:!0,component:da,dialogType:v.YMd.DIALOG},CLAIMS_ADD_ITEM_MODAL:{inlineRoot:!0,component:Ar,dialogType:v.YMd.DIALOG},FORGOT_PASSWORD_EMAIL_MODAL:{inlineRoot:!0,component:ws,dialogType:v.YMd.DIALOG},CONTACT_MANAGER_PROFILE_MODAL:{inlineRoot:!0,component:sa,dialogType:v.YMd.DIALOG},CONTACT_MANAGER_PRODUCT_MODAL:{inlineRoot:!0,component:na,dialogType:v.YMd.DIALOG},SUCCESS_MODAL:{inlineRoot:!0,component:ca,dialogType:v.YMd.DIALOG},CLAIMS_LISTING_MODAL:{inlineRoot:!0,component:Dr,dialogType:v.YMd.DIALOG},CLAIMS_ITEMS_MODAL:{inlineRoot:!0,component:Pr,dialogType:v.YMd.DIALOG},USERS_MODAL_CREATE_MODAL:{inlineRoot:!0,component:ua,dialogType:v.YMd.DIALOG},USERS_MODAL_PASSWORD_COMPONENT_MODAL:{inlineRoot:!0,component:ma,dialogType:v.YMd.DIALOG},USERS_MODAL_DISABLE_COMPONENT_MODAL:{inlineRoot:!0,component:ha,dialogType:v.YMd.DIALOG},USERS_MODAL_ENABLE_COMPONENT_MODAL:{inlineRoot:!0,component:ga,dialogType:v.YMd.DIALOG},DEACTIVATE_USER_COMPONENT_MODAL:{inlineRoot:!0,component:Is,dialogType:v.YMd.DIALOG},CONSENT_MANAGEMENT_MODAL:{inlineRoot:!0,component:As,dialogType:v.YMd.DIALOG},DATA_GRID_VIEWS_MODAL:{inlineRoot:!0,component:as,dialogType:v.YMd.DIALOG},DELIVERY_NEW_REPORT_MODAL:{inlineRoot:!0,component:ia,dialogType:v.YMd.DIALOG},ORDER_NEW_REPORT_MODAL:{inlineRoot:!0,component:oa,dialogType:v.YMd.DIALOG},DELIVERY_REQUEST_MODAL:{inlineRoot:!0,component:ra,dialogType:v.YMd.DIALOG},SUPPORT_REQUEST_CREATED_MODAL:{inline:!0,component:la,dialogType:v.YMd.DIALOG},REGISTRATION_SUCCESS_MODAL:{inlineRoot:!0,component:Ps,dialogType:v.YMd.DIALOG},REGISTRATION_SUCCESS_TRADING_MODAL:{inlineRoot:!0,component:aa,dialogType:v.YMd.DIALOG}}};let va=class{};va=(0,r.Cg)([(0,n.UQu)({declarations:[Os,Ps,ws,Ds,Jo,As,Zo,ia,la,na,$p,sa,Bp,oa,tl,ra,Is,aa,da,ua,ha,ga,ma,Xo,ta,ca,_a],providers:[ea,(0,p.rxX)(FA)],imports:[S.MD,p.htr.withConfig({cmsComponents:{UpdatePasswordComponent:{component:Ds}}}),m.X1,ce,p.LP3,st.MQ,V.F2,y.iI,p.YYe,Xe.n8,xe,ge,Ze],exports:[Os,Ps,ws,Ds,As,Is]})],va);var xa,NA=i(45339),UA=i.n(NA);!function(a){a.RADIO="RADIO",a.TEXT="TEXT",a.SELECT="SELECT",a.CHECKBOX="CHECKBOX"}(xa||(xa={}));let Vp=class{constructor(e,t){this.occEndpointsService=e,this.http=t}getData(e,t){const s=this.occEndpointsService.buildUrl(E.USER.QUESTIONNAIRE.DATA,{urlParams:{code:e},queryParams:{token:t}});return this.http.get(s)}postData(e,t,s){const o=this.occEndpointsService.buildUrl(E.USER.QUESTIONNAIRE.RESULTS,{urlParams:{code:e},queryParams:{token:s}});return this.http.post(o,t)}static#e=this.ctorParameters=()=>[{type:p.zxz},{type:U.Qq}]};Vp=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],Vp);let fa=class{constructor(e,t,s,o,l,u,h){this.questionnaireService=e,this.changeDetection=t,this.activatedRoute=s,this.launchDialogService=o,this.translatePipe=l,this.router=u,this.globalMessageService=h,this.destroy$=new R.B,this.QUESTION_TYPE=xa,this.MAX_TEXTAREA_COUNT=1e3,this.replaceNonPrintable=ft,this.data=null,this.isLoading=!1,this.token=null,this.code=null,this.userForm=new m.J3({companyName:new m.hs({value:"",disabled:!0}),email:new m.hs({value:"",disabled:!0})}),this.form=new m.J3({customerName:new m.hs(""),jobTitle:new m.hs(""),phone:new m.hs("")}),this.checkboxQuestions={},this.checkboxQuestionsNumber=[],this.checkboxRequiredId=[],this.checkboxErrorId=[],this.subscription=new X.yU}ngOnInit(){const{token:e}=this.activatedRoute.snapshot.queryParams;this.code=this.activatedRoute.url.getValue()[1]?.path,this.token=e,this.isLoading=!0,this.questionnaireService.getData(this.code,e).pipe((0,x.Q)(this.destroy$)).subscribe(t=>{this.isLoading=!1,this.data=t,this.userForm.get("companyName").setValue(t.companyName),this.userForm.get("email").setValue(t.email),this.form.get("customerName").setValue(t.customerName),this.form.get("jobTitle").setValue(t.jobTitle),this.form.get("phone").setValue(t.phone),t.questionBlocks.forEach(s=>{s.questions.forEach(o=>{o.questionType===xa.CHECKBOX?(this.checkboxQuestions[o.id]=[],this.checkboxQuestionsNumber.push(o.id),o.required&&this.checkboxRequiredId.push(o.id)):o.required?this.form.addControl(o.id,new m.hs(null,m.k0.required)):this.form.addControl(o.id,new m.hs(null))})}),this.changeDetection.detectChanges()},t=>(this.globalMessageService.add(t.error.errors[0].message,p.NCV.MSG_TYPE_ERROR),this.router.navigate(["/not-found"]),(0,ue.$)(t)))}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete(),this.subscription?.unsubscribe()}submit(){this.form.markAllAsTouched(),this.checkboxErrorId=[];const e={};this.checkboxQuestionsNumber.forEach(t=>{e[t]=this.checkboxQuestions[t].toString(),this.checkboxRequiredId.includes(t)&&!this.checkboxQuestions[t].length&&this.checkboxErrorId.push(t)}),!this.form.invalid&&!this.checkboxErrorId.length&&this.questionnaireService.postData(this.code,{...this.form.value,...e},this.token).pipe((0,pe.W)(t=>(this.globalMessageService.add(t.error.errors[0].message,p.NCV.MSG_TYPE_ERROR),this.changeDetection.detectChanges(),(0,ue.$)(t))),(0,x.Q)(this.destroy$)).subscribe(()=>{this.subscription.add(this.launchDialogService.dialogClose.subscribe(()=>this.router.navigate(["/"])))})}change(e,t){this.isCheckboxChecked(e,t)?this.checkboxQuestions[e]=this.checkOff(this.checkboxQuestions[e],t):this.checkboxQuestions[e].push(t)}checkOff(e,t){return e.filter(s=>s!==t)}isCheckboxChecked(e,t){return this.checkboxQuestions[e].includes(t)}openConfirmModal(){this.launchDialogService.openDialogAndSubscribe("THANK_YOU_MODAL",void 0,{title:this.translatePipe.transform("text.questionnaire.modalTitle"),text:this.translatePipe.transform("text.questionnaire.modalSubtitle"),buttonText:this.translatePipe.transform("text.questionnaire.modalButton"),largeButton:!0})}static#e=this.ctorParameters=()=>[{type:Vp},{type:n.gRc},{type:y.nX},{type:v.PLe},{type:p.D97},{type:y.Ix},{type:p.S8D}]};fa=(0,r.Cg)([(0,n.uAl)({selector:"app-questionnaire",template:'<div class="questionnaire" *ngIf="!isLoading else loader">\n  <app-page-title>\n    {{ \'text.questionnaire.title\' | cxTranslate }}\n  </app-page-title>\n  <ng-container *ngIf="data else loader">\n    <div\n      class="local-message local-message--blue"\n    >\n      <div class="d-flex align-items-start">\n        <svg-icon-sprite\n          src="check_circle"\n          width="24"\n          height="24"\n          class="local-message__icon"\n        ></svg-icon-sprite>\n        <span>\n          {{ \'text.questionnaire.description1\' | cxTranslate }} <br>\n          {{ \'text.questionnaire.description2\' | cxTranslate }}\n        </span>\n      </div>\n    </div>\n    <div class="mb-20">\n      <app-toggle-card [isExpand]="true" [hideToggleButton]="false">\n    <span header-left>\n      {{ \'text.questionnaire.userBlockTitle\' | cxTranslate }}\n    </span>\n        <div toggle-body class="questionnaire__form">\n          <app-input\n            class="w-100"\n            label="Company name"\n            [controlData]="userForm.get(\'companyName\')"\n            [isReadOnly]="true"\n          ></app-input>\n          <div class="questionnaire__form-row">\n            <app-input\n              class="questionnaire__form-item"\n              label="Full name"\n              [controlData]="form.get(\'customerName\')"\n            ></app-input>\n            <app-input\n              class="questionnaire__form-item"\n              label="Job Title"\n              [controlData]="form.get(\'jobTitle\')"\n            ></app-input>\n          </div>\n          <div class="questionnaire__form-row">\n            <app-input\n              class="questionnaire__form-item"\n              label="Phone"\n              [controlData]="form.get(\'phone\')"\n            ></app-input>\n            <app-input\n              class="questionnaire__form-item"\n              label="E-mail"\n              [controlData]="userForm.get(\'email\')"\n              [isReadOnly]="true"\n            ></app-input>\n          </div>\n        </div>\n      </app-toggle-card>\n    </div>\n\n    <div class="mb-20 " *ngFor="let questionBlocks of data.questionBlocks">\n      <app-toggle-card [isExpand]="true" [hideToggleButton]="false" [overflowVisible]="true">\n      <span header-left>\n        {{ questionBlocks.title }}\n      </span>\n        <div toggle-body class="questionnaire__block">\n          <div class="questionnaire__block-item" *ngFor="let question of questionBlocks.questions">\n            <div class="questionnaire__item-title">{{question.value}} {{ question.required ? \'*\' : \'\' }}</div>\n            <ng-container *ngIf="question.questionType === QUESTION_TYPE.RADIO">\n              <div class="questionnaire__item-radio" >\n                <label class="radio-group" *ngFor="let answer of question.answers">\n                  <input\n                    [checked]="form.get(question.id).value === answer.id"\n                    (click)="form.get(question.id).setValue(answer.id)"\n                    type="radio"\n                  >\n                  <div class="radio-group__label">\n                    <span class="configure-product-type-selector__label">{{ answer.value }}</span>\n                  </div>\n                </label>\n              </div>\n              <cx-form-errors [control]="form.get(question.id)"></cx-form-errors>\n            </ng-container>\n\n            <ng-container *ngIf="question.questionType === QUESTION_TYPE.CHECKBOX">\n              <div class="questionnaire__item-radio">\n                <label class="checkbox-group" *ngFor="let answer of question.answers">\n                  <input\n                    (click)="change(question.id, answer.id)"\n                    [checked]="isCheckboxChecked(question.id, answer.id)"\n                    type="checkbox"/>\n                  <span class="checkbox-group__label">{{ answer.value }}</span>\n                </label>\n              </div>\n              <div class="checkbox-group__error" *ngIf="checkboxErrorId.includes(question.id)">Mandatory field</div>\n            </ng-container>\n\n            <app-textarea\n              *ngIf="question.questionType === QUESTION_TYPE.TEXT"\n              [control]="form.get(question.id)"\n              [maxLength]="MAX_TEXTAREA_COUNT"\n              [placeholder]="question.value"\n              (focusout)="replaceNonPrintable(form.get(question.id))"\n            ></app-textarea>\n\n            <app-select\n              *ngIf="question.questionType === QUESTION_TYPE.SELECT"\n              [controlData]="form.get(question.id)"\n              [items]="question.answers"\n              bindLabel="value"\n              bindValue="id"\n              [placeholder]="question.value"\n            ></app-select>\n          </div>\n        </div>\n      </app-toggle-card>\n    </div>\n\n    <div class="questionnaire__button">\n      <button\n        type="button"\n        class="questionnaire__button-button btn btn-default"\n        (click)="submit()"\n      >\n        <span class="questionnaire__button-text">\n        Send Questionnaire\n        </span>\n      </button>\n    </div>\n  </ng-container>\n</div>\n<ng-template #loader>\n  <div class="text-center">\n    <app-loader></app-loader>\n  </div>\n</ng-template>\n',styles:[UA()]})],fa);let Gp=class{};Gp=(0,r.Cg)([(0,n.UQu)({declarations:[fa],imports:[S.MD,p.htr.withConfig({cmsComponents:{QuestionnaireComponent:{component:fa,guards:[Y]}}}),ce,be,V.F2,ze,ge,p.LP3,v.GQ]})],Gp);var BA=i(27796),VA=i.n(BA);let Ca=class{constructor(){this.isOpen=!1}toggle(){this.isOpen=!this.isOpen}static#e=this.propDecorators={isOpen:[{type:n.pde}]}};Ca=(0,r.Cg)([(0,n.uAl)({selector:"app-inner-toggle",template:'<div\n  class="inner-toggle"\n  [class.inner-toggle--opened]="isOpen"\n>\n\n  <span class="inner-toggle__title-wrapper">\n    <span\n      class="inner-toggle__title"\n      (click)="toggle()"\n    >\n      <ng-content select="[title]"></ng-content>\n\n      <svg-icon-sprite\n        class="inner-toggle__expand"\n        src="expand_more"\n        width="18"\n        height="18"\n      ></svg-icon-sprite>\n    </span>\n\n    <ng-content select="[actionButtons]"></ng-content>\n  </span>\n\n  <div\n    *ngIf="isOpen"\n    [@showBody]\n  >\n    <ng-content select="[body]"></ng-content>\n  </div>\n</div>\n',animations:[rl()],styles:[VA()]})],Ca);let ba=class{};ba=(0,r.Cg)([(0,n.UQu)({declarations:[Ca],imports:[S.MD,V.F2],exports:[Ca]})],ba);var zA=i(86464),YA=i.n(zA);function Qg(a){const e=new Date(a.dateRange.beginJsDate),t=new Date(a.dateRange.endJsDate),s=(-(new Date).getTimezoneOffset()/60).toString(),o=+s<0?s[0]:"+",l=+s<0?+s.slice(1):s,u=o+String(l).padStart(4,"0"),h=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())),_=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate()));return[Sn(h).slice(0,-1)+u,Sn(_).slice(0,-1)+u]}let Ls=class extends ls{constructor(e,t,s,o,l,u){super(e,t,s,o),this.occEndpointsService=e,this.http=t,this.globalMessageService=s,this.translatePipe=o,this.router=l,this.activatedRoute=u,this.api=E.REPORTS.RTS,this.appliedFilters$=new P.t(null),this.initialFilters$=new P.t(null),this.selectedToApplyFilters$=new P.t(null),this.RTSPageData$=new P.t(null)}filterUnusedFields(e){return e.map(t=>{const{type:s,...o}=t;return o})}getRTSList(e){this.appliedFilters$.next(e),this.router.navigate([],{relativeTo:this.activatedRoute,replaceUrl:!0,queryParamsHandling:"merge"}),this.RTSPageData$.next(null);const t=this.occEndpointsService.buildUrl(this.api.GET,{});return this.http.post(t,e).pipe((0,k.n)(s=>{if(s.filters.length)this.initialFilters$.next(s.filters),localStorage.setItem("rtsInitialFilters",JSON.stringify(s.filters));else{const o=localStorage.getItem("rtsInitialFilters");this.initialFilters$.next(JSON.parse(o))}return this.RTSPageData$.next(s),s.activeFilters&&this.appliedFilters$.next(JSON.parse(s.activeFilters)),(0,$.of)(s)}))}clearFilters(){const e=this.occEndpointsService.buildUrl(this.api.CLEAR_FILTERS);return this.http.post(e,{})}submitForm(e,t){const s=this.occEndpointsService.buildUrl(this.api.DELIVER_COILS),o=(new U.Nl).append("desiredDeliveryDate",t);return this.http.post(s,this.filterUnusedFields(e),{params:o})}createReport(e){return super.create(e)}getReport(e,t){return super.get(e,t)}saveView(e){return super.save(e)}getViews(){return super.getViews()}getView(e){return super.getView(e)}getContracts(){return super.getContracts()}delete(e){return super.delete(e)}editView(e){return super.edit(e)}static#e=this.ctorParameters=()=>[{type:p.zxz},{type:U.Qq},{type:p.S8D},{type:p.D97},{type:y.Ix},{type:y.nX}]};Ls=(0,r.Cg)([(0,n._qm)()],Ls);let ya=class{constructor(e,t,s,o,l){this.rtsService=e,this.launchDialogService=t,this.translatePipe=s,this.globalMessageService=o,this.dataGridViewsModalService=l,this.selectedRows=[],this.loaded=!1,this.isWideMode=!1,this.destroy$=new R.B,this.initialFilters$=this.rtsService.initialFilters$,this.selectedToApplyFilters$=this.rtsService.selectedToApplyFilters$,this.rtsPageData$=this.rtsService.RTSPageData$,this.appliedFilters$=this.rtsService.appliedFilters$,this.resetFilters$=new R.B}ngOnInit(){this.init()}init(){this.fetchRtsItems({},!0)}changeWideMode(e){this.isWideMode=e}fetchRtsItems(e,t=!1){t||0!==Object.keys(e).length?this.rtsService.getRTSList(e).pipe((0,x.Q)(this.destroy$)).subscribe():this.rtsService.clearFilters().pipe((0,k.n)(()=>this.rtsService.getRTSList(e)),(0,x.Q)(this.destroy$)).subscribe()}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete(),this.subscription?.unsubscribe()}onFiltersChange(e){JSON.stringify(e)!==JSON.stringify(this.selectedToApplyFilters$.value)&&this.selectedToApplyFilters$.next(e)}onFiltersSubmit(){const e=this.collectPayload();e&&this.fetchRtsItems(e)}collectPayload(){const e=this.selectedToApplyFilters$.value;return e?Object.keys(e).reduce((t,s)=>{if([lt.WIDTH,lt.LENGTH,lt.THICKNESS.toString()].includes(s)){const o=this.initialFilters$.value.find(l=>l.code===s);return o&&(+e[s].min!=+o.value[0].min||+e[s].max!=+o.value[1].max)&&(t[s]=[Number(e[s].min).toFixed(2).toString(),Number(e[s].max).toFixed(2).toString()]),t}return s===lt.READY_SINCE&&e[s]?(t[s]=Qg(e[s]),t):(e[s]?.length&&(t[s]=e[s]),t)},{}):{}}getSafeWeightFromString(e){return e?Math.ceil(Number(e.split(",").join(""))):0}selectedRowsChanged(e){this.selectedRows=e}submit(e,t){const s=t.map((o,l)=>({id:o.coilNum,quantity:this.getSafeWeightFromString(o.weight),entryNumber:o.orderId,steelGrade:o.quality}));this.launchDialogService.openDialogAndSubscribe("DELIVERY_REQUEST_MODAL",void 0,{coils:s,total:this.getTotalWeight(t),unit:"t"}),this.launchDialogService.dialogClose.pipe((0,x.Q)(this.destroy$)).subscribe(o=>{o&&this.rtsService.submitForm(t,e).pipe((0,x.Q)(this.destroy$)).subscribe(()=>{this.launchDialogService.openDialogAndSubscribe("THANK_YOU_MODAL",void 0,{title:this.translatePipe.transform("rts.modal.thankYou"),text:this.translatePipe.transform("rts.modal.forSubmitting")}),this.launchDialogService.dialogClose.pipe((0,x.Q)(this.destroy$)).subscribe(()=>{t=[],window.location.reload()})},l=>{l.error.errors.forEach(u=>{this.globalMessageService.add(u.message,p.NCV.MSG_TYPE_ERROR)})})})}getTotalWeight(e=this.selectedRows){return e.reduce((t,s)=>t+this.getSafeWeightFromString(s.weight),0)}onFiltersReset(){this.rtsService.clearFilters().pipe((0,x.Q)(this.destroy$)).subscribe(()=>{this.selectedToApplyFilters$.next(null),this.init()},e=>{e.error.errors.forEach(t=>{this.globalMessageService.add(t.message,p.NCV.MSG_TYPE_ERROR)})})}static#e=this.ctorParameters=()=>[{type:Ls},{type:v.PLe},{type:p.D97},{type:p.S8D},{type:Or}]};ya=(0,r.Cg)([(0,n.uAl)({selector:"app-rts-page",template:'<ng-container>\n  <div class="mb-20" *ngIf="initialFilters$ | async as initialFilters">\n    <app-rts-filters\n      [initialFilters]="initialFilters"\n      [appliedFilters]="appliedFilters$ | async"\n      [resetFilters$]="resetFilters$"\n      (changeFilters)="onFiltersChange($event)"\n      (submitFilters)="onFiltersSubmit()"\n      (resetFilters)="onFiltersReset()"\n    ></app-rts-filters>\n  </div>\n\n  <div class="mb-20" *ngIf="rtsPageData$ | async as data; else loader">\n    <div *ngIf="isWideMode" class="wide-mode-background"></div>\n    <app-rts-list\n      [reportData]="data.coils"\n      [isWideMode]="isWideMode"\n      (selectedRowsChanged)="selectedRowsChanged($event)"\n      (isWideModeChanged)="changeWideMode($event)"\n      (submitted)="submit($event.date, $event.selectedRows)"\n    >\n    </app-rts-list>\n  </div>\n</ng-container>\n\n<app-rts-footer\n  *ngIf="selectedRows.length > 0"\n  (submitted)="submit($event, selectedRows)"\n  [totalWeight]="getTotalWeight()"\n>\n</app-rts-footer>\n\n<ng-template #loader>\n  <app-loader></app-loader>\n</ng-template>\n',styles:[YA()]})],ya);var zp=i(66294),qg=i(61760),Tt=i(80155);let De=class{constructor(e,t,s,o,l,u,h,_){this.document=e,this.cmsService=t,this.globalMessageService=s,this.http=o,this.occEndpointsService=l,this.activatedRoute=u,this.router=h,this.documentsService=_,this.selectedCoils$=new P.t([]),this.isSelectAll$=new P.t(!1),this.orderLoadedStatus$=new P.t(null),this.appliedFilters$=new P.t(null),this.initialFilters$=new P.t(null),this.selectedToApplyFilters$=new P.t(null),this.ordersPageData$=new P.t(null),this.pageId$=this.cmsService.getCurrentPage().pipe((0,B.p)(Boolean),(0,fe.E)("pageId")),this.orderPageId$=new P.t(null),this.searchCodeValue$=new P.t(null)}approveOrder(e){const t=this.occEndpointsService.buildUrl(E.USER.ORDERS.ORDER_APPROVE,{urlParams:{orderCode:e}});return this.http.post(t,null)}getOrdersList(e,t,s){return this.appliedFilters$.next(e),this.router.navigate([],{relativeTo:this.activatedRoute,queryParams:s,replaceUrl:!0,queryParamsHandling:"merge"}),t||this.ordersPageData$.next(null),this.pageId$.pipe((0,oe.s)(1),(0,k.n)(o=>{this.orderPageId$.next(o);const l=o===q.ORDERS_ACTIVE?E.USER.ORDERS.ORDERS_FILTERS_ACTIVE:E.USER.ORDERS.ORDERS_FILTERS_HISTORY,u=this.occEndpointsService.buildUrl(l,{queryParams:s});return this.http.post(u,e).pipe((0,w.T)(h=>((t||!this.initialFilters$.value&&h.filters)&&h.filters.length&&this.initialFilters$.next(h.filters),t||this.ordersPageData$.next(h),h)))}))}onDestroy(){this.initialFilters$.next(null),this.orderLoadedStatus$.next(null),this.appliedFilters$.next(null),this.ordersPageData$.next(null)}sendConsignment(e,t,s){const o=this.occEndpointsService.buildUrl(E.USER.ORDERS.ORDER_CONSIGNMENTS,{urlParams:{orderCode:e},queryParams:{desiredDeliveryDate:s}});return this.http.post(o,t)}downloadDocument(e,t){return this.documentsService.downloadBy(E.USER.DOCUMENTS.ORDER.FILE,{masterCode:e,orderCode:t})}downloadDocuments(e,t,s){return this.documentsService.downloadBy(E.USER.DOCUMENTS.ORDER.ALL,{type:e,orderCode:t},{itemRanks:s})}saveEmit(e,t){const s=this.documentsService.getBlob(e);this.documentsService.saveAs(s,t)}updateSelectedCoils(e){this.selectedCoils$.next({...this.selectedCoils$.getValue(),...e})}resetSelectedCoils(){this.selectedCoils$.next([])}selectAllCoils(e){this.isSelectAll$.next(e)}scrollToBottom(){setTimeout(()=>{const e=this.document.getElementById("product-cards");e.scrollTo(e.offsetWidth,e.scrollHeight)})}getSuggest(e,t){const s=e===q.ORDERS_ACTIVE?E.USER.ORDERS.ORDERS_FILTERS_ACTIVE_SUGGEST:E.USER.ORDERS.ORDERS_FILTERS_HISTORY_SUGGEST,o=this.occEndpointsService.buildUrl(s);return this.http.post(o,t).pipe((0,w.T)(l=>l.codes.map(u=>({code:u}))))}updateSearchCodeValue(e){this.searchCodeValue$.next(e)}reOrder(e){const{orderCode:t,cartId:s}=e,o=this.occEndpointsService.buildUrl(E.USER.ORDERS.RE_ORDER,{urlParams:{orderCode:t,cartId:s}});return this.http.post(o,{})}reFillingCart(e){const{orderCode:t,cartId:s}=e,o=this.occEndpointsService.buildUrl(E.USER.ORDERS.CART_REFILLING,{urlParams:{orderCode:t,cartId:s}});return this.http.get(o,{})}static#e=this.ctorParameters=()=>[{type:Document,decorators:[{type:n.y_5,args:[S.qQ]}]},{type:p.xYq},{type:p.S8D},{type:U.Qq},{type:p.zxz},{type:y.nX},{type:y.Ix},{type:dt}]};De=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],De);let ks=class extends qg.zu{constructor(e,t,s,o,l){super(e,t,s),this.http=e,this.occEndpoints=t,this.converter=s,this.ordersService=o,this.router=l}load(e,t){this.ordersService.orderLoadedStatus$.next(Ut.LOADING);const s=this.occEndpoints.buildUrl("orderDetail",{urlParams:{userId:e,orderId:t}});let o=new U.Lr;return e===p.Yd1&&(o=p.cXD.createHeader(p.ARF,!0,o)),this.http.get(s,{headers:o}).pipe(this.converter.pipeable(Tt.zq)).pipe((0,z.M)(l=>{this.ordersService.orderLoadedStatus$.next(Ut.SUCCESS)}),(0,pe.W)(l=>(this.ordersService.orderLoadedStatus$.next(Ut.ERROR),(0,ue.$)(l))))}loadHistory(e,t,s,o){const l={};t&&(l.pageSize=t.toString()),s&&(l.currentPage=s.toString()),o&&(l.sort=o.toString());const u=this.router.routerState.snapshot.url===M.MY_ACCOUNT.ORDER.HISTORY?"orderHistory":"orderHistoryActive",h=this.occEndpoints.buildUrl(u,{urlParams:{userId:e},queryParams:l});return this.http.get(h).pipe(this.converter.pipeable(Tt.sw))}static#e=this.ctorParameters=()=>[{type:U.Qq},{type:p.zxz},{type:p.EmH},{type:De},{type:y.Ix}]};ks=(0,r.Cg)([(0,n._qm)()],ks);var qA=i(8036),HA=i.n(qA);const jA=[{name:"Delivery date check",codes:["confirmation","ctp_check","ctp_check_mto","ctp_check_pending","ctp_check_pending_mto"]},{name:"Delivery date check done",codes:["confirmed","ctp_check_done","ctp_check_done_mto"]},{name:"Delivery date check in progress",codes:["ctp_check_in_progress","ctp_check_in_progress_mto"]},{name:"Credit limit check in progress",codes:["credit_limit_check_failed","credit_limit_check_in_progress"]}];function Hg(a,e){const t=e.value.find(s=>s.code===a.code);a.count=t?t.count:0}const jg=a=>a.reduce((e,t)=>t.value?.length?t.value[0].min?(e[t.code]={min:Wg(t.value[0].min),max:Wg(t.value[1].max)},e):(e[t.code]=t.value,e):(e[t.code]=[],e),{}),Wg=a=>Number.isNaN(+a)?0:new RegExp(".0$").test(a)?Number.parseFloat(a):+a,Fs=(a,e)=>{const t=[];return a.forEach(s=>{s.includes(e)?t.push(...s.replace(`${e}__`,"").toUpperCase().split("__")):t.push(s)}),t},Kg=(a,e)=>{Object.keys(a.controls).forEach(t=>{let s=null;(e[t]?.min||0==+e[t]?.min)&&(s=e[t]),a.get(t).setValue(s,{emitEvent:!1})})},Xg=(a,e,t)=>{a&&Object.keys(a).forEach(s=>{a[s].min||0==+a[s].min?(e[s]={min:a[s].min,max:a[s].max},t.get(s)?t.get(s).patchValue({min:Number(a[s].min)||0,max:Number(a[s].max)||0},{emitValue:!1}):t.addControl(s,new m.MJ({min:+a[s].min||0,max:+a[s].max||0}))):t.get(s)||t.addControl(s,new m.MJ)})};let Yp=class{set setInitialFilters(e){this.formSub.unsubscribe(),this.filters=e,this.baseRangeFilters={},this.preparedInitialFilters=this.prepareFilterValues(this.filters),this.addControlsToFormGroup(),this.formGroupOnChangeSubscribe(),this.changeDetection.detectChanges()}set setAppliedFilters(e){if(Object.keys(e).length>0){const t=e.thickness?{min:+e.thickness[0],max:+e.thickness[1]}:this.formGroup.get("thickness")?.value,s=e.width?{min:+e.width[0],max:+e.width[1]}:this.formGroup.get("width")?.value;if(this.formGroup.patchValue({...e,thickness:t,width:s},{emitEvent:!1}),e.readySince){const o={isRange:!0,dateRange:{beginJsDate:new Date(e.readySince[0]),endJsDate:new Date(e.readySince[1])}};this.formGroup.patchValue({...e,readySince:o},{emitEvent:!1})}this.isClearBtnDisabled=!1,this.appliedFilters=e}}constructor(e,t,s){this.datePipe=e,this.changeDetection=t,this.translatePipe=s,this.submitFilters=new n.bkB,this.changeFilters=new n.bkB,this.resetFilters=new n.bkB,this.filterKeys=lt,this.additionalFilters=[],this.additionalFiltersCodes=["transNum","readyWeek","readySince","poCustHeader","mill","location","incoterm","deliveryCreated","custSoldTo","colorOut","colorIn","choice","castNum","bundle","arDate","arWeek","article","ageing"].sort(),this.additionalFiltersCodesWithLabels=null,this.codesMap=[],this.appliedFilters=null,this.isFiltersOpen=!1,this.formSub=new X.yU,this.filters=[],this.isClearBtnDisabled=!0,this.baseRangeFilters={},this.formGroup=new m.gE({}),this.preparedInitialFilters=null,this.uniqStatusKey="CUSTOM",this.destroyed$=new R.B}ngOnInit(){setTimeout(()=>{this.additionalFiltersCodesWithLabels=this.additionalFiltersCodes.map(e=>({code:e,label:this.translatePipe.transform("rts.filterPlaceholders."+e)})),this.appliedFilters&&Object.keys(this.appliedFilters).forEach((e,t)=>{this.additionalFiltersCodes.includes(e)&&(this.isFiltersOpen=!0,this.additionalFilters[t]?this.additionalFilters[t].setValue(e):(this.addFilterSelector(),this.additionalFilters[this.additionalFilters.length-1].setValue(e)))}),0===this.additionalFilters.length&&this.addFilterSelector(),this.changeDetection.detectChanges()},600)}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}getControl(e){return this.formGroup.get(e)}onClose(){this.changeFilters.emit(this.formGroup.value)}onFiltersSubmit(){this.submitFilters.emit()}onFiltersReset(){this.resetFormControlsValues(),this.changeDetection.detectChanges(),this.resetFilters.emit(),this.isClearBtnDisabled=!0}resetFormControlsValues(){Kg(this.formGroup,this.baseRangeFilters)}prepareFilterValues(e){return jg(e)}addControlsToFormGroup(){Xg(this.preparedInitialFilters,this.baseRangeFilters,this.formGroup)}formGroupOnChangeSubscribe(){(({formSub:a,formGroup:e,destroyed$:t,isClearBtnDisabled:s,baseRangeFilters:o,uniqStatusKey:l})=>{e.valueChanges.pipe((0,x.Q)(t)).subscribe(u=>{u.status?.length>0&&(u.status=Fs(u.status,l)),u.processStatus?.length>0&&(u.processStatus=Fs(u.processStatus,l));for(const h of Object.keys(u)){const _=!!u[h]?.min,C=null===u[h]||Array.isArray(u[h])&&!u[h].length;if(_){if(+o[h]?.min!=+u[h].min||+o[h]?.max!=+u[h].max)break}else if(!C)break}})})({formSub:this.formSub,formGroup:this.formGroup,destroyed$:this.destroyed$,isClearBtnDisabled:this.isClearBtnDisabled,baseRangeFilters:this.baseRangeFilters,uniqStatusKey:this.uniqStatusKey})}addFilterSelector(){if(this.additionalFilters.length>=3)return;const e=new m.MJ;this.additionalFilters.push(e);const t=this.additionalFilters.map(s=>s.value||"");this.codesMap[this.additionalFilters.length-1]=this.additionalFiltersCodesWithLabels.filter(s=>!t.includes(s.code)),e.valueChanges.pipe((0,x.Q)(this.destroyed$)).subscribe(()=>{this.generateCodesMap();const s=this.additionalFilters.map(o=>o.value);this.additionalFiltersCodes.filter(o=>!s.includes(o)).forEach(o=>{this.formGroup.get(o)?.setValue(null)})})}generateCodesMap(){this.additionalFilters.forEach((e,t)=>{const s=this.additionalFilters.filter((o,l)=>l!==t).map(o=>o.value);this.codesMap[t]=this.additionalFiltersCodesWithLabels.filter(o=>!s.includes(o.code))})}removeAdditionalFilter(e){const t=this.additionalFilters[e];t&&(this.formGroup.get(t.value)?.setValue(null),this.codesMap.splice(e,1),this.additionalFilters=this.additionalFilters.filter((s,o)=>o!==e),this.changeFilters.emit(this.formGroup.value))}getAvailableAdditionalFilters(e){const t=this.additionalFilters.map(s=>s.value);return t.push(e),this.additionalFiltersCodesWithLabels.filter(s=>!t.includes(s.code))}static#e=this.ctorParameters=()=>[{type:S.vh},{type:n.gRc},{type:p.D97}];static#t=this.propDecorators={setInitialFilters:[{type:n.pde,args:["initialFilters"]}],resetFilters$:[{type:n.pde}],setAppliedFilters:[{type:n.pde,args:["appliedFilters"]}],submitFilters:[{type:n.k7i}],changeFilters:[{type:n.k7i}],resetFilters:[{type:n.k7i}]}};Yp=(0,r.Cg)([(0,n.uAl)({selector:"app-rts-filters",template:'<app-toggle-card [isExpand]="true" [secondary]="false" [hideToggleButton]="false" [overflowVisible]="true">\n  <div header-left>\n    <div class="header d-flex align-items-center">\n      <svg-icon-sprite width="18" height="18" src="filter_list"></svg-icon-sprite>\n      <p class="header__text">\n        {{ \'orders.orderFilter.title\' | cxTranslate }}\n      </p>\n    </div>\n  </div>\n\n  <div toggle-body>\n    <div *ngIf="formGroup" class="filter">\n      <div class="filter__slot">\n        <app-select-with-items\n          *ngIf="getControl(\'order\')"\n          [control]="getControl(\'order\')"\n          [items]="preparedInitialFilters.order"\n          (closed)="onClose()"\n          [placeholder]="\'rts.filterPlaceholders.orderNumber\' | cxTranslate"\n        ></app-select-with-items>\n\n        <app-select-with-items\n          *ngIf="getControl(\'poCustItem\')"\n          [control]="getControl(\'poCustItem\')"\n          [items]="preparedInitialFilters.poCustItem"\n          (closed)="onClose()"\n          [placeholder]="\'rts.filterPlaceholders.poCustomer\' | cxTranslate"\n        ></app-select-with-items>\n\n        <app-select-with-items\n          *ngIf="getControl(\'labelID\')"\n          [control]="getControl(\'labelID\')"\n          [items]="preparedInitialFilters.labelID"\n          (closed)="onClose()"\n          [placeholder]="\'rts.filterPlaceholders.coilNumber\' | cxTranslate"\n        ></app-select-with-items>\n\n        <app-select-with-items\n          *ngIf="getControl(\'weight\')"\n          [control]="getControl(\'weight\')"\n          [items]="preparedInitialFilters.weight"\n          (closed)="onClose()"\n          [placeholder]="\'rts.filterPlaceholders.weight\' | cxTranslate"\n        ></app-select-with-items>\n\n        <app-select-with-items\n          *ngIf="getControl(\'quality\')"\n          [control]="getControl(\'quality\')"\n          [items]="preparedInitialFilters.quality"\n          (closed)="onClose()"\n          [placeholder]="\'rts.filterPlaceholders.quality\' | cxTranslate"\n        ></app-select-with-items>\n\n        <app-slider-input\n          *ngIf="getControl(\'thickness\')"\n          [dimension]="true"\n          [placeholder]="\'orders.orderFilter.thickness\' | cxTranslate"\n          [formControl]="getControl(\'thickness\')"\n          [min]="baseRangeFilters?.thickness?.min || 0"\n          [max]="baseRangeFilters?.thickness?.max || 0"\n          [step]="0.01"\n          (minValueChange)="onClose()"\n          (maxValueChange)="onClose()"\n        ></app-slider-input>\n\n        <app-slider-input\n          *ngIf="getControl(\'width\')"\n          [dimension]="true"\n          [placeholder]="\'orders.orderFilter.width\' | cxTranslate"\n          [formControl]="getControl(\'width\')"\n          [min]="baseRangeFilters?.width?.min || 0"\n          [max]="baseRangeFilters?.width?.max || 0"\n          [step]="0.01"\n          (minValueChange)="onClose()"\n          (maxValueChange)="onClose()"\n        ></app-slider-input>\n\n        <app-select-with-items\n          *ngIf="getControl(\'custShipTo\')"\n          [control]="getControl(\'custShipTo\')"\n          [items]="preparedInitialFilters.custShipTo"\n          (closed)="onClose()"\n          [placeholder]="\'rts.filterPlaceholders.deliveryPlace\' | cxTranslate"\n        ></app-select-with-items>\n\n        <app-select-with-items\n          *ngIf="getControl(\'arDate\')"\n          [control]="getControl(\'arDate\')"\n          [items]="preparedInitialFilters.arDate"\n          (closed)="onClose()"\n          [placeholder]="\'rts.filterPlaceholders.plannedDueDate\' | cxTranslate"\n        ></app-select-with-items>\n      </div>\n\n      <app-inner-toggle [isOpen]="isFiltersOpen">\n        <p title>{{ \'orders.orderFilter.optionalFilters\' | cxTranslate }}</p>\n\n        <div actionButtons *ngIf="additionalFilters.length < 3">\n          <button (click)="addFilterSelector()">\n            <svg-icon-sprite src="add" width="18" height="18"></svg-icon-sprite>\n          </button>\n        </div>\n\n        <div body>\n          <div class="additional-filters" *ngIf="additionalFiltersCodesWithLabels">\n            <div *ngFor="let filter of additionalFilters; let index = index" class="additional-filters__field">\n              <app-select-with-items\n                [control]="filter"\n                [items]="codesMap[index]"\n                [placeholder]="\'Select filter\'"\n                [multiple]="false"\n                [bindLabel]="\'label\'"\n                (closed)="onClose()"\n              ></app-select-with-items>\n\n              <ng-container *ngIf="filter.value">\n                <app-date-picker\n                  *ngIf="filter.value === filterKeys.READY_SINCE; else defaultFilter"\n                  [control]="getControl(filter.value)"\n                  [isFullSize]="true"\n                  [isRange]="true"\n                  [placeholder]="\'rts.filterPlaceholders.\' + filter.value | cxTranslate"\n                  [minYearCurrentMinus]="50"\n                  [maxYearCurrentPlus]="0"\n                  (changed)="onClose()"\n                ></app-date-picker>\n\n                <ng-template #defaultFilter>\n                  <app-select-with-items\n                    [control]="getControl(filter.value)"\n                    [items]="preparedInitialFilters[filter.value]"\n                    (closed)="onClose()"\n                    [placeholder]="\'rts.filterPlaceholders.\' + filter.value | cxTranslate"\n                  ></app-select-with-items>\n                </ng-template>\n\n                <div class="additional-filters__sub-field">\n                  <button (click)="removeAdditionalFilter(index)">\n                    <svg-icon-sprite src="remove" width="18" height="18"></svg-icon-sprite>\n                  </button>\n                </div>\n              </ng-container>\n            </div>\n          </div>\n        </div>\n      </app-inner-toggle>\n\n      <div class="filter__slot">\n        <button class="btn btn-default" (click)="onFiltersSubmit()">\n          <div class="filter__button-wrapper">\n            <svg-icon-sprite src="search" width="18" height="18"></svg-icon-sprite>\n            {{ \'orders.orderFilter.searchButton\' | cxTranslate }}\n          </div>\n        </button>\n        <button (click)="onFiltersReset()" class="btn btn-secondary">\n          {{ \'orders.orderFilter.clearButton\' | cxTranslate }}\n        </button>\n      </div>\n    </div>\n  </div>\n</app-toggle-card>\n',styles:[HA()]})],Yp);var eI=i(96102),tI=i.n(eI);const nI={columns:[{dataType:"string",dataField:"custSoldTo",caption:"Cust Sold To"},{dataType:"string",dataField:"custShipTo",caption:"Cust Ship To"},{dataType:"string",dataField:"mill",caption:"Mill"},{dataType:"link",dataField:"orderId",caption:"Order Id",route:"orderDetails",routeParam:"code",routeParamValue:"order"},{dataType:"string",dataField:"poCustHeader",caption:"PO Cust Header"},{dataType:"string",dataField:"poCustItem",caption:"PO Cust Item"},{dataType:"string",dataField:"coilNum",caption:"Coil Num"},{dataType:"string",dataField:"castNum",caption:"Cast Num"},{dataType:"string",dataField:"choice",caption:"Choice"},{dataType:"string",dataField:"bundle",caption:"Bundle"},{dataType:"string",dataField:"incoterm",caption:"Incoterm"},{dataType:"string",dataField:"product",caption:"Product"},{dataType:"string",dataField:"colorin",caption:"Color In"},{dataType:"string",dataField:"colorout",caption:"Color Out"},{dataType:"string",dataField:"quality",caption:"Quality"},{dataType:"string",dataField:"thickness",caption:"Thickness"},{dataType:"string",dataField:"width",caption:"Width"},{dataType:"string",dataField:"location",caption:"Location"},{dataType:"string",dataField:"transNum",caption:"Transport Number"},{dataType:"string",dataField:"article",caption:"Article"},{dataType:"string",dataField:"arDate",caption:"Ar Date"},{dataType:"string",dataField:"arWeek",caption:"Ar Week"},{dataType:"string",dataField:"readyWeek",caption:"Ready Week"},{dataType:"date",dataField:"readySince",caption:"Ready Since",dateFormat:"dd-MM-yyyy"},{dataType:"string",dataField:"ageing",caption:"Ageing"},{dataType:"string",dataField:"weight",caption:"Weight"}]};let Qp=class extends cs{constructor(e,t,s,o,l,u,h,_){super(e,t,s,o,l,u,h,_),this.rtsService=e,this.changeDetection=t,this.userAccountService=s,this.globalMessageService=o,this.launchDialogService=l,this.translatePipe=u,this.datePipe=h,this.documentsService=_,this.reportData=[],this.isWideMode=!1,this.selectedRowsChanged=new n.bkB,this.isWideModeChanged=new n.bkB,this.submitted=new n.bkB,this.dxTableSettings=nI,this.selectedRows=[],this.lastUpdateDate=null,this.destroyed$=new R.B,this.tableCode=Qe.RTS}ngOnChanges(e){if(e.reportData){if(!this.reportData.length)return void(this.lastUpdateDate=null);const t=Math.max(...this.reportData.map(s=>new Date(s.date).getTime()));this.lastUpdateDate=new Date(t)}}changeWideMode(){this.isWideModeChanged.emit(!this.isWideMode)}selectedRowsChange(){this.selectedRowsChanged.emit(this.selectedRows)}isDisabledRow(e){return!!(e.transNum||e.deliveryCreated||e.notIntegrated||e.obdNumber)}static#e=this.ctorParameters=()=>[{type:Ls},{type:n.gRc},{type:Le.zq},{type:p.S8D},{type:v.PLe},{type:p.D97},{type:S.vh},{type:dt}];static#t=this.propDecorators={reportData:[{type:n.pde}],isWideMode:[{type:n.pde}],selectedRowsChanged:[{type:n.k7i}],isWideModeChanged:[{type:n.k7i}],submitted:[{type:n.k7i}]}};Qp=(0,r.Cg)([(0,n.uAl)({selector:"app-rts-list",template:'<app-toggle-card\n  [isExpand]="true"\n  [overflowVisible]="true"\n  [hideToggleButton]="true"\n  class="rts-list"\n  [class.rts-list_wide-view]="isWideMode"\n>\n  <svg-icon-sprite header-icon src="view_column" width="18" height="18"></svg-icon-sprite>\n\n  <span header-left>\n    {{ \'rts.list\' | cxTranslate }}\n  </span>\n\n  <span header-right>\n    <app-icon-button\n      (click)="changeWideMode()"\n      [src]="isWideMode ? \'fullscreen_exit\' : \'fullscreen_enter\'"\n    ></app-icon-button>\n  </span>\n\n  <div toggle-body>\n    <div class="rts-list__grid">\n      <ng-container *ngIf="dxTableSettings">\n        <app-data-grid-views\n          [disableEditing]="true"\n          [dxTableSettings]="dxTableSettings"\n          [dxViewSettings]="dxTableSettings"\n          [data]="reportData || []"\n          [fileTitle]="\'rts.fileTitle\' | cxTranslate"\n          [multiSelect]="true"\n          [showViews]="false"\n          [(selectedRows)]="selectedRows"\n          [withDisabled]="true"\n          [lastUpdateDate]="lastUpdateDate"\n          [isDisabledRow]="isDisabledRow"\n          [pageSize]="20"\n          [showSelectionButtons]="true"\n          (selectedRowsChange)="selectedRowsChange()"\n        ></app-data-grid-views>\n      </ng-container>\n    </div>\n  </div>\n</app-toggle-card>\n',changeDetection:n.Ngq.Default,styles:[tI()]})],Qp);var iI=i(36e3),rI=i.n(iI);let qp=class{constructor(){this.placeholder="",this.multiple=!0,this.bindLabel="code",this.bindValue="code",this.clearable=!1,this.closeOnSelect=!1,this.showSelectButton=!0,this.closed=new n.bkB,this.filterQuery="",this.baseItems=[],this.filteredItems=[]}set setItems(e){this.baseItems=e,this.filteredItems=e}reset(){this.filterQuery="",this.onSearchValueChange()}onSearchValueChange(){this.filteredItems=this.baseItems.filter(e=>e.code.includes(this.filterQuery))}static#e=this.propDecorators={control:[{type:n.pde}],setItems:[{type:n.pde,args:["items"]}],placeholder:[{type:n.pde}],multiple:[{type:n.pde}],bindLabel:[{type:n.pde}],bindValue:[{type:n.pde}],clearable:[{type:n.pde}],closeOnSelect:[{type:n.pde}],showSelectButton:[{type:n.pde}],closed:[{type:n.k7i}]}};qp=(0,r.Cg)([(0,n.uAl)({selector:"app-select-with-items",template:'<app-select\n  *ngIf="control"\n  [clearable]="clearable"\n  [closeOnSelect]="closeOnSelect"\n  [controlData]="control"\n  [items]="filteredItems"\n  [multiple]="multiple"\n  [showSelectButton]="showSelectButton"\n  [placeholder]="placeholder"\n  (selectClosed)="closed.emit()"\n  [searchable]="false"\n  [bindLabel]="bindLabel"\n  [bindValue]="bindValue"\n>\n\n  <ng-template #ngHeaderTmp>\n    <div class="input-search input-search--">\n      <img\n        class="input-search__search-icon"\n        src="/assets/icons/search.svg"\n        alt="search"\n      >\n\n      <input\n        [(ngModel)]="filterQuery"\n        (input)="onSearchValueChange()"\n        autofocus\n        class="input-search__field"\n        placeholder="{{\'placeholder.search\' | cxTranslate}}"\n      >\n      <button\n        class="input-search__cancel-button"\n        (click)="reset()"\n      >\n        <svg-icon-sprite\n          class="input-search__cancel-icon"\n          src="clear"\n          width="18"\n          height="18"\n        ></svg-icon-sprite>\n      </button>\n    </div>\n  </ng-template>\n\n  <ng-template\n    #multiLabelTmp\n    let-items="items"\n  >\n    <div class="multi-select">\n      <ng-container *ngFor="let item of items; let last = last">\n        {{ item[bindValue] }}\n\n        <ng-container *ngIf="items.length > 1 && !last">,</ng-container>\n      </ng-container>\n    </div>\n  </ng-template>\n\n  <ng-template\n    #optionTmp\n    let-item="item"\n    let-item$="item$"\n    let-index="index"\n  >\n    <label class="checkbox-group">\n      <input\n        [ngModel]="item$.selected"\n        id="select-weight-{{ index }}"\n        type="checkbox"\n      />\n      <span class="ng-option-label checkbox-group__label">\n        {{ item[bindLabel] }}\n      </span>\n    </label>\n  </ng-template>\n</app-select>',styles:[rI()]})],qp);let Hp=class{};Hp=(0,r.Cg)([(0,n.UQu)({declarations:[ya,Yp,Qp,qp],providers:[Ls,{provide:zp.A9,useClass:ks}],imports:[st.MQ,_s,ba,xe,va,V.F2,y.iI,p.YYe,v.x6L,S.MD,ze,p.LP3,an,wr,m.X1,ce,m.YN,p.htr.withConfig({cmsComponents:{RTSListComponent:{component:ya,guards:[j,Y]}}}),Ze,Mt,ge]})],Hp);var aI=i(57855),cI=i.n(aI);let Sa=class{constructor(){this.isLoading=!1,this.iconName=""}ngOnInit(){const e=this.document.documentName.match(/[^\.]+$/)[0].toLowerCase();this.setFileTypeIcon(e)}setFileTypeIcon(e){this.iconName=xg[e]||"no-icon"}static#e=this.propDecorators={isLoading:[{type:n.pde}],document:[{type:n.pde}]}};Sa=(0,r.Cg)([(0,n.uAl)({selector:"app-attachment-card",template:'<app-card-wrapper\n  *ngIf="document"\n  [class.is-loading]="isLoading"\n  [small]="true"\n  [hoverShadow]="true">\n\n  <div class="download-item">\n    <div class="download-item__info">\n      <p class="download-item__name">\n        {{ document.documentName }}\n      </p>\n\n      <p class="download-item__description">\n        {{ document.createdOn }}\n      </p>\n    </div>\n\n    <div class="download-item__image">\n      <svg-icon-sprite [src]="iconName" width="31" height="31" class="download-item__icon"></svg-icon-sprite>\n    </div>\n  </div>\n</app-card-wrapper>\n',changeDetection:n.Ngq.OnPush,styles:[cI()]})],Sa);let Ta=class{};Ta=(0,r.Cg)([(0,n.UQu)({declarations:[Sa],imports:[S.MD,V.F2,ct],exports:[Sa]})],Ta);var dI=i(81819),pI=i.n(dI);let Ea=class{constructor(){this.title="",this.description="",this.secondary=!1,this.inline=!1,this.safeHtml=null,this.last=!1}static#e=this.propDecorators={title:[{type:n.pde}],description:[{type:n.pde}],secondary:[{type:n.pde}],inline:[{type:n.pde}],safeHtml:[{type:n.pde}],last:[{type:n.pde}]}};Ea=(0,r.Cg)([(0,n.uAl)({selector:"app-card-row",template:'<div class="card-row" [class.card-row--secondary]="secondary" [class.card-row--last]="last">\n  <app-text-block [title]="title" [description]="description" [inline]="inline">\n    <p *ngIf="safeHtml" [innerHtml]="safeHtml"></p>\n  </app-text-block>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[pI()]})],Ea);let jp=class{};jp=(0,r.Cg)([(0,n.UQu)({declarations:[Ea],exports:[Ea],imports:[S.MD,An]})],jp);var hI=i(70648),gI=i.n(hI);let Ra=class{};Ra=(0,r.Cg)([(0,n.uAl)({selector:"app-show-more",template:'<div class="d-flex align-items-center justify-content-between show-more">\n  <div class="show-more__total">\n    <ng-content class="show-more__total" select="[total]"></ng-content>\n  </div>\n  <ng-content select="[button]"></ng-content>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[gI()]})],Ra);let Ms=class{};Ms=(0,r.Cg)([(0,n.UQu)({declarations:[Ra],imports:[S.MD],exports:[Ra]})],Ms);var _I=i(96741),vI=i.n(_I);let Oa=class{constructor(){this.statusOrder=[sn.IN_CREATION,sn.OPEN,sn.IN_PROGRESS,sn.CLOSED]}get statusClass(){const e=this.statusOrder.indexOf(this.status.claimStatus),t=this.statusOrder.indexOf(this.current);return e===t?this.status.claimStatus===sn.OPEN?"success":"in-process":e<t?"success":""}static#e=this.propDecorators={status:[{type:n.pde}],current:[{type:n.pde}]}};Oa=(0,r.Cg)([(0,n.uAl)({selector:"app-claim-status-stepper-item",template:'<div class="status-item" [ngClass]="statusClass">\n  <div class="status-item__row">\n    <svg-icon-sprite\n      class="status-item__date-icon"\n      src="trending_flat"\n      width="18"\n      height="18"\n    ></svg-icon-sprite>\n    <span class="status-item__date-text">{{\n      status?.date\n        ? (status.date + \'+0000\' | date: \'dd-MM-yyyy HH:mm\')\n        : \'- - . - - . - - - -\'\n    }}</span>\n  </div>\n\n  <div class="status-item__row">\n    <svg-icon-sprite\n      [src]="status.date ? \'check_circle\' : \'watch_later\'"\n      class="status-item__status-icon"\n      width="18px"\n      height="18px"\n    ></svg-icon-sprite>\n    <span class="status-item__status-text">\n      {{\n        \'claims.status.\' + status.claimStatus.toLowerCase() | cxTranslate\n      }}</span\n    >\n  </div>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[vI()]})],Oa);var fI=i(5359),CI=i.n(fI);let Aa=class{constructor(){this.title="",this.toggleTitle="",this.historyToggle=new n.bkB}toggleHistory(){this.historyToggle.emit(!this.isHistoryOpen)}static#e=this.propDecorators={title:[{type:n.pde}],toggleTitle:[{type:n.pde}],isHistoryOpen:[{type:n.pde}],historyToggle:[{type:n.k7i}]}};Aa=(0,r.Cg)([(0,n.uAl)({selector:"app-status-stepper",template:'<app-card-wrapper>\n  <div class="order-stepper">\n    <div class="d-flex justify-content-between">\n      <p class="order-stepper__title">\n        {{ title }}\n      </p>\n      <div\n        *ngIf="toggleTitle"\n        class="order-stepper__button d-flex align-items-center"\n        [class.is-open]="isHistoryOpen"\n        (click)="toggleHistory()">\n        {{ toggleTitle }}\n        <svg-icon-sprite\n          src="expand_more"\n          class="order-stepper__button-icon"\n          width="16"\n          height="16"\n        ></svg-icon-sprite>\n      </div>\n    </div>\n\n    <scrollbar class="scrollbar">\n      <div class="order-stepper__list">\n        <ng-content></ng-content>\n      </div>\n    </scrollbar>\n  </div>\n</app-card-wrapper>\n\n\n',changeDetection:n.Ngq.OnPush,styles:[CI()]})],Aa);let Ia=class{};Ia=(0,r.Cg)([(0,n.UQu)({declarations:[Aa,Oa],imports:[S.MD,V.F2,p.LP3,ct,Te],exports:[Aa,Oa]})],Ia);var Ns,yI=i(60341),SI=i.n(yI);!function(a){a.WARNING="warning",a.DEFAULT="default"}(Ns||(Ns={}));let wa=class{constructor(){this.type=Ns.DEFAULT}static#e=this.propDecorators={type:[{type:n.pde}]}};wa=(0,r.Cg)([(0,n.uAl)({selector:"app-title-info",template:'<div class="title-info title-info--{{type}}">\n  <svg-icon-sprite\n    src="error_outline"\n    width="18"\n    height="18"\n    class="title-info__icon"\n  ></svg-icon-sprite>\n  <div>\n    <ng-content></ng-content>\n  </div>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[SI()]})],wa);let Wp=class{};Wp=(0,r.Cg)([(0,n.UQu)({declarations:[wa],exports:[wa],imports:[S.MD,V.F2]})],Wp);var EI=i(70505),RI=i.n(EI);function He(a){const e=new RegExp(/^(?!\s)(?![\s\S]*\s$)[^\u0410-\u044f\u0401\u0451]+$/);if(a.value)return a.value?.match(e)?null:{isInvalidFormat:!0}}class Pa extends p._3U{}let Un=class{constructor(e,t){this.eventService=e,this.deliveryService=t,this.claimSource=null,this.claimCategory=null,this.claimData=null,this.category=null,this.claimSource$=new P.t(null),this.claimCategory$=new P.t(null),this.claimData$=new P.t(null),this.salesData$=this.deliveryService.getAllSalesData(),(0,Ce.z)(this.claimSource$,this.claimCategory$,this.claimData$,this.salesData$).pipe((0,w.T)(([s,o,l,u])=>{this.claimSource=s,this.claimCategory=o,this.claimData=l,this.category=u?.salesDataDates[0]?.productionType?.toLowerCase()})).subscribe()}trackClaimStart(){this.eventService.register(Pa,(0,$.of)(this.getTrackingData(ae.START_CLAIM,{})))}trackClaimSubmit(){this.claimData&&this.eventService.register(Pa,(0,$.of)(this.getTrackingData(ae.SUBMIT_CLAIM,this.claimData)))}trackClaimError(){this.eventService.register(Pa,(0,$.of)(this.getTrackingData(ae.CLAIM_ERROR,this.claimData)))}getTrackingData(e,t){return{event:e,claim_type:this.claimCategory,claim_source:this.claimSource,item_category:this.category,item_category2:t?.productCategoryName||""}}static#e=this.ctorParameters=()=>[{type:p.USV},{type:pn}]};var W,hn,Qt;Un=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],Un),function(a){a.DEFECT_DESCRIPTION="defectDescription",a.WEIGHT_CLAIMED="weightClaimed",a.ATTACHMENTS="attachments",a.INVOICE_ITEM_NUMBER="invoiceItemNumber",a.EFFECTIVE_PRICE="effectivePrice",a.WEIGHT_INVOICED="weightInvoiced",a.REQUEST_COMPENSATION="requestedCompensationPerTon",a.TOTAL_COMPENSATION="totalRequestedCompensation",a.DEFECT_CATEGORY="defectCategory",a.SALES_ORG_EXT_ID="salesOrganizationExternalId",a.SALES_ORDER_NUMBER="salesOrderNumber",a.PLATE_ID="plateId",a.CHARGE_NUMBER="chargeNumber",a.LENGTH="length",a.MILL="mill",a.COIL_ID="coilId",a.BATCH_ID="batchId",a.B2B_UNIT="b2bUnit",a.CURRENCY="currency",a.NET_WEIGHT="netWeight",a.Z_PLATEIDINV="z_plateIDInv",a.HEAT_NO="heatNo"}(W||(W={})),function(a){a.SUPPLYCHAIN="Supplychain",a.LOGISTIC="Logistic"}(hn||(hn={})),function(a){a.STRIP="7040",a.PLATE="7030"}(Qt||(Qt={}));class Zg{constructor(e,t,s,o,l,u,h,_){this.claimsService=e,this.changeDetection=t,this.eventBus=s,this.launchDialogService=o,this.globalMessageService=l,this.translatePipe=u,this.router=h,this.claimsTrackingService=_,this.isLoading=!1,this.weightError=!1,this.emptyWeightError=!1,this.emptyCompensationError=!1,this.emptyDefectCategoryError=!1,this.hugeCompensationError=!1,this.extSalesId=null,this.extB2bUnit=null,this.extSalesOrder=null,this.ACTIVE_SITE=Re,this.views=[],this.selectedRows=[],this.loadedData=[],this.possibleExtensions=[],this.initialDxTableSettings=null,this.dxTableSettings=null,this.dxTableSettingsTop=null,this.maxSizeFile=10485760,this.maxSizeAllFiles=20971520,this.files=[],this.claimFiles=[],this.existsInvoices=[],this.allFieldsFilled=!0,this.initialErrors={file:!1,allFiles:!1,format:!1,uniqueNames:!1},this.errors={...this.initialErrors},this.destroyed$=new R.B,this.isTrading=!1,this.DELAY_REQUEST=18e4,this.creationTimestamp=null,this.isCreateTimeoutId=null,this.subscription=new X.yU}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete(),this.subscription?.unsubscribe()}rowsSelected(e,t=!1){if(!e.length)return;const s=e[0][W.SALES_ORG_EXT_ID];if(this.extSalesId&&this.extSalesId!==s)return;this.extSalesId=s;const o=e[0][W.B2B_UNIT];if(this.extB2bUnit&&this.extB2bUnit!==o)return;this.extB2bUnit=o;const l=e[0][W.SALES_ORDER_NUMBER];if(this.extSalesOrder&&this.extSalesOrder!==l)return;if(this.extSalesOrder=l,0===this.selectedRows.length)return this.selectedRows=e,this.claimsTrackingService.claimData$.next(e[0]),t&&this.weightClaimedToWeightInvoice();const u=JSON.parse(JSON.stringify(this.selectedRows)).map(_=>(t?(delete _.weightClaimed,delete _.attachments,delete _.id):(this.presetTradingFieldsValue(_),delete _.id),JSON.stringify(_))),h=e.filter(_=>{const C={..._};return delete C.id,!u.includes(JSON.stringify(C))});h.length&&(this.selectedRows=[...this.selectedRows,...h],h.forEach(_=>{this.claimsTrackingService.claimData$.next(_)}),t?this.weightClaimedToWeightInvoice():setTimeout(()=>this.checkDevExtremeFields(),300),this.changeDetection.detectChanges())}weightClaimedToWeightInvoice(){this.selectedRows.forEach(e=>{e.weightClaimed||(e.weightClaimed=String(e.weightInvoiced))})}saveLoadedData(e){if(this.loadedData=e,!e||0===e.length)return;const t=e[0][W.SALES_ORG_EXT_ID];this.eventBus.cast(J_CLAIM.ITEMS_LOADED,t),this.hideUnusedColumns(t)}removeItems(e){const t=this.selectedRows.filter(s=>e.includes(JSON.stringify(s)));this.eventBus.cast(J_CLAIM.REMOVED,t),this.selectedRows=this.selectedRows.filter(s=>!e.includes(JSON.stringify(s))),0===this.selectedRows.length?(this.extSalesId=null,this.extB2bUnit=null,this.extSalesOrder=null):this.isTrading&&(this.allFieldsFilled?setTimeout(()=>this.checkDevExtremeFields(),300):setTimeout(()=>this.checkFilledFields(),300))}onCellClosed(){this.isTrading?!this.allFieldsFilled||this.emptyWeightError?this.checkFilledFields():this.checkDevExtremeFields():(!this.allFieldsFilled||this.weightError||this.emptyWeightError)&&this.checkFilledFields()}init(e=!1){this.isTrading=e,this.loadTablesSettings(),this.getPossibleExtensions()}hideUnusedColumns(e){this.dxTableSettings=Object.assign({},this.initialDxTableSettings),this.dxTableSettingsTop=Object.assign({},this.initialDxTableSettings);const t=[W.PLATE_ID,W.CHARGE_NUMBER,W.LENGTH,W.MILL],s=this.isTrading?[W.PLATE_ID]:[W.COIL_ID],o=[W.PLATE_ID,W.REQUEST_COMPENSATION,W.DEFECT_CATEGORY,W.TOTAL_COMPENSATION,W.CURRENCY];this.dxTableSettings.columns=this.dxTableSettings.columns.filter(l=>e===Qt.STRIP?!t.includes(l.dataField):!s.includes(l.dataField)),this.dxTableSettingsTop.columns=this.dxTableSettingsTop.columns.filter(l=>e===Qt.STRIP?!t.includes(l.dataField):!o.includes(l.dataField)),this.changeDetection.detectChanges()}loadTablesSettings(){this.claimsService.getViews(E.CLAIMS.VIEWS).pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.isTrading||(e.dxTable.columns=e.dxTable.columns.filter(t=>t.dataField!==W.DEFECT_DESCRIPTION)),this.dxTableSettings=e.dxTable,this.dxTableSettingsTop=e.dxTable,this.initialDxTableSettings=e.dxTable,this.views=e.dxTableViews})}getPossibleExtensions(){this.claimsService.getPossibleExtensions().pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.possibleExtensions=e.map(t=>t.replace(".",""))})}checkFileErrors(e){this.claimsService.claimFiles$.next(this.claimFiles);const t=this.claimsService.claimFiles$.value.concat(this.claimsService.itemFiles$.value),s=e&&e===Re.EU?52428800:this.maxSizeAllFiles;this.errors=Si(t,this.maxSizeFile,this.possibleExtensions,s),this.changeDetection.detectChanges()}clearFiles(){this.claimFiles=[],this.checkFileErrors(Re.EU)}newItemSearch(){this.isLoading||(this.eventBus.cast(J_CLAIM.NEW_SEARCH),this.itemsSearch.nativeElement.scrollIntoView({behavior:"smooth"}),this.changeDetection.detectChanges())}confirmClaim(e){if(!this.isLoading){if(this.checkFilledFields(),this.errors.file||this.errors.allFiles||this.form.invalid||!this.allFieldsFilled||this.weightError||this.emptyWeightError||this.hugeCompensationError||!this.selectedRows||0===this.selectedRows?.length)return this.form.markAllAsTouched(),void this.claimsTrackingService.trackClaimError();this.showConfirmModal(),this.launchDialogService.dialogClose.pipe((0,B.p)(Boolean),(0,x.Q)(this.destroyed$)).subscribe(()=>{let t=this.buildRequestBody();this.form.invalid||(this.creationTimestamp=null,this.isTrading||(this.creationTimestamp=+new Date,t={...t,creationTimestamp:this.creationTimestamp},this.claimsTrackingService.trackClaimSubmit(),this.isClaimCreated(e)),this.isLoading=!0,this.changeDetection.detectChanges(),this.claimsService.claimsCreate(t,[...this.claimsService.itemAddedFiles$.value,...this.claimFiles],this.maxSizeFile,this.possibleExtensions,e===Re.EU?52428800:this.maxSizeAllFiles).pipe((0,_e.j)(()=>{this.isLoading=!1,this.extSalesOrder=null,this.resetClaimCreatedTimeout(),this.changeDetection.detectChanges()}),(0,pe.W)(s=>408===s.status?(this.globalMessageService.add({key:"claims.errors.timeoutError"},p.NCV.MSG_TYPE_ERROR),(0,ue.$)(s)):(this.globalMessageService.add(s?.error?.errors&&s?.error?.errors.length?s?.error?.errors[0].message:{key:"error.unknownError"},p.NCV.MSG_TYPE_ERROR),(0,ue.$)(s))),(0,x.Q)(this.destroyed$)).subscribe(s=>{this.showSuccessModal(s?.id||null,e)}))})}}showConfirmModal(){this.launchDialogService.openDialogAndSubscribe("CONFIRM_MODAL",void 0,{title:this.translatePipe.transform("claims.claimConfirmation"),subTitle:this.translatePipe.transform("claims.claimConfirmationDescription"),confirmButton:this.translatePipe.transform("common.confirm"),cancelButton:this.translatePipe.transform("common.back"),icon:"error_outline"})}clearPageData(){this.form.reset(),this.files=[],this.claimFiles=[],this.selectedRows=[],this.eventBus.cast(J_CLAIM.NEW_SEARCH),setTimeout(()=>{this.header?.nativeElement.scrollIntoView({behavior:"smooth"})})}showSuccessModal(e,t){const s="cancel";this.launchDialogService.openDialogAndSubscribe("SUCCESS_MODAL",void 0,{cancelReason:s,title:Re.EU?this.translatePipe.transform("claims.submitTitleEu"):this.translatePipe.transform("claims.submitTitle"),subTitle:this.translatePipe.transform("claims.submitDescription"),confirmButton:this.translatePipe.transform("claims.submitButton"),cancelButton:this.translatePipe.transform("claims.openMyClaim")}),this.subscription.add(this.launchDialogService.dialogClose.subscribe(o=>{o===s?e?this.router.navigate([this.redirectUrl],{queryParams:{claim:e}}).then():this.router.navigate([this.redirectUrl]).then():this.clearPageData()},()=>{this.clearPageData()}))}isClaimCreated(e){this.isCreateTimeoutId=setTimeout(()=>{this.claimsService.isClaimCreated(this.creationTimestamp).pipe((0,_e.j)(()=>{this.isLoading=!1,this.changeDetection.detectChanges()}),(0,pe.W)(t=>(this.globalMessageService.add({key:"claims.errors.timeoutError"},p.NCV.MSG_TYPE_ERROR),this.claimsTrackingService.trackClaimError(),(0,ue.$)(t))),(0,x.Q)(this.destroyed$)).subscribe(t=>{this.showSuccessModal(t||null,e)})},this.DELAY_REQUEST)}resetClaimCreatedTimeout(){window.clearTimeout(this.isCreateTimeoutId)}presetTradingFieldsValue(e){e.weightClaimed="",e.requestedCompensationPerTon="",e.totalRequestedCompensation="",e.attachments=[],e.defectDescription="",e.defectCategory=""}static#e=this.propDecorators={itemsSearch:[{type:n.Uct,args:["itemsSearch",{read:n.aKT}]}],header:[{type:n.Uct,args:["header",{read:n.aKT}]}]}}let Da=class extends Zg{constructor(e,t,s,o,l,u,h,_){super(e,t,s,o,l,u,h,_),this.claimsService=e,this.changeDetection=t,this.eventBus=s,this.launchDialogService=o,this.globalMessageService=l,this.translatePipe=u,this.router=h,this.claimsTrackingService=_,this.redirectUrl=M.CLAIMS.LIST,this.form=new m.J3({subject:new m.hs("",[m.k0.required,m.k0.maxLength(40),He]),category:new m.hs(null,m.k0.required),defectDescription:new m.hs("",[m.k0.required,m.k0.maxLength(1e3),He])}),this.requiredInvoiceFields=[W.WEIGHT_CLAIMED],this.allFiles$=this.claimsService.allFiles$}ngOnInit(){super.init()}buildRequestBody(){this.claimsService.itemAddedFiles$.next([]),this.selectedRows.forEach((t,s)=>{t.priceInvoiced=this.stringToFloat(t.priceInvoiced),t.weightInvoiced=this.stringToFloat(t.weightInvoiced),t.weightClaimed=this.stringToFloat(t.weightClaimed)?.toString(10),t.attachments&&(t.attachments.forEach(o=>{if("number"!=typeof o){const l=this.files.length;this.files[l]=o;const u=new File([o],`${s+1}_${o.name}`);this.claimsService.itemAddedFiles$.next([...this.claimsService.itemAddedFiles$.value,u])}}),delete t.attachments),delete t.id});const e={...this.form.value};return this.selectedRows.length>0&&(e.items=this.selectedRows),this.shipTo&&(e.shipTo=this.shipTo),e}stringToFloat(e){if(e)return"number"==typeof e?e:parseFloat(e.replace(",","."))}shipToChanged(e){this.shipTo=e}checkFilledFields(){this.allFieldsFilled=!0,this.weightError=!1,this.emptyWeightError=!1,this.selectedRows.forEach(e=>{+e[W.WEIGHT_CLAIMED]>Number(e[W.WEIGHT_INVOICED])&&(this.weightError=!0),(!e[W.WEIGHT_CLAIMED]||"0"===e[W.WEIGHT_CLAIMED])&&(this.emptyWeightError=!0),this.requiredInvoiceFields.forEach(t=>{e[t]||(this.allFieldsFilled=!1)})}),this.changeDetection.detectChanges()}checkDevExtremeFields(){this.checkFilledFields()}static#e=this.ctorParameters=()=>[{type:ke},{type:n.gRc},{type:ve.u},{type:v.PLe},{type:p.S8D},{type:p.D97},{type:y.Ix},{type:Un}]};Da=(0,r.Cg)([(0,n.uAl)({selector:"app-claims-create-commerce",template:'<div class="mb-30" #header>\n  <app-claims-header></app-claims-header>\n</div>\n\n<div class="mb-20">\n  <app-blur-wrapper [blur]="isLoading">\n    <app-claims-create-claim [form]="form"></app-claims-create-claim>\n  </app-blur-wrapper>\n</div>\n\n<div class="mb-20 position-relative">\n  <div class="anchor" #itemsSearch ></div>\n  <app-blur-wrapper [blur]="isLoading">\n    <app-claims-add-items\n      [isTrading]="false"\n      [views]="views"\n      [dxTableSettings]="dxTableSettings"\n      [extSalesId]="extSalesId"\n      [extB2bUnit]="extB2bUnit"\n      [extSalesOrder]="extSalesOrder"\n      (shipToChange)="shipToChanged($event)"\n      (rowsSelected)="rowsSelected($event, true)"\n      (dataLoaded)="saveLoadedData($event)">\n    </app-claims-add-items>\n  </app-blur-wrapper>\n</div>\n\n<div class="mb-20">\n  <app-blur-wrapper [blur]="isLoading">\n    <app-claimed-items\n      [activeSite]="ACTIVE_SITE.EU"\n      [possibleExtensions]="possibleExtensions"\n      [maxSizeFile]="maxSizeFile"\n      [allFieldsFilled]="allFieldsFilled"\n      [dxTableSettings]="dxTableSettings"\n      [finalData]="selectedRows"\n      [maxSizeAllFiles]="maxSizeAllFiles"\n      [weightError]="weightError"\n      [emptyWeightError]="emptyWeightError"\n      [withTooltipInHeader]="true"\n      [showWeightErrors]="true"\n      (removeItems)="removeItems($event)"\n      (cellClosed)="onCellClosed()"\n      (itemsFilesChanged)="checkFileErrors(ACTIVE_SITE.EU)"\n    ></app-claimed-items>\n  </app-blur-wrapper>\n</div>\n\n<div class="mb-20">\n  <app-blur-wrapper [blur]="isLoading">\n    <app-card-attachments\n      [files]="claimFiles"\n      [allFiles]="allFiles$ | async"\n      [maxSize]="maxSizeFile"\n      [header]="\'claims.attachments.title\' | cxTranslate"\n      [allFilesSize]="\'trading.inquiry.allFilesSizeEu\' | cxTranslate"\n      [possibleExtensions]="possibleExtensions"\n      [tooltip]="\'claims.attachments.tooltip\' | cxTranslate"\n      (add)="checkFileErrors(ACTIVE_SITE.EU)"\n      (delete)="checkFileErrors(ACTIVE_SITE.EU)"\n      (clear)="clearFiles()"\n    ></app-card-attachments>\n  </app-blur-wrapper>\n</div>\n\n<div class="mb-20">\n  <app-card-wrapper [overflowVisible]="true">\n    <div\n      *ngIf="weightError || emptyWeightError || errors.allFiles || errors.file || errors.format || errors.uniqueNames"\n      class="claims-errors">\n      <div *ngIf="weightError" class="claims-errors__error">\n        <svg-icon-sprite class="claims-errors__error-icon" src="error" width="16" height="16"></svg-icon-sprite>\n\n        <p class="claims-errors__error-text">\n          {{ \'claims.weightError\' | cxTranslate }}\n        </p>\n      </div>\n\n      <div *ngIf="emptyWeightError" class="claims-errors__error">\n        <svg-icon-sprite class="claims-errors__error-icon" src="error" width="16" height="16"></svg-icon-sprite>\n\n        <p class="claims-errors__error-text">\n          {{ \'claims.emptyFieldsError\' | cxTranslate }}\n        </p>\n      </div>\n      <div *ngIf="errors.allFiles || errors.file || errors.format || errors.uniqueNames">\n        <app-attachments-errors [isCommerce]="true" [errors]="errors"></app-attachments-errors>\n      </div>\n    </div>\n    <div class="claims-buttons">\n      <button\n        class="claims-buttons__button btn btn-secondary"\n        [disabled]="isLoading"\n        (click)="newItemSearch()"\n      >\n        {{ \'claims.newItemSearch\' | cxTranslate }}\n      </button>\n\n      <button\n        class="claims-buttons__button btn btn-default"\n        (click)="confirmClaim(ACTIVE_SITE.EU)"\n        [disabled]="isLoading"\n      >\n        <span class="claims-buttons__button-text">\n          {{ \'claims.confirmClaim\' | cxTranslate }}\n        </span>\n        <ng-container *ngIf="isLoading">\n          <app-thin-loader size="18px"></app-thin-loader>\n        </ng-container>\n      </button>\n    </div>\n  </app-card-wrapper>\n</div>\n',styles:[RI()]})],Da);var AI=i(53303),II=i.n(AI),La=i(27468);let ka=class extends Zg{constructor(e,t,s,o,l,u,h,_,C){super(t,s,o,l,u,h,_,C),this.document=e,this.claimsService=t,this.changeDetection=s,this.eventBus=o,this.launchDialogService=l,this.globalMessageService=u,this.translatePipe=h,this.router=_,this.claimsTrackingService=C,this.redirectUrl=M.CLAIMS.LIST,this.form=new m.J3({subject:new m.hs("",[m.k0.required,m.k0.maxLength(40),He]),type:new m.hs(null,m.k0.required),mill:new m.hs(null,m.k0.required)}),this.requiredInvoiceFields=[W.WEIGHT_CLAIMED,W.REQUEST_COMPENSATION,W.DEFECT_CATEGORY,W.TOTAL_COMPENSATION],this.categories={},this.allFiles$=this.claimsService.allFiles$}ngOnInit(){super.init(!0)}buildRequestBody(){this.claimsService.itemAddedFiles$.next([]),this.selectedRows.forEach((t,s)=>{t.attachments&&(t.attachments.forEach(o=>{if("number"!=typeof o){const l=this.files.length;this.files[l]=o;const u=new File([o],`${s+1}_${o.name}`);this.claimsService.itemAddedFiles$.next([...this.claimsService.itemAddedFiles$.value,u])}}),delete t.attachments),t.id&&delete t.id});const e={...this.form.value,links:this.claimsService.attachComment$.value,seller:this.claimsService.currentSeller$.value};return this.selectedRows.length>0&&(e.items=this.selectedRows),e}loadCategories(e){const t=e.map(o=>o.productCategory),s=[];t.forEach(o=>{this.categories.hasOwnProperty(o)||s.push(this.claimsService.getDefectCategories(o).pipe((0,z.M)(l=>{this.categories[o]=l.sort((u,h)=>(""+u.label).localeCompare(h.label))})))}),(0,La.p)(s).pipe((0,x.Q)(this.destroyed$)).subscribe()}presetCustomFields(e){e.forEach(t=>{this.presetTradingFieldsValue(t)}),this.rowsSelected(e),this.loadCategories(e)}calc(e){const t=+(+e.weightClaimed*+e.requestedCompensationPerTon).toFixed(3);return e.totalRequestedCompensation=t.toString(),`${t} ${e.currency}`}checkFilledFields(){this.allFieldsFilled=!0,this.emptyWeightError=!1,this.emptyCompensationError=!1,this.emptyDefectCategoryError=!1,this.selectedRows.forEach(e=>{(!e[W.WEIGHT_CLAIMED]||"0"===e[W.WEIGHT_CLAIMED])&&(this.emptyWeightError=!0),(!e[W.REQUEST_COMPENSATION]||"0"===e[W.REQUEST_COMPENSATION])&&(this.emptyCompensationError=!0),e[W.DEFECT_CATEGORY]||(this.emptyDefectCategoryError=!0),this.requiredInvoiceFields.forEach(t=>{e[t]||(this.allFieldsFilled=!1)})}),setTimeout(()=>this.checkDevExtremeFields(),300),this.changeDetection.detectChanges()}checkDevExtremeFields(){this.hugeCompensationError=!1,this.weightError=!1,this.selectedRows.forEach((e,t)=>{+e[W.WEIGHT_CLAIMED]>+e[W.NET_WEIGHT].split(" ")[0]&&(setTimeout(()=>{this.document.getElementsByClassName(`data-grid-cell__${W.WEIGHT_CLAIMED}_${e.id}`).length&&this.document.getElementsByClassName(`data-grid-cell__${W.WEIGHT_CLAIMED}_${e.id}`)[0].classList.add("cell-invalid")}),this.weightError=!0),+e[W.REQUEST_COMPENSATION]>+e[W.EFFECTIVE_PRICE].split(" ")[0]&&(this.hugeCompensationError=!0,setTimeout(()=>{this.document.getElementsByClassName(`data-grid-cell__${W.REQUEST_COMPENSATION}_${e.id}`).length&&this.document.getElementsByClassName(`data-grid-cell__${W.REQUEST_COMPENSATION}_${e.id}`)[0].classList.add("cell-invalid")}))}),this.changeDetection.detectChanges()}optionChanged(){setTimeout(()=>this.checkDevExtremeFields(),300)}static#e=this.ctorParameters=()=>[{type:Document,decorators:[{type:n.y_5,args:[S.qQ]}]},{type:ke},{type:n.gRc},{type:ve.u},{type:v.PLe},{type:p.S8D},{type:p.D97},{type:y.Ix},{type:Un}]};ka=(0,r.Cg)([(0,n.uAl)({selector:"app-claims-create-trading",template:'<div class="mb-30" #header>\n  <app-claims-header></app-claims-header>\n</div>\n\n<div class="mb-20">\n  <app-blur-wrapper [blur]="isLoading">\n    <app-claims-trading-create-claim\n      [form]="form"\n    ></app-claims-trading-create-claim>\n  </app-blur-wrapper>\n</div>\n\n<div class="mb-20 position-relative">\n  <div class="anchor" #itemsSearch></div>\n  <app-blur-wrapper [blur]="isLoading">\n    <app-claims-add-items\n      [isTrading]="true"\n      [views]="views"\n      [dxTableSettings]="dxTableSettingsTop"\n      (rowsSelected)="presetCustomFields($event)"\n      (dataLoaded)="saveLoadedData($event)"\n    >\n    </app-claims-add-items>\n  </app-blur-wrapper>\n</div>\n\n<div class="mb-20">\n  <app-blur-wrapper [blur]="isLoading">\n    <app-claimed-items\n      [isTrading]="true"\n      [possibleExtensions]="possibleExtensions"\n      [maxSizeFile]="maxSizeFile"\n      [allFieldsFilled]="allFieldsFilled"\n      [dxTableSettings]="dxTableSettings"\n      [finalData]="selectedRows"\n      [maxSizeAllFiles]="maxSizeAllFiles"\n      [defectCategories]="categories"\n      [calcFn]="calc"\n      [weightError]="weightError"\n      [emptyWeightError]="emptyWeightError"\n      [emptyCompensationError]="emptyCompensationError"\n      [hugeCompensationError]="hugeCompensationError"\n      [emptyDefectCategoryError]="emptyDefectCategoryError"\n      [headerFilter]="false"\n      (removeItems)="removeItems($event)"\n      (itemsFilesChanged)="checkFileErrors()"\n      (cellClosed)="onCellClosed()"\n      (optionChanged)="optionChanged()"\n    >\n    </app-claimed-items>\n  </app-blur-wrapper>\n</div>\n\n<div class="mb-20">\n  <app-blur-wrapper [blur]="isLoading">\n    <app-card-attachments\n      [withInput]="true"\n      [files]="claimFiles"\n      [allFiles]="allFiles$ | async"\n      [maxSize]="maxSizeFile"\n      [allFilesSize]="\'trading.inquiry.allFilesSize\' | cxTranslate"\n      [possibleExtensions]="possibleExtensions"\n      (add)="checkFileErrors()"\n      (delete)="checkFileErrors()"\n      (clear)="clearFiles()"\n    >\n    </app-card-attachments>\n  </app-blur-wrapper>\n</div>\n\n<div class="mb-20">\n  <app-card-wrapper [overflowVisible]="true">\n    <div\n      *ngIf="errors.allFiles || errors.file || errors.format || errors.uniqueNames"\n      class="claims-errors"\n    >\n      <app-attachments-errors\n        [isCommerce]="true"\n        [isTrading]="true"\n        [errors]="errors"\n      ></app-attachments-errors>\n    </div>\n    <div class="claims-buttons">\n      <button\n        class="claims-buttons__button btn btn-secondary"\n        [disabled]="isLoading"\n        (click)="newItemSearch()"\n      >\n        {{ \'claims.newItemSearch\' | cxTranslate }}\n      </button>\n      <button\n        class="claims-buttons__button btn btn-default"\n        [disabled]="isLoading"\n        (click)="confirmClaim(ACTIVE_SITE.TRADING)"\n      >\n        <span class="claims-buttons__button-text">\n          {{ \'claims.confirmClaim\' | cxTranslate }}\n        </span>\n\n        <ng-container *ngIf="isLoading">\n          <app-thin-loader size="18px"></app-thin-loader>\n        </ng-container>\n      </button>\n    </div>\n  </app-card-wrapper>\n</div>\n',styles:[II()]})],ka);var PI=i(44402),DI=i.n(PI);let Fa=class{onResize(){this.cards=this.claimService.getCurrentCardSize(this.shownItemsCountBeforeScrollDesktop,this.shownItemsCountBeforeScrollMobile)}constructor(e,t,s,o,l){this.claimService=e,this.route=t,this.changeDetection=s,this.router=o,this.pageService=l,this.destroyed$=new R.B,this.claim=null,this.isLoading=!0,this.shownItemsCount=10,this.shownItemsCountBeforeScrollDesktop=3,this.shownItemsCountBeforeScrollMobile=2,this.cards={cardSize:179,shownItemsCountBeforeScroll:3}}ngOnInit(){this.loadClaim()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}loadClaim(){const{claim:e}=this.route.snapshot.queryParams;this.claimService.getClaim(e).pipe((0,pe.W)(t=>(this.pageService.triggerErrorPage(),(0,ue.$)(t))),(0,x.Q)(this.destroyed$)).subscribe(t=>{this.claim=t,this.onResize(),this.isLoading=!1,this.changeDetection.detectChanges()})}download(e){this.claimService.downloadDocument(this.claim.claimID,e.objectId).pipe((0,x.Q)(this.destroyed$)).subscribe(t=>{this.claimService.saveEmit(t,e.documentName)})}downloadAll(){this.claimService.downloadDocuments(this.claim.claimID).pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.claimService.saveEmit(e,"files.zip")})}goBack(){this.router.navigate([M.CLAIMS.LIST]).then()}showMore(){return this.shownItemsCount+=10}static#e=this.ctorParameters=()=>[{type:ke},{type:y.nX},{type:n.gRc},{type:y.Ix},{type:mt}];static#t=this.propDecorators={onResize:[{type:n.Z$l,args:["window:resize"]}]}};Fa=(0,r.Cg)([(0,n.uAl)({selector:"app-claims-detail-commerce",template:'<div class="claim-detail">\n  <app-back-button (click)="goBack()">{{ \'claims.detail.backButton\'  | cxTranslate }}</app-back-button>\n\n  <div class="claim-detail__header d-flex align-items-center">\n    <app-page-title class="claim-detail__claim-id">\n      {{ \'claims.detail.claimId\'  | cxTranslate }} {{  claim?.claimID }}\n    </app-page-title>\n\n\x3c!--    <app-title-info>--\x3e\n\x3c!--      <p>{{ \'claims.detail.infoTitle\'  | cxTranslate }}</p>--\x3e\n\x3c!--    </app-title-info>--\x3e\n  </div>\n\n  <ng-container *ngIf="!isLoading; else loader">\n    <app-card-wrapper class="claim-detail__subject">\n      <app-card-row\n        [title]="\'claims.subject\' | cxTranslate"\n        [description]="claim.subject"\n        [inline]="true"\n      ></app-card-row>\n\n      <app-card-row\n        [last]="true"\n        [title]="\'claims.detail.defectDescription\' | cxTranslate"\n        [safeHtml]="claim.defectDescription | safeHtml"\n        [secondary]="true"\n      ></app-card-row>\n    </app-card-wrapper>\n\n    <app-card-wrapper class="claim-detail__info">\n      <div class="claim-detail__info-card-wrapper">\n        <app-text-block\n          [title]="\'claims.category\' | cxTranslate"\n          [description]="(\'claims.categories.\' + claim.category.toLowerCase()) | cxTranslate"\n        ></app-text-block>\n\n        <ng-container *ngIf="claim.items && claim.items.length && claim.items[0]?.plateId">\n          <app-text-block\n            [title]="\'claims.card.claimReason\' | cxTranslate"\n            [description]="claim.claimReason"\n          ></app-text-block>\n\n          <app-text-block\n            [title]="\'claims.card.incident\' | cxTranslate"\n            [description]="claim.incident"\n          ></app-text-block>\n        </ng-container>\n      </div>\n    </app-card-wrapper>\n\n    <div class="claim-detail__main-grid">\n      <app-status-stepper [title]="\'claims.detail.claimStatus\' | cxTranslate">\n        <ng-container *ngFor="let status of claim.statuses?.claimStatusChronologyValues">\n          <app-claim-status-stepper-item\n            [current]="claim.statuses.lastSavedStatus"\n            [status]="status"\n          ></app-claim-status-stepper-item>\n        </ng-container>\n      </app-status-stepper>\n\n\n      <div class="claim-detail__main-list">\n        <app-card-wrapper class="claim-detail__placed">\n          <div class="claim-detail__placed-wrapper">\n            <div class="claim-detail__placed-info">\n              <app-text-block\n                [title]="\'claims.detail.placedBy\' | cxTranslate"\n                [description]="claim.placedByName"\n              ></app-text-block>\n\n              <app-text-block\n                [title]="\'claims.card.placementDate\' | cxTranslate"\n                [description]="claim.placementDate | date: \'dd.MM.yyyy\'"\n              ></app-text-block>\n            </div>\n            <p class="claim-detail__placed-link">\n              <a href="mailto:{{claim.placedByEmail}}">{{ claim.placedByEmail}}</a>\n            </p>\n          </div>\n        </app-card-wrapper>\n\n        <app-card-wrapper class="claim-detail__comments">\n          <div class="claim-detail__comments-wrapper">\n            <app-text-block [title]="\'claims.detail.comments\' | cxTranslate">\n              <div [innerHTML]="claim.comments | safeHtml"></div>\n            </app-text-block>\n          </div>\n        </app-card-wrapper>\n      </div>\n    </div>\n\n    <div class="claim-detail__items">\n      <app-toggle-card [isExpand]="true" [hideToggleButton]="false" [grey]="true" [secondary]="true">\n        <svg-icon-sprite\n          header-icon\n          src="shopping_cart"\n          width="18"\n          height="18"\n        ></svg-icon-sprite>\n\n        <span header-left>{{\'claims.card.claimItems\' | cxTranslate}}</span>\n\n        <div toggle-body class="claim-detail__items-body">\n          <scrollbar [style.max-height.px]="cards.cardSize * cards.shownItemsCountBeforeScroll">\n            <ng-container *ngFor="let item of claim.items.slice(0, shownItemsCount); let itemIndex = index; let last = last">\n              <app-claims-list-card-items\n                [item]="item"\n                [claim]="claim"\n                [last]="last"\n                [itemIndex]="itemIndex"\n              ></app-claims-list-card-items>\n            </ng-container>\n\n            <app-show-more *ngIf="claim.items.length > 10">\n              <ng-container total>\n                {{ \'orders.ordersActive.itemOfItems\' | cxTranslate : { items: shownItemsCount < claim.items.length ? shownItemsCount : claim.items.length, totalItems: claim.items.length } }}\n              </ng-container>\n\n              <ng-container button>\n                <button\n                  class="btn btn--sm btn-secondary"\n                  [disabled]="shownItemsCount >= claim.items.length"\n                  (click)="showMore()"\n                >\n                  {{ \'button.showMoreItems\' | cxTranslate }}\n                </button>\n              </ng-container>\n            </app-show-more>\n          </scrollbar>\n        </div>\n      </app-toggle-card>\n    </div>\n\n    <div class="claim-detail__attachments">\n      <app-toggle-card [isExpand]="true" [hideToggleButton]="false">\n        <svg-icon-sprite\n          header-icon\n          src="attach_file"\n          width="18"\n          height="18"\n        ></svg-icon-sprite>\n\n        <span header-left>{{\'claims.detail.attachments\' | cxTranslate}}</span>\n\n        <div toggle-body>\n          <div class="claim-detail__attachments-wrapper">\n            <div class="claim-detail__attachments-list" *ngIf="claim?.documents">\n              <app-attachment-card\n                *ngFor="let document of claim.documents"\n                [document]="document"\n                (click)="download(document)"\n              ></app-attachment-card>\n            </div>\n\n            <button class="btn btn-secondary" (click)="downloadAll()">\n              {{\'claims.detail.downloadAll\' | cxTranslate}}\n            </button>\n          </div>\n        </div>\n      </app-toggle-card>\n    </div>\n  </ng-container>\n</div>\n\n<ng-template #loader>\n  <app-loader></app-loader>\n</ng-template>\n',styles:[DI()]})],Fa);var kI=i(5463),FI=i.n(kI);let Ma=class{constructor(e,t,s,o,l,u){this.claimsService=e,this.translatePipe=t,this.changeDetection=s,this.route=o,this.router=l,this.globalMessageService=u,this.claims=[],this.sorts=[],this.pagination=null,this.activeSort="",this.isLoading=!0,this.EMPTY_CARD_TYPES=et,this.destroyed$=new R.B}ngOnInit(){this.initRouteSub()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}initRouteSub(){this.route.queryParams.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.isLoading=!0,this.loadClaims(e)})}loadClaims(e={}){this.router.url.includes(M.CLAIMS.LIST)&&this.claimsService.getClaims(e).pipe((0,_e.j)(()=>{this.isLoading=!1,this.changeDetection.detectChanges()}),(0,pe.W)(t=>(this.globalMessageService.add(t.error.errors[0].message,p.NCV.MSG_TYPE_ERROR),this.changeDetection.detectChanges(),(0,ue.$)(t))),(0,x.Q)(this.destroyed$)).subscribe(t=>{const{claims:s,sorts:o,pagination:l}=t;this.claims=s,this.setSorts(o),this.pagination=l})}showFn(e){return t=>e.transform(t.name)}setSorts(e){this.sorts=e;const t=this.sorts.find(s=>s.selected);this.activeSort=t.code,this.changeDetection.detectChanges()}selectSort(e){const t=Object.assign({},this.route.snapshot.queryParams,{sort:e.code});this.router.navigate([],{relativeTo:this.route,queryParams:t})}static#e=this.ctorParameters=()=>[{type:ke},{type:p.D97},{type:n.gRc},{type:y.nX},{type:y.Ix},{type:p.S8D}]};Ma=(0,r.Cg)([(0,n.uAl)({selector:"app-claims-listing-commerce",template:'<div class="claims">\n  <div class="claims__header d-flex justify-content-between align-items-center">\n    <app-page-title\n      [noMargin]="true"\n      class="claims__title"\n    >\n      {{ \'claims.claimsList\' | cxTranslate }}\n    </app-page-title>\n    <app-sort-select\n      *ngIf="sorts.length"\n      bindValue="code"\n      bindTitle="name"\n      [activeItem]="activeSort"\n      [sortTitle]="\'claims.sorting\' | cxTranslate"\n      [items]="sorts"\n      [showFn]="showFn(translatePipe)"\n      [disabled]="isLoading"\n      showSortIcons="true"\n      (selectItem)="selectSort($event)">\n    </app-sort-select>\n  </div>\n\n  <div *ngIf="!isLoading; else loader" class="claims__list">\n    <ng-container *ngIf="claims.length > 0; else noProducts">\n      <ng-container *ngFor="let claim of claims; let index = index">\n        <app-claims-list-card [claim]="claim" [index]="index"></app-claims-list-card>\n      </ng-container>\n    </ng-container>\n  </div>\n\n  <cx-pagination\n    *ngIf="pagination?.totalResults > 0"\n    [defaultPage]="0"\n    [pagination]="pagination"\n    queryParam="currentPage"\n  ></cx-pagination>\n</div>\n<ng-template #noProducts>\n  <app-cards-is-not-found\n    [text]="\'claims.emptyActiveClaims\' | cxTranslate"\n    [buttonText]="\'button.backToHome\' | cxTranslate"\n    [type]="EMPTY_CARD_TYPES.BACK_TO_HOME"\n    icon="list_alt"\n    buttonIcon="arrow_back"\n    class="product-card-wrapper"\n  ></app-cards-is-not-found>\n</ng-template>\n\n<ng-template #loader>\n  <app-loader></app-loader>\n</ng-template>\n',styles:[FI()]})],Ma);var NI=i(99989),UI=i.n(NI);let Na=class{constructor(e,t,s,o,l,u,h,_,C){this.claimsService=e,this.translatePipe=t,this.changeDetection=s,this.route=o,this.router=l,this.documentService=u,this.userAccountService=h,this.globalMessageService=_,this.launchDialogService=C,this.views=[],this.dxViewSettings={},this.reportData=[],this.selectedView=null,this.headerSettings=null,this.selectedRows=[],this.dxEntriesViewSettings={},this.entriesSettings=null,this.childReportData=[],this.entriesViews=[],this.selectedEntriesView=null,this.pagination=null,this.destroyed$=new R.B,this.noData=!1,this.isLoading=!1,this.inProcess=!1,this.EMPTY_CARD_TYPES=et,this.attachments=[],this.attachmentsLoading=!1,this.currentClaimId=new P.t(null),this.subscription=new X.yU,this.dxViewSettings$=new n.bkB,this.views$=new n.bkB,this.selectedView$=new n.bkB,this.selectedRows$=new n.bkB}ngOnInit(){this.loadSettings(),this.requestAttachments()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete(),this.subscription?.unsubscribe()}loadSettings(){this.isLoading=!0,(0,La.p)([this.claimsService.getViews(E.CLAIMS.VIEWS_TRADING_LISTING_HEADER),this.claimsService.getViews(E.CLAIMS.VIEWS_TRADING_LISTING_ENTRIES)]).pipe((0,x.Q)(this.destroyed$)).subscribe(([e,t])=>{this.headerSettings=e.dxTable,this.entriesSettings=t.dxTable,this.views=e.dxTableViews,this.entriesViews=t.dxTableViews,this.changeDetection.detectChanges(),this.initRouteSub()})}initRouteSub(){this.route.queryParams.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.loadClaims(e)})}loadClaims(e={}){this.inProcess=!0,this.claimsService.getClaims(e).pipe((0,pe.W)(t=>(this.globalMessageService.add(t.error.errors[0].message,p.NCV.MSG_TYPE_ERROR),this.isLoading=!1,this.noData=!0,this.inProcess=!1,this.changeDetection.detectChanges(),(0,ue.$)(t))),(0,x.Q)(this.destroyed$)).subscribe(t=>{this.isLoading=!1,this.inProcess=!1;const{claims:s,pagination:o}=t;this.reportData=s,this.pagination=o,this.changeDetection.detectChanges()})}showFn(e){return t=>e.transform(t.name)}selectSort(e){const t=Object.assign({},this.route.snapshot.queryParams,{sort:e.code});this.router.navigate([],{relativeTo:this.route,queryParams:t}).then()}requestAttachments(){this.currentClaimId.pipe((0,B.p)(Boolean),(0,k.n)(e=>this.claimsService.requestAttachments(e)),(0,_e.j)(()=>{this.attachmentsLoading=!1}),(0,x.Q)(this.destroyed$)).subscribe(e=>{this.attachmentsLoading=!1,this.attachments=e,this.changeDetection.detectChanges()})}onRowClick(e){this.childReportData=e.data.items,this.currentClaimId.next(e.data.claimID),this.attachmentsLoading=!0,this.changeDetection.detectChanges()}download(e){this.claimsService.downloadDocument(this.currentClaimId.value,e.objectId).pipe((0,x.Q)(this.destroyed$)).subscribe(t=>{this.claimsService.saveEmit(t,e.documentName)})}downloadAll(){this.claimsService.downloadDocuments(this.currentClaimId.value).pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.claimsService.saveEmit(e,"files.zip")})}onDownloadFile(e){this.documentService.downloadBy(E.USER.DOCUMENTS.CLAIM.FILE,{claimId:e.data.claimID,documentId:e.file.objectId}).pipe((0,x.Q)(this.destroyed$)).subscribe(t=>{const s=this.documentService.getBlob(t);this.documentService.saveAs(s,e.file.documentName)})}createView(e,t){const s=t?Qe.NLMK_CLAIM_HEADER_TRADING:Qe.NLMK_CLAIM_ITEM_TRADING;this.claimsService.createTableView(e,s).pipe((0,x.Q)(this.destroyed$)).subscribe(o=>{e.code=o.code,t?(this.views=[...this.views,e],this.selectedView=e,this.dxViewSettings=this.selectedView?.setting?JSON.parse(this.selectedView.setting):{},this.views$.emit(this.views),this.dxViewSettings$.emit(this.dxViewSettings),this.selectedView$.emit(this.selectedView)):(this.entriesViews=[...this.entriesViews,e],this.selectedEntriesView=e,this.dxEntriesViewSettings=this.selectedEntriesView?.setting?JSON.parse(this.selectedEntriesView.setting):{},this.views$.emit(this.entriesViews),this.dxViewSettings$.emit(this.dxEntriesViewSettings),this.selectedView$.emit(this.selectedEntriesView)),this.changeDetection.detectChanges()})}editView(e,t){this.claimsService.getTableView(e.code).pipe((0,k.n)(s=>{s.dxTableView.name=e.name;const o=t?Qe.NLMK_CLAIM_HEADER_TRADING:Qe.NLMK_CLAIM_ITEM_TRADING;return this.claimsService.editTableView(s.dxTableView,o)}),(0,x.Q)(this.destroyed$)).subscribe(()=>{if(t){const s=[...this.views];s.forEach(o=>{o.code===e.code&&(o.name=e.name)}),this.views=s,this.views$.emit(this.views)}else{const s=[...this.entriesViews];s.forEach(o=>{o.code===e.code&&(o.name=e.name)}),this.entriesViews=s,this.views$.emit(this.entriesViews)}this.changeDetection.detectChanges()})}deleteView(e,t){this.claimsService.deleteTableView(e).pipe((0,x.Q)(this.destroyed$)).subscribe(()=>{t?(this.views=this.views.filter(s=>s.code!==e),this.views$.emit(this.views)):(this.entriesViews=this.entriesViews.filter(s=>s.code!==e),this.views$.emit(this.entriesViews)),this.changeDetection.detectChanges()})}changeTableView(e,t){t?(this.dxViewSettings=JSON.parse(e.setting),this.selectedView=e,this.dxViewSettings$.emit(this.dxViewSettings)):(this.dxEntriesViewSettings=JSON.parse(e.setting),this.selectedEntriesView=e,this.dxViewSettings$.emit(this.dxEntriesViewSettings),this.changeDetection.detectChanges()),this.claimsService.getTableView(e.code).pipe((0,x.Q)(this.destroyed$)).subscribe(s=>{t?(this.dxViewSettings=s.dxTableView?.setting?JSON.parse(s.dxTableView.setting):{},this.dxViewSettings$.emit(this.dxViewSettings)):(this.dxEntriesViewSettings=s.dxTableView?.setting?JSON.parse(s.dxTableView.setting):{},this.dxViewSettings$.emit(this.dxEntriesViewSettings)),this.changeDetection.detectChanges()})}tableViewTypeChanged(e,t){e?this.userAccountService.get().pipe((0,x.Q)(this.destroyed$)).subscribe(s=>{s&&s.uid&&(t?(this.views=this.views.filter(o=>o.user===s.uid||!o.user),this.views$.emit(this.views)):(this.entriesViews=this.entriesViews.filter(o=>o.user===s.uid||!o.user),this.views$.emit(this.entriesViews))),this.changeDetection.detectChanges()}):this.claimsService.getViews(E.CLAIMS.VIEWS).pipe((0,x.Q)(this.destroyed$)).subscribe(s=>{t?(this.views=s.dxTableViews,this.views$.emit(this.views)):(this.entriesViews=s.dxTableViews,this.views$.emit(this.entriesViews)),this.changeDetection.detectChanges()})}openModal(e=!1){const t=new n.bkB,s=new n.bkB,o=new n.bkB,l=new n.bkB,u=new n.bkB,h=new n.bkB,_=new n.bkB,C=new n.bkB,T=new n.bkB,D={contentIsReady:t,createView:s,changeTableView:o,tableViewTypeChanged:l,editView:h,fileDownload:_,rowClicked:C,selectedRowsChanged:T,views$:this.views$,dxViewSettings$:this.dxViewSettings$,selectedRows$:this.selectedRows$,selectedView$:this.selectedView$,reportData:e?this.reportData:this.childReportData,dxTableSettings:e?this.headerSettings:this.entriesSettings,dxViewSettings:e?this.dxViewSettings:this.dxEntriesViewSettings,views:e?this.views:this.entriesViews,selectedView:e?this.selectedView:this.selectedEntriesView,fileTitle:"claims.fileTitle",title:e?"claims.myCompanyClaims":"claims.resultTitle"};e&&(D.highlightSelected=!0),this.launchDialogService.openDialogAndSubscribe("CLAIMS_LISTING_MODAL",void 0,D),this.subscription.add(t.pipe((0,x.Q)(this.destroyed$)).subscribe(()=>{this.dxViewSettings$.emit(e?this.dxViewSettings:this.dxEntriesViewSettings),e&&this.selectedRows$.emit(this.selectedRows)})),this.subscription.add(s.pipe((0,x.Q)(this.destroyed$)).subscribe(F=>{this.createView(F,e)})),this.subscription.add(o.pipe((0,x.Q)(this.destroyed$)).subscribe(F=>{F||this.clearCurrentView(e),this.changeTableView(F,e)})),this.subscription.add(l.pipe((0,x.Q)(this.destroyed$)).subscribe(F=>{this.tableViewTypeChanged(F,e)})),this.subscription.add(u.pipe((0,x.Q)(this.destroyed$)).subscribe(F=>{this.deleteView(F,e)})),this.subscription.add(h.pipe((0,x.Q)(this.destroyed$)).subscribe(F=>{this.editView(F,e)})),e&&(this.subscription.add(_.pipe((0,x.Q)(this.destroyed$)).subscribe(F=>{this.onDownloadFile(F)})),this.subscription.add(C.pipe((0,x.Q)(this.destroyed$)).subscribe(F=>{this.onRowClick(F)})),this.subscription.add(T.pipe((0,x.Q)(this.destroyed$)).subscribe(F=>{this.selectedRows=F,this.changeDetection.detectChanges()}))),this.launchDialogService.dialogClose.subscribe(()=>{this.subscription?.unsubscribe()},()=>{this.subscription?.unsubscribe()})}clearCurrentView(e){e?this.dxViewSettings=this.headerSettings:this.dxEntriesViewSettings=this.entriesSettings,this.dxViewSettings$.emit(e?this.dxViewSettings:this.dxEntriesViewSettings),this.changeDetection.detectChanges()}static#e=this.ctorParameters=()=>[{type:ke},{type:p.D97},{type:n.gRc},{type:y.nX},{type:y.Ix},{type:dt},{type:Le.zq},{type:p.S8D},{type:v.PLe}]};Na=(0,r.Cg)([(0,n.uAl)({selector:"app-claims-listing-trading",template:'<div class="list">\n  <div class="mb-30 d-flex justify-content-between align-items-center">\n    <app-page-title [noMargin]="true" class="claims__title">\n      {{ \'claims.claimsList\' | cxTranslate }}\n    </app-page-title>\n  </div>\n\n  <ng-container *ngIf="!isLoading; else loader">\n    <ng-container *ngIf="!noData; else empty">\n      <app-card-wrapper [overflowVisible]="true">\n        <div class="list__report-title">\n          <span>\n            {{ \'claims.myCompanyClaims\' | cxTranslate }}\n          </span>\n          <app-icon-button\n            (click)="openModal(true)"\n            src="fullscreen_enter"\n          ></app-icon-button>\n        </div>\n        <div class="list__report">\n          <app-data-grid-views\n            [disableEditing]="true"\n            [dxTableSettings]="headerSettings"\n            [dxViewSettings]="dxViewSettings"\n            [views]="views"\n            [data]="reportData"\n            [fileTitle]="\'claims.fileTitle\' | cxTranslate"\n            [selectedView]="selectedView"\n            [multiSelect]="false"\n            [highlightSelected]="true"\n            [(selectedRows)]="selectedRows"\n            (downloadFile)="onDownloadFile($event)"\n            (rowClick)="onRowClick($event)"\n            (createView)="createView($event, true)"\n            (editNameView)="editView($event, true)"\n            (deleteView)="deleteView($event, true)"\n            (selectView)="changeTableView($event, true)"\n            (tableViewTypeChanged)="tableViewTypeChanged($event, true)"\n          ></app-data-grid-views>\n          <div *ngIf="inProcess" class="loader-in-process">\n            <app-loader size="36px"></app-loader>\n          </div>\n        </div>\n\n        <div class="list__report" *ngIf="childReportData?.length > 0">\n          <div class="list__report-title">\n            <span>\n              {{ \'claims.resultTitle\' | cxTranslate }}\n            </span>\n            <app-icon-button\n              (click)="openModal()"\n              src="fullscreen_enter"\n            ></app-icon-button>\n          </div>\n          <app-data-grid-views\n            [disableEditing]="true"\n            [dxTableSettings]="entriesSettings"\n            [dxViewSettings]="dxEntriesViewSettings"\n            [views]="entriesViews"\n            [data]="childReportData"\n            [fileTitle]="\'claims.fileTitle\' | cxTranslate"\n            [selectedView]="selectedEntriesView"\n            [multiSelect]="false"\n            (createView)="createView($event, false)"\n            (editNameView)="editView($event, false)"\n            (deleteView)="deleteView($event, false)"\n            (selectView)="changeTableView($event, false)"\n            (tableViewTypeChanged)="tableViewTypeChanged($event, false)"\n          ></app-data-grid-views>\n        </div>\n\n        <ng-container *ngIf="!attachmentsLoading; else loading">\n          <div class="list__attachments" *ngIf="attachments.length">\n            <app-toggle-card [isExpand]="true" [hideToggleButton]="false">\n              <svg-icon-sprite\n                header-icon\n                src="attach_file"\n                width="18"\n                height="18"\n              ></svg-icon-sprite>\n\n              <span header-left>\n                {{ \'claims.detail.attachments\' | cxTranslate }}\n              </span>\n\n              <div toggle-body>\n                <div class="list__attachments-wrapper">\n                  <div class="list__attachments-list" *ngIf="attachments">\n                    <app-attachment-card\n                      *ngFor="let document of attachments"\n                      [document]="document"\n                      (click)="download(document)"\n                    ></app-attachment-card>\n                  </div>\n\n                  <button class="btn btn-secondary" (click)="downloadAll()">\n                    {{ \'claims.detail.downloadAll\' | cxTranslate }}\n                  </button>\n                </div>\n              </div>\n            </app-toggle-card>\n          </div>\n        </ng-container>\n        <ng-template #loading>\n          <div class="p-relative d-flex justify-content-around">\n            <app-loader size="36px"></app-loader>\n          </div>\n        </ng-template>\n      </app-card-wrapper>\n\n      <cx-pagination\n        *ngIf="pagination"\n        [defaultPage]="0"\n        [pagination]="pagination"\n        queryParam="currentPage"\n      ></cx-pagination>\n    </ng-container>\n  </ng-container>\n\n  <ng-template #empty>\n    <app-cards-is-not-found\n      [text]="\'claims.emptyActiveClaims\' | cxTranslate"\n      [buttonText]="\'button.backToHome\' | cxTranslate"\n      [type]="EMPTY_CARD_TYPES.BACK_TO_HOME"\n      icon="list_alt"\n      buttonIcon="arrow_back"\n      class="product-card-wrapper"\n    ></app-cards-is-not-found>\n  </ng-template>\n\n  <ng-template #loader>\n    <app-loader></app-loader>\n  </ng-template>\n</div>\n',styles:[UI()]})],Na);var BI=i(75658),VI=i.n(BI);let Kp=class{set setFinalData(e){this.finalData=e,this.finalData$.emit(e)}constructor(e,t,s,o){this.changeDetection=e,this.launchDialogService=t,this.translatePipe=s,this.claimsService=o,this.isTrading=!1,this.activeSite="",this.views=[],this.headerFilter=!0,this.dxTableSettings=null,this.dxViewSettings=null,this.allFieldsFilled=!0,this.weightError=!1,this.emptyWeightError=!1,this.emptyCompensationError=!1,this.hugeCompensationError=!1,this.emptyDefectCategoryError=!1,this.withTooltipInHeader=!1,this.showWeightErrors=!1,this.maxSizeFile=null,this.maxSizeAllFiles=null,this.possibleExtensions=[],this.defectCategories=[],this.calcFn=null,this.selectedRowsChanged=new n.bkB,this.removeItems=new n.bkB,this.cellClosed=new n.bkB,this.itemsFilesChanged=new n.bkB,this.optionChanged=new n.bkB,this.subscription=new X.yU,this.destroyed$=new R.B,this.finalData=[],this.finalDataSelectedRows=[],this.selectedView=null,this.existInvoiceNumbers=[],this.selectedItem=null,this.localFiles=[],this.initialErrors={file:!1,allFiles:!1,format:!1,uniqueNames:!1},this.errors={...this.initialErrors},this.allFiles$=this.claimsService.allFiles$,this.types=Ns,this.isModalOpen=!1,this.selectedRows$=new n.bkB,this.errors$=new n.bkB,this.localFiles$=new n.bkB,this.selectedItem$=new n.bkB,this.dxViewSettings$=new n.bkB,this.finalData$=new n.bkB}ngOnInit(){this.checkFileOnClaimFileUpdate()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete(),this.subscription?.unsubscribe()}checkFileOnClaimFileUpdate(){this.claimsService.claimFiles$.pipe((0,x.Q)(this.destroyed$)).subscribe(()=>{this.localFiles.length&&this.checkFileErrors()})}remove(){const e=this.finalDataSelectedRows.map(t=>(t.attachments=[],this.changeDetection.detectChanges(),JSON.stringify(t)));this.finalDataSelectedRows=[],this.selectedRows$.emit(this.finalDataSelectedRows),this.removeItems.emit(e)}onSelectedRowsChanged(){this.selectedRowsChanged.emit()}onOpenFileSelector(e){this.errors={...this.initialErrors},this.selectedItem=e,this.localFiles=e.data.attachments?[...e.data.attachments]:[],this.changeDetection.detectChanges()}checkFileErrors(){let e=[];this.finalData.forEach(s=>{s!==this.selectedItem.data&&s.attachments&&(e=e.concat(s.attachments))});const t=this.activeSite&&this.activeSite===Re.EU?52428800:this.maxSizeAllFiles;e=[...e,...this.localFiles],this.claimsService.itemFiles$.next(e),this.errors=Si(e,this.maxSizeFile,this.possibleExtensions,t,e.concat(this.claimsService.claimFiles$.value)),this.errors$.emit(this.errors),this.changeDetection.detectChanges()}onFilesUpdates(){this.checkFileErrors(),this.itemsFilesChanged.emit()}addFile(){this.checkFileErrors(),this.itemsFilesChanged.emit()}deleteFile(){this.checkFileErrors(),this.itemsFilesChanged.emit()}clearFiles(){this.localFiles=[],this.errors={...this.initialErrors},this.localFiles$.emit(this.localFiles),this.errors$.emit(this.errors),this.checkFileErrors(),this.itemsFilesChanged.emit()}save(){(a=>Object.values(a).find(e=>e))(this.errors)?this.isModalOpen||this.showAttachFormatErrorModal():(this.selectedItem.data.attachments=this.localFiles,this.selectedItem=null,this.localFiles=[],this.localFiles$.emit(this.localFiles),this.selectedItem$.emit(this.selectedItem),this.updateAddedFilesArray(),this.changeDetection.detectChanges())}updateAddedFilesArray(){let e=[];this.finalData.forEach(t=>{t.attachments&&(e=e.concat(t.attachments))}),this.claimsService.itemAddedFiles$.next(e)}showAttachFormatErrorModal(){this.launchDialogService.openDialogAndSubscribe("CONFIRM_MODAL",void 0,{title:this.translatePipe.transform("claims.attachErrors.title"),subTitle:this.translatePipe.transform("claims.attachErrors.subTitle"),confirmButton:this.translatePipe.transform("claims.attachErrors.confirmButton"),icon:"error_outline"})}onCellClosed(){this.cellClosed.emit(!0)}clearAllFiles(){this.checkFileErrors(),this.itemsFilesChanged.emit(),this.localFiles=[],this.selectedItem.data.attachments=[],this.changeDetection.detectChanges()}openModal(){const e=new n.bkB,t=new n.bkB,s=new n.bkB,o=new n.bkB,l=new n.bkB,u=new n.bkB,h=new n.bkB;this.isModalOpen=!0,this.launchDialogService.openDialogAndSubscribe("CLAIMS_ITEMS_MODAL",void 0,{contentIsReady:e,selectedRowsChanged:t,cellClosed:s,filesUpdates:o,clearFiles:l,save:u,remove:h,finalData:this.finalData,dxTableSettings:this.dxTableSettings,views:this.views,dxViewSettings:this.dxViewSettings,selectedView:this.selectedView,selectedRows:this.finalDataSelectedRows,defectCategories:this.defectCategories,calcFn:this.calcFn,selectedItem:this.selectedItem,localFiles:this.localFiles,maxSizeFile:this.maxSizeFile,possibleExtensions:this.possibleExtensions,errors:this.errors,initialErrors:this.initialErrors,isTrading:this.isTrading,selectedRows$:this.selectedRows$,errors$:this.errors$,localFiles$:this.localFiles$,selectedItem$:this.selectedItem$,dxViewSettings$:this.dxViewSettings$,finalData$:this.finalData$}),this.subscription.add(e.pipe((0,x.Q)(this.destroyed$)).subscribe(()=>{this.dxViewSettings$.emit(this.dxViewSettings)})),this.subscription.add(t.pipe((0,x.Q)(this.destroyed$)).subscribe(_=>{this.finalDataSelectedRows=_,this.onSelectedRowsChanged(),this.changeDetection.detectChanges()})),this.subscription.add(s.pipe((0,x.Q)(this.destroyed$)).subscribe(()=>{this.onCellClosed()})),this.subscription.add(o.pipe((0,x.Q)(this.destroyed$)).subscribe(_=>{this.selectedItem=_.selectedItem,this.localFiles=_.localFiles,this.onFilesUpdates()})),this.subscription.add(l.pipe((0,x.Q)(this.destroyed$)).subscribe(_=>{this.selectedItem=_,this.clearFiles()})),this.subscription.add(u.pipe((0,x.Q)(this.destroyed$)).subscribe(_=>{this.selectedItem=_.selectedItem,this.localFiles=_.localFiles,this.checkFileErrors(),this.save()})),this.subscription.add(h.pipe((0,x.Q)(this.destroyed$)).subscribe(_=>{this.selectedItem=_,this.remove()})),this.launchDialogService.dialogClose.subscribe(()=>{this.isModalOpen=!1,this.subscription?.unsubscribe()},()=>{this.isModalOpen=!1,this.subscription?.unsubscribe()})}static#e=this.ctorParameters=()=>[{type:n.gRc},{type:v.PLe},{type:p.D97},{type:ke}];static#t=this.propDecorators={isTrading:[{type:n.pde}],activeSite:[{type:n.pde}],views:[{type:n.pde}],headerFilter:[{type:n.pde}],dxTableSettings:[{type:n.pde}],dxViewSettings:[{type:n.pde}],setFinalData:[{type:n.pde,args:["finalData"]}],allFieldsFilled:[{type:n.pde}],weightError:[{type:n.pde}],emptyWeightError:[{type:n.pde}],emptyCompensationError:[{type:n.pde}],hugeCompensationError:[{type:n.pde}],emptyDefectCategoryError:[{type:n.pde}],withTooltipInHeader:[{type:n.pde}],showWeightErrors:[{type:n.pde}],maxSizeFile:[{type:n.pde}],maxSizeAllFiles:[{type:n.pde}],possibleExtensions:[{type:n.pde}],defectCategories:[{type:n.pde}],calcFn:[{type:n.pde}],selectedRowsChanged:[{type:n.k7i}],removeItems:[{type:n.k7i}],cellClosed:[{type:n.k7i}],itemsFilesChanged:[{type:n.k7i}],optionChanged:[{type:n.k7i}]}};Kp=(0,r.Cg)([(0,n.uAl)({selector:"app-claimed-items",template:'<app-toggle-card [overflowVisible]="true" [isExpand]="true" *ngIf="finalData.length > 0" class="claimed-items">\n  <svg-icon-sprite\n    header-icon\n    src="view_column"\n    width="18"\n    height="18"\n  ></svg-icon-sprite>\n  <div class="claimed-items__header" header-left>\n    <span>\n        {{ \'claims.resultTitle\' | cxTranslate }}\n    </span>\n    <app-title-info\n      *ngIf="withTooltipInHeader"\n      [type]="types.WARNING"\n    >\n      {{ \'claims.changeWeightClaimed\' | cxTranslate }}\n    </app-title-info>\n  </div>\n\n  <span header-right>\n    <app-icon-button\n      *ngIf="isTrading"\n      (click)="openModal()"\n      src="fullscreen_enter"\n    ></app-icon-button>\n  </span>\n\n  <div toggle-body>\n\n    <app-data-grid-views\n      class="claimed-items__report"\n      [dxTableSettings]="dxTableSettings"\n      [dxViewSettings]="dxViewSettings"\n      [fileTitle]="\'claims.fileTitle\' | cxTranslate"\n      [views]="views"\n      [data]="finalData"\n      [selectedView]="selectedView"\n      [showViews]="false"\n      [multiSelect]="true"\n      [(selectedRows)]="finalDataSelectedRows"\n      [selectItems]="defectCategories"\n      [calcFn]="calcFn"\n      [headerFilter]="headerFilter"\n      [showWeightErrors]="showWeightErrors"\n      (selectedRowsChanged)="onSelectedRowsChanged()"\n      (openFileSelector)="onOpenFileSelector($event)"\n      (cellClosed)="onCellClosed()"\n      (optionChanged)="optionChanged.emit()"\n    ></app-data-grid-views>\n\n    <hr class="claimed-items__divider" />\n\n    <div *ngIf="selectedItem">\n      <app-card-attachments\n        [inline]="true"\n        [allFiles]="allFiles$ | async"\n        [files]="localFiles"\n        [maxSize]="maxSizeFile"\n        [allFilesSize]="isTrading ? (\'trading.inquiry.allFilesSize\' | cxTranslate) : (\'trading.inquiry.allFilesSizeEu\' | cxTranslate)"\n        [possibleExtensions]="possibleExtensions"\n        [isSavable]="true"\n        [tooltip]="\'claims.attachments.tooltip\' | cxTranslate"\n        (add)="onFilesUpdates()"\n        (delete)="onFilesUpdates()"\n        (clear)="clearFiles()"\n        (save)="save()"\n      >\n      </app-card-attachments>\n\n      <div class="claimed-items__files-errors" *ngIf="errors.allFiles || errors.file || errors.format || errors.uniqueNames">\n        <app-attachments-errors [isTrading]="isTrading" [errors]="errors"></app-attachments-errors>\n      </div>\n    </div>\n\n    <div class="claimed-items__buttons">\n      <button\n        class="btn btn-secondary claimed-items__button"\n        [disabled]="finalDataSelectedRows.length === 0"\n        (click)="remove()"\n      >\n        {{ \'claims.remove\' | cxTranslate }}\n      </button>\n    </div>\n\n    <ng-container *ngIf="isTrading">\n      <div\n        *ngIf="\n          weightError ||\n          emptyWeightError ||\n          emptyCompensationError ||\n          hugeCompensationError ||\n          emptyDefectCategoryError\n        "\n        class="claims-errors"\n      >\n      <div *ngIf="weightError" class="claims-errors__error">\n        <svg-icon-sprite\n          class="claims-errors__error-icon"\n          src="error"\n          width="16"\n          height="16"\n        ></svg-icon-sprite>\n\n        <p class="claims-errors__error-text">\n          {{ \'claims.netWeightError\' | cxTranslate }}\n        </p>\n      </div>\n      <div *ngIf="emptyWeightError" class="claims-errors__error">\n        <svg-icon-sprite\n          class="claims-errors__error-icon"\n          src="error"\n          width="16"\n          height="16"\n        ></svg-icon-sprite>\n\n        <p class="claims-errors__error-text">\n          {{ \'claims.emptyFieldsError\' | cxTranslate }}\n        </p>\n      </div>\n      <div *ngIf="emptyCompensationError" class="claims-errors__error">\n        <svg-icon-sprite\n          class="claims-errors__error-icon"\n          src="error"\n          width="16"\n          height="16"\n        ></svg-icon-sprite>\n\n        <p class="claims-errors__error-text">\n          {{ \'claims.emptyCompensationError\' | cxTranslate }}\n        </p>\n      </div>\n      <div *ngIf="hugeCompensationError" class="claims-errors__error">\n        <svg-icon-sprite\n          class="claims-errors__error-icon"\n          src="error"\n          width="16"\n          height="16"\n        ></svg-icon-sprite>\n\n        <p class="claims-errors__error-text">\n          {{ \'claims.hugeCompensationError\' | cxTranslate }}\n        </p>\n      </div>\n      <div *ngIf="emptyDefectCategoryError" class="claims-errors__error">\n        <svg-icon-sprite\n          class="claims-errors__error-icon"\n          src="error"\n          width="16"\n          height="16"\n        ></svg-icon-sprite>\n\n        <p class="claims-errors__error-text">\n          {{ \'claims.emptyDefectCategoryError\' | cxTranslate }}\n        </p>\n      </div>\n    </div>\n    </ng-container>\n\n  </div>\n</app-toggle-card>\n',styles:[VI()]})],Kp);var zI=i(88460),YI=i.n(zI);let Xp=class{constructor(e,t,s,o,l,u){this.fb=e,this.eventBus=t,this.translatePipe=s,this.changeDetection=o,this.translateService=l,this.claimsService=u,this.notFound=!1,this.requestData=new n.bkB,this.formChanged=new n.bkB,this.destroyed$=new R.B,this.tabsData=[],this.forms=null,this.formSeller$=this.claimsService.sellersForm$,this.selectedTab=null,this.numberMask=(0,Ue.TK)({prefix:"",thousandSeparator:""}),this.showTabs=!1,this.FORM_CODES={CERTIFICATE:"certificate",ITEM_DETAILS:"itemDetails",PRODUCT_ITEM:"productItem"}}ngOnInit(){this.buildForm(),this.initTabs(),this.initEventBusSub(),this.initFormSub(),this.showTabs=!0}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}buildForm(){this.forms=new m.J3({productItem:new m.J3({productItemNo:new m.hs("",m.k0.required),heatNo:new m.hs("")}),itemDetails:new m.J3({heatNo:new m.hs("",m.k0.required),coilId:new m.hs(""),lotId:new m.hs(""),placeNo:new m.hs("")}),certificate:new m.J3({certificate:new m.hs("",m.k0.required),certificateDate:new m.hs(""),certificatePosition:new m.hs("")})})}initFormSub(){this.forms.valueChanges.pipe((0,x.Q)(this.destroyed$)).subscribe(()=>{this.formChanged.emit()})}initTabs(){this.translateService.loadChunks("common").then(()=>{this.tabsData=[{code:this.claimsService.categoriesTabsMap.commercial,name:this.translatePipe.transform("claims.productItem"),formCode:this.FORM_CODES.PRODUCT_ITEM},{code:this.claimsService.categoriesTabsMap.supplychain,name:this.translatePipe.transform("claims.itemDetails"),formCode:this.FORM_CODES.ITEM_DETAILS},{code:this.claimsService.categoriesTabsMap.logistic,name:this.translatePipe.transform("claims.certificate"),formCode:this.FORM_CODES.CERTIFICATE}],this.selectedTab=this.tabsData[0].code,this.changeDetection.detectChanges()})}initEventBusSub(){this.eventBus.on(J_CLAIM.NEW_SEARCH).subscribe(()=>{this.forms.reset(),this.formSeller$.value.reset()})}onValueChange(){this.forms.reset()}onRequestData(){const e=this.tabsData.find(o=>o.code===this.selectedTab).formCode,t=this.forms.get(e);if(t.invalid||this.formSeller$.value.invalid)return t.markAllAsTouched(),void this.formSeller$.value.markAllAsTouched();let s={};"string"==typeof t.value?s[e]=t.value:s=t.value,e===this.FORM_CODES.CERTIFICATE&&t.value.certificateDate?.singleDate&&(s.certificateDate=t.value.certificateDate.singleDate.formatted),this.claimsService.currentSeller$.next(this.formSeller$.value.value),this.formChanged.emit(),this.requestData.emit({seller:this.formSeller$.value.value,...s})}static#e=this.ctorParameters=()=>[{type:m.ze},{type:ve.u},{type:p.D97},{type:n.gRc},{type:p.L08},{type:ke}];static#t=this.propDecorators={notFound:[{type:n.pde}],requestData:[{type:n.k7i}],formChanged:[{type:n.k7i}]}};Xp=(0,r.Cg)([(0,n.uAl)({selector:"app-claims-add-item-form-trading",template:'<div class="item-form-trading" *ngIf="showTabs; else loader">\n  <div class="item-form-trading__wrapper item-form-trading__top">\n    <scrollbar class="item-form-trading__scrollbar">\n      <div class="mb-20 item-form-trading__tabs">\n        <app-tabs-radio\n          [items]="tabsData"\n          (selectedItemChange)="onValueChange()"\n          [(selectedItem)]="selectedTab"\n          bindProperty="code"\n          showProperty="name"\n          size="small"\n        ></app-tabs-radio>\n      </div>\n    </scrollbar>\n  </div>\n\n  <div class="d-flex align-items-start flex-column flex-sm-row" *ngIf="forms">\n    <div class="item-form-trading__wrapper">\n      <div class="item-form-trading__fields">\n        <ng-container [ngSwitch]="selectedTab">\n          <ng-container *ngSwitchCase="1">\n            <app-input\n              (keyup.enter)="onRequestData()"\n              [controlData]="\n                forms.get(FORM_CODES.PRODUCT_ITEM).get(\'productItemNo\')\n              "\n              label="{{ \'claims.productItemNumber\' | cxTranslate }} *"\n              class="item-form-trading__fields--33"\n            ></app-input>\n            <app-input\n              (keyup.enter)="onRequestData()"\n              [controlData]="forms.get(FORM_CODES.PRODUCT_ITEM).get(\'heatNo\')"\n              label="{{ \'claims.heatNo\' | cxTranslate }}"\n              class="item-form-trading__fields--33"\n            ></app-input>\n          </ng-container>\n          <ng-container *ngSwitchCase="2">\n            <app-input\n              (keyup.enter)="onRequestData()"\n              [controlData]="forms.get(FORM_CODES.ITEM_DETAILS).get(\'heatNo\')"\n              label="{{ \'claims.heatNo\' | cxTranslate }} *"\n              class="item-form-trading__fields--50"\n            ></app-input>\n            <app-input\n              (keyup.enter)="onRequestData()"\n              [controlData]="forms.get(FORM_CODES.ITEM_DETAILS).get(\'coilId\')"\n              label="{{ \'claims.slabNoCoilId\' | cxTranslate }}"\n              class="item-form-trading__fields--50"\n            ></app-input>\n            <app-input\n              (keyup.enter)="onRequestData()"\n              [controlData]="forms.get(FORM_CODES.ITEM_DETAILS).get(\'lotId\')"\n              label="{{ \'claims.lotId\' | cxTranslate }}"\n              class="item-form-trading__fields--33"\n            ></app-input>\n            <app-input\n              (keyup.enter)="onRequestData()"\n              [controlData]="forms.get(FORM_CODES.ITEM_DETAILS).get(\'placeNo\')"\n              label="{{ \'claims.placeNo\' | cxTranslate }}"\n              class="item-form-trading__fields--33"\n            ></app-input>\n          </ng-container>\n          <ng-container *ngSwitchCase="3">\n            <app-input\n              (keyup.enter)="onRequestData()"\n              [controlData]="\n                forms.get(FORM_CODES.CERTIFICATE).get(\'certificate\')\n              "\n              label="{{ \'claims.certificateNo\' | cxTranslate }} *"\n              class="item-form-trading__fields--25"\n            ></app-input>\n            <app-date-picker\n              [control]="\n                forms.get(FORM_CODES.CERTIFICATE).get(\'certificateDate\')\n              "\n              [minYearCurrentMinus]="100"\n              [isFullSize]="true"\n              placeholder="{{ \'claims.certificateDate\' | cxTranslate }}"\n              class="item-form-trading__fields--25"\n            ></app-date-picker>\n            <app-input\n              (keyup.enter)="onRequestData()"\n              [controlData]="\n                forms.get(FORM_CODES.CERTIFICATE).get(\'certificatePosition\')\n              "\n              label="{{ \'claims.certificatePosition\' | cxTranslate }}"\n              class="item-form-trading__fields--25"\n            ></app-input>\n          </ng-container>\n        </ng-container>\n\n        <div\n          class="item-form-trading__request"\n          [ngClass]="{\n            \'item-form-trading__fields--25\': selectedTab === 3,\n            \'item-form-trading__fields--33\': [1, 2].includes(selectedTab)\n          }"\n          [class.item-form-trading__fields--25]="selectedTab === 3"\n        >\n          <div class="align-self-start">\n            <button\n              (click)="onRequestData()"\n              [class.btn--cerficate]="selectedTab === 3"\n              class="btn btn--lg btn-secondary"\n            >\n              {{ \'claims.requestData\' | cxTranslate }}\n            </button>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n\n<ng-template #loader>\n  <div class="text-center">\n    <app-loader></app-loader>\n  </div>\n</ng-template>\n',styles:[YI()]})],Xp);var qI=i(13352),HI=i.n(qI);function Ua(a){return e=>{let t=!1;if(a)t=a.some(s=>e.get(s).value?.length>0);else{const s=e.controls;if(!s)return null;t=Object.keys(s).some(o=>!!s[o].value)}return t?null:{atLeastOneRequired:!0}}}let Zp=class{constructor(e,t,s,o,l,u,h,_){this.fb=e,this.eventBus=t,this.translatePipe=s,this.changeDetection=o,this.translateService=l,this.claimsService=u,this.deliveryService=h,this.claimsTrackingService=_,this.notFound=!1,this.requestData=new n.bkB,this.formChanged=new n.bkB,this.destroyed$=new R.B,this.tabsData=[],this.forms=null,this.selectedTab=null,this.numberMask=(0,Ue.TK)({prefix:"",thousandSeparator:""}),this.availableTabs=[],this.showTabs=!1}ngOnInit(){this.buildForm(),this.initTabs(),this.initEventBusSub(),this.initFormSub(),this.initCategoriesSub()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete(),this.claimsService.userIsPlate$.next(null),this.claimsTrackingService.claimSource$.next(null)}initCategoriesSub(){this.deliveryService.getAllSalesData().pipe((0,k.n)(e=>(this.isPlate=!!e.salesDataDates.filter(t=>t.productionType===Z.PLATE).length,this.claimsService.userIsPlate$.next(this.isPlate),this.claimsService.userCategories$)),(0,x.Q)(this.destroyed$)).subscribe(e=>{this.availableTabs=this.isPlate?e.map(t=>t.replace(/\s/g,"").toLowerCase()).map(t=>this.claimsService.categoriesTabsMap[t]):[1,2,4],this.checkTabsAvailability(),this.changeDetection.detectChanges()})}checkTabsAvailability(){this.tabsData.length>0&&this.availableTabs.length>0&&(this.tabsData=this.tabsData.filter(e=>this.availableTabs.includes(e.code)),this.showTabs=!0)}buildForm(){this.forms=new m.J3({invoiceNumber:new m.hs("",[m.k0.required]),coils:new m.J3({batchId:new m.hs(""),coilId:new m.hs("")},{validators:Ua(["batchId","coilId"])}),plateAndCharge:new m.J3({plateId:new m.hs(""),chargeNumber:new m.hs(""),heatNo:new m.hs("")},{validators:Ua(["plateId","chargeNumber","heatNo"])}),salesOrderNumber:new m.hs("",[m.k0.required])})}initFormSub(){this.forms.valueChanges.pipe((0,x.Q)(this.destroyed$)).subscribe(()=>{this.formChanged.emit()})}initTabs(){this.claimsService.userIsPlate$.pipe((0,B.p)(e=>null!==e),(0,x.Q)(this.destroyed$)).subscribe(e=>{this.translateService.loadChunks("common").then(()=>{this.tabsData=[{code:this.claimsService.categoriesTabsMap.commercial,name:this.translatePipe.transform("claims.invoiceNumber"),formCode:"invoiceNumber"},{code:this.claimsService.categoriesTabsMap.supplychain,name:this.translatePipe.transform(e?"claims.coilAndBatch":"claims.coilAndBatchStrip"),formCode:"coils"},{code:this.claimsService.categoriesTabsMap.logistic,name:this.translatePipe.transform("claims.plateAndCharge"),formCode:"plateAndCharge"},{code:this.claimsService.categoriesTabsMap.technical,name:this.translatePipe.transform("claims.orderNumber"),formCode:"salesOrderNumber"}],this.checkTabsAvailability(),this.selectedTab=this.tabsData[0].code,this.claimsTrackingService.claimSource$.next(this.tabsData[0].name),this.changeDetection.detectChanges()})})}initEventBusSub(){this.eventBus.on(J_CLAIM.NEW_SEARCH).subscribe(()=>{this.forms.reset()})}onValueChange(){this.forms.reset()}updateValue(){this.claimsTrackingService.claimSource$.next(this.tabsData.find(e=>e.code===this.selectedTab).name)}onRequestData(){const e=this.tabsData.find(o=>o.code===this.selectedTab).formCode,t=this.forms.get(e);if(t.invalid)return t.markAllAsTouched(),void this.claimsTrackingService.trackClaimError();let s={};"string"==typeof t.value?s[e]=t.value:s=t.value,this.requestData.emit(s)}static#e=this.ctorParameters=()=>[{type:m.ze},{type:ve.u},{type:p.D97},{type:n.gRc},{type:p.L08},{type:ke},{type:pn},{type:Un}];static#t=this.propDecorators={notFound:[{type:n.pde}],requestData:[{type:n.k7i}],formChanged:[{type:n.k7i}]}};Zp=(0,r.Cg)([(0,n.uAl)({selector:"app-claims-add-item-form",template:'<div class="item-form" *ngIf="showTabs; else loader">\n  <div class="item-form__wrapper">\n    <scrollbar class="item-form__scrollbar">\n      <div class="mb-20 item-form__tabs">\n        <app-tabs-radio\n          [items]="tabsData"\n          (selectedItemChange)="onValueChange()"\n          (valueChange)="updateValue()"\n          [(selectedItem)]="selectedTab"\n          bindProperty="code"\n          showProperty="name"\n          size="small"\n        ></app-tabs-radio>\n      </div>\n    </scrollbar>\n  </div>\n\n  <div class="d-flex align-items-start flex-column flex-sm-row" *ngIf="forms">\n    <div class="item-form__wrapper">\n      <div class="item-form__fields">\n\n\n          <ng-container [ngSwitch]="selectedTab">\n            <ng-container *ngSwitchCase="1">\n              <app-input\n                (keyup.enter)="onRequestData()"\n                [controlData]="forms.get(\'invoiceNumber\')"\n                label="{{ \'claims.invoiceNumber\' | cxTranslate }}"\n                class="flex-grow-1"\n              ></app-input>\n            </ng-container>\n            <ng-container *ngSwitchCase="2">\n              <app-input\n                (keyup.enter)="onRequestData()"\n                [controlData]="forms.get(\'coils\').get(\'coilId\')"\n                label="{{ \'claims.coilId\' | cxTranslate }}"\n                [class.mr-10]="isPlate"\n                class="flex-grow-1"\n              ></app-input>\n              <app-input\n                *ngIf="isPlate"\n                (keyup.enter)="onRequestData()"\n                [controlData]="forms.get(\'coils\').get(\'batchId\')"\n                label="{{ \'claims.batchId\' | cxTranslate }}"\n                class="flex-grow-1"\n              ></app-input>\n              <cx-form-errors [control]="forms.get(\'coils\')"></cx-form-errors>\n            </ng-container>\n            <ng-container *ngSwitchCase="3">\n              <app-input\n                (keyup.enter)="onRequestData()"\n                [controlData]="forms.get(\'plateAndCharge\').get(\'plateId\')"\n                label="{{ \'claims.plateId\' | cxTranslate }}"\n                class="flex-grow-1 mr-10"\n              ></app-input>\n              <app-input\n                (keyup.enter)="onRequestData()"\n                [controlData]="forms.get(\'plateAndCharge\').get(\'heatNo\')"\n                label="{{ \'claims.heatNo\' | cxTranslate }}"\n                class="flex-grow-1 mr-10"\n              ></app-input>\n              <app-input\n                (keyup.enter)="onRequestData()"\n                [controlData]="forms.get(\'plateAndCharge\').get(\'chargeNumber\')"\n                label="{{ \'claims.chargeNumber\' | cxTranslate }}"\n                class="flex-grow-1"\n              ></app-input>\n              <cx-form-errors [control]="forms.get(\'plateAndCharge\')"></cx-form-errors>\n            </ng-container>\n            <ng-container *ngSwitchCase="4">\n              <app-input\n                (keyup.enter)="onRequestData()"\n                [controlData]="forms.get(\'salesOrderNumber\')"\n                label="{{ \'claims.orderNumber\' | cxTranslate }}"\n                class="flex-grow-1"\n              ></app-input>\n            </ng-container>\n          </ng-container>\n\n      </div>\n    </div>\n    <div class="item-form__request">\n      <div class="align-self-start">\n        <button\n          (click)="onRequestData()"\n          class="btn btn--lg btn-secondary"\n        >\n          {{ \'claims.requestData\' | cxTranslate }}\n        </button>\n      </div>\n    </div>\n  </div>\n</div>\n\n\n<ng-template #loader>\n  <div class="text-center">\n    <app-loader></app-loader>\n  </div>\n</ng-template>\n',styles:[HI()]})],Zp);var WI=i(4560),KI=i.n(WI);let Jp=class{set setDxTableSettings(e){const t=Object.assign({},e);if(t?.columns?.length){const s=[W.WEIGHT_CLAIMED,W.DEFECT_DESCRIPTION,W.ATTACHMENTS];t.columns=t.columns.filter(o=>!s.includes(o.dataField))}this.dxTableSettings=t}constructor(e,t,s,o,l,u){this.claimsService=e,this.changeDetection=t,this.eventBus=s,this.messageService=o,this.userAccountService=l,this.launchDialogService=u,this.views=[],this.isTrading=!1,this.extSalesId=null,this.extB2bUnit=null,this.extSalesOrder=null,this.rowsSelected=new n.bkB,this.dataLoaded=new n.bkB,this.filesChange=new n.bkB,this.shipToChange=new n.bkB,this.subscription=new X.yU,this.reportData=null,this.dxViewSettings={},this.selectedView=null,this.destroyed$=new R.B,this.selectedRows=[],this.isDataLoaded=!1,this.isLoading=!1,this.isLoaded=!1,this.isNotFound=!1,this.selectedItem=null,this.dxTableSettings=null,this.extSalesIdError=!1,this.extB2bUnitError=!1,this.extSalesOrderError=!1,this.dxViewSettings$=new n.bkB,this.views$=new n.bkB,this.selectedView$=new n.bkB,this.selectedRows$=new n.bkB}ngOnInit(){this.initEventBusSub()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete(),this.subscription?.unsubscribe()}initEventBusSub(){this.eventBus.on(J_CLAIM.NEW_SEARCH).subscribe(()=>{this.selectedRows=[],this.reportData=null,this.isLoaded=!1,this.isNotFound=!1}),this.eventBus.on(J_CLAIM.REMOVED).subscribe(e=>{this.reportData=[...this.reportData,...e]})}getPageData(e,t=!1){this.isLoading=!0,this.isLoaded=!1,this.claimsService.getPageData(e).pipe((0,z.M)(s=>{s.shipTo&&this.shipToChange.emit(s.shipTo)}),(0,fe.E)("items"),(0,x.Q)(this.destroyed$)).subscribe(s=>(this.isLoading=!1,(!s||0===s.length)&&(this.isNotFound=!0),this.extSalesId&&s[0][W.SALES_ORG_EXT_ID]!==this.extSalesId?(this.extSalesIdError=!0,void this.changeDetection.detectChanges()):this.extB2bUnit&&s[0][W.B2B_UNIT]!==this.extB2bUnit?(this.extB2bUnitError=!0,void this.changeDetection.detectChanges()):this.extSalesOrder&&s[0][W.SALES_ORDER_NUMBER]!==this.extSalesOrder?(this.extSalesOrderError=!0,void this.changeDetection.detectChanges()):(this.isLoaded=!0,this.extSalesIdError=!1,this.extB2bUnitError=!1,this.extSalesOrderError=!1,s.forEach((o,l)=>{o.id=(new Date).getTime()+l,o.priceInvoiced=o.priceInvoiced?.toLocaleString("de-DE",{minimumFractionDigits:2,maximumFractionDigits:2}).replace(".",""),o.weightInvoiced=o.weightInvoiced?.toLocaleString("de-DE",{minimumFractionDigits:3,maximumFractionDigits:3}).replace(".","")}),this.reportData=s,this.dataLoaded.emit(this.reportData),void this.changeDetection.detectChanges())),s=>{this.isLoading=!1,this.changeDetection.detectChanges(),s?.error?.errors?s?.error?.errors?.forEach(o=>{this.showErrorMessage(o.message)}):s.message&&this.showErrorMessage(s.message)})}showErrorMessage(e){this.messageService.add(e,p.NCV.MSG_TYPE_ERROR)}addSelectedToClaim(){this.reportData=this.reportData.filter(e=>!this.selectedRows.find(s=>JSON.stringify(s)===JSON.stringify(e))),this.rowsSelected.emit(this.selectedRows)}createView(e){const t=this.isTrading?Qe.CLAIM_CREATION_TRADING:Qe.CLAIMS;this.claimsService.createTableView(e,t).pipe((0,x.Q)(this.destroyed$)).subscribe(s=>{e.code=s.code,this.views=[...this.views,e],this.selectedView=e,this.dxViewSettings=this.selectedView?.setting?JSON.parse(this.selectedView.setting):{},this.views$.emit(this.views),this.selectedView$.emit(this.selectedView),this.dxViewSettings$.emit(this.dxViewSettings),this.changeDetection.detectChanges()})}editView(e){this.claimsService.getTableView(e.code).pipe((0,k.n)(t=>{t.dxTableView.name=e.name;const s=this.isTrading?Qe.CLAIM_CREATION_TRADING:Qe.CLAIMS;return this.claimsService.editTableView(t.dxTableView,s)}),(0,x.Q)(this.destroyed$)).subscribe(()=>{const t=[...this.views];t.forEach(s=>{s.code===e.code&&(s.name=e.name)}),this.views=t,this.views$.emit(this.views)})}deleteView(e){this.claimsService.deleteTableView(e).pipe((0,x.Q)(this.destroyed$)).subscribe(()=>{this.views=this.views.filter(t=>t.code!==e),this.views$.emit(this.views),this.changeDetection.detectChanges()})}changeTableView(e){this.dxViewSettings=JSON.parse(e.setting),this.selectedView=e,this.dxViewSettings$.emit(this.dxViewSettings),this.claimsService.getTableView(e.code).pipe((0,x.Q)(this.destroyed$)).subscribe(t=>{this.dxViewSettings=t.dxTableView?.setting?JSON.parse(t.dxTableView.setting):{},this.dxViewSettings$.emit(this.dxViewSettings),this.changeDetection.detectChanges()})}tableViewTypeChanged(e){e?this.userAccountService.get().pipe((0,x.Q)(this.destroyed$)).subscribe(t=>{t&&t.uid&&(this.views=this.views.filter(s=>s.user===t.uid||!s.user))}):this.claimsService.getViews(E.CLAIMS.VIEWS).pipe((0,x.Q)(this.destroyed$)).subscribe(t=>{this.views=t.dxTableViews,this.changeDetection.detectChanges()}),this.views$.emit(this.views)}resetEmptyError(){this.isNotFound=!1}openModal(){const e=new n.bkB,t=new n.bkB,s=new n.bkB,o=new n.bkB,l=new n.bkB,u=new n.bkB,h=new n.bkB,_=new n.bkB;this.launchDialogService.openDialogAndSubscribe("CLAIMS_ADD_ITEM_MODAL",void 0,{contentIsReady:u,createView:e,changeTableView:t,tableViewTypeChanged:s,deleteView:o,editView:l,rowsSelected:h,selectedRowsChanged:_,dxViewSettings$:this.dxViewSettings$,views$:this.views$,selectedView$:this.selectedView,selectedRows$:this.selectedRows$,reportData:this.reportData,dxTableSettings:this.dxTableSettings,dxViewSettings:this.dxViewSettings,views:this.views,selectedView:this.selectedView,fileTitle:"claims.fileTitle"}),this.subscription.add(u.pipe((0,x.Q)(this.destroyed$)).subscribe(()=>{this.dxViewSettings$.emit(this.dxViewSettings),this.selectedRows$.emit(this.selectedRows)})),this.subscription.add(e.pipe((0,x.Q)(this.destroyed$)).subscribe(C=>{this.createView(C)})),this.subscription.add(t.pipe((0,x.Q)(this.destroyed$)).subscribe(C=>{C||this.clearCurrentView(),this.changeTableView(C)})),this.subscription.add(s.pipe((0,x.Q)(this.destroyed$)).subscribe(C=>{this.tableViewTypeChanged(C)})),this.subscription.add(o.pipe((0,x.Q)(this.destroyed$)).subscribe(C=>{this.deleteView(C)})),this.subscription.add(l.pipe((0,x.Q)(this.destroyed$)).subscribe(C=>{this.editView(C)})),this.subscription.add(h.pipe((0,x.Q)(this.destroyed$)).subscribe(C=>{this.reportData=C.reportData,this.rowsSelected.emit(C.selectedRows)})),this.subscription.add(_.pipe((0,x.Q)(this.destroyed$)).subscribe(C=>{this.selectedRows=C,this.changeDetection.detectChanges()})),this.launchDialogService.dialogClose.subscribe(()=>{this.subscription?.unsubscribe()},()=>{this.subscription?.unsubscribe()})}clearCurrentView(){this.dxViewSettings=this.dxTableSettings,this.dxViewSettings$.emit(this.dxViewSettings),this.changeDetection.detectChanges()}static#e=this.ctorParameters=()=>[{type:ke},{type:n.gRc},{type:ve.u},{type:p.S8D},{type:Le.zq},{type:v.PLe}];static#t=this.propDecorators={setDxTableSettings:[{type:n.pde,args:["dxTableSettings"]}],views:[{type:n.pde}],isTrading:[{type:n.pde}],extSalesId:[{type:n.pde}],extB2bUnit:[{type:n.pde}],extSalesOrder:[{type:n.pde}],rowsSelected:[{type:n.k7i}],dataLoaded:[{type:n.k7i}],filesChange:[{type:n.k7i}],shipToChange:[{type:n.k7i}]}};Jp=(0,r.Cg)([(0,n.uAl)({selector:"app-claims-add-items",template:'<app-toggle-card\n  [isExpand]="true"\n  [overflowVisible]="true"\n  [hideToggleButton]="true"\n>\n  <svg-icon-sprite\n    header-icon\n    [src]="isTrading ? \'sort\' : \'ballot\'"\n    width="18"\n    height="18"\n  ></svg-icon-sprite>\n  <span header-left>\n    {{ (isTrading ? \'claims.addTitleTrading\' : \'claims.addTitle\') | cxTranslate }}\n  </span>\n\n  <span header-right>\n    <app-icon-button\n      *ngIf="isTrading && reportData?.length > 0"\n      (click)="openModal()"\n      src="fullscreen_enter"\n    ></app-icon-button>\n  </span>\n  <div toggle-body>\n    <div class="add-items">\n      <div class="add-items__form" [class.add-items__form--with-data]="reportData?.length > 0">\n        <ng-container *ngIf="isTrading; else eu">\n          <app-claims-add-item-form-trading  (requestData)="getPageData($event, true)" (formChanged)="resetEmptyError()"></app-claims-add-item-form-trading>\n        </ng-container>\n        <ng-template #eu>\n          <app-claims-add-item-form (requestData)="getPageData($event)" (formChanged)="resetEmptyError()"></app-claims-add-item-form>\n        </ng-template>\n\n        <div\n          *ngIf="!isLoading; else loading"\n        >\n          <div\n            *ngIf="isNotFound"\n            class="add-items__error d-flex align-items-center"\n          >\n            <svg-icon-sprite\n              src="warning"\n              height="18"\n              width="18"\n              class="add-items__no-found-icon"\n            ></svg-icon-sprite>\n            {{ \'claims.noFound\' | cxTranslate }}\n          </div>\n\n          <div *ngIf="extSalesIdError || extB2bUnitError" class="add-items__error d-flex align-items-center">\n            <svg-icon-sprite\n              src="warning"\n              height="18"\n              width="18"\n              class="add-items__no-found-icon"\n            ></svg-icon-sprite>\n              {{ \'claims.businessUnitError\' | cxTranslate }}\n          </div>\n          <div *ngIf="extSalesOrderError" class="add-items__error d-flex align-items-center">\n            <svg-icon-sprite\n              src="warning"\n              height="18"\n              width="18"\n              class="add-items__no-found-icon"\n            ></svg-icon-sprite>\n              {{ \'claims.salesOrderError\' | cxTranslate }}\n          </div>\n        </div>\n\n        <ng-template #loading>\n          <app-loader class="add-items__loader" size="36px"></app-loader>\n        </ng-template>\n\n      </div>\n\n\n      <ng-container *ngIf="isLoaded"\n      >\n        <div class="add-items__report">\n          <app-data-grid-views\n            [disableEditing]="true"\n            [dxTableSettings]="dxTableSettings"\n            [dxViewSettings]="dxViewSettings"\n            [views]="views"\n            [data]="reportData || []"\n            [fileTitle]="\'claims.fileTitle\' | cxTranslate"\n            [selectedView]="selectedView"\n            [multiSelect]="true"\n            [(selectedRows)]="selectedRows"\n\n            (createView)="createView($event)"\n            (editNameView)="editView($event)"\n            (deleteView)="deleteView($event)"\n            (selectView)="changeTableView($event)"\n            (tableViewTypeChanged)="tableViewTypeChanged($event)"\n\n          ></app-data-grid-views>\n        </div>\n\n\n\n        <div class="add-items__add-selected">\n          <button class="btn btn-default add-items__button" [disabled]="selectedRows.length === 0 || isLoading"\n                  (click)="addSelectedToClaim()">\n            {{ \'claims.addSelected\' | cxTranslate }}\n          </button>\n        </div>\n      </ng-container>\n\n    </div>\n  </div>\n</app-toggle-card>\n',styles:[KI()]})],Jp);var ZI=i(32218),JI=i.n(ZI);let eu=class{constructor(){this.title="",this.text="",this.rightAlign=!1}static#e=this.propDecorators={title:[{type:n.pde}],text:[{type:n.pde}],rightAlign:[{type:n.pde}]}};eu=(0,r.Cg)([(0,n.uAl)({selector:"app-claims-card-cell",template:'<div class="claim-cell" [class.claim-cell--right]="rightAlign">\n  <p class="claim-cell__title">\n    {{ title }}\n  </p>\n\n  <p class="claim-cell__text">\n    {{ text }}\n  </p>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[JI()]})],eu);var tw=i(87050),nw=i.n(tw);let tu=class{constructor(){this.status="",this.isItem=!1,this.size="medium",this.statuses=Rl,this.itemStatuses=Ol}static#e=this.propDecorators={status:[{type:n.pde}],isItem:[{type:n.pde}],size:[{type:n.pde}]}};tu=(0,r.Cg)([(0,n.uAl)({selector:"app-claims-card-status",template:'<div class="claim-status d-flex align-items-center claim-status--{{status}} claim-status--{{size}}" >\n  {{ isItem ? ((\'claims.statusItem.\' + status) | cxTranslate ) : ((\'claims.status.\' + status) | cxTranslate ) }}\n\n  <span class="claim-status__icon">\n    <svg-icon-sprite\n      [src]="[\n      statuses.IN_PROGRESS,\n      statuses.IN_CREATION.toString()\n      ].includes(status) ? \'watch_later\' : \'check_circle\'"\n      width="18"\n      height="18">\n    </svg-icon-sprite>\n  </span>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[nw()]})],tu);var iw=i(33174),rw=i.n(iw);let nu=class{constructor(e,t,s,o,l,u){this.translatePipe=e,this.claimsService=t,this.eventBus=s,this.cd=o,this.globalMessage=l,this.claimsTrackingService=u,this.replaceNonPrintable=ft,this.destroyed$=new R.B,this.MAX_INPUT_COUNT=40,this.MAX_TEXTAREA_COUNT=1e3,this.categories=[]}ngOnInit(){this.getCategories(),this.initEventBusSub()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}initEventBusSub(){this.eventBus.on(J_CLAIM.ITEMS_LOADED).subscribe(e=>{this.disableUnsupportedCategories(e),this.resetUnsupportedCategory(e),this.cd.detectChanges()})}disableUnsupportedCategories(e){this.categories=this.categories.map(t=>{const s=e===Qt.STRIP&&t.code===hn.LOGISTIC,o=e===Qt.PLATE&&t.code===hn.SUPPLYCHAIN;return t.disabled=s||o,t})}resetUnsupportedCategory(e){const t=this.form.get("category").value;if(!t)return;let s=!1;e===Qt.STRIP&&t===hn.LOGISTIC&&(s=!0),e===Qt.PLATE&&t===hn.SUPPLYCHAIN&&(s=!0),s&&(this.form.get("category").setValue(""),this.globalMessage.add({key:"claims.claimCategoryError"},p.NCV.MSG_TYPE_ERROR))}trackStartClaim(){!this.form.get("subject")?.value&&!this.form.get("defectDescription")?.value&&this.claimsTrackingService.trackClaimStart()}getCategories(){this.claimsService.getCategories().pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{const t=this.translatePipe.transform("claims.categories.supplychain");this.categories=e.map(s=>({code:s,name:s===hn.SUPPLYCHAIN?t:s})),1===e.length&&(this.form.get("category").setValue(this.categories[0].code),this.claimsTrackingService.claimCategory$.next(this.categories[0].name)),this.claimsService.setUserCategories(e)})}updateSelectValue(){this.claimsTrackingService.claimCategory$.next(this.form.get("category").value)}static#e=this.ctorParameters=()=>[{type:p.D97},{type:ke},{type:ve.u},{type:n.gRc},{type:p.S8D},{type:Un}];static#t=this.propDecorators={form:[{type:n.pde}]}};nu=(0,r.Cg)([(0,n.uAl)({selector:"app-claims-create-claim",template:'<app-toggle-card\n  class="claims__create-card"\n  [isExpand]="true"\n  [overflowVisible]="true"\n  [hideToggleButton]="false"\n>\n  <svg-icon-sprite\n    header-icon\n    src="create"\n    width="18"\n    height="18"\n  ></svg-icon-sprite>\n  <span header-left>\n    {{ \'claims.createClaim\' | cxTranslate }}\n  </span>\n  <div toggle-body>\n    <div class="claims__create-form">\n      <app-input\n        [maxLength]="MAX_INPUT_COUNT"\n        label="{{ \'claims.subject\' | cxTranslate }} *"\n        [controlData]="form.get(\'subject\')"\n        (focusout)="replaceNonPrintable(form.get(\'subject\'))"\n        (focusEvent)="trackStartClaim()"\n      >\n      </app-input>\n\n      <app-select\n        [items]="categories"\n        placeholder="{{ \'claims.category\' | cxTranslate }} *"\n        [clearable]="false"\n        [controlData]="form.get(\'category\')"\n        bindLabel="name"\n        bindValue="code"\n        (selectClosed)="updateSelectValue()"\n      >\n        <ng-template\n          #disabledTmp\n          let-item="item"\n          let-item$="item$"\n          let-index="index"\n        >\n          <span class="ng-option-label">\n            {{ item.name }}\n          </span>\n        </ng-template>\n      </app-select>\n\n      <app-textarea\n        [control]="form.get(\'defectDescription\')"\n        [maxLength]="MAX_TEXTAREA_COUNT"\n        placeholder="{{ \'claims.reasonDescription\' | cxTranslate }} *"\n        (focusEvent)="trackStartClaim()"\n      >\n      </app-textarea>\n    </div>\n  </div>\n</app-toggle-card>\n',styles:[rw()]})],nu);var aw=i(50954),cw=i.n(aw);let su=class{constructor(e,t,s,o){this.claimService=e,this.route=t,this.changeDetection=s,this.router=o,this.destroyed$=new R.B,this.claim=null}ngOnInit(){this.route.queryParams.pipe((0,k.n)(e=>this.claimService.getClaim(e.claim)),(0,x.Q)(this.destroyed$)).subscribe(e=>{this.claim=e,this.changeDetection.detectChanges()})}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}download(e){this.claimService.downloadDocument(this.claim.claimID,e.objectId).pipe((0,x.Q)(this.destroyed$)).subscribe(t=>{this.claimService.saveEmit(t,e.documentName)})}downloadAll(){this.claimService.downloadDocuments(this.claim.claimID).pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.claimService.saveEmit(e,"files.zip")})}goBack(){this.router.navigate([M.CLAIMS.LIST]).then()}static#e=this.ctorParameters=()=>[{type:ke},{type:y.nX},{type:n.gRc},{type:y.Ix}]};su=(0,r.Cg)([(0,n.uAl)({selector:"app-claims-detail",template:"",styles:[cw()]})],su);var dw=i(16334),pw=i.n(dw);let iu=class{constructor(){this.types=Ns}};iu=(0,r.Cg)([(0,n.uAl)({selector:"app-claims-header",template:'<div class="claims">\n  <app-page-title\n    [noMargin]="true"\n    class="claims__title"\n  >\n    {{ \'claims.createNewClaim\' | cxTranslate }}\n  </app-page-title>\n\n  <app-title-info [type]="types.WARNING">{{ \'claims.formFilledWarning\' | cxTranslate }}</app-title-info>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[pw()]})],iu);var hw=i(37876),gw=i.n(hw);let ru=class{constructor(e){this.changeDetection=e,this.itemIndex=null,this.claim=null,this.item=null,this.last=!1,this.openedMoreCharsSections=[]}ngOnInit(){}toggleMoreChars(e){this.openedMoreCharsSections.includes(e)?this.openedMoreCharsSections=this.openedMoreCharsSections.filter(t=>e!==t):this.openedMoreCharsSections.push(e),this.changeDetection.detectChanges()}static#e=this.ctorParameters=()=>[{type:n.gRc}];static#t=this.propDecorators={itemIndex:[{type:n.pde}],claim:[{type:n.pde}],item:[{type:n.pde}],last:[{type:n.pde}]}};ru=(0,r.Cg)([(0,n.uAl)({selector:"app-claims-list-card-items",template:'<div>\n  <div class="claim-card__category-header">\n    <div class="claim-card__category d-flex justify-content-start align-items-center">\n      <div class="claim-card__index">{{ itemIndex + 1 }}</div>\n      <span class="claim-card__category-title">{{\'claims.card.category\' | cxTranslate}}</span>\n      <span class="claim-card__category-name">{{ item.productCategoryName || \'\' }}</span>\n    </div>\n  </div>\n\n  <div class="claim-card__chars">\n    <ng-container *ngIf="item.plateId; else stripChar">\n      <app-claims-card-cell\n        [title]="\'claims.card.plateId\' | cxTranslate"\n        [text]="item.plateId"\n      ></app-claims-card-cell>\n    </ng-container>\n\n    <app-claims-card-cell\n      [title]="\'claims.card.invoiceNumber\' | cxTranslate"\n      [text]="item.invoiceNumber"\n    ></app-claims-card-cell>\n\n    <app-claims-card-cell\n      [title]="\'claims.card.salesOrderNumber\' | cxTranslate"\n      [text]="item.salesOrderNumber"\n    ></app-claims-card-cell>\n\n    <ng-container *ngIf="item.plateId">\n      <app-claims-card-cell\n        [title]="\'claims.card.incident\' | cxTranslate"\n        [text]="claim.incident"\n      ></app-claims-card-cell>\n    </ng-container>\n\n    <ng-container *ngIf="!item.plateId">\n      <div></div>\n    </ng-container>\n\n    <app-claims-card-cell\n      [title]="\'claims.card.weightInvoicedUOM\' | cxTranslate"\n      [text]="item.weightInvoicedUOM"\n    ></app-claims-card-cell>\n\n    <app-claims-card-cell\n      [title]="\'claims.card.weightInvoiced\' | cxTranslate"\n      [text]="item.weightInvoiced | decimalNumber: 3"\n    ></app-claims-card-cell>\n\n    <app-claims-card-cell\n      [title]="\'claims.card.weightClaimed\' | cxTranslate"\n      [text]="item.weightClaimed | decimalNumber: 3"\n    ></app-claims-card-cell>\n\n    <app-claims-card-cell\n      [title]="\'claims.card.weightAccepted\' | cxTranslate"\n      [text]="item.weightAccepted | decimalNumber: 3"\n    ></app-claims-card-cell>\n\n    <ng-template #stripChar>\n      <app-claims-card-cell\n        [title]="\'claims.card.coilId\' | cxTranslate"\n        [text]="item.coilId"\n      ></app-claims-card-cell>\n    </ng-template>\n  </div>\n\n  <div\n    class="claim-card__more-chars d-flex"\n    [class.claim-card__more-chars--last]="last"\n    [class.claim-card__more-chars--open]="openedMoreCharsSections.includes(itemIndex)"\n  >\n    <button (click)="toggleMoreChars(itemIndex)" class="claim-card__more-items-toggle">\n      {{\'claims.card.itemChars\' | cxTranslate}}\n\n      <svg-icon-sprite\n        src="expand_more"\n        class="claim-card__more-items-toggle-icon"\n        width="16px"\n      ></svg-icon-sprite>\n    </button>\n\n    <div class="ml-auto">\n      <app-claims-card-status\n        [isItem]="true"\n        [status]="item.status | claimStatusName"\n        size="small"\n      ></app-claims-card-status>\n    </div>\n  </div>\n\n  <div *ngIf="openedMoreCharsSections.includes(itemIndex)" class="claim-card__chars claim-card__chars--last">\n    <app-claims-card-cell\n      [title]="\'claims.card.steelGrade\' | cxTranslate"\n      [text]="item.steelGrade"\n    ></app-claims-card-cell>\n\n    <app-claims-card-cell\n      [title]="\'claims.card.thickness\' | cxTranslate"\n      [text]="item.thickness"\n    ></app-claims-card-cell>\n\n    <app-claims-card-cell\n      [title]="\'claims.card.width\' | cxTranslate"\n      [text]="item.width"\n    ></app-claims-card-cell>\n\n    <ng-container *ngIf="item.plateId">\n      <app-claims-card-cell\n        [title]="\'claims.card.length\' | cxTranslate"\n        [text]="item.length"\n        [rightAlign]="true"\n      ></app-claims-card-cell>\n\n      <app-claims-card-cell\n        [title]="\'claims.card.mill\' | cxTranslate"\n        [text]="item.mill"\n      ></app-claims-card-cell>\n\n      <app-claims-card-cell\n        [title]="\'claims.card.chargeNumber\' | cxTranslate"\n        [text]="item.chargeNumber"\n      ></app-claims-card-cell>\n    </ng-container>\n  </div>\n</div>\n',styles:[gw()]})],ru);var je,_w=i(24610),vw=i.n(_w);!function(a){a.OPEN="Open",a.IN_PROGRESS="In progress",a.IN_CREATION="In creation",a.CLOSED="Closed",a.REJECTED="Rejected",a.ACCEPTED="Accepted",a.PARTIALLY_ACCEPTED="Partially accepted",a.TECHNICALLY_CLOSED="Technically Closed",a.COMMERCIALLY_CLOSED="Commercially Closed",a.APPROVING_BY_LSM="Approving by LSM",a.CN_APPROVED="CN Approved",a.CREDIT_DEBIT_NOTE_APPROVED="Credit / Debit Note Approved",a.REGISTERED="Registered"}(je||(je={}));let ou=class{set setClaim(e){this.claim=e,this.onResize(),this.replaceStatus(this.claim)}onResize(){this.cards=this.claimService.getCurrentCardSize(this.shownItemsCountBeforeScrollDesktop,this.shownItemsCountBeforeScrollMobile)}constructor(e,t){this.changeDetection=e,this.claimService=t,this.index=0,this.claim=null,this.ROUTE_URL=M,this.isProductsListOpen=!1,this.openedMoreCharsSections=[],this.shownItemsCount=10,this.shownItemsCountBeforeScrollDesktop=3,this.shownItemsCountBeforeScrollMobile=2,this.cards={cardSize:179,shownItemsCountBeforeScroll:3}}ngOnInit(){}replaceStatus(e){switch(!0){case e.status===je.CLOSED:const t=this.claim.items.filter(o=>o.status===je.REJECTED),s=this.claim.items.filter(o=>o.status===je.CLOSED);t.length===this.claim.items.length&&(e.status=je.REJECTED),s.length===this.claim.items.length&&(e.status=je.CLOSED),t.length>0&&(e.status=je.CLOSED);break;case e.status===je.REGISTERED:e.status=je.IN_CREATION}}toggleProductsList(){this.isProductsListOpen=!this.isProductsListOpen}toggleMoreChars(e){this.openedMoreCharsSections.includes(e)?this.openedMoreCharsSections=this.openedMoreCharsSections.filter(t=>e!==t):this.openedMoreCharsSections.push(e),this.changeDetection.detectChanges()}showMore(){return this.shownItemsCount+=10}static#e=this.ctorParameters=()=>[{type:n.gRc},{type:ke}];static#t=this.propDecorators={setClaim:[{type:n.pde,args:["claim"]}],index:[{type:n.pde}],onResize:[{type:n.Z$l,args:["window:resize"]}]}};ou=(0,r.Cg)([(0,n.uAl)({selector:"app-claims-list-card",template:'<div\n  class="claim-card claim-card--{{ claim.status | claimStatusName }}"\n  [class.claim-card--toggled]="isProductsListOpen"\n>\n  <app-card-wrapper>\n    <div class="claim-card__header d-flex align-items-center">\n      <div class="claim-card__number">\n        <a [routerLink]="ROUTE_URL.CLAIMS.DETAIL" [queryParams]="{ claim: claim.claimID }">\n          {{ \'claims.card.title\' | cxTranslate }}\n          {{ claim.claimID }}\n        </a>\n      </div>\n\n      <div *ngIf="claim.status" class="claim-card__status ml-auto">\n        <app-claims-card-status [status]="claim.status | claimStatusName"></app-claims-card-status>\n      </div>\n    </div>\n\n    <div class="claim-card__subject">\n      {{ \'claims.card.subject\' | cxTranslate }}\n\n      <span class="claim-card__subject-data">{{claim.subject}}</span>\n    </div>\n\n    <div class="claim-card__info">\n      <app-claims-card-cell\n        [title]="\'claims.card.placementDate\' | cxTranslate"\n        [text]="claim.placementDate | date: \'dd.MM.yyyy\'"\n      ></app-claims-card-cell>\n\n      <app-claims-card-cell\n        [title]="\'claims.card.category\' | cxTranslate"\n        [text]="claim.category ? ((\'claims.categories.\' + claim.category.toLowerCase()) | cxTranslate) : \'\'"\n      ></app-claims-card-cell>\n\n      <ng-container *ngIf="claim.items && claim.items.length && claim.items[0]?.plateId">\n        <app-claims-card-cell\n          [title]="\'claims.card.claimReason\' | cxTranslate"\n          [text]="claim.claimReason"\n        ></app-claims-card-cell>\n\n        <app-claims-card-cell\n          [title]="\'claims.card.incident\' | cxTranslate"\n          [text]="claim.incident"\n        ></app-claims-card-cell>\n      </ng-container>\n    </div>\n\n    <div class="claim-card__action-line d-flex align-items-center">\n      <button (click)="toggleProductsList()" class="claim-card__items-toggle">\n        {{ \'claims.card.claimItems\' | cxTranslate }}\n\n        <svg-icon-sprite\n          src="expand_more"\n          class="claim-card__items-toggle-icon"\n          width="16px"\n        ></svg-icon-sprite>\n      </button>\n\n      <div class="claim-card__items-amount ml-auto">\n        {{ claim.items.length }} {{ \'claims.card.items\' | cxTranslate }}\n      </div>\n    </div>\n\n    <div *ngIf="isProductsListOpen" class="claim-card__items">\n      <scrollbar [style.max-height.px]="cards.cardSize * cards.shownItemsCountBeforeScroll">\n        <ng-container *ngFor="let item of claim.items.slice(0, shownItemsCount); let itemIndex = index; let last = last">\n          <div class="claim-card__category-header">\n            <div class="claim-card__category d-flex justify-content-start align-items-center">\n              <div class="claim-card__index">{{ itemIndex + 1 }}</div>\n              <span class="claim-card__category-title">{{\'claims.card.category\' | cxTranslate}}</span>\n              <span class="claim-card__category-name">{{ item.productCategoryName }}</span>\n            </div>\n          </div>\n\n          <div class="claim-card__chars">\n            <ng-container *ngIf="item.plateId; else stripChar">\n              <app-claims-card-cell\n                [title]="\'claims.card.plateId\' | cxTranslate"\n                [text]="item.plateId"\n              ></app-claims-card-cell>\n            </ng-container>\n\n            <app-claims-card-cell\n              [title]="\'claims.card.invoiceNumber\' | cxTranslate"\n              [text]="item.invoiceNumber"\n            ></app-claims-card-cell>\n\n            <app-claims-card-cell\n              [title]="\'claims.card.salesOrderNumber\' | cxTranslate"\n              [text]="item.salesOrderNumber"\n            ></app-claims-card-cell>\n\n            <ng-container *ngIf="item.plateId">\n              <app-claims-card-cell\n                [title]="\'claims.card.incident\' | cxTranslate"\n                [text]="claim.incident"\n              ></app-claims-card-cell>\n            </ng-container>\n\n            <ng-container *ngIf="!item.plateId">\n              <div></div>\n            </ng-container>\n\n            <app-claims-card-cell\n              [title]="\'claims.card.weightInvoicedUOM\' | cxTranslate"\n              [text]="item.weightInvoicedUOM"\n            ></app-claims-card-cell>\n\n            <app-claims-card-cell\n              [title]="\'claims.card.weightInvoiced\' | cxTranslate"\n              [text]="item.weightInvoiced | decimalNumber: 3"\n            ></app-claims-card-cell>\n\n            <app-claims-card-cell\n              [title]="\'claims.card.weightClaimed\' | cxTranslate"\n              [text]="item.weightClaimed | decimalNumber: 3"\n            ></app-claims-card-cell>\n\n            <app-claims-card-cell\n              [title]="\'claims.card.weightAccepted\' | cxTranslate"\n              [text]="item.weightAccepted | decimalNumber: 3"\n            ></app-claims-card-cell>\n\n            <ng-template #stripChar>\n              <app-claims-card-cell\n                [title]="\'claims.card.coilId\' | cxTranslate"\n                [text]="item.coilId"\n              ></app-claims-card-cell>\n            </ng-template>\n          </div>\n\n          <div\n            class="claim-card__more-chars d-flex"\n            [class.claim-card__more-chars--last]="last"\n            [class.claim-card__more-chars--open]="openedMoreCharsSections.includes(itemIndex)"\n          >\n            <button (click)="toggleMoreChars(itemIndex)" class="claim-card__more-items-toggle">\n              {{\'claims.card.itemChars\' | cxTranslate}}\n\n              <svg-icon-sprite\n                src="expand_more"\n                class="claim-card__more-items-toggle-icon"\n                width="16px"\n              ></svg-icon-sprite>\n            </button>\n\n            <div class="ml-auto">\n              <app-claims-card-status\n                size="small"\n                [status]="item.status | claimStatusName"\n                [isItem]="true"\n              ></app-claims-card-status>\n            </div>\n          </div>\n\n          <div *ngIf="openedMoreCharsSections.includes(itemIndex)" class="claim-card__chars claim-card__chars--last">\n            <app-claims-card-cell\n              [title]="\'claims.card.steelGrade\' | cxTranslate"\n              [text]="item.steelGrade"\n            ></app-claims-card-cell>\n\n            <app-claims-card-cell\n              [title]="\'claims.card.thickness\' | cxTranslate"\n              [text]="item.thickness"\n            ></app-claims-card-cell>\n\n            <app-claims-card-cell\n              [title]="\'claims.card.width\' | cxTranslate"\n              [text]="item.width"\n            ></app-claims-card-cell>\n\n            <ng-container *ngIf="item.plateId">\n              <app-claims-card-cell\n                [title]="\'claims.card.length\' | cxTranslate"\n                [text]="item.length"\n                [rightAlign]="true"\n              ></app-claims-card-cell>\n\n              <app-claims-card-cell\n                [title]="\'claims.card.mill\' | cxTranslate"\n                [text]="item.mill"\n              ></app-claims-card-cell>\n\n              <app-claims-card-cell\n                [title]="\'claims.card.chargeNumber\' | cxTranslate"\n                [text]="item.chargeNumber"\n              ></app-claims-card-cell>\n            </ng-container>\n          </div>\n        </ng-container>\n\n        <app-show-more *ngIf="claim.items.length > 10">\n          <ng-container total>\n            {{ \'orders.ordersActive.itemOfItems\' | cxTranslate : { items: shownItemsCount < claim.items.length ? shownItemsCount : claim.items.length, totalItems: claim.items.length } }}\n          </ng-container>\n          <ng-container button>\n            <button\n              class="btn btn--sm btn-secondary"\n              [disabled]="shownItemsCount >= claim.items.length"\n              (click)="showMore()"\n            >\n              {{ \'button.showMoreItems\' | cxTranslate }}\n            </button>\n          </ng-container>\n        </app-show-more>\n      </scrollbar>\n    </div>\n  </app-card-wrapper>\n</div>\n',styles:[vw()]})],ou);var fw=i(20174),Cw=i.n(fw);let au=class{constructor(e,t,s,o,l){this.claimsService=e,this.translatePipe=t,this.changeDetection=s,this.route=o,this.router=l,this.claims=[],this.sorts=[],this.pagination=null,this.activeSort="",this.destroyed$=new R.B}ngOnInit(){this.initRouteSub()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}initRouteSub(){this.route.queryParams.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.loadClaims(e)})}loadClaims(e={}){this.claimsService.getClaims(e).pipe((0,x.Q)(this.destroyed$)).subscribe(t=>{const{claims:s,sorts:o,pagination:l}=t;this.claims=s,this.setSorts(o),this.pagination=l})}showFn(e){return t=>e.transform(t.name)}setSorts(e){this.sorts=e;const t=this.sorts.find(s=>s.selected);this.activeSort=t.code,this.changeDetection.detectChanges()}selectSort(e){const t=Object.assign({},this.route.snapshot.queryParams,{sort:e.code});this.router.navigate([],{relativeTo:this.route,queryParams:t})}static#e=this.ctorParameters=()=>[{type:ke},{type:p.D97},{type:n.gRc},{type:y.nX},{type:y.Ix}]};au=(0,r.Cg)([(0,n.uAl)({selector:"app-claims-list",template:'<div class="claims">\n  <div class="claims__header d-flex justify-content-between align-items-center">\n    <app-page-title\n      [noMargin]="true"\n      class="claims__title"\n    >\n      {{ \'claims.claimsList\' | cxTranslate }}\n    </app-page-title>\n    <app-sort-select\n      bindValue="code"\n      bindTitle="name"\n      [activeItem]="activeSort"\n      [sortTitle]="\'claims.sorting\' | cxTranslate"\n      [items]="sorts"\n      [showFn]="showFn(translatePipe)"\n      showSortIcons="true"\n      (selectItem)="selectSort($event)">\n    </app-sort-select>\n  </div>\n\n  <div class="claims__list">\n    <ng-container *ngFor="let claim of claims; let index = index">\n      <app-claims-list-card [claim]="claim" [index]="index"></app-claims-list-card>\n    </ng-container>\n  </div>\n\n  <cx-pagination\n    *ngIf="pagination"\n    [defaultPage]="0"\n    [pagination]="pagination"\n    queryParam="currentPage"\n  ></cx-pagination>\n</div>\n\n',styles:[Cw()]})],au);var yw=i(41058),Sw=i.n(yw);let cu=class{constructor(e,t){this.translatePipe=e,this.claimsService=t,this.replaceNonPrintable=ft,this.sellers$=this.claimsService.getSellers(),this.formSeller$=this.claimsService.sellersForm$,this.MAX_INPUT_COUNT=40,this.QUANTITY_TYPE="Quantity",this.types=[],this.mills=[],this.destroy$=new R.B}ngOnInit(){this.getTypesAndMills()}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}getTypesAndMills(){(0,La.p)([this.claimsService.getClaimTypes().pipe((0,w.T)(e=>e.filter(t=>t!==this.QUANTITY_TYPE))),this.claimsService.getClaimMills()]).pipe((0,x.Q)(this.destroy$)).subscribe(e=>{this.types=this.setCodeToItems(e[0]),this.mills=e[1],1===this.types.length&&this.form.get("type").setValue(this.types[0].code)})}setCodeToItems(e){return e.map(t=>({code:t,name:t}))}static#e=this.ctorParameters=()=>[{type:p.D97},{type:ke}];static#t=this.propDecorators={form:[{type:n.pde}]}};cu=(0,r.Cg)([(0,n.uAl)({selector:"app-claims-trading-create-claim",template:'<app-toggle-card\n  class="claims__create-card"\n  [isExpand]="true"\n  [overflowVisible]="true"\n  [hideToggleButton]="false"\n>\n  <svg-icon-sprite\n    header-icon\n    src="create"\n    width="18"\n    height="18"\n  ></svg-icon-sprite>\n  <span header-left>\n    {{ \'claims.createClaim\' | cxTranslate }}\n  </span>\n  <div toggle-body>\n    <div class="claims__create-form">\n      <div class="claims__form-row">\n        <app-select\n          [controlData]="formSeller$ | async"\n          [items]="sellers$ | async"\n          [clearable]="false"\n          bindLabel="label"\n          bindValue="value"\n          placeholder="{{ \'claims.seller\' | cxTranslate }}"\n        ></app-select>\n        <app-input\n          [maxLength]="MAX_INPUT_COUNT"\n          label="{{ \'claims.subject\' | cxTranslate }} *"\n          [controlData]="form.get(\'subject\')"\n          (focusout)="replaceNonPrintable(form.get(\'subject\'))"\n        ></app-input>\n      </div>\n\n      <div class="claims__form-row">\n        <app-select\n          class="w-100"\n          [items]="types"\n          placeholder="{{ \'claims.claimType\' | cxTranslate }} *"\n          [clearable]="false"\n          [controlData]="form.get(\'type\')"\n          bindLabel="name"\n          bindValue="code"\n        >\n        </app-select>\n\n        <app-select\n          class="w-100"\n          [items]="mills"\n          placeholder="{{ \'claims.mill\' | cxTranslate }} *"\n          [clearable]="false"\n          [controlData]="form.get(\'mill\')"\n          bindLabel="label"\n          bindValue="value"\n        >\n        </app-select>\n      </div>\n    </div>\n  </div>\n</app-toggle-card>\n',styles:[Sw()]})],cu);let lu=class{transform(e){return[je.TECHNICALLY_CLOSED,je.COMMERCIALLY_CLOSED,je.APPROVING_BY_LSM,je.CREDIT_DEBIT_NOTE_APPROVED.toString()].includes(e)&&(e=je.IN_PROGRESS),e.toLowerCase().replace(/\s/g,"_")}};lu=(0,r.Cg)([(0,n.nT_)({name:"claimStatusName"})],lu);let du=class{};du=(0,r.Cg)([(0,n.UQu)({declarations:[au,Zp,Xp,iu,nu,Jp,Kp,su,ru,ou,tu,lu,eu,cu,ka,Da,Fa,Ma,Na],imports:[S.MD,p.htr.withConfig({cmsComponents:{ClaimsListComponent:{component:Ma,guards:[j,Y]},ClaimCreateComponent:{component:Da,guards:[j,Y]},ClaimCreateTradingComponent:{component:ka,guards:[j,Y]},ClaimsDetailComponent:{component:Fa,guards:[j,Y]},ClaimsTradingListComponent:{component:Na,guards:[j,Y]}}}),be,p.LP3,V.F2,ct,it,ce,ge,ze,m.X1,Mt,an,v.GQ,It,y.iI,p.YYe,v.x6L,ps,Wp,jp,An,Ia,Ta,Te,Rr,xe,Ze,Ms],providers:[ke]})],du);var Et,Ew=i(94634),Rw=i.n(Ew);!function(a){a.ACTIVE="active",a.DISABLED="disabled"}(Et||(Et={}));let pu=class{constructor(e){this.router=e,this.isActive=!0}ngOnInit(){}goBack(){return this.router.navigate([M.MY_ACCOUNT.USERS.LISTING],{queryParams:{status:this.isActive?Et.ACTIVE:Et.DISABLED}})}static#e=this.ctorParameters=()=>[{type:y.Ix}];static#t=this.propDecorators={isActive:[{type:n.pde}]}};pu=(0,r.Cg)([(0,n.uAl)({selector:"app-back-to-user-button",template:'<button class="back-button btn btn-secondary btn--sm" (click)="goBack()">\n  <svg-icon-sprite class="back-button__icon" src="arrow_back" width="16" height="16"></svg-icon-sprite>\n  {{ \'button.backToUsers\' | cxTranslate }}\n</button>\n',styles:[Rw()]})],pu);var Aw=i(45908),Iw=i.n(Aw);let qt=class{constructor(e,t,s,o,l){this.http=e,this.occEndpointsService=t,this.globalMessageService=s,this.route=o,this.router=l,this.pageData$=new P.t(null),this.PAGE_SIZE=5}createUser(e){return this.http.post(this.occEndpointsService.buildUrl(E.USER.USER_ORG_CUSTOMERS),e)}resetPassword(e){return this.http.post(this.occEndpointsService.buildUrl(E.USER.USER_RESET_PASSWORD,{urlParams:{orgCustomerId:e}}),{})}updateUser(e,t){return this.http.patch(this.occEndpointsService.buildUrl(E.USER.USER_ORG_CUSTOMER_UPDATE,{urlParams:{orgCustomerId:e}}),t).pipe((0,pe.W)(s=>(this.globalMessageService.add(s.error.errors[0].message,p.NCV.MSG_TYPE_ERROR),(0,ue.$)(s))))}getUser(e){return this.http.get(this.occEndpointsService.buildUrl(E.USER.USER_ORG_CUSTOMER_UPDATE,{urlParams:{orgCustomerId:e}})).pipe((0,pe.W)(t=>(this.globalMessageService.add(t.error.errors[0].message,p.NCV.MSG_TYPE_ERROR),(0,ue.$)(t))))}getUsersListPageData(e){const t=this.occEndpointsService.buildUrl(E.USER.USER_ORG_CUSTOMERS),s={pageSize:this.PAGE_SIZE,...this.route.snapshot.queryParams,...e};let o=new U.Nl;Object.keys(s).forEach(l=>{o=o.set(l,s[l])}),this.http.get(t,{params:o}).subscribe(l=>{this.pageData$.next(l)}),this.router.navigate([],{relativeTo:this.route,queryParams:s,queryParamsHandling:"merge"}).then()}resetUserStatus(e){return this.http.delete(this.occEndpointsService.buildUrl(E.USER.DELETE_STATUS_CUSTOMER,{urlParams:{orgCustomerId:e}}))}static#e=this.ctorParameters=()=>[{type:U.Qq},{type:p.zxz},{type:p.S8D},{type:y.nX},{type:y.Ix}]};qt=(0,r.Cg)([(0,n._qm)()],qt);class Jg extends p._3U{}let $a=class{constructor(e,t,s,o,l,u,h){this.eventService=e,this.productListCategoryService=t,this.orderTypeService=s,this.authService=o,this.userAccountService=l,this.companyService=u,this.deliveryService=h}trackUserData(e){this.userAccountService.get().pipe((0,B.p)(t=>!!t),(0,oe.s)(1)).subscribe(t=>{t&&(0,Ce.z)([this.deliveryService.getUserDefaultAddress(),this.deliveryService.getAllSalesData()]).pipe((0,oe.s)(1),(0,w.T)(([s,o])=>{const l=s?.addresses[0],u={event:"page_view",page_type:e,environment:this.getEnvironment(),user_company:t?.orgUnit?.name||"",user_role:t?.additionalInfo?.businessRole?.name||"",user_country:l?.country?.isocode,user_city:l?.town,user_type:o?.salesDataDates?.length>1?"both":o?.salesDataDates[0]?.productionType?.toLowerCase(),custom_user_id:t?.customerId||"",user_id:t?.uid||"",user_status:"Logged"};this.eventService.register(Jg,(0,$.of)(u))})).subscribe()})}getShopPageProductType(e){const t=e.list.find(s=>s.code===e?.context?.id);return t?.code===ae.BRAND_QUEND||t?.code===ae.BRAND_QUARD?"brand":t?.productionType||t?.name}getPageType(e){const t=e?.context?.id;if(e?.queryParams?.query)return null;switch(t){case Jt_REQUEST_QUOTATION:return ae.REQUEST_FOR_QUOTATION;case Jt_ORDER_FROM_CONTRACT:return ae.ORDER_FROM_CONTRACT;case Jt_CART:return ae.CART;case Jt_CHECKOUT_QUOTATION:return this.checkoutOrderType=ae.QUOTE_CONFIRMATION,ae.CHECKOUT_QUOTATION;case Jt_CHECKOUT_ORDER:case Jt_CHECKOUT_CONTRACT:return this.checkoutOrderType=ae.ORDER_CONFIRMATION,ae.CHECKOUT_ORDER;case Jt_CHECKOUT_CONFIRMATION:return this.checkoutOrderType;case p.wL7:return ae.HOME_CONNECTED;default:return null}}getEnvironment(){if(window?.location)return window.location?.href.indexOf("jsapps.")>0?"stagging":"production"}static#e=this.ctorParameters=()=>[{type:p.USV},{type:Yt},{type:gt},{type:p.uRZ},{type:Le.zq},{type:qt},{type:pn}]};$a=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],$a);let Ba=class{constructor(e,t,s,o){this.eventService=e,this.userAccountService=t,this.pageTrackingService=s,this.cmsService=o}trackUserCreation(){this.eventService.register(Gt,(0,$.of)({event:ae.USER_CREATION}))}trackUserLogin(){this.userAccountService.get().pipe((0,B.p)(e=>void 0!==e?.uid)).subscribe(e=>{this.eventService.register(Gt,(0,$.of)({event:ae.USER_LOGIN,first_connexion:e?.lastLogin?"false":"true"}))}),this.subscription||(this.subscription=this.userAccountService.get().pipe((0,B.p)(e=>void 0!==e?.uid)).subscribe(e=>{this.eventService.register(Gt,(0,$.of)({event:ae.USER_LOGIN,first_connexion:e?.lastLogin?"false":"true"})),this.pageTrackingService.trackUserData(ae.HOME_CONNECTED)}))}static#e=this.ctorParameters=()=>[{type:p.USV},{type:Le.zq},{type:$a},{type:p.xYq}]};function Rt(a){const e=new RegExp(/^[A-Za-z][a-z]{0,39}(([\s'\-])([A-Za-z][a-z]{0,39}))*$/);return a.value?a.value.match(e)&&a.value.length<=40?null:{invalidNameFormat:!0}:null}Ba=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],Ba);const uu=[{title:"Mr.",value:"0002"},{title:"Ms.",value:"0001"}],em=(a,e,t)=>({birthdate:ww(a?.birthdate?.singleDate?.jsDate),selectedDepartment:e.find(s=>s.uid===a?.department),selectedRole:t.find(s=>s.uid===a?.businessRole),phoneNumber:a?.phoneNumber?.replace(/\s/g,"")}),ww=a=>!a||!a.getFullYear||a instanceof Date&&isNaN(a.getFullYear())?"":`${a.getFullYear()}-${a.getMonth()+1}-${a.getDate()}T00:00:00+0000`;let Va=class{constructor(e,t,s,o,l,u,h,_){this.companiesDataService=e,this.companyService=t,this.launchDialogService=s,this.router=o,this.globalMessageService=l,this.baseSiteService=u,this.translatePipe=h,this.userTrackingService=_,this.replaceNonPrintable=ft,this.createUserForm=new m.J3({firstName:new m.hs("",[m.k0.required,Rt]),lastName:new m.hs("",[m.k0.required,Rt]),email:new m.hs("",[m.k0.required,v.zEP.emailValidator,He]),phoneNumber:new m.hs("",m.k0.maxLength(En.maxPhoneNumberLength)),titleCode:new m.hs(null),department:new m.hs(null),businessRole:new m.hs(null),birthdate:new m.hs("")}),this.ACTIVE_SITE=Re,this.titles=uu,this.departments=[],this.roles=[],this.isLoading$=new P.t(!1),this.destroyed$=new R.B,this.subscription=new X.yU,this.activeSite$=this.baseSiteService.getActive().pipe((0,z.M)(C=>{C===Re.EU&&(this.createUserForm.get("department").setValidators(m.k0.required),this.createUserForm.get("businessRole").setValidators(m.k0.required))}))}ngOnInit(){this.getProfileData()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete(),this.subscription?.unsubscribe()}getProfileData(){const e=[this.companiesDataService.getCompaniesData(at.DEPARTMENTS),this.companiesDataService.getCompaniesData(at.ROLES)],t=(0,Ce.z)(e).pipe((0,x.Q)(this.destroyed$)).subscribe(s=>{this.departments=s[0],this.roles=s[1],t.unsubscribe()})}createSendParams(){const e=this.createUserForm.value,t=em(e,this.departments,this.roles);return{firstName:e.firstName.trim(),lastName:e.lastName.trim(),phoneNumber:t.phoneNumber,role:t.selectedRole?.uid,titleCode:e.titleCode,department:t.selectedDepartment?.uid,birthdate:t.birthdate,email:e.email.toLowerCase()}}cancel(){sl(this.launchDialogService,this.translatePipe),this.subscription.add(this.launchDialogService.dialogClose.subscribe(e=>{e&&this.createUserForm.reset({email:""})}))}save(){if(this.createUserForm.valid){const e=this.createSendParams();this.launchDialogService.openDialogAndSubscribe("USERS_MODAL_CREATE_MODAL",void 0,{name:e.firstName,surname:e.lastName}),this.subscription.add(this.launchDialogService.dialogClose.subscribe(t=>{t&&(this.isLoading$.next(!0),this.userTrackingService.trackUserCreation(),this.companyService.createUser(e).pipe((0,x.Q)(this.destroyed$)).subscribe(()=>{this.userTrackingService.trackUserCreation(),this.router.navigate([M.MY_ACCOUNT.USERS.LISTING])},({error:s})=>{s.errors?.forEach(o=>{o.reason||this.globalMessageService.add(o.message,p.NCV.MSG_TYPE_ERROR)}),this.isLoading$.next(!1)}),this.subscription?.unsubscribe())}))}else this.createUserForm.markAllAsTouched()}static#e=this.ctorParameters=()=>[{type:rn},{type:qt},{type:v.PLe},{type:y.Ix},{type:p.S8D},{type:p.ASs},{type:p.D97},{type:Ba}]};Va=(0,r.Cg)([(0,n.uAl)({selector:"app-users-create",template:'<ng-container *ngIf="activeSite$ | async as activeSite">\n  <div class="user-create">\n    <h4 class="user-create__title">\n      {{ \'text.createUser.title\' | cxTranslate }}\n    </h4>\n\n    <hr class="user-create__divider">\n\n    <div class="user-create__list user-create__list--columns">\n      <div *ngIf="isLoading$ | async" class="loader-in-process">\n        <app-loader size="36px"></app-loader>\n      </div>\n      <ng-container [formGroup]="createUserForm">\n        <app-input\n          [controlData]="createUserForm.get(\'firstName\')"\n          [isRequired]="true"\n          (focusout)="replaceNonPrintable(createUserForm.get(\'firstName\'))"\n          label="{{ \'placeholder.firstName\' | cxTranslate }}"\n        ></app-input>\n        <app-input\n          [controlData]="createUserForm.get(\'lastName\')"\n          [isRequired]="true"\n          (focusout)="replaceNonPrintable(createUserForm.get(\'lastName\'))"\n          label="{{ \'placeholder.lastName\' | cxTranslate }}"\n        ></app-input>\n        <app-input [controlData]="createUserForm.get(\'phoneNumber\')" label="{{ \'placeholder.phone\' | cxTranslate }}" type="tel"></app-input>\n        <app-input\n          [isRequired]="true"\n          [controlData]="createUserForm.get(\'email\')"\n          (focusout)="replaceNonPrintable(createUserForm.get(\'email\'))"\n          label="{{ \'placeholder.email\' | cxTranslate }}"\n        ></app-input>\n\n        <ng-container *ngIf="activeSite === ACTIVE_SITE.EU">\n          <app-select [controlData]="createUserForm.get(\'department\')"\n                      placeholder="{{ \'placeholder.department\' | cxTranslate }}"\n                      [items]="departments"\n                      bindLabel="title"\n                      bindValue="uid">\n          </app-select>\n          <app-select [controlData]="createUserForm.get(\'businessRole\')"\n                      placeholder="{{ \'placeholder.role\' | cxTranslate }}"\n                      [items]="roles"\n                      bindLabel="name"\n                      bindValue="uid">\n          </app-select>\n          <app-date-picker\n            placeholder="{{ \'placeholder.birthDate\' | cxTranslate }}"\n            [defaultView]="3"\n            [isDefaultMonth]="true"\n            [isFullSize]="true"\n            [minYearCurrentMinus]="120"\n            [maxYearCurrentPlus]="-18"\n            [control]="createUserForm.get(\'birthdate\')"\n          ></app-date-picker>\n          <app-select [controlData]="createUserForm.get(\'titleCode\')"\n                      placeholder="{{ \'placeholder.title\' | cxTranslate }}"\n                      [items]="titles"\n                      bindLabel="title"\n                      bindValue="value">\n          </app-select>\n        </ng-container>\n      </ng-container>\n    </div>\n\n    <hr class="user-create__divider user-create__divider--margin">\n\n    <div class="user-create__buttons justify-content-between">\n      <app-back-to-user-button class="user-create__button p-0"></app-back-to-user-button>\n      <div class="d-flex flex-column flex-md-row">\n          <button class="user-create__button btn btn-secondary btn--sm" (click)="cancel()">\n            {{ \'text.myProfile.cancelButton\' | cxTranslate }}\n            <svg-icon-sprite class="user-create__button-icon" src="close" width="16" height="16"></svg-icon-sprite>\n          </button>\n\n          <button class="user-create__button btn btn-default btn--sm" [disabled]="isLoading$ | async" (click)="save()">\n            <div *ngIf="isLoading$ | async; else submitButtonText">\n              <app-loader size="24px"></app-loader>\n            </div>\n            <ng-template #submitButtonText>\n              {{ \'text.myProfile.saveButton\' | cxTranslate }}\n              <svg-icon-sprite class="user-create__button-icon user-create__button-icon--save" src="done" width="18" height="18"></svg-icon-sprite>\n            </ng-template>\n          </button>\n      </div>\n    </div>\n\n  </div>\n\n</ng-container>\n',styles:[Iw()]})],Va);var Fe,Ga,Dw=i(74529),Lw=i.n(Dw);!function(a){a.DEFAULT="DEFAULT",a.WAITING="WAITING",a.APPROVED="APPROVED",a.NOT_APPROVED="NOT_APPROVED"}(Fe||(Fe={})),function(a){a.UpdateProfileTradingComponent="UpdateProfileTradingComponent",a.UpdateProfileComponent="UpdateProfileComponent"}(Ga||(Ga={}));let hu=class{constructor(e){this.baseSiteService=e,this.MY_ACCOUNT=M.MY_ACCOUNT,this.ACTIVE_SITE=Re,this.isEditDisabled=!1,this.activeSite$=this.baseSiteService.getActive()}ngOnInit(){this.isEditDisabled=this.user.additionalInfo.updateStatus===Fe.WAITING}static#e=this.ctorParameters=()=>[{type:p.ASs}];static#t=this.propDecorators={user:[{type:n.pde}]}};hu=(0,r.Cg)([(0,n.uAl)({selector:"app-user-card",template:'<div\n  *ngIf="activeSite$ | async as activeSite"\n  [class.is-user-active]="!user.loginDisabled"\n  class="user-card"\n>\n\n  <div class="user-card__header d-flex align-items-center justify-content-between">\n    <a\n      [routerLink]="MY_ACCOUNT.USERS.EDIT"\n      [queryParams]="{ uid: user.uid }"\n      class="user-card__user-name"\n    >\n      {{ user.firstName }}\n      {{ user.lastName }}\n    </a>\n\n    <div class="user-card__user-state d-flex align-items-center">\n      {{ (user.loginDisabled ? \'text.customers.disabled\' : \'text.customers.active\') | cxTranslate }}\n      <svg-icon-sprite\n        [src]="user.loginDisabled ? \'block\' : \'check_circle\'"\n        width="16"\n        height="16"\n        class="user-card__user-state-icon"\n      ></svg-icon-sprite>\n    </div>\n  </div>\n\n  <div class="user-card__body d-flex col-12">\n    <ng-container *ngIf="activeSite === ACTIVE_SITE.EU">\n      <div class="user-card__param col-4 p-0">\n        <div class="user-card__param-title">\n          {{ \'text.customers.role\' | cxTranslate }}\n        </div>\n        <div class="user-card__param-value">{{ user.additionalInfo?.businessRole?.name }}</div>\n      </div>\n      <div class="user-card__param col-4 p-0">\n        <div class="user-card__param-title">\n          {{ \'text.customers.department\' | cxTranslate }}\n        </div>\n        <div class="user-card__param-value">{{ user.additionalInfo?.department?.title }}</div>\n      </div>\n    </ng-container>\n\n    <div class="user-card__param p-0" [class]="activeSite === ACTIVE_SITE.EU ? \'col-4\' : \'col-12\'">\n      <div class="user-card__param-title">\n        {{ \'text.customers.email\' | cxTranslate }}\n      </div>\n      <div\n        class="user-card__param-value"\n        [title]="user.uid"\n      >\n        {{ user.uid }}\n      </div>\n    </div>\n  </div>\n\n  <div\n    [class.user-card__footer--disabled]="isEditDisabled"\n    class="user-card__footer d-flex"\n  >\n    <ng-container *ngIf="isEditDisabled then disabledButton; else activeButton"></ng-container>\n    <ng-template #activeButton>\n      <a\n        [routerLink]="MY_ACCOUNT.USERS.EDIT"\n        [queryParams]="{ uid: user.uid, edit: true }"\n        class="user-card__btn btn btn--sm btn-secondary"\n      >\n        {{ \'text.customers.edit\' | cxTranslate }}\n        <svg-icon-sprite\n          src="create"\n          width="16"\n          height="16"\n          class="user-card__btn-icon ml-2"\n        ></svg-icon-sprite>\n      </a>\n    </ng-template>\n    <ng-template #disabledButton>\n      <div\n        *ngIf="isEditDisabled"\n        class="d-flex align-items-start user-card__description"\n      >\n        <svg-icon-sprite\n          src="error_outline"\n          width="16"\n          height="16"\n          class="user-card__description-icon"\n        ></svg-icon-sprite>\n        {{ \'text.customers.description\' | cxTranslate }}\n      </div>\n      <button\n        class="btn btn--sm btn-secondary user-card__btn"\n        disabled\n      >\n        {{ \'text.customers.edit\' | cxTranslate }}\n        <svg-icon-sprite\n          src="create"\n          width="16"\n          height="16"\n          class="ml-2"\n        ></svg-icon-sprite>\n      </button>\n    </ng-template>\n  </div>\n</div>\n',styles:[Lw()]})],hu);var Fw=i(11857),Mw=i.n(Fw);let gu=class{set setPageData(e){this.pageData=e,this.currentSort=e.sorts.find(t=>t.selected),this.changeDetector.detectChanges()}constructor(e,t,s){this.changeDetector=e,this.companyService=t,this.translatePipe=s,this.filterUsersByState=new n.bkB,this.MY_ACCOUNT=M.MY_ACCOUNT,this.USER_STATE=Et,this.currentSort=null,this.pageData=null}ngOnInit(){}sortList(e){const t={currentPage:0,sortCode:e};this.companyService.getUsersListPageData({currentPage:t.currentPage,sort:t.sortCode})}showFn(e){return t=>e.transform(t.name)}static#e=this.ctorParameters=()=>[{type:n.gRc},{type:qt},{type:p.D97}];static#t=this.propDecorators={setPageData:[{type:n.pde,args:["pageData"]}],usersState:[{type:n.pde}],filterUsersByState:[{type:n.k7i}]}};gu=(0,r.Cg)([(0,n.uAl)({selector:"app-users-list-page-header",template:'<div class="page-content-header align-items-center">\n  <h1 class="h5 page-content-header__title">\n    {{ \'text.customers.users\' | cxTranslate }}\n  </h1>\n\n  <div class="page-content-header__filter">\n    <div class="btn-group" role="group">\n      <button\n        [class.is-active]="usersState === USER_STATE.ACTIVE"\n        (click)="filterUsersByState.emit(USER_STATE.ACTIVE)"\n        type="button"\n        class="btn btn--md shadow-none"\n      >\n        {{ \'text.customers.active\' | cxTranslate }}\n      </button>\n      <button\n        [class.is-active]="usersState === USER_STATE.DISABLED"\n        (click)="filterUsersByState.emit(USER_STATE.DISABLED)"\n        type="button"\n        class="btn btn--md shadow-none"\n      >\n        {{ \'text.customers.disabled\' | cxTranslate }}\n      </button>\n    </div>\n  </div>\n\n  <div class="page-content-header__action">\n    <a\n      [routerLink]="MY_ACCOUNT.USERS.CREATE"\n      class=" d-flex align-items-center"\n    >\n      {{ \'text.customers.addNewUser\' | cxTranslate }}\n      <svg-icon-sprite\n        src="person_add"\n        width="18"\n        height="18"\n        class="page-content-header__action-icon"\n      ></svg-icon-sprite>\n    </a>\n  </div>\n\n  <div class="page-content-header__sorting ml-auto">\n    <app-sort-select\n      *ngIf="currentSort"\n\n      [activeItem]="currentSort?.code"\n      [items]="pageData.sorts"\n      [showFn]="showFn(translatePipe)"\n\n      (selectItem)="sortList($event.code)"\n\n      bindTitle="name"\n      bindValue="code"\n      sortTitle="{{ \'placeholder.sortingBy\' | cxTranslate }}"\n      showSortIcons="true"\n      class="header__sorting"\n    ></app-sort-select>\n  </div>\n</div>\n',styles:[Mw()]})],gu);var Uw=i(42028),$w=i.n(Uw);let za=class{constructor(e,t){this.route=e,this.companyService=t,this.pageData$=this.companyService.pageData$.pipe((0,w.T)(s=>(this.inProgress=!1,s))),this.USER_STATE=Et,this.EMPTY_CARD_TYPES=et,this.inProgress=!1}ngOnInit(){const e=this.route.snapshot.queryParamMap.get("status");this.usersState=e||Et.ACTIVE,this.companyService.getUsersListPageData({status:this.usersState,currentPage:0})}filterUsersByState(e){e.toLowerCase()!==this.usersState.toLowerCase()&&(this.usersState=Et[e.toUpperCase()],this.inProgress=!0,this.companyService.getUsersListPageData({currentPage:0,status:e}))}onPageChange(e,t){const s={currentPage:e,sort:t};this.companyService.getUsersListPageData(s)}static#e=this.ctorParameters=()=>[{type:y.nX},{type:qt}]};za=(0,r.Cg)([(0,n.uAl)({selector:"app-users-list",template:'<div class="users-list">\n  <ng-container *ngIf="pageData$ | async as pageData; else loading">\n    <app-users-list-page-header\n      [pageData]="pageData"\n      [usersState]="usersState"\n      (filterUsersByState)="filterUsersByState($event)"\n    ></app-users-list-page-header>\n\n    <div class="users-list__content">\n      <ng-container *ngIf="!inProgress; else loadingData">\n\n        <ng-container *ngIf="pageData.users.length > 0; else notFound">\n          <app-user-card\n            *ngFor="let user of pageData.users"\n            [user]="user"\n            class="users-list__item"\n          ></app-user-card>\n        </ng-container>\n      </ng-container>\n      <ng-template #loadingData>\n        <div class="loader-in-process">\n          <app-loader size="36px"></app-loader>\n        </div>\n      </ng-template>\n    </div>\n\n    <cx-pagination\n      *ngIf="pageData.pagination.totalResults > 0 && !inProgress"\n      [pagination]="pageData.pagination"\n      (viewPageEvent)="onPageChange($event, pageData.pagination?.sort)"\n    ></cx-pagination>\n  </ng-container>\n\n  <ng-template #loading>\n    <div class="loader-in-process">\n      <app-loader size="36px"></app-loader>\n    </div>\n  </ng-template>\n</div>\n\n<ng-template #notFound>\n  <app-cards-is-not-found\n    [text]="(usersState === USER_STATE.DISABLED ? \'text.customers.notFoundDisabled\' : \'text.customers.notFoundActive\' )| cxTranslate"\n    [buttonText]="\'text.customers.addNewUser\' | cxTranslate"\n    [type]="EMPTY_CARD_TYPES.USER_MASTER_ACCOUNT"\n    icon="person"\n    buttonIcon="person_add"\n  ></app-cards-is-not-found>\n</ng-template>\n',styles:[$w()]})],za);var Vw=i(46),Gw=i.n(Vw);class tm{constructor(e){this.isRange=!1,this.dateRange=null,this.singleDate={jsDate:e}}}let Ya=class{constructor(e,t,s,o,l,u,h,_,C){this.userAccountService=e,this.companiesDataService=t,this.companyService=s,this.changeDetection=o,this.launchDialogService=l,this.activatedRoute=u,this.baseSiteService=h,this.translatePipe=_,this.router=C,this.replaceNonPrintable=ft,this.b2badmingroup="b2badmingroup",this.user=null,this.userAdditionalInfo=null,this.userForm=new m.J3({firstName:new m.hs("",[m.k0.required,Rt]),lastName:new m.hs("",[m.k0.required,Rt]),uid:new m.hs("",[m.k0.required])}),this.additionalForm=new m.J3({phoneNumber:new m.hs("",m.k0.maxLength(En.maxPhoneNumberLength)),titleCode:new m.hs(""),department:new m.hs(""),businessRole:new m.hs(""),birthdate:new m.hs(new Date)}),this.isEdit=!1,this.isEditDisabled=!1,this.profileStatus={text:null,icon:null,status:Fe.DEFAULT},this.userFormCache=null,this.additionalFormCache=null,this.titles=uu,this.ACTIVE_SITE=Re,this.departments=[],this.roles=[],this.currentUser$=this.userAccountService.get(),this.userId=this.activatedRoute.snapshot.queryParams.uid,this.PROFILE_UPDATE_STATUS=Fe,this.activeSite$=this.baseSiteService.getActive().pipe((0,z.M)(T=>{T===Re.EU&&(this.additionalForm.get("department").setValidators(m.k0.required),this.additionalForm.get("businessRole").setValidators(m.k0.required))})),this.destroyed$=new R.B,this.subscription=new X.yU}generateProfileSendParams(e){return{firstName:e.firstName,lastName:e.lastName,uid:e.uid,additionalInfo:e.additionalInfo}}ngOnInit(){this.getProfileData()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete(),this.subscription?.unsubscribe()}getProfileData(){const e=[this.companyService.getUser(this.userId),this.companiesDataService.getCompaniesData(at.DEPARTMENTS),this.companiesDataService.getCompaniesData(at.ROLES)],t=(0,Ce.z)(e).pipe((0,x.Q)(this.destroyed$)).subscribe(s=>{this.departments=s[1],this.roles=s[2];const o=this.generateProfileSendParams(s[0]);this.setUserinfo(o),this.setAdditionalInfo(o.additionalInfo,!0),this.setActive(!s[0].loginDisabled),this.changeDetection.detectChanges(),t.unsubscribe()})}restoreFromCache(){this.userForm.reset(),this.additionalForm.reset(),this.userForm.patchValue(this.userFormCache),this.additionalForm.patchValue(this.additionalFormCache)}setUserinfo(e){this.user=e,this.userFormCache=e,this.userForm.patchValue({firstName:e.firstName,lastName:e.lastName,uid:e.uid}),this.checkUpdateStatus(this.user.additionalInfo),this.isEdit=this.activatedRoute.snapshot.queryParams.edit&&!this.isEditDisabled}setAdditionalInfo(e,t){const s=e.birthdate?new Date(e.birthdate.split("T")[0]):null,o=this.titles.find(_=>_.value===e.title?.code),l=this.departments.find(_=>_.uid===e.department?.uid),u=this.roles.find(_=>_.uid===e.businessRole?.uid),h={phoneNumber:e.phoneNumber,titleCode:o?.value,department:l?.uid||null,birthdate:s?new tm(s):null,businessRole:u?.uid||null};t&&this.additionalForm.patchValue(h),this.userAdditionalInfo={phoneNumber:e.phoneNumber,title:{code:o?.title},department:l?.title||null,businessRole:u?.name||null,birthdate:s?s.toString():null},this.additionalFormCache=h}setActive(e){this.isActive=e}createSendParams(){const e=this.userForm.value,t=this.additionalForm.value,s=em(t,this.departments,this.roles);return{firstName:e.firstName,lastName:e.lastName,active:this.isActive,uid:e.uid,additionalInfo:{birthdate:s.birthdate,businessRole:s.selectedRole,department:s.selectedDepartment,phoneNumber:s.phoneNumber,title:{code:t.titleCode},updateStatus:Fe.WAITING}}}cancel(){sl(this.launchDialogService,this.translatePipe),this.subscription.add(this.launchDialogService.dialogClose.subscribe(e=>{e&&(this.isEdit=!1,this.restoreFromCache())}))}edit(){this.isEdit=!0,this.changeDetection.detectChanges()}save(){if(this.userForm.invalid||this.additionalForm.invalid)return this.userForm.markAllAsTouched(),void this.additionalForm.markAllAsTouched();const e=this.createSendParams(),t={firstName:e.firstName,lastName:e.lastName,active:e.active,loginDisabled:e.loginDisabled,role:e.additionalInfo.businessRole?.uid,department:e.additionalInfo.department?.uid,phoneNumber:e.additionalInfo.phoneNumber,birthdate:e.additionalInfo.birthdate,titleCode:e.additionalInfo.title?.code,uid:e.uid};this.companyService.updateUser(this.userId,t).pipe((0,x.Q)(this.destroyed$)).subscribe(),this.setUserinfo(e),this.setAdditionalInfo(e.additionalInfo,!1),this.changeDetection.detectChanges(),this.isEdit=!1}checkUpdateStatus(e){if(!e)throw new Error("No additional info provided");let t=(0,$.of)();switch(e.updateStatus?.toUpperCase()){case Fe.WAITING:this.isEditDisabled=!0,this.profileStatus.icon="warning";break;case Fe.APPROVED:this.profileStatus.icon="check_circle",t=this.companyService.resetUserStatus(this.user.uid);break;case Fe.NOT_APPROVED:this.profileStatus.icon="error";break;case Fe.DEFAULT:break;default:console.error("No profile status provided")}t.pipe((0,x.Q)(this.destroyed$)).subscribe(),this.profileStatus.status=e.updateStatus.toUpperCase(),this.profileStatus.text=`text.myProfile.messages.${this.profileStatus.status.toLowerCase()}`}resetPassword(){this.companyService.resetPassword(this.userId).pipe((0,x.Q)(this.destroyed$)).subscribe(),this.launchDialogService.openDialogAndSubscribe("USERS_MODAL_PASSWORD_COMPONENT_MODAL",void 0,void 0)}disabledUser(){this.launchDialogService.openDialogAndSubscribe("USERS_MODAL_DISABLE_COMPONENT_MODAL",void 0,{email:this.userForm.get("uid").value}),this.subscription.add(this.launchDialogService.dialogClose.subscribe(e=>{e&&(this.isActive=!1,this.companyService.updateUser(this.userId,{active:this.isActive}).pipe((0,x.Q)(this.destroyed$)).subscribe(()=>{this.changeDetection.detectChanges(),this.router.navigate([M.MY_ACCOUNT.USERS.LISTING],{queryParams:{status:Et.DISABLED}}).then()}))}))}enableUser(){this.launchDialogService.openDialogAndSubscribe("USERS_MODAL_ENABLE_COMPONENT_MODAL",void 0,void 0),this.subscription.add(this.launchDialogService.dialogClose.subscribe(e=>{e&&(this.isActive=!0,this.companyService.updateUser(this.userId,{active:this.isActive}).pipe((0,x.Q)(this.destroyed$)).subscribe(()=>{this.changeDetection.detectChanges(),this.router.navigate([M.MY_ACCOUNT.USERS.LISTING],{queryParams:{status:Et.ACTIVE}}).then()}))}))}static#e=this.ctorParameters=()=>[{type:Le.zq},{type:rn},{type:qt},{type:n.gRc},{type:v.PLe},{type:y.nX},{type:p.ASs},{type:p.D97},{type:y.Ix}]};Ya=(0,r.Cg)([(0,n.uAl)({selector:"app-users-show",template:'<ng-container *ngIf="activeSite$ | async as activeSite">\n  <div class="user-show">\n    <h4 class="user-show__title d-flex align-items-center">\n      {{ \'text.editUser.title\' | cxTranslate }}\n      <ng-container *ngIf="!isEdit">\n        <ng-container *ngIf="!isActive; else active">\n         <span class="user-show__title--disabled user-show__title-status d-flex align-items-center">\n           {{ \'text.editUser.disabled\' | cxTranslate }}\n           <svg-icon-sprite\n             class="user-show__title--disabled"\n             src="not_interested"\n             width="16"\n             height="16"\n           ></svg-icon-sprite>\n         </span>\n        </ng-container>\n        <ng-template #active>\n         <span class="user-show__title--active user-show__title-status  d-flex align-items-center">\n           {{ \'text.editUser.active\' | cxTranslate }}\n           <svg-icon-sprite\n             class="user-show__title--active"\n             src="check_circle"\n             width="16"\n             height="16"\n           ></svg-icon-sprite></span>\n        </ng-template>\n      </ng-container>\n    </h4>\n\n    <div\n      *ngIf="profileStatus.status !== PROFILE_UPDATE_STATUS.DEFAULT"\n      class="local-message"\n      [class.local-message--danger]="profileStatus.status === PROFILE_UPDATE_STATUS.NOT_APPROVED"\n      [class.local-message--warning]="profileStatus.status === PROFILE_UPDATE_STATUS.WAITING"\n      [class.local-message--success]="profileStatus.status === PROFILE_UPDATE_STATUS.APPROVED"\n    >\n      <div class="d-flex align-items-center">\n        <svg-icon-sprite\n          *ngIf="profileStatus.icon"\n          [src]="profileStatus.icon"\n          width="24"\n          height="24"\n          class="local-message__icon"\n        ></svg-icon-sprite>\n        <span>{{ profileStatus.text | cxTranslate}}</span>\n      </div>\n    </div>\n\n    <hr class="user-show__divider">\n\n    <div class="user-show-body">\n      <ng-container *ngIf="user; else loading">\n        <ng-container *ngIf="!isEdit; else formGroupTemplate">\n          <div class="user-show__list user-show__list--columns"\n               [class.user-show__list--disabled]="!isActive">\n            <div class="user-show__list-padding">\n              <div class="user-show__list-item-title">\n                {{ \'text.myProfile.group.firstName\' | cxTranslate }}\n                <span class="user-show__list-item-title--required">*</span>\n              </div>\n              <div class="user-show__list-item-text">\n                {{ user?.firstName }}\n              </div>\n            </div>\n\n            <div class="user-show__list-padding">\n              <div class="user-show__list-item-title">\n                {{ \'text.myProfile.group.lastName\' | cxTranslate }}\n                <span class="user-show__list-item-title--required">*</span>\n              </div>\n              <div class="user-show__list-item-text">\n                {{ user?.lastName }}\n              </div>\n            </div>\n\n            <div class="user-show__list-padding">\n              <div class="user-show__list-item-title">\n                {{ \'text.myProfile.group.phone\' | cxTranslate }}\n              </div>\n              <div class="user-show__list-item-text">\n                {{ userAdditionalInfo?.phoneNumber }}\n              </div>\n            </div>\n\n            <div class="user-show__list-padding">\n              <div class="user-show__list-item-title">\n                {{ \'placeholder.email\' | cxTranslate }}\n                <span class="user-show__list-item-title--required">*</span>\n              </div>\n              <div class="user-show__list-item-text">\n                {{ user?.uid }}\n              </div>\n            </div>\n\n            <ng-container *ngIf="activeSite === ACTIVE_SITE.EU">\n              <div class="user-show__list-padding">\n                <div class="user-show__list-item-title">\n                  {{ \'text.myProfile.group.department\' | cxTranslate }}\n                  <span class="user-show__list-item-title--required">*</span>\n                </div>\n                <div class="user-show__list-item-text">\n                  {{ userAdditionalInfo?.department }}\n                </div>\n              </div>\n\n              <div class="user-show__list-padding">\n                <div class="user-show__list-item-title">\n                  {{ \'text.myProfile.group.role\' | cxTranslate }}\n                  <span class="user-show__list-item-title--required">*</span>\n                </div>\n                <div class="user-show__list-item-text">\n                  {{ userAdditionalInfo?.businessRole }}\n                </div>\n              </div>\n\n\n              <div class="user-show__list-padding">\n                <div class="user-show__list-item-title">\n                  {{ \'text.myProfile.group.birthDate\' | cxTranslate }}\n                </div>\n                <div class="user-show__list-item-text">\n                  {{ userAdditionalInfo?.birthdate | date: \'dd.MM.yyyy\' }}\n                </div>\n              </div>\n\n              <div class="user-show__list-padding">\n                <div class="user-show__list-item-title">\n                  {{ \'text.myProfile.group.title\' | cxTranslate }}\n                </div>\n                <div class="user-show__list-item-text">\n                  {{ userAdditionalInfo?.title?.code }}\n                </div>\n              </div>\n            </ng-container>\n          </div>\n        </ng-container>\n\n        <hr class="user-show__divider user-show__divider--margin">\n\n        <div class="user-show__buttons justify-content-between">\n          <app-back-to-user-button\n            class="user-show__button p-0"\n            [isActive]="isActive"\n          ></app-back-to-user-button>\n          <div class="d-flex flex-column flex-md-row" *ngIf="currentUser$ | async as currentUser">\n            <ng-container *ngIf="currentUser.roles?.includes(b2badmingroup)">\n              <button\n                *ngIf="isActive; else disabled"\n                class="user-show__button btn btn-secondary btn--sm"\n                [disabled]="currentUser.uid === user?.uid || isEditDisabled"\n                (click)="disabledUser()">\n                {{ \'button.disableUser\' | cxTranslate }}\n                <svg-icon-sprite\n                  class="user-show__button-icon"\n                  src="user_disable"\n                  width="16"\n                  height="16"\n                ></svg-icon-sprite>\n              </button>\n              <ng-template #disabled>\n                <button\n                  class="user-show__button btn btn-secondary btn--sm"\n                  [disabled]="currentUser.uid === user?.uid || isEditDisabled"\n                  (click)="enableUser()">\n                  {{ \'button.enableUser\' | cxTranslate }}\n                  <svg-icon-sprite\n                    class="user-show__button-icon"\n                    src="how_to_reg"\n                    width="16"\n                    height="16"\n                  ></svg-icon-sprite>\n                </button>\n              </ng-template>\n            </ng-container>\n            <button\n              class="user-show__button btn btn-secondary btn--sm"\n              (click)="resetPassword()">\n              {{ \'button.resetPassword\' | cxTranslate }}\n              <svg-icon-sprite\n                class="user-show__button-icon"\n                src="replay"\n                width="16"\n                height="16"\n              ></svg-icon-sprite>\n            </button>\n            <ng-container *ngIf="isEdit; else editButton">\n              <button\n                class="user-show__button btn btn-secondary btn--sm"\n                (click)="cancel()">\n                {{ \'text.myProfile.cancelButton\' | cxTranslate }}\n                <svg-icon-sprite\n                  class="user-show__button-icon"\n                  src="close"\n                  width="16"\n                  height="16"\n                ></svg-icon-sprite>\n              </button>\n\n              <button\n                (click)="save()"\n                class="user-show__button btn btn-default btn--sm"\n              >\n                {{ \'text.myProfile.saveButton\' | cxTranslate }}\n                <svg-icon-sprite\n                  class="user-show__button-icon user-show__button-icon--save"\n                  src="done"\n                  width="18"\n                  height="18"\n                ></svg-icon-sprite>\n              </button>\n            </ng-container>\n          </div>\n        </div>\n      </ng-container>\n\n      <ng-template #loading>\n        <div class="loader-in-process">\n          <app-loader size="36px"></app-loader>\n        </div>\n      </ng-template>\n    </div>\n  </div>\n\n  <ng-template #editButton>\n    <button\n      [disabled]="isEditDisabled"\n      (click)="edit()"\n      class="user-show__button btn btn-secondary btn--sm"\n    >\n      {{ \'button.edit\' | cxTranslate }}\n      <svg-icon-sprite\n        class="user-show__button-icon"\n        src="edit"\n        width="16"\n        height="16"\n      ></svg-icon-sprite>\n    </button>\n  </ng-template>\n\n  <ng-template #formGroupTemplate>\n    <div class="user-show__list user-show__list--columns">\n      <ng-container [formGroup]="userForm">\n        <app-input\n          [controlData]="userForm.get(\'firstName\')"\n          [isRequired]="true"\n          (focusout)="replaceNonPrintable(userForm.get(\'firstName\'))"\n          label="{{ \'placeholder.firstName\' | cxTranslate }}"\n        ></app-input>\n        <app-input\n          [controlData]="userForm.get(\'lastName\')"\n          [isRequired]="true"\n          (focusout)="replaceNonPrintable(userForm.get(\'lastName\'))"\n          label="{{ \'placeholder.lastName\' | cxTranslate }}"\n        ></app-input>\n      </ng-container>\n      <ng-container [formGroup]="additionalForm" class="user-show__list user-show__list--columns">\n        <app-input [controlData]="additionalForm.get(\'phoneNumber\')" label="Phone" type="tel"></app-input>\n        <app-input\n          [controlData]="userForm.get(\'uid\')"\n          label="{{ \'placeholder.email\' | cxTranslate }}"\n          [isReadOnly]="true"\n          [isRequired]="true"\n          [showIcon]="false"\n        ></app-input>\n        <ng-container *ngIf="activeSite === ACTIVE_SITE.EU">\n          <app-select [controlData]="additionalForm.get(\'department\')"\n                      placeholder="{{ \'placeholder.department\' | cxTranslate }}"\n                      [items]="departments"\n                      bindLabel="title"\n                      bindValue="uid"\n          ></app-select>\n          <app-select [controlData]="additionalForm.get(\'businessRole\')"\n                      placeholder="{{ \'placeholder.role\' | cxTranslate }}"\n                      [items]="roles"\n                      bindLabel="name"\n                      bindValue="uid">\n          </app-select>\n          <app-date-picker\n            placeholder="{{ \'placeholder.birthDate\' | cxTranslate }}"\n            [defaultView]="3"\n            [isDefaultMonth]="true"\n            [isFullSize]="true"\n            [minYearCurrentMinus]="120"\n            [maxYearCurrentPlus]="-18"\n            [control]="additionalForm.get(\'birthdate\')"\n          ></app-date-picker>\n          <app-select [controlData]="additionalForm.get(\'titleCode\')"\n                      placeholder="{{ \'placeholder.title\' | cxTranslate }}"\n                      [items]="titles"\n                      bindLabel="title"\n                      bindValue="value"\n          ></app-select>\n        </ng-container>\n      </ng-container>\n    </div>\n  </ng-template>\n</ng-container>\n',styles:[Gw()]})],Ya);let mu=class{};mu=(0,r.Cg)([(0,n.UQu)({declarations:[za,gu,hu,Ya,Va,pu],imports:[S.MD,p.htr.withConfig({cmsComponents:{CustomersListingComponent:{component:za,guards:[j,Y]},CustomersEditingComponent:{component:Ya,guards:[j,Y]},CustomersCreateComponent:{component:Va,guards:[j,Y]}}}),p.LP3,y.iI,V.F2,It,ge,v.x6L,m.X1,ce,Ze,be],providers:[qt]})],mu);var Yw=i(97735),Qw=i.n(Yw);let Qa=class{constructor(e,t){this.occEndpointsService=e,this.http=t}fetchTradingProducts(){const e=this.occEndpointsService.buildUrl(E.COMPANIES.TRADING_PRODUCTS);return this.http.get(e)}fetchBusinessActivity(){const e=this.occEndpointsService.buildUrl(E.COMPANIES.BUSINESS_ACTIVITIES);return this.http.get(e)}sendInquiry(e){const t=this.occEndpointsService.buildUrl(E.USER.CREATE.EXISTING_INQUIRY);return this.http.post(t,e)}getAttachmentsFormats(){const e=this.occEndpointsService.buildUrl(E.USER.ATTACHMENTS_FORMATS);return this.http.get(e)}static#e=this.ctorParameters=()=>[{type:p.zxz},{type:U.Qq}]};Qa=(0,r.Cg)([(0,n._qm)()],Qa);let qa=class{constructor(e,t,s,o,l,u,h,_){this.fb=e,this.globalMessageService=t,this.inquiryService=s,this.launchDialogService=o,this.translatePipe=l,this.attachmentsService=u,this.changeDetection=h,this.baseSiteService=_,this.ROUTE_URL=M,this.destroyed$=new R.B,this.errorCodes={format:"supportRequest.errors.format",size:"supportRequest.errors.size"},this.businessActivity$=this.inquiryService.fetchBusinessActivity(),this.products$=this.inquiryService.fetchTradingProducts(),this.possibleExtensions$=this.inquiryService.getAttachmentsFormats().pipe((0,w.T)(C=>C.map(T=>T.replace(".",""))),(0,z.M)(C=>{this.possibleExtensionsItems=C})),this.replaceNonPrintable=ft,this.inquiryText="",this.maxInquiryChars=765,this.isFilesContainsErrors=!1,this.files=[],this.maxSizeFile=10485760,this.maxSizeAllFiles=20971520,this.possibleExtensionsItems=[],this.initialErrors={file:!1,allFiles:!1,format:!1,uniqueNames:!1},this.errors={...this.initialErrors},this.activeSite$=this.baseSiteService.getActive(),this.ACTIVE_SITE=Re,this.isLoading=!1}ngOnInit(){this.init()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}init(){this.inquiryForm=this.fb.group({product:[null,[m.k0.required]],marketOfDestination:[],inquiry:[null,m.k0.compose([m.k0.maxLength(this.maxInquiryChars),He])],businessActivity:[],agreement:[!1,[m.k0.requiredTrue]]}),this.inquiryForm.get("inquiry").valueChanges.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.inquiryText=e})}onSubmit(){if(this.isLoading=!0,this.inquiryForm.invalid)return this.inquiryForm.markAllAsTouched(),void(this.isLoading=!1);const e=this.generateFormData();this.inquiryService.sendInquiry(e).pipe((0,x.Q)(this.destroyed$)).subscribe(()=>{this.showSucModal(),this.resetFormAndErrors()},t=>{this.attachmentsService.showAttachmentsErrors(t,this.errorCodes,this.maxSizeFile),this.isLoading=!1})}resetFormAndErrors(){this.inquiryForm.reset(),this.isLoading=!1,this.files=[],this.errors={...this.initialErrors}}checkFileErrors(){this.errors=Si(this.files,this.maxSizeFile,this.possibleExtensionsItems,this.maxSizeAllFiles),this.changeDetection.detectChanges()}clearFiles(){this.files=[],this.checkFileErrors()}generateFormData(){const e=this.inquiryForm.value;let t=new FormData;for(const s of Object.keys(e)){const o=e[s];t.append(s,o)}return this.files?.length&&(t=il({files:this.files,maxSize:this.maxSizeFile,formDataKey:"attachments",possibleExtensions:this.possibleExtensionsItems,maxSizeAllFiles:this.maxSizeAllFiles,formData:t})),t}showSucModal(){this.launchDialogService.openDialogAndSubscribe("THANK_YOU_MODAL",void 0,{title:this.translatePipe.transform("trading.inquiry.successPopupTitle"),text:this.translatePipe.transform("trading.inquiry.successPopupText"),buttonText:this.translatePipe.transform("trading.inquiry.successPopupButton")})}updateAgreement(e){this.inquiryForm.get("agreement").setValue(!e),this.changeDetection.detectChanges()}getIcon(e){return e.touched&&!e.value?le.error:e.value?le.selected:le.standard}static#e=this.ctorParameters=()=>[{type:m.ze},{type:p.S8D},{type:Qa},{type:v.PLe},{type:p.D97},{type:hr},{type:n.gRc},{type:p.ASs}]};qa=(0,r.Cg)([(0,n.uAl)({selector:"app-inquiry",template:'<div class="page-content">\n  <div class="page-content__header d-flex">\n    <h1 class="h5 mb-0 mr-30">\n      {{ \'trading.inquiry.createInquiry\' | cxTranslate }}\n    </h1>\n\n    <div class="inquiry-warn">\n      <svg-icon-sprite\n        src="error_outline"\n        width="18"\n        height="18"\n        class="inquiry-warn__icon"\n      ></svg-icon-sprite>\n      {{ \'trading.inquiry.formFilledWarning\' | cxTranslate }}\n    </div>\n  </div>\n\n  <div class="page-content__body">\n    <form\n      [formGroup]="inquiryForm"\n      (ngSubmit)="onSubmit()"\n    >\n      <app-card-wrapper class="inquiry-block" [overflowVisible]="true">\n        <div class="inquiry-block__header">\n          <div class="inquiry-block__title">\n            <svg-icon-sprite\n              src="check_box"\n              width="18"\n              height="18"\n              class="inquiry-block__title-icon"\n            ></svg-icon-sprite>\n            {{ \'trading.inquiry.chooseProduct\' | cxTranslate }}\n          </div>\n        </div>\n\n        <div class="inquiry-block__body">\n          <div class="mb-20">\n            <app-select\n              [items]="products$ | async"\n              [controlData]="inquiryForm.get(\'product\')"\n              [placeholder]="\'trading.inquiry.products\' | cxTranslate"\n              bindLabel="title"\n              bindValue="uid"\n            ></app-select>\n          </div>\n          <app-select\n            [items]="businessActivity$ | async"\n            [controlData]="inquiryForm.get(\'businessActivity\')"\n            [placeholder]="\'trading.inquiry.businessActivity\' | cxTranslate"\n            bindLabel="title"\n            bindValue="uid"\n          ></app-select>\n        </div>\n      </app-card-wrapper>\n\n      <app-card-wrapper class="inquiry-block" [overflowVisible]="true">\n        <div class="inquiry-block__header">\n          <div class="inquiry-block__title">\n            <svg-icon-sprite\n              src="border_color"\n              width="18"\n              height="18"\n              class="inquiry-block__title-icon"\n            ></svg-icon-sprite>\n            {{ \'trading.inquiry.describeInquiry\' | cxTranslate }}\n          </div>\n        </div>\n\n        <div class="inquiry-block__body">\n          <div\n            [class.not-empty]="inquiryText?.length"\n            class="inquiry-text"\n          >\n            <textarea\n              (focusout)="replaceNonPrintable(inquiryForm.get(\'inquiry\'), true)"\n              formControlName="inquiry"\n              class="inquiry-text__input"\n            ></textarea>\n            <label class="inquiry-text__label">\n              {{ \'trading.inquiry.remainingSymbols\' | cxTranslate }}\n              <span>{{ maxInquiryChars - inquiryText?.length }}</span>\n              <span\n                *ngIf="inquiryForm.get(\'inquiry\').errors?.maxlength && (inquiryForm.get(\'inquiry\').touched || inquiryForm.get(\'inquiry\').dirty)"\n                class="error-message"\n              >\n                {{ \'trading.inquiry.symbolsExceedsError\' | cxTranslate }} {{ maxInquiryChars }}\n              </span>\n            </label>\n            <div\n              *ngIf="inquiryForm.get(\'inquiry\').errors?.isInvalidFormat && (inquiryForm.get(\'inquiry\').touched || inquiryForm.get(\'inquiry\').dirty)"\n              class="control-error-message"\n            >\n              {{ \'trading.inquiry.formFilledWarning\' | cxTranslate }}\n            </div>\n          </div>\n        </div>\n      </app-card-wrapper>\n\n      <app-card-attachments\n        *ngIf="activeSite$ | async as activeSite"\n        class="inquiry-block"\n        [files]="files"\n        [maxSize]="maxSizeFile"\n        [allFilesSize]="activeSite === ACTIVE_SITE.EU ? (\'trading.inquiry.allFilesSizeEu\' | cxTranslate) : (\'trading.inquiry.allFilesSize\' | cxTranslate)"\n        [possibleExtensions]="possibleExtensions$ | async"\n        (add)="checkFileErrors()"\n        (delete)="checkFileErrors()"\n        (clear)="clearFiles()"\n        >\n      </app-card-attachments>\n\n      <app-card-wrapper class="inquiry-block" [overflowVisible]="true">\n        <div class="inquiry-block__header">\n          <div\n            (click)="updateAgreement(inquiryForm.get(\'agreement\').value)"\n            class="cursor-pointer d-flex align-items-start"\n          >\n            <img\n              [src]="getIcon(inquiryForm.get(\'agreement\'))"\n              alt=""\n              class="inquiry-block__privacy-checkbox"\n            >\n            <div class="inquiry-block__privacy-item">\n              {{ \'trading.registerCustomer.agreement\' | cxTranslate }}\n              <a class="inquiry-block__privacy-link" [routerLink]="[ROUTE_URL.STATIC_PAGES.TERMS_OF_SALE]" target="_blank">\n                {{ \'button.termsOfSale\' | cxTranslate }}\n              </a>,\n              <a class="inquiry-block__privacy-link" [routerLink]="[ROUTE_URL.STATIC_PAGES.PRIVACY_STATEMENT]" target="_blank">\n                {{\'button.privacyPolicy\' | cxTranslate}}\n              </a>\n              {{ \'trading.registerCustomer.and\' | cxTranslate }}\n              <a class="inquiry-block__privacy-link" [routerLink]="[ROUTE_URL.STATIC_PAGES.DISCLAIMER]" target="_blank">\n                {{\'button.cookiePolicy\' | cxTranslate}}\n              </a>.\n            </div>\n          </div>\n          <cx-form-errors [control]="inquiryForm.get(\'agreement\')"></cx-form-errors>\n        </div>\n\n\n\n        <div class="inquiry-block__errors" *ngIf="errors.allFiles || errors.file || errors.format || errors.uniqueNames">\n          <app-attachments-errors [isTrading]="true" [errors]="errors">\n          </app-attachments-errors>\n        </div>\n\n        <div class="inquiry-block__body inquiry-block__body-send">\n          <button\n            [disabled]="isLoading"\n            type="submit"\n            class="btn btn--lg btn-default inquiry-block__body-send--button"\n          >\n            <div *ngIf="isLoading; else submitButtonText">\n              <app-loader size="36px"></app-loader>\n            </div>\n            <ng-template #submitButtonText>\n              {{ \'trading.inquiry.send\' | cxTranslate }}\n            </ng-template>\n          </button>\n        </div>\n      </app-card-wrapper>\n    </form>\n  </div>\n</div>\n',styles:[Qw()]})],qa);let _u=class{};_u=(0,r.Cg)([(0,n.UQu)({declarations:[qa],imports:[S.MD,p.htr.withConfig({cmsComponents:{InquiryForCurrentUser:{component:qa,guards:[j,Y]}}}),p.LP3,V.F2,m.X1,ct,ce,be,y.iI,ge,v.GQ],providers:[Qa]})],_u);var Hw=i(98310),jw=i.n(Hw);let vu=class{constructor(e,t){this.consentService=e,this.changeDetection=t,this.required=!1,this.disabled=!1,this.isLoading=!1,this.updateConsent=new n.bkB,this.isOpen=!1}ngOnInit(){this.isGiven=this.consentService.isConsentGiven(this.consent.currentConsent),this.isLoading=!1}onClick(e){this.disabled||this.isLoading||(e.preventDefault(),this.updateConsent.emit({consent:this.consent,given:!this.isGiven,required:this.required}),this.isLoading=!0)}toggleDescription(){this.isOpen=!this.isOpen}static#e=this.ctorParameters=()=>[{type:on},{type:n.gRc}];static#t=this.propDecorators={consent:[{type:n.pde}],required:[{type:n.pde}],disabled:[{type:n.pde}],isLoading:[{type:n.pde}],updateConsent:[{type:n.k7i}]}};vu=(0,r.Cg)([(0,n.uAl)({selector:"app-consent-management-form",template:'<ng-container *ngIf="consent">\n  <app-switcher\n    [disabled]="disabled || isLoading"\n    [checked]="isGiven"\n    (click)="onClick($event)"\n  ></app-switcher>\n  <ng-container *ngIf="consent.currentConsent?.consentPageUrl && !consent.consentDescription; else withoutLinkOrWithDescription">\n    <span\n      class="consent-link"\n      [class.consent-link--link]="consent.currentConsent?.consentPageUrl"\n      [routerLink]="consent.currentConsent?.consentPageUrl">\n    {{consent.name}}\n  </span>\n  </ng-container>\n</ng-container>\n\n<ng-template #withoutLinkOrWithDescription>\n  <ng-container *ngIf="consent.consentDescription; else withoutLink">\n    <div class="d-flex flex-column">\n      <span\n        class="consent-link cursor-pointer"\n        [class.is-open]="isOpen"\n        (click)="toggleDescription()"\n      >\n        {{consent.name}}\n        <svg-icon-sprite\n          src="expand_more"\n          class="consent-link__icon"\n          width="16px"\n        ></svg-icon-sprite>\n      </span>\n      <div *ngIf="isOpen" class="consent-link__desc">\n        {{consent.consentDescription}}\n        <a\n          *ngIf="consent.currentConsent?.consentPageUrl"\n          class="consent-link--link"\n          [routerLink]="consent.currentConsent?.consentPageUrl"\n        >\n          {{ \'button.learnMore\' | cxTranslate }}\n        </a>\n      </div>\n    </div>\n  </ng-container>\n</ng-template>\n\n<ng-template #withoutLink>\n  <span class="consent-link">\n    {{consent.name}}\n  </span>\n</ng-template>\n',styles:[jw()]})],vu);var Kw=i(71568),Xw=i.n(Kw);let Ha=class{constructor(e,t,s,o,l,u,h,_){this.userConsentService=e,this.authService=t,this.consentService=s,this.launchDialogService=o,this.router=l,this.cookieService=u,this.pageService=h,this.gtmService=_,this.isHaveMissingConsent$=this.consentService.isHaveMissingConsent$,this.isLogoutProcess$=new P.t(!1),this.consents$=this.userConsentService.getConsents(),this.consentsLoading$=this.userConsentService.getGiveConsentResultLoading().pipe((0,k.n)(C=>this.userConsentService.getWithdrawConsentResultLoading().pipe((0,w.T)(T=>C||T)))),this.activeSite$=this.pageService.activeSite$,this.isLoading=!1,this.obligatoryConsents=[],this.optionalConsents=[],this.nonObligatoryConsents=[],this.ACTIVE_SITE=Re,this.destroyed$=new R.B,this.isRequiredQueue=0,this.nonObligatoryQueue=0,this.isRequiredQueueSuccess=0,this.nonObligatoryQueueSuccess=0,this.isNeedLogout$=new P.t(!1),this.isNeedReload$=new P.t(!1),this.isModalOpen=!1,this.subscription=new X.yU}ngOnInit(){this.generateConsentGroup(),this.subscribers()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete(),this.resetQueueState()}onUpdateConsent({consent:e,given:t,required:s}){t?this.userConsentService.giveConsent(e.id,e.version):(s?this.showModal(e):this.withdrawConsent(e),e.id===Oe_ANALYTICAL&&this.gtmService.removeGtmAndDisable())}withdrawConsent(e){this.userConsentService.withdrawConsent(e.currentConsent.code),this.cookieService.delete(e.id)}showModal(e){this.launchDialogService.openDialogAndSubscribe("CONSENT_MANAGEMENT_MODAL",void 0,void 0),this.subscription.add(this.launchDialogService.dialogClose.subscribe(t=>{void 0!==t&&!t&&(this.isNeedLogout$.next(!0),this.withdrawConsent(e),this.userLogout())}))}resetQueueState(){this.isRequiredQueue=0,this.nonObligatoryQueue=0,this.isRequiredQueueSuccess=0,this.nonObligatoryQueueSuccess=0}userLogout(){return this.isLogoutProcess$.next(!0),this.authService.coreLogout(),this.router.navigate(["/"],{}).then(()=>this.isNeedReload$.value&&this.gtmService.removeGtmAndDisable())}allowAll(e){[...e===Re.TRADING||e===Re.STEELENA||e===Re.TURKEY?[]:this.nonObligatoryConsents,...this.obligatoryConsents,...this.optionalConsents].forEach(t=>{this.userConsentService.isConsentGiven(t.currentConsent)||this.userConsentService.giveConsent(t.id,t.version)})}rejectAll(){if(this.nonObligatoryConsents.forEach(t=>{this.userConsentService.isConsentGiven(t.currentConsent)&&(this.nonObligatoryQueue+=1,this.userConsentService.withdrawConsent(t.currentConsent.code))}),this.optionalConsents.some(t=>{this.userConsentService.isConsentGiven(t.currentConsent)&&(this.nonObligatoryQueue+=1,this.withdrawConsent(t),t.id===Oe_ANALYTICAL&&this.isNeedReload$.next(!0))}),!this.obligatoryConsents.some(t=>this.userConsentService.isConsentGiven(t.currentConsent)))return this.reloadIfItNeed();this.showQueueModal()}showQueueModal(){this.isModalOpen=!0,this.launchDialogService.openDialogAndSubscribe("CONSENT_MANAGEMENT_MODAL",void 0,void 0),this.subscription.add(this.launchDialogService.dialogClose.subscribe(e=>{if(e)return this.reloadIfItNeed();this.obligatoryConsents.forEach(t=>{this.userConsentService.isConsentGiven(t.currentConsent)&&(this.isRequiredQueue+=1,this.withdrawConsent(t))})}))}reloadIfItNeed(){return this.isNeedReload$.value&&this.isNonObligatoryQueue()}generateConsentGroup(){this.consents$.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.obligatoryConsents=this.consentService.groupConsentByName(e,Oe_OBLIGATORY_),this.nonObligatoryConsents=this.consentService.groupConsentByName(e,Oe_NON_OBLIGATORY_),this.optionalConsents=this.consentService.groupConsentByName(e,Oe_OPTIONAL_)})}subscribers(){this.userConsentService.getWithdrawConsentResultError().pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{if(e)return this.resetQueueState(),this.userLogout()}),this.userConsentService.getWithdrawConsentResultSuccess().pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{if(e){if(this.isRequiredQueue>0)return this.isRequiredQueueSuccess+=1,this.userConsentService.resetWithdrawConsentProcessState(),this.isQueue();if(this.nonObligatoryQueue>0&&(this.nonObligatoryQueueSuccess+=1,this.reloadIfItNeed()),this.isNeedLogout$.getValue())return this.isNeedLogout$.next(!1),this.userLogout();this.userConsentService.loadConsents(),this.userConsentService.resetWithdrawConsentProcessState()}})}isQueue(){if(this.isRequiredQueue===this.isRequiredQueueSuccess)return this.userLogout()}isNonObligatoryQueue(){!this.isModalOpen&&this.nonObligatoryQueue===this.nonObligatoryQueueSuccess&&this.gtmService.removeGtmAndDisable()}static#e=this.ctorParameters=()=>[{type:p.FX3},{type:p.uRZ},{type:on},{type:v.PLe},{type:y.Ix},{type:In.O},{type:mt},{type:wn}]};Ha=(0,r.Cg)([(0,n.uAl)({selector:"app-consent-management",template:'<ng-container *ngIf="activeSite$ | async as activeSite">\n  <div *ngIf="isLogoutProcess$ | async; else consentManagementForm">\n    {{\'text.consentManagement.loading\' | cxTranslate}}\n  </div>\n\n  <ng-template #consentManagementForm>\n    <ng-container *ngIf="consents$ | async as consents">\n      <div class="consent">\n        <app-page-title>\n          {{\'text.consentManagement.title1\' | cxTranslate}}\n        </app-page-title>\n\n        <div *ngIf="isHaveMissingConsent$ | async" class="local-message local-message--danger">\n          <div class="d-flex align-items-center">\n            <svg-icon-sprite\n              src="error"\n              width="24"\n              height="24"\n              class="local-message__icon"\n            ></svg-icon-sprite>\n            <span>{{ \'text.consentManagement.error\' | cxTranslate }}</span>\n          </div>\n        </div>\n\n        <div class="consent__section">\n          <div class="consent__section-title">\n           {{\'text.consentManagement.title1\' | cxTranslate}}\n          </div>\n\n          <div class="consent__toggles">\n            <app-consent-management-form\n              class="d-flex"\n              *ngFor="let consent of obligatoryConsents.slice(0, 1)"\n              [consent]="consent"\n              [required]="true"\n              [disabled]="(consentsLoading$ | async)"\n              [isLoading]="isLoading"\n              (updateConsent)="onUpdateConsent($event)"\n            ></app-consent-management-form>\n\n            <app-consent-management-form\n              class="d-flex"\n              *ngFor="let consent of optionalConsents"\n              [consent]="consent"\n              [required]="false"\n              [disabled]="(consentsLoading$ | async)"\n              [isLoading]="isLoading"\n              (updateConsent)="onUpdateConsent($event)"\n            ></app-consent-management-form>\n\n            <app-consent-management-form\n              class="d-flex"\n              *ngFor="let consent of obligatoryConsents.slice(1)"\n              [consent]="consent"\n              [required]="true"\n              [disabled]="(consentsLoading$ | async)"\n              [isLoading]="isLoading"\n              (updateConsent)="onUpdateConsent($event)"\n            ></app-consent-management-form>\n          </div>\n        </div>\n        <ng-container *ngIf="activeSite !== ACTIVE_SITE.TRADING && activeSite !== ACTIVE_SITE.STEELENA && activeSite !== ACTIVE_SITE.TURKEY">\n          <div class="consent__section">\n            <div class="consent__section-title">\n              {{\'text.consentManagement.title2\' | cxTranslate}}\n            </div>\n\n            <div class="consent__toggles">\n              <app-consent-management-form\n                class="d-flex"\n                *ngFor="let consent of nonObligatoryConsents"\n                [consent]="consent"\n                [disabled]="(consentsLoading$ | async)"\n                (updateConsent)="onUpdateConsent($event)"\n              ></app-consent-management-form>\n            </div>\n          </div>\n        </ng-container>\n        <div class="consent__action-links">\n          <button\n            tabindex="0"\n            class="btn btn--md btn-secondary d-block d-sm-inline-block"\n            (click)="allowAll(activeSite)"\n          >\n            {{ \'consentManagementForm.selectAll\' | cxTranslate }}\n          </button>\n          <button\n            tabindex="0"\n            class="btn btn--md btn-secondary d-block d-sm-inline-block"\n            (click)="rejectAll()"\n          >\n            {{ \'consentManagementForm.clearAll\' | cxTranslate }}\n          </button>\n        </div>\n      </div>\n    </ng-container>\n  </ng-template>\n</ng-container>\n',styles:[Xw()]})],Ha);let xu=class{};xu=(0,r.Cg)([(0,n.UQu)({declarations:[Ha,vu],imports:[S.MD,p.htr.withConfig({cmsComponents:{ConsentManagementComponent:{component:Ha,guards:[j,Y]}}}),p.LP3,so,y.iI,be,V.F2]})],xu);var Jw=i(36200),eP=i.n(Jw);let Us=class{constructor(e,t,s,o,l,u,h,_,C){this.userAccountService=e,this.companiesDataService=t,this.profileService=s,this.changeDetection=o,this.launchDialogService=l,this.authService=u,this.componentData=h,this.translatePipe=_,this.userProfileFacade=C,this.replaceNonPrintable=ft,this.destroyed$=new R.B,this.isActiveTooltip=!1,this.defaultUser=null,this.user=null,this.userAdditionalInfo=null,this.userForm=new m.J3({firstName:new m.hs(null,[m.k0.required,Rt]),lastName:new m.hs(null,[m.k0.required,Rt])}),this.additionalForm=new m.J3({phoneNumber:new m.hs("",m.k0.maxLength(En.maxPhoneNumberLength)),titleCode:new m.hs(""),department:new m.hs(""),businessRole:new m.hs(""),birthdate:new m.hs(new Date),position:new m.hs("",He),hobbies:new m.hs("",He)}),this.isEdit=!1,this.titles=uu,this.departments=[],this.roles=[],this.userFormCache=null,this.additionalFormCache=null,this.loading=!0,this.flexType$=this.componentData.data$.pipe((0,w.T)(T=>T.flexType),(0,is.B)(500),(0,z.M)(T=>{T===Ga.UpdateProfileComponent&&(this.additionalForm.get("department").setValidators(m.k0.required),this.additionalForm.get("businessRole").setValidators(m.k0.required))})),this.UpdateProfileFlexTypes=Ga,this.PROFILE_UPDATE_STATUS=Fe,this.profileStatus={text:"",icon:"",status:Fe.DEFAULT},this.subscription=new X.yU}generateProfileSendParams(e,t){return{firstName:e.firstName,lastName:e.lastName,additionalInfo:t}}onResize(){this.closeTooltip()}ngOnInit(){this.getProfileData()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete(),this.subscription?.unsubscribe()}checkUpdateStatus(e){let t=(0,$.of)();switch(e.updateStatus.toUpperCase()){case Fe.WAITING:this.isEdit=!1,this.profileStatus.icon="warning";break;case Fe.APPROVED:this.profileStatus.icon="check_circle",t=this.profileService.removeStatus();break;case Fe.NOT_APPROVED:this.profileStatus.icon="error"}t.pipe((0,x.Q)(this.destroyed$)).subscribe(),this.profileStatus.status=e.updateStatus.toUpperCase(),this.profileStatus.text=`text.myProfile.messages.${e.updateStatus.toLowerCase()}`}getProfileData(){const e=[this.userAccountService.get(),this.profileService.getAddInfoData(),this.companiesDataService.getCompaniesData(at.DEPARTMENTS),this.companiesDataService.getCompaniesData(at.ROLES)],t=(0,Ce.z)(e).pipe((0,_e.j)(()=>{this.loading=!1,this.changeDetection.detectChanges()}),(0,x.Q)(this.destroyed$)).subscribe(s=>{if(Object.keys(s[0]).length){this.departments=s[2],this.roles=s[3],this.defaultUser=s[0],this.checkUpdateStatus(s[1]);const o=this.generateProfileSendParams(s[0],s[1]);this.setUserinfo(o),this.setAdditionalInfo(o.additionalInfo,!0),t.unsubscribe()}})}restoreFromCache(){this.userForm.patchValue(this.userFormCache),this.additionalForm.patchValue(this.additionalFormCache)}setUserinfo(e){this.user=e,this.userFormCache=e,this.userForm.patchValue({firstName:e.firstName,lastName:e.lastName})}setAdditionalInfo(e,t){const s=this.departments.find(_=>_.uid===e.department?.uid),o=this.roles.find(_=>_.uid===e.businessRole?.uid),l=this.titles.find(_=>_.value===e.title?.code),u=e.birthdate?new Date(e.birthdate.split("T")[0]):null,h={phoneNumber:e.phoneNumber,titleCode:l?.value,department:s?.uid||null,birthdate:u?new tm(u):null,position:e.position,hobbies:e.hobbies,businessRole:o?.uid||null,updateStatus:Fe.WAITING};t&&this.additionalForm.patchValue(h),this.userAdditionalInfo={phoneNumber:e.phoneNumber,title:{code:l?.title},department:s?.title||null,businessRole:o?.name||null,birthdate:u?u.toString():null,position:e.position,hobbies:e.hobbies},this.additionalFormCache=h}createSendParams(){const e=this.userForm.value,t=this.additionalForm.value,s=t.birthdate?.singleDate.jsDate,o=s?`${s.getFullYear()}-${s.getMonth()+1}-${s.getDate()}T00:00:00+0000`:"",l=this.departments.find(_=>_.uid===t.department),u=this.roles.find(_=>_.uid===t.businessRole),h=t.phoneNumber?.replace(/\s/g,"");return t.titleCode?{firstName:e.firstName,lastName:e.lastName,additionalInfo:{birthdate:o,phoneNumber:h,title:{code:t.titleCode},position:t.position,hobbies:t.hobbies,department:l,businessRole:u,updateStatus:Fe.WAITING}}:{firstName:e.firstName,lastName:e.lastName,additionalInfo:{birthdate:o,phoneNumber:h,position:t.position,hobbies:t.hobbies,department:l,businessRole:u,updateStatus:Fe.WAITING}}}cancel(){sl(this.launchDialogService,this.translatePipe),this.subscription.add(this.launchDialogService.dialogClose.subscribe(e=>{e&&(this.isEdit=!1,this.restoreFromCache())}))}edit(e){e!==Fe.WAITING&&(this.isEdit=!0)}save(){if(this.userForm.valid&&this.additionalForm.valid){const e=this.createSendParams();this.userProfileFacade.update(e),this.setUserinfo(e),this.setAdditionalInfo(e.additionalInfo,!1),this.isEdit=!1,this.profileStatus={text:`text.myProfile.messages.${e.additionalInfo.updateStatus.toLowerCase()}`,icon:"warning",status:e.additionalInfo.updateStatus.toUpperCase()},this.changeDetection.detectChanges()}else this.userForm.markAllAsTouched(),this.additionalForm.markAllAsTouched()}toggleTooltip(){this.isActiveTooltip=!this.isActiveTooltip}closeTooltip(){this.isActiveTooltip&&(this.isActiveTooltip=!1)}deactivate(){this.launchDialogService.openDialogAndSubscribe("DEACTIVATE_USER_COMPONENT_MODAL",void 0,void 0),this.subscription.add(this.launchDialogService.dialogClose.subscribe(e=>{e&&this.profileService.deactivate().pipe((0,x.Q)(this.destroyed$)).subscribe(()=>this.authService.logout())}))}static#e=this.ctorParameters=()=>[{type:Le.zq},{type:rn},{type:gr},{type:n.gRc},{type:v.PLe},{type:p.uRZ},{type:v.TLs},{type:p.D97},{type:un.t6}];static#t=this.propDecorators={onResize:[{type:n.Z$l,args:["window:resize"]}]}};Us=(0,r.Cg)([(0,n.uAl)({selector:"app-my-profile",template:'<div class="profile" [class.profile--active-tooltip]="isActiveTooltip">\n  <app-page-title>\n    {{ \'text.myProfile.title\' | cxTranslate }}\n  </app-page-title>\n\n  <div\n    *ngIf="profileStatus.status !== PROFILE_UPDATE_STATUS.DEFAULT"\n    class="local-message"\n    [class.local-message--danger]="profileStatus.status === PROFILE_UPDATE_STATUS.NOT_APPROVED"\n    [class.local-message--warning]="profileStatus.status === PROFILE_UPDATE_STATUS.WAITING"\n    [class.local-message--success]="profileStatus.status === PROFILE_UPDATE_STATUS.APPROVED"\n  >\n    <div class="d-flex align-items-center">\n      <svg-icon-sprite\n        *ngIf="profileStatus.icon"\n        [src]="profileStatus.icon"\n        width="24"\n        height="24"\n        class="local-message__icon"\n      ></svg-icon-sprite>\n      <span>{{ profileStatus.text | cxTranslate}}</span>\n    </div>\n  </div>\n\n  <ng-container *ngIf="loading; else profile">\n    <app-loader></app-loader>\n  </ng-container>\n\n  <ng-template #profile>\n    <div class="profile__sub-title-wrapper">\n      <p class="profile__sub-title">\n        <svg-icon-sprite\n          width="20px"\n          height="20px"\n          src="mail_outline"\n          class="profile__icon-corporate">\n        </svg-icon-sprite>\n\n        <span class="profile__sub-title-text">{{ defaultUser?.uid }}</span>\n\n        <app-custom-tooltip>\n          <ng-container item>\n            <svg-icon-sprite\n              (clickOutside)="closeTooltip()"\n              (click)="toggleTooltip()"\n              class="profile__tooltip-icon"\n              src="help_outline"\n              width="20"\n              height="20">\n            </svg-icon-sprite>\n          </ng-container>\n          <ng-container content>\n            <app-info-tooltip>\n            </app-info-tooltip>\n          </ng-container>\n        </app-custom-tooltip>\n      </p>\n\n      <p class="profile__mobile-tooltip">\n        <app-info-tooltip>\n        </app-info-tooltip>\n      </p>\n    </div>\n\n    <hr class="profile__divider">\n\n    <ng-container [ngSwitch]="flexType$ | async">\n      <ng-container *ngIf="!isEdit; else formGroupTemplate">\n        <div class="profile__list profile__list--columns">\n          <div class="profile__list-padding">\n            <div class="profile__list-item-title">\n              {{ \'text.myProfile.group.firstName\' | cxTranslate }}\n              <span class="profile__list-item-title--required">*</span>\n            </div>\n            <div class="profile__list-item-text">\n              {{ user?.firstName }}\n            </div>\n          </div>\n          <div class="profile__list-padding">\n            <div class="profile__list-item-title">\n              {{ \'text.myProfile.group.lastName\' | cxTranslate }}\n              <span class="profile__list-item-title--required">*</span>\n            </div>\n            <div class="profile__list-item-text">\n              {{ user?.lastName }}\n            </div>\n          </div>\n          <div class="profile__list-padding">\n            <div class="profile__list-item-title">\n              {{ \'text.myProfile.group.phone\' | cxTranslate }}\n            </div>\n            <div class="profile__list-item-text">\n              {{ userAdditionalInfo?.phoneNumber }}\n            </div>\n          </div>\n\n          <ng-container *ngSwitchCase="UpdateProfileFlexTypes.UpdateProfileComponent">\n            <div class="profile__list-padding">\n              <div class="profile__list-item-title">\n                {{ \'text.myProfile.group.title\' | cxTranslate }}\n              </div>\n              <div class="profile__list-item-text">\n                {{ userAdditionalInfo?.title?.code }}\n              </div>\n            </div>\n            <div class="profile__list-padding">\n              <div class="profile__list-item-title">\n                {{ \'text.myProfile.group.department\' | cxTranslate }}\n                <span class="profile__list-item-title--required">*</span>\n              </div>\n              <div class="profile__list-item-text">\n                {{ userAdditionalInfo?.department }}\n              </div>\n            </div>\n            <div class="profile__list-padding">\n              <div class="profile__list-item-title">\n                {{ \'text.myProfile.group.role\' | cxTranslate }}\n                <span class="profile__list-item-title--required">*</span>\n              </div>\n              <div class="profile__list-item-text">\n                {{ userAdditionalInfo?.businessRole }}\n              </div>\n            </div>\n            <div class="profile__list-padding">\n              <div class="profile__list-item-title">\n                {{ \'text.myProfile.group.birthDate\' | cxTranslate }}\n              </div>\n              <div class="profile__list-item-text">\n                {{ userAdditionalInfo?.birthdate | date: \'dd.MM.yyyy\' }}\n              </div>\n            </div>\n            <div class="profile__list-padding">\n              <div class="profile__list-item-title">\n                {{ \'text.myProfile.group.hobbies\' | cxTranslate }}\n              </div>\n              <div class="profile__list-item-text">\n                {{ userAdditionalInfo?.hobbies  }}\n              </div>\n            </div>\n          </ng-container>\n\n        </div>\n      </ng-container>\n      <ng-template #formGroupTemplate>\n        <div class="profile__list profile__list--columns" >\n          <ng-container [formGroup]="userForm">\n            <app-input\n              class="profile__list-input"\n              [controlData]="userForm.get(\'firstName\')"\n              [isRequired]="true"\n              (focusout)="replaceNonPrintable(userForm.get(\'firstName\'))"\n              label="{{ \'placeholder.firstName\' | cxTranslate }}"\n            ></app-input>\n            <app-input\n              class="profile__list-input"\n              [controlData]="userForm.get(\'lastName\')"\n              [isRequired]="true"\n              (focusout)="replaceNonPrintable(userForm.get(\'lastName\'))"\n              label="{{ \'placeholder.lastName\' | cxTranslate }}"\n            ></app-input>\n          </ng-container>\n          <ng-container [formGroup]="additionalForm" class="profile__list profile__list--columns">\n            <app-input class="profile__list-input" [controlData]="additionalForm.get(\'phoneNumber\')" label="{{ \'placeholder.phone\' | cxTranslate }}" type="tel"></app-input>\n            <ng-container *ngSwitchCase="UpdateProfileFlexTypes.UpdateProfileComponent">\n              <app-select class="profile__list-input" [controlData]="additionalForm.get(\'titleCode\')"\n                          placeholder="{{ \'placeholder.title\' | cxTranslate }}"\n                          [items]="titles"\n                          bindLabel="title"\n                          bindValue="value">\n              </app-select>\n              <app-select-search class="profile__list-input" [control]="additionalForm.get(\'department\')"\n                                 placeholder="{{ \'placeholder.department\' | cxTranslate }}"\n                                 [items]="departments"\n                                 bindLabel="title"\n                                 bindValue="uid">\n              </app-select-search>\n              <app-select-search class="profile__list-input" [control]="additionalForm.get(\'businessRole\')"\n                                 placeholder="{{ \'placeholder.role\' | cxTranslate }}"\n                                 [items]="roles"\n                                 bindLabel="name"\n                                 bindValue="uid">\n              </app-select-search>\n              <app-date-picker\n                class="profile__list-input"\n                placeholder="{{ \'placeholder.birthDate\' | cxTranslate }}"\n                [defaultView]="3"\n                [isDefaultMonth]="true"\n                [isFullSize]="true"\n                [minYearCurrentMinus]="120"\n                [maxYearCurrentPlus]="-18"\n                [control]="additionalForm.get(\'birthdate\')"\n              ></app-date-picker>\n              <app-input\n                class="profile__list-input"\n                [controlData]="additionalForm.get(\'hobbies\')"\n                (focusout)="replaceNonPrintable(additionalForm.get(\'hobbies\'))"\n                label="{{ \'placeholder.hobbies\' | cxTranslate }}"\n              ></app-input>\n            </ng-container>\n          </ng-container>\n        </div>\n      </ng-template>\n\n    </ng-container>\n\n    <hr class="profile__divider profile__divider--margin">\n\n    <div class="profile__buttons">\n      <ng-container *ngIf="isEdit; else editButton">\n        <button class="profile__button btn btn-secondary btn--sm" (click)="cancel()">\n          {{ \'text.myProfile.cancelButton\' | cxTranslate }}\n        </button>\n\n        <button\n          (click)="save()"\n          class="profile__button btn btn-default btn--sm"\n        >\n          {{ \'text.myProfile.saveButton\' | cxTranslate }}\n        </button>\n      </ng-container>\n      <button class="profile__button btn btn-secondary btn--sm" (click)="deactivate()">\n        {{ \'text.myProfile.deactivateButton\' | cxTranslate }}\n        <svg-icon-sprite class="profile__button-icon" src="not_interested" width="16" height="16"></svg-icon-sprite>\n      </button>\n    </div>\n  </ng-template>\n</div>\n\n<ng-template #editButton>\n  <button\n    class="profile__button btn btn-secondary btn--sm"\n    [disabled]="user?.additionalInfo?.updateStatus === PROFILE_UPDATE_STATUS.WAITING"\n    (click)="edit(user?.additionalInfo?.updateStatus)"\n  >\n    {{ \'text.myProfile.editButton\' | cxTranslate }}\n    <svg-icon-sprite class="profile__button-icon" src="edit" width="16" height="16"></svg-icon-sprite>\n  </button>\n</ng-template>\n',styles:[eP()]})],Us);let fu=class{};fu=(0,r.Cg)([(0,n.UQu)({declarations:[Us],imports:[S.MD,p.htr.withConfig({cmsComponents:{UpdateProfileComponent:{component:Us,guards:[j,Y]},UpdateProfileTradingComponent:{component:Us,guards:[j,Y]}}}),Bt.o,xu,be,p.LP3,V.F2,m.X1,ce,Ze,ge]})],fu);var nP=i(8881),sP=i.n(nP);class Cu{static dateLessThanValidator(e,t,s){return o=>{const l=o.get(e).value?.singleDate?.epoc,u=o.get(t).value?.singleDate?.epoc;return l&&u&&l>u?(o.get(t).setErrors({invalidDateFormat:!0}),{[s]:!0}):null}}static dateMaxInterval(e,t,s){return o=>{const u=o.get(e).value?.singleDate?.epoc,h=o.get(t).value?.singleDate?.epoc-31536e3;return u&&h&&u<h?(o.get(e).setErrors({invalidDateFormat:!0}),o.get(t).setErrors({invalidDateFormat:!0}),{[s]:!0}):o.get(e).errors?.invalidDateFormat&&!h?(o.get(e).setErrors(null),null):(o.get(t).errors?.invalidDateFormat&&!u&&o.get(t).setErrors(null),null)}}static isZeroOrTwoDates(e,t){return s=>{const o=s.get(e).value?.singleDate?.epoc,l=s.get(t).value?.singleDate?.epoc;return o&&!l?(s.get(t).setErrors({required:!0}),null):!o&&l?(s.get(e).setErrors({required:!0}),null):((o&&l||!o&&!l)&&(s.get(e).setErrors(null),s.get(t).setErrors(null)),null)}}}function bu(a){return a.errors?.invalidDateFormat||a.value?null:{required:!0}}class nm{constructor(e,t){this.launchDialogService=e,this.changeDetector=t,this.REPORT_FILTER_SEND_FORMAT=Ie,this.items=[],this.itemsLength=0,this.millSpecificationToSend$=new P.t(null),this.requiredFields=[Ie.CONTRACT,Ie.MILL_CONTRACT,Ie.MILL_SPECIFICATION],this.filteredMap={contract:[],millContract:[],millSpecification:[]},this.destroy$=new R.B,this.subscription=new X.yU}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}updateMillSpecificationToSend(){const e=this.filteredMap.millSpecification.filter(s=>s.isSelected).length,t=this.filteredMap.millSpecification.filter(s=>s.isVisible).length;this.millSpecificationToSend$.next(e||t)}initRequiredFieldsValidators(){this.filterForm.valueChanges.pipe((0,x.Q)(this.destroy$)).subscribe(()=>{this.checkRequiredFieldsForEmpty(this.getRequiredControls())})}isFormValid(){return this.checkRequiredFieldsForEmpty(this.getRequiredControls()),this.filterForm.valid}checkRequiredFieldsForEmpty(e){const t=e.some(s=>!!s.value);e.forEach(s=>{s.setErrors(t?null:{atLeastOneRequired:!0}),s.markAsTouched()}),this.changeDetector.detectChanges()}updateItem(e,t){return!t&&e.isSelected?(e.isDisabled=!0,e.isVisible=!0):(e.isDisabled=!1,e.isVisible=t),e}updateTotal(e,t){t.isSelected&&e.isSelected++,t.isDisabled&&e.isDisable++}filterInitialItems(e){e&&(this.items=e,this.filterByUniq())}createReport(e){if(!this.isFormValid())return this.filterForm.markAllAsTouched(),void this.changeDetector.detectChanges();const t={...this.filterForm.value};e.forEach(s=>{const o=this.filterForm.get(s).value?.singleDate?.jsDate;if(o){const l=new Date(Date.UTC(o.getFullYear(),o.getMonth(),o.getDate()));t[s]=Sn(l)}}),this.loadReport.emit(t)}onNewReport(e){this.launchDialogService.openDialogAndSubscribe(e,void 0,void 0),this.subscription.add(this.launchDialogService.dialogClose.subscribe(t=>{!0===t&&(this.closeReport.emit(),this.filterForm.patchValue({contractCodes:[],contractWithMill:[],specification:[],productionMonth:""}),this.filterForm.markAsUntouched(),this.changeDetector.detectChanges())},()=>{}))}initFilter(){this.filterForm.valueChanges.pipe((0,x.Q)(this.destroy$)).subscribe(e=>{this.filterItems(e,[{form:[Ie.MILL_SPECIFICATION,Ie.MILL_CONTRACT],item:[$e.MILL_SPECIFICATION,$e.MILL_CONTRACT],current:[Ie.CONTRACT,$e.CONTRACT]},{form:[Ie.MILL_SPECIFICATION,Ie.CONTRACT],item:[$e.MILL_SPECIFICATION,$e.CONTRACT],current:[Ie.MILL_CONTRACT,$e.MILL_CONTRACT]},{form:[Ie.CONTRACT,Ie.MILL_CONTRACT],item:[$e.CONTRACT,$e.MILL_CONTRACT],current:[Ie.MILL_SPECIFICATION,$e.MILL_SPECIFICATION]}])})}uniqFilter(e,t){const s=[];return e.filter(o=>!s.includes(o[t])&&(o.isVisible=!0,o.isSelected=!1,o.isDisabled=!1,s.push(o[t]),!0))}filterByUniq(){this.filteredMap.contract=this.uniqFilter(this.items,$e.CONTRACT).map(e=>({...e})),this.filteredMap.millContract=this.uniqFilter(this.items,$e.MILL_CONTRACT).map(e=>({...e})),this.filteredMap.millSpecification=this.uniqFilter(this.items,$e.MILL_SPECIFICATION).map(e=>({...e})),this.updateMillSpecificationToSend(),this.changeDetector.detectChanges()}getRequiredControls(){return this.requiredFields.map(e=>this.filterForm.get(e))}findContains(e,t,s,o){return this.items.filter(l=>l[s.current[1]]===t[s.current[1]]).map(l=>l[s.item[o]]).some(l=>-1!==e[s.form[o]].indexOf(l))}checkIsVisible(e,t,s){const o=e[s.form[0]],l=e[s.form[1]];return!o.length&&!l.length||(o.length&&l.length?this.findContains(e,t,s,0)&&this.findContains(e,t,s,1):o.length?this.findContains(e,t,s,0):!!l.length&&this.findContains(e,t,s,1))}filterItems(e,t){const s={isSelected:0,isDisable:0};t.forEach(o=>{this.filteredMap[o.current[1]].forEach(l=>{const u=this.checkIsVisible(e,l,o);return l.isSelected=e[o.current[0]].includes(l[o.current[1]]),l=this.updateItem(l,u),this.updateTotal(s,l),l})}),s.isSelected>0&&s.isSelected===s.isDisable&&(t.map(o=>o.current[0]).forEach(o=>{this.filterForm.get(o).setValue([])}),this.filterByUniq()),this.updateMillSpecificationToSend()}static#e=this.propDecorators={isReportLoading:[{type:n.pde}]}}let yu=class extends nm{set setItems(e){this.items=e,this.itemsLength=e?.length,super.filterInitialItems(e)}constructor(e,t){super(e,t),this.launchDialogService=e,this.changeDetector=t,this.isShowReport=!1,this.closeReport=new n.bkB,this.loadReport=new n.bkB,this.destroyed$=new R.B,this.specificationWithoutDate=25,this.isFirstChange=!0,this.filterForm=new m.J3({contractCodes:new m.hs([],m.k0.required),contractWithMill:new m.hs([],m.k0.required),specification:new m.hs([],m.k0.required),shippingDateFrom:new m.hs(null),shippingDateTo:new m.hs(null),certificateNumber:new m.hs(null)},{validators:m.k0.compose([Cu.dateLessThanValidator("shippingDateFrom","shippingDateTo","dateMismatch"),Cu.dateMaxInterval("shippingDateFrom","shippingDateTo","maxRange"),Ua(this.requiredFields),Cu.isZeroOrTwoDates("shippingDateFrom","shippingDateTo")])})}ngOnInit(){super.initRequiredFieldsValidators(),super.initFilter(),this.initSubscribers()}initSubscribers(){this.millSpecificationToSend$.pipe((0,qc.J)(),(0,x.Q)(this.destroyed$)).subscribe(([e,t])=>{null===e||e===t&&!this.isFirstChange||(this.isFirstChange&&(this.isFirstChange=!1),t>this.specificationWithoutDate?this.setCustomDateValidators():this.clearCustomDateValidators(),this.updateCustomDateValidators())})}updateCustomDateValidators(){this.filterForm.get("shippingDateFrom").updateValueAndValidity(),this.filterForm.get("shippingDateTo").updateValueAndValidity()}clearCustomDateValidators(){this.filterForm.get("shippingDateFrom").clearValidators(),this.filterForm.get("shippingDateTo").clearValidators()}setCustomDateValidators(){this.filterForm.get("shippingDateFrom").setValidators(bu),this.filterForm.get("shippingDateTo").setValidators(bu)}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete(),super.ngOnDestroy()}createNewReport(){super.createReport(["shippingDateFrom","shippingDateTo"])}close(){super.onNewReport("DELIVERY_NEW_REPORT_MODAL")}clearAll(){[Ie.CONTRACT,Ie.MILL_CONTRACT,Ie.MILL_SPECIFICATION].forEach(e=>{this.filterForm.get(e).setValue([])})}static#e=this.ctorParameters=()=>[{type:v.PLe},{type:n.gRc}];static#t=this.propDecorators={isShowReport:[{type:n.pde}],setItems:[{type:n.pde,args:["items"]}],closeReport:[{type:n.k7i}],loadReport:[{type:n.k7i}]}};yu=(0,r.Cg)([(0,n.uAl)({selector:"app-delivery-report-filters",template:'<div class="report-filter">\n  <ng-container *ngIf="!isShowReport; else reportShown">\n    <div class="report-filter__content">\n      <app-select-multi-checkbox\n        [controlData]="filterForm.get(REPORT_FILTER_SEND_FORMAT.CONTRACT)"\n        [items]="filteredMap.contract"\n        bindLabel="contract"\n        bindValue="contract"\n        [placeholder]="\'report.filters.contract\' | cxTranslate"\n        [maxLength]="itemsLength"\n        [isError]="filterForm.touched && filterForm.invalid && filterForm.errors?.atLeastOneRequired"\n      ></app-select-multi-checkbox>\n\n      <app-select-multi-checkbox\n        [controlData]="filterForm.get(REPORT_FILTER_SEND_FORMAT.MILL_CONTRACT)"\n        [items]="filteredMap.millContract"\n        bindLabel="millContract"\n        bindValue="millContract"\n        [placeholder]="\'report.filters.contractWithMill\' | cxTranslate"\n        [maxLength]="itemsLength"\n        [isError]="filterForm.touched && filterForm.invalid && filterForm.errors?.atLeastOneRequired"\n      ></app-select-multi-checkbox>\n\n      <app-select-multi-checkbox\n        [controlData]="filterForm.get(REPORT_FILTER_SEND_FORMAT.MILL_SPECIFICATION)"\n        [items]="filteredMap.millSpecification"\n        bindLabel="millSpecification"\n        bindValue="millSpecification"\n        [placeholder]="\'report.filters.specification\' | cxTranslate"\n        [maxLength]="itemsLength"\n        [isError]="filterForm.touched && filterForm.invalid && filterForm.errors?.atLeastOneRequired"\n      ></app-select-multi-checkbox>\n\n      <div\n        class="report-filter__error"\n        *ngIf="filterForm.touched && filterForm.invalid"\n      >\n        <p *ngIf="filterForm.errors?.atLeastOneRequired">\n          {{ \'report.filters.oneFieldShouldFilled\' | cxTranslate }}\n        </p>\n        <p *ngIf="filterForm.errors?.dateMismatch">\n          {{ \'report.filters.dateMismatch\' | cxTranslate }}\n        </p>\n        <p *ngIf="filterForm.errors?.maxRange">\n          {{ \'report.filters.maxRange\' | cxTranslate }}\n        </p>\n      </div>\n\n      <app-date-picker\n        placeholder="{{ \'report.filters.shipmentStartDate\' | cxTranslate }}"\n        [isFullSize]="true"\n        [control]="filterForm.get(\'shippingDateFrom\')"\n        [enableInputMask]="true"\n        [minYearCurrentMinus]="5"\n        [maxYearCurrentPlus]="1"\n      ></app-date-picker>\n      <app-date-picker\n        placeholder="{{ \'report.filters.shipmentEndDate\' | cxTranslate }}"\n        [isFullSize]="true"\n        [control]="filterForm.get(\'shippingDateTo\')"\n        [enableInputMask]="true"\n        [minYearCurrentMinus]="5"\n        [maxYearCurrentPlus]="1"\n      ></app-date-picker>\n      <app-input\n        [controlData]="filterForm.get(\'certificateNumber\')"\n        [showIcon]="false"\n        label="{{ \'report.filters.certificateNumber\' | cxTranslate }}"\n        name="specification"\n        [showTextErrors]="false"\n      ></app-input>\n\n      <button\n        class="btn btn-secondary report-filter__button"\n        [disabled]="\n          !filterForm.value[REPORT_FILTER_SEND_FORMAT.CONTRACT].length &&\n          !filterForm.value[REPORT_FILTER_SEND_FORMAT.MILL_CONTRACT].length &&\n          !filterForm.value[REPORT_FILTER_SEND_FORMAT.MILL_SPECIFICATION].length"\n        (click)="clearAll()"\n      >\n        {{ \'report.filters.clearAll\' | cxTranslate }}\n      </button>\n      <button\n        class="btn btn-default report-filter__button"\n        [disabled]="isReportLoading"\n        (click)="createNewReport()"\n      >\n        {{ \'report.filters.createReport\' | cxTranslate }}\n      </button>\n    </div>\n  </ng-container>\n  <ng-template #reportShown>\n    <div class="report-filter__content">\n      <div>\n        <div class="report-filter__title">\n          {{ \'report.filters.contract\' | cxTranslate }}\n        </div>\n        <div class="report-filter__info">\n          <ng-container *ngTemplateOutlet="filterItem;context:{items: filteredMap, param: \'contract\'}">\n          </ng-container>\n        </div>\n      </div>\n      <div>\n        <div class="report-filter__title">\n          {{ \'report.filters.contractWithMill\' | cxTranslate }}\n        </div>\n        <div class="report-filter__info">\n          <ng-container *ngTemplateOutlet="filterItem;context:{items: filteredMap, param: \'millContract\'}">\n          </ng-container>\n        </div>\n      </div>\n      <div>\n        <div class="report-filter__title">\n          {{ \'report.filters.specification\' | cxTranslate }}\n        </div>\n        <div class="report-filter__info">\n          <ng-container *ngTemplateOutlet="filterItem;context:{items: filteredMap, param: \'millSpecification\'}">\n          </ng-container>\n        </div>\n      </div>\n      <div>\n        <div class="report-filter__title">\n          {{ \'report.filters.shipmentStartDate\' | cxTranslate }}\n        </div>\n        <div class="report-filter__info">\n          {{\n          filterForm.get(\'shippingDateFrom\').value?.singleDate?.jsDate\n              | date: \'dd.MM.yyyy\'\n          }}\n        </div>\n      </div>\n      <div>\n        <div class="report-filter__title">\n          {{ \'report.filters.shipmentEndDate\' | cxTranslate }}\n        </div>\n        <div class="report-filter__info">\n          {{\n          filterForm.get(\'shippingDateTo\').value?.singleDate?.jsDate\n              | date: \'dd.MM.yyyy\'\n          }}\n        </div>\n      </div>\n      <div>\n        <div class="report-filter__title">\n          {{ \'report.filters.certificateNumber\' | cxTranslate }}\n        </div>\n        <div class="report-filter__info">\n          {{ filterForm.get(\'certificateNumber\').value }}\n        </div>\n      </div>\n      <button\n        class="btn btn-secondary report-filter__button"\n        (click)="close()"\n      >\n        {{ \'report.filters.newReport\' | cxTranslate }}\n      </button>\n    </div>\n  </ng-template>\n\n  <div\n    *ngIf="isReportLoading"\n    class="loader-in-process"\n  >\n    <app-loader size="36px"></app-loader>\n  </div>\n</div>\n\n<ng-template #filterItem let-items="items" let-param=\'param\'>\n  <ng-container *ngFor="let i of items | selectedContractFilter: param; let last = last">\n    <span class="report-filter__filter-result">{{i}}{{ !last ? \',\': \'\' }}</span>\n  </ng-container>\n</ng-template>\n',styles:[sP()]})],yu);var rP=i(32131),oP=i.n(rP);let ja=class extends ls{constructor(e,t,s,o){super(e,t,s,o),this.occEndpointsService=e,this.http=t,this.globalMessageService=s,this.translatePipe=o,this.api=E.REPORTS.ORDER}createReport(e){return super.create(e)}getReport(e,t){return super.get(e,t)}saveView(e){return super.save(e)}getViews(){return super.getViews()}getView(e){return super.getView(e)}getContracts(){return super.getContracts()}delete(e){return super.delete(e)}editView(e){return super.edit(e)}static#e=this.ctorParameters=()=>[{type:p.zxz},{type:U.Qq},{type:p.S8D},{type:p.D97}]};ja=(0,r.Cg)([(0,n._qm)()],ja);let Wa=class extends ls{constructor(e,t,s,o){super(e,t,s,o),this.occEndpointsService=e,this.http=t,this.globalMessageService=s,this.translatePipe=o,this.api=E.REPORTS.DELIVERY}createReport(e){return super.create(e)}getReport(e,t){return super.get(e,t)}saveView(e){return super.save(e)}getViews(){return super.getViews()}getView(e){return super.getView(e)}getContracts(){return super.getContracts()}delete(e){return super.delete(e)}editView(e){return super.edit(e)}static#e=this.ctorParameters=()=>[{type:p.zxz},{type:U.Qq},{type:p.S8D},{type:p.D97}]};Wa=(0,r.Cg)([(0,n._qm)()],Wa);let Ka=class extends cs{constructor(e,t,s,o,l,u,h,_){super(e,t,s,o,l,u,h,_),this.deliveryReportService=e,this.changeDetection=t,this.userAccountService=s,this.globalMessageService=o,this.launchDialogService=l,this.translatePipe=u,this.datePipe=h,this.documentsService=_,this.destroyed$=new R.B,this.tableCode=Qe.DELIVERY}ngOnInit(){super.loadTableViews(),super.getContracts()}ngOnDestroy(){super.ngOnDestroy()}onCloseReport(){super.closeReport()}loadReport(e){const s=super.prepareRequestData(e).map(h=>h.vbeln),o=e.shippingDateTo,l=e.shippingDateFrom,u=e.certificateNumber;super.onLoadReport({salesDocumentCodes:s,shippingDateTo:o,shippingDateFrom:l,certificateNumber:u}),super.generateFileTitle("report.reportTypes.delivery")}createView(e){super.createView(e)}changeTableView(e){super.changeTableView(e)}tableViewTypeChanged(e){super.tableViewTypeChanged(e)}openModalAsync(){super.openModal()}deleteView(e){super.deleteView(e)}editNameView(e){super.editNameView(e)}static#e=this.ctorParameters=()=>[{type:Wa},{type:n.gRc},{type:Le.zq},{type:p.S8D},{type:v.PLe},{type:p.D97},{type:S.vh},{type:dt}]};Ka=(0,r.Cg)([(0,n.uAl)({selector:"app-delivery-report",template:'<div class="report">\n  <div class="report__title">\n    <app-page-title>\n      {{ \'report.deliveryTitle\' | cxTranslate }}\n    </app-page-title>\n  </div>\n\n  <div class="report__section">\n    <app-toggle-card [isExpand]="true" [overflowVisible]="true">\n      <svg-icon-sprite\n        header-icon\n        src="filter_list"\n        width="18"\n        height="18"\n      ></svg-icon-sprite>\n      <span header-left>\n        {{ \'report.reportDetails\' | cxTranslate }}\n      </span>\n      <div toggle-body>\n        <app-delivery-report-filters\n          [isShowReport]="isShowReport"\n          [isReportLoading]="isReportLoading"\n          [items]="contracts?.IntegrationReportContract"\n          (closeReport)="onCloseReport()"\n          (loadReport)="loadReport($event)"\n        ></app-delivery-report-filters>\n      </div>\n    </app-toggle-card>\n  </div>\n\n  <div\n    *ngIf="!isReportLoading; else loading"\n    class="report__section"\n  >\n    <app-toggle-card [overflowVisible]="true" [isExpand]="true" *ngIf="isShowReport">\n      <svg-icon-sprite\n        header-icon\n        src="view_column"\n        width="18"\n        height="18"\n      ></svg-icon-sprite>\n\n      <span header-left>\n        {{ \'report.reportResult\' | cxTranslate }}\n      </span>\n      <span header-right>\n        <app-icon-button\n          (click)="openModalAsync()"\n          src="fullscreen_enter"\n        ></app-icon-button>\n      </span>\n\n      <div toggle-body>\n        <app-data-grid-views\n          [data]="reportData"\n          [dxTableSettings]="dxTableSettings"\n          [dxViewSettings]="dxViewSettings"\n          [fileTitle]="fileTitle"\n          [views]="views"\n          [selectedView]="selectedView"\n          [multiSelect]="false"\n\n          (createView)="createView($event)"\n          (selectView)="changeTableView($event)"\n          (deleteView)="deleteView($event)"\n          (editNameView)="editNameView($event)"\n          (tableViewTypeChanged)="tableViewTypeChanged($event)"\n          (clearCurrentView)="clearCurrentView()"\n          (downloadFile)="downloadFile($event)">\n        </app-data-grid-views>\n      </div>\n    </app-toggle-card>\n  </div>\n</div>\n\n<ng-template #loading>\n  <app-report-loader></app-report-loader>\n</ng-template>\n',styles:[oP()]})],Ka);var cP=i(40897),lP=i.n(cP);let Su=class extends nm{set setItems(e){this.items=e,this.itemsLength=e?.length,super.filterInitialItems(e)}constructor(e,t){super(e,t),this.launchDialogService=e,this.changeDetector=t,this.isShowReport=!1,this.closeReport=new n.bkB,this.loadReport=new n.bkB,this.filterForm=new m.J3({contractCodes:new m.hs([],m.k0.required),contractWithMill:new m.hs([],m.k0.required),specification:new m.hs([],m.k0.required)},{validators:m.k0.compose([Ua(this.requiredFields)])})}ngOnInit(){super.initRequiredFieldsValidators(),super.initFilter()}createReport(){super.createReport([])}createNewReport(){super.onNewReport("ORDER_NEW_REPORT_MODAL")}clearAll(){[Ie.CONTRACT,Ie.MILL_CONTRACT,Ie.MILL_SPECIFICATION].forEach(e=>{this.filterForm.get(e).setValue([])})}static#e=this.ctorParameters=()=>[{type:v.PLe},{type:n.gRc}];static#t=this.propDecorators={isShowReport:[{type:n.pde}],setItems:[{type:n.pde,args:["items"]}],closeReport:[{type:n.k7i}],loadReport:[{type:n.k7i}]}};Su=(0,r.Cg)([(0,n.uAl)({selector:"app-order-report-filters",template:'<div class="report-filter">\n\n  <div\n    *ngIf="!isShowReport; else reportShown"\n    class="report-filter__content"\n  >\n    <app-select-multi-checkbox\n      [controlData]="filterForm.get(REPORT_FILTER_SEND_FORMAT.CONTRACT)"\n      [items]="filteredMap.contract"\n      bindLabel="contract"\n      bindValue="contract"\n      [placeholder]="\'report.filters.contract\' | cxTranslate"\n      [maxLength]="itemsLength"\n      [isError]="filterForm.touched && filterForm.invalid && filterForm.errors?.atLeastOneRequired"\n    ></app-select-multi-checkbox>\n    <app-select-multi-checkbox\n      [controlData]="filterForm.get(REPORT_FILTER_SEND_FORMAT.MILL_CONTRACT)"\n      [items]="filteredMap.millContract"\n      bindLabel="millContract"\n      bindValue="millContract"\n      [placeholder]="\'report.filters.contractWithMill\' | cxTranslate"\n      [maxLength]="itemsLength"\n      [isError]="filterForm.touched && filterForm.invalid && filterForm.errors?.atLeastOneRequired"\n    ></app-select-multi-checkbox>\n    <app-select-multi-checkbox\n      [controlData]="filterForm.get(REPORT_FILTER_SEND_FORMAT.MILL_SPECIFICATION)"\n      [items]="filteredMap.millSpecification"\n      bindLabel="millSpecification"\n      bindValue="millSpecification"\n      [placeholder]="\'report.filters.specification\' | cxTranslate"\n      [maxLength]="itemsLength"\n      [isError]="filterForm.touched && filterForm.invalid && filterForm.errors?.atLeastOneRequired"\n    ></app-select-multi-checkbox>\n\n    <div\n      class="report-filter__error"\n      *ngIf="filterForm.touched && filterForm.invalid"\n    >\n      <p *ngIf="filterForm.errors?.atLeastOneRequired">\n        {{ \'report.filters.oneFieldShouldFilled\' | cxTranslate }}\n      </p>\n      <p *ngIf="filterForm.errors?.dateMismatch">\n        {{ \'report.filters.dateMismatch\' | cxTranslate }}\n      </p>\n    </div>\n\n    <button\n      class="btn btn-secondary report-filter__button"\n      [disabled]="\n        !filterForm.value[REPORT_FILTER_SEND_FORMAT.CONTRACT].length &&\n        !filterForm.value[REPORT_FILTER_SEND_FORMAT.MILL_CONTRACT].length &&\n        !filterForm.value[REPORT_FILTER_SEND_FORMAT.MILL_SPECIFICATION].length"\n      (click)="clearAll()"\n    >\n      {{ \'report.filters.clearAll\' | cxTranslate }}\n    </button>\n    <button\n      class="btn btn-default report-filter__button"\n      [disabled]="isReportLoading"\n      (click)="createReport()"\n    >\n      {{ \'report.filters.createReport\' | cxTranslate }}\n    </button>\n  </div>\n  <ng-template #reportShown>\n    <div class="report-filter__content">\n      <div>\n        <div class="report-filter__title">\n          {{ \'report.filters.contract\' | cxTranslate }}\n        </div>\n        <div class="report-filter__info">\n          <ng-container *ngTemplateOutlet="filterItem;context:{items: filteredMap, param: \'contract\'}">\n          </ng-container>\n        </div>\n      </div>\n      <div>\n        <div class="report-filter__title">\n          {{ \'report.filters.contractWithMill\' | cxTranslate }}\n        </div>\n        <div class="report-filter__info">\n          <ng-container *ngTemplateOutlet="filterItem;context:{items: filteredMap, param: \'millContract\'}">\n          </ng-container>\n        </div>\n      </div>\n      <div>\n        <div class="report-filter__title">\n          {{ \'report.filters.specification\' | cxTranslate }}\n        </div>\n        <div class="report-filter__info">\n          <ng-container *ngTemplateOutlet="filterItem;context:{items: filteredMap, param: \'millSpecification\'}">\n          </ng-container>\n        </div>\n      </div>\n      <button\n        class="btn btn-secondary report-filter__button"\n        (click)="createNewReport()"\n      >\n        {{ \'report.filters.newReport\' | cxTranslate }}\n      </button>\n    </div>\n  </ng-template>\n\n  <div\n    *ngIf="isReportLoading"\n    class="loader-in-process"\n  >\n    <app-loader size="36px"></app-loader>\n  </div>\n</div>\n\n\n<ng-template #filterItem let-items="items" let-param=\'param\'>\n  <ng-container *ngFor="let i of items | selectedContractFilter: param; let last = last">\n    <span class="report-filter__filter-result">{{i}}{{ !last ? \',\': \'\' }}</span>\n  </ng-container>\n</ng-template>\n',styles:[lP()]})],Su);var pP=i(27829),uP=i.n(pP);let Xa=class extends cs{constructor(e,t,s,o,l,u,h,_){super(e,t,s,o,l,u,h,_),this.orderReportService=e,this.changeDetection=t,this.userAccountService=s,this.globalMessageService=o,this.launchDialogService=l,this.translatePipe=u,this.datePipe=h,this.documentsService=_,this.destroyed$=new R.B,this.tableCode=Qe.ORDER}ngOnInit(){super.loadTableViews(),super.getContracts()}ngOnDestroy(){super.ngOnDestroy()}onCloseReport(){super.closeReport()}loadReport(e){super.onLoadReport({contractCodes:e.contractCodes,millContracts:e.contractWithMill,specifications:e.specification,productionMonth:e.productionMonth}),super.generateFileTitle("report.reportTypes.order")}createView(e){super.createView(e)}changeTableView(e){super.changeTableView(e)}tableViewTypeChanged(e){super.tableViewTypeChanged(e)}openModalAsync(){super.openModal()}deleteView(e){super.deleteView(e)}editNameView(e){super.editNameView(e)}static#e=this.ctorParameters=()=>[{type:ja},{type:n.gRc},{type:Le.zq},{type:p.S8D},{type:v.PLe},{type:p.D97},{type:S.vh},{type:dt}]};Xa=(0,r.Cg)([(0,n.uAl)({selector:"app-order-report",template:'<div class="report">\n  <div class="report__title">\n    <app-page-title>\n      {{ \'report.orderTitle\' | cxTranslate }}\n    </app-page-title>\n  </div>\n\n  <div class="report__section">\n    <app-toggle-card [isExpand]="true" [overflowVisible]="true">\n      <svg-icon-sprite\n        header-icon\n        src="filter_list"\n        width="18"\n        height="18"\n      ></svg-icon-sprite>\n      <span header-left>\n        {{ \'report.reportDetails\' | cxTranslate }}\n      </span>\n      <div toggle-body>\n        <app-order-report-filters\n          [isShowReport]="isShowReport"\n          [isReportLoading]="isReportLoading"\n          [items]="contracts?.IntegrationReportContract"\n          (closeReport)="onCloseReport()"\n          (loadReport)="loadReport($event)"\n        ></app-order-report-filters>\n      </div>\n    </app-toggle-card>\n  </div>\n\n  <div\n    *ngIf="!isReportLoading; else loading"\n    class="report__section"\n  >\n    <app-toggle-card [isExpand]="true" *ngIf="isShowReport" [overflowVisible]="true">\n      <svg-icon-sprite\n        header-icon\n        src="view_column"\n        width="18"\n        height="18"\n      ></svg-icon-sprite>\n      <span header-left>\n        {{ \'report.reportResult\' | cxTranslate }}\n      </span>\n\n      <span header-right>\n        <app-icon-button\n          (click)="openModalAsync()"\n          src="fullscreen_enter"\n        ></app-icon-button>\n      </span>\n\n      <div toggle-body>\n        <app-data-grid-views\n          [data]="reportData"\n          [dxTableSettings]="dxTableSettings"\n          [dxViewSettings]="dxViewSettings"\n          [fileTitle]="fileTitle"\n          [views]="views"\n          [selectedView]="selectedView"\n          [multiSelect]="false"\n\n          (createView)="createView($event)"\n          (selectView)="changeTableView($event)"\n          (deleteView)="deleteView($event)"\n          (editNameView)="editNameView($event)"\n          (tableViewTypeChanged)="tableViewTypeChanged($event)"\n          (clearCurrentView)="clearCurrentView()">\n        </app-data-grid-views>\n      </div>\n    </app-toggle-card>\n  </div>\n</div>\n\n<ng-template #loading>\n  <app-report-loader></app-report-loader>\n</ng-template>\n',styles:[uP()]})],Xa);var gP=i(51966),mP=i.n(gP);let Za=class{};Za=(0,r.Cg)([(0,n.uAl)({selector:"app-report-loader",template:"<p class=\"loader-information\">\n  {{ 'report.loading' | cxTranslate }}\n</p>\n<app-loader></app-loader>\n",changeDetection:n.Ngq.OnPush,styles:[mP()]})],Za);let Tu=class{transform(e){const t=e?.column?.dataField||"";return e?.data[t]||""}};Tu=(0,r.Cg)([(0,n.nT_)({name:"dataGridData"})],Tu);let Eu=class{transform(e,t){return e[t].filter(s=>s.isSelected&&!s.isDisabled).map(s=>s[t])}};Eu=(0,r.Cg)([(0,n.nT_)({name:"selectedContractFilter"})],Eu);var vP=i(28216),xP=i.n(vP);let Ja=class{};Ja=(0,r.Cg)([(0,n.uAl)({selector:"app-reports",template:"<article class=\"reports\">\n  <h5>{{ 'reports.selectReport' | cxTranslate }}</h5>\n  <a class=\"reports__link\" [routerLink]=\"'/my-account/rts-list'\">{{ 'reports.rts' | cxTranslate }}</a>\n  <a class=\"reports__link\" [routerLink]=\"'/my-account/order-book'\">{{ 'reports.orderBook' | cxTranslate }}</a>\n</article>\n",changeDetection:n.Ngq.OnPush,styles:[xP()]})],Ja);let Ru=class{};Ru=(0,r.Cg)([(0,n.UQu)({declarations:[Xa,Su,Tu,Eu,Za,Ka,yu,Ja],imports:[S.MD,y.iI,p.htr.withConfig({cmsComponents:{ReportsComponent:{component:Ja,guards:[j,Y]},OrderReportComponent:{component:Xa,guards:[j,Y]},DeliveryReportComponent:{component:Ka,guards:[j,Y]}}}),V.F2,p.LP3,ce,Ze,ge,be,ze,Mt,m.YN,an],providers:[ja,Wa],exports:[Za]})],Ru);var CP=i(60138),bP=i.n(CP),Dt=i(75091);let ec=class{constructor(e,t,s,o,l){this.activatedRoute=e,this.ordersService=t,this.orderHistoryService=s,this.pageService=o,this.orderDetailsService=l,this.destroyed$=new R.B,this.ROUTE_URL=M,this.FACET_NAMES=ie,this.PRODUCT_TYPE=Z,this.ORDER_STATUS_NAME=b,this.orderCode=this.activatedRoute.snapshot.params?.orderCode,this.orderItemSearch="",this.order$=this.orderHistoryService.getOrderDetails(),this.orderLoadedStatus$=this.ordersService.orderLoadedStatus$,this.API_RESPONSE_STATUS=Ut}ngOnInit(){this.orderCode&&this.orderHistoryService.loadOrderDetails(this.orderCode),this.orderLoadedStatus$.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{e===Ut.ERROR&&this.pageService.triggerErrorPage(`/${this.orderCode}`)}),this.orderDetailsService.isOrderDetailsLoading().pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{e&&this.ordersService.orderLoadedStatus$.next(Ut.SUCCESS)})}ngOnDestroy(){this.orderHistoryService.clearOrderDetails(),this.destroyed$.next(),this.destroyed$.complete()}isOrderCompleted(e){const t=[b.COMPLETED,b.CLOSED,b.ORDER_CANCELLED].map(s=>s.toLowerCase());return!!e&&t.includes(e.toLowerCase())}static#e=this.ctorParameters=()=>[{type:y.nX},{type:De},{type:Tt.FP},{type:mt},{type:Dt.e7}]};ec=(0,r.Cg)([(0,n.uAl)({selector:"app-order-detail",template:'<ng-container *ngIf="(orderLoadedStatus$ | async) === API_RESPONSE_STATUS.SUCCESS; else loader">\n  <div *ngIf="order$ | async as order" class="order-detail">\n    <a\n      *ngIf="isOrderCompleted(order.actualStatus); else activeOrders"\n      [routerLink]="ROUTE_URL.MY_ACCOUNT.ORDER.HISTORY"\n    >\n      <app-back-button class="order-detail__title">\n        {{ \'orderDetails.backToOrdersHistoryList\' | cxTranslate }}\n      </app-back-button>\n    </a>\n\n    <ng-template #activeOrders>\n      <a [routerLink]="{ cxRoute: \'orders\' } | cxUrl">\n        <app-back-button class="order-detail__title">\n          {{ \'orderDetails.backToActiveOrdersList\' | cxTranslate }}\n        </app-back-button>\n      </a>\n    </ng-template>\n\n    <app-page-title class="order-detail__order-number">\n      {{ \'orderDetails.pageTitle\' | cxTranslate: { number: orderCode } }}\n    </app-page-title>\n\n    <div class="order-detail__list">\n      <app-order-detail-card\n        *ngIf="order.orderEntries?.orderEntries"\n        [entries]="order.orderEntries.orderEntries"\n        [actualStatus]="order.actualStatus"\n        [hasDocuments]="order.documents && order.documents.length > 0"\n        [isMTO]="order.orderType === FACET_NAMES.ORDER"\n        (orderItemSearch)="orderItemSearch = $event"\n      ></app-order-detail-card>\n\n      <div class="order-detail__main-grid">\n        <app-order-status-stepper [order]="order"></app-order-status-stepper>\n\n        <div class="order-detail__list">\n          <app-contract-agreement\n            *ngIf="order.orderType === FACET_NAMES.ORDER"\n            [order]="order"\n          ></app-contract-agreement>\n          <app-order-placed [order]="order"></app-order-placed>\n          <app-order-delivery\n            [order]="order"\n            [isStrip]="order.productionType === PRODUCT_TYPE.STRIP"\n            [isMTO]="order.orderType === FACET_NAMES.ORDER"\n            [agreement]="order.agreement"\n            [orderEntries]="order.orderEntries"\n          ></app-order-delivery>\n        </div>\n      </div>\n\n      <app-order-approve\n        *ngIf="order.actualStatus === ORDER_STATUS_NAME.PENDING_APPROVAL"\n        [orderCode]="orderCode"\n      ></app-order-approve>\n\n      <app-order-terms [order]="order"></app-order-terms>\n      <app-order-downloads\n        id="order-downloads"\n        *ngIf="order.documents && order.documents.length"\n        [orderCode]="orderCode"\n        [orderItemsSearch]="orderItemSearch"\n        (orderItemSearchChange)="orderItemSearch = $event"\n        [documents]="order.documents"\n        [productionType]="order.productionType"\n      >\n      </app-order-downloads>\n    </div>\n  </div>\n</ng-container>\n<ng-template #loader>\n  <div class="loader-in-process">\n    <app-loader size="36px"></app-loader>\n  </div>\n</ng-template>\n',changeDetection:n.Ngq.OnPush,styles:[bP()]})],ec);var SP=i(72600),TP=i.n(SP);let tc=class{constructor(e,t,s,o){this.cmsService=e,this.authService=t,this.ordersService=s,this.activatedRoute=o,this.destroyed$=new R.B,this.PAGE_SIZE=10,this.selectedToApplyFilters$=this.ordersService.selectedToApplyFilters$,this.appliedFilters$=this.ordersService.appliedFilters$,this.initialFilters$=this.ordersService.initialFilters$,this.ordersPageData$=this.ordersService.ordersPageData$,this.pageId$=this.cmsService.getCurrentPage().pipe((0,B.p)(Boolean),(0,fe.E)("pageId")),this.resetFilters$=new R.B,this.EMPTY_CARD_TYPES=et,this.PAGES_ID=q}ngOnInit(){this.init()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete(),this.ordersService.onDestroy()}init(){const t={...this.activatedRoute.snapshot.queryParams,pageSize:this.PAGE_SIZE};this.fetchOrders({},t)}onFiltersChange(e){this.selectedToApplyFilters$.next(e),this.onFiltersSubmit(!0)}onFiltersReset(){this.initialFilters$.next(null),this.selectedToApplyFilters$.next(null),this.init()}onFiltersSubmit(e=!1){const t=this.collectPayload();if(!t)return;const o={...this.activatedRoute.snapshot.queryParams,pageSize:this.PAGE_SIZE};this.fetchOrders(t,o,e)}onPaginationChange(e,t){const s={pageSize:this.PAGE_SIZE,currentPage:e,sort:t},o=this.appliedFilters$.value;this.fetchOrders(o,s)}collectPayload(){const e=this.selectedToApplyFilters$.value;if(e)return Object.keys(e).reduce((t,s)=>{if([lt.WIDTH,lt.LENGTH,lt.THICKNESS.toString()].includes(s)){const o=this.initialFilters$.value.find(l=>l.code===s);return o&&(+e[s].min!=+o.value[0].min||+e[s].max!=+o.value[1].max)&&(t[s]=[Number(e[s].min).toFixed(2).toString(),Number(e[s].max).toFixed(2).toString()]),t}return s===lt.PLACED&&e[s]?(t[s]=Qg(e[s]),t):(e[s]?.length&&(t[s]=e[s]),t)},{})}fetchOrders(e,t,s=!1){this.ordersService.getOrdersList(e,s,t).pipe((0,x.Q)(this.destroyed$)).subscribe()}isHaveFilters(e){return Object.keys(e).length>0}static#e=this.ctorParameters=()=>[{type:p.xYq},{type:p.uRZ},{type:De},{type:y.nX}]};tc=(0,r.Cg)([(0,n.uAl)({selector:"app-order-listing",template:'<ng-container *ngIf="initialFilters$ | async as initialFilters">\n  <ng-container *ngIf="initialFilters.length || (selectedToApplyFilters$ | async)">\n    <app-order-filter\n      [initialFilters]="initialFilters"\n      [resetFilters$]="resetFilters$"\n\n      (changeFilters)="onFiltersChange($event)"\n      (submitFilters)="onFiltersSubmit()"\n      (resetFilters)="onFiltersReset()"\n    ></app-order-filter>\n  </ng-container>\n</ng-container>\n\n<div class="p-relative">\n  <ng-container *ngIf="ordersPageData$ | async as ordersPageData; else loader">\n    <ng-container *ngIf="ordersPageData?.orders?.length; else noFoundText">\n      <app-orders\n        *ngFor="let orderItem of ordersPageData?.orders"\n        [orderItem]="orderItem"\n        (resetFilters)="resetFilters$.next()"\n        class="orders__item"\n      ></app-orders>\n    </ng-container>\n    <ng-template #noFoundText>\n      <app-cards-is-not-found\n        *ngIf="isHaveFilters(this.appliedFilters$ | async); else noOrders"\n        [text]="\'text.noResultsFound\' | cxTranslate"\n        [buttonText]="\'button.backToHome\' | cxTranslate"\n        [type]="EMPTY_CARD_TYPES.BACK_TO_HOME"\n        buttonIcon="arrow_back"\n        icon="search"\n      ></app-cards-is-not-found>\n\n      <ng-template #noOrders>\n        <app-cards-is-not-found\n          *ngIf="pageId$ | async as pageId"\n          [text]="pageId === PAGES_ID.ORDERS_ACTIVE ? (\'orders.ordersActive.orderItem.noCardsActive\' | cxTranslate) : \'orders.ordersActive.orderItem.noCardsHistory\' | cxTranslate"\n          [buttonText]="\'button.backToHome\' | cxTranslate"\n          [type]="EMPTY_CARD_TYPES.BACK_TO_HOME"\n          buttonIcon="arrow_back"\n          icon="search"\n        ></app-cards-is-not-found>\n      </ng-template>\n\n    </ng-template>\n\n    <cx-pagination\n      *ngIf="ordersPageData.pagination?.totalResults > 0;"\n      [pagination]="ordersPageData.pagination"\n      (viewPageEvent)="onPaginationChange($event, ordersPageData.pagination?.sort)"\n    ></cx-pagination>\n  </ng-container>\n\n  <ng-template #loader>\n    <div class="loader-in-process">\n      <app-loader size="36px"></app-loader>\n    </div>\n  </ng-template>\n</div>\n',styles:[TP()]})],tc);var RP=i(26042),OP=i.n(RP);let $s=class{constructor(e,t,s,o,l){this.globalMessageService=e,this.http=t,this.occEndpointsService=s,this.router=o,this.activatedRouter=l,this.pageData$=new P.t(null),this.PAGE_SIZE=5}getQuoteDetails(e){return this.http.get(this.occEndpointsService.buildUrl(E.USER.QUOTES.DETAILS,{urlParams:{quoteNumber:e}}))}getQuotesListPageData(e){const t=this.occEndpointsService.buildUrl(E.USER.QUOTES.LISTING),s={pageSize:this.PAGE_SIZE,...this.activatedRouter.snapshot.queryParams,...e};let o=new U.Nl;Object.keys(s).forEach(l=>{o=o.set(l,s[l])}),this.http.get(t,{params:o}).subscribe(l=>{this.pageData$.next(l),this.router.navigate([],{relativeTo:this.activatedRouter,queryParams:s,queryParamsHandling:"merge"}).then()},()=>{this.globalMessageService.add({key:"error.unknownError"},p.NCV.MSG_TYPE_ERROR)})}approveQuote(e){const t=this.occEndpointsService.buildUrl(E.USER.QUOTES.APPROVE,{urlParams:{quoteCode:e}});return this.http.post(t,null)}static#e=this.ctorParameters=()=>[{type:p.S8D},{type:U.Qq},{type:p.zxz},{type:y.Ix},{type:y.nX}]};$s=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],$s);let nc=class{constructor(e,t,s,o){this.userOrderService=e,this.activatedRoute=t,this.quotesService=s,this.pageService=o,this.ROUTE_URL=M,this.FACET_NAMES=ie,this.QUOTE_STATUS_NAME=N,this.quoteCode=this.activatedRoute.snapshot.queryParams?.quoteNumber,this.isCompleted="true"===this.activatedRoute.snapshot.queryParams?.completed}ngOnInit(){this.quoteCode,this.quote$=this.quotesService.getQuoteDetails(this.quoteCode).pipe((0,pe.W)(e=>(this.pageService.triggerErrorPage(),(0,ue.$)(e))))}ngOnDestroy(){this.userOrderService.clearOrderDetails()}static#e=this.ctorParameters=()=>[{type:Tt.FP},{type:y.nX},{type:$s},{type:mt}]};nc=(0,r.Cg)([(0,n.uAl)({selector:"app-quote-detail",template:'<div *ngIf="quote$ | async as quote; else loader" class="quote-detail">\n  <a *ngIf="isCompleted; else activeQuote" [routerLink]="ROUTE_URL.MY_ACCOUNT.QUOTE.HISTORY">\n    <app-back-button class="quote-detail__title">\n      {{ \'orderDetails.backToQuoteHistoryList\' | cxTranslate }}\n    </app-back-button>\n  </a>\n\n  <ng-template #activeQuote>\n    <a [routerLink]="ROUTE_URL.MY_ACCOUNT.QUOTE.ACTIVE">\n      <app-back-button class="quote-detail__title">\n        {{ \'orderDetails.backToActiveQuoteList\' | cxTranslate }}\n      </app-back-button>\n    </a>\n  </ng-template>\n\n  <app-page-title class="quote-detail__order-number">\n    {{ \'orderDetails.pageTitleQuote\' | cxTranslate: { number: quote.externalQuoteId } }}\n  </app-page-title>\n\n  <div class="quote-detail__list">\n    <app-quote-details-card\n      *ngIf="quote?.quoteEntries"\n      [entries]="quote.quoteEntries"\n      [actualStatus]="quote.actualStatus"\n    ></app-quote-details-card>\n\n    <div class="quote-detail__main-grid">\n      <app-quote-status-stepper [quote]="quote"></app-quote-status-stepper>\n\n      <div class="quote-detail__list">\n        <app-contract-info [quote]="quote"></app-contract-info>\n        <app-order-placed [order]="quote" [isQuote]="true"></app-order-placed>\n        <app-order-delivery [order]="quote" [isQuote]="true"></app-order-delivery>\n      </div>\n    </div>\n\n    <app-order-approve\n      *ngIf="quote.actualStatus === QUOTE_STATUS_NAME.NEGOTIATING"\n      [orderCode]="quoteCode"\n      [isQuote]="true"\n      [approveStatus]="quote.approveQuoteStatus"\n    ></app-order-approve>\n\n    <app-order-terms [order]="quote"></app-order-terms>\n  </div>\n</div>\n<ng-template #loader>\n  <div class="loader-in-process">\n    <app-loader size="36px"></app-loader>\n  </div>\n</ng-template>\n',changeDetection:n.Ngq.OnPush,styles:[OP()]})],nc);var IP=i(59884),wP=i.n(IP);let Bs=class{constructor(e,t,s,o,l){this.userOrderService=e,this.authService=t,this.quotesService=s,this.cmsService=o,this.translatePipe=l,this.destroyed$=new R.B,this.quotes$=this.authService.isUserLoggedIn().pipe((0,k.n)(u=>u?this.quotesService.pageData$:(0,$.of)())),this.pageId$=this.cmsService.getCurrentPage().pipe((0,B.p)(Boolean),(0,fe.E)("pageId")),this.EMPTY_CARD_TYPES=et,this.PAGES_ID=q}ngOnInit(){this.pageId$.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.pageId=e}),this.getQuotes()}getQuotes(){const e={currentPage:0,completed:this.pageId===q.QUOTES_HISTORY};this.quotesService.getQuotesListPageData(e)}ngOnDestroy(){this.userOrderService.clearOrderList(),this.destroyed$.next(),this.destroyed$.complete()}onPageChange(e,t){const s={currentPage:e,sort:t};this.quotesService.getQuotesListPageData(s)}sortList(e){const t={currentPage:0,sortCode:e};this.quotesService.getQuotesListPageData({currentPage:t.currentPage,sort:t.sortCode})}showFn(e){return t=>{const s=`orders.quoteSort.${t.code}`;return e.transform(s)}}static#e=this.ctorParameters=()=>[{type:Tt.FP},{type:p.uRZ},{type:$s},{type:p.xYq},{type:p.D97}]};Bs=(0,r.Cg)([(0,n.uAl)({selector:"app-quote-listing",template:'<ng-container *ngIf="quotes$ | async as quotes; else loader">\n  <ng-container *ngIf="pageId$ | async as pageId">\n      <div class="header d-flex justify-content-between mb-3 flex-column flex-sm-row">\n        <h1 class="h5 mb-0 align-items-center" *ngIf="pageId === PAGES_ID.QUOTES_ACTIVE; else quoteHistory">\n          {{ \'orders.ordersActive.activeQuote\' | cxTranslate }}\n        </h1>\n        <ng-template #quoteHistory>\n          <h1 class="h5 mb-0 align-items-center">\n            {{ \'orders.ordersActive.quoteHistory\' | cxTranslate }}\n          </h1>\n        </ng-template>\n\n        <app-sort-select\n          *ngIf="quotes.pagination?.sort"\n          [activeItem]="quotes.pagination.sort"\n          [items]="quotes.sorts"\n          (selectItem)="sortList($event.code)"\n          class="header__sorting"\n          bindTitle="code"\n          bindValue="code"\n          sortTitle="{{ \'placeholder.sortingBy\' | cxTranslate }}"\n          showSortIcons="true"\n          [showFn]="showFn(translatePipe)"\n        ></app-sort-select>\n    </div>\n\n    <div *ngIf="quotes.pagination?.sort" class="quote">\n      <ng-container *ngIf="quotes.quotes.length > 0; else noCards">\n      <app-orders\n        *ngFor="let quoteItem of quotes.quotes"\n        [orderItem]="quoteItem"\n        class="quote__item"\n      ></app-orders>\n\n      <cx-pagination\n        *ngIf="quotes.pagination.totalResults > 0;"\n        [pagination]="quotes.pagination"\n        (viewPageEvent)="onPageChange($event, quotes.pagination?.sort)"\n      ></cx-pagination>\n      </ng-container>\n      <ng-template #noCards>\n        <app-cards-is-not-found\n          [text]="pageId === PAGES_ID.QUOTES_ACTIVE ? (\'orders.ordersActive.quoteItem.noCardsActive\' | cxTranslate) : \'orders.ordersActive.quoteItem.noCardsHistory\' | cxTranslate"\n          [buttonText]="\'button.backToHome\' | cxTranslate"\n          [type]="EMPTY_CARD_TYPES.BACK_TO_HOME"\n          buttonIcon="arrow_back"\n          icon="search"\n        ></app-cards-is-not-found>\n      </ng-template>\n    </div>\n  </ng-container>\n</ng-container>\n\n<ng-template #loader>\n  <div class="loader-in-process">\n    <app-loader size="36px"></app-loader>\n  </div>\n</ng-template>\n',changeDetection:n.Ngq.OnPush,styles:[wP()]})],Bs);var DP=i(59314),LP=i.n(DP);let Ou=class{constructor(){this.disabled=!1}static#e=this.propDecorators={disabled:[{type:n.pde}]}};Ou=(0,r.Cg)([(0,n.uAl)({selector:"app-button-big-transparent",template:'<button [disabled]="disabled" class="button-big-transparent">\n  <ng-content></ng-content>\n</button>\n',changeDetection:n.Ngq.OnPush,styles:[LP()]})],Ou);var FP=i(39336),MP=i.n(FP);let Au=class{};Au=(0,r.Cg)([(0,n.uAl)({selector:"app-card-footer",template:"",changeDetection:n.Ngq.OnPush,styles:[MP()]})],Au);var UP=i(14996),$P=i.n(UP);let Iu=class{static#e=this.propDecorators={order:[{type:n.pde}]}};Iu=(0,r.Cg)([(0,n.uAl)({selector:"app-contract-agreement",template:'<app-card-wrapper>\n  <div class="contract-agreement">\n    <svg-icon-sprite\n      class="contract-agreement__logo-icon"\n      src="nlmk_logo_en_gray"\n      width="56"\n      height="32"\n    ></svg-icon-sprite>\n    <ul class="contract-agreement__info-list">\n      <li class="contract-agreement__info-item">\n        <span class="contract-agreement__info-title">{{ order.agreement?.contractLength?.name }} {{ \'orderDetails.agreementLengthTitle\' | cxTranslate }}</span><span\n        class="contract-agreement__info-text">{{ order.agreement?.endDate | dateWithTimezonePipe: \'y\'}} ({{ order.agreement?.code }})</span>\n      </li>\n      <li class="contract-agreement__info-item">\n        <span class="contract-agreement__info-title">{{ \'orderDetails.contractPeriod\' | cxTranslate }}</span><span\n        class="contract-agreement__info-text">{{ order.agreement?.startDate | dateWithTimezonePipe }} - {{ order.agreement?.endDate | dateWithTimezonePipe }}</span>\n      </li>\n    </ul>\n  </div>\n</app-card-wrapper>\n',changeDetection:n.Ngq.OnPush,styles:[$P()]})],Iu);var VP=i(74356),GP=i.n(VP);let wu=class{isBasePriceNotZero(e){return!!e&&!e.match(/^[^0-9]*[ 0,.]{4}[^0-9]*$/)}static#e=this.propDecorators={quote:[{type:n.pde}]}};wu=(0,r.Cg)([(0,n.uAl)({selector:"app-contract-info",template:'<app-card-wrapper>\n  <div class="contract-info">\n    <ng-container *ngIf="quote.volumeBased then volumeBasedQuote; else simpleQuote"></ng-container>\n\n    <ng-template #volumeBasedQuote>\n      <app-text-block\n        title="{{ \'orders.ordersActive.quoteItem.currency\' | cxTranslate }}"\n        [description]="quote.currency.symbol + \' \' + quote.currency.name"\n      ></app-text-block>\n\n      <app-text-block\n        *ngIf="quote.volumeBasedCategory"\n        [description]="quote.volumeBasedCategory"\n        title="{{ \'orders.ordersActive.quoteItem.category\' | cxTranslate }}"\n      ></app-text-block>\n\n      <app-text-block\n        *ngIf="quote.requestedStartDate && quote.requestedEndDate"\n        title="{{ \'orders.ordersActive.quoteItem.requestedDate\' | cxTranslate }}"\n        [description]="(quote.requestedStartDate | dateWithTimezonePipe) + \' - \' + (quote.requestedEndDate | dateWithTimezonePipe)"\n      ></app-text-block>\n\n      <app-text-block\n        *ngIf="quote.confirmedStartDate && quote.confirmedEndDate"\n        title="{{ \'orders.ordersActive.quoteItem.confirmedDate\' | cxTranslate }}"\n        [description]="(quote.confirmedStartDate | dateWithTimezonePipe) + \' - \' + (quote.confirmedEndDate | dateWithTimezonePipe)"\n      ></app-text-block>\n\n      <app-text-block\n        [description]="\'orders.ordersActive.quoteItem.tons\' | cxTranslate"\n        title="{{ \'orders.ordersActive.quoteItem.unitOfOrder\' | cxTranslate }}"\n      ></app-text-block>\n\n      <app-text-block\n        *ngIf="quote.totalVolume"\n        [description]="(quote.totalVolume | massConversion) + \' t\'"\n        title="{{ \'orders.ordersActive.quoteItem.quantity\' | cxTranslate }}"\n      ></app-text-block>\n\n      <app-text-block\n        *ngIf="quote.contractLength"\n        title="{{ \'orders.ordersActive.quoteItem.contractLength\' | cxTranslate }}"\n        [description]="quote.contractLength"\n      ></app-text-block>\n\n      <app-text-block\n        *ngIf="quote.validUntil"\n        title="{{ \'orders.ordersActive.quoteItem.validUntil\' | cxTranslate }}"\n        [description]="quote.validUntil | dateWithTimezonePipe"\n      ></app-text-block>\n\n      <app-text-block\n        *ngIf="quote.priceNotFinal || isBasePriceNotZero(quote.basePrice)"\n        title="{{ \'orders.ordersActive.quoteItem.pricePerTon\' | cxTranslate }}"\n        [description]="quote.priceNotFinal ? \'\' : quote.basePrice"\n      >\n        <app-price-not-final *ngIf="quote.priceNotFinal" [showWarning]="true">\n          <ng-container text>{{ \'text.cart.product.priceNotFinal\' | cxTranslate }}</ng-container>\n          <ng-container tooltip-content>\n            <p class="price-not-final__bold">{{ \'text.cart.product.definePrice\' | cxTranslate }}</p>\n            <p class="grey-normal">{{ \'text.cart.product.contactTeam\' | cxTranslate }}</p>\n          </ng-container>\n        </app-price-not-final>\n      </app-text-block>\n      <app-text-block\n        *ngIf="quote.lastDateToOrder"\n        title="{{ \'orders.ordersActive.quoteItem.lastDateToOrder\' | cxTranslate }}"\n         [description]="(quote.lastDateToOrder | dateWithTimezonePipe)"\n      ></app-text-block>\n\n      <app-text-block\n         *ngIf="quote.remainingTonnage != null"\n         title="{{ \'orders.ordersActive.quoteItem.remainingTonnage\' | cxTranslate }}"\n         [description]="(quote.remainingTonnage | massConversionNoNegative : 0) + \' t\'"\n      ></app-text-block>\n\n    </ng-template>\n\n    <ng-template #simpleQuote>\n      <app-text-block\n        title="{{ \'orderDetails.placedBy\' | cxTranslate }}"\n        [description]="quote.placedBy"\n      ></app-text-block>\n\n      <app-text-block\n        *ngIf="quote.placedByEmail"\n        title="{{ \'orderDetails.placedByEmail\' | cxTranslate }}"\n        [description]="quote.placedByEmail"\n      ></app-text-block>\n\n      <app-text-block\n        title="{{ \'orders.ordersActive.quoteItem.currency\' | cxTranslate }}"\n        [description]="quote.currency.symbol + \' \' + quote.currency.name"\n      ></app-text-block>\n\n      <app-text-block\n        *ngIf="quote.requestedStartDate && quote.requestedEndDate"\n        title="{{ \'orders.ordersActive.quoteItem.requestedDate\' | cxTranslate }}"\n        [description]="(quote.requestedStartDate | dateWithTimezonePipe) + \' - \' + (quote.requestedEndDate | dateWithTimezonePipe)"\n      ></app-text-block>\n\n      <app-text-block\n        *ngIf="quote.confirmedStartDate && quote.confirmedEndDate"\n        title="{{ \'orders.ordersActive.quoteItem.confirmedDate\' | cxTranslate }}"\n        [description]="(quote.confirmedStartDate | dateWithTimezonePipe) + \' - \' + (quote.confirmedEndDate | dateWithTimezonePipe)"\n      ></app-text-block>\n\n      <app-text-block\n        *ngIf="quote.contractLength"\n        title="{{ \'orders.ordersActive.quoteItem.contractLength\' | cxTranslate }}"\n        [description]="quote.contractLength"\n      ></app-text-block>\n\n      <app-text-block\n         *ngIf="quote.lastDateToOrder"\n         title="{{ \'orders.ordersActive.quoteItem.lastDateToOrder\' | cxTranslate }}"\n         [description]="(quote.lastDateToOrder | dateWithTimezonePipe)"\n      ></app-text-block>\n\n      <app-text-block\n        *ngIf="quote.remainingTonnage != null"\n        title="{{ \'orders.ordersActive.quoteItem.remainingTonnage\' | cxTranslate }}"\n        [description]="(quote.remainingTonnage | massConversionNoNegative : 0) + \' t\'"\n      ></app-text-block>\n\n    </ng-template>\n  </div>\n</app-card-wrapper>\n',changeDetection:n.Ngq.OnPush,styles:[GP()]})],wu);var YP=i(71128),QP=i.n(YP);let Pu=class{constructor(e,t,s,o,l,u,h){this.changeDetection=e,this.cookieService=t,this.ordersService=s,this.quotesService=o,this.launchDialogService=l,this.translateService=u,this.messageService=h,this.orderCode=null,this.isQuote=!1,this.destroyed$=new R.B,this.cookieName="",this.inProcess=!1,this.isErrorOccurred=!1,this.isOrderApproved=!1,this.isQuoteApproved=!1,this.allowStatuses=[Wn.DEFAULT,Wn.ERROR,Wn.FAILED].map(_=>_.toLowerCase())}ngOnInit(){this.cookieName=this.isQuote?`${this.orderCode}_${N.NEGOTIATING}`:`${this.orderCode}_${b.PENDING_APPROVAL}`,this.inProcess=this.isQuote&&!this.allowStatuses.includes(this.approveStatus.toLowerCase()),this.checkForApproveCookie()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}openApproveModal(){this.launchDialogService.openDialogAndSubscribe("THANK_YOU_MODAL",void 0,{title:this.translateService.transform("orderDetails.approveModal.title"),text:this.translateService.transform("orderDetails.approveModal.text")})}approve(e,t){e.pipe((0,_e.j)(()=>{this.inProcess=!1,this.changeDetection.detectChanges()}),(0,pe.W)(s=>(this.showError(s),(0,ue.$)(s))),(0,x.Q)(this.destroyed$)).subscribe(()=>{!0,this.setCookie(),this.checkForApproveCookie(),this.openApproveModal()},s=>{this.showError(s)})}approveOrder(){this.inProcess=!0,this.isErrorOccurred=!1,this.isQuote?this.approve(this.quotesService.approveQuote(this.orderCode),this.isQuoteApproved):this.approve(this.ordersService.approveOrder(this.orderCode),this.isOrderApproved)}checkForApproveCookie(){this.isQuote?this.isQuoteApproved=this.cookieService.check(this.cookieName):this.isOrderApproved=this.cookieService.check(this.cookieName)}showError(e){this.isErrorOccurred=!0,e?.error?.errors||this.showErrorMessages(e.message?e.message:"httpHandlers.badGateway"),e?.error?.errors?.forEach(t=>{this.showErrorMessages(t?.message||"")})}setCookie(){const e=new Date;e.setTime(e.getTime()+3e4),this.cookieService.set(this.cookieName,"true",e)}showErrorMessages(e){this.messageService.add({key:e},p.NCV.MSG_TYPE_ERROR)}static#e=this.ctorParameters=()=>[{type:n.gRc},{type:In.O},{type:De},{type:$s},{type:v.PLe},{type:p.D97},{type:p.S8D}];static#t=this.propDecorators={orderCode:[{type:n.pde}],isQuote:[{type:n.pde}],approveStatus:[{type:n.pde}]}};Pu=(0,r.Cg)([(0,n.uAl)({selector:"app-order-approve",template:'<app-card-wrapper>\n  <div\n    [class.is-error]="isErrorOccurred"\n    class="order-approve d-flex justify-content-between align-items-center"\n  >\n    <div class="order-approve__phrase d-flex align-items-center">\n      <svg-icon-sprite\n        [src]="isErrorOccurred ? \'warning\' : \'watch_later\'"\n        class="order-approve__phrase-icon"\n        width="16"\n        height="16"\n      ></svg-icon-sprite>\n\n      <ng-container *ngIf="!isErrorOccurred; else approveError">\n        {{ isQuote ? (\'orderDetails.quoteApprovePhrase\' | cxTranslate) : \'orderDetails.orderApprovePhrase\' | cxTranslate }}\n      </ng-container>\n      <ng-template #approveError>\n        {{ \'orderDetails.orderApproveErrorPhrase\' | cxTranslate }}\n      </ng-template>\n    </div>\n\n    <div class="d-flex align-items-center">\n      <app-loader\n        *ngIf="inProcess"\n        class="order-approve__loader"\n        size="36px"\n      ></app-loader>\n\n      <button\n        (click)="approveOrder()"\n        [disabled]="inProcess || isOrderApproved || isQuoteApproved"\n        class="order-approve__btn btn btn--md btn-default"\n      >\n        {{ isQuote ? (\'orderDetails.quoteApprove\' | cxTranslate) : \'orderDetails.orderApprove\' | cxTranslate }}\n        <svg-icon-sprite\n          class="order-approve__btn-icon"\n          src="event"\n          width="18"\n          height="18"\n        ></svg-icon-sprite>\n      </button>\n    </div>\n  </div>\n</app-card-wrapper>\n',changeDetection:n.Ngq.OnPush,styles:[QP()]})],Pu);var HP=i(51872),jP=i.n(HP);let Du=class{constructor(){this.isPriceNotFinal=!1}ngOnInit(){}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={isBold:[{type:n.pde}],isPriceNotFinal:[{type:n.pde}],title:[{type:n.pde}],value:[{type:n.pde}]}};Du=(0,r.Cg)([(0,n.uAl)({selector:"app-order-card-cell",template:'<div\n  [class.product-card-cell--price-not-final]="isPriceNotFinal"\n  class="product-card-cell"\n>\n  <div class="product-card-cell__title">\n    {{ title }}\n  </div>\n  <div class="product-card-cell__value">\n    <ng-content></ng-content>\n    {{ value }}\n  </div>\n</div>\n',styles:[jP()]})],Du);var KP=i(18064),XP=i.n(KP);const ZP={[b.REQUESTED]:{className:A.SUCCESS,iconName:O.CHECK_CIRCLE},[b.CREATED]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.CREDIT_LIMIT_CHECK]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.CREDIT_LIMIT_CHECK_DONE]:{className:A.SUCCESS,iconName:O.CHECK_CIRCLE},[b.CREDIT_LIMIT_CHECK_IN_PROGRESS]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.CREDIT_LIMIT_CHECK_FAILED]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.CTP_CHECK]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.CTP_CHECK_PENDING]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.CTP_CHECK_IN_PROGRESS]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.CTP_CHECK_DONE]:{className:A.SUCCESS,iconName:O.CHECK_CIRCLE},[b.PLACED]:{className:A.SUCCESS,iconName:O.CHECK_CIRCLE},[b.IN_PROCESS]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.COMPLETED]:{className:A.CLOSED,iconName:O.CHECK_CIRCLE},[b.CONFIRMATION]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.CONFIRMED]:{className:A.SUCCESS,iconName:O.CHECK_CIRCLE},[b.PENDING_APPROVAL]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.INTERNAL_APPROVAL_AWAITING]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.COLD_MILL]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.GALVALINE]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.HOT_MILL]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.LL_PACKING]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.PICKLING]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.PRE_PAINTING]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.PRODUCTION_PLANNED]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.PRODUCTION_STARTED]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.READY_TO_SHIP]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.SKINPASS]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.SLITTING]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.STB_PACKAGING]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.SOR_MODIFICATION]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.APPROVED]:{className:A.SUCCESS,iconName:O.CHECK_CIRCLE},[b.PRODUCTION_FINISHED]:{className:A.SUCCESS,iconName:O.CHECK_CIRCLE},[b.PRICE_RECALCULATION]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.INVOICED]:{className:A.SUCCESS,iconName:O.CHECK_CIRCLE},[b.DELIVERED]:{className:A.SUCCESS,iconName:O.CHECK_CIRCLE},[b.DELIVERY_CREATED]:{className:A.SUCCESS,iconName:O.CHECK_CIRCLE},[b.CLEARED]:{className:A.SUCCESS,iconName:O.CHECK_CIRCLE},[b.CLOSED]:{className:A.CLOSED,iconName:O.CHECK_CIRCLE},[b.CANCELLED]:{className:A.ERROR,iconName:O.ERROR},[b.ORDER_CANCELLED]:{className:A.ERROR,iconName:O.ERROR},[b.INTERNAL_APPROVAL_REJECTED]:{className:A.ERROR,iconName:O.ERROR}},sm={[b.CTP_CHECK]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.CTP_CHECK_PENDING]:{iconName:O.WATCH_LATER},[b.CTP_CHECK_IN_PROGRESS]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.CTP_CHECK_DONE]:{className:A.SUCCESS,iconName:O.CHECK_CIRCLE},[b.PRODUCTION_PLANNED]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.PRODUCTION_STARTED]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.PRODUCTION_FINISHED]:{className:A.SUCCESS,iconName:O.CHECK_CIRCLE},[b.HOT_MILL]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.SKINPASS]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.PICKLING]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.COLD_MILL]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.LL_PACKING]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.GALVALINE]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.PRE_PAINTING]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.SLITTING]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.STB_PACKAGING]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.READY_TO_SHIP]:{className:A.SUCCESS,iconName:O.CHECK_CIRCLE},[b.DELIVERY_CREATED]:{className:A.SUCCESS,iconName:O.CHECK_CIRCLE},[b.DELIVERED]:{className:A.SUCCESS,iconName:O.CHECK_CIRCLE},[b.INVOICED]:{className:A.SUCCESS,iconName:O.CHECK_CIRCLE},[b.CLEARED]:{className:A.SUCCESS,iconName:O.CHECK_CIRCLE},[b.CLOSED]:{className:A.SUCCESS,iconName:O.CHECK_CIRCLE},[b.CANCELLED]:{className:A.ERROR,iconName:O.ERROR}},JP={[N.PROCESSING]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[N.CTP_CHECK]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[N.CHECK_FAIL]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[N.CHECKED]:{className:A.SUCCESS,iconName:O.CHECK_CIRCLE},[N.INTERNAL_APPROVAL_AWAITING]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[N.REJECTED]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[N.APPROVED]:{className:A.SUCCESS,iconName:O.CHECK_CIRCLE},[N.NEGOTIATING]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[N.CUSTOMER_REJECTED]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[N.PRICE_RECALCULATION]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[N.DEAL_IS_DONE]:{className:A.SUCCESS,iconName:O.CHECK_CIRCLE},[N.DEAL_REJECTED]:{className:A.CLOSED,iconName:O.CHECK_CIRCLE},[N.CANCELLED]:{className:A.ERROR,iconName:O.ERROR},[N.CLOSED]:{className:A.CLOSED,iconName:O.CHECK_CIRCLE},[N.LOST]:{className:A.CLOSED,iconName:O.CHECK_CIRCLE}},eD={[b.REQUESTED]:{className:A.SUCCESS,iconName:O.CHECK_CIRCLE},[b.CREATED]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.CREDIT_LIMIT_CHECK]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.CREDIT_LIMIT_CHECK_DONE]:{className:A.SUCCESS,iconName:O.CHECK_CIRCLE},[b.CREDIT_LIMIT_CHECK_IN_PROGRESS]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.CTP_CHECK]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.CTP_CHECK_PENDING]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.CTP_CHECK_DONE]:{className:A.SUCCESS,iconName:O.CHECK_CIRCLE},[b.PLACED]:{className:A.SUCCESS,iconName:O.CHECK_CIRCLE},[b.IN_PROCESS]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.COMPLETED]:{className:A.CLOSED,iconName:O.CHECK_CIRCLE},[b.CONFIRMATION]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.CONFIRMED]:{className:A.SUCCESS,iconName:O.CHECK_CIRCLE},[b.PENDING_APPROVAL]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.COLD_MILL]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.GALVALINE]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.HOT_MILL]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.LL_PACKING]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.PICKLING]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.PRE_PAINTING]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.PRODUCTION_PLANNED]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.PRODUCTION_STARTED]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.SKINPASS]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.SLITTING]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.STB_PACKAGING]:{className:A.IN_PROCESS,iconName:O.WATCH_LATER},[b.PRODUCTION_FINISHED]:{className:A.SUCCESS,iconName:O.CHECK_CIRCLE},[b.READY_TO_SHIP]:{className:A.SUCCESS,iconName:O.CHECK_CIRCLE},[b.INVOICED]:{className:A.SUCCESS,iconName:O.CHECK_CIRCLE},[b.DELIVERED]:{className:A.SUCCESS,iconName:O.CHECK_CIRCLE},[b.DELIVERY_CREATED]:{className:A.SUCCESS,iconName:O.CHECK_CIRCLE},[b.CLEARED]:{className:A.SUCCESS,iconName:O.CHECK_CIRCLE},[b.CLOSED]:{className:A.CLOSED,iconName:O.CHECK_CIRCLE},[b.ORDER_CANCELLED]:{className:A.ERROR,iconName:O.ERROR}},Lu=[b.CTP_CHECK,b.CTP_CHECK_DONE,b.CTP_CHECK_PENDING,b.CTP_CHECK_IN_PROGRESS,b.PLACED].map(a=>a.toUpperCase().toString()),gn={CTP_CHECK_DONE:{code:b.CTP_CHECK_DONE,exclude:[b.CTP_CHECK,b.CTP_CHECK_IN_PROGRESS]},CTP_CHECK_PROGRESS:{code:b.CTP_CHECK_IN_PROGRESS,exclude:[b.CTP_CHECK]},CREDIT_LIMIT_CHECK_DONE:{code:b.CREDIT_LIMIT_CHECK_DONE,exclude:[b.CREDIT_LIMIT_CHECK,b.CREDIT_LIMIT_CHECK_IN_PROGRESS,b.CREDIT_LIMIT_CHECK_FAILED]},CREDIT_LIMIT_CHECK_FAILED:{code:b.CREDIT_LIMIT_CHECK_FAILED,exclude:[b.CREDIT_LIMIT_CHECK,b.CREDIT_LIMIT_CHECK_IN_PROGRESS]},CREDIT_LIMIT_CHECK_IN_PROGRESS:{code:b.CREDIT_LIMIT_CHECK_IN_PROGRESS,exclude:[b.CREDIT_LIMIT_CHECK]},APPROVED:{code:b.APPROVED,exclude:[b.PENDING_APPROVAL]},CONFIRMED:{code:b.CONFIRMED,exclude:[b.CONFIRMATION]}},mn={CTP_CHECK:{code:b.CTP_CHECK,exclude:[b.CTP_CHECK_IN_PROGRESS,b.CTP_CHECK_DONE]},CTP_CHECK_PROGRESS:{code:b.CTP_CHECK_IN_PROGRESS,exclude:[b.CTP_CHECK_DONE]},CTP_CHECK_DONE:{code:b.CTP_CHECK_DONE,exclude:[b.CTP_CHECK_IN_PROGRESS]},CREDIT_LIMIT_CHECK:{code:b.CREDIT_LIMIT_CHECK,exclude:[b.CREDIT_LIMIT_CHECK_IN_PROGRESS,b.CREDIT_LIMIT_CHECK_FAILED,b.CREDIT_LIMIT_CHECK_DONE]},CREDIT_LIMIT_CHECK_IN_PROGRESS:{code:b.CREDIT_LIMIT_CHECK_IN_PROGRESS,exclude:[b.CREDIT_LIMIT_CHECK_DONE,b.CREDIT_LIMIT_CHECK_FAILED]},CREDIT_LIMIT_CHECK_FAILED:{code:b.CREDIT_LIMIT_CHECK_FAILED,exclude:[b.CREDIT_LIMIT_CHECK_DONE]},PENDING_APPROVAL:{code:b.PENDING_APPROVAL,exclude:[b.APPROVED]},CONFIRMATION:{code:b.CONFIRMATION,exclude:[b.CONFIRMED]}},_n={APPROVED:{code:N.APPROVED,exclude:[N.INTERNAL_APPROVAL_AWAITING,N.REJECTED]},REJECTED:{code:N.REJECTED,exclude:[N.INTERNAL_APPROVAL_AWAITING]},CHECKED:{code:N.CHECKED,exclude:[N.CTP_CHECK,N.CHECK_FAIL]},CHECK_FAIL:{code:N.CHECK_FAIL,exclude:[N.CTP_CHECK]},DEAL_IS_DONE:{code:N.DEAL_IS_DONE,exclude:[N.NEGOTIATING,N.LOST,N.CUSTOMER_REJECTED]},LOST:{code:N.LOST,exclude:[N.NEGOTIATING]},CUSTOMER_REJECTED:{code:N.CUSTOMER_REJECTED,exclude:[N.NEGOTIATING,N.LOST]}},$n={INTERNAL_APPROVAL_AWAITING:{code:N.INTERNAL_APPROVAL_AWAITING,exclude:[N.APPROVED,N.REJECTED]},REJECTED:{code:N.REJECTED,exclude:[N.APPROVED]},CTP_CHECK:{code:N.CTP_CHECK,exclude:[N.CHECKED,N.CHECK_FAIL]},CHECK_FAIL:{code:N.CHECK_FAIL,exclude:[N.CHECKED]},NEGOTIATING:{code:N.NEGOTIATING,exclude:[N.LOST,N.CUSTOMER_REJECTED]},LOST:{code:N.LOST,exclude:[N.CUSTOMER_REJECTED]}},im={QUOTE:[N.PROCESSING],ORDER:[b.REQUESTED]};var ku;!function(a){a.A="A",a.B="B",a.C="C",a.D="D"}(ku||(ku={}));let Fu=class{constructor(e,t){this.userOrderService=e,this.ordersService=t,this.showPlates=!1,this.isPriceNotFinal=!1,this.deliveryTotalBlockedVolume=null,this.deliveryTotalBlockedPlates=null,this.selectedTotals=new n.bkB,this.selectedCoils=new n.bkB,this.destroy$=new R.B,this.partialDelivery$=this.userOrderService.getOrderDetails().pipe((0,w.T)(s=>s.partialDelivery?Object.values(s.partialDelivery):[])),this.selectedTotal=0,this.isCoilIdOpen=!1,this.checkboxIcon=le.standard,this.isSelected=!1,this.isSpecialUser=!1,this.sendCoils=[],this.arrayCoilsWeight=[],this.ORDER_STATUS_NAME=b,this.COIL_STATUS=eD,this.UNITS=G}ngOnInit(){this.init()}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete(),this.ordersService.isSelectAll$.next(!1)}init(){if(this.checkUserType(),this.batch.status===b.READY_TO_SHIP&&(this.isSelected?this.selectedTotals.next({selectedTotal:this.selectedTotal}):this.selectedTotals.next({selectedTotal:0})),this.isSpecialUser){if(this.isCoilIdOpen=!0,this.isPriceNotFinal)return void(this.checkboxIcon=le.disabled);this.isSelected=!0,this.ordersService.isSelectAll$.next(!0),this.checkboxIcon=le.disabledSelected}this.ordersService.isSelectAll$.pipe((0,x.Q)(this.destroy$)).subscribe(e=>{if(e&&!this.isSpecialUser)return this.checkboxIcon=le.selected,this.sendCoils.forEach(t=>{t.isSelected=!0}),this.selectedCoils.next(this.sendCoils),this.arrayCoilsWeight.length&&(this.selectedTotal=this.arrayCoilsWeight.reduce((t,s)=>t+s),this.selectedTotals.next({selectedTotal:this.selectedTotal})),this.checkboxIcon})}checkUserType(){this.partialDelivery$.pipe((0,B.p)(Boolean),(0,x.Q)(this.destroy$)).subscribe(e=>{e.length&&(this.isSpecialUser=e[0].toUpperCase()!==ku.D)})}toggleCoilIdOpen(e){e&&(this.isCoilIdOpen=!this.isCoilIdOpen)}reset(){this.sendCoils.forEach(e=>{e.isSelected=!1}),this.selectedCoils.next(this.sendCoils),this.selectedTotal=0,this.selectedTotals.next({selectedTotal:0}),this.ordersService.isSelectAll$.next(!1)}changeCheckboxType(){return this.checkboxIcon===le.standard?(this.checkboxIcon=le.selected,this.sendCoils.forEach(e=>{e.isSelected=!0}),this.selectedCoils.next(this.sendCoils),this.arrayCoilsWeight.length&&(this.selectedTotal=this.arrayCoilsWeight.reduce((e,t)=>e+t)),this.selectedTotals.next({selectedTotal:this.selectedTotal}),this.checkboxIcon):(this.checkboxIcon,le.selected,this.checkboxIcon=le.standard,this.reset(),this.checkboxIcon)}onSelectedCoilsChange(e){if(this.sendCoils[e.index]={isSelected:e.selected,coilId:e.coilId,value:e.value,unit:this.unit,entryNumber:this.entryNumber,steelGrade:this.steelGrade},this.selectedCoils.next(this.sendCoils),this.arrayCoilsWeight[e.index]=e.value,e.selected&&e.value&&((!this.ordersService.isSelectAll$.getValue()||this.isSpecialUser)&&(this.selectedTotal+=e.value),this.selectedTotals.next({selectedTotal:this.selectedTotal})),!e.selected&&e.value&&this.selectedTotal>0&&(this.selectedTotal-=e.value,this.selectedTotals.next({selectedTotal:this.selectedTotal})),!this.isSpecialUser){const t=this.sendCoils.map(s=>s.isSelected);if(t.includes(!1)&&t.includes(!0))return this.ordersService.isSelectAll$.next(!1),this.checkboxIcon=le.mixed;if(!t.includes(!1))return this.checkboxIcon=le.selected;this.ordersService.isSelectAll$.next(!1),this.checkboxIcon=le.standard}}isHaveBatch(e){if(e?.length>0)return e.find(t=>!t.isDeliveryCreated)}static#e=this.ctorParameters=()=>[{type:Tt.FP},{type:De}];static#t=this.propDecorators={batch:[{type:n.pde}],unit:[{type:n.pde}],entryNumber:[{type:n.pde}],showPlates:[{type:n.pde}],isPriceNotFinal:[{type:n.pde}],steelGrade:[{type:n.pde}],deliveryTotalBlockedVolume:[{type:n.pde}],deliveryTotalBlockedPlates:[{type:n.pde}],selectedTotals:[{type:n.k7i}],selectedCoils:[{type:n.k7i}]}};Fu=(0,r.Cg)([(0,n.uAl)({selector:"app-order-product-batch",template:'<div\n  class="order-item-product__action-line-content"\n  *ngIf="\n    batch.quantity > 0 ||\n    (batch.status === ORDER_STATUS_NAME.DELIVERY_CREATED &&\n      deliveryTotalBlockedVolume &&\n      batch.deliveryTotalVolume === 0)\n  "\n>\n  <div class="order-item-product__batch" [class]="COIL_STATUS[batch.status]?.className">\n    <div class="order-item-product__status d-flex flex-column">\n      <div (click)="toggleCoilIdOpen(batch.coils)" class="d-flex align-items-center">\n        <svg-icon-sprite\n          [style.visibility]="batch.coils ? \'visible\' : \'hidden\'"\n          [class.order-item-product__batch-toggle--is-open]="isCoilIdOpen && batch.coils"\n          class="order-item-product__batch-toggle"\n          src="expand_more"\n          width="16"\n          height="16"\n        ></svg-icon-sprite>\n        <svg-icon-sprite\n          [src]="COIL_STATUS[batch.status]?.iconName"\n          width="16"\n          height="16"\n          class="order-item-product__total-icon order-item-product__status-icon"\n        ></svg-icon-sprite>\n        {{ \'orders.orderStatus.\' + batch.status.toLowerCase() | cxTranslate }}\n      </div>\n      <div\n        *ngIf="\n          batch.status === ORDER_STATUS_NAME.DELIVERY_CREATED &&\n          ((deliveryTotalBlockedVolume && batch.deliveryTotalVolume) ||\n            deliveryTotalBlockedVolume > batch.deliveryTotalVolume)\n        "\n        [ngbTooltip]="deliveryCreatedTooltip"\n        container="body"\n        placement="bottom auto"\n        tooltipClass="tooltip--batch"\n        class="order-item-product__description d-flex align-items-center"\n      >\n        <span class="order-item-product__description-title">{{ \'text.batch.creditCheck\' | cxTranslate }}</span>\n        <span class="order-item-product__description-count">\n          {{\n            \'text.batch.totalOf\'\n              | cxTranslate\n                : {\n                    first:\n                      unit === UNITS.PIECES\n                        ? deliveryTotalBlockedVolume\n                        : (deliveryTotalBlockedVolume | massConversion),\n                    second:\n                      unit === UNITS.PIECES\n                        ? batch.deliveryTotalVolume >= deliveryTotalBlockedVolume\n                          ? batch.deliveryTotalVolume\n                          : deliveryTotalBlockedVolume\n                        : ((batch.deliveryTotalVolume >= deliveryTotalBlockedVolume\n                            ? batch.deliveryTotalVolume\n                            : deliveryTotalBlockedVolume\n                          ) | massConversion),\n                    unit: (unit | units)\n                  }\n          }}\n        </span>\n      </div>\n    </div>\n    <div class="order-item-product__batch-value d-flex align-items-start">\n      <svg-icon-sprite\n        src="weight_volume"\n        width="16"\n        height="16"\n        class="order-item-product__total-icon"\n      ></svg-icon-sprite>\n      <ng-container\n        *ngIf="\n          batch.status === ORDER_STATUS_NAME.DELIVERY_CREATED &&\n            deliveryTotalBlockedVolume >= batch.deliveryTotalVolume;\n          else standard\n        "\n      >\n          {{ unit === UNITS.PIECES ? deliveryTotalBlockedVolume : (unit === UNITS.EA ? batch.platesVolumeTons :(deliveryTotalBlockedVolume | massConversion: 2:true)) }}\n          {{ unit | units }}\n      </ng-container>\n      <ng-template #standard>\n          {{ unit === UNITS.PIECES ? batch.quantity : (unit === UNITS.EA ? batch.platesVolumeTons : (batch.quantity | massConversion: 2:true)) }}\n          {{ unit | units }}\n      </ng-template>\n    </div>\n    <div class="order-item-product__batch-plates d-flex align-items-start" *ngIf="showPlates">\n      <ng-container\n        *ngIf="\n          batch.status === ORDER_STATUS_NAME.DELIVERY_CREATED &&\n            deliveryTotalBlockedVolume >= batch.deliveryTotalVolume;\n          else standardPlate\n        "\n      >\n        {{ deliveryTotalBlockedPlates }}\n        {{ \'text.batch.pieces\' | cxTranslate }}\n      </ng-container>\n      <ng-template #standardPlate>\n        {{ batch.quantityPlates }}\n        {{ \'text.batch.pieces\' | cxTranslate }}\n      </ng-template>\n    </div>\n    <div class="d-flex justify-content-end">\n      <app-price-not-final *ngIf="isPriceNotFinal; else simpleCheckbox" [showWarning]="true" [hideLabelWarning]="true">\n        <ng-container text>\n          <button *ngIf="isHaveBatch(batch.coils)" [disabled]="true" class="order-item-product__batch-checkbox p-0">\n            <img [src]="checkboxIcon" alt="" class="checkout__privacy-checkbox" />\n          </button>\n        </ng-container>\n        <ng-container tooltip-content>\n          <p class="price-not-final__bold">{{ \'text.cart.product.definePrice\' | cxTranslate }}</p>\n          <p class="price-not-final__thin">{{ \'text.cart.product.contactTeam\' | cxTranslate }}</p>\n        </ng-container>\n      </app-price-not-final>\n\n      <ng-template #simpleCheckbox>\n        <button\n          *ngIf="isHaveBatch(batch.coils)"\n          (click)="changeCheckboxType()"\n          [disabled]="isSpecialUser"\n          class="order-item-product__batch-checkbox p-0"\n        >\n          <img [src]="checkboxIcon" alt="" class="checkout__privacy-checkbox" />\n        </button>\n      </ng-template>\n    </div>\n  </div>\n  <div [class.is-coil-open]="isCoilIdOpen && batch.coils">\n    <div class="order-item-product__batch-child">\n      <app-order-product-coil\n        *ngFor="let coil of batch.coils; let index = index"\n        [coil]="coil"\n        [index]="index"\n        [isPriceNotFinal]="isPriceNotFinal"\n        [isSelected]="isSelected"\n        [isSpecialUser]="isSpecialUser"\n        [selectedCoils]="sendCoils"\n        [unit]="unit"\n        (selectedCoilsChange)="onSelectedCoilsChange($event)"\n        class="order-item-product__batch"\n      ></app-order-product-coil>\n    </div>\n  </div>\n</div>\n\n<ng-template #deliveryCreatedTooltip>\n  <div class="order-item-product__tooltip">\n    <svg-icon-sprite\n      class="order-item-product__tooltip-icon"\n      src="error_outline"\n      width="18"\n      height="18"\n    ></svg-icon-sprite>\n    <span class="order-item-product__tooltip-description">{{ \'text.batch.tooltipText\' | cxTranslate }}</span>\n  </div>\n</ng-template>\n',styles:[XP()]})],Fu);var nD=i(50238),sD=i.n(nD);let Mu=class{constructor(){this.isSelected=!1,this.isPriceNotFinal=!1,this.selectedCoilsChange=new n.bkB,this.UNITS=G}ngOnInit(){this.editSelectedCoils(this.isSelected)}onChange(){this.editSelectedCoils(!this.selectedCoils[this.index].isSelected)}editSelectedCoils(e){this.coil.isDeliveryCreated||this.selectedCoilsChange.next({index:this.index,selected:e,value:this.coil.quantity,coilId:this.coil.id})}changeIcon(e){return this.isSpecialUser?this.isPriceNotFinal?le.disabled:le.disabledSelected:this.isPriceNotFinal?e?le.disabledSelected:le.disabled:e?le.selected:le.standard}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={coil:[{type:n.pde}],index:[{type:n.pde}],selectedCoils:[{type:n.pde}],isSpecialUser:[{type:n.pde}],isDelivered:[{type:n.pde}],isSelected:[{type:n.pde}],isPriceNotFinal:[{type:n.pde}],unit:[{type:n.pde}],selectedCoilsChange:[{type:n.k7i}]}};Mu=(0,r.Cg)([(0,n.uAl)({selector:"app-order-product-coil",template:'<div class="order-item-product__batch-status d-flex align-items-center">\n  <svg-icon-sprite src="arrow_right_l2" width="16" height="16" class="order-item-product__total-icon"></svg-icon-sprite>\n  {{ \'orders.ordersActive.orderItemProduct.batchId\' | cxTranslate }}\n  <span class="order-item-product__value">{{ coil.id }}</span>\n</div>\n<div class="order-item-product__batch-value d-flex align-items-center">\n  <svg-icon-sprite src="weight_volume" width="16" height="16" class="order-item-product__total-icon"></svg-icon-sprite>\n  {{ unit === UNITS.PIECES ? coil.quantity : (coil.quantity | massConversion: 2:true) }}\n  {{ unit | units }}\n</div>\n<div class="order-item-product__batch-checkbox">\n  <div *ngIf="coil.isDeliveryCreated; else checkbox" class="order-item-product__batch-delivery">\n    {{ \'orders.ordersActive.orderItemProduct.deliveryCreated\' | cxTranslate }}\n  </div>\n\n  <ng-template #checkbox>\n    <app-price-not-final *ngIf="isPriceNotFinal; else simpleCheckbox" [showWarning]="true" [hideLabelWarning]="true">\n      <ng-container text>\n        <button class="order-item-product__batch-checkbox--button" [disabled]="true">\n          <img [src]="changeIcon(selectedCoils[index]?.isSelected)" alt="" class="order-item-product__batch-input" />\n        </button>\n      </ng-container>\n      <ng-container tooltip-content>\n        <p class="price-not-final__bold">{{ \'text.cart.product.definePrice\' | cxTranslate }}</p>\n        <p class="price-not-final__thin">{{ \'text.cart.product.contactTeam\' | cxTranslate }}</p>\n      </ng-container>\n    </app-price-not-final>\n\n    <ng-template #simpleCheckbox>\n      <button class="order-item-product__batch-checkbox--button" [disabled]="isSpecialUser" (click)="onChange()">\n        <img [src]="changeIcon(selectedCoils[index]?.isSelected)" alt="" class="order-item-product__batch-input" />\n      </button>\n    </ng-template>\n  </ng-template>\n</div>\n',styles:[sD()]})],Mu);var Nu,rD=i(50328),oD=i.n(rD);class sc{onResize(){this.cards=this.orderItem?this.orderCardsService.getCurrentCardSize(this.shownItemsCountBeforeScrollDesktop,this.shownItemsCountBeforeScrollMobile):this.orderCardsService.getCurrentQuoteCardSize(this.shownItemsCountBeforeScrollDesktop,this.shownItemsCountBeforeScrollMobile)}constructor(e,t,s){this.orderCardsService=e,this.ordersService=t,this.eventBus=s,this.resetFilters=new n.bkB,this.FACET_NAMES=ie,this.ROUTE_URL=M,this.MTO_CUSTOM_STATUSES=Lu,this.appliedFilters$=this.ordersService.appliedFilters$,this.destroyed$=new R.B,this.orderEntries$=new P.t(null),this.quoteEntries$=new P.t(null),this.isProductsListOpen=!1,this.itemStatus=null,this.shownItemsCount=10,this.shownItemsCountBeforeScrollDesktop=5,this.shownItemsCountBeforeScrollMobile=2,this.cards={cardSize:184,shownItemsCountBeforeScroll:5}}ngOnInit(){this.init(),this.onResize()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}init(){this.itemStatus=this.orderItem?ZP[this.orderItem?.status]:JP[this.quoteItem?.state]}toggleProductsList(){this.isProductsListOpen=!this.isProductsListOpen;const e=this.appliedFilters$.value;this.orderItem?this.toggleType(this.orderEntries$,this.orderCardsService.getOrderEntries(this.orderItem.code,e)):this.toggleType(this.quoteEntries$,this.orderCardsService.getQuoteEntries(this.quoteItem.code))}toggleType(e,t){e.value||t.pipe((0,x.Q)(this.destroyed$)).subscribe(s=>{const{orderEntries:o}=s;e.next(o)})}showMore(){return this.shownItemsCount+=10}showAllItems(){this.eventBus.cast(J_ORDER.SHOW_BY_ID,this.orderItem.code)}static#e=this.propDecorators={orderItem:[{type:n.pde}],quoteItem:[{type:n.pde}],resetFilters:[{type:n.k7i}],onResize:[{type:n.Z$l,args:["window:resize"]}]}}!function(a){a.CERTIFICATE="CERTIFICATE",a.INVOICE="INVOICE",a.PROFORMA="PROFORMA",a.PACKING_LIST="PACKING_LIST"}(Nu||(Nu={}));class ic{constructor(e,t,s,o,l,u,h,_){this.cmsService=e,this.ordersService=t,this.translatePipe=s,this.globalMessageService=o,this.changeDetection=l,this.router=u,this.translationService=h,this.viewportScroller=_,this.isDetail=!0,this.isLast=!1,this.hasDocuments=!1,this.orderItemSearch=new n.bkB,this.destroyed$=new R.B,this.sendCoils=[],this.ORDER_ENTRY_STATUS=sm,this.ORDER_STATUS_NAME=b,this.MTO_CUSTOM_STATUSES=Lu,this.PRODUCT_TYPE=Z,this.isStrip=!1,this.ROUTE_URL=M,this.UNITS=G,this.featureEndings=null,this.subSectionName="",this.isProductCharacteristicsOpen=!1,this.isBatchStatusOpen=!1,this.isShowButton=!1,this.selectedTotal=0,this.deliveryTotalBlockedVolume=null,this.deliveryTotalBlockedPlates=null,this.itemStatus=null,this.productFeatures=null,this.excludedFeatures=[f.steelDefects,f.uomDiameters,f.uomDimensions,f.rangedAttributes,f.secondCategory],this.steelDefects=null,this.pageId$=this.cmsService.getCurrentPage().pipe((0,B.p)(Boolean),(0,fe.E)("pageId")),this.productPrice$=new P.t(null),this.confirmedDueDate$=new P.t(null),this.availableFromDate$=new P.t(null),this.url=this.router.url,this.isQuoteUpdated=!1,this.showPlates=!1}ngOnInit(){this.init()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete(),this.resetCoils()}changeUrl(){this.router.events.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{e instanceof y.wF&&(this.url=e.url)})}calculateDueDate(e){return e===b.CTP_CHECK?this.translatePipe.transform(this.isMto?"orders.orderStatus.ctp_check_pending":"orders.orderStatus.atp_check_pending"):this.translatePipe.transform("orders.ordersActive.orderItem.week",{count:e?.replace(/\./g,"/")})}setDueDateTranslations(){this.translationService.loadChunks("myAccount").then(()=>{const e=this.calculateDueDate(this.entry.confirmedDueDateString),t=this.calculateDueDate(this.entry.availableFromDateString);this.confirmedDueDate$.next(e),this.availableFromDate$.next(t),this.changeDetection.detectChanges()})}init(){this.setItemStatus(),this.initProperties(),this.setProductPrice(),this.changeUrl(),this.setDueDateTranslations(),this.getCertificate(),this.showPlates=!!this.entry.totalVolumePlates,this.isStrip=this.entry.product.productionType===Z.STRIP,this.isStrip?(this.initSteelDefects(),this.dimension=rt(Ye(this.entry.product,f.uomDimensions)),this.diameter=rt(Ye(this.entry.product,f.uomDiameters))):this.dimension=rt(Ye(this.entry.product,f.dimensionUnit)),this.isQuote&&this.checkQuoteUpdate()}initSteelDefects(){this.steelDefects=Al(this.entry.product,f.steelDefects)}getCertificate(){this.certificate=this.entry.documents?.find(e=>e.documentType===Nu.CERTIFICATE)}checkQuoteUpdate(){this.isQuoteUpdated=!!this.getClassificationFeature(f.unitOfOrder)}initProperties(){try{const t=this.isQuote?$t.QUOTATIONS:$t.ORDERS,s=this.subSectionName.toUpperCase(),o=this.entry.product.productionType.toUpperCase()===Z.PLATE?this.entry.product.productionType.toUpperCase():this.entry.product.categories[0].code===Zt_CODE?Se_STRIP__PREPAINTED:this.entry.product.productionType.toUpperCase(),l=this.isMto?Ke.MTO.toUpperCase():Ke.MTS.toUpperCase();this.featureEndings=Ne[t][s][o][l]}catch{console.error("Can't find corresponding config")}const e=JSON.parse(JSON.stringify(this.entry.product));this.entry.product.productionType.toUpperCase()===Z.STRIP&&this.isMto&&!this.isQuote&&(e.classifications[0].features=e.classifications[0].features.concat(Pg(this.entry.unit,this.translatePipe))),this.productFeatures=ts(e,this.featureEndings,this.excludedFeatures)}setProductPrice(){0!==this.entry.basePrice?.value&&this.productPrice$.next(this.entry.basePrice?.formattedValue)}setItemStatus(){this.itemStatus=sm[this.entry.status]||{}}toggleProductCharacteristics(){this.isProductCharacteristicsOpen=!this.isProductCharacteristicsOpen,this.isProductCharacteristicsOpen&&this.isLast&&this.ordersService.scrollToBottom()}toggleProductBatchStatus(){this.isBatchStatusOpen=!this.isBatchStatusOpen,this.isBatchStatusOpen&&this.isLast&&this.ordersService.scrollToBottom()}getClassificationFeature(e){if(this.entry&&this.entry.product)for(const t of this.entry.product.classifications)for(const s of t.features)if(s.code.match(e))return s}viewDocuments(){this.viewportScroller.scrollToAnchor("order-downloads");const[e,t]=this.viewportScroller.getScrollPosition();this.viewportScroller.scrollToPosition([e,t-120]),this.orderItemSearch.emit(this.entry.externalRank.toString())}onChangeSelectedTotal(e){this.selectedTotal=e.selectedTotal}onSelectCoils(e){e.length&&(this.sendCoils[this.index]=e,this.ordersService.updateSelectedCoils(this.sendCoils),this.ordersService.isSelectAll$.getValue()||this.isSelectAll())}isSelectAll(){Object.values(this.ordersService.selectedCoils$.getValue()).some(t=>t.some(s=>!s.isSelected))||this.ordersService.isSelectAll$.next(!0)}resetCoils(){this.ordersService.resetSelectedCoils()}isHaveReadyToShip(e){const t=e.find(s=>s.status===b.READY_TO_SHIP);return!!t&&(t.quantity>0&&!!t.coils)}isCoilWeight(e){return!!e.match(f.coilWeightMin)||!!e.match(f.coilWeightMax)}filterBatches(e){const t=(e=e.filter(s=>s.status)).find(s=>s.status===b.DELIVERY_NOT_CREATED);return t?(this.deliveryTotalBlockedVolume=t.deliveryTotalBlockedVolume,this.deliveryTotalBlockedPlates=t.deliveryTotalBlockedPlates,e.filter(s=>s!==t)):e}filterBatchesByTons(e){return(e=e.filter(t=>t.platesVolumeTons)).find(t=>"0.0"!==t.platesVolumeTons).platesVolumeTons}static#e=this.propDecorators={entry:[{type:n.pde}],index:[{type:n.pde}],isMto:[{type:n.pde}],isQuote:[{type:n.pde}],isDetail:[{type:n.pde}],isLast:[{type:n.pde}],hasDocuments:[{type:n.pde}],orderItemSearch:[{type:n.k7i}]}}let Ht=class{constructor(e,t){this.http=e,this.occEndpointsService=t}getOrderEntries(e,t){const s=this.occEndpointsService.buildUrl(E.USER.ORDERS.ORDER_ENTRIES,{urlParams:{orderCode:e}});return this.http.post(s,t)}getQuoteEntries(e){const t=this.occEndpointsService.buildUrl(E.USER.QUOTES.QUOTE_ENTRIES,{urlParams:{quoteCode:e}});return this.http.get(t)}getCurrentCardSize(e,t){const s=window.innerWidth;return s>=Nt.Md?this.getCardCountAndHeight(184,e):s>=Nt.Sm?this.getCardCountAndHeight(199,e):s>=Nt.Xs?this.getCardCountAndHeight(268,t):void 0}getCurrentQuoteCardSize(e,t){const s=window.innerWidth;return s>=Nt.Sm?this.getCardCountAndHeight(183,e):s>=Nt.Xs?this.getCardCountAndHeight(225,t):void 0}getCardCountAndHeight(e,t){return{cardSize:e,shownItemsCountBeforeScroll:t}}static#e=this.ctorParameters=()=>[{type:U.Qq},{type:p.zxz}]};Ht=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],Ht);let Uu=class extends sc{constructor(e,t,s){super(e,t,s),this.orderCardsService=e,this.ordersService=t,this.eventBus=s}static#e=this.ctorParameters=()=>[{type:Ht},{type:De},{type:ve.u}]};Uu=(0,r.Cg)([(0,n.uAl)({selector:"app-orders-active-order-card",template:'<div *ngIf="orderItem" [class.is-open]="isProductsListOpen" class="order">\n  <div [class]="itemStatus?.className" class="order__header d-flex align-items-center">\n    <div class="order__number">\n      <a [routerLink]="{ cxRoute: \'orderDetails\', params: { code: orderItem.code } } | cxUrl">\n        {{ \'orders.ordersActive.orderItem.orderNumber\' | cxTranslate }}\n        {{ orderItem.code }}\n      </a>\n      <svg-icon-sprite *ngIf="orderItem.isConsignment" src="consignee" title="Consignment" width="24px" height="24px">\n      </svg-icon-sprite>\n    </div>\n    <div *ngIf="orderItem.status" class="order__status ml-auto">\n      {{\n        \'orders.orderStatus.\' +\n          orderItem.status.toLowerCase() +\n          (orderItem.isMTO && MTO_CUSTOM_STATUSES.includes(orderItem.status.toUpperCase()) ? \'_mto\' : \'\') | cxTranslate\n      }}\n    </div>\n  </div>\n\n  <div class="order__body">\n    <div class="order__params">\n      <app-order-card-cell\n        [title]="\'orders.ordersActive.orderItem.orderPlacementDate\' | cxTranslate"\n        [value]="orderItem.placed | date: \'dd.MM.yyyy\'"\n        [isBold]="true"\n        class="param order__params_placement-date"\n      ></app-order-card-cell>\n      <app-order-card-cell\n        [title]="\'orders.ordersActive.orderItem.poNumber\' | cxTranslate"\n        [value]="orderItem.poNumber"\n        [isBold]="true"\n        class="param order__params_order-number"\n      ></app-order-card-cell>\n      <app-order-card-cell\n        [title]="\'orders.ordersActive.orderItem.orderType\' | cxTranslate"\n        [value]="orderItem.formattedOrderType"\n        [isBold]="true"\n        class="param order__params_order-type"\n      ></app-order-card-cell>\n      <app-order-card-cell\n        *ngIf="orderItem.agreement?.endDate && orderItem.orderType === FACET_NAMES.ORDER"\n        [title]="\'orders.ordersActive.orderItem.validUntil\' | cxTranslate"\n        [value]="orderItem.agreement?.endDate | dateWithTimezonePipe"\n        [isBold]="true"\n        class="param order__params_order-date"\n      ></app-order-card-cell>\n    </div>\n\n    <div class="order__action-line d-flex align-items-center">\n      <div (click)="toggleProductsList()" class="order__items-toggle">\n        {{ \'orders.ordersActive.orderItem.orderItems\' | cxTranslate }}\n        <svg-icon-sprite src="expand_more" class="order__items-toggle-icon" width="16px"></svg-icon-sprite>\n      </div>\n      <div class="order__items-amount ml-auto">\n        <ng-container\n          *ngTemplateOutlet="\n            orderItem.ordersEntriesCount === orderItem.selectedEntries\n              ? simpleOrderItemsAmount\n              : filteredOrderItemsAmount\n          "\n        ></ng-container>\n        <ng-template #simpleOrderItemsAmount>\n          {{ orderItem.ordersEntriesCount }} {{ \'orders.ordersActive.orderItem.items\' | cxTranslate }}\n        </ng-template>\n        <ng-template #filteredOrderItemsAmount>\n          <div class="filtered d-inline-flex align-items-center">\n            <div class="filtered__item d-inline-flex align-items-center">\n              <svg-icon-sprite src="filter_list" width="16" height="16" class="filtered__icon"></svg-icon-sprite>\n              <div>\n                <span class="filtered__dark">\n                  {{ \'orders.ordersActive.itemOf\' | cxTranslate: { items: orderItem.selectedEntries } }}\n                </span>\n                {{ orderItem.ordersEntriesCount }} {{ \'orders.ordersActive.items\' | cxTranslate }}\n              </div>\n            </div>\n\n            <div>\n              <span (click)="showAllItems()" class="chips">\n                {{ \'orders.ordersActive.showAll\' | cxTranslate }}\n                <svg-icon-sprite src="cancel" width="16" height="16" class="chips__remove"></svg-icon-sprite>\n              </span>\n            </div>\n          </div>\n        </ng-template>\n      </div>\n    </div>\n\n    <div *ngIf="isProductsListOpen" class="order__items-list">\n      <scrollbar\n        *ngIf="orderEntries$ | async as orderEntries; else loading"\n        class="order__item"\n        id="product-cards"\n        [style.max-height.px]="cards.cardSize * cards.shownItemsCountBeforeScroll"\n      >\n        <ng-container\n          *ngFor="let orderEntry of orderEntries.slice(0, shownItemsCount); let i = index; let isLast = last"\n        >\n          <app-orders-active-order-product-card\n            [entry]="orderEntry"\n            [index]="i + 1"\n            [isLast]="isLast"\n            [isDetail]="false"\n            [isMto]="orderItem.isMTO"\n          ></app-orders-active-order-product-card>\n        </ng-container>\n        <app-show-more *ngIf="orderEntries.length > 10">\n          <ng-container total>\n            {{\n              \'orders.ordersActive.itemOfItems\'\n                | cxTranslate\n                  : {\n                      items: shownItemsCount < orderEntries.length ? shownItemsCount : orderEntries.length,\n                      totalItems: orderEntries.length\n                    }\n            }}\n          </ng-container>\n          <ng-container button>\n            <button\n              class="btn btn--sm btn-secondary"\n              [disabled]="shownItemsCount >= orderEntries.length"\n              (click)="showMore()"\n            >\n              {{ \'button.showMoreItems\' | cxTranslate }}\n            </button>\n          </ng-container>\n        </app-show-more>\n      </scrollbar>\n      <ng-template #loading>\n        <div class="loader-in-process">\n          <app-loader size="36px"></app-loader>\n        </div>\n      </ng-template>\n    </div>\n  </div>\n</div>\n',styles:[oD()]})],Uu);var cD=i(3236),lD=i.n(cD);let rc=class extends ic{constructor(e,t,s,o,l,u,h,_){super(e,t,s,o,l,u,h,_),this.cmsService=e,this.ordersService=t,this.translatePipe=s,this.globalMessageService=o,this.changeDetection=l,this.router=u,this.translationService=h,this.viewportScroller=_,this.subSectionName=$t.ACTIVE}static#e=this.ctorParameters=()=>[{type:p.xYq},{type:De},{type:p.D97},{type:p.S8D},{type:n.gRc},{type:y.Ix},{type:p.L08},{type:S.Xr}]};rc=(0,r.Cg)([(0,n.uAl)({selector:"app-orders-active-order-product-card",template:'<div\n  *ngIf="entry"\n  [class.is-characteristics-open]="isProductCharacteristicsOpen"\n  [class]="itemStatus?.className"\n  [class.is-rejected]="entry.rejected"\n  class="order-item-product"\n>\n  <div class="order-item-product__header">\n    <div class="order-item-product__category d-flex justify-content-start align-items-center">\n      <div class="order-item-product__index">{{ entry?.externalRank }}</div>\n      <span class="order-item-product__category-title">{{ \'orders.ordersActive.category\' | cxTranslate }}</span>\n      <span class="order-item-product__category-name">{{ entry?.product?.categories[0]?.name }}</span>\n    </div>\n  </div>\n  <div *ngIf="productFeatures.mainFeatures.length" class="order-item-product__params">\n    <ng-container *ngFor="let feature of productFeatures.mainFeatures; let i = index">\n      <app-order-card-cell\n        *ngIf="feature.featureValues?.length"\n        [title]="feature.name"\n        [value]="\n          feature.featureValues[0]?.value\n            | changePropertyValue: { code: feature.code, dimension: dimension, diameter: diameter }\n        "\n        class="param"\n      ></app-order-card-cell>\n    </ng-container>\n\n    <div class="param">\n      <div class="param__title">\n        {{ (entry.unit === this.UNITS.PIECES ? \'cartDetails.pieces\' : \'cartDetails.volume\') | cxTranslate }}\n      </div>\n      <div class="param__value">\n        {{ entry.unit === UNITS.PIECES ? entry.quantity : (entry.quantity | massConversion) }}\n        {{ entry.unit | units }}\n      </div>\n    </div>\n    <app-order-card-cell\n      *ngIf="productPrice$.value && entry.displayPrice === false"\n      [title]="\'text.productList.variantProduct.strip.pricePerPiece\' | cxTranslate: { unit: UNITS.TONS }"\n      [value]="\'orders.ordersActive.orderItemProduct.toBeConfirmed\' | cxTranslate"\n      class="param"\n    ></app-order-card-cell>\n    <app-order-card-cell\n      *ngIf="(productPrice$.value || entry.priceNotFinal) && entry.displayPrice !== false"\n      [isPriceNotFinal]="entry.priceNotFinal"\n      [title]="\'text.productList.variantProduct.strip.pricePerPiece\' | cxTranslate: { unit: UNITS.TONS }"\n      [value]="entry.priceNotFinal ? \'\' : productPrice$.value"\n      class="param"\n    >\n      <app-price-not-final *ngIf="entry.priceNotFinal" [showWarning]="true" isBlue="true">\n        <ng-container text>{{ \'text.cart.product.priceNotFinal\' | cxTranslate }}</ng-container>\n        <ng-container tooltip-content>\n          <p class="price-not-final__bold">\n            {{ \'text.cart.product.definePrice\' | cxTranslate }}\n          </p>\n          <p class="price-not-final__thin">\n            {{ \'text.cart.product.contactTeam\' | cxTranslate }}\n          </p>\n        </ng-container>\n      </app-price-not-final>\n    </app-order-card-cell>\n    <app-order-card-cell\n      *ngIf="isStrip && entry.desiredDeliveryDate"\n      [title]="\'orders.ordersActive.orderItemProduct.requestedDueDate\' | cxTranslate"\n      [value]="entry.desiredDeliveryDate | dateWithTimezonePipe"\n      class="param"\n    ></app-order-card-cell>\n    <ng-container *ngIf="!isStrip">\n      <app-order-card-cell\n        *ngIf="entry.desiredDeliveryDateWeek"\n        [title]="\'orders.ordersActive.orderItemProduct.desiredDeliveryDateWeek\' | cxTranslate"\n        [value]="entry.desiredDeliveryDateWeek"\n        class="param"\n      ></app-order-card-cell>\n      <app-order-card-cell\n        *ngIf="entry.deliveryAllowedFromWeek"\n        [title]="\'orders.ordersActive.orderItemProduct.deliveryAllowedFromWeek\' | cxTranslate"\n        [value]="entry.deliveryAllowedFromWeek"\n        class="param"\n      ></app-order-card-cell>\n    </ng-container>\n    <app-order-card-cell\n      [title]="\n        isMto\n          ? (\'orders.ordersActive.orderItemProduct.plannedDueDate\' | cxTranslate)\n          : (\'orders.ordersActive.orderItemProduct.requestedDeliveryDate\' | cxTranslate)\n      "\n      [value]="confirmedDueDate$.value"\n      class="param"\n    ></app-order-card-cell>\n    <app-order-card-cell\n      [title]="\n        isMto\n          ? (\'orders.ordersActive.orderItemProduct.expectedDueDate\' | cxTranslate)\n          : (\'orders.ordersActive.orderItemProduct.availableFrom\' | cxTranslate)\n      "\n      [value]="availableFromDate$.value"\n      class="param"\n    ></app-order-card-cell>\n    <app-order-card-cell\n      *ngIf="entry.shipTo"\n      [title]="\'orders.ordersActive.orderItemProduct.shipTo\' | cxTranslate"\n      [value]="entry.shipTo"\n      class="param"\n    ></app-order-card-cell>\n    <app-order-card-cell\n      *ngIf="entry.shippingAddress"\n      [title]="\'orders.ordersActive.orderItemProduct.shippingAddress\' | cxTranslate"\n      [value]="entry.shippingAddress"\n      class="param"\n    ></app-order-card-cell>\n    <app-order-card-cell\n      *ngIf="entry.shippingConditions"\n      [title]="\'orders.ordersActive.orderItemProduct.shippingConditions\' | cxTranslate"\n      [value]="entry.shippingConditions"\n      class="param"\n    ></app-order-card-cell>\n    <app-order-card-cell\n      *ngIf="entry.deliveryBlocking && entry.deliveryBlocking.length > 0"\n      [title]="\'orders.ordersActive.orderItemProduct.deliveryBlocking\' | cxTranslate"\n      class="param"\n    >\n      <div *ngFor="let item of entry.deliveryBlocking; let index = index">\n        <span>{{ index + 1 }}. {{ item }}</span>\n      </div>\n    </app-order-card-cell>\n    <app-order-card-cell\n      *ngIf="entry.poNumber"\n      [title]="\'orders.ordersActive.orderItemProduct.poNumber\' | cxTranslate"\n      [value]="entry.poNumber"\n      class="param"\n    ></app-order-card-cell>\n    <app-order-card-cell\n      *ngIf="entry.customerPoItem"\n      [title]="\'orders.ordersActive.orderItemProduct.customerPoItem\' | cxTranslate"\n      [value]="entry.customerPoItem"\n      class="param"\n    ></app-order-card-cell>\n    <app-order-card-cell\n      *ngIf="entry.productionBlocking && entry.productionBlocking.length > 0"\n      [title]="\'orders.ordersActive.orderItemProduct.productionBlocking\' | cxTranslate"\n      class="param"\n    >\n      <div *ngFor="let item of entry.productionBlocking; let index = index">\n        <span>{{ index + 1 }}. {{ item }}</span>\n      </div>\n    </app-order-card-cell>\n    <app-order-card-cell\n      *ngIf="entry.incotermMode && isStrip"\n      [title]="\'orders.ordersActive.orderItemProduct.incotermMode\' | cxTranslate"\n      [value]="entry.incotermMode"\n      class="param param-15"\n    ></app-order-card-cell>\n    <app-order-card-cell\n      *ngIf="entry.totalPrice"\n      [title]="\'orders.ordersActive.orderItemProduct.totalPrice\' | cxTranslate"\n      [value]="\n        entry.displayPrice === false\n          ? (\'orders.ordersActive.orderItemProduct.toBeConfirmed\' | cxTranslate)\n          : entry.totalPrice.formattedValue\n      "\n      class="param"\n    ></app-order-card-cell>\n\n    <app-order-card-cell\n      *ngIf="entry.product.secondCategory && isStrip"\n      [title]="\'orders.ordersActive.orderItemProduct.secondCategory\' | cxTranslate"\n      [value]="entry.product.secondCategory "\n      class="param param-15"\n    ></app-order-card-cell>\n  </div>\n\n  <div *ngIf="steelDefects" class="order-item-product__defect d-flex flex-column flex-sm-row">\n    <div class="order-item-product__defect-title mb-10 mb-sm-0">\n      {{ \'orders.ordersActive.orderItemProduct.steelDefects\' | cxTranslate }}:\n    </div>\n    <div class="order-item-product__defect-desc">\n      <ul class="steel-defects-list">\n        <li *ngFor="let steelDefect of steelDefects; let index = index" class="steel-defects-list__item">\n          {{ steelDefect.value }}\n        </li>\n      </ul>\n    </div>\n  </div>\n\n  <div class="order-item-product__action-line">\n    <div\n      *ngIf="\n        productFeatures.secondaryFeatures?.length ||\n        productFeatures.restFeatures?.length ||\n        certificate ||\n        ORDER_ENTRY_STATUS[entry.status]\n      "\n      class="order-item-product__action-line-header d-flex align-items-center"\n    >\n      <ng-container *ngIf="!entry.rejected; else rejected">\n        <div\n          *ngIf="productFeatures.secondaryFeatures?.length || productFeatures.restFeatures?.length"\n          (click)="toggleProductCharacteristics()"\n          class="order-item-product__characteristics-toggle"\n        >\n          {{ \'orders.ordersActive.orderItemProduct.characteristics\' | cxTranslate }}\n          <svg-icon-sprite\n            src="expand_more"\n            class="order-item-product__characteristics-toggle-icon"\n            width="16px"\n          ></svg-icon-sprite>\n        </div>\n        <div *ngIf="isDetail && hasDocuments" (click)="viewDocuments()" class="order-item-product__download">\n          {{ \'button.viewDocuments\' | cxTranslate }}\n        </div>\n        <div\n          *ngIf="ORDER_ENTRY_STATUS[entry.status]"\n          class="order-item-product__status d-flex align-items-center ml-auto"\n        >\n          {{\n            \'orders.orderEntryStatus.\' +\n              entry.status.toLowerCase() +\n              (isMto && MTO_CUSTOM_STATUSES.includes(entry.status.toUpperCase()) ? \'_mto\' : \'\') | cxTranslate\n          }}\n\n          <svg-icon-sprite\n            *ngIf="!isStrip || (entry.status.toUpperCase() !== ORDER_STATUS_NAME.PRODUCTION_PLANNED && entry.status.toUpperCase() !== ORDER_STATUS_NAME.PRODUCTION_STARTED)"\n            [src]="itemStatus.iconName"\n            class="order-item-product__status-icon"\n            width="16px"\n            height="16px"\n          ></svg-icon-sprite>\n\n          <svg-icon-sprite  *ngIf="isStrip && entry.productionSteps.length > 0\n           && (entry.status.toUpperCase() === ORDER_STATUS_NAME.PRODUCTION_PLANNED || entry.status.toUpperCase() === ORDER_STATUS_NAME.PRODUCTION_STARTED)"\n            [tooltipClass]="\'tooltip tooltip--production-steps\'"\n            [ngbTooltip]="tooltipContent"\n            placement="bottom left"\n            container="body"\n            src="info"\n            class="order-item-product__status-icon"\n            width="16px"\n            height="16px"\n          ></svg-icon-sprite>\n          <ng-template   #tooltipContent>\n            <p>{{ \'text.cart.product.productionSteps\' | cxTranslate }}</p>\n            <ul>\n              <ng-container *ngFor="let productionStep of entry.productionSteps">\n                <li>{{ \'- \' + (\'orders.productionStep.\' + productionStep.toLowerCase() | cxTranslate) }}</li>\n              </ng-container>\n            </ul>\n          </ng-template>\n        </div>\n\n      </ng-container>\n\n      <ng-template #rejected>\n        <div class="order-item-product__status d-flex align-items-center ml-auto">\n          {{ \'orders.ordersActive.orderItemProduct.productCancelled\' | cxTranslate }}\n          <svg-icon-sprite\n            src="delete_forever"\n            class="order-item-product__status-icon"\n            width="16px"\n            height="16px"\n          ></svg-icon-sprite>\n        </div>\n      </ng-template>\n    </div>\n    <div class="order-item-product__action-line-content">\n      <hr class="order-item-product__action-line-hr" />\n      <div\n        *ngIf="productFeatures.secondaryFeatures?.length || productFeatures.restFeatures?.length"\n        class="order-item-product__params-extended"\n      >\n        <ng-container *ngFor="let feature of productFeatures.secondaryFeatures">\n          <ng-container *ngIf="feature.featureValues?.length">\n            <ng-container *ngTemplateOutlet="simpleFeature; context: { feature: feature }"></ng-container>\n          </ng-container>\n        </ng-container>\n\n        <ng-container *ngFor="let feature of productFeatures.restFeatures">\n          <ng-container *ngIf="feature.featureValues?.length">\n            <ng-container *ngTemplateOutlet="simpleFeature; context: { feature: feature }"></ng-container>\n          </ng-container>\n        </ng-container>\n      </div>\n    </div>\n  </div>\n</div>\n\n<ng-container *ngIf="entry.batchStatus as batches">\n  <ng-container\n    *ngIf="\n      batches.length > 0 && entry.totalVolume && entry.status !== \'CANCELLED\' && productFeatures.mainFeatures?.length\n    "\n  >\n    <div\n      *ngIf="url.includes(ROUTE_URL.MY_ACCOUNT.ORDER.DETAILS_PATH + \'/\')"\n      [class.is-batch-open]="isBatchStatusOpen"\n      [class]="itemStatus?.className"\n      class="order-item-product"\n    >\n      <hr class="order-item-product__action-line-hr" />\n      <div class="order-item-product__action-line" *ngIf="filterBatches(batches) as filteredBatches">\n        <div [class.batch-shadow]="isBatchStatusOpen" class="order-item-product__action-line-header align-items-center">\n          <div (click)="toggleProductBatchStatus()" class="order-item-product__characteristics-toggle">\n            {{ \'orders.ordersActive.orderItemProduct.butchStatus\' | cxTranslate }}\n            <svg-icon-sprite\n              src="expand_more"\n              class="order-item-product__characteristics-toggle-icon"\n              width="16px"\n            ></svg-icon-sprite>\n          </div>\n          <div class="order-item-product__total">\n            <svg-icon-sprite\n              src="weight_volume"\n              width="16"\n              height="16"\n              class="order-item-product__total-icon"\n            ></svg-icon-sprite>\n            <span class="order-item-product__total-title">\n              {{ \'orders.ordersActive.orderItemProduct.total\' | cxTranslate }}:\n            </span>\n            <span class="order-item-product__batch-value">\n              {{ filteredBatches[0].unitOfMeasure && filteredBatches[0].unitOfMeasure !== UNITS.PIECES\n                ? (filteredBatches[0].unitOfMeasure === UNITS.EA ? filterBatchesByTons(batches) : (entry.totalVolume | massConversion: 2:true))\n                : entry.totalVolume }}\n              {{ filteredBatches[0].unitOfMeasure || UNITS.PIECES | units }}\n            </span>\n          </div>\n          <div class="order-item-product__total" *ngIf="showPlates">\n            <span class="order-item-product__batch-plates">\n              {{ entry.totalVolumePlates }}\n              {{ \'text.batch.pieces\' | cxTranslate }}\n            </span>\n          </div>\n        </div>\n        <app-order-product-batch\n          *ngFor="let batch of filteredBatches"\n          [batch]="batch"\n          [showPlates]="showPlates"\n          [isPriceNotFinal]="!!entry.priceNotFinal"\n          [unit]="batch.unitOfMeasure || UNITS.PIECES"\n          [entryNumber]="entry.entryNumber"\n          [steelGrade]="productFeatures.mainFeatures[0]?.featureValues[0]?.value"\n          [deliveryTotalBlockedVolume]="deliveryTotalBlockedVolume"\n          [deliveryTotalBlockedPlates]="deliveryTotalBlockedPlates"\n          (selectedCoils)="onSelectCoils($event)"\n          (selectedTotals)="onChangeSelectedTotal($event)"\n        ></app-order-product-batch>\n        <div class="order-item-product__selected" *ngIf="isBatchStatusOpen && isHaveReadyToShip(batches)">\n          <div class="selected d-flex align-items-center">\n            <svg-icon-sprite\n              src="weight_volume"\n              width="16"\n              height="16"\n              class="order-item-product__total-icon"\n            ></svg-icon-sprite>\n            <span class="order-item-product__total-title">\n              {{ \'orders.ordersActive.orderItemProduct.selectedForDelivery\' | cxTranslate }}:\n            </span>\n            <span class="order-item-product__batch-value">\n              {{\n                batches[0].unitOfMeasure\n                  ? batches[0].unitOfMeasure === UNITS.PIECES\n                    ? selectedTotal\n                    : (selectedTotal | massConversion: 2:true)\n                  : selectedTotal\n              }}\n              {{ batches[0].unitOfMeasure || UNITS.PIECES | units }}\n            </span>\n          </div>\n        </div>\n      </div>\n    </div>\n  </ng-container>\n</ng-container>\n\n<ng-template #simpleFeature let-feature="feature">\n  <div class="param">\n    <div class="param__title">{{ feature.name }}</div>\n\n    <div class="param__value">\n      {{\n        feature.featureValues[0]?.value\n          | changePropertyValue: { code: feature.code, dimension: dimension, diameter: diameter }\n      }}\n    </div>\n  </div>\n</ng-template>\n',styles:[lD()]})],rc);var pD=i(42898),uD=i.n(pD);let $u=class extends sc{constructor(e,t,s){super(e,t,s),this.orderCardsService=e,this.ordersService=t,this.eventBus=s}static#e=this.ctorParameters=()=>[{type:Ht},{type:De},{type:ve.u}]};$u=(0,r.Cg)([(0,n.uAl)({selector:"app-orders-history-order-card",template:'<div *ngIf="orderItem" [class.is-open]="isProductsListOpen" class="order">\n  <div [class]="itemStatus?.className" class="order__header d-flex align-items-center">\n    <div class="order__number">\n      <a [routerLink]="{ cxRoute: \'orderDetails\', params: { code: orderItem.code } } | cxUrl">\n        {{ \'orders.ordersActive.orderItem.orderNumber\' | cxTranslate }}\n        {{ orderItem.code }}\n      </a>\n      <svg-icon-sprite *ngIf="orderItem.isConsignment" src="consignee" title="Consignment" width="24px" height="24px">\n      </svg-icon-sprite>\n    </div>\n    <div *ngIf="orderItem.status" class="order__status ml-auto">\n      {{\n        \'orders.orderStatus.\' +\n          orderItem.status.toLowerCase() +\n          (orderItem.orderType === FACET_NAMES.ORDER && MTO_CUSTOM_STATUSES.includes(orderItem.status.toUpperCase())\n            ? \'_mto\'\n            : \'\') | cxTranslate\n      }}\n    </div>\n  </div>\n\n  <div class="order__body">\n    <div class="order__params">\n      <app-order-card-cell\n        [title]="\'orders.ordersActive.orderItem.orderPlacementDate\' | cxTranslate"\n        [value]="orderItem.placed | date: \'dd.MM.yyyy\'"\n        [isBold]="true"\n        class="param order__params_placement-date"\n      ></app-order-card-cell>\n      <app-order-card-cell\n        [title]="\'orders.ordersActive.orderItem.poNumber\' | cxTranslate"\n        [value]="orderItem.poNumber"\n        [isBold]="true"\n        class="param order__params_order-number"\n      ></app-order-card-cell>\n      <app-order-card-cell\n        [title]="\'orders.ordersActive.orderItem.orderType\' | cxTranslate"\n        [value]="orderItem.formattedOrderType"\n        [isBold]="true"\n        class="param order__params_order-type"\n      ></app-order-card-cell>\n      <app-order-card-cell\n        *ngIf="orderItem.agreement?.endDate && orderItem.orderType === FACET_NAMES.ORDER"\n        [title]="\'orders.ordersActive.orderItem.validUntil\' | cxTranslate"\n        [value]="orderItem.agreement?.endDate | dateWithTimezonePipe"\n        [isBold]="true"\n        class="param order__params_order-date"\n      ></app-order-card-cell>\n    </div>\n\n    <div class="order__action-line d-flex align-items-center">\n      <div (click)="toggleProductsList()" class="order__items-toggle">\n        {{ \'orders.ordersActive.orderItem.orderItems\' | cxTranslate }}\n        <svg-icon-sprite src="expand_more" class="order__items-toggle-icon" width="16px"></svg-icon-sprite>\n      </div>\n      <div class="order__items-amount ml-auto">\n        <ng-container\n          *ngTemplateOutlet="\n            orderItem.ordersEntriesCount === orderItem.selectedEntries\n              ? simpleOrderItemsAmount\n              : filteredOrderItemsAmount\n          "\n        ></ng-container>\n        <ng-template #simpleOrderItemsAmount>\n          {{ orderItem.ordersEntriesCount }} {{ \'orders.ordersActive.orderItem.items\' | cxTranslate }}\n        </ng-template>\n        <ng-template #filteredOrderItemsAmount>\n          <div class="filtered d-inline-flex align-items-center">\n            <div class="filtered__item d-inline-flex align-items-center">\n              <svg-icon-sprite src="filter_list" width="16" height="16" class="filtered__icon"></svg-icon-sprite>\n              <div>\n                <span class="filtered__dark">\n                  {{ \'orders.ordersActive.itemOf\' | cxTranslate: { items: orderItem.selectedEntries } }}\n                </span>\n                {{ orderItem.ordersEntriesCount }} {{ \'orders.ordersActive.items\' | cxTranslate }}\n              </div>\n            </div>\n\n            <div>\n              <span (click)="showAllItems()" class="chips">\n                {{ \'orders.ordersActive.showAll\' | cxTranslate }}\n                <svg-icon-sprite src="cancel" width="16" height="16" class="chips__remove"></svg-icon-sprite>\n              </span>\n            </div>\n          </div>\n        </ng-template>\n      </div>\n    </div>\n\n    <div *ngIf="isProductsListOpen" class="order__items-list">\n      <scrollbar\n        *ngIf="orderEntries$ | async as orderEntries; else loading"\n        class="order__item"\n        id="product-cards"\n        [style.max-height.px]="cards.cardSize * cards.shownItemsCountBeforeScroll"\n      >\n        <ng-container\n          *ngFor="let orderEntry of orderEntries.slice(0, shownItemsCount); let i = index; let isLast = isLast"\n        >\n          <app-orders-history-order-product-card\n            [entry]="orderEntry"\n            [index]="i + 1"\n            [isLast]="isLast"\n            [isMto]="orderItem.orderType === FACET_NAMES.ORDER"\n            [isDetail]="false"\n          ></app-orders-history-order-product-card>\n        </ng-container>\n        <app-show-more *ngIf="orderEntries.length > 10">\n          <ng-container total>\n            {{\n              \'orders.ordersActive.itemOfItems\'\n                | cxTranslate\n                  : {\n                      items: shownItemsCount < orderEntries.length ? shownItemsCount : orderEntries.length,\n                      totalItems: orderEntries.length\n                    }\n            }}\n          </ng-container>\n          <ng-container button>\n            <button\n              class="btn btn--sm btn-secondary"\n              [disabled]="shownItemsCount >= orderEntries.length"\n              (click)="showMore()"\n            >\n              {{ \'button.showMoreItems\' | cxTranslate }}\n            </button>\n          </ng-container>\n        </app-show-more>\n      </scrollbar>\n      <ng-template #loading>\n        <div class="loader-in-process">\n          <app-loader size="36px"></app-loader>\n        </div>\n      </ng-template>\n    </div>\n  </div>\n</div>\n',styles:[uD()]})],$u);var gD=i(70622),mD=i.n(gD);let oc=class extends ic{constructor(e,t,s,o,l,u,h,_){super(e,t,s,o,l,u,h,_),this.cmsService=e,this.ordersService=t,this.translatePipe=s,this.globalMessageService=o,this.changeDetection=l,this.router=u,this.translationService=h,this.viewportScroller=_,this.subSectionName=$t.HISTORY}static#e=this.ctorParameters=()=>[{type:p.xYq},{type:De},{type:p.D97},{type:p.S8D},{type:n.gRc},{type:y.Ix},{type:p.L08},{type:S.Xr}]};oc=(0,r.Cg)([(0,n.uAl)({selector:"app-orders-history-order-product-card",template:'<div\n  *ngIf="entry"\n  [class.is-characteristics-open]="isProductCharacteristicsOpen"\n  [class]="itemStatus?.className"\n  [class.is-rejected]="entry.rejected"\n  class="order-item-product"\n>\n  <div class="order-item-product__header">\n    <div class="order-item-product__category d-flex justify-content-start align-items-center">\n      <div class="order-item-product__index">{{ entry?.externalRank }}</div>\n      <span class="order-item-product__category-title">{{ \'orders.ordersActive.category\' | cxTranslate }}</span>\n      <span class="order-item-product__category-name">{{ entry?.product.categories[0]?.name }}</span>\n    </div>\n  </div>\n  <div *ngIf="productFeatures.mainFeatures.length" class="order-item-product__params">\n    <ng-container *ngFor="let feature of productFeatures.mainFeatures; let i = index">\n      <app-order-card-cell\n        *ngIf="feature.featureValues?.length"\n        [title]="feature.name"\n        [value]="\n          feature.featureValues[0]?.value\n            | changePropertyValue: { code: feature.code, dimension: dimension, diameter: diameter }\n        "\n        class="param param-{{ i + 1 }}"\n      ></app-order-card-cell>\n    </ng-container>\n\n    <div class="param param-5">\n      <div class="param__title">\n        {{ (entry.unit === this.UNITS.PIECES ? \'cartDetails.pieces\' : \'cartDetails.volume\') | cxTranslate }}\n      </div>\n      <div class="param__value">\n        {{ entry.unit === UNITS.PIECES ? entry.quantity : (entry.quantity | massConversion) }}\n        {{ entry.unit | units }}\n      </div>\n    </div>\n    <app-order-card-cell\n      *ngIf="productPrice$.value"\n      [title]="\'text.productList.variantProduct.strip.pricePerPiece\' | cxTranslate: { unit: UNITS.TONS }"\n      [value]="productPrice$.value"\n      class="param param-6"\n    ></app-order-card-cell>\n    <app-order-card-cell\n      *ngIf="entry.desiredDeliveryDate"\n      [title]="\'orders.ordersActive.orderItemProduct.requestedDueDate\' | cxTranslate"\n      [value]="entry.desiredDeliveryDate | dateWithTimezonePipe"\n      class="param"\n    ></app-order-card-cell>\n    <app-order-card-cell\n      [title]="\n        isMto\n          ? (\'orders.ordersActive.orderItemProduct.plannedDueDate\' | cxTranslate)\n          : (\'orders.ordersActive.orderItemProduct.requestedDeliveryDate\' | cxTranslate)\n      "\n      [value]="confirmedDueDate$.value"\n      class="param param-7"\n    ></app-order-card-cell>\n    <app-order-card-cell\n      [title]="\n        isMto\n          ? (\'orders.ordersActive.orderItemProduct.expectedDueDate\' | cxTranslate)\n          : (\'orders.ordersActive.orderItemProduct.availableFrom\' | cxTranslate)\n      "\n      [value]="availableFromDate$.value"\n      class="param param-8"\n    ></app-order-card-cell>\n    <app-order-card-cell\n      *ngIf="entry.customerPoItem"\n      [title]="\'orders.ordersActive.orderItemProduct.customerPoItem\' | cxTranslate"\n      [value]="entry.customerPoItem"\n      class="param param-9"\n    ></app-order-card-cell>\n    <app-order-card-cell\n      *ngIf="entry.shipTo"\n      [title]="\'orders.ordersActive.orderItemProduct.shipTo\' | cxTranslate"\n      [value]="entry.shipTo"\n      class="param param-10"\n    ></app-order-card-cell>\n    <app-order-card-cell\n      *ngIf="entry.shippingAddress"\n      [title]="\'orders.ordersActive.orderItemProduct.shippingAddress\' | cxTranslate"\n      [value]="entry.shippingAddress"\n      class="param param-11"\n    ></app-order-card-cell>\n    <app-order-card-cell\n      *ngIf="entry.shippingConditions"\n      [title]="\'orders.ordersActive.orderItemProduct.shippingConditions\' | cxTranslate"\n      [value]="entry.shippingConditions"\n      class="param param-12"\n    ></app-order-card-cell>\n    <app-order-card-cell\n      *ngIf="entry.deliveryBlocking && entry.deliveryBlocking.length > 0"\n      [title]="\'orders.ordersActive.orderItemProduct.deliveryBlocking\' | cxTranslate"\n      class="param param-13"\n    >\n      <div *ngFor="let item of entry.deliveryBlocking; let index = index">\n        <span>{{ index + 1 }}. {{ item }}</span>\n      </div>\n    </app-order-card-cell>\n    <app-order-card-cell\n      *ngIf="entry.productionBlocking && entry.productionBlocking.length > 0"\n      [title]="\'orders.ordersActive.orderItemProduct.productionBlocking\' | cxTranslate"\n      class="param param-14"\n    >\n      <div *ngFor="let item of entry.productionBlocking; let index = index">\n        <span>{{ index + 1 }}. {{ item }}</span>\n      </div>\n    </app-order-card-cell>\n    <app-order-card-cell\n      *ngIf="entry.incotermMode && isStrip"\n      [title]="\'orders.ordersActive.orderItemProduct.incotermMode\' | cxTranslate"\n      [value]="entry.incotermMode"\n      class="param param-15"\n    ></app-order-card-cell>\n    <app-order-card-cell\n      *ngIf="entry.poNumber"\n      [title]="\'orders.ordersActive.orderItemProduct.poNumber\' | cxTranslate"\n      [value]="entry.poNumber"\n      class="param"\n    ></app-order-card-cell>\n    <app-order-card-cell\n      *ngIf="entry.customerPoItem"\n      [title]="\'orders.ordersActive.orderItemProduct.customerPoItem\' | cxTranslate"\n      [value]="entry.customerPoItem"\n      class="param"\n    ></app-order-card-cell>\n    <app-order-card-cell\n      *ngIf="entry.totalPrice"\n      [title]="\'orders.ordersActive.orderItemProduct.totalPrice\' | cxTranslate"\n      [value]="entry.totalPrice.formattedValue"\n      class="param param-16"\n    ></app-order-card-cell>\n  </div>\n\n  <div *ngIf="steelDefects" class="order-item-product__defect d-flex flex-column flex-sm-row">\n    <div class="order-item-product__defect-title mb-10 mb-sm-0">\n      {{ \'orders.ordersActive.orderItemProduct.steelDefects\' | cxTranslate }}:\n    </div>\n    <div class="order-item-product__defect-desc">\n      <ul class="steel-defects-list">\n        <li *ngFor="let steelDefect of steelDefects; let index = index" class="steel-defects-list__item">\n          {{ steelDefect.value }}\n        </li>\n      </ul>\n    </div>\n  </div>\n\n  <div class="order-item-product__action-line">\n    <div\n      *ngIf="\n        productFeatures.secondaryFeatures?.length ||\n        productFeatures.restFeatures?.length ||\n        certificate ||\n        ORDER_ENTRY_STATUS[entry.status]\n      "\n      class="order-item-product__action-line-header d-flex align-items-center"\n    >\n      <ng-container *ngIf="!entry.rejected; else rejected">\n        <div\n          *ngIf="productFeatures.secondaryFeatures?.length || productFeatures.restFeatures?.length"\n          (click)="toggleProductCharacteristics()"\n          class="order-item-product__characteristics-toggle"\n        >\n          {{ \'orders.ordersActive.orderItemProduct.characteristics\' | cxTranslate }}\n          <svg-icon-sprite\n            src="expand_more"\n            class="order-item-product__characteristics-toggle-icon"\n            width="16px"\n          ></svg-icon-sprite>\n        </div>\n        <div *ngIf="isDetail && hasDocuments" (click)="viewDocuments()" class="order-item-product__download">\n          {{ \'button.viewDocuments\' | cxTranslate }}\n        </div>\n        <div\n          class="order-item-product__status d-flex align-items-center ml-auto"\n          *ngIf="ORDER_ENTRY_STATUS[entry.status]"\n        >\n          {{\n            \'orders.orderEntryStatus.\' +\n              entry.status.toLowerCase() +\n              (isMto && MTO_CUSTOM_STATUSES.includes(entry.status.toUpperCase()) ? \'_mto\' : \'\') | cxTranslate\n          }}\n          <svg-icon-sprite\n            [src]="itemStatus.iconName"\n            class="order-item-product__status-icon"\n            width="16px"\n            height="16px"\n          ></svg-icon-sprite>\n        </div>\n      </ng-container>\n      <ng-template #rejected>\n        <div class="order-item-product__status d-flex align-items-center ml-auto">\n          {{ \'orders.ordersActive.orderItemProduct.productCancelled\' | cxTranslate }}\n          <svg-icon-sprite\n            src="delete_forever"\n            class="order-item-product__status-icon"\n            width="16px"\n            height="16px"\n          ></svg-icon-sprite>\n        </div>\n      </ng-template>\n    </div>\n    <div class="order-item-product__action-line-content">\n      <hr class="order-item-product__action-line-hr" />\n      <div\n        *ngIf="productFeatures.secondaryFeatures?.length || productFeatures.restFeatures?.length"\n        class="order-item-product__params-extended"\n      >\n        <ng-container *ngFor="let feature of productFeatures.secondaryFeatures">\n          <ng-container *ngIf="feature.featureValues?.length">\n            <ng-container *ngTemplateOutlet="simpleFeature; context: { feature: feature }"></ng-container>\n          </ng-container>\n        </ng-container>\n\n        <ng-container *ngFor="let feature of productFeatures.restFeatures">\n          <ng-container *ngIf="feature.featureValues?.length">\n            <ng-container *ngTemplateOutlet="simpleFeature; context: { feature: feature }"></ng-container>\n          </ng-container>\n        </ng-container>\n      </div>\n    </div>\n  </div>\n</div>\n\n<ng-container *ngIf="entry.batchStatus as batches">\n  <ng-container *ngIf="batches.length > 0 && entry.totalVolume">\n    <div\n      *ngIf="url.includes(ROUTE_URL.MY_ACCOUNT.ORDER.DETAILS_PATH + \'/\')"\n      [class.is-batch-open]="isBatchStatusOpen"\n      [class]="itemStatus?.className"\n      class="order-item-product"\n    >\n      <hr class="order-item-product__action-line-hr" />\n      <div class="order-item-product__action-line">\n        <div [class.batch-shadow]="isBatchStatusOpen" class="order-item-product__action-line-header align-items-center">\n          <div (click)="toggleProductBatchStatus()" class="order-item-product__characteristics-toggle">\n            {{ \'orders.ordersActive.orderItemProduct.butchStatus\' | cxTranslate }}\n            <svg-icon-sprite\n              src="expand_more"\n              class="order-item-product__characteristics-toggle-icon"\n              width="16px"\n            ></svg-icon-sprite>\n          </div>\n          <div class="order-item-product__total">\n            <svg-icon-sprite\n              src="weight_volume"\n              width="16"\n              height="16"\n              class="order-item-product__total-icon"\n            ></svg-icon-sprite>\n            <span class="order-item-product__total-title">\n              {{ \'orders.ordersActive.orderItemProduct.total\' | cxTranslate }}:\n            </span>\n            <span class="order-item-product__batch-value">\n              {{\n                    batches[0].unitOfMeasure && batches[0].unitOfMeasure !== UNITS.PIECES\n                ? (batches[0].unitOfMeasure === UNITS.EA ? filterBatchesByTons(batches) : (entry.totalVolume | massConversion))\n                : entry.totalVolume\n                }}\n              {{ batches[0].unitOfMeasure || UNITS.PIECES | units }}\n            </span>\n          </div>\n          <div class="order-item-product__total" *ngIf="showPlates">\n            <span class="order-item-product__batch-plates">\n              {{ entry.totalVolumePlates }}\n              {{ \'text.batch.pieces\' | cxTranslate }}\n            </span>\n          </div>\n        </div>\n        <app-order-product-batch\n          *ngFor="let batch of batches"\n          [batch]="batch"\n          [showPlates]="showPlates"\n          [unit]="batch.unitOfMeasure || UNITS.PIECES"\n          [entryNumber]="entry.entryNumber"\n          [steelGrade]="productFeatures.mainFeatures[0]?.featureValues[0]?.value"\n          (selectedCoils)="onSelectCoils($event)"\n          (selectedTotals)="onChangeSelectedTotal($event)"\n        ></app-order-product-batch>\n        <div class="order-item-product__selected" *ngIf="isBatchStatusOpen && isHaveReadyToShip(batches)">\n          <div class="selected d-flex align-items-center">\n            <svg-icon-sprite\n              src="weight_volume"\n              width="16"\n              height="16"\n              class="order-item-product__total-icon"\n            ></svg-icon-sprite>\n            <span class="order-item-product__total-title">\n              {{ \'orders.ordersActive.orderItemProduct.selectedForDelivery\' | cxTranslate }}:\n            </span>\n            <span class="order-item-product__batch-value">\n              {{\n                batches[0].unitOfMeasure\n                  ? batches[0].unitOfMeasure === UNITS.PIECES\n                    ? selectedTotal\n                    : (selectedTotal | massConversion)\n                  : selectedTotal\n              }}\n              {{ batches[0].unitOfMeasure || UNITS.PIECES | units }}\n            </span>\n          </div>\n        </div>\n      </div>\n    </div>\n  </ng-container>\n</ng-container>\n\n<ng-template #simpleFeature let-feature="feature">\n  <div class="param">\n    <div class="param__title">{{ feature.name }}</div>\n    <div class="param__value">\n      {{\n        feature.featureValues[0]?.value\n          | changePropertyValue: { code: feature.code, dimension: dimension, diameter: diameter }\n      }}\n    </div>\n  </div>\n</ng-template>\n',styles:[mD()]})],oc);var vD=i(26332),xD=i.n(vD);let Bu=class extends sc{constructor(e,t,s){super(e,t,s),this.orderCardsService=e,this.ordersService=t,this.eventBus=s}static#e=this.ctorParameters=()=>[{type:Ht},{type:De},{type:ve.u}]};Bu=(0,r.Cg)([(0,n.uAl)({selector:"app-quotes-active-quote-card",template:'<div\n  *ngIf="quoteItem && quoteItem.externalQuoteId"\n  [class.is-open]="isProductsListOpen"\n  class="quote"\n>\n  <div\n    [class]="itemStatus?.className"\n    class="quote__header d-flex align-items-center"\n  >\n    <div class="quote__number">\n      <a\n        [routerLink]="[ROUTE_URL.MY_ACCOUNT.QUOTE.DETAILS]"\n        [queryParams]="{quoteNumber: quoteItem.code, completed: false}"\n      >\n        {{ \'orders.ordersActive.quoteItem.quoteNumber\' | cxTranslate }}\n        {{ quoteItem.externalQuoteId }}\n      </a>\n      <svg-icon-sprite\n        *ngIf="quoteItem.isConsignment"\n        class="quote__icon-consignee"\n        src="consignee"\n        title="Consignment"\n        width="24px"\n        height="24px"\n      >\n      </svg-icon-sprite>\n    </div>\n    <div *ngIf="quoteItem.state" class="quote__status ml-auto">\n      {{ (\'orders.quoteStatus.\' + quoteItem.state.toLowerCase()) | cxTranslate }}\n    </div>\n  </div>\n\n  <div class="quote__body">\n    <div class="quote__params">\n      <app-order-card-cell\n        [title]="\'orders.ordersActive.quoteItem.quotePlacementDate\' | cxTranslate"\n        [value]="quoteItem.quotePlacementDate | date: \'dd.MM.yyyy\'"\n        [isBold]="true"\n        class="param quote__params_placement-date"\n      ></app-order-card-cell>\n      <app-order-card-cell\n        [title]="\'orders.ordersActive.quoteItem.currency\' | cxTranslate"\n        [value]="quoteItem.currency.symbol + \' \' + quoteItem.currency.name"\n        [isBold]="true"\n        class="param quote__params_quote-currency"\n      ></app-order-card-cell>\n      <app-order-card-cell\n        *ngIf="quoteItem.contractLength"\n        [title]="\'orders.ordersActive.quoteItem.contractLength\' | cxTranslate"\n        [value]="quoteItem.contractLength"\n        [isBold]="true"\n        class="param quote__params_quote-length"\n      ></app-order-card-cell>\n      <app-order-card-cell\n        *ngIf="quoteItem.validUntil"\n        [title]="\'orders.ordersActive.quoteItem.validUntil\' | cxTranslate"\n        [value]="quoteItem.validUntil | dateWithTimezonePipe"\n        [isBold]="true"\n        class="param quote__params_quote-valid"\n      ></app-order-card-cell>\n      <app-order-card-cell\n        [title]="\'orders.ordersActive.quoteItem.soldTo\' | cxTranslate"\n        [value]="quoteItem.soldToCustomer"\n        [isBold]="true"\n        class="param quote__params_quote-sold"\n      ></app-order-card-cell>\n      <app-order-card-cell\n        [title]="\'orders.ordersActive.quoteItem.shipTo\' | cxTranslate"\n        [value]="quoteItem.shipToCustomer"\n        [isBold]="true"\n        class="param quote__params_quote-ship"\n      ></app-order-card-cell>\n      <app-order-card-cell\n        *ngIf="quoteItem.billToCustomer"\n        [title]="\'orders.ordersActive.quoteItem.billTo\' | cxTranslate"\n        [value]="quoteItem.billToCustomer"\n        [isBold]="true"\n        class="param quote__params_quote-bill"\n      ></app-order-card-cell>\n\n      <ng-container *ngIf="quoteItem.volumeBased">\n        <app-order-card-cell\n          *ngIf="quoteItem.volumeBasedCategory"\n          [title]="\'orders.ordersActive.quoteItem.category\' | cxTranslate"\n          [value]="quoteItem.volumeBasedCategory"\n          [isBold]="true"\n          class="param quote__params_quote-price"\n        ></app-order-card-cell>\n        <app-order-card-cell\n          [title]="\'orders.ordersActive.quoteItem.unitOfOrder\' | cxTranslate"\n          [isBold]="true"\n          value="Tons"\n          class="param quote__params_quote-unit"\n        ></app-order-card-cell>\n        <app-order-card-cell\n          *ngIf="quoteItem.totalVolume"\n          [title]="\'orders.ordersActive.quoteItem.quantity\' | cxTranslate"\n          [value]="(quoteItem.totalVolume | massConversion) + \' t\'"\n          [isBold]="true"\n          class="param quote__params_quote-quantity"\n        ></app-order-card-cell>\n      </ng-container>\n    </div>\n\n    <div class="quote__action-line d-flex align-items-center" *ngIf="quoteItem.totalItems > 0">\n      <div (click)="toggleProductsList()" class="quote__items-toggle">\n        {{ \'orders.ordersActive.quoteItem.quoteItems\' | cxTranslate }}\n        <svg-icon-sprite\n          src="expand_more"\n          class="quote__items-toggle-icon"\n          width="16px"\n        ></svg-icon-sprite>\n      </div>\n      <div class="quote__items-amount ml-auto">\n        {{ quoteItem.totalItems }} {{ \'orders.ordersActive.quoteItem.items\' | cxTranslate }}\n      </div>\n    </div>\n\n    <div *ngIf="isProductsListOpen" class="quote__items-list">\n      <scrollbar\n        *ngIf="(quoteEntries$ | async) as quoteEntries; else loading"\n        class="quote__item"\n        id="product-cards"\n        [style.max-height.px]="cards.cardSize * cards.shownItemsCountBeforeScroll"\n      >\n        <app-quotes-active-quote-product-card\n          *ngFor="let quoteEntry of quoteEntries.slice(0, shownItemsCount); let i = index"\n          [entry]="quoteEntry"\n          [index]="i + 1"\n          [isQuote]="true"\n        ></app-quotes-active-quote-product-card>\n        <app-show-more *ngIf="quoteEntries.length > 10">\n          <ng-container total>\n            {{ \'orders.ordersActive.itemOfItems\' | cxTranslate : { items: shownItemsCount < quoteEntries.length ? shownItemsCount : quoteEntries.length, totalItems: quoteEntries.length } }}\n          </ng-container>\n          <ng-container button>\n            <button class="btn btn--sm btn-secondary" [disabled]="shownItemsCount >= quoteEntries.length" (click)="showMore()">{{ \'button.showMoreItems\' | cxTranslate }}</button>\n          </ng-container>\n        </app-show-more>\n      </scrollbar>\n      <ng-template #loading>\n        <div class="loader-in-process">\n          <app-loader size="36px"></app-loader>\n        </div>\n      </ng-template>\n    </div>\n  </div>\n</div>\n',styles:[xD()]})],Bu);var CD=i(1184),bD=i.n(CD);let ac=class extends ic{constructor(e,t,s,o,l,u,h,_){super(e,t,s,o,l,u,h,_),this.cmsService=e,this.ordersService=t,this.translatePipe=s,this.globalMessageService=o,this.changeDetection=l,this.router=u,this.translationService=h,this.viewportScroller=_,this.subSectionName=$t.ACTIVE}static#e=this.ctorParameters=()=>[{type:p.xYq},{type:De},{type:p.D97},{type:p.S8D},{type:n.gRc},{type:y.Ix},{type:p.L08},{type:S.Xr}]};ac=(0,r.Cg)([(0,n.uAl)({selector:"app-quotes-active-quote-product-card",template:'<div\n  *ngIf="entry"\n  [class.is-characteristics-open]="isProductCharacteristicsOpen"\n  [class]="itemStatus?.className"\n  class="quote-item-product"\n>\n  <div class="quote-item-product__header">\n    <div class="quote-item-product__category d-flex justify-content-start align-items-center">\n      <div class="quote-item-product__index">{{ index }}</div>\n      <span class="quote-item-product__category-title">{{ \'orders.ordersActive.category\' | cxTranslate }}</span>\n      <span class="quote-item-product__category-name">{{ entry?.product?.categories[0]?.name }}</span>\n    </div>\n  </div>\n\n  <div class="quote-item-product__params">\n    <ng-container *ngFor="let feature of productFeatures.mainFeatures; let i = index">\n      <app-order-card-cell\n        *ngIf="feature.featureValues?.length"\n        [title]="feature.name"\n        [value]="feature.featureValues[0]?.value | changePropertyValue: { code:feature.code, dimension: dimension, diameter: diameter }"\n        class="param param__param-{{i + 1}}"\n      ></app-order-card-cell>\n    </ng-container>\n    <app-order-card-cell\n      *ngIf="!isQuoteUpdated && entry.product.productionType === PRODUCT_TYPE.STRIP"\n      [title]="\'orders.ordersActive.quoteItem.unitOfOrder\' | cxTranslate"\n      [value]="entry.unit === UNITS.PIECES ? \'Piece (s)\' : \'Tons\'"\n      class="param param__param-5"\n    ></app-order-card-cell>\n    <app-order-card-cell\n      *ngIf="productPrice$.value || entry.priceNotFinal"\n      [isPriceNotFinal]="!!entry.priceNotFinal"\n      [title]="\'text.productList.variantProduct.strip.pricePerPiece\' | cxTranslate: { unit: UNITS.TONS}"\n      [value]="entry.priceNotFinal ? \'\' : productPrice$.value"\n      class="param param__param-6"\n    >\n      <app-price-not-final\n        *ngIf="entry.priceNotFinal"\n        [showWarning]="true"\n      >\n        <ng-container text>{{ \'text.cart.product.priceNotFinal\' | cxTranslate }}</ng-container>\n        <ng-container tooltip-content>\n          <p class="price-not-final__bold">{{ \'text.cart.product.definePrice\' | cxTranslate }}</p>\n          <p class="price-not-final__thin">{{ \'text.cart.product.contactTeam\' | cxTranslate }}</p>\n        </ng-container>\n      </app-price-not-final>\n    </app-order-card-cell>\n    <div class="param param__param-7">\n      <div class="param__title">\n        {{ \'orders.ordersActive.quoteItem.quantity\' | cxTranslate }}\n      </div>\n      <div class="param__value">\n        {{ entry.unit === UNITS.PIECES ? entry.quantity : (entry.quantity | massConversion) }}\n        {{ entry.unit | units }}\n      </div>\n    </div>\n    <app-order-card-cell\n      *ngIf="entry.deliveryMonth"\n      [title]="\'orders.ordersActive.quoteItem.deliveryMonth\' | cxTranslate"\n      [value]="entry.deliveryMonth"\n      class="param param__param-8"\n    ></app-order-card-cell>\n    <app-order-card-cell\n      *ngIf="entry.shipTo"\n      [title]="\'orders.ordersActive.orderItemProduct.shipTo\' | cxTranslate"\n      [value]="entry.shipTo"\n      class="param param__param-9"\n    ></app-order-card-cell>\n    <app-order-card-cell\n      *ngIf="entry.shippingAddress"\n      [title]="\'orders.ordersActive.orderItemProduct.shippingAddress\' | cxTranslate"\n      [value]="entry.shippingAddress"\n      class="param param__param-10"\n    ></app-order-card-cell>\n    <app-order-card-cell\n      *ngIf="entry.shippingConditions"\n      [title]="\'orders.ordersActive.orderItemProduct.shippingConditions\' | cxTranslate"\n      [value]="entry.shippingConditions"\n      class="param param__param-11"\n    ></app-order-card-cell>\n  </div>\n\n  <div class="quote-item-product__action-line">\n    <div\n      *ngIf="productFeatures.secondaryFeatures?.length || productFeatures.restFeatures?.length || entry.status"\n      class="quote-item-product__action-line-header d-flex align-items-center">\n      <div\n        *ngIf="productFeatures.secondaryFeatures?.length || productFeatures.restFeatures?.length"\n        (click)="toggleProductCharacteristics()"\n        class="quote-item-product__characteristics-toggle"\n      >\n        {{ \'orders.ordersActive.orderItemProduct.characteristics\' | cxTranslate }}\n        <svg-icon-sprite\n          src="expand_more"\n          class="quote-item-product__characteristics-toggle-icon"\n          width="16px"\n        ></svg-icon-sprite>\n      </div>\n      <div class="quote-item-product__status d-flex align-items-center ml-auto" *ngIf="entry.status">\n        {{ (\'orders.orderStatus.\' + entry.status.toLowerCase()) | cxTranslate }}\n        <svg-icon-sprite\n          [src]="itemStatus.iconName"\n          class="quote-item-product__status-icon"\n          width="16px"\n          height="16px"\n        ></svg-icon-sprite>\n      </div>\n    </div>\n    <div class="quote-item-product__action-line-content">\n      <hr class="quote-item-product__action-line-hr">\n      <div\n        *ngIf="productFeatures.secondaryFeatures?.length || productFeatures.restFeatures?.length"\n        class="order-item-product__params-extended"\n      >\n        <ng-container *ngFor="let feature of productFeatures.secondaryFeatures">\n          <ng-container *ngIf="feature.featureValues?.length">\n            <ng-container *ngTemplateOutlet="simpleFeature; context: {feature: feature}"></ng-container>\n          </ng-container>\n        </ng-container>\n\n        <ng-container *ngFor="let feature of productFeatures.restFeatures">\n          <ng-container *ngIf="feature.featureValues?.length">\n            <ng-container *ngTemplateOutlet="simpleFeature; context: {feature: feature}"></ng-container>\n          </ng-container>\n        </ng-container>\n      </div>\n    </div>\n  </div>\n</div>\n\n<ng-template #simpleFeature let-feature="feature">\n  <div class="param">\n    <div class="param__title">{{ feature.name }}</div>\n    <div class="param__value">\n      {{  (isCoilWeight(feature.code) ? +feature.featureValues[0].value : feature.featureValues[0].value) | changePropertyValue: { code:feature.code, dimension: dimension, diameter: diameter } }}\n    </div>\n  </div>\n</ng-template>\n',styles:[bD()]})],ac);var SD=i(26878),TD=i.n(SD);let Vu=class extends sc{constructor(e,t,s){super(e,t,s),this.orderCardsService=e,this.ordersService=t,this.eventBus=s}static#e=this.ctorParameters=()=>[{type:Ht},{type:De},{type:ve.u}]};Vu=(0,r.Cg)([(0,n.uAl)({selector:"app-quotes-history-quote-card",template:'<div\n  *ngIf="quoteItem"\n  [class.is-open]="isProductsListOpen"\n  class="quote"\n>\n  <div\n    [class]="itemStatus?.className"\n    class="quote__header d-flex align-items-center"\n  >\n    <div class="quote__number">\n      <a [routerLink]="[ROUTE_URL.MY_ACCOUNT.QUOTE.DETAILS]"\n         [queryParams]="{quoteNumber: quoteItem.code, completed: true}">\n        {{ \'orders.ordersActive.quoteItem.quoteNumber\' | cxTranslate }}\n        {{ quoteItem.externalQuoteId }}\n      </a>\n      <svg-icon-sprite\n        *ngIf="quoteItem.isConsignment"\n        class="quote__icon-consignee"\n        src="consignee"\n        title="Consignment"\n        width="24px"\n        height="24px"\n      >\n      </svg-icon-sprite>\n    </div>\n    <div *ngIf="quoteItem.state" class="quote__status ml-auto">\n      {{ (\'orders.quoteStatus.\' + quoteItem.state.toLowerCase()) | cxTranslate }}\n    </div>\n  </div>\n\n  <div class="quote__body">\n    <div class="quote__params">\n      <app-order-card-cell\n        [title]="\'orders.ordersActive.quoteItem.quotePlacementDate\' | cxTranslate"\n        [value]="quoteItem.quotePlacementDate | date: \'dd.MM.yyyy\'"\n        [isBold]="true"\n        class="param quote__params_placement-date"\n      ></app-order-card-cell>\n      <app-order-card-cell\n        [title]="\'orders.ordersActive.quoteItem.currency\' | cxTranslate"\n        [value]="quoteItem.currency.symbol + \' \' + quoteItem.currency.name"\n        [isBold]="true"\n        class="param quote__params_quote-currency"\n      ></app-order-card-cell>\n      <app-order-card-cell\n        *ngIf="quoteItem.contractLength"\n        [title]="\'orders.ordersActive.quoteItem.contractLength\' | cxTranslate"\n        [value]="quoteItem.contractLength"\n        [isBold]="true"\n        class="param quote__params_quote-length"\n      ></app-order-card-cell>\n      <app-order-card-cell\n        *ngIf="quoteItem.validUntil"\n        [title]="\'orders.ordersActive.quoteItem.validUntil\' | cxTranslate"\n        [value]="quoteItem.validUntil | dateWithTimezonePipe"\n        [isBold]="true"\n        class="param quote__params_quote-valid"\n      ></app-order-card-cell>\n      <app-order-card-cell\n        [title]="\'orders.ordersActive.quoteItem.soldTo\' | cxTranslate"\n        [value]="quoteItem.soldToCustomer"\n        [isBold]="true"\n        class="param quote__params_quote-sold"\n      ></app-order-card-cell>\n      <app-order-card-cell\n        [title]="\'orders.ordersActive.quoteItem.shipTo\' | cxTranslate"\n        [value]="quoteItem.shipToCustomer"\n        [isBold]="true"\n        class="param quote__params_quote-ship"\n      ></app-order-card-cell>\n      <app-order-card-cell\n        *ngIf="quoteItem.billToCustomer"\n        [title]="\'orders.ordersActive.quoteItem.billTo\' | cxTranslate"\n        [value]="quoteItem.billToCustomer"\n        [isBold]="true"\n        class="param quote__params_quote-bill"\n      ></app-order-card-cell>\n    </div>\n\n    <div class="quote__action-line d-flex align-items-center" *ngIf="quoteItem.totalItems > 0">\n      <div (click)="toggleProductsList()" class="quote__items-toggle">\n        {{ \'orders.ordersActive.quoteItem.quoteItems\' | cxTranslate }}\n        <svg-icon-sprite\n          src="expand_more"\n          class="quote__items-toggle-icon"\n          width="16px"\n        ></svg-icon-sprite>\n      </div>\n      <div class="quote__items-amount ml-auto">\n        {{ quoteItem.totalItems }} {{ \'orders.ordersActive.quoteItem.items\' | cxTranslate }}\n      </div>\n    </div>\n\n    <div *ngIf="isProductsListOpen" class="quote__items-list">\n      <scrollbar\n        *ngIf="(quoteEntries$ | async) as quoteEntries; else loading"\n        class="quote__item"\n        id="product-cards"\n        [style.max-height.px]="cards.cardSize * cards.shownItemsCountBeforeScroll"\n      >\n        <app-quotes-history-quote-product-card\n          *ngFor="let quoteEntry of quoteEntries.slice(0, shownItemsCount); let i = index"\n          [entry]="quoteEntry"\n          [index]="i + 1"\n          [isQuote]="true"\n        ></app-quotes-history-quote-product-card>\n        <app-show-more *ngIf="quoteEntries.length > 10">\n          <ng-container total>\n            {{ \'orders.ordersActive.itemOfItems\' | cxTranslate : { items: shownItemsCount < quoteEntries.length ? shownItemsCount : quoteEntries.length, totalItems: quoteEntries.length } }}\n          </ng-container>\n          <ng-container button>\n            <button class="btn btn--sm btn-secondary" [disabled]="shownItemsCount >= quoteEntries.length" (click)="showMore()">{{ \'button.showMoreItems\' | cxTranslate }}</button>\n          </ng-container>\n        </app-show-more>\n      </scrollbar>\n      <ng-template #loading>\n        <div class="loader-in-process">\n          <app-loader size="36px"></app-loader>\n        </div>\n      </ng-template>\n    </div>\n  </div>\n</div>\n',styles:[TD()]})],Vu);var RD=i(19714),OD=i.n(RD);let cc=class extends ic{constructor(e,t,s,o,l,u,h,_){super(e,t,s,o,l,u,h,_),this.cmsService=e,this.ordersService=t,this.translatePipe=s,this.globalMessageService=o,this.changeDetection=l,this.router=u,this.translationService=h,this.viewportScroller=_,this.subSectionName=$t.HISTORY}static#e=this.ctorParameters=()=>[{type:p.xYq},{type:De},{type:p.D97},{type:p.S8D},{type:n.gRc},{type:y.Ix},{type:p.L08},{type:S.Xr}]};cc=(0,r.Cg)([(0,n.uAl)({selector:"app-quotes-history-quote-product-card",template:'<div\n  *ngIf="entry"\n  [class.is-characteristics-open]="isProductCharacteristicsOpen"\n  [class]="itemStatus?.className"\n  class="quote-item-product"\n>\n  <div class="quote-item-product__header">\n    <div class="quote-item-product__category d-flex justify-content-start align-items-center">\n      <div class="quote-item-product__index">{{ index }}</div>\n      <span class="quote-item-product__category-title">{{ \'orders.ordersActive.category\' | cxTranslate }}</span>\n      <span class="quote-item-product__category-name">{{ entry?.product?.categories[0]?.name }}</span>\n    </div>\n  </div>\n\n  <div class="quote-item-product__params">\n    <ng-container *ngFor="let feature of productFeatures.mainFeatures; let i = index">\n      <app-order-card-cell\n        *ngIf="feature.featureValues?.length"\n        [title]="feature.name"\n        [value]="feature.featureValues[0]?.value | changePropertyValue: { code:feature.code, dimension: dimension, diameter: diameter }"\n        class="param param__param-{{i + 1}}"\n      ></app-order-card-cell>\n    </ng-container>\n    <app-order-card-cell\n      *ngIf="!isQuoteUpdated && entry.product.productionType === PRODUCT_TYPE.STRIP"\n      [title]="\'orders.ordersActive.quoteItem.unitOfOrder\' | cxTranslate"\n      [value]="entry.unit === UNITS.PIECES ? \'Piece (s)\' : \'Tons\'"\n      class="param param__param-5"\n    ></app-order-card-cell>\n    <app-order-card-cell\n      *ngIf="productPrice$.value || entry.priceNotFinal"\n      [isPriceNotFinal]="!!entry.priceNotFinal"\n      [title]="\'text.productList.variantProduct.strip.pricePerPiece\' | cxTranslate: { unit: UNITS.TONS}"\n      [value]="entry.priceNotFinal ? \'\' : productPrice$.value"\n      class="param param__param-6"\n    >\n      <app-price-not-final\n        *ngIf="entry.priceNotFinal"\n        [showWarning]="true"\n      >\n        <ng-container text>{{ \'text.cart.product.priceNotFinal\' | cxTranslate }}</ng-container>\n        <ng-container tooltip-content>\n          <p class="price-not-final__bold">{{ \'text.cart.product.definePrice\' | cxTranslate }}</p>\n          <p class="price-not-final__thin">{{ \'text.cart.product.contactTeam\' | cxTranslate }}</p>\n        </ng-container>\n      </app-price-not-final>\n    </app-order-card-cell>\n    <div class="param param__param-7">\n      <div class="param__title">\n        {{ \'orders.ordersActive.quoteItem.quantity\' | cxTranslate }}\n      </div>\n      <div class="param__value">\n        {{ entry.unit === UNITS.PIECES ? entry.quantity : (entry.quantity | massConversion) }}\n        {{ entry.unit | units }}\n      </div>\n    </div>\n    <app-order-card-cell\n      *ngIf="entry.deliveryMonth"\n      [title]="\'orders.ordersActive.quoteItem.deliveryMonth\' | cxTranslate"\n      [value]="entry.deliveryMonth"\n      class="param param__param-8"\n    ></app-order-card-cell>\n    <app-order-card-cell\n      *ngIf="entry.shipTo"\n      [title]="\'orders.ordersActive.orderItemProduct.shipTo\' | cxTranslate"\n      [value]="entry.shipTo"\n      class="param param__param-9"\n    ></app-order-card-cell>\n    <app-order-card-cell\n      *ngIf="entry.shippingAddress"\n      [title]="\'orders.ordersActive.orderItemProduct.shippingAddress\' | cxTranslate"\n      [value]="entry.shippingAddress"\n      class="param param__param-10"\n    ></app-order-card-cell>\n    <app-order-card-cell\n      *ngIf="entry.shippingConditions"\n      [title]="\'orders.ordersActive.orderItemProduct.shippingConditions\' | cxTranslate"\n      [value]="entry.shippingConditions"\n      class="param param__param-11"\n    ></app-order-card-cell>\n  </div>\n\n  <div class="quote-item-product__action-line">\n    <div\n      *ngIf="productFeatures.secondaryFeatures?.length || productFeatures.restFeatures?.length || entry.status"\n      class="quote-item-product__action-line-header d-flex align-items-center">\n      <div\n        *ngIf="productFeatures.secondaryFeatures?.length || productFeatures.restFeatures?.length"\n        (click)="toggleProductCharacteristics()"\n        class="quote-item-product__characteristics-toggle"\n      >\n        {{ \'orders.ordersActive.orderItemProduct.characteristics\' | cxTranslate }}\n        <svg-icon-sprite\n          src="expand_more"\n          class="quote-item-product__characteristics-toggle-icon"\n          width="16px"\n        ></svg-icon-sprite>\n      </div>\n      <div class="quote-item-product__status d-flex align-items-center ml-auto" *ngIf="entry.status">\n        {{ (\'orders.orderStatus.\' + entry.status.toLowerCase()) | cxTranslate }}\n        <svg-icon-sprite\n          [src]="itemStatus.iconName"\n          class="quote-item-product__status-icon"\n          width="16px"\n          height="16px"\n        ></svg-icon-sprite>\n      </div>\n    </div>\n    <div class="quote-item-product__action-line-content">\n      <hr class="quote-item-product__action-line-hr">\n      <div\n        *ngIf="productFeatures.secondaryFeatures?.length || productFeatures.restFeatures?.length"\n        class="order-item-product__params-extended"\n      >\n        <ng-container *ngFor="let feature of productFeatures.secondaryFeatures">\n          <ng-container *ngIf="feature.featureValues?.length">\n            <ng-container *ngTemplateOutlet="simpleFeature; context: {feature: feature}"></ng-container>\n          </ng-container>\n        </ng-container>\n\n        <ng-container *ngFor="let feature of productFeatures.restFeatures">\n          <ng-container *ngIf="feature.featureValues?.length">\n            <ng-container *ngTemplateOutlet="simpleFeature; context: {feature: feature}"></ng-container>\n          </ng-container>\n        </ng-container>\n      </div>\n    </div>\n  </div>\n</div>\n\n<ng-template #simpleFeature let-feature="feature">\n  <div class="param">\n    <div class="param__title">{{ feature.name }}</div>\n    <div class="param__value">\n      {{ (isCoilWeight(feature.code) ? +feature.featureValues[0].value : feature.featureValues[0].value) | changePropertyValue: { code:feature.code, dimension: dimension, diameter: diameter } }}\n    </div>\n  </div>\n</ng-template>\n',styles:[OD()]})],cc);var ID=i(29863),wD=i.n(ID);let lc=class{constructor(e){this.cmsService=e,this.resetFilters=new n.bkB,this.PAGES_ID=q,this.pageId$=this.cmsService.getCurrentPage().pipe((0,B.p)(Boolean),(0,fe.E)("pageId"))}ngOnInit(){}static#e=this.ctorParameters=()=>[{type:p.xYq}];static#t=this.propDecorators={orderItem:[{type:n.pde}],resetFilters:[{type:n.k7i}]}};lc=(0,r.Cg)([(0,n.uAl)({selector:"app-orders",template:'<ng-container *ngIf="pageId$ | async as pageId">\n  <ng-container [ngSwitch]="pageId">\n    <ng-container *ngSwitchCase="PAGES_ID.ORDERS_ACTIVE">\n      <app-orders-active-order-card\n        [orderItem]="orderItem"\n        (resetFilters)="resetFilters.emit()"\n      ></app-orders-active-order-card>\n    </ng-container>\n    <ng-container *ngSwitchCase="PAGES_ID.ORDERS_HISTORY">\n      <app-orders-history-order-card\n        [orderItem]="orderItem"\n        (resetFilters)="resetFilters.emit()"\n      ></app-orders-history-order-card>\n    </ng-container>\n    <ng-container *ngSwitchCase="PAGES_ID.QUOTES_ACTIVE">\n      <app-quotes-active-quote-card\n        [quoteItem]="orderItem"\n      ></app-quotes-active-quote-card>\n    </ng-container>\n    <ng-container *ngSwitchCase="PAGES_ID.QUOTES_HISTORY">\n      <app-quotes-history-quote-card\n        [quoteItem]="orderItem"\n      ></app-quotes-history-quote-card>\n    </ng-container>\n    <ng-container *ngSwitchDefault></ng-container>\n  </ng-container>\n</ng-container>\n',styles:[wD()]})],lc);let Gu=class{};Gu=(0,r.Cg)([(0,n.UQu)({declarations:[Uu,Bu,rc,ac,$u,Vu,oc,cc,lc,Fu,Du,Mu],imports:[S.MD,y.iI,p.LP3,p.YYe,ge,V.F2,xe,ln,Xe.n8,be,Te,Ms],exports:[lc,rc,oc,ac,cc]})],Gu);var DD=i(96996),LD=i.n(DD);let zu=class{constructor(e,t,s,o,l,u,h,_,C,T){this.ordersService=e,this.activatedRoute=t,this.router=s,this.cartService=o,this.multiCartService=l,this.launchDialogService=u,this.globalMessageService=h,this.changeDetection=_,this.translateService=C,this.orderTrackingService=T,this.isQuote=!1,this.isMTO=!1,this.isStrip=!1,this.agreement=null,this.orderEntries=null,this.destroy$=new R.B,this.INCOTERM_STATUS=Bi,this.orderCode=this.activatedRoute.snapshot.params?.orderCode,this.isLoading=!1,this.isDisabled=!1}ngOnInit(){}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}reorder(){if(this.agreement&&new Date(this.agreement.endDate).getTime()<(new Date).getTime()){const e=this.translateService.transform("text.cart.reOrderErrors.startEndDate",{code:this.agreement?.code});this.globalMessageService.add(e,p.NCV.MSG_TYPE_ERROR)}else this.isLoading=!0,this.cartService.getCart().pipe((0,me.$)(),(0,k.n)(e=>e&&Object.keys(e).length>0?(0,$.of)(e):this.multiCartService.createCart({userId:ht.userId}).pipe((0,B.p)(t=>!(0,se.Im)(t)))),(0,x.Q)(this.destroy$)).subscribe(e=>{e.code?(e.rootGroups.length&&e.rootGroups.filter(s=>s.groupType===nt.ORDER))?.length?(this.openConfirmModal(),this.launchDialogService.dialogClose.subscribe(s=>{void 0!==s&&(s?this.ordersService.reFillingCart({orderCode:this.orderCode,cartId:e.code}).pipe((0,pe.W)(o=>(this.globalMessageService.add(o.error.errors[0].message,p.NCV.MSG_TYPE_ERROR),(0,ue.$)(o))),(0,x.Q)(this.destroy$)).subscribe(o=>{const l=o?.cartModifications;if(o.allFailed)return this.showError(l[0]),this.isLoading=!1,void(this.isDisabled=!0);l.length>0&&!this.isMTO&&l.forEach(u=>{this.showError(u)}),this.multiCartService.loadCart(ht),this.isMTO?this.router.navigate([M.MY_ACCOUNT.ORDER.RE_ORDER],{queryParams:{contract:this.agreement?.code,order:this.orderCode}}):(this.cartService.reOrderPlaced$.next(!0),this.router.navigate([M.CART]).then())}):this.placeReorder({orderCode:this.orderCode,cartId:e.code}))})):this.placeReorder({orderCode:this.orderCode,cartId:e.code}):this.isLoading=!1})}openConfirmModal(){this.launchDialogService.openDialogAndSubscribe("CONFIRM_MODAL",void 0,{title:this.translateService.transform("orderDetails.reOrderModal.title"),subTitle:this.translateService.transform("orderDetails.reOrderModal.text"),confirmButton:this.translateService.transform("orderDetails.reOrderModal.buttonPrimary"),cancelButton:this.translateService.transform("orderDetails.reOrderModal.buttonSecondary"),icon:"warning",size:vt.M})}placeReorder(e){this.ordersService.reOrder(e).pipe((0,_e.j)(()=>{this.isLoading=!1,this.changeDetection.detectChanges()}),(0,pe.W)(t=>(this.globalMessageService.add(t.error.errors[0].message,p.NCV.MSG_TYPE_ERROR),(0,ue.$)(t))),(0,x.Q)(this.destroy$)).subscribe(t=>{const s=t?.cartModifications;if(t.allFailed)return this.showError(s[0]),this.isLoading=!1,void(this.isDisabled=!0);s.length>0&&!this.isMTO&&s.forEach(o=>{this.showError(o)}),this.orderTrackingService.trackReorderSuccess("order",this.orderEntries?.orderEntries),this.isMTO?this.router.navigate([M.MY_ACCOUNT.ORDER.RE_ORDER],{queryParams:{contract:this.agreement?.code,order:this.orderCode}}):(this.cartService.reOrderPlaced$.next(!0),this.multiCartService.loadCart(ht),this.router.navigate([M.CART]).then())})}showError(e){if(!e)return;let t;switch(e.statusCode?.toString()){case te.CONTRACT_DOES_NOT_EXIST:case te.START_END_DATE:t=this.translateService.transform(`text.cart.reOrderErrors.${e.statusCode}`,{code:this.agreement?.code});break;case te.PRODUCT_DOES_NOT_EXIST:case te.NO_STOCK:case te.WRONG_REMAINING_TONNAGE:t=this.translateService.transform(`text.cart.reOrderErrors.${e.statusCode}`,{index:e.indexFailed+1});break;case te.PRODUCT_NO_APPROVED:case te.SPECREF:default:t=this.translateService.transform(`text.cart.reOrderErrors.${e.statusCode}`)}this.globalMessageService.add(t,p.NCV.MSG_TYPE_ERROR)}static#e=this.ctorParameters=()=>[{type:De},{type:y.nX},{type:y.Ix},{type:ye},{type:se.Z1},{type:v.PLe},{type:p.S8D},{type:n.gRc},{type:p.D97},{type:bt}];static#t=this.propDecorators={order:[{type:n.pde}],isQuote:[{type:n.pde}],isMTO:[{type:n.pde}],isStrip:[{type:n.pde}],agreement:[{type:n.pde}],orderEntries:[{type:n.pde}]}};zu=(0,r.Cg)([(0,n.uAl)({selector:"app-order-delivery",template:'<app-card-wrapper>\n  <div class="order-delivery">\n    <div class="order-delivery__info-list">\n      <app-text-block\n        class="order-delivery__item-left"\n        title="{{ \'orderDetails.soldToCustomer\' | cxTranslate }}"\n        [description]="order.soldToCustomer"\n      ></app-text-block>\n      <app-text-block\n        class="order-delivery__item-left"\n        title="{{ \'orderDetails.shipTo\' | cxTranslate }}"\n        [description]="order.shipToCustomer"\n      ></app-text-block>\n      <app-text-block *ngIf="order.consignee"\n        class="order-delivery__item-left"\n        title="{{ \'orderDetails.consignee\' | cxTranslate }}"\n        [description]="order.consignee"\n      ></app-text-block>\n      <app-text-block *ngIf="isQuote && order.billToCustomer"\n                      class="order-delivery__item-left"\n                      title="{{ \'orderDetails.billTo\' | cxTranslate }}"\n                      [description]="order.billToCustomer"\n      ></app-text-block>\n      <app-text-block *ngIf="isQuote && quoteCode"\n                      class="order-delivery__item-right"\n                      title="{{ \'orderDetails.quoteNumber\' | cxTranslate }}"\n                      [description]="quoteCode"\n      ></app-text-block>\n      <app-text-block *ngIf="order.incoterms?.toUpperCase() !== INCOTERM_STATUS.EX_WORKS"\n                      class="order-delivery__item-left"\n                      [class.order-delivery__item-right]="isQuote"\n                      title="{{ \'orderDetails.shippingAddress\' | cxTranslate }}"\n                      [description]="order.shippingAddress"\n      ></app-text-block>\n      <app-text-block *ngIf="!isQuote"\n        class="order-delivery__item-right"\n        title="{{ \'orders.ordersActive.orderItem.orderReferenceNumber\' | cxTranslate }}"\n        [description]="order.poNumber"\n      ></app-text-block>\n      <app-text-block *ngIf="order?.formattedOrderType"\n          class="order-delivery__item-right"\n          title="{{ \'orders.ordersActive.orderItem.orderType\' | cxTranslate }}"\n          [description]="order.formattedOrderType"\n      ></app-text-block>\n    </div>\n    <button\n      *ngIf="!isQuote && !(!isMTO && isStrip)"\n      [disabled]="isLoading || isDisabled"\n      (click)="reorder()"\n      class="order-delivery__button btn btn--md btn-secondary"\n    >\n      <ng-container *ngIf="!isLoading; else loader">\n        {{ \'orderDetails.reOrder\' | cxTranslate }}\n      </ng-container>\n    </button>\n  </div>\n</app-card-wrapper>\n\n<ng-template #loader>\n  <div class="loader-in-process">\n    <app-loader size="36px"></app-loader>\n  </div>\n</ng-template>\n',changeDetection:n.Ngq.OnPush,styles:[LD()]})],zu);var FD=i(31604),MD=i.n(FD);let Yu=class{onResize(){this.cards=this.orderCardsService.getCurrentCardSize(this.shownItemsCountBeforeScrollDesktop,this.shownItemsCountBeforeScrollMobile)}constructor(e,t){this.ordersService=e,this.orderCardsService=t,this.hasDocuments=!1,this.orderItemSearch=new n.bkB,this.ORDER_STATUS_NAME=b,this.isSelectedAll$=this.ordersService.isSelectAll$,this.hasPriceNotFinalEntry=!1,this.shownItemsCount=10,this.shownItemsCountBeforeScrollDesktop=3,this.shownItemsCountBeforeScrollMobile=2,this.batchBarHeight=42,this.cards={cardSize:184,shownItemsCountBeforeScroll:3}}ngOnInit(){this.hasPriceNotFinalEntry=this.entries.some(e=>e.priceNotFinal),this.onResize()}isHaveNotDeliveredCoils(e){return!!e.find(t=>t.batchStatus.find(s=>{if(s.status===b.READY_TO_SHIP)return s.quantity>0&&s.coils?.find(o=>!o.isDeliveryCreated)}))}selectAll(){this.ordersService.selectAllCoils(!0)}showMore(){return this.shownItemsCount+=10}calcMaxHeight(e){const t=e.filter(s=>s.batchStatus.length).length;return(this.cards.cardSize+this.batchBarHeight)*t+(this.cards.shownItemsCountBeforeScroll-t)*this.cards.cardSize}static#e=this.ctorParameters=()=>[{type:De},{type:Ht}];static#t=this.propDecorators={actualStatus:[{type:n.pde}],isMTO:[{type:n.pde}],entries:[{type:n.pde}],hasDocuments:[{type:n.pde}],orderItemSearch:[{type:n.k7i}],onResize:[{type:n.Z$l,args:["window:resize"]}]}};Yu=(0,r.Cg)([(0,n.uAl)({selector:"app-order-detail-card",template:'<app-toggle-card [isExpand]="true" [grey]="true">\n  <svg-icon-sprite header-icon src="shopping_cart" width="18" height="18"></svg-icon-sprite>\n\n  <span header-left>\n    {{ \'orderDetails.orderItems\' | cxTranslate }}\n    <button\n      *ngIf="isHaveNotDeliveredCoils(entries)"\n      [disabled]="hasPriceNotFinalEntry || (isSelectedAll$ | async)"\n      (click)="selectAll()"\n      class="order-detail-card__button"\n    >\n      {{ \'orderDetails.selectAllCoils\' | cxTranslate }}\n    </button>\n  </span>\n\n  <scrollbar\n    toggle-body\n    [style.max-height.px]="calcMaxHeight(entries.slice(0, cards.shownItemsCountBeforeScroll))"\n    id="product-cards"\n  >\n    <div *ngFor="let entry of entries.slice(0, shownItemsCount); let i = index; let isLast = last">\n      <ng-container\n        *ngTemplateOutlet="\n          actualStatus.toLowerCase() === ORDER_STATUS_NAME.COMPLETED.toLowerCase() ? historyEntry : activeEntry;\n          context: { entry: entry, index: i }\n        "\n      ></ng-container>\n\n      <ng-template #historyEntry let-entry="entry" let-index="index">\n        <app-orders-history-order-product-card\n          [entry]="entry"\n          [index]="index + 1"\n          [isLast]="isLast"\n          [isMto]="isMTO"\n          [hasDocuments]="hasDocuments"\n          (orderItemSearch)="orderItemSearch.emit($event)"\n        ></app-orders-history-order-product-card>\n      </ng-template>\n      <ng-template #activeEntry let-entry="entry" let-index="index">\n        <app-orders-active-order-product-card\n          [entry]="entry"\n          [index]="index + 1"\n          [isLast]="isLast"\n          [isMto]="isMTO"\n          [hasDocuments]="hasDocuments"\n          (orderItemSearch)="orderItemSearch.emit($event)"\n        ></app-orders-active-order-product-card>\n      </ng-template>\n    </div>\n    <app-show-more *ngIf="entries.length > 10">\n      <ng-container total>\n        {{\n          \'orders.ordersActive.itemOfItems\'\n            | cxTranslate\n              : {\n                  items: shownItemsCount < entries.length ? shownItemsCount : entries.length,\n                  totalItems: entries.length\n                }\n        }}\n      </ng-container>\n      <ng-container button>\n        <button class="btn btn--sm btn-secondary" [disabled]="shownItemsCount >= entries.length" (click)="showMore()">\n          {{ \'button.showMoreItems\' | cxTranslate }}\n        </button>\n      </ng-container>\n    </app-show-more>\n  </scrollbar>\n</app-toggle-card>\n\n<app-order-item-request-delivery></app-order-item-request-delivery>\n',changeDetection:n.Ngq.OnPush,styles:[MD()]})],Yu);var UD=i(19312),$D=i.n(UD);class rm extends p._3U{}let Qu=class{constructor(e){this.eventService=e}trackDownloadFile(e,t){this.eventService.register(rm,(0,$.of)({event:ae.FILE_DOWNLOAD,document_type:e,document_category:t}))}static#e=this.ctorParameters=()=>[{type:p.USV}]};Qu=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],Qu);let qu=class{constructor(e,t,s,o){this.ordersService=e,this.globalMessageService=t,this.changeDetection=s,this.documentTrackingService=o,this.destroyed$=new R.B,this.isLoading=!1}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}download(){this.isLoading||(this.isLoading=!0,this.documentTrackingService.trackDownloadFile(this.document.documentType,this.productionType),this.ordersService.downloadDocument(this.document.masterCode,this.orderCode).pipe((0,_e.j)(()=>{this.isLoading=!1,this.changeDetection.detectChanges()}),(0,x.Q)(this.destroyed$)).subscribe(e=>{const t=this.document.documentName.includes(".")?this.document.documentName:`${this.document.documentName}.pdf`;this.ordersService.saveEmit(e,t)},()=>{this.globalMessageService.add({key:"error.downloadDocument"},p.NCV.MSG_TYPE_ERROR)}))}static#e=this.ctorParameters=()=>[{type:De},{type:p.S8D},{type:n.gRc},{type:Qu}];static#t=this.propDecorators={document:[{type:n.pde}],orderCode:[{type:n.pde}],productionType:[{type:n.pde}]}};qu=(0,r.Cg)([(0,n.uAl)({selector:"app-order-download-item",template:'<app-attachment-card\n  [document]="document"\n  [isLoading]="isLoading"\n  (click)="download()">\n</app-attachment-card>\n',changeDetection:n.Ngq.OnPush,styles:[$D()]})],qu);var VD=i(20970),GD=i.n(VD);let Hu=class{constructor(e,t,s){this.ordersService=e,this.globalMessageService=t,this.changeDetection=s,this.documents=[],this.orderItems=[],this.filteredDocuments=[],this.destroyed$=new R.B,this.isLoading=!1}ngOnChanges({documents:e,orderItems:t}){if(e||t){if(""===this.orderItems[0]||this.isOrderAcknowledgement())return void(this.filteredDocuments=this.documents);this.filteredDocuments=this.documents.filter(s=>s.items&&s.items.some(o=>this.orderItems.includes(o)))}}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}download(e){if(this.isLoading)return;this.isLoading=!0;const t=this.isOrderAcknowledgement()?[]:this.orderItems;this.ordersService.downloadDocuments(e,this.orderCode,t).pipe((0,_e.j)(()=>{this.isLoading=!1,this.changeDetection.detectChanges()}),(0,x.Q)(this.destroyed$)).subscribe(s=>{this.ordersService.saveEmit(s,`${e}.zip`)},()=>{this.globalMessageService.add({key:"error.downloadArchive"},p.NCV.MSG_TYPE_ERROR)})}isOrderAcknowledgement(){return"ORDER_ACKNOWLEDGEMENT"===this.type}static#e=this.ctorParameters=()=>[{type:De},{type:p.S8D},{type:n.gRc}];static#t=this.propDecorators={type:[{type:n.pde}],orderCode:[{type:n.pde}],productionType:[{type:n.pde}],documents:[{type:n.pde}],orderItems:[{type:n.pde}]}};Hu=(0,r.Cg)([(0,n.uAl)({selector:"app-order-download-row",template:'<div class="download-row" *ngIf="filteredDocuments?.length">\n  <div class="download-row__header">\n    <div class="download-row__header-title">\n      {{ \'orderDetails.\' + type | cxTranslate }}\n    </div>\n\n    <div class="download-row__header-button">\n      <app-button-big-transparent [disabled]="isLoading" (click)="download(type)">\n        {{ \'orderDetails.downloadAll\' | cxTranslate }}\n      </app-button-big-transparent>\n    </div>\n  </div>\n\n  <div class="download-row__body">\n    <ng-container *ngFor="let document of filteredDocuments">\n      <app-order-download-item\n        [document]="document"\n        [orderCode]="orderCode"\n        [productionType]="productionType"\n        class="download-item"\n      ></app-order-download-item>\n    </ng-container>\n  </div>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[GD()]})],Hu);var YD=i(51068),QD=i.n(YD);let ju=class{constructor(){this.downloadsList={},this.downloadGroupsOrder=["PROFORMA","ORDER_ACKNOWLEDGEMENT","PACKING_LIST","DELIVERY_NOTE","CERTIFICATE","INVOICE"],this.orderItemSearchChange=new n.bkB,this.orderItems=[],this.isOpen=!1,this.searchControl=new m.MJ(""),this.destroy$=new R.B}ngOnInit(){this.downloadsList=this.groupByType(),this.searchControl.valueChanges.pipe((0,x.Q)(this.destroy$)).subscribe(e=>{this.orderItemSearchChange.emit(e)})}ngOnChanges({orderItemsSearch:e}){e&&(this.searchControl.setValue(this.orderItemsSearch,{emitEvent:!1}),this.orderItems=this.orderItemsSearch.split(",").map(t=>t.trim()),this.isOpen=!!this.orderItemsSearch)}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}groupByType(){return this.documents.reduce((e,t)=>(e[t.documentType]=e[t.documentType]||[],e[t.documentType].push(t),e),Object.create(null))}close(){this.isOpen=!1,this.searchControl.setValue("")}static#e=this.propDecorators={documents:[{type:n.pde}],orderCode:[{type:n.pde}],orderItemsSearch:[{type:n.pde}],productionType:[{type:n.pde}],orderItemSearchChange:[{type:n.k7i}]}};ju=(0,r.Cg)([(0,n.uAl)({selector:"app-order-downloads",template:'<app-toggle-card *ngIf="downloadsList" [isExpand]="true">\n  <svg-icon-sprite header-icon src="cloud_download" width="18" height="18"></svg-icon-sprite>\n\n  <span header-left>\n    {{ \'orderDetails.download\' | cxTranslate }}\n  </span>\n\n  <div header-right>\n    <svg-icon-sprite\n      *ngIf="!isOpen && !orderItemsSearch"\n      src="search"\n      width="32"\n      height="32"\n      class="search__icon"\n      (click)="isOpen = true"\n    ></svg-icon-sprite>\n    <div class="search-group">\n      <app-input\n        *ngIf="isOpen || orderItemsSearch"\n        class="search-input"\n        [controlData]="searchControl"\n        label="{{ \'orderDetails.documentSearchPlaceholder\' | cxTranslate }}"\n        [showIcon]="false"\n        [isAutoFocus]="true"\n        [showTextErrors]="false"\n        (keydown.escape)="close()"\n      ></app-input>\n      <svg-icon-sprite\n        *ngIf="isOpen"\n        src="close"\n        width="32"\n        height="32"\n        class="search__icon search__icon--reset"\n        (click)="close()"\n      ></svg-icon-sprite>\n    </div>\n  </div>\n\n  <div toggle-body>\n    <div class="order-downloads">\n      <ng-container *ngFor="let type of downloadGroupsOrder">\n        <app-order-download-row\n          *ngIf="downloadsList[type]"\n          [orderCode]="orderCode"\n          [documents]="downloadsList[type]"\n          [orderItems]="orderItems"\n          [type]="type"\n          [productionType]="productionType"\n        >\n        </app-order-download-row>\n      </ng-container>\n      <app-card-footer></app-card-footer>\n    </div>\n  </div>\n</app-toggle-card>\n',changeDetection:n.Ngq.OnPush,styles:[QD()]})],ju);var HD=i(60716),jD=i.n(HD);let Wu=class{set setInitialFilters(e){this.formSub.unsubscribe(),e.forEach(t=>{"endDate"===t.code&&t.value.forEach(s=>{s.weekFormat=this.datePipe.transform(new Date(s.code),"ww.yyyy")})}),this.filters=e,this.preparedInitialFilters=this.prepareFilterValues(this.filters),this.preparedInitialFilters.status=this.combineStatuses(this.preparedInitialFilters?.status||[]),this.preparedInitialFilters.processStatus=this.combineStatuses(this.preparedInitialFilters?.processStatus||[]),this.updateCount(),Object.keys(this.baseRangeFilters).length||this.addControlsToFormGroup(),this.formGroupOnChangeSubscribe(),this.changeDetection.detectChanges()}constructor(e,t,s,o){this.changeDetection=e,this.ordersService=t,this.datePipe=s,this.eventBus=o,this.submitFilters=new n.bkB,this.changeFilters=new n.bkB,this.resetFilters=new n.bkB,this.filters=[],this.orderCodes$=this.ordersService.searchCodeValue$.pipe((0,is.B)(500),(0,We.F)(),(0,At.Z)(l=>{const u={code:[null===l?"":l]};return this.ordersService.getSuggest(this.ordersService.orderPageId$.value,u)})),this.destroyed$=new R.B,this.formGroup=new m.gE({}),this.isClearBtnDisabled=!0,this.preparedInitialFilters=null,this.baseRangeFilters={},this.maxItemsCount=30,this.formSub=new X.yU,this.uniqStatusKey="CUSTOM"}ngOnInit(){this.initResetSub(),this.initEventSub()}ngOnDestroy(){this.onSearchChange(""),this.destroyed$.next(),this.destroyed$.complete(),this.formSub.unsubscribe()}initEventSub(){this.eventBus.on(J_ORDER.SHOW_BY_ID).subscribe(e=>{this.searchByCode(e)})}updateCount(){(({preparedInitialFilters:a,filters:e,uniqStatusKey:t})=>{Object.keys(a).forEach(s=>{const o=a[s],l=e.find(u=>u.code===s);!l||l?.value[0].min||o.forEach(u=>{if(u.code.includes(t)){const h=Fs([u.code],t);let _=0;h.forEach(C=>{const T={code:C,count:0};Hg(T,l),_+=T.count}),u.count=_}else Hg(u,l)})})})({preparedInitialFilters:this.preparedInitialFilters,filters:this.filters,uniqStatusKey:this.uniqStatusKey})}combineStatuses(e){return((a,e)=>{const t={},s=[];return a.forEach(o=>{let l=!1;jA.forEach(u=>{if(u.codes.includes(o.code.toLowerCase())){l=!0;const h=u.codes.join("_");t[h]?t[h]={code:`${t[h].code}__${o.code.toLowerCase()}`,count:t[h].count+o.count,name:t[h].name}:t[h]={code:`${e}__${o.code.toLowerCase()}`,count:o.count,name:o.code}}}),l||s.push(o)}),Object.keys(t).length>0&&Object.keys(t).forEach(o=>{s.push(t[o])}),s})(e,this.uniqStatusKey)}initResetSub(){this.resetFilters$.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.onFiltersReset()})}addControlsToFormGroup(){Xg(this.preparedInitialFilters,this.baseRangeFilters,this.formGroup)}resetFormControlsValues(){Kg(this.formGroup,this.baseRangeFilters)}formGroupOnChangeSubscribe(){this.formSub=this.formGroup.valueChanges.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.isClearBtnDisabled=((a,e,t,s)=>{a.processStatus?.length>0&&(a.processStatus=Fs(a.processStatus,t)),a.status?.length>0&&(a.status=Fs(a.status,t)),e=!0;for(const o of Object.keys(a)){const l=null===a[o]||Array.isArray(a[o])&&!a[o].length;if(a[o]?.min){if(+s[o]?.max!=+a[o].max||+s[o]?.min!=+a[o].min){e=!1;break}}else if(!l){e=!1;break}}return e})(e,this.isClearBtnDisabled,this.uniqStatusKey,this.baseRangeFilters)})}prepareFilterValues(e){return jg(e)}getControl(e){return this.formGroup.get(e)}onSearchChange(e){this.ordersService.updateSearchCodeValue(e||"")}onFiltersSubmit(){this.submitFilters.emit()}onFiltersReset(){this.resetFormControlsValues(),this.changeDetection.detectChanges(),this.resetFilters.emit(),this.updateCount()}searchByCode(e){this.resetFormControlsValues(),this.formGroup.get("code").setValue([e]),this.changeFilters.emit(this.formGroup.value),this.onFiltersSubmit()}onClose(){this.changeFilters.emit(this.formGroup.value)}static#e=this.ctorParameters=()=>[{type:n.gRc},{type:De},{type:S.vh},{type:ve.u}];static#t=this.propDecorators={setInitialFilters:[{type:n.pde,args:["initialFilters"]}],resetFilters$:[{type:n.pde}],submitFilters:[{type:n.k7i}],changeFilters:[{type:n.k7i}],resetFilters:[{type:n.k7i}]}};Wu=(0,r.Cg)([(0,n.uAl)({selector:"app-order-filter",template:'<app-toggle-card\n  [isExpand]="true"\n  [secondary]="false"\n  [hideToggleButton]="false"\n  [overflowVisible]="true"\n>\n  <div header-left>\n    <div class="header d-flex align-items-center">\n      <svg-icon-sprite\n        width="18"\n        height="18"\n        src="filter_list"\n      ></svg-icon-sprite>\n      <p class="header__text">\n        {{ \'orders.orderFilter.title\' | cxTranslate }}\n      </p>\n    </div>\n  </div>\n\n  <div toggle-body>\n    <div *ngIf="formGroup" class="filter">\n      <div class="filter__slot">\n        <app-select-search-suggest\n          *ngIf="orderCodes$ | async as codes"\n          bindLabel="code"\n          bindValue="code"\n          [clearable]="false"\n          [closeOnSelect]="false"\n          [control]="getControl(\'code\')"\n          [items]="codes"\n          [multiple]="true"\n          [showSelectButton]="true"\n          [placeholder]="\'orders.orderFilter.orderNumber\' | cxTranslate"\n          [description]="\'orders.orderFilter.searchDescription\' | cxTranslate"\n          [maxItemsCount]="maxItemsCount"\n          (searchValueChange)="onSearchChange($event)"\n          (selectClosed)="onClose()"\n        >\n          <ng-template #multiLabelTmp let-items="items">\n            <div class="multi-select">\n              <ng-container *ngFor="let item of items; let last = last">\n                {{ item.code }}\n                <ng-container *ngIf="items.length > 1 && !last">,</ng-container>\n              </ng-container>\n            </div>\n          </ng-template>\n\n          <ng-template\n            #optionTmp\n            let-item="item"\n            let-item$="item$"\n            let-index="index"\n          >\n            <label class="checkbox-group">\n              <input\n                [ngModel]="item$.selected"\n                id="order-number-{{ index }}"\n                type="checkbox"\n              />\n              <span class="ng-option-label checkbox-group__label">\n                {{ item.code }}\n              </span>\n            </label>\n          </ng-template>\n        </app-select-search-suggest>\n\n        <app-select\n          *ngIf="getControl(\'status\')"\n          bindLabel="code"\n          bindValue="code"\n          [clearable]="false"\n          [closeOnSelect]="false"\n          [controlData]="getControl(\'status\')"\n          [items]="preparedInitialFilters?.status"\n          [multiple]="true"\n          [showSelectButton]="true"\n          [placeholder]="\'orders.orderFilter.orderStatus\' | cxTranslate"\n          (selectClosed)="onClose()"\n        >\n          <ng-template #multiLabelTmp let-items="items">\n            <div class="multi-select">\n              <ng-container *ngFor="let item of items; let last = last">\n                {{ \'orders.orderStatus.\' + (item.name || item.code).toLowerCase() | cxTranslate }}\n\n                <ng-container *ngIf="items.length > 1 && !last">,</ng-container>\n              </ng-container>\n            </div>\n          </ng-template>\n\n          <ng-template\n            #optionTmp\n            let-item="item"\n            let-item$="item$"\n            let-index="index"\n          >\n            <label class="checkbox-group">\n              <input\n                [ngModel]="item$.selected"\n                id="status-{{ index }}"\n                type="checkbox"\n              />\n              <span class="checkbox-group__label">\n                {{ \'orders.orderStatus.\' + (item.name || item.code).toLowerCase() | cxTranslate }}\n              </span>\n            </label>\n          </ng-template>\n        </app-select>\n\n        <app-select\n          *ngIf="getControl(\'formattedOrderType\')"\n          bindLabel="code"\n          bindValue="code"\n          [clearable]="false"\n          [closeOnSelect]="false"\n          [controlData]="getControl(\'formattedOrderType\')"\n          [items]="preparedInitialFilters?.formattedOrderType"\n          [multiple]="true"\n          [showSelectButton]="true"\n          [placeholder]="\'orders.orderFilter.orderType\' | cxTranslate"\n          (selectClosed)="onClose()"\n        >\n          <ng-template #multiLabelTmp let-items="items">\n            <div class="multi-select">\n              <ng-container *ngFor="let item of items; let last = last">\n                {{ item.name || item.code }}\n\n                <ng-container *ngIf="items.length > 1 && !last">,</ng-container>\n              </ng-container>\n            </div>\n          </ng-template>\n\n          <ng-template\n            #optionTmp\n            let-item="item"\n            let-item$="item$"\n            let-index="index"\n          >\n            <label class="checkbox-group">\n              <input\n                [ngModel]="item$.selected"\n                id="formattedOrderType-{{ index }}"\n                type="checkbox"\n              />\n              <span class="checkbox-group__label">\n                {{ item.name || item.code }}\n              </span>\n            </label>\n          </ng-template>\n        </app-select>\n\n\n        <app-date-picker\n          *ngIf="getControl(\'placed\')"\n          [control]="getControl(\'placed\')"\n          [isFullSize]="true"\n          [isRange]="true"\n          [placeholder]="\'orders.orderFilter.orderPlacementDate\' | cxTranslate"\n          [minYearCurrentMinus]="100"\n          [maxYearCurrentPlus]="0"\n          (changed)="onClose()"\n        ></app-date-picker>\n      </div>\n\n      <app-inner-toggle [isOpen]="false">\n        <p title>{{ \'orders.orderFilter.productFilters\' | cxTranslate }}</p>\n\n        <div body>\n          <div class="filter__slot filter__slot--inner">\n            <app-select\n              *ngIf="getControl(\'category\')"\n              data-cy\n              data="filter-product"\n              bindLabel="code"\n              bindValue="code"\n              [clearable]="false"\n              [closeOnSelect]="false"\n              [controlData]="getControl(\'category\')"\n              [items]="preparedInitialFilters.category"\n              [multiple]="true"\n              [showSelectButton]="true"\n              [placeholder]="\'orders.orderFilter.product\' | cxTranslate"\n              (selectClosed)="onClose()"\n            >\n              <ng-template #multiLabelTmp let-items="items">\n                <div class="multi-select">\n                  <ng-container *ngFor="let item of items; let last = last">\n                    {{ item.code }}\n                    <ng-container *ngIf="items.length > 1 && !last">,</ng-container>\n                  </ng-container>\n                </div>\n              </ng-template>\n\n              <ng-template\n                #optionTmp\n                let-item="item"\n                let-item$="item$"\n                let-index="index"\n              >\n                <label class="checkbox-group">\n                  <input\n                    [ngModel]="item$.selected"\n                    id="product-{{ index }}"\n                    type="checkbox"\n                  />\n                  <span class="ng-option-label checkbox-group__label">\n                    {{ item.code }}\n                  </span>\n                </label>\n              </ng-template>\n            </app-select>\n\n            <app-select\n              *ngIf="getControl(\'name\')"\n              data-cy\n              data="filter-steelGrade"\n              bindLabel="code"\n              bindValue="code"\n              [clearable]="false"\n              [closeOnSelect]="false"\n              [controlData]="getControl(\'name\')"\n              [items]="preparedInitialFilters.name"\n              [multiple]="true"\n              [showSelectButton]="true"\n              [placeholder]="\'orders.orderFilter.steelGrade\' | cxTranslate"\n              (selectClosed)="onClose()"\n            >\n              <ng-template #multiLabelTmp let-items="items">\n                <div class="multi-select">\n                  <ng-container *ngFor="let item of items; let last = last">\n                    {{ item.code }}\n                    <ng-container *ngIf="items.length > 1 && !last">,</ng-container>\n                  </ng-container>\n                </div>\n              </ng-template>\n\n              <ng-template\n                #optionTmp\n                let-item="item"\n                let-item$="item$"\n                let-index="index"\n              >\n                <label class="checkbox-group">\n                  <input\n                    [ngModel]="item$.selected"\n                    id="steel-grade-{{ index }}"\n                    type="checkbox"\n                  />\n                  <span class="ng-option-label checkbox-group__label">\n                    {{ item.code }}\n                  </span>\n                </label>\n              </ng-template>\n            </app-select>\n\n            <app-select\n              *ngIf="getControl(\'processStatus\')"\n              data-cy\n              data="filter-itemStatus"\n              bindLabel="code"\n              bindValue="code"\n              [clearable]="false"\n              [closeOnSelect]="false"\n              [controlData]="getControl(\'processStatus\')"\n              [items]="preparedInitialFilters?.processStatus"\n              [multiple]="true"\n              [showSelectButton]="true"\n              [placeholder]="\'orders.orderFilter.itemStatus\' | cxTranslate"\n              (selectClosed)="onClose()"\n            >\n              <ng-template #multiLabelTmp let-items="items">\n                <div class="multi-select">\n                  <ng-container *ngFor="let item of items; let last = last">\n                    {{ \'orders.orderStatus.\' + (item.name || item.code).toLowerCase() | cxTranslate }}\n\n                    <ng-container *ngIf="items.length > 1 && !last">,</ng-container>\n                  </ng-container>\n                </div>\n              </ng-template>\n\n              <ng-template\n                #optionTmp\n                let-item="item"\n                let-item$="item$"\n                let-index="index"\n              >\n                <label class="checkbox-group">\n                  <input\n                    [ngModel]="item$.selected"\n                    id="process-status-{{ index }}"\n                    type="checkbox"\n                  />\n                  <span class="ng-option-label checkbox-group__label">\n                    {{ \'orders.orderStatus.\' + (item.name || item.code).toLowerCase() | cxTranslate }}\n                  </span>\n                </label>\n              </ng-template>\n            </app-select>\n\n            <app-slider-input\n              *ngIf="getControl(\'thickness\')"\n              data-cy\n              data="filter-thickness"\n              [dimension]="true"\n              [placeholder]="\'orders.orderFilter.thickness\' | cxTranslate"\n              [formControl]="getControl(\'thickness\')"\n              [min]="baseRangeFilters?.thickness?.min || 0"\n              [max]="baseRangeFilters?.thickness?.max || 0"\n              [step]="0.1"\n              (minValueChange)="onClose()"\n              (maxValueChange)="onClose()"\n            ></app-slider-input>\n            <app-slider-input\n              *ngIf="getControl(\'width\')"\n              data-cy\n              data="filter-width"\n              [dimension]="true"\n              [placeholder]="\'orders.orderFilter.width\' | cxTranslate"\n              [formControl]="getControl(\'width\')"\n              [min]="baseRangeFilters?.width?.min || 0"\n              [max]="baseRangeFilters?.width?.max || 0"\n              [step]="1"\n              (minValueChange)="onClose()"\n              (maxValueChange)="onClose()"\n            ></app-slider-input>\n\n            <app-slider-input\n              *ngIf="getControl(\'length\')"\n              data-cy\n              data="filter-length"\n              [dimension]="true"\n              [placeholder]="\'orders.orderFilter.length\' | cxTranslate"\n              [formControl]="getControl(\'length\')"\n              [min]="baseRangeFilters?.length?.min || 0"\n              [max]="baseRangeFilters?.length?.max || 0"\n              [step]="0.1"\n              (minValueChange)="onClose()"\n              (maxValueChange)="onClose()"\n            ></app-slider-input>\n\n            <app-select\n              *ngIf="getControl(\'weight\')"\n              data-cy\n              data="filter-coilWeight"\n              [clearable]="false"\n              [closeOnSelect]="false"\n              [controlData]="getControl(\'weight\')"\n              [items]="preparedInitialFilters.weight"\n              [multiple]="true"\n              [showSelectButton]="true"\n              [placeholder]="\'orders.orderFilter.coilWeight\' | cxTranslate"\n              (selectClosed)="onClose()"\n              bindLabel="code"\n              bindValue="code"\n            >\n              <ng-template #multiLabelTmp let-items="items">\n                <div class="multi-select">\n                  <ng-container *ngFor="let item of items; let last = last">\n                    {{ item.code }}\n\n                    <ng-container *ngIf="items.length > 1 && !last">,</ng-container>\n                  </ng-container>\n                </div>\n              </ng-template>\n\n              <ng-template\n                #optionTmp\n                let-item="item"\n                let-item$="item$"\n                let-index="index"\n              >\n                <label class="checkbox-group">\n                  <input\n                    [ngModel]="item$.selected"\n                    id="coil-weight-{{ index }}"\n                    type="checkbox"\n                  />\n                  <span class="ng-option-label checkbox-group__label">\n                    {{ item.code }}\n                  </span>\n                </label>\n              </ng-template>\n            </app-select>\n\n            <app-select\n              *ngIf="getControl(\'endDate\')"\n              data-cy\n              data="filter-confirmedDueDate"\n              [clearable]="false"\n              [closeOnSelect]="false"\n              [controlData]="getControl(\'endDate\')"\n              [items]="preparedInitialFilters.endDate"\n              [multiple]="true"\n              [showSelectButton]="true"\n              [placeholder]="\'orders.orderFilter.confirmedDueDate\' | cxTranslate"\n              (selectClosed)="onClose()"\n              bindLabel="code"\n              bindValue="code"\n            >\n              <ng-template #multiLabelTmp let-items="items">\n                <div class="multi-select">\n                  <ng-container *ngFor="let item of items; let last = last">\n                    {{ \'text.week\' | cxTranslate }} {{ item.weekFormat }}\n\n                    <ng-container *ngIf="items.length > 1 && !last">,</ng-container>\n                  </ng-container>\n                </div>\n              </ng-template>\n\n              <ng-template\n                #optionTmp\n                let-item="item"\n                let-item$="item$"\n                let-index="index"\n              >\n                <label class="checkbox-group">\n                  <input\n                    [ngModel]="item$.selected"\n                    id="confirmed-due-date-{{ index }}"\n                    type="checkbox"\n                  />\n                  <span class="ng-option-label checkbox-group__label">\n                    {{ \'text.week\' | cxTranslate }} {{ item.weekFormat }}\n                  </span>\n                </label>\n              </ng-template>\n            </app-select>\n\n            <app-select\n              *ngIf="getControl(\'startDate\')"\n              data-cy\n              data="filter-availableFromDate"\n              [clearable]="false"\n              [closeOnSelect]="false"\n              [controlData]="getControl(\'startDate\')"\n              [items]="preparedInitialFilters.startDate"\n              [multiple]="true"\n              [showSelectButton]="true"\n              [placeholder]="\'orders.orderFilter.availableFromDate\' | cxTranslate"\n              (selectClosed)="onClose()"\n              bindLabel="code"\n              bindValue="code"\n            >\n              <ng-template #multiLabelTmp let-items="items">\n                <div class="multi-select">\n                  <ng-container *ngFor="let item of items; let last = last">\n                    {{ \'text.week\' | cxTranslate }} {{ item.code }}\n\n                    <ng-container *ngIf="items.length > 1 && !last">,</ng-container>\n                  </ng-container>\n                </div>\n              </ng-template>\n\n              <ng-template\n                #optionTmp\n                let-item="item"\n                let-item$="item$"\n                let-index="index"\n              >\n                <label class="checkbox-group">\n                  <input\n                    [ngModel]="item$.selected"\n                    id="available-from-date-{{ index }}"\n                    type="checkbox"\n                  />\n                  <span class="ng-option-label checkbox-group__label">\n                    {{ \'text.week\' | cxTranslate }} {{ item.code }}\n                  </span>\n                </label>\n              </ng-template>\n            </app-select>\n          </div>\n        </div>\n      </app-inner-toggle>\n\n      <div class="filter__slot">\n        <button class="btn btn-default" (click)="onFiltersSubmit()">\n          <div class="filter__button-wrapper">\n            <svg-icon-sprite\n              src="search"\n              width="18"\n              height="18"\n            ></svg-icon-sprite>\n            {{ \'orders.orderFilter.searchButton\' | cxTranslate }}\n          </div>\n        </button>\n        <button\n          (click)="onFiltersReset()"\n          [disabled]="isClearBtnDisabled"\n          class="btn btn-secondary"\n        >\n          {{ \'orders.orderFilter.clearButton\' | cxTranslate }}\n        </button>\n      </div>\n    </div>\n  </div>\n</app-toggle-card>\n',styles:[jD()]})],Wu);var KD=i(95092),XD=i.n(KD);let Ku=class{constructor(e,t,s,o,l,u,h,_){this.launchDialogService=e,this.ordersService=t,this.activatedRoute=s,this.translatePipe=o,this.changeDetection=l,this.userOrderService=u,this.globalMessageService=h,this.datePipe=_,this.destroy$=new R.B,this.selectedTotal=0,this.UNITS=G,this.coilsArray=[],this.sendCoils=[],this.dayDelay=0,this.orderCode=this.activatedRoute.snapshot.params?.orderCode,this.dateForm=new m.J3({desiredDeliveryDate:new m.hs(null,[bu,m.k0.required])}),this.subscription=new X.yU}ngOnInit(){this.init(),this.dayDelay=Rg()}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete(),this.subscription?.unsubscribe()}init(){this.ordersService.selectedCoils$.pipe((0,x.Q)(this.destroy$)).subscribe(e=>{let t=0;const s=[],o=[];Object.keys(e).forEach(l=>{e[l].forEach(u=>{u.isSelected&&(this.unit=u.unit,s.push({id:u.coilId,quantity:u.value,entryNumber:u.entryNumber,steelGrade:u.steelGrade}),o.push({id:u.coilId,quantity:u.value}),t+=u.value)})}),this.selectedTotal=t,this.coilsArray=s,this.sendCoils=o})}openModal(){if(this.dateForm.invalid)return void this.dateForm.markAllAsTouched();const e=this.dateForm.get("desiredDeliveryDate").value,t=this.datePipe.transform(e.singleDate.jsDate,"yyyy-MM-dd");this.launchDialogService.openDialogAndSubscribe("DELIVERY_REQUEST_MODAL",void 0,{total:this.selectedTotal,coils:this.coilsArray,unit:this.unit}),this.subscription.add(this.launchDialogService.dialogClose.subscribe(s=>{s&&this.ordersService.sendConsignment(this.orderCode,this.sendCoils,t).pipe((0,x.Q)(this.destroy$)).subscribe(()=>{this.launchDialogService.openDialogAndSubscribe("THANK_YOU_MODAL",void 0,{title:this.translatePipe.transform("orders.ordersActive.orderItemProduct.modal.thankYou"),text:this.translatePipe.transform("orders.ordersActive.orderItemProduct.modal.forSubmitting")}),this.subscription.add(this.launchDialogService.dialogClose.subscribe(()=>{this.userOrderService.loadOrderDetails(this.orderCode),this.ordersService.resetSelectedCoils()}))},o=>{o.error.errors.forEach(l=>{this.globalMessageService.add(l.message,p.NCV.MSG_TYPE_ERROR)})})}))}static#e=this.ctorParameters=()=>[{type:v.PLe},{type:De},{type:y.nX},{type:p.D97},{type:n.gRc},{type:Tt.FP},{type:p.S8D},{type:S.vh}]};Ku=(0,r.Cg)([(0,n.uAl)({selector:"app-order-item-request-delivery",template:'<div class="request-delivery" *ngIf="selectedTotal > 0">\n  <div class="container">\n    <div class="request-delivery__content">\n      <div class="selected d-flex align-items-center">\n        <svg-icon-sprite class="request-delivery__content-icon" src="weight_volume" width="16" height="16"\n                         ></svg-icon-sprite>\n        <span\n          class="order-item-product__total-title">\n              {{ \'orders.ordersActive.orderItemProduct.selectedForDelivery\' | cxTranslate }}:\n            </span><span\n        class="order-item-product__batch-value request-delivery__content-value">\n        {{ unit === UNITS.PIECES ? selectedTotal : (selectedTotal | massConversion) }}\n        {{ unit | units }}\n      </span>\n      </div>\n      <div class="request-delivery__content-block">\n        <app-date-picker\n          class="mr-30 request-delivery__content-date"\n          placeholder="{{ \'placeholder.selectedDeliveryDate\' | cxTranslate }}"\n          [isFullSize]="true"\n          [isPositionFixed]="true"\n          [control]="dateForm.get(\'desiredDeliveryDate\')"\n          [minDayCurrentPlus]="dayDelay"\n          [minYearCurrentMinus]="0"\n          [maxYearCurrentPlus]="100"\n        ></app-date-picker>\n        <button class="btn btn--sm btn-default request-delivery__content-button" (click)="openModal()">{{ \'button.requestDelivery\' | cxTranslate }}</button>\n      </div>\n    </div>\n  </div>\n</div>\n',styles:[XD()]})],Ku);var JD=i(78250),e1=i.n(JD);let Xu=class{constructor(){this.isQuote=!1}static#e=this.propDecorators={order:[{type:n.pde}],isQuote:[{type:n.pde}]}};Xu=(0,r.Cg)([(0,n.uAl)({selector:"app-order-placed",template:'<app-card-wrapper>\n  <div class="order-placed">\n    <ng-container *ngIf="isQuote; else isOrder">\n      <ng-container *ngIf="order.volumeBased; else simpleQuote">\n        <app-text-block\n          title="{{ \'orderDetails.placedBy\' | cxTranslate }}"\n          [description]="order.placedBy"\n        ></app-text-block>\n        <app-text-block\n        *ngIf="order.placedByEmail"\n        title="{{ \'orderDetails.placedByEmail\' | cxTranslate }}"\n        [description]="order.placedByEmail"\n      ></app-text-block>\n      </ng-container>\n      <ng-template #simpleQuote>\n        <app-text-block\n          *ngIf="order.validUntil"\n          title="{{ \'orders.ordersActive.quoteItem.validUntil\' | cxTranslate }}"\n          [description]="order.validUntil | dateWithTimezonePipe"\n        ></app-text-block>\n      </ng-template>\n\n      <app-text-block\n        title="{{ \'orderDetails.placementDateQuote\' | cxTranslate }}"\n        description="{{order.quotePlacementDate | dateWithTimezonePipe }}"\n      ></app-text-block>\n    </ng-container>\n\n    <ng-template #isOrder>\n      <app-text-block\n        title="{{ \'orderDetails.placedBy\' | cxTranslate }}"\n        [description]="order.placedBy"\n      ></app-text-block>\n      <app-text-block\n        *ngIf="order.placedByEmail"\n        title="{{ \'orderDetails.placedByEmail\' | cxTranslate }}"\n        [description]="order.placedByEmail"\n      ></app-text-block>\n      <app-text-block\n        title="{{\'orderDetails.placementDate\' | cxTranslate }}"\n        description="{{ order.orderPlacementDate | date: \'dd.MM.yyyy\' }}"\n      ></app-text-block>\n    </ng-template>\n   </div>\n</app-card-wrapper>\n',changeDetection:n.Ngq.OnPush,styles:[e1()]})],Xu);var n1=i(69812),s1=i.n(n1);let Zu=class{constructor(){this.isMTO=!1,this.isFuture=!1,this.isHistory=!1,this.isLast=!1,this.ORDER_STATUS_NAME=b,this.successStatuses=[b.APPROVED,b.REQUESTED,b.CREATED,b.CONFIRMED,b.CREDIT_LIMIT_CHECK_DONE,b.PLACED,b.CTP_CHECK_DONE,b.CLOSED],this.finalStatuses=[b.COMPLETED.toUpperCase()],this.isFutureStatus=!1}getClass(){if(this.isFuture||this.status.isHidden||this.current===b.ORDER_CANCELLED&&this.status.orderStatus!==b.ORDER_CANCELLED)return"";if(this.status?.date&&this.isLast||this.status.orderStatus===b.ORDER_CANCELLED)return"error";if(!this.finalStatuses.includes(this.current.toUpperCase())&&!this.isHistory){if(this.status?.date&&this.successStatuses.includes(b[this.status?.orderStatus]))return"success";if(this.status?.date)return this.current===this.status?.orderStatus?"in-process":"success"}return""}getIcon(){return this.isFuture?"schedule":this.isLast||this.status.orderStatus===b.ORDER_CANCELLED?"error":this.finalStatuses.includes(this.current.toUpperCase())||this.status?.date&&(!this.status?.orderStatus.includes(this.current)||this.successStatuses.includes(this.status.orderStatus)||this.isHistory||this.status.isHidden)?"check_circle":"watch_later"}getOrderStatusCode(e,t){let s="";return this.isMTO&&(s=Lu.includes(e)?"_mto":""),`${t}.${e.toLowerCase()}${s}`}static#e=this.propDecorators={status:[{type:n.pde}],current:[{type:n.pde}],isMTO:[{type:n.pde}],isFuture:[{type:n.pde}],isHistory:[{type:n.pde}],isLast:[{type:n.pde}]}};Zu=(0,r.Cg)([(0,n.uAl)({selector:"app-order-status-stepper-item",template:'<div class="status-item" [ngClass]="getClass()">\n  <div class="status-item__row">\n    <svg-icon-sprite class="status-item__date-icon" src="trending_flat" width="18" height="18"></svg-icon-sprite>\n    <span class="status-item__date-text">{{ (status?.date) || \'--.--.----\' }}</span>\n  </div>\n\n  <div class="status-item__row">\n    <svg-icon-sprite\n      [src]="getIcon()"\n      class="status-item__status-icon"\n      width="18px"\n      height="18px"\n    ></svg-icon-sprite>\n    <span *ngIf="status" class="status-item__status-text">\n      {{ getOrderStatusCode(status.orderStatus.toUpperCase(), \'orders.orderStatus\') | cxTranslate }}\n    </span>\n  </div>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[s1()]})],Zu);var r1=i(50940),o1=i.n(r1);let Ju=class{constructor(){this.FACET_NAMES=ie,this.ORDER_STATUS_REPLACE=[[gn.CTP_CHECK_DONE,gn.CTP_CHECK_PROGRESS],[gn.CREDIT_LIMIT_CHECK_DONE,gn.CREDIT_LIMIT_CHECK_FAILED,gn.CREDIT_LIMIT_CHECK_IN_PROGRESS],[gn.APPROVED],[gn.CONFIRMED]],this.ORDER_STATUS_REPLACE_FUTURE=[[mn.CTP_CHECK,mn.CTP_CHECK_DONE],[mn.CREDIT_LIMIT_CHECK,mn.CREDIT_LIMIT_CHECK_IN_PROGRESS,mn.CREDIT_LIMIT_CHECK_FAILED],[mn.PENDING_APPROVAL],[mn.CONFIRMATION]],this.chronologyHistory=[],this.activeChronology=[],this.futureChronology=[],this.isHistoryOpen=!1,this.isHaveDuplicates=!1,this.replacedActive=[],this.replacedFuture=[]}ngOnChanges(){this.getChronologyParams()}toggleHistory(e){this.isHistoryOpen=e,this.setChronology()}setChronology(){this.replacedActive=this.replaceOrderStatus(this.activeChronology),this.replacedFuture=this.replaceOrderStatus(this.futureChronology,this.ORDER_STATUS_REPLACE_FUTURE,!1)}getChronologyParams(){if(!this.order.statuses)return;const e=this.splitOrderChronology({chronologyTree:this.order.statuses?.orderStatusChronologyValues,cancelStatuses:im.ORDER});this.splitChronology(e)}splitOrderChronology(e){const t=[];return this.activeChronology=e.chronologyTree,e.chronologyTree?.forEach((s,o)=>{e.cancelStatuses.includes(s.orderStatus)&&t.push(o)}),t.slice(1)}splitChronology(e){let t=0;e.forEach(o=>{this.chronologyHistory.push(this.activeChronology.slice(t,o)),t=o});const s=this.activeChronology.findIndex(o=>void 0===o.date);s>=0?(this.futureChronology=this.activeChronology.slice(s),this.activeChronology=this.activeChronology.slice(t,s)):this.activeChronology=this.activeChronology.slice(t),this.setChronology()}replaceOrderStatus(e,t=this.ORDER_STATUS_REPLACE,s=!0){let o=e;if(!s)return t.forEach(h=>{o=this.orderStatusReplacer(o,h)}),o;const l=[];o.reverse().forEach(h=>{const _=l.find(T=>T.orderStatus===h.orderStatus),C=this.futureChronology.find(T=>T.orderStatus===h.orderStatus);_||C?(l.push({...h,isHidden:!0}),this.isHaveDuplicates=!0):l.push(h)}),o.reverse(),l.reverse();let u=l.filter(h=>!h.isHidden);return this.isHistoryOpen||t.forEach(h=>{u=this.orderStatusReplacer(u,h)}),this.isHistoryOpen?l:u}orderStatusReplacer(e,t){for(const s of t)if(e?.find(o=>o.orderStatus===s.code))return this.orderStatusFilter(e,s.exclude);return e}orderStatusFilter(e,t){return t.forEach(s=>{e=e.filter(o=>o.orderStatus!==s)}),e}static#e=this.propDecorators={order:[{type:n.pde}]}};Ju=(0,r.Cg)([(0,n.uAl)({selector:"app-order-status-stepper",template:' <app-status-stepper\n  [title]="\'orderDetails.orderStatus\' | cxTranslate"\n  [toggleTitle]="(chronologyHistory.length > 0 || isHaveDuplicates) ? (\'orderDetails.history\' | cxTranslate) : \'\'"\n  [isHistoryOpen]="isHistoryOpen"\n  (historyToggle)="toggleHistory($event)"\n>\n  <ng-container *ngIf="order.statuses">\n    <ng-container *ngIf="isHistoryOpen">\n      <ng-container *ngFor="let chronologyBranch of chronologyHistory">\n        <ng-container *ngFor="let status of chronologyBranch; last as isLast">\n          <app-order-status-stepper-item\n            [current]="order.statuses.lastSavedStatus"\n            [status]="status"\n            [isMTO]="order.orderType === FACET_NAMES.ORDER"\n            [isHistory]="true"\n            [isLast]="isLast"\n          ></app-order-status-stepper-item>\n        </ng-container>\n      </ng-container>\n    </ng-container>\n\n    <ng-container *ngFor="let status of replacedActive">\n      <app-order-status-stepper-item\n        [current]="order.statuses.lastSavedStatus"\n        [status]="status"\n        [isMTO]="order.orderType === FACET_NAMES.ORDER"\n      ></app-order-status-stepper-item>\n    </ng-container>\n\n    <ng-container *ngFor="let status of replacedFuture">\n      <app-order-status-stepper-item\n        [current]="order.statuses.lastSavedStatus"\n        [status]="status"\n        [isMTO]="order.orderType === FACET_NAMES.ORDER"\n        [isFuture]="true"\n      ></app-order-status-stepper-item>\n    </ng-container>\n  </ng-container>\n</app-status-stepper>\n',changeDetection:n.Ngq.OnPush,styles:[o1()]})],Ju);var c1=i(93100),l1=i.n(c1);let eh=class{static#e=this.propDecorators={order:[{type:n.pde}]}};eh=(0,r.Cg)([(0,n.uAl)({selector:"app-order-terms",template:'<app-card-wrapper>\n  <div class="order-terms">\n    <div class="order-terms__item">\n      <span app-text-title>{{ \'orderDetails.paymentTerms\' | cxTranslate }}</span>\n      <span app-text-description>{{ order.paymentTerms }}</span>\n    </div>\n\n    <div class="order-terms__item">\n      <span app-text-title>{{ \'orderDetails.incoterms\' | cxTranslate }}</span>\n      <span app-text-description>{{ order.incoterms }}</span>\n    </div>\n\n    <div class="order-terms__item">\n      <span app-text-title>{{ \'orderDetails.transportationMode\' | cxTranslate }}</span>\n      <span app-text-description>{{ order.transportationMode }}</span>\n    </div>\n  </div>\n</app-card-wrapper>\n',changeDetection:n.Ngq.OnPush,styles:[l1()]})],eh);var p1=i(96778),u1=i.n(p1);let th=class{onResize(){this.cards=this.orderCardsService.getCurrentQuoteCardSize(this.shownItemsCountBeforeScrollDesktop,this.shownItemsCountBeforeScrollMobile)}constructor(e){this.orderCardsService=e,this.ORDER_STATUS_NAME=b,this.shownItemsCount=10,this.shownItemsCountBeforeScrollDesktop=3,this.shownItemsCountBeforeScrollMobile=2,this.cards={cardSize:184,shownItemsCountBeforeScroll:3}}calcMaxHeight(){return this.cards.shownItemsCountBeforeScroll*this.cards.cardSize}showMore(){return this.shownItemsCount+=10}static#e=this.ctorParameters=()=>[{type:Ht}];static#t=this.propDecorators={actualStatus:[{type:n.pde}],entries:[{type:n.pde}],onResize:[{type:n.Z$l,args:["window:resize"]}]}};th=(0,r.Cg)([(0,n.uAl)({selector:"app-quote-details-card",template:'<app-toggle-card [isExpand]="true" [grey]="true">\n  <svg-icon-sprite header-icon src="assignment" width="24" height="24"></svg-icon-sprite>\n\n  <span header-left class="quote-detail-card__header">\n    {{ \'orderDetails.quoteItems\' | cxTranslate }}\n  </span>\n\n  <scrollbar\n    toggle-body\n    [style.max-height.px]="calcMaxHeight()"\n    id="product-cards"\n  >\n    <ng-container *ngFor="let entry of entries.slice(0, shownItemsCount); let i = index">\n      <ng-container *ngTemplateOutlet="actualStatus.toLowerCase() === ORDER_STATUS_NAME.COMPLETED.toLowerCase() ? historyEntry : activeEntry; context: { entry : entry, index: i }"></ng-container>\n\n      <ng-template #historyEntry let-entry="entry" let-index="index">\n        <app-quotes-history-quote-product-card\n          [entry]="entry"\n          [index]="index + 1"\n          [isQuote]="true"\n          ></app-quotes-history-quote-product-card>\n      </ng-template>\n      <ng-template #activeEntry let-entry="entry" let-index="index">\n        <app-quotes-active-quote-product-card\n          [entry]="entry"\n          [index]="index + 1"\n          [isQuote]="true"\n        ></app-quotes-active-quote-product-card>\n      </ng-template>\n    </ng-container>\n    <app-show-more *ngIf="entries.length > 10">\n      <ng-container total>\n        {{ \'orders.ordersActive.itemOfItems\' | cxTranslate : { items: shownItemsCount < entries.length ? shownItemsCount : entries.length, totalItems: entries.length } }}\n      </ng-container>\n      <ng-container button>\n        <button class="btn btn--sm btn-secondary" [disabled]="shownItemsCount >= entries.length" (click)="showMore()">{{ \'button.showMoreItems\' | cxTranslate }}</button>\n      </ng-container>\n    </app-show-more>\n  </scrollbar>\n</app-toggle-card>\n\n<app-order-item-request-delivery></app-order-item-request-delivery>\n',changeDetection:n.Ngq.OnPush,styles:[u1()]})],th);var g1=i(72244),m1=i.n(g1);let nh=class{constructor(){this.isFuture=!1,this.isHistory=!1,this.isLast=!1,this.QUOTE_STATUS_NAME=N,this.finalStatuses=[N.CANCELLED.toUpperCase(),N.CLOSED.toUpperCase(),N.DEAL_REJECTED.toUpperCase(),N.LOST.toUpperCase()],this.successStatuses=[N.APPROVED,N.CHECKED,N.DEAL_IS_DONE],this.isFutureStatus=!1}getClass(){if(this.isFuture||!this.statusQuote)return"";if(this.statusQuote.status===N.CANCELLED||this.statusQuote.date&&this.isLast&&this.statusQuote.status!==N.PRICE_RECALCULATION)return"error";if(!this.finalStatuses.includes(this.current.toUpperCase())&&!this.isHistory){if(this.statusQuote.date&&this.successStatuses.includes(N[this.statusQuote.status]))return"success";if(this.statusQuote.date)return this.current===this.statusQuote.status?"in-process":"success";this.isFutureStatus=!0}return""}getIcon(){return this.isFuture||!this.statusQuote?"schedule":this.statusQuote.status===N.CANCELLED||this.isLast&&this.statusQuote.status!==N.PRICE_RECALCULATION?"error":this.finalStatuses.includes(this.current.toUpperCase())||this.statusQuote.date&&(!this.statusQuote.status.includes(this.current)||this.successStatuses.includes(N[this.statusQuote.status])||this.current.toUpperCase()===N.DEAL_IS_DONE.toUpperCase()||this.isHistory)?"check_circle":"watch_later"}static#e=this.propDecorators={current:[{type:n.pde}],statusQuote:[{type:n.pde}],isFuture:[{type:n.pde}],isHistory:[{type:n.pde}],isLast:[{type:n.pde}]}};nh=(0,r.Cg)([(0,n.uAl)({selector:"app-quote-status-stepper-item",template:'<div class="status-item" [ngClass]="getClass()">\n  <div class="status-item__row">\n    <svg-icon-sprite class="status-item__date-icon" src="trending_flat" width="18" height="18"></svg-icon-sprite>\n    <span class="status-item__date-text">{{ statusQuote?.date || \'--.--.----\' }}</span>\n  </div>\n\n  <div class="status-item__row">\n    <svg-icon-sprite\n      [src]="getIcon()"\n      class="status-item__status-icon"\n      width="18px"\n      height="18px"\n    ></svg-icon-sprite>\n    <span *ngIf="statusQuote" class="status-item__status-text">\n      {{ (\'orders.quoteStatus.\' + statusQuote.status.toLowerCase()) | cxTranslate }}\n    </span>\n  </div>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[m1()]})],nh);var v1=i(32020),x1=i.n(v1);let sh=class{constructor(){this.QUOTE_STATUS_REPLACE=[[_n.APPROVED,_n.REJECTED],[_n.CHECKED,_n.CHECK_FAIL],[_n.DEAL_IS_DONE,_n.CUSTOMER_REJECTED,_n.LOST]],this.QUOTE_STATUS_REPLACE_FUTURE=[[$n.INTERNAL_APPROVAL_AWAITING,$n.REJECTED],[$n.CTP_CHECK,$n.CHECK_FAIL],[$n.NEGOTIATING,$n.LOST]],this.chronologyHistory=[],this.activeChronology=[],this.futureChronology=[],this.isHistoryOpen=!1}ngOnInit(){this.getChronologyParams()}toggleHistory(e){this.isHistoryOpen=e}getChronologyParams(){if(!this.quote.statuses)return;const e=this.splitQuoteChronology({chronologyTree:this.quote.statuses?.quoteStatusChronologyValues,cancelStatuses:im.QUOTE});this.splitChronology(e)}splitQuoteChronology(e){const t=[];return this.activeChronology=e.chronologyTree,e.chronologyTree?.forEach((s,o)=>{e.cancelStatuses.includes(s.status)&&t.push(o)}),t.slice(1)}splitChronology(e){let t=0;e.forEach(o=>{this.chronologyHistory.push(this.activeChronology.slice(t,o)),t=o});const s=this.activeChronology.findIndex(o=>void 0===o.date);s>=0?(this.futureChronology=this.activeChronology.slice(s),this.activeChronology=this.activeChronology.slice(t,s)):this.activeChronology=this.activeChronology.slice(t)}replaceQuoteStatus(e,t=this.QUOTE_STATUS_REPLACE){let s=e;return t.forEach(o=>{s=this.quoteStatusReplacer(s,o)}),s}quoteStatusReplacer(e,t){for(const s of t)if(e?.find(o=>o.status===s.code))return this.quoteStatusFilter(e,s.exclude);return e}quoteStatusFilter(e,t){return t.forEach(s=>{e=e.filter(o=>o.status!==s)}),e}static#e=this.propDecorators={quote:[{type:n.pde}]}};sh=(0,r.Cg)([(0,n.uAl)({selector:"app-quote-status-stepper",template:'<app-status-stepper\n  [title]="\'orderDetails.quoteStatus\' | cxTranslate"\n  [toggleTitle]="chronologyHistory.length > 0 ? (\'orderDetails.history\' | cxTranslate) : \'\'"\n  [isHistoryOpen]="isHistoryOpen"\n  (historyToggle)="toggleHistory($event)"\n>\n  <ng-container *ngIf="quote.statuses">\n    <ng-container *ngIf="isHistoryOpen">\n      <ng-container *ngFor="let chronologyBranch of chronologyHistory">\n        <ng-container *ngFor="let status of chronologyBranch; last as isLast">\n          <app-quote-status-stepper-item\n            [current]="quote.statuses.lastSavedStatus"\n            [statusQuote]="status"\n            [isHistory]="true"\n            [isLast]="isLast"\n          ></app-quote-status-stepper-item>\n        </ng-container>\n      </ng-container>\n    </ng-container>\n\n    <ng-container *ngFor="let status of replaceQuoteStatus(activeChronology)">\n      <app-quote-status-stepper-item\n        [current]="quote.statuses.lastSavedStatus"\n        [statusQuote]="status"\n      ></app-quote-status-stepper-item>\n    </ng-container>\n\n    <ng-container *ngFor="let status of replaceQuoteStatus(futureChronology, QUOTE_STATUS_REPLACE_FUTURE)">\n      <app-quote-status-stepper-item\n        [current]="quote.statuses.lastSavedStatus"\n        [statusQuote]="status"\n        [isFuture]="true"\n      ></app-quote-status-stepper-item>\n    </ng-container>\n  </ng-container>\n</app-status-stepper>\n',changeDetection:n.Ngq.OnPush,styles:[x1()]})],sh);var C1=i(30528),b1=i.n(C1);let dc=class{constructor(e,t,s,o,l){this.userOrderService=e,this.ordersService=t,this.authService=s,this.router=o,this.translatePipe=l,this.destroyed$=new R.B,this.PAGE_SIZE=10,this.ordersPageData$=this.ordersService.ordersPageData$,this.appliedFilters$=this.ordersService.appliedFilters$}ngOnInit(){this.isActiveOrdersPage=this.router.url.split("?")[0]===M.MY_ACCOUNT.ORDER.ACTIVE}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}sortList(e){const t={pageSize:this.PAGE_SIZE,currentPage:0,sort:e},s=this.appliedFilters$.value;this.ordersService.getOrdersList(s,!1,t).pipe((0,x.Q)(this.destroyed$)).subscribe()}showFn(e){return t=>{const s=`orders.sort.${t.code}`;return e.transform(s)}}static#e=this.ctorParameters=()=>[{type:Tt.FP},{type:De},{type:p.uRZ},{type:y.Ix},{type:p.D97}]};dc=(0,r.Cg)([(0,n.uAl)({selector:"app-state-title",template:'<div class="header d-flex">\n  <h1 class="h5 mb-0 align-items-center">\n    <ng-container *ngIf="isActiveOrdersPage; else orderHistory">\n      {{ \'orders.ordersActive.activeOrders\' | cxTranslate }}\n    </ng-container>\n    <ng-template #orderHistory>\n      {{ \'orders.ordersActive.orderHistory\' | cxTranslate }}\n    </ng-template>\n  </h1>\n\n  <ng-container *ngIf="ordersPageData$ | async as ordersPageData">\n    <app-sort-select\n      *ngIf="ordersPageData.pagination?.sort"\n      [activeItem]="ordersPageData.pagination.sort"\n      [items]="ordersPageData.sorts"\n      [showFn]="showFn(translatePipe)"\n\n      (selectItem)="sortList($event.code)"\n\n      bindTitle="code"\n      bindValue="code"\n      class="header__sorting"\n      showSortIcons="true"\n      sortTitle="{{ \'placeholder.sortingBy\' | cxTranslate }}"\n    ></app-sort-select>\n  </ng-container>\n</div>\n',styles:[b1()]})],dc);let ih=class{};ih=(0,r.Cg)([(0,n.UQu)({declarations:[tc,Bs,Wu,dc,ec,nc,Yu,th,Ku,Iu,Xu,Pu,zu,eh,ju,Hu,qu,Au,Ou,wu,Ju,nh,Zu,sh],imports:[S.MD,p.htr.withConfig({cmsComponents:{AccountOrderHistoryComponent:{component:tc,guards:[j,Y]},AccountOrderHistoryTitleComponent:{component:dc,guards:[j,Y]},OrderDetails:{component:ec,guards:[j,Y]},QuotesComponent:{component:Bs,guards:[j,Y]},QuoteDetailsComponent:{component:nc,guards:[j,Y]},QuotesHistoryComponent:{component:Bs,guards:[j,Y]}}}),ze,V.F2,ce,p.LP3,Ze,_s,m.X1,ge,v.x6L,Gu,It,y.iI,p.YYe,be,xe,ct,st.MQ,m.YN,ps,An,Ia,Ta,Te,ba,Ms],providers:[{provide:zp.A9,useClass:ks}]})],ih);var S1=i(67295),T1=i.n(S1);let rh=class{constructor(e,t){this.http=e,this.occEndpointsService=t,this.ticketCategoriesList$=new P.t(null)}getTicketCategoriesList(){const e=this.occEndpointsService.buildUrl(E.SUPPORT.CATEGORIES);this.http.get(e).subscribe(t=>{this.ticketCategoriesList$.next(t)})}submitTicket(e){const t=this.occEndpointsService.buildUrl(E.SUPPORT.SUBMIT);return this.http.post(t,e,{reportProgress:!0})}static#e=this.ctorParameters=()=>[{type:U.Qq},{type:p.zxz}]};rh=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],rh);let pc=class{constructor(e,t,s,o,l,u,h){this.componentData=e,this.fb=t,this.globalMessageService=s,this.launchDialogService=o,this.supportRequestService=l,this.attachmentsService=u,this.changeDetection=h,this.replaceNonPrintable=ft,this.destroyed$=new R.B,this.errorCodes={format:"supportRequest.errors.format",size:"supportRequest.errors.size"},this.data$=this.componentData.data$.pipe((0,w.T)(_=>(this.maxSize=+_.maxSize,this.possibleExtensions=_.formats.split(", "),_))),this.isFilesContainsErrors=!1,this.inProcess=new P.t(!1),this.isOpen=!0,this.maxSize=0,this.maxSizeAllFiles=26214400,this.subjectMaxLength=255,this.messageMaxLength=2e6,this.possibleExtensions=[],this.files=[],this.requestForm=null,this.ticketCategoriesList$=this.supportRequestService.ticketCategoriesList$,this.initialErrors={file:!1,allFiles:!1,format:!1,uniqueNames:!1},this.errors={...this.initialErrors}}ngOnInit(){this.requestForm=this.initRequestForm(),this.supportRequestService.getTicketCategoriesList()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}initRequestForm(){return this.fb.group({customerId:new m.hs("current",[m.k0.required]),ticketCategory:new m.hs(null,[m.k0.required]),subject:new m.hs(null,[m.k0.required,m.k0.maxLength(this.subjectMaxLength)]),message:new m.hs(null,[m.k0.required,m.k0.maxLength(this.messageMaxLength)])})}checkFileErrors(){this.errors=Si(this.files,this.maxSize,this.possibleExtensions,this.maxSizeAllFiles),this.changeDetection.detectChanges()}clearFiles(){this.files=[],this.checkFileErrors()}onSubmit(e){if(this.inProcess.next(!0),this.requestForm.invalid)return this.requestForm.markAllAsTouched(),void this.inProcess.next(!1);const t=this.formValueToFormData(e);this.supportRequestService.submitTicket(t).pipe((0,_e.j)(()=>{this.inProcess.next(!1)}),(0,x.Q)(this.destroyed$)).subscribe(s=>{this.launchDialogService.openDialogAndSubscribe("SUPPORT_REQUEST_CREATED_MODAL",void 0,void 0),this.resetForm()},s=>{this.attachmentsService.showAttachmentsErrors(s,this.errorCodes,this.maxSize)})}resetForm(){this.requestForm.reset(),this.requestForm.get("customerId").setValue("current"),this.files=[],this.errors=this.initialErrors}formValueToFormData(e){let t=new FormData;for(const s of Object.keys(e)){const o=e[s];t.append(s,o)}return this.files?.length&&(t=il({files:this.files,maxSize:this.maxSize,formDataKey:"files",possibleExtensions:this.possibleExtensions,maxSizeAllFiles:this.maxSizeAllFiles,formData:t})),t}toggle(){this.isOpen=!this.isOpen}static#e=this.ctorParameters=()=>[{type:v.TLs},{type:m.ze},{type:p.S8D},{type:v.PLe},{type:rh},{type:hr},{type:n.gRc}]};pc=(0,r.Cg)([(0,n.uAl)({selector:"app-support-request",template:'<div class="support__title">\n  <app-page-title>\n    {{ \'supportRequest.title\' | cxTranslate }}\n  </app-page-title>\n</div>\n\n<app-divider></app-divider>\n\n<form\n  *ngIf="data$ | async"\n  [formGroup]="requestForm"\n>\n  <div class="support__content">\n    <app-select\n      [controlData]="requestForm.get(\'ticketCategory\')"\n      [items]="ticketCategoriesList$ | async"\n      bindLabel="code"\n      bindValue="code"\n      class="support__content-type"\n      placeholder="{{ \'supportRequest.select\' | cxTranslate }}"\n    ></app-select>\n\n    <app-input\n      [controlData]="requestForm.get(\'subject\')"\n      (focusout)="replaceNonPrintable(requestForm.get(\'subject\'))"\n      class="support__content-subject"\n      [maxLength]="subjectMaxLength"\n      [label]="\'supportRequest.input\' | cxTranslate"\n      [isRemaining]="true"\n    ></app-input>\n    <div class="support__content-area">\n      <textarea\n        (focusout)="replaceNonPrintable(requestForm.get(\'message\'), true)"\n        formControlName="message"\n        placeholder="{{ \'supportRequest.textarea\' | cxTranslate }}"\n      ></textarea>\n      <cx-form-errors [control]="requestForm.get(\'message\')"></cx-form-errors>\n    </div>\n\n    <app-card-attachments\n      class="support__content-attach"\n      [possibleExtensions]="possibleExtensions"\n      [files]="files"\n      [maxSize]="maxSize"\n      [allFilesSize]="\'supportRequest.allFileSize\' | cxTranslate"\n      (add)="checkFileErrors()"\n      (delete)="checkFileErrors()"\n      (clear)="clearFiles()"\n    >\n    </app-card-attachments>\n  </div>\n\n  <app-divider></app-divider>\n\n  <div class="support__file-errors" *ngIf="errors.allFiles || errors.file || errors.format || errors.uniqueNames">\n    <app-attachments-errors [errors]="errors" [maxSizeFile]="maxSize" [maxSizeAllFiles]="maxSizeAllFiles">\n    </app-attachments-errors>\n  </div>\n\n  <button\n    [disabled]="(inProcess | async) || isFilesContainsErrors"\n    (click)="onSubmit(requestForm.value)"\n    type="submit"\n    class="btn btn--md btn-default d-flex align-items-center support__send"\n  >\n    <div *ngIf="inProcess | async; else submitButtonText">\n      <app-loader size="32px"></app-loader>\n    </div>\n    <ng-template #submitButtonText>\n      {{ \'supportRequest.send\' | cxTranslate }}\n      <svg-icon-sprite src="send" width="18px" height="18px" class="support__send-icon"></svg-icon-sprite>\n    </ng-template>\n  </button>\n</form>\n',styles:[T1()]})],pc);let oh=class{};oh=(0,r.Cg)([(0,n.UQu)({declarations:[pc],imports:[S.MD,p.htr.withConfig({routing:{routes:{support:{paths:[E.MY_ACCOUNT.SUPPORT.slice(1)]}}}}),y.iI.forChild([{path:null,canActivate:[p.q_G,v.Khi],component:v.JNG,data:{cxRoute:"support"}}]),p.htr.withConfig({cmsComponents:{SupportRequestComponent:{component:pc,guards:[j,Y]}}}),V.F2,p.LP3,m.X1,v.GQ,be,ce,ge],exports:[]})],oh);var R1=i(8731),O1=i.n(R1);let Vs=class extends ls{constructor(e,t,s,o){super(e,t,s,o),this.occEndpointsService=e,this.http=t,this.globalMessageService=s,this.translatePipe=o,this.api=E.REPORTS.ORDER_BOOK}getOrderBook(){const e=this.occEndpointsService.buildUrl(this.api.GET_REPORT,null);return this.http.get(e)}createReport(e){return super.create(e)}getReport(e,t){return super.get(e,t)}saveView(e){return super.save(e)}getViews(){return super.getViews()}getView(e){return super.getView(e)}getContracts(){return super.getContracts()}delete(e){return super.delete(e)}editView(e){return super.edit(e)}static#e=this.ctorParameters=()=>[{type:p.zxz},{type:U.Qq},{type:p.S8D},{type:p.D97}]};Vs=(0,r.Cg)([(0,n._qm)()],Vs);let uc=class{constructor(e){this.orderBookService=e,this.orderBookData$=this.orderBookService.getOrderBook(),this.isWideMode=!1}changeWideMode(e){this.isWideMode=e}static#e=this.ctorParameters=()=>[{type:Vs}]};uc=(0,r.Cg)([(0,n.uAl)({selector:"order-book-page",template:'<div class="mb-20" *ngIf="orderBookData$ | async as orderBookData; else loader">\n  <div *ngIf="isWideMode" class="wide-mode-background"></div>\n  <order-book-list\n    [orderBookData]="orderBookData"\n    [isWideMode]="isWideMode"\n    (isWideModeChanged)="changeWideMode($event)"\n  ></order-book-list>\n</div>\n\n<ng-template #loader>\n  <div class="mt-20 order-book-page__loader">\n    <app-loader></app-loader>\n  </div>\n</ng-template>\n',changeDetection:n.Ngq.OnPush,styles:[O1()]})],uc);var I1=i(75511),w1=i.n(I1);const P1={columns:[{dataField:"customerReference",caption:"Customer reference",dataType:"string",visibleIndex:0},{dataField:"orderPosition",caption:"Order/Position",dataType:"string",visibleIndex:1},{dataField:"productType",caption:"Product type",dataType:"string",visibleIndex:2},{dataField:"requestedWeek",caption:"Requested week",dataType:"string",visibleIndex:3},{dataField:"confirmedWeek",caption:"Confirmed week",dataType:"string",visibleIndex:4},{dataField:"completionWeek",caption:"Completion week",dataType:"string",visibleIndex:5},{dataField:"quoteNumber",caption:"Quote Number",dataType:"link",routerLink:[M.MY_ACCOUNT.QUOTE.DETAILS],routeParam:"quoteNumber",routeParamValue:"internalQuoteNumber",visibleIndex:6},{dataField:"quality",caption:"Quality",dataType:"string",visibleIndex:7},{dataField:"thickness",caption:"Thickness",dataType:"string",visibleIndex:8},{dataField:"width",caption:"Width",dataType:"string",visibleIndex:9},{dataField:"customerName",caption:"Customer name",dataType:"string",visibleIndex:10},{dataField:"shipTo",caption:"Ship to",dataType:"string",visibleIndex:11},{dataField:"shipToAddress",caption:"Ship to - Address",dataType:"string",visibleIndex:12},{dataField:"shipToCountry",caption:"Ship to - Country",dataType:"string",visibleIndex:13},{dataField:"incoterms",caption:"Incoterms",dataType:"string",visibleIndex:14},{dataField:"transportType",caption:"Transport Type",dataType:"string",visibleIndex:15},{dataField:"coating",caption:"Coating",dataType:"string",visibleIndex:16},{dataField:"paintSystemOutside",caption:"Paint system outside",dataType:"string",visibleIndex:17},{dataField:"colorCodeOutside",caption:"Color code outside",dataType:"string",visibleIndex:18},{dataField:"paintThicknessOutside",caption:"Paint thickness outside (\xb5)",dataType:"string",visibleIndex:19},{dataField:"glossOutside",caption:"Gloss outside (%)",dataType:"string",visibleIndex:20},{dataField:"paintSystemInside",caption:"Paint system inside",dataType:"string",visibleIndex:21},{dataField:"colorCodeInside",caption:"Color code inside",dataType:"string",visibleIndex:22},{dataField:"paintThicknessInside",caption:"Paint thickness inside (\xb5)",dataType:"string",visibleIndex:23},{dataField:"glossInside",caption:"Gloss inside (%)",dataType:"string",visibleIndex:24},{dataField:"certifType",caption:"Certif type",dataType:"string",visibleIndex:25},{dataField:"customerProduct",caption:"Customer product number",dataType:"string",visibleIndex:26},{dataField:"order",caption:"Order",dataType:"link",route:"orderDetails",routeParam:"code",routeParamValue:"order",visibleIndex:27},{dataField:"orderItem",caption:"Order Item",dataType:"string",visibleIndex:28},{dataField:"orderedWeight",caption:"Ordered weight",dataType:"string",visibleIndex:29},{dataField:"alreadyDelivered",caption:"Already delivered",dataType:"string",visibleIndex:30},{dataField:"remainingQtyToDeliver",caption:"Remaining qty to deliver",dataType:"string",visibleIndex:31},{dataField:"readyToShipAtPort",caption:"Ready to ship at port",dataType:"string",visibleIndex:32},{dataField:"produced",caption:"Produced",dataType:"string",visibleIndex:33},{dataField:"readyToShipAtMill",caption:"Ready to ship at mill",dataType:"string",visibleIndex:34},{dataField:"toBeCertified",caption:"To be certified",dataType:"string",visibleIndex:35},{dataField:"notInProduction",caption:"Not in production",dataType:"string",visibleIndex:36},{dataField:"toHotRoll",caption:"To hot roll",dataType:"string",visibleIndex:37},{dataField:"ofWhichInProg",caption:"Of which in prog",dataType:"string",visibleIndex:38},{dataField:"toSkinPass",caption:"To skin pass",dataType:"string",visibleIndex:39},{dataField:"toPickle",caption:"To pickle",dataType:"string",visibleIndex:40},{dataField:"toColdRoll",caption:"To cold roll",dataType:"string",visibleIndex:41},{dataField:"toGalvanize",caption:"To galvanize",dataType:"string",visibleIndex:42},{dataField:"toPrePaint",caption:"To pre-paint",dataType:"string",visibleIndex:43},{dataField:"toSlit",caption:"To split",dataType:"string",visibleIndex:44},{dataField:"inProduction",caption:"In production",dataType:"string",visibleIndex:45},{dataField:"consignment",caption:"Consignment",dataType:"string",visibleIndex:46},{dataField:"qualityCheck",caption:"Quality check",dataType:"string",visibleIndex:47},{dataField:"producedOk",caption:"Produced ok",dataType:"string",visibleIndex:48},{dataField:"toPackStr",caption:"To pack STR",dataType:"string",visibleIndex:49}]},D1={columns:[{dataField:"customerReference",caption:"Customer reference",dataType:"string",visible:!0},{dataField:"orderPosition",caption:"Order/Position",dataType:"string",visible:!0},{dataField:"productType",caption:"Product type",dataType:"string",visible:!0},{dataField:"requestedWeek",caption:"Requested week",dataType:"string",visible:!0},{dataField:"confirmedWeek",caption:"Confirmed week",dataType:"string",visible:!0},{dataField:"completionWeek",caption:"Completion week",dataType:"string",visible:!1},{dataField:"quoteNumber",caption:"Quote Number",dataType:"link",visible:!0,route:"quote-details",routeParam:"quoteNumber",routeParamValue:"internalQuoteNumber"},{dataField:"quality",caption:"Quality",dataType:"string",visible:!0},{dataField:"thickness",caption:"Thickness",dataType:"string",visible:!0},{dataField:"width",caption:"Width",dataType:"string",visible:!0},{dataField:"customerName",caption:"Customer name",dataType:"string",visible:!0},{dataField:"shipTo",caption:"Ship to",dataType:"string",visible:!0},{dataField:"shipToAddress",caption:"Ship to - Address",dataType:"string",visible:!1},{dataField:"shipToCountry",caption:"Ship to - Country",dataType:"string",visible:!0},{dataField:"incoterms",caption:"Incoterms",dataType:"string",visible:!0},{dataField:"transportType",caption:"Transport Type",dataType:"string",visible:!0},{dataField:"coating",caption:"Coating",dataType:"string",visible:!1},{dataField:"paintSystemOutside",caption:"Paint system outside",dataType:"string",visible:!1},{dataField:"colorCodeOutside",caption:"Color code outside",dataType:"string",visible:!1},{dataField:"paintThicknessOutside",caption:"Paint thickness outside (\xb5)",dataType:"string",visible:!1},{dataField:"glossOutside",caption:"Gloss outside (%)",dataType:"string",visible:!1},{dataField:"paintSystemInside",caption:"Paint system inside",dataType:"string",visible:!1},{dataField:"colorCodeInside",caption:"Color code inside",dataType:"string",visible:!1},{dataField:"paintThicknessInside",caption:"Paint thickness inside (\xb5)",dataType:"string",visible:!1},{dataField:"glossInside",caption:"Gloss inside (%)",dataType:"string",visible:!1},{dataField:"certifType",caption:"Certif type",dataType:"string",visible:!1},{dataField:"customerProduct",caption:"Customer product number",dataType:"string",visible:!1},{dataField:"order",caption:"Order",dataType:"link",visible:!1,route:"orderDetails",routeParam:"code",routeParamValue:"order"},{dataField:"orderItem",caption:"Order Item",dataType:"string",visible:!1},{dataField:"orderedWeight",caption:"Ordered weight",dataType:"string",visible:!0},{dataField:"alreadyDelivered",caption:"Already delivered",dataType:"string",visible:!0},{dataField:"remainingQtyToDeliver",caption:"Remaining qty to deliver",dataType:"string",visible:!0},{dataField:"readyToShipAtPort",caption:"Ready to ship at port",dataType:"string",visible:!1},{dataField:"produced",caption:"Produced",dataType:"string",visible:!1},{dataField:"readyToShipAtMill",caption:"Ready to ship at mill",dataType:"string",visible:!0},{dataField:"toBeCertified",caption:"To be certified",dataType:"string",visible:!1},{dataField:"notInProduction",caption:"Not in production",dataType:"string",visible:!1},{dataField:"toHotRoll",caption:"To hot roll",dataType:"string",visible:!0},{dataField:"ofWhichInProg",caption:"Of which in prog",dataType:"string",visible:!1},{dataField:"toSkinPass",caption:"To skin pass",dataType:"string",visible:!1},{dataField:"toPickle",caption:"To pickle",dataType:"string",visible:!1},{dataField:"toColdRoll",caption:"To cold roll",dataType:"string",visible:!1},{dataField:"toGalvanize",caption:"To galvanize",dataType:"string",visible:!1},{dataField:"toPrePaint",caption:"To pre-paint",dataType:"string",visible:!1},{dataField:"toSlit",caption:"To split",dataType:"string",visible:!1},{dataField:"inProduction",caption:"In production",dataType:"string",visible:!0},{dataField:"consignment",caption:"Consignment",dataType:"string",visible:!1},{dataField:"qualityCheck",caption:"Quality check",dataType:"string",visible:!1},{dataField:"producedOk",caption:"Produced ok",dataType:"string",visible:!1},{dataField:"toPackStr",caption:"To pack STR",dataType:"string",visible:!1}]};let ah=class extends cs{constructor(e,t,s,o,l,u,h,_){super(e,t,s,o,l,u,h,_),this.orderBookService=e,this.changeDetection=t,this.userAccountService=s,this.globalMessageService=o,this.launchDialogService=l,this.translatePipe=u,this.datePipe=h,this.documentsService=_,this.isWideMode=!1,this.isWideModeChanged=new n.bkB,this.dxTableSettings=P1,this.dxViewSettings=D1,this.destroyed$=new R.B,this.tableCode=Qe.ORDER_BOOK}ngOnInit(){super.loadTableViews().add(()=>{this.views?.length&&(this.selectedView=this.views[0],this.dxViewSettings=JSON.parse(this.views[0].setting),this.changeDetection.detectChanges())})}ngOnDestroy(){super.ngOnDestroy()}changeWideMode(){this.isWideModeChanged.emit(!this.isWideMode)}updateView(e){const t=JSON.stringify(e),s=this.views.length<1,o={code:s?null:this.selectedView.code,name:"ORDER_BOOK_VIEW",share:!1,setting:t};s?super.createView(o):super.updateView(o)}static#e=this.ctorParameters=()=>[{type:Vs},{type:n.gRc},{type:Le.zq},{type:p.S8D},{type:v.PLe},{type:p.D97},{type:S.vh},{type:dt}];static#t=this.propDecorators={orderBookData:[{type:n.pde}],isWideMode:[{type:n.pde}],isWideModeChanged:[{type:n.k7i}]}};ah=(0,r.Cg)([(0,n.uAl)({selector:"order-book-list",template:'<app-toggle-card\n  [isExpand]="true"\n  [overflowVisible]="true"\n  [hideToggleButton]="true"\n  class="order-book"\n  [class.order-book_wide-view]="isWideMode"\n>\n  <svg-icon-sprite header-icon src="view_column" width="18" height="18"></svg-icon-sprite>\n\n  <span header-left>\n    {{ \'orderBook.list\' | cxTranslate }}\n  </span>\n\n  <span header-right>\n    <app-icon-button\n      (click)="changeWideMode()"\n      [src]="isWideMode ? \'fullscreen_exit\' : \'fullscreen_enter\'"\n    ></app-icon-button>\n  </span>\n\n  <div toggle-body>\n    <div class="order-book__grid">\n      <ng-container *ngIf="dxTableSettings">\n        <app-data-grid-views\n          [disableEditing]="true"\n          [dxTableSettings]="dxTableSettings"\n          [dxViewSettings]="dxViewSettings"\n          [selectedView]="selectedView"\n          [data]="orderBookData"\n          [fileTitle]="\'orderBook.fileTitle\' | cxTranslate"\n          [multiSelect]="false"\n          [showViews]="false"\n          [showFilterRow]="false"\n          [allowColumnSearch]="true"\n          [pageSize]="50"\n          (columnVisibilityChanged)="updateView($event)"\n        ></app-data-grid-views>\n      </ng-container>\n    </div>\n  </div>\n</app-toggle-card>\n',changeDetection:n.Ngq.OnPush,styles:[w1()]})],ah);let ch=class{};ch=(0,r.Cg)([(0,n.UQu)({declarations:[ah,uc],providers:[Vs,{provide:zp.A9,useClass:ks}],imports:[p.htr.withConfig({cmsComponents:{OrderBookComponent:{component:uc,guards:[j,Y]}}}),S.MD,v.x6L,ge,ze,V.F2,p.LP3,Mt,an]})],ch);let lh=class{};lh=(0,r.Cg)([(0,n.UQu)({declarations:[],imports:[S.MD,oh,mu,fu,_u,Ru,ih,Hp,ch,du,Gp]})],lh);var k1=i(71736),F1=i.n(k1);let dh=class{constructor(){}ngOnInit(){this.isOpen=!this.isMobileDimension}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={node:[{type:n.pde}],isMobileDimension:[{type:n.pde}]}};dh=(0,r.Cg)([(0,n.uAl)({selector:"app-group-header-level-one",template:'<div [class.is-open]="isOpen" class="group-header-level-one">\n  <h4 (click)="isOpen = !isOpen; $event.stopPropagation()" class="group-header-title-m">\n    {{ node.title }}\n    <svg-icon-sprite\n      src="expand_more"\n      width="24"\n      height="24"\n      class="more-icon d-lg-none">\n    </svg-icon-sprite>\n  </h4>\n\n  <ng-container *ngIf="isOpen">\n    <div *ngFor="let levelTwo of node.children" class="group-header-level-one__block">\n      <app-group-header-level-two\n        [isMobileDimension]="isMobileDimension"\n        [node]="levelTwo"\n      ></app-group-header-level-two>\n    </div>\n  </ng-container>\n\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[F1()]})],dh);var N1=i(6652),U1=i.n(N1);let ph=class{constructor(){}ngOnInit(){}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={node:[{type:n.pde}]}};ph=(0,r.Cg)([(0,n.uAl)({selector:"app-group-header-level-three",template:'<div class="group-header-level-three">\n  <cx-generic-link\n    *ngIf="node.url"\n    [url]="node.url"\n    [target]="node.target"\n  >\n  <span class="group-header-level-three__link">\n    {{ node.title }}\n  </span>\n  </cx-generic-link>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[U1()]})],ph);var B1=i(92496),V1=i.n(B1);let uh=class{constructor(){}ngOnInit(){this.isOpen=!this.isMobileDimension}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={node:[{type:n.pde}],isMobileDimension:[{type:n.pde}]}};uh=(0,r.Cg)([(0,n.uAl)({selector:"app-group-header-level-two",template:'<div [class.is-open]="isOpen" class="group-header-level-two">\n  <h5\n    *ngIf="node.title"\n    (click)="isOpen = !isOpen;\n     $event.stopPropagation()"\n    class="group-header-title-l"\n  >\n    {{ node.title }}\n    <svg-icon-sprite\n      src="expand_more"\n      width="24"\n      height="24"\n      class="more-icon d-lg-none">\n    </svg-icon-sprite>\n  </h5>\n\n  <ng-container *ngIf="isOpen || !node.title">\n    <ul class="group-header-level-two__list">\n      <li *ngFor="let thirdLevel of node.children">\n        <app-group-header-level-three\n          [node]="thirdLevel"\n        ></app-group-header-level-three>\n      </li>\n    </ul>\n  </ng-container>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[V1()]})],uh);var z1=i(4452),Y1=i.n(z1);let hh=class{constructor(e){this.breakpointService=e,this.isOpen=!1,this.isMobileDimension$=this.breakpointService.isDown(v.SLZ.md)}ngOnInit(){}static#e=this.ctorParameters=()=>[{type:v.dci}];static#t=this.propDecorators={node:[{type:n.pde}]}};hh=(0,r.Cg)([(0,n.uAl)({selector:"app-group-header",template:'<div\n  [class.is-open]="isOpen"\n  class="group-header d-lg-flex align-items-lg-stretch"\n>\n  <ng-container *ngFor="let node of node.children">\n    <div\n      (click)="isOpen = !isOpen; $event.stopPropagation()"\n      (clickOutside)="isOpen = false"\n      exclude=".group-header"\n      class="group-header__title d-lg-flex align-items-lg-center"\n    >\n      {{ node.title }}\n      <svg-icon-sprite\n        src="expand_more"\n        width="24"\n        height="24"\n        class="more-icon">\n      </svg-icon-sprite>\n    </div>\n\n    <ng-container *ngIf="isOpen">\n        <div class="group-header__row">\n          <scrollbar class="group-header__scrollbar">\n          <div class="d-flex flex-column flex-lg-row">\n            <div *ngFor="let levelOne of node.children" class="group-header__column">\n              <app-group-header-level-one\n                [isMobileDimension]="isMobileDimension$ | async"\n                [node]="levelOne"\n              ></app-group-header-level-one>\n            </div>\n          </div>\n          </scrollbar>\n        </div>\n    </ng-container>\n  </ng-container>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[Y1()]})],hh);var gh,q1=i(24355),H1=i.n(q1);!function(a){a.NLMKGroupHeaderComponent="NLMKGroupHeaderComponent",a.PersonalAccountNavComponent="PersonalAccountNavComponent",a.PersonalAccountTradingNavComponent="PersonalAccountTradingNavComponent"}(gh||(gh={}));let hc=class{constructor(e,t){this.component=e,this.service=t,this.NavigationUid=gh,this.uid$=this.component.data$.pipe((0,w.T)(s=>s?.uid)),this.node$=this.service.createNavigation(this.component.data$)}ngOnInit(){}static#e=this.ctorParameters=()=>[{type:v.TLs},{type:v.o_p}]};hc=(0,r.Cg)([(0,n.uAl)({selector:"app-navigation",template:'<ng-container *ngIf="node$ | async as node">\n  <ng-container [ngSwitch]="uid$ | async">\n    <ng-container *ngSwitchCase="NavigationUid.NLMKGroupHeaderComponent">\n      <app-group-header [node]="node" class="d-lg-flex align-items-lg-stretch"></app-group-header>\n    </ng-container>\n    <ng-container *ngSwitchCase="NavigationUid.PersonalAccountNavComponent">\n      <app-profile-menu [node]="node"></app-profile-menu>\n    </ng-container>\n    <ng-container *ngSwitchCase="NavigationUid.PersonalAccountTradingNavComponent">\n      <app-profile-menu-trading [node]="node"></app-profile-menu-trading>\n    </ng-container>\n    <ng-container *ngSwitchDefault>\n      <cx-navigation></cx-navigation>\n    </ng-container>\n  </ng-container>\n</ng-container>\n',styles:[H1()]})],hc);var W1=i(50029),K1=i.n(W1);let mh=class{constructor(){}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={manager:[{type:n.pde}]}};mh=(0,r.Cg)([(0,n.uAl)({selector:"app-manager-info-contacts",template:'<div class="contracts">\n  <div class="contracts__contracts-head">\n    <svg-icon-sprite\n      alt="contracts"\n      width="24px"\n      height="24px"\n      src="nlmk_manager"\n      class="contracts__contracts-icon">\n    </svg-icon-sprite>\n    <div class="contracts__contracts-head-wrapper">\n      <p class="contracts__contracts-title">\n        {{ \'text.myProfile.\' + manager.contactType | cxTranslate }}\n      </p>\n      <p class="contracts__contracts-name">\n        {{ manager.name }}\n      </p>\n    </div>\n  </div>\n  <div class="contracts__contracts-info">\n    <a class="contracts__contracts-link contracts__contracts-mail"\n       href="mailto:{{ manager.email }}" [title]="manager.email">\n      <svg-icon-sprite\n        alt="mail"\n        width="18px"\n        height="18px"\n        src="mail_outline"\n        class="contracts__contact-icon">\n      </svg-icon-sprite>{{ manager.email }}\n    </a>\n  </div>\n\n  <div class="contracts__contracts-info">\n    <a class="contracts__contracts-link" href="tel:{{ manager.phoneNumber }}">\n      <svg-icon-sprite\n        alt="phone"\n        width="18px"\n        height="18px"\n        src="phone"\n        class="contracts__contact-icon">\n      </svg-icon-sprite>{{ manager.phoneNumber }}\n    </a>\n  </div>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[K1()]})],mh);var Z1=i(70335),J1=i.n(Z1);let _h=class{constructor(){this.isOpened=!1}ngOnInit(){}toggle(){this.isOpened=!this.isOpened}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={managers:[{type:n.pde}]}};_h=(0,r.Cg)([(0,n.uAl)({selector:"app-manager-info",template:'<div *ngIf="managers" class="manager">\n  <div *ngFor="let kam of managers.YB; let last = last">\n      <div class="manager__manager-head">\n        <svg-icon-sprite\n          alt="manager"\n          width="24px"\n          height="24px"\n          src="nlmk_manager"\n          class="manager__manager-icon">\n        </svg-icon-sprite>\n        <div class="manager__manager-head-wrapper">\n          <p class="manager__manager-title">\n            {{ \'text.myProfile.\' + kam.contactType | cxTranslate }}\n          </p>\n          <p class="manager__manager-name">\n            {{ kam.name }}\n          </p>\n        </div>\n      </div>\n      <div class="manager__manager-info">\n        <a class="manager__manager-link" href="mailto:{{ kam.email }}">\n          <svg-icon-sprite\n            alt="mail"\n            width="18px"\n            height="18px"\n            src="mail_outline"\n            class="manager__contact-icon">\n          </svg-icon-sprite>{{ kam.email }}\n        </a>\n      </div>\n\n      <div class="manager__manager-info">\n        <a class="manager__manager-link" href="tel:{{ kam.phoneNumber }}">\n          <svg-icon-sprite\n            alt="phone"\n            width="18px"\n            height="18px"\n            src="phone"\n            class="manager__contact-icon">\n          </svg-icon-sprite>{{ kam.phoneNumber }}\n        </a>\n      </div>\n      <div class="manager__contracts d-flex justify-content-between"\n           [class.manager__contracts--opened]="isOpened"\n           (click)="toggle()"\n           *ngIf="last && (!!managers.YV || !!managers.YD)"\n      >\n        <div class="d-flex align-items-center">\n          <div class="manager__contracts-icon">\n            <svg-icon-sprite\n              width="18"\n              height="18"\n              src="contacts"\n              [class.manager__contracts__active-icon]="isOpened">\n            </svg-icon-sprite>\n          </div>\n          <div class="manager__contracts-title">\n            {{ (isOpened ? \'text.profileMenu.accountMenu.showLess\' : \'text.profileMenu.accountMenu.showMore\') | cxTranslate}}\n          </div>\n        </div>\n        <div class="manager__contracts__toggle-icon">\n          <svg-icon-sprite\n            width="24"\n            height="24"\n            [src]="isOpened ? \'expand_less\' : \'expand_more\'"\n            [class.manager__contracts__active-icon]="isOpened">\n          </svg-icon-sprite>\n        </div>\n      </div>\n    </div>\n    <ng-container *ngIf="isOpened">\n      <ng-container *ngFor="let mdg_backoffice of managers.YV">\n          <app-manager-info-contacts [manager]="mdg_backoffice"></app-manager-info-contacts>\n      </ng-container>\n      <ng-container *ngFor="let cts of managers.YD">\n          <app-manager-info-contacts [manager]="cts"></app-manager-info-contacts>\n      </ng-container>\n    </ng-container>\n</div>\n',styles:[J1()]})],_h);var tL=i(1097),nL=i.n(tL);let vh=class{constructor(){}ngOnInit(){}toggle(){this.isOpened=!this.isOpened}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={text:[{type:n.pde}],isOpened:[{type:n.pde}],icon:[{type:n.pde}]}};vh=(0,r.Cg)([(0,n.uAl)({selector:"app-manager-mobile-toggle",template:'<div class="toggle" [class.toggle--hidden]="!isOpened" (click)="toggle()">\n  <div class="toggle__head">\n    <h4 class="toggle__title">\n      <svg-icon-sprite *ngIf="icon" [src]="icon" width="24" height="24" class="toggle__title-icon"></svg-icon-sprite>\n      {{text}}\n    </h4>\n    <div class="toggle__mobile-icons">\n      <svg-icon-sprite width="24px" height="24px" class="toggle__facet-icon" src="expand_more"></svg-icon-sprite>\n      <svg-icon-sprite width="24px" height="24px" class="toggle__close-icon" src="close"></svg-icon-sprite>\n    </div>\n  </div>\n</div>\n',styles:[nL()]})],vh);var iL=i(6929),rL=i.n(iL);let xh=class{constructor(e,t,s,o){this.launchDialogService=e,this.translatePipe=t,this.authService=s,this.router=o,this.item=null,this.url=this.router.url,this.passwordUpdateUrl="passwordUpdate",this.isSelectedCategory=!1,this.isOpened=!1,this.API_ENDPOINT=E,this.destroyed$=new R.B}ngOnInit(){this.checkSelectedCategory(),this.onChangeUrl(),this.isItemIncludesCurrentRoute()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}checkSelectedCategory(){const e=[];this.item.childItems?.forEach(t=>{t.url&&e.push(t.url)}),this.isSelectedCategory=e.includes(this.url.split("?")[0]),this.isOpened=this.isSelectedCategory}onChangeUrl(){this.router.events.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{e instanceof y.wF&&(this.url=e.url,this.checkSelectedCategory())})}isItemIncludesCurrentRoute(){this.isOpened=!!this.item.childItems.find(s=>this.router.url.split("?")[0]===s.url),!this.item.childItems.find(s=>s.url===M.MY_ACCOUNT.ORDER.ACTIVE)||this.isOpened?!this.item.childItems.find(s=>s.url===M.MY_ACCOUNT.QUOTE.ACTIVE)||this.isOpened||(this.isOpened=this.router.url.includes(M.MY_ACCOUNT.QUOTE.DETAILS)):this.isOpened=this.router.url.includes(M.MY_ACCOUNT.ORDER.DETAILS_PATH)}toggle(){this.isOpened=!this.isOpened}onClick(e,t){e===this.passwordUpdateUrl?this.showPasswordUpdateModal():this.url=t}translate(e){const t=`text.profileMenu.accountMenu.${e}`;return this.translatePipe.transform(t)}showPasswordUpdateModal(){this.launchDialogService.openDialogAndSubscribe("AUTH_MODAL",void 0,{type:Pe.UPDATE,header:this.translatePipe.transform("button.updatePassword")})}onLogout(){return this.authService.coreLogout(),this.router.navigate(["/"])}highlightNav(e){if(e)return this.url===e||this.url.includes(`${e}?`)}showChangePasswordModal(){this.launchDialogService.openDialogAndSubscribe("AUTH_MODAL",void 0,{type:Pe.UPDATE,header:this.translatePipe.transform("button.updatePassword")})}static#e=this.ctorParameters=()=>[{type:v.PLe},{type:p.D97},{type:p.uRZ},{type:y.Ix}];static#t=this.propDecorators={item:[{type:n.pde}]}};xh=(0,r.Cg)([(0,n.uAl)({selector:"app-profile-menu-item",template:'<ng-container *ngIf="item">\n  <ng-container *ngIf="item.childItems && item.childItems.length > 0; else single">\n    <div class="menu-item">\n      <div class="menu-item__head" [class.menu-item--opened]="isSelectedCategory" (click)="toggle()">\n        <div class="menu-item__title-icon">\n          <svg-icon-sprite\n            [src]="item.icon"\n            [class.menu-item__active-icon]="isSelectedCategory"\n            width="18"\n            height="18"\n          ></svg-icon-sprite>\n        </div>\n\n        <div class="menu-item__title">\n          {{ item.title ? item.title : translate(item.name)}}\n        </div>\n        <div class="menu-item__toggle-icon">\n          <svg-icon-sprite\n            [src]="isOpened ? \'expand_less\' : \'expand_more\'"\n            [class.menu-item__active-icon]="isSelectedCategory"\n            width="24"\n            height="24"\n          ></svg-icon-sprite>\n        </div>\n      </div>\n\n      <div\n        *ngIf="isOpened"\n        class="menu-item__body"\n      >\n        <div class="menu-item__child-list">\n          <ng-container *ngFor="let childItem of item.childItems">\n            <div *ngIf="childItem.url !== API_ENDPOINT.MY_ACCOUNT.UPDATE_PASSWORD; else updatePassword"\n              [routerLink]="childItem.url"\n              [class.menu-item__child-item--is-open]="highlightNav(childItem.url)"\n              (click)="onClick(childItem.name, childItem.url)"\n              class="menu-item__child-item"\n            >\n              {{ childItem.title ? childItem.title : translate(childItem.name) }}\n            </div>\n            <ng-template #updatePassword>\n              <div\n                class="menu-item__child-item"\n                (click)="showChangePasswordModal()">\n                {{ childItem.title ? childItem.title : translate(childItem.name) }}\n              </div>\n            </ng-template>\n          </ng-container>\n        </div>\n      </div>\n    </div>\n  </ng-container>\n</ng-container>\n\n\n<ng-template #single>\n  <ng-container *ngIf="item.url">\n    <div class="menu-item" [routerLink]="item.url" *ngIf="item.url !== API_ENDPOINT.LOGOUT; else logout">\n      <div class="menu-item__head" [class.menu-item--opened]="highlightNav(item.url)">\n        <div class="menu-item__title-icon">\n          <svg-icon-sprite\n            [class.menu-item__active-icon]="highlightNav(item.url)"\n            [src]="item.icon"\n            width="18px"\n            height="18px"\n          ></svg-icon-sprite>\n        </div>\n        <div class="menu-item__title">\n          {{ item.title ? item.title : translate(item.name) }}\n        </div>\n      </div>\n    </div>\n    <ng-template #logout>\n      <div class="menu-item" (click)="onLogout()">\n        <div class="menu-item__head">\n          <div class="menu-item__title-icon">\n            <svg-icon-sprite [src]="item.icon" width="18px" height="18px"></svg-icon-sprite>\n          </div>\n          <div class="menu-item__title">\n            {{ item.title ? item.title : translate(item.name)}}\n          </div>\n        </div>\n      </div>\n    </ng-template>\n  </ng-container>\n</ng-template>\n',styles:[rL()]})],xh);var aL=i(39457),cL=i.n(aL);class om{constructor(){this.isNavListOpen=!1,this.iconMap={},this.navModel=[]}setNavModel(){this.node.children[0]?.children?.forEach(e=>{this.navModel.push({title:e.title,name:this.titleNormalizer(e.title),icon:this.getNavIcon(e.title),url:e.url,childItems:this.getChildrenMap(e.children)})})}getChildrenMap(e){return e&&e.length?e.filter(t=>t.url).map(t=>({title:t.title,name:this.titleNormalizer(t.title),url:t.url})):[]}getNavIcon(e){return this.iconMap[this.titleNormalizer(e)]}titleNormalizer(e){return e?e.toLowerCase().replace(/[^a-zA-Z0-9]+(.)/g,(t,s)=>s.toUpperCase()):""}toggleNavList(){this.isNavListOpen=!this.isNavListOpen}static#e=this.propDecorators={node:[{type:n.pde}]}}let gc=class extends om{constructor(){super(),this.iconMap={reports:"announcement",profile:"person",claims:"announcement",signOut:"exit_to_app",placeARequest:"speaker_notes",company:"business"}}ngOnInit(){super.setNavModel()}static#e=this.ctorParameters=()=>[]};gc=(0,r.Cg)([(0,n.uAl)({selector:"app-profile-menu-trading",template:'<div class="profile-menu-trading">\n  <div class="profile-menu-trading__nav-list">\n    <div\n      [class.is-hidden]="!isNavListOpen"\n      class="profile-menu-trading__nav-list"\n    >\n      <app-manager-mobile-toggle\n        [isOpened]="isNavListOpen"\n        (click)="toggleNavList()"\n        text="{{ \'text.profileMenu.accountMenu.title\' | cxTranslate }}"\n        icon="person"\n      ></app-manager-mobile-toggle>\n      <div class="profile-menu-trading__nav-list-body">\n        <ng-container *ngFor="let item of navModel">\n          <app-profile-menu-item\n            [item]="item"\n            class="profile-menu-trading__nav-item"\n          ></app-profile-menu-item>\n        </ng-container>\n      </div>\n    </div>\n  </div>\n</div>\n',styles:[cL()]})],gc);var dL=i(74901),pL=i.n(dL);function hL(a,e){const t={},s=function uL(a){return"object"==typeof a?Object.keys(a):[]}(e);for(let o=0;o<s.length;o++){const l=s[o],u=a(e[l],l,e);t[u]||(t[u]=[]),t[u].push(e[l])}return t}let mc=class{constructor(e,t,s){this.occEndpointsService=e,this.http=t,this.authService=s,this.cache=null,this.isLoggedIn$=this.authService.isUserLoggedIn(),this.isLoggedIn$.subscribe(o=>{this.cache=o?null:(0,$.of)([])})}getProfileManager(){if(this.cache)return this.cache;const e=this.occEndpointsService.buildUrl(E.USER.PROFILE.PROFILE_MANAGERS);return this.cache=this.http.get(e).pipe((0,zn.t)(1)),this.cache}static#e=this.ctorParameters=()=>[{type:p.zxz},{type:U.Qq},{type:p.uRZ}]};mc=(0,r.Cg)([(0,n._qm)()],mc);let _c=class extends om{constructor(e,t){super(),this.consentService=e,this.profileContactsService=t,this.iconMap={orders:"assignment",quotations:"work",supportRequest:"contact_support",profile:"person",signOut:"exit_to_app",myCompany:"business",claims:"feedback",finances:"credit_card",reports:"report_menu"},this.isManagerOpen=!1,this.isHaveMissingConsent$=this.consentService.isHaveMissingConsent$,this.managers$=this.profileContactsService.getProfileManager().pipe((0,w.T)(s=>hL(o=>o.contactType,s)))}ngOnInit(){super.setNavModel()}toggleManager(){this.isManagerOpen=!this.isManagerOpen}static#e=this.ctorParameters=()=>[{type:on},{type:mc}]};_c=(0,r.Cg)([(0,n.uAl)({selector:"app-profile-menu",template:'<div class="profile-menu">\n  <div\n    *ngIf="(isHaveMissingConsent$ | async) === false"\n    [class.is-hidden]="!isManagerOpen"\n    class="profile-menu__manager"\n  >\n    <ng-container *ngIf="managers$ | async as managers">\n      <ng-container *ngIf="(managers | keyvalue)?.length">\n        <app-manager-mobile-toggle\n          [isOpened]="isManagerOpen"\n          (click)="toggleManager()"\n          text="{{ \'text.profileMenu.accountMenu.managerTitle\' | cxTranslate }}"\n          icon="nlmk_manager"\n        ></app-manager-mobile-toggle>\n        <div class="profile-menu__manager-body">\n          <app-manager-info [managers]="managers"></app-manager-info>\n        </div>\n      </ng-container>\n    </ng-container>\n  </div>\n  <div class="profile-menu__nav-list">\n      <div\n        [class.is-hidden]="!isNavListOpen"\n        class="profile-menu__nav-list"\n      >\n        <app-manager-mobile-toggle\n          [isOpened]="isNavListOpen"\n          (click)="toggleNavList()"\n          text="{{ \'text.profileMenu.accountMenu.title\' | cxTranslate }}"\n          icon="person"\n        ></app-manager-mobile-toggle>\n        <div class="profile-menu__nav-list-body">\n          <ng-container *ngFor="let item of navModel">\n            <app-profile-menu-item\n              [item]="item"\n              class="profile-menu__nav-item"\n            ></app-profile-menu-item>\n          </ng-container>\n        </div>\n      </div>\n  </div>\n</div>\n',styles:[pL()]})],_c);let fh=class{};fh=(0,r.Cg)([(0,n.UQu)({declarations:[_c,xh,_h,vh,mh,gc],imports:[S.MD,y.iI,V.F2,p.LP3],exports:[_c,gc],providers:[p.D97,mc]})],fh);let Ch=class{};Ch=(0,r.Cg)([(0,n.UQu)({declarations:[hc,hh,dh,uh,ph],imports:[S.MD,p.htr.withConfig({cmsComponents:{NavigationComponent:{component:hc}}}),y.iI,v.fmq,fh,v.sS9,Bt.o,V.F2,Te]})],Ch);var mL=i(76367),_L=i.n(mL);class vL{static isValidMailFormat(e){return/^[A-z\u0410-\u044f0-9!#$%&'*+\/=?^_`{|}~.-]+@[A-z\u0410-\u044f0-9!#$%&'*+\/=?^_`{|}~.-]+\.[A-z\u0410-\u044f0-9]+$/i.test(e.value)?null:{email:!0}}}let vc=class{constructor(e,t,s,o,l,u,h,_,C,T){this.component=e,this.http=t,this.occEndpointsService=s,this.route=o,this.router=l,this.authService=u,this.launchDialogService=h,this.translatePipe=_,this.globalMessageService=C,this.userAccountService=T,this.destroyed$=new R.B,this.subscription=new X.yU,this.data$=this.component.data$,this.isEdiUser$=this.userAccountService.get().pipe((0,w.T)(D=>!D?.roles?.includes("edimanagergroup"))),this.control=new m.hs("",[m.k0.required,vL.isValidMailFormat,m.k0.maxLength(255)]),this.errorTexts={required:"formErrors.required",email:"httpHandlers.validationErrors.invalid.email",maxlength:"httpHandlers.validationErrors.invalid.charactersLimit"}}ngOnInit(){this.initRouteSub()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete(),this.subscription?.unsubscribe()}initRouteSub(){this.route.queryParams.pipe((0,me.$)(),(0,x.Q)(this.destroyed$)).subscribe(e=>{const t=e?.email,s=e?.token;t&&s&&this.http.post(this.occEndpointsService.buildUrl(E.USER.SUBSCRIPTION.CONFIRM,{urlParams:{},queryParams:{email:t,token:s}}),{}).pipe((0,x.Q)(this.destroyed$)).subscribe(()=>{this.launchDialogService.openDialogAndSubscribe("THANK_YOU_MODAL",void 0,{title:this.translatePipe.transform("newSubscription.confirmedModalTitle"),text:this.translatePipe.transform("newSubscription.confirmedModalText")}),this.subscription.add(this.launchDialogService.dialogClose.subscribe(o=>{this.clearUrl()}))},o=>{this.clearUrl(),this.showErrors(o)})})}clearUrl(){return this.router.navigate([],{relativeTo:this.route,queryParams:{}})}submit(){const e=[];if(this.control.invalid)return Object.keys(this.errorTexts).forEach(t=>{this.control.errors[t]&&e.push(this.errorTexts[t])}),void e.forEach(t=>{this.globalMessageService.add({key:t},p.NCV.MSG_TYPE_ERROR)});this.authService.isUserLoggedIn().pipe((0,me.$)(),(0,k.n)(t=>(0,La.p)([(0,$.of)(t),this.http.post(this.occEndpointsService.buildUrl(E.USER.SUBSCRIPTION.CREATE,{urlParams:{userId:t?"current":"anonymous"}}),{subscriptionEmail:this.control.value}).pipe((0,x.Q)(this.destroyed$))])),(0,x.Q)(this.destroyed$)).subscribe(t=>{this.control.reset(),t[1]?.hasOwnProperty("alreadyExists")?this.showExistModal(t[1].alreadyExists):this.showSuccessModal()},t=>{this.showErrors(t)})}showErrors(e){const t=e?.error?.errors;t?.length>0&&this.globalMessageService.add(t[0]?.message,p.NCV.MSG_TYPE_ERROR)}showSuccessModal(){this.launchDialogService.openDialogAndSubscribe("THANK_YOU_MODAL",void 0,{icon:"error_outline_bold",title:this.translatePipe.transform("newSubscription.successModalTitle"),text:this.translatePipe.transform("newSubscription.successModalText"),type:Nn.WARNING})}showExistModal(e){const t=e?"newSubscription.alreadySubscribedTitle":"newSubscription.confirmedModalTitle",s=e?"newSubscription.alreadySubscribedText":"newSubscription.confirmedModalLoginText",o=e?"error_outline_bold":"check_circle_outline";this.launchDialogService.openDialogAndSubscribe("THANK_YOU_MODAL",void 0,{icon:o,title:this.translatePipe.transform(t),text:this.translatePipe.transform(s),type:e?Nn.WARNING:Nn.SUCCESS})}static#e=this.ctorParameters=()=>[{type:v.TLs},{type:U.Qq},{type:p.zxz},{type:y.nX},{type:y.Ix},{type:p.uRZ},{type:v.PLe},{type:p.D97},{type:p.S8D},{type:Le.zq}]};vc=(0,r.Cg)([(0,n.uAl)({selector:"app-news-subscribe",template:'<ng-container *ngIf="isEdiUser$ | async">\n  <div\n    *ngIf="data$ | async as data"\n    class="news-subscribe d-flex flex-column-reverse flex-sm-row"\n  >\n    <div>\n      <h3 class="footer__title">{{data.title}}</h3>\n      <label class="subscribe">\n        <input\n          [formControl]="control"\n          class="subscribe__input"\n          placeholder="{{ \'placeholder.email\' | cxTranslate }}"\n          type="text"\n        >\n        <button\n          (click)="submit()"\n          class="subscribe__button"\n        >\n          {{ \'button.send\' | cxTranslate }}\n        </button>\n      </label>\n    </div>\n  </div>\n</ng-container>\n',styles:[_L()]})],vc);let bh=class{};bh=(0,r.Cg)([(0,n.UQu)({declarations:[vc],imports:[S.MD,p.LP3,m.X1,p.htr.withConfig({cmsComponents:{NewsSubscribeComponent:{component:vc}}})]})],bh);var fL=i(6629),CL=i.n(fL);let xc=class{constructor(e){this.breakpointService=e,this.imgUrl$=this.breakpointService.isUp(v.SLZ.sm).pipe((0,w.T)(t=>t?"assets/images/not-found-lange.svg":"assets/images/not-found-small.svg"))}ngOnInit(){}static#e=this.ctorParameters=()=>[{type:v.dci}]};xc=(0,r.Cg)([(0,n.uAl)({selector:"app-not-found",template:'<div class="container not-found">\n  <div>\n    <img class="not-found__img" [src]="imgUrl$ | async" alt="not-found">\n  </div>\n\n  <div class="not-found__text">\n      <div class="not-found__text-title">{{ \'notFound.title\' | cxTranslate }}</div>\n      <div class="not-found__text-description">{{ \'notFound.description\' | cxTranslate }}</div>\n      <button\n        class="btn btn-default btn--md not-found__text-button"\n        [routerLink]="\'/\'"\n      >\n        <svg-icon-sprite\n          class="not-found__text-button--icon"\n          src="arrow_back_ios"\n        ></svg-icon-sprite>\n        {{ \'notFound.button\' | cxTranslate }}\n      </button>\n  </div>\n\n</div>\n',styles:[CL()]})],xc);let yh=class{};yh=(0,r.Cg)([(0,n.UQu)({declarations:[xc],imports:[S.MD,p.htr.withConfig({cmsComponents:{SimpleResponsiveBannerComponent:{component:xc}}}),V.F2,y.iI,p.LP3]})],yh);var Sh,yL=i(70301),SL=i.n(yL);!function(a){a.TradingAboutUsComponent="TradingAboutUsComponent"}(Sh||(Sh={}));let fc=class{constructor(e){this.component=e,this.data$=this.component.data$,this.FlexTypeLandingTopItemEnums=Sh}static#e=this.ctorParameters=()=>[{type:v.TLs}]};fc=(0,r.Cg)([(0,n.uAl)({selector:"app-product-landing-top-item",template:'<ng-container *ngIf="data$ | async as data">\n  <ng-container [ngSwitch]="data.flexType">\n\n    <ng-container *ngSwitchCase="FlexTypeLandingTopItemEnums.TradingAboutUsComponent">\n      <app-home-page-about-us [data]="data"></app-home-page-about-us>\n    </ng-container>\n\n    <ng-container *ngSwitchDefault>\n      {{ data.name }}\n    </ng-container>\n\n  </ng-container>\n</ng-container>\n',changeDetection:n.Ngq.OnPush,styles:[SL()]})],fc);let Th=class{};Th=(0,r.Cg)([(0,n.UQu)({declarations:[fc],imports:[S.MD,p.htr.withConfig({cmsComponents:{ProductLandingTopItem:{component:fc}}}),jo]})],Th);var Eh,EL=i(58898),RL=i.n(EL);!function(a){a.HomepageTopBannerComponent="HomepageTopBannerComponent",a.HomepageApplicationFieldComponent="HomepageApplicationFieldComponent",a.HomepageTopBannerComponentLeft="HomepageTopBannerComponentLeft",a.HomepageApplicationFieldComponentLeft="HomepageApplicationFieldComponentLeft",a.ProductLandingTopBannerComponent="ProductLandingTopBannerComponent",a.ProductLandingTopBannerComponentLeft="ProductLandingTopBannerComponentLeft"}(Eh||(Eh={}));let Cc=class{constructor(e){this.component=e,this.slides$=this.component.data$.pipe((0,w.T)(t=>(this.title=t?.title,t?Object.keys(t.banners).map(s=>t?.banners[s]):[]))),this.flexType$=this.component.data$.pipe((0,w.T)(t=>t?.flexType)),this.flexTypes=Eh,this.title=null}ngOnInit(){}static#e=this.ctorParameters=()=>[{type:v.TLs}]};Cc=(0,r.Cg)([(0,n.uAl)({selector:"app-product-landing-top",template:'<ng-container *ngIf="slides$ | async as slides">\n  <div\n    *ngIf="slides.length"\n    class="marketing-slider"\n  >\n    <ng-container [ngSwitch]="flexType$ | async">\n      <div class="container" *ngSwitchCase="flexTypes.HomepageApplicationFieldComponent">\n        <app-time-carousel\n          [isMiddle]="true"\n          [insideControls]="false"\n          [hideDots]="true"\n          [slides]="slides"\n        ></app-time-carousel>\n      </div>\n\n      <div class="container" *ngSwitchCase="flexTypes.HomepageApplicationFieldComponentLeft">\n        <div\n          *ngIf="title"\n          class="h5 mb-30"\n        >\n          {{ title }}\n        </div>\n        <app-time-carousel\n          [isMiddle]="true"\n          [insideControls]="false"\n          [alignRight]="false"\n          [hideDots]="true"\n          [slides]="slides"\n        ></app-time-carousel>\n      </div>\n\n     <div class="homepage-slider__top" *ngSwitchCase="flexTypes.HomepageTopBannerComponent">\n        <app-time-carousel\n          [slides]="slides"\n          [hideDots]="true"\n        ></app-time-carousel>\n     </div>\n\n      <div class="homepage-slider__top" *ngSwitchCase="flexTypes.HomepageTopBannerComponentLeft">\n        <app-time-carousel\n          [alignRight]="false"\n          [slides]="slides"\n          [hideDots]="true"\n        ></app-time-carousel>\n      </div>\n\n      <app-time-carousel\n        *ngSwitchCase="flexTypes.ProductLandingTopBannerComponent"\n        [isProduct]="true"\n        [alignRight]="true"\n        [slides]="slides"\n        [hideDots]="true"\n      ></app-time-carousel>\n\n      <app-time-carousel\n        *ngSwitchCase="flexTypes.ProductLandingTopBannerComponentLeft"\n        [isProduct]="true"\n        [alignRight]="false"\n        [slides]="slides"\n        [hideDots]="true"\n      ></app-time-carousel>\n\n      <app-segment-banner-top\n        *ngSwitchDefault\n        [slide]="slides[0]"\n      ></app-segment-banner-top>\n    </ng-container>\n\n  </div>\n</ng-container>\n\n',styles:[RL()]})],Cc);var AL=i(23980),IL=i.n(AL);let Rh=class{constructor(){}ngOnInit(){}static#e=this.ctorParameters=()=>[];static#t=this.propDecorators={slide:[{type:n.pde}]}};Rh=(0,r.Cg)([(0,n.uAl)({selector:"app-segment-banner-top",template:'<div\n  [ngStyle]="{\'background-image\': \'url(\' + (slide.media | getMedia) + \')\'}"\n  class="banner"\n>\n  <div class="container">\n    <div class="banner__text d-flex flex-column align-items-end">\n      <div class="banner__text-title">{{ slide.title }}</div>\n      <div class="banner__text-subtitle">{{ slide.subTitle }}</div>\n      <div class="banner__text-content">{{ slide.description }}</div>\n    </div>\n  </div>\n</div>\n',styles:[IL()]})],Rh);let Oh=class{};Oh=(0,r.Cg)([(0,n.UQu)({declarations:[Cc,Rh],imports:[S.MD,be,p.htr.withConfig({cmsComponents:{ProductLandingTopComponent:{component:Cc}}}),xe]})],Oh);var PL=i(24741),DL=i.n(PL);let bc=class{constructor(e,t,s,o){this.productListCategoryService=e,this.facetService=t,this.orderTypeService=s,this.router=o,this.destroyed$=new R.B,this.orderType$=this.orderTypeService.orderType$,this.categories$=this.productListCategoryService.categories$,this.url=this.router.url,this.isOpened=!1,this.isCategoryTopLevel=!1,this.isLoading=!0}ngOnInit(){this.getCategories(),this.onChangeUrl()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}filteredCategories(e,t){return t&&"ORDER"===t.facetValueCode?e.filter(s=>"105"!==s.code):e}onChangeUrl(){this.router.events.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{e instanceof y.wF&&(this.url=e.url,this.getCategories())})}getLinkParams(e,t){return this.facetService.getLinkParams(`${ee_RELEVANCE_ALL_CATEGORIES}:${e.code}${ee_ORDER_TYPE}:${t}`)}getCategories(){this.isLoading=!0,this.url.includes(M.CATEGORIES.STRIP)||this.url.includes(M.CATEGORIES.PLATE)?(this.isCategoryTopLevel=!0,this.categories$=this.productListCategoryService.categories$.pipe((0,At.Z)(()=>this.facetService.facetList$.pipe((0,me.$)(),(0,w.T)(e=>e.facets.find(t=>t.code===ie.CATEGORIES)),(0,z.M)(()=>{this.isLoading=!1}))))):(this.isCategoryTopLevel=!1,this.categories$=this.productListCategoryService.categories$.pipe((0,me.$)(),(0,z.M)(e=>{this.redirectToCorrectUrl(e),this.isLoading=!1})))}toggle(){this.isOpened=!this.isOpened}redirectToCorrectUrl(e){const t=e.list.find(s=>s.code===e.context.id).listingPageUrl;"105"===e.context.id?this.router.navigate([t],{queryParams:{query:":relevance:allCategories:105:orderType:STOCK"}}):this.url.includes(t)||this.router.navigate([t]).then()}static#e=this.ctorParameters=()=>[{type:Yt},{type:v.rOA},{type:gt},{type:y.Ix}]};bc=(0,r.Cg)([(0,n.uAl)({selector:"app-product-list-category",template:'<div *ngIf="categories$ | async as categories"\n     class="category"\n     [class.category--hidden]="!isOpened"\n     [class.category--not-empty]="!isLoading && (categories?.values?.length || categories?.list?.length)">\n  <div class="category__head" (click)="toggle()">\n    <div class="category__title d-flex align-items-center">\n      {{\'text.productList.category.categories\' | cxTranslate}}\n\n      <svg-icon-sprite width="24px" height="24px" class="category__category-icon"\n                       src="format_list_bulleted"></svg-icon-sprite>\n      <svg-icon-sprite width="24px" height="24px" class="category__close-icon" src="close"></svg-icon-sprite>\n\n    </div>\n  </div>\n  <ng-container *ngIf="isCategoryTopLevel; else secondLevel">\n    <ul class="category__list">\n      <li *ngFor="let category of categories.values" class="category__list-item">\n        <a\n          [class.category__active-link]="category.selected"\n          [routerLink]="\'/c/\' + category.query.query.value.match(\'categories:(.+?:|.+?$)\')[1]"\n        >\n          {{ category.name }}\n        </a>\n      </li>\n    </ul>\n  </ng-container>\n  <ng-template #secondLevel>\n    <ul *ngIf="orderType$ | async as orderType" class="category__list">\n      <li *ngFor="let category of filteredCategories(categories.list, orderType)" class="category__list-item">\n        <a\n          class="category__link"\n          [class.category__link--active]="categories.context.id === category.code"\n          [routerLink]="category.listingPageUrl"\n          [queryParams]="getLinkParams(category, orderType?.facetValueCode)"\n        >\n          {{ category.name }}\n        </a>\n      </li>\n    </ul>\n  </ng-template>\n</div>\n',styles:[DL()]})],bc);var kL=i(72397),FL=i.n(kL);let Gs=class{constructor(e,t,s,o){this.facetService=e,this.cmsService=t,this.agreementFacetService=s,this.route=o,this.isSearch=!1,this.isOpened=!1,this.PAGES_ID=q,this.pageId$=this.cmsService.getCurrentPage().pipe((0,B.p)(Boolean),(0,fe.E)("pageId")),this.currentAgreement$=this.agreementFacetService.currentAgreement$,this.queryWithoutCategory$=this.route.queryParams.pipe((0,w.T)(l=>this.facetService.getLinkParams(l.query.split(ee_CATEGORIES)[0]))),this.categories$=this.facetService.facetList$.pipe((0,w.T)(l=>l.facets.find(u=>u.code===ie.CATEGORIES)))}ngOnInit(){}toggle(){this.isOpened=!this.isOpened}getLinkParams(e){const t=e.query.query.value;let s="";s=t?.match(/:categories:/g)?.length>1?t.replace(/(:categories:\d+)(?=.*categories:)/g,""):this.currentCategory?t.replace(this.currentCategory,""):t;const o=t?.match(/(:categories:\d+)/);return this.currentCategory=o?o[0]:null,this.facetService.getLinkParams(s)}static#e=this.ctorParameters=()=>[{type:v.rOA},{type:p.xYq},{type:Ee},{type:y.nX}];static#t=this.propDecorators={isSearch:[{type:n.pde}]}};Gs=(0,r.Cg)([(0,n.uAl)({selector:"app-product-list-facet-category",template:'<ng-container *ngIf="pageId$ | async as pageId">\n  <ng-container *ngIf="!((currentAgreement$ | async)?.volumeBased && pageId === PAGES_ID.CATALOG_ORDER)">\n    <div *ngIf="categories$ | async as categories" class="category" [class.category--hidden]="!isOpened">\n\n      <div class="category__head" (click)="toggle()">\n        <div class="category__title d-flex align-items-center">\n          {{\'text.productList.category.categories\' | cxTranslate}}\n\n          <svg-icon-sprite width="24px" height="24px" class="category__category-icon" src="format_list_bulleted"></svg-icon-sprite>\n          <svg-icon-sprite width="24px" height="24px" class="category__close-icon" src="close"></svg-icon-sprite>\n\n        </div>\n      </div>\n\n      <ul class="category__list">\n        <li *ngFor="let category of categories?.values" class="category__list-item">\n          <a\n            class="category__link"\n            [class.category__link--active]="category.selected"\n            [routerLink]="[]"\n            [queryParams]="getLinkParams(category)"\n          >\n            {{ category.name }}\n          </a>\n        </li>\n        <li\n          *ngIf="isSearch && categories?.values?.length > 1 && (categories | isHaveActiveCategory)"\n          class="category__list-item"\n        >\n          <a\n            class="category__link category__link--all"\n            [routerLink]="[]"\n            [queryParams]="queryWithoutCategory$ | async"\n          >\n            {{ \'button.showAll\' | cxTranslate }}\n          </a>\n        </li>\n      </ul>\n    </div>\n  </ng-container>\n</ng-container>\n',styles:[FL()]})],Gs);var NL=i(23377),UL=i.n(NL);let yc=class{constructor(e,t,s,o,l,u,h,_,C){this.productListComponentService=e,this.productListCategoryService=t,this.cmsService=s,this.activatedRoute=o,this.authService=l,this.router=u,this.orderTypeService=h,this.commonCurrencyService=_,this.changeDetection=C,this.marketingLink$=this.productListCategoryService.marketingLink$,this.pageId$=this.cmsService.getCurrentPage().pipe((0,w.T)(T=>T?.pageId)),this.orderType=null,this.model=null,this.destroyed$=new R.B,this.FACET_NAMES=ie,this.PAGES_ID=q,this.isUserLoggedIn=!1,this.prevProdType=null}ngOnInit(){this.initUserSub(),this.initSubs()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}initUserSub(){this.authService.isUserLoggedIn().pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.isUserLoggedIn=e})}navigateTo(e){if(e)return this.router.navigate([e])}initSubs(){this.productListComponentService.model$.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.model=e,this.changeDetection.detectChanges()}),this.orderTypeService.orderType$.pipe((0,We.F)((e,t)=>e?.facetValueCode===t?.facetValueCode),(0,x.Q)(this.destroyed$)).subscribe(e=>{this.orderType=e,this.loadCurrency(this.model,e),this.changeDetection.detectChanges()})}route(e){this.router.navigate([],{queryParams:e,queryParamsHandling:"merge",relativeTo:this.activatedRoute})}sortList(e){this.route({sortCode:e})}loadCurrency(e,t){if(0!==e?.products?.length&&e?.products?.length>0){const s=e.products[0].productionType;if(this.prevProdType===s)return;this.prevProdType=s,this.commonCurrencyService.loadCurrency(s)}}static#e=this.ctorParameters=()=>[{type:v.Sj3},{type:Yt},{type:p.xYq},{type:y.nX},{type:p.uRZ},{type:y.Ix},{type:gt},{type:nn},{type:n.gRc}]};yc=(0,r.Cg)([(0,n.uAl)({selector:"app-product-list-header",template:'<app-product-cards-register-banner *ngIf="isUserLoggedIn === false"></app-product-cards-register-banner>\n\n<ng-container *ngIf="model">\n  <div class="d-flex header">\n    <h1 class="header__title"\n        *ngIf="marketingLink$ | async as categoryLink; else myCatalog"\n        [class.header__header--link]="categoryLink.marketingPageUrl"\n        (click)="navigateTo(categoryLink.marketingPageUrl)">\n      {{ categoryLink.name }}\n    </h1>\n    <div class="d-flex header__selectors">\n\n      <app-sort-select\n        [activeItem]="model.pagination.sort"\n        [items]="model.sorts"\n        (selectItem)="sortList($event.code)"\n        bindTitle="name"\n        bindValue="code"\n        sortTitle="{{ \'placeholder.sortingBy\' | cxTranslate }}"\n        class="header__selectors__sort">\n      </app-sort-select>\n\n\n      <ng-container *ngIf="orderType">\n        <app-currency\n          *ngIf="isUserLoggedIn && orderType?.facetValueCode === FACET_NAMES.STOCK"\n          class="header__selectors__currency"\n        ></app-currency>\n      </ng-container>\n    </div>\n  </div>\n</ng-container>\n\n<ng-template #myCatalog>\n  <ng-container *ngIf="pageId$ | async as pageId">\n    <h1 class="header__title"\n        *ngIf="pageId === PAGES_ID.CATALOG_QUOTE || pageId === PAGES_ID.CATALOG_ORDER; else loading">\n      {{\n      \'navigation.breadcrumbsTitle.myCatalogue.\' +\n      pageId[0].toLowerCase() +\n      pageId.slice(1) | cxTranslate\n      }}\n    </h1>\n  </ng-container>\n</ng-template>\n',styles:[UL()]})],yc);var BL=i(55281),VL=i.n(BL);let Sc=class{constructor(e,t,s,o,l,u,h,_){this.routingService=e,this.facetService=t,this.orderTypeService=s,this.authService=o,this.componentData=l,this.activatedRoute=u,this.productListCategoryService=h,this.marketingService=_,this.FACET_NAMES=ie,this.products$=this.productListCategoryService.currentCategories$.pipe((0,w.T)(C=>C?.list.find(T=>T.code===this.productListCategoryService.currentCategoryCodeSnapshot())?.listingPageUrl),(0,B.p)(C=>C!==this.currentCategoryLink),(0,k.n)(C=>(this.orderType=null,this.orderTypeService.orderType$.pipe((0,B.p)(T=>T.facetValueCode!==this.orderType?.facetValueCode),(0,k.n)(T=>this.orderType!==T||this.currentCategoryLink!==C?(this.orderType=T,this.currentCategoryLink=C,this.marketingService.getProducts(`${this.generateQuery(this.orderType.facetValueCode===ie.STOCK?ie.ORDER:ie.STOCK)}${this.orderType.facetValueCode===ie.STOCK?"":xn.IN_STOCK}`,this.orderType.facetValueCode===ie.STOCK?{searchQueryContext:Kt_DEFAULT}:{searchQueryContext:Kt_GROUP}).pipe((0,B.p)(Boolean),(0,fe.E)("products"))):(0,$.of)([])))))),this.orderType=null,this.currentCategoryLink=void 0,this.isUserLoggedIn$=this.authService.isUserLoggedIn(),this.data$=this.componentData.data$}ngOnInit(){}changeType(e){return this.facetService.getLinkParams(this.generateQuery(e))}generateQuery(e){return`${ee_RELEVANCE_ALL_CATEGORIES}:${this.activatedRoute.snapshot.params.categoryCode}${ee_ORDER_TYPE}:${e}`}static#e=this.ctorParameters=()=>[{type:p.Oie},{type:v.rOA},{type:gt},{type:p.uRZ},{type:v.TLs},{type:y.nX},{type:Yt},{type:Cs}]};Sc=(0,r.Cg)([(0,n.uAl)({selector:"app-product-list-switcher",template:'<ng-container *ngIf="isUserLoggedIn$ | async">\n  <ng-container *ngIf="products$ | async as products">\n    <ng-container *ngIf="products && products.length">\n      <ng-container *ngIf="data$ | async as data">\n          <div class="product-facet-type">\n            <div class="btn-group d-flex">\n              <a\n                [queryParams]="changeType(FACET_NAMES.STOCK)"\n                [routerLink]="currentCategoryLink"\n                [class.is-active]="orderType?.facetValueCode === FACET_NAMES.STOCK"\n                class="btn btn--md flex-grow-1"\n              >\n                {{ data.titleBuyFromStock }}\n              </a>\n              <a\n                [queryParams]="changeType(FACET_NAMES.ORDER)"\n                [routerLink]="currentCategoryLink"\n                [class.is-active]="orderType?.facetValueCode === FACET_NAMES.ORDER"\n                class="btn btn--md flex-grow-1"\n              >\n                {{ data.titleOrder }}\n              </a>\n            </div>\n          </div>\n        </ng-container>\n      </ng-container>\n  </ng-container>\n</ng-container>\n',styles:[VL()]})],Sc);let Ah=class{transform(e){return!!e.values.filter(t=>t.selected).length}};Ah=(0,r.Cg)([(0,n.nT_)({name:"isHaveActiveCategory"})],Ah);let Tc=class{};Tc=(0,r.Cg)([(0,n.UQu)({declarations:[bc,Gs,yc,Sc,Ah],imports:[On,S.MD,p.htr.withConfig({cmsComponents:{CategoryProductListComponent:{component:bc,guards:[Y]},FacetCategoryProductListComponent:{component:Gs,guards:[Y]},ListingHeaderComponent:{component:yc,guards:[Y]},OrderButtonComponent:{component:Sc,guards:[Y]}},pagination:{addFirst:!0,addLast:!0,addEnd:!0,addPrevious:!0,addNext:!0,rangeCount:5,startLabel:"",nextLabel:"",previousLabel:"",endLabel:""}}),p.LP3,V.F2,y.iI,It,On,ge,ln],providers:[Yt],exports:[Gs]})],Tc);var zL=i(56660),YL=i.n(zL);let Ih=class{constructor(e,t){this.fb=e,this.cmsService=t,this.isDisabled=!0,this.registerUser=new n.bkB,this.isDirty=new n.bkB(!1),this.destroyed$=new R.B,this.ROUTE_URL=M,this.data$=this.cmsService.getComponentData(Wt.REGISTER_CUSTOM_COMPONENT),this.replaceNonPrintable=ft}ngOnInit(){this.initForm(),this.initProductionTypeSub(),this.initIsDirty()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}initIsDirty(){this.registerForm.valueChanges.pipe((0,x.Q)(this.destroyed$)).subscribe(()=>{this.isDirty.emit(this.registerForm.dirty)})}initProductionTypeSub(){this.registerForm.get("productionType").valueChanges.pipe((0,x.Q)(this.destroyed$)).subscribe(()=>{this.registerForm.patchValue({sector:null})})}initForm(){this.registerForm=this.fb.group({firstName:["",[m.k0.required,Rt]],lastName:["",[m.k0.required,Rt]],email:["",[m.k0.required,v.zEP.emailValidator,He]],role:[null,m.k0.required],sector:[null,m.k0.required],companyName:["",[m.k0.required,m.k0.maxLength(40),He]],country:[null,m.k0.required],department:[null,m.k0.required],companyVat:["",[m.k0.required,m.k0.minLength(8),m.k0.maxLength(12),He]],productionType:["plate"],term:[!1,m.k0.requiredTrue],password:["",[m.k0.required,m.k0.minLength(6),m.k0.maxLength(20),pa.passwordStrength]],passwordConfirm:["",m.k0.required]},{validators:v.zEP.passwordsMustMatch("password","passwordConfirm")})}submitForm(){this.registerForm.invalid?this.registerForm.markAllAsTouched():this.registerUser.emit({formData:this.collectDataFromRegisterForm(this.registerForm.value),type:"new"})}collectDataFromRegisterForm(e){const{firstName:t,lastName:s,password:o,email:l,companyName:u,companyVat:h,country:_,department:C,role:T,sector:D}=e;return{firstName:t,lastName:s,uid:l.toLowerCase(),role:T,sector:D,companyName:u,country:_,department:C,companyVat:h,password:o}}static#e=this.ctorParameters=()=>[{type:m.ze},{type:p.xYq}];static#t=this.propDecorators={isDisabled:[{type:n.pde}],countries$:[{type:n.pde}],departments$:[{type:n.pde}],sectors$:[{type:n.pde}],roles$:[{type:n.pde}],registerUser:[{type:n.k7i}],isDirty:[{type:n.k7i}]}};Ih=(0,r.Cg)([(0,n.uAl)({selector:"app-register-customer-new",template:'<form [formGroup]="registerForm" *ngIf="(data$ | async) as data" class="modal-l form">\n\n  <div class="form__title">{{\'text.registerCustomer.new.personalInformation\' | cxTranslate}}</div>\n  <div class="d-flex flex-column flex-lg-row form__row">\n    <div class="flex-grow-1 pr-lg-3 mb-3 mb-lg-0">\n      <app-input\n        [controlData]="registerForm.get(\'firstName\')"\n        [label]="data.firstName"\n        (focusout)="replaceNonPrintable(registerForm.get(\'firstName\'))"\n        name="firstName"\n      ></app-input>\n    </div>\n    <div class="flex-grow-1 pl-lg-3">\n      <app-input\n        [controlData]="registerForm.get(\'lastName\')"\n        [label]="data.lastName"\n        (focusout)="replaceNonPrintable(registerForm.get(\'lastName\'))"\n        name="lastName"\n      ></app-input>\n    </div>\n  </div>\n\n  <div class="form__row">\n    <app-input\n      [controlData]="registerForm.get(\'email\')"\n      [label]="data.emailAddress"\n      (focusout)="replaceNonPrintable(registerForm.get(\'email\'))"\n      name="email"\n    ></app-input>\n  </div>\n  <div class="form__row">\n    <div class="form-group">\n      <app-select\n        [controlData]="registerForm.get(\'department\')"\n        [items]="departments$ | async"\n        bindLabel="title"\n        bindValue="uid"\n        [placeholder]="data.department"\n      ></app-select>\n    </div>\n  </div>\n  <div class="form__row">\n    <app-select\n      [controlData]="registerForm.get(\'role\')"\n      [items]="roles$ | async"\n      bindLabel="name"\n      bindValue="uid"\n      [placeholder]="data.role"\n    ></app-select>\n  </div>\n\n\n  <div class="form__title">{{\'text.registerCustomer.new.title1\' | cxTranslate}}:</div>\n  <div class="d-flex flex-column flex-lg-row form__row mb-4 mb-lg-3">\n    <label class="radio-group mb-3 mb-lg-0 mr-lg-3">\n      <input type="radio" value="plate" formControlName="productionType">\n      <div class="radio-group__label">{{\'button.plate\' | cxTranslate}}</div>\n    </label>\n    <label class="radio-group">\n      <input type="radio" value="strip" formControlName="productionType">\n      <div class="radio-group__label">{{\'button.strip\' | cxTranslate}}</div>\n    </label>\n  </div>\n\n\n  <div class="form__title">{{\'text.registerCustomer.new.title2\' | cxTranslate}}</div>\n  <div class="form__row">\n    <app-input\n      [controlData]="registerForm.get(\'companyName\')"\n      [label]="data.companyName"\n      (focusout)="replaceNonPrintable(registerForm.get(\'companyName\'))"\n      name="companyName"\n    ></app-input>\n  </div>\n  <div class="d-flex flex-column flex-lg-row form__row">\n    <div class="flex-grow-1 pr-lg-3 mb-3 mb-lg-0">\n      <app-select\n        [controlData]="registerForm.get(\'sector\')"\n        [items]="sectors$ | async | productionTypeFilter:registerForm.get(\'productionType\').value"\n        bindLabel="title"\n        bindValue="uid"\n        [placeholder]="data.businessActivity"\n      ></app-select>\n    </div>\n    <div class="flex-grow-1 pl-lg-3">\n      <app-select-search\n        [control]="registerForm.get(\'country\')"\n        [items]="countries$ | async"\n        bindLabel="name"\n        bindValue="isocode"\n        [placeholder]="data.country"\n      ></app-select-search>\n    </div>\n  </div>\n  <div class="form__row">\n    <app-input\n      [controlData]="registerForm.get(\'companyVat\')"\n      [label]="data.companyVat"\n      [isAutocompleteOff]="true"\n      (focusout)="replaceNonPrintable(registerForm.get(\'companyVat\'))"\n      name="companyVat"\n    ></app-input>\n  </div>\n\n\n  <div class="form__title">{{\'text.registerCustomer.choosePassword\' | cxTranslate}}</div>\n  <div class="d-flex flex-column flex-lg-row form__row">\n    <div class="flex-grow-1 pr-lg-3 mb-3 mb-lg-0">\n      <app-input\n        [controlData]="registerForm.get(\'password\')"\n        [label]="data.password"\n        [showPasswordStrengthInfo]="true"\n        [isAutocompleteOff]="true"\n        name="password"\n        type="password"\n      ></app-input>\n    </div>\n    <div class="flex-grow-1 pl-lg-3">\n      <app-input\n        [controlData]="registerForm.get(\'passwordConfirm\')"\n        [label]="data.confirmPassword"\n        [isAutocompleteOff]="true"\n        name="passwordConfirm"\n        type="password"\n      ></app-input>\n    </div>\n  </div>\n\n  <div class="form__subtext">\n    {{\'text.registerCustomer.new.subtext\' | cxTranslate}}\n  </div>\n\n  <div class="form__row">\n    <label class="checkbox-group">\n      <input formControlName="term" type="checkbox">\n      <div class="checkbox-group__label">\n        {{ \'userRegister.confirmThatRead\' | cxTranslate }}\n        <a class="checkbox-group__label-link" [routerLink]="[ROUTE_URL.STATIC_PAGES.TERMS_OF_USE]" target="_blank">\n          {{ \'button.termsOfUse\' | cxTranslate }}</a>,\n        <a class="checkbox-group__label-link" [routerLink]="{ cxRoute: \'termsAndConditions\' } | cxUrl" target="_blank">\n          {{ \'button.termsAndConditions\' | cxTranslate }}</a>,\n        <a class="checkbox-group__label-link" [routerLink]="[ROUTE_URL.STATIC_PAGES.PRIVACY_NOTICE]" target="_blank">\n          {{\'button.privacyPolicy\' | cxTranslate}}\n        </a>\n        {{ \'userRegister.and\' | cxTranslate }}\n        <a class="checkbox-group__label-link" [routerLink]="[ROUTE_URL.STATIC_PAGES.DISCLAIMER]" target="_blank">\n          {{\'button.cookiePolicy\' | cxTranslate}}</a>\n        {{ \'userRegister.checkboxEndText\' | cxTranslate }}\n      </div>\n    </label>\n    <cx-form-errors [control]="registerForm.get(\'term\')"></cx-form-errors>\n  </div>\n\n  <div class="controls">\n    <button [disabled]="isDisabled" (click)="submitForm()" class="btn btn--md btn-default">\n      {{ \'userRegister.register\' | cxTranslate }}\n    </button>\n  </div>\n</form>\n',styles:[YL()]})],Ih);var qL=i(4685),HL=i.n(qL);let Ec=class{constructor(e,t,s,o,l,u,h,_,C,T,D){this.document=e,this.authService=t,this.cookieService=s,this.http=o,this.occEndpointsService=l,this.userRegisterService=u,this.companiesDataService=h,this.siteConnector=_,this.launchDialogService=C,this.translatePipe=T,this.globalMessageService=D,this.modalClass=!0,this.destroyed$=new R.B,this.isDisabled$=new P.t(!1),this.countries$=this.siteConnector.getCountries(),this.departments$=this.companiesDataService.getCompaniesData(at.DEPARTMENTS),this.sectors$=this.companiesDataService.getCompaniesData(at.SECTORS),this.roles$=this.companiesDataService.getCompaniesData(at.ROLES),this.isDirty=!1,this.isOpen=!1,this.subscription=new X.yU}ngOnInit(){this.initClickOutside()}initClickOutside(){setTimeout(()=>{this.document.querySelector(".modal").addEventListener("click",e=>{e.target===e.currentTarget&&this.willClose()})})}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}onSuccessRegister(){this.isDisabled$.next(!1),this.launchDialogService.openDialogAndSubscribe("REGISTRATION_SUCCESS_MODAL",void 0,void 0)}registerUser(e){this.isDisabled$.next(!0);const t=Object.values(Oe_GDPR).reduce((o,l)=>(o.push(l),o),[]),s={...e.formData,consents:t};this.userRegisterService.register(s).pipe((0,x.Q)(this.destroyed$)).subscribe(o=>{o&&this.onSuccessRegister()},o=>{o&&this.isDisabled$.next(!1)})}willClose(){this.isDirty?this.isOpen||(this.isOpen=!0,this.openWarningModal()):this.launchDialogService.closeDialog(null)}openWarningModal(){this.launchDialogService.openDialogAndSubscribe("CONFIRM_MODAL",void 0,{title:this.translatePipe.transform("registrationModal.warningModal.title"),subTitle:this.translatePipe.transform("registrationModal.warningModal.subTitle"),confirmButton:this.translatePipe.transform("registrationModal.warningModal.cancel"),cancelButton:this.translatePipe.transform("registrationModal.warningModal.close"),icon:"warning",size:vt.M}),this.subscription.add(this.launchDialogService.dialogClose.subscribe(t=>{t?this.isOpen=!1:this.launchDialogService.closeDialog(null)}))}isDirtyChange(e){e!==this.isDirty&&(this.isDirty=e)}static#e=this.ctorParameters=()=>[{type:Document,decorators:[{type:n.y_5,args:[S.qQ]}]},{type:p.uRZ},{type:In.O},{type:U.Qq},{type:p.zxz},{type:un.LH},{type:rn},{type:p.Re_},{type:v.PLe},{type:p.D97},{type:p.S8D}];static#t=this.propDecorators={modalClass:[{type:n.g$6,args:["class.modal-wrapper"]}]}};Ec=(0,r.Cg)([(0,n.uAl)({selector:"app-register-customer",template:'<div class="register-banner">{{\'banner.register\' | cxTranslate}}</div>\n<app-register-customer-new\n  [countries$]="countries$"\n  [departments$]="departments$"\n  [roles$]="roles$"\n  [sectors$]="sectors$"\n  [isDisabled]="isDisabled$ | async"\n  (registerUser)="registerUser($event)"\n  (isDirty)="isDirtyChange($event)"\n></app-register-customer-new>\n',styles:[HL()]})],Ec);let Rc=class{};Rc=(0,r.Cg)([(0,n.UQu)({declarations:[Ec,Ih],imports:[S.MD,p.htr.withConfig({cmsComponents:{RegisterCustomerComponent:{component:Ec}}}),ce,v.GQ,m.X1,p.LP3,m.YN,Xe.UN,st.MQ,y.iI,p.YYe,xe]})],Rc);var WL=i(26985),KL=i.n(WL);let wh=class{constructor(e,t,s){this.clientTokenService=e,this.http=t,this.occEndpointsService=s}fetchTradingProducts(){const e=this.occEndpointsService.buildUrl(E.COMPANIES.TRADING_PRODUCTS);return this.http.get(e)}fetchBusinessActivity(){const e=this.occEndpointsService.buildUrl(E.COMPANIES.BUSINESS_ACTIVITIES);return this.http.get(e)}makeUserRegistration(e){const t=this.occEndpointsService.buildUrl(E.USER.CREATE.INQUIRY);return this.clientTokenService.getClientToken().pipe((0,k.n)(s=>this.http.post(t,e,{headers:{Authorization:`${s.token_type} ${s.access_token}`}})))}static#e=this.ctorParameters=()=>[{type:p.EAp},{type:U.Qq},{type:p.zxz}]};wh=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],wh);let Oc=class{constructor(e,t,s,o,l,u,h,_){this.document=e,this.fb=t,this.cmsService=s,this.companiesDataService=o,this.launchDialogService=l,this.siteConnector=u,this.registerCustomerTradingService=h,this.translatePipe=_,this.destroyed$=new R.B,this.ROUTE_URL=M,this.isDisabled$=new P.t(!1),this.data$=this.cmsService.getComponentData(Wt.TRADING_REGISTER_CUSTOM_COMPONENT),this.countries$=this.siteConnector.getCountries(),this.businessActivity$=this.registerCustomerTradingService.fetchBusinessActivity(),this.products$=this.registerCustomerTradingService.fetchTradingProducts(),this.replaceNonPrintable=ft,this.maxInquiryChars=765,this.sortByField="title",this.isOpen=!1,this.subscription=new X.yU}ngOnInit(){this.initForm(),this.registerForm.get("inquiryDescription").valueChanges.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.inquiryDescriptionText=e}),this.initClickOutside()}initClickOutside(){setTimeout(()=>{this.document.querySelector(".modal").addEventListener("click",e=>{e.target===e.currentTarget&&this.willClose()})})}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete(),this.subscription?.unsubscribe()}initForm(){this.registerForm=this.fb.group({products:[null,m.k0.required],firstName:[null,[m.k0.required,Rt]],lastName:[null,[m.k0.required,Rt]],emailAddress:["",[m.k0.required,v.zEP.emailValidator,He]],phoneNumber:[null,m.k0.maxLength(En.maxPhoneNumberLength)],companyName:[null,[m.k0.required,m.k0.maxLength(40),He]],companyVat:["",[m.k0.minLength(5),m.k0.maxLength(20),He]],businessActivity:[null],country:[null,[m.k0.required]],address:[null,[m.k0.required,He]],inquiryDescription:[null,[m.k0.required,He]],term:[!1,m.k0.requiredTrue]})}submitForm(){if(this.registerForm.invalid)return void this.registerForm.markAllAsTouched();const e=this.collectDataFromRegisterForm(this.registerForm.value);this.isDisabled$.next(!0),this.registerCustomerTradingService.makeUserRegistration(e).pipe((0,x.Q)(this.destroyed$)).subscribe(()=>{this.launchDialogService.openDialogAndSubscribe("REGISTRATION_SUCCESS_TRADING_MODAL",void 0,void 0)},()=>{this.isDisabled$.next(!1)})}collectDataFromRegisterForm(e){const{products:t,firstName:s,lastName:o,emailAddress:l,phoneNumber:u,companyName:h,companyVat:_,businessActivity:C,country:T,address:D,inquiryDescription:F}=e,K=Object.values(Oe_GDPR_TRADING).reduce((ne,he)=>(ne.push(he),ne),[]);return{product:t,firstName:s,lastName:o,uid:l?.trim().toLowerCase(),phoneNumber:u,companyName:h?.trim(),companyVat:_,businessActivity:C,country:T,addresses:{address:D?.trim()},inquiry:F?.trim(),consents:K}}willClose(){this.registerForm.dirty?this.isOpen||(this.isOpen=!0,this.openWarningModal()):this.launchDialogService.closeDialog(null)}openWarningModal(){this.launchDialogService.openDialogAndSubscribe("CONFIRM_MODAL",void 0,{title:this.translatePipe.transform("registrationModal.warningModal.title"),subTitle:this.translatePipe.transform("registrationModal.warningModal.subTitle"),confirmButton:this.translatePipe.transform("registrationModal.warningModal.cancel"),cancelButton:this.translatePipe.transform("registrationModal.warningModal.close"),icon:"warning",size:vt.M}),this.subscription.add(this.launchDialogService.dialogClose.subscribe(t=>{t?this.isOpen=!1:this.launchDialogService.closeDialog(null)}))}static#e=this.ctorParameters=()=>[{type:Document,decorators:[{type:n.y_5,args:[S.qQ]}]},{type:m.ze},{type:p.xYq},{type:rn},{type:v.PLe},{type:p.Re_},{type:wh},{type:p.D97}]};Oc=(0,r.Cg)([(0,n.uAl)({selector:"app-register-customer-trading",template:'<form\n  *ngIf="(data$ | async) as data"\n  [formGroup]="registerForm"\n  class="modal-l form"\n>\n\n  <div class="form__title">\n    {{\'trading.registerCustomer.chooseProducts\' | cxTranslate}}\n  </div>\n  <div class="form__row">\n    <app-select\n      [items]="products$ | async"\n      [controlData]="registerForm.get(\'products\')"\n      [placeholder]="data.products + \' *\'"\n      bindLabel="title"\n      bindValue="uid"\n    ></app-select>\n  </div>\n\n\n  <div class="form__title">\n    {{\'trading.registerCustomer.personalInformation\' | cxTranslate}}\n  </div>\n  <div class="d-flex flex-column flex-lg-row form__row">\n    <div class="form__half-line flex-grow-1 pr-lg-3 mb-3 mb-lg-0">\n      <app-input\n        [controlData]="registerForm.get(\'firstName\')"\n        [label]="data.firstName + \' *\'"\n        (focusout)="replaceNonPrintable(registerForm.get(\'firstName\'))"\n        name="firstName"\n      ></app-input>\n    </div>\n    <div class="form__half-line flex-grow-1 pl-lg-3">\n      <app-input\n        [controlData]="registerForm.get(\'lastName\')"\n        [label]="data.lastName + \' *\'"\n        (focusout)="replaceNonPrintable(registerForm.get(\'lastName\'))"\n        name="lastName"\n      ></app-input>\n    </div>\n  </div>\n\n  <div class="d-flex flex-column flex-lg-row form__row">\n    <div class="form__half-line flex-grow-1 pr-lg-3 mb-3 mb-lg-0">\n      <app-input\n        [controlData]="registerForm.get(\'emailAddress\')"\n        [label]="data.emailAddress + \' *\'"\n        (focusout)="replaceNonPrintable(registerForm.get(\'emailAddress\'))"\n        name="emailAddress"\n      ></app-input>\n    </div>\n    <div class="form__half-line flex-grow-1 pl-lg-3">\n      <app-input\n        label="Phone" type="tel"\n        [controlData]="registerForm.get(\'phoneNumber\')"\n        [label]="data.phoneNumber"\n        name="phoneNumber"\n      ></app-input>\n    </div>\n  </div>\n\n\n  <div class="form__title">\n    {{\'trading.registerCustomer.companyInformation\' | cxTranslate}}\n  </div>\n  <div class="form__row">\n    <app-input\n      [controlData]="registerForm.get(\'companyName\')"\n      [label]="data.companyName + \' *\'"\n      (focusout)="replaceNonPrintable(registerForm.get(\'companyName\'))"\n      name="companyName"\n    ></app-input>\n  </div>\n  <div class="form__row">\n    <app-input\n      [controlData]="registerForm.get(\'companyVat\')"\n      [label]="data.companyVat"\n      (focusout)="replaceNonPrintable(registerForm.get(\'companyVat\'))"\n\n      name="companyVat"\n    ></app-input>\n  </div>\n  <div class="d-flex flex-column flex-lg-row form__row">\n    <div class="form__half-line flex-grow-1 pr-lg-3 mb-3 mb-lg-0">\n      <app-select\n        [items]="businessActivity$ | async"\n        [controlData]="registerForm.get(\'businessActivity\')"\n        [placeholder]="data.businessActivity"\n        bindLabel="title"\n        bindValue="uid"\n      ></app-select>\n    </div>\n    <div class="form__half-line flex-grow-1 pl-lg-3">\n      <app-select-search\n        [items]="countries$ | async"\n        [control]="registerForm.get(\'country\')"\n        [placeholder]="data.country + \' *\'"\n        bindLabel="name"\n        bindValue="isocode"\n      ></app-select-search>\n    </div>\n  </div>\n  <div class="form__row">\n    <app-input\n      [controlData]="registerForm.get(\'address\')"\n      [label]="data.address + \' *\'"\n      (focusout)="replaceNonPrintable(registerForm.get(\'address\'))"\n      name="address"\n    ></app-input>\n  </div>\n\n\n  <div class="form__title">\n    {{\'trading.registerCustomer.describeInquiry\' | cxTranslate}}\n  </div>\n  <div class="form__row inquiry-text">\n     <label>\n      <textarea\n        class="inquiry-text__input"\n        [maxLength]="maxInquiryChars"\n        formControlName="inquiryDescription"\n        (focusout)="replaceNonPrintable(registerForm.get(\'inquiryDescription\'), true)"\n      ></textarea>\n     </label>\n    <cx-form-errors [control]="registerForm.get(\'inquiryDescription\')"></cx-form-errors>\n    <label\n      class="inquiry-text__label"\n      [class.inquiry-text__label--error]="registerForm.get(\'inquiryDescription\').invalid && registerForm.get(\'inquiryDescription\').value"\n    >\n      {{ (registerForm.get(\'inquiryDescription\').touched || registerForm.get(\'inquiryDescription\').dirty)\n      ? (\'trading.registerCustomer.remainingSymbols\' | cxTranslate) :\n      (\'trading.registerCustomer.typeHere\' | cxTranslate : {maxInquiryChars: maxInquiryChars}) }}\n      <span *ngIf="registerForm.get(\'inquiryDescription\').touched || registerForm.get(\'inquiryDescription\').dirty">{{ maxInquiryChars - inquiryDescriptionText?.length }}</span>\n    </label>\n  </div>\n\n  <div class="form__row">\n    <label class="checkbox-group">\n      <input formControlName="term" type="checkbox">\n      <div class="checkbox-group__label">\n        {{ \'trading.registerCustomer.agreement\' | cxTranslate }}\n        <a class="checkbox-group__label-link" [routerLink]="[ROUTE_URL.STATIC_PAGES.TERMS_OF_SALE]" target="_blank">\n          {{ \'button.termsOfSale\' | cxTranslate }}</a>,\n        <a class="checkbox-group__label-link" [routerLink]="[ROUTE_URL.STATIC_PAGES.PRIVACY_STATEMENT]" target="_blank">\n          {{\'button.privacyPolicy\' | cxTranslate}}\n        </a>\n        {{ \'trading.registerCustomer.and\' | cxTranslate }}\n        <a class="checkbox-group__label-link" [routerLink]="[ROUTE_URL.STATIC_PAGES.DISCLAIMER]" target="_blank">\n          {{\'button.cookiePolicy\' | cxTranslate}}</a>.\n      </div>\n    </label>\n    <cx-form-errors [control]="registerForm.get(\'term\')"></cx-form-errors>\n  </div>\n\n  <div class="controls">\n    <button [disabled]="isDisabled$ | async" (click)="submitForm()" class="btn btn--md btn-default">\n      {{ \'userRegister.send\' | cxTranslate }}\n    </button>\n  </div>\n</form>\n',changeDetection:n.Ngq.OnPush,styles:[KL()]})],Oc);let Ph=class{};Ph=(0,r.Cg)([(0,n.UQu)({declarations:[Oc],imports:[S.MD,p.htr.withConfig({cmsComponents:{TradingRegisterCustomerComponent:{component:Oc}}}),p.LP3,ce,m.X1,Rc,p.YYe,y.iI,xe,v.GQ]})],Ph);var ZL=i(24053),JL=i.n(ZL);let Dh=class{constructor(e,t,s){this.occEndpointsService=e,this.http=t,this.clientTokenService=s}validateToken(e){const t=this.occEndpointsService.buildUrl(E.RESET_PASSWORD.VALIDATE_TOKEN,{urlParams:{},queryParams:{token:e}});return this.clientTokenService.getClientToken().pipe((0,At.Z)(s=>{if(s)return this.http.get(t,{headers:{Authorization:`${s.token_type} ${s.access_token}`}})}))}static#e=this.ctorParameters=()=>[{type:p.zxz},{type:U.Qq},{type:p.EAp}]};Dh=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],Dh);let zs=class{constructor(e,t,s,o,l,u,h,_){this.fb=e,this.routingService=t,this.userPasswordService=s,this.auth=o,this.launchDialogService=l,this.resetPasswordService=u,this.globalMessageService=h,this.router=_,this.isNewUser=null,this.destroy$=new R.B,this.resetPasswordForm=this.fb.group({password:["",[m.k0.required,m.k0.minLength(6),m.k0.maxLength(20),pa.passwordStrength]],repassword:["",[m.k0.required]]},{validators:v.zEP.passwordsMustMatch("password","repassword")})}ngOnInit(){this.router.url.includes("/cx-preview")||this.init()}init(){this.routingService.getRouterState().pipe((0,x.Q)(this.destroy$)).subscribe(({state:e})=>{this.token=e.queryParams.token,this.isNewUser=!!e.queryParams.reg}),this.resetPasswordService.validateToken(this.token).pipe((0,x.Q)(this.destroy$)).subscribe(e=>{e||(this.globalMessageService.add({key:"error.expiredToken"},p.NCV.MSG_TYPE_ERROR),this.routingService.go({cxRoute:"login"}))}),this.auth.isUserLoggedIn().pipe((0,x.Q)(this.destroy$)).subscribe(e=>{e&&this.routingService.goByUrl("/")})}resetPassword(){if(this.resetPasswordForm.valid){const e=this.resetPasswordForm.get("password").value;this.userPasswordService.reset(this.token,e).pipe((0,x.Q)(this.destroy$)).subscribe(t=>{t&&(this.isNewUser?(this.routingService.go("/"),this.launchDialogService.openDialogAndSubscribe("REGISTRATION_SUCCESS_MODAL",void 0,{isPassword:!0})):this.routingService.go({cxRoute:"login"}))},t=>{t?.details?.forEach(s=>{this.globalMessageService.add(s.message,p.NCV.MSG_TYPE_ERROR)})})}else this.resetPasswordForm.markAllAsTouched()}onCancel(){this.routingService.goByUrl("/")}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}static#e=this.ctorParameters=()=>[{type:m.ze},{type:p.Oie},{type:un.Dt},{type:p.uRZ},{type:v.PLe},{type:Dh},{type:p.S8D},{type:y.Ix}]};zs=(0,r.Cg)([(0,n.uAl)({selector:"app-reset-password",template:'<div class="reset-password">\n  <form\n    [formGroup]="resetPasswordForm"\n    (ngSubmit)="resetPassword()"\n  >\n    <div class="reset-password__form-group">\n      <app-input\n        [controlData]="resetPasswordForm.get(\'password\')"\n        [label]="(isNewUser ? \'userRegister.newPassword\' : \'userRegister.password.label\') | cxTranslate"\n        [showPasswordStrengthInfo]="true"\n        name="password"\n        type="password"\n      ></app-input>\n    </div>\n\n    <div class="reset-password__form-group">\n      <app-input\n        [controlData]="resetPasswordForm.get(\'repassword\')"\n        [label]="(isNewUser ? \'userRegister.confirmNewPassword\' : \'userRegister.confirmPassword.label\') | cxTranslate"\n        name="repassword"\n        type="password"\n      ></app-input>\n    </div>\n\n    <div class="reset-password__controls d-flex align-content-center justify-content-end">\n      <button type="button" class="btn btn--md btn-secondary" (click)="onCancel()">\n        {{ \'common.cancel\' | cxTranslate }}\n      </button>\n      <button type="submit" class="btn btn--md btn-default">\n        {{ ( isNewUser ? \'userRegister.save\' : \'userRegister.resetPassword\') | cxTranslate }}\n      </button>\n    </div>\n  </form>\n</div>\n',styles:[JL()]})],zs);let Lh=class{};Lh=(0,r.Cg)([(0,n.UQu)({declarations:[zs],imports:[S.MD,p.htr.withConfig({cmsComponents:{ResetPasswordComponent:{component:zs,guards:[]}}}),p.LP3,ce,m.YN,m.X1],exports:[zs]})],Lh);var tk=i(40669),nk=i.n(tk);let Ys=class{constructor(e,t,s,o,l,u){this.auth=e,this.fb=t,this.globalMessageService=s,this.launchDialogService=o,this.changeDetection=l,this.userTrackingService=u,this.destroyed$=new R.B,this.loginForm=this.fb.group({userId:["",[m.k0.required]],password:["",m.k0.required]}),this.processed=!1}submitForm(){this.loginForm.valid?this.loginUser():this.loginForm.markAllAsTouched()}loginUser(){const{userId:e,password:t}=this.loginForm.controls;this.auth.loginWithCredentials(e.value.toLowerCase(),encodeURIComponent(t.value)),this.processed=!0,this.changeDetection.detectChanges(),this.sub||(this.sub=this.auth.isUserLoggedIn().pipe((0,x.Q)(this.destroyed$)).subscribe(s=>{s&&s&&(this.userTrackingService.trackUserLogin(),this.globalMessageService.remove(p.NCV.MSG_TYPE_ERROR),this.launchDialogService.closeDialog(null)),this.hideLoader()},s=>{this.hideLoader()}))}ngOnInit(){}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete(),this.sub&&this.sub.unsubscribe()}hideLoader(){this.processed=!1,this.changeDetection.detectChanges()}showForgotModal(){this.launchDialogService.closeDialog(null),this.launchDialogService.openDialogAndSubscribe("AUTH_MODAL",void 0,{type:Pe.FORGOT,header:"Forgot password"})}static#e=this.ctorParameters=()=>[{type:p.uRZ},{type:m.ze},{type:p.S8D},{type:v.PLe},{type:n.gRc},{type:Ba}]};Ys=(0,r.Cg)([(0,n.uAl)({selector:"app-returning-customer-login",template:'<form\n  [formGroup]="loginForm"\n  (ngSubmit)="submitForm()"\n>\n  <div class="form-group">\n    <app-input\n      [controlData]="loginForm.get(\'userId\')"\n      [label]="\'userLoginForm.emailAddress.label\' | cxTranslate"\n      name="email"\n    ></app-input>\n  </div>\n\n  <div class="form-group">\n    <app-input\n      [controlData]="loginForm.get(\'password\')"\n      [label]="\'userLoginForm.password.label\' | cxTranslate"\n      name="password"\n      type="password"\n    ></app-input>\n  </div>\n\n  <div class="controls d-flex align-content-center justify-content-end">\n    <button type="button" (click)="showForgotModal()" class="btn btn--md btn-secondary">\n      {{\'button.forgotPassword\' | cxTranslate}}\n    </button>\n    <button ngbAutofocus [disabled]="processed" type="submit" class="btn btn--md btn-default">\n      {{ \'userLoginForm.signIn\' | cxTranslate }}\n    </button>\n  </div>\n</form>\n',styles:[nk()]})],Ys);let kh=class{};kh=(0,r.Cg)([(0,n.UQu)({declarations:[Ys],imports:[S.MD,p.htr.withConfig({cmsComponents:{ReturningCustomerLoginComponent:{component:Ys}}}),ce,m.YN,p.LP3,m.X1,ge],exports:[Ys]})],kh);var ik=i(6473),rk=i.n(ik);const am={carts:"users/${userId}/carts?fields=carts(DEFAULT,\n    appliedOrderPromotions,\n    appliedProductPromotions,\n    appliedVouchers,\n    deliveryCost(formattedValue),\n    deliveryItemsQuantity,\n    name,\n    net,\n    pickupItemsQuantity,\n    potentialOrderPromotions,\n    potentialProductPromotions,\n    productDiscounts(formattedValue),\n    rootGroups(DEFAULT),\n    saveTime,\n    subTotal(formattedValue),\n    totalDiscounts(value,formattedValue),\n    totalItems,\n    totalPrice(formattedValue),\n    totalPriceWithTax(formattedValue),\n    totalTax(formattedValue, value),\n    user,\n    entries(FULL)\n    )",cart:"users/${userId}/carts/${cartId}?fields=DEFAULT,entries",createCart:"users/${userId}/carts?fields=DEFAULT,potentialProductPromotions,appliedProductPromotions,potentialOrderPromotions,appliedOrderPromotions,entries(totalPrice(formattedValue),product(images(FULL),stock(FULL)),basePrice(formattedValue,value),updateable),totalPrice(formattedValue),totalItems,totalPriceWithTax(formattedValue),totalDiscounts(value,formattedValue),subTotal(formattedValue),deliveryItemsQuantity,deliveryCost(formattedValue),totalTax(formattedValue, value),pickupItemsQuantity,net,appliedVouchers,productDiscounts(formattedValue),user",addEntries:"users/${userId}/carts/${cartId}/entries",updateEntries:"users/${userId}/carts/${cartId}/entries/${entryNumber}",removeEntries:"users/${userId}/carts/${cartId}/entries/${entryNumber}",removeGroup:"users/${userId}/carts/${cartId}/group/${groupId}",addEmail:"users/${userId}/carts/${cartId}/email",deleteCart:"users/${userId}/carts/${cartId}",cartVoucher:"users/${userId}/carts/${cartId}/vouchers",saveCart:"users/${userId}/carts/${cartId}/save"},Bn="/users/${userId}",cm={product:{default:"products/${productCode}?fields=averageRating,\n      baseOptions,\n      baseProduct,\n      categories(FULL),\n      classifications,\n      DEFAULT,\n      images(FULL),\n      manufacturer,\n      numberOfReviews,\n      variantOptions,\n      variantType",list:"products/${productCode}?fields=code,\n      name,\n      summary,\n      price(formattedValue),\n      images(\n        DEFAULT,\n        galleryIndex\n      )",details:"products/${productCode}?fields=averageRating,\n      stock(DEFAULT),\n      description,\n      availableForPickup,\n      code,\n      url,\n      price(DEFAULT),\n      numberOfReviews,\n      manufacturer,\n      categories(FULL),\n      priceRange,\n      multidimensional,\n      configuratorType,\n      configurable,\n      tags,\n      images(FULL)",attributes:"products/${productCode}?fields=classifications",variants:"products/${productCode}?fields=name,\n      purchasable,\n      baseOptions(DEFAULT),\n      baseProduct,\n      variantOptions(DEFAULT),\n      variantType"},productReviews:"products/${productCode}/reviews",productReferences:"products/${productCode}/references?fields=DEFAULT,\n    references(\n      target(\n        images(FULL)\n      )\n    )",productSearchCurrent:`${Bn}/products/search?fields=\n    breadcrumbs,\n    currentQuery,\n    facets,\n    freeTextSearch,\n    pagination(DEFAULT),\n    products(\n      averageRating,\n      classType,\n      classifications(FULL),\n      categories,\n      code,\n      coilId,\n      futureStocks(FULL),\n      images(DEFAULT),\n      name,\n      summary,\n      productionType,\n      recalculatedInWeight,\n      url,\n      variantOptions,\n      volumePrices(FULL),\n      productionDate\n    ),\n    sorts(DEFAULT)`,productSearchAnon:"/users/anonymous/products/search?fields=\n    breadcrumbs,\n    currentQuery,\n    facets,\n    freeTextSearch,\n    pagination(DEFAULT),\n    products(\n      averageRating,\n      classType,\n      classifications(FULL),\n      categories,\n      code,\n      coilId,\n      futureStocks(FULL),\n      images(DEFAULT),\n      name,\n      summary,\n      productionType,\n      recalculatedInWeight,\n      url,\n      variantOptions,\n      volumePrices(FULL),\n      productionDate\n    ),\n    sorts(DEFAULT)",productSearch:`${Bn}/products/search?fields=\n    breadcrumbs,\n    currentQuery,\n    facets,\n    freeTextSearch,\n    pagination(DEFAULT),\n    products(\n      averageRating,\n      classType,\n      classifications(FULL),\n      categories,\n      code,\n      coilId,\n      futureStocks(FULL),\n      images(DEFAULT),\n      name,\n      summary,\n      productionType,\n      recalculatedInWeight,\n      url,\n      variantOptions,\n      volumePrices(FULL),\n      productionDate\n    ),\n    sorts(DEFAULT)`,myCatalog:`${Bn}/catalog/products?fields=\n    breadcrumbs,\n    currentQuery,\n    facets,\n    freeTextSearch,\n    pagination(DEFAULT),\n    products(\n      averageRating,\n      classType,\n      classifications(FULL),\n      code,\n      futureStocks(FULL),\n      images(DEFAULT),\n      name,\n      summary,\n      productionType,\n      url,\n      variantOptions,\n      volumePrices(FULL),\n      lastUsedDate\n    ),\n    sorts(DEFAULT)`,myAgreements:`${Bn}/catalog/agreements/products?fields=\n    breadcrumbs,\n    currentQuery,\n    facets,\n    freeTextSearch,\n    pagination(DEFAULT),\n    products(\n      averageRating,\n      classType,\n      classifications(FULL),\n      code,\n      futureStocks(FULL),\n      images(DEFAULT),\n      name,\n      summary,\n      productionType,\n      url,\n      variantOptions,\n      volumePrices(FULL),\n      dueDate,\n      lastUsedDate\n    ),\n    sorts(DEFAULT)`,productSuggestions:`${Bn}/products/search?fields=\n    currentQuery,\n    facets,\n    freeTextSearch,\n    pagination(DEFAULT),\n    products(\n      code,\n      name,\n      suggestionLabel\n     )`,productSearchOnlyProducts:`${Bn}/products/search?fields=\n    products(\n      code\n    )`},lm={user:"users/${userId}",userRegister:"users",userForgotPassword:"forgottenpasswordtokens",userResetPassword:"resetpassword",userUpdateLoginId:"users/${userId}/login",userUpdatePassword:"users/${userId}/password",titles:"titles",paymentDetailsAll:"users/${userId}/paymentdetails",paymentDetail:"users/${userId}/paymentdetails/${paymentDetailId}",orderHistoryActive:"users/${userId}/orders",orderHistory:"users/${userId}/orders?statuses=COMPLETED",orderDetail:"users/${userId}/orders/${orderId}/details",orderEntries:"users/${userId}/orders/${orderId}/entries",anonymousConsentTemplates:"users/anonymous/consenttemplates",consentTemplates:"users/${userId}/consenttemplates",consents:"users/${userId}/consents",consentDetail:"users/${userId}/consents/${consentId}",addresses:"users/${userId}/addresses",addressDetail:"users/${userId}/addresses/${addressId}",addressVerification:"users/${userId}/addresses/verification",consignmentTracking:"users/${userId}/orders/${orderCode}/consignments/${consignmentCode}/tracking",customerCoupons:"users/${userId}/customercoupons",claimCoupon:"users/${userId}/customercoupons/${couponCode}/claim",couponNotification:"users/${userId}/customercoupons/${couponCode}/notification",notificationPreference:"users/${userId}/notificationpreferences",productInterests:"users/${userId}/productinterests",getProductInterests:"users/${userId}/productinterests?fields=sorts,pagination,results(productInterestEntry,product(code))",cancelOrder:"users/${userId}/orders/${orderId}/cancellation",returnOrder:"users/${userId}/orderReturns?fields=BASIC,returnEntries(BASIC,refundAmount(formattedValue),orderEntry(basePrice(formattedValue),product(name,code,baseOptions,images(DEFAULT,galleryIndex)))),deliveryCost(formattedValue),totalPrice(formattedValue),subTotal(formattedValue)",orderReturns:"users/${userId}/orderReturns?fields=BASIC",orderReturnDetail:"users/${userId}/orderReturns/${returnRequestCode}?fields=BASIC,returnEntries(BASIC,refundAmount(formattedValue),orderEntry(basePrice(formattedValue),product(name,code,baseOptions,images(DEFAULT,galleryIndex)))),deliveryCost(formattedValue),totalPrice(formattedValue),subTotal(formattedValue)",cancelReturn:"users/${userId}/orderReturns/${returnRequestCode}"},dm={common:["banner","button","claims","common","createViewModal","currency","error","errorHandlers","formErrors","httpHandlers","miniCart","miniLogin","navigation","newSubscription","pageMetaResolver","placeholder","registrationModal","searchBox","searchResults","skipLink","sorting","spinner","text","consentBanner","notFound","report","creditLimit","addresses"],cart:["cartDetails","cartItems","orderCost","quotation","saveForLaterItems","volume","voucher","wishList"],address:["addressBook","addressCard","addressForm"],payment:["paymentCard","paymentForm","paymentMethods","paymentTypes"],myAccount:["AccountOrderHistoryTabContainer","closeAccount","consentManagementForm","deactivate","myCoupons","myInterests","notificationPreference","orderDetails","orderHistory","orders","returnRequest","returnRequestList","supportRequest","updateEmailForm","updatePasswordForm","updateProfileForm","wishlist"],rts:["rts"],storeFinder:["storeFinder"],pwa:["pwa"],checkout:["checkout","checkoutAddress","checkoutOrderConfirmation","checkoutPO","checkoutProgress","checkoutReview","checkoutShipping"],product:["CMSTabParagraphContainer","TabPanelContainer","addToCart","addToWishList","characteristics","matrix","productDetails","productFacetNavigation","productList","productReview","productSummary","stockNotification","variant"],user:["anonymousConsents","checkoutLogin","forgottenPassword","userLoginForm","loginRegister","userRegister","authMessages"],marketing:["buttons","download","modals","support"],homePage:["login"],trading:["trading"]},Ac={backend:{occ:{endpoints:{...cm,...am,...lm}}}};_t_occBaseUrl&&(Ac.backend.occ.baseUrl=_t_occBaseUrl),Ac.backend.occ.prefix=_t_prefix||"/occ/v2/";const pm_breakpoints={xs:575,sm:768,md:992,lg:1200};Ac.backend;let Qs=class{constructor(e,t){this.http=e,this.occEndpoints=t}loadSuggestions(e,t=6){let s=new U.Nl;return s=s.set("pageSize",t.toString()),s=s.set("searchQueryContext",Kt_SUGGESTIONS),this.http.post(this.occEndpoints.buildUrl("productSuggestions"),{query:e+xn.IN_STOCK},{params:s})}static#e=this.ctorParameters=()=>[{type:U.Qq},{type:p.zxz}]};Qs=(0,r.Cg)([(0,n._qm)()],Qs);let Ic=class{onKeydownHandler(){this.close()}onWindowResize(){this.calcWidth()}constructor(e,t,s,o,l,u,h){this.authService=e,this.changeDetection=t,this.pageService=s,this.searchBoxService=o,this.eventBus=l,this.windowRef=u,this.document=h,this.destroyed$=new R.B,this.isOpen=!1,this.isLogin=!1,this.searchControl=new m.hs(""),this.showResult=!1,this.searchWidth$=new P.t(null),this.cartWidth=0,this.paddingGap=15}ngOnInit(){this.initSearchSub(),this.getCartWidth(),this.initAuthSub()}ngOnDestroy(){this.close(),this.destroyed$.next(),this.destroyed$.complete()}initAuthSub(){this.authService.isUserLoggedIn().pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.isLogin=e,this.calcWidth()})}calcWidth(){if(this.isLogin&&this.cartWidth){const e=this.windowRef.nativeWindow.innerWidth;return e>=pm_breakpoints.lg?void this.searchWidth$.next({width:860-this.cartWidth+"px"}):e>=pm_breakpoints.md?void this.searchWidth$.next({width:680-this.cartWidth+"px"}):void this.searchWidth$.next({width:"100vw"})}this.searchWidth$.next(null)}close(){this.isOpen&&(this.isOpen=!1,this.reset(),this.pageService.init(),this.eventBus.cast(J_PAGE_UNDERLAY,!1))}reset(){this.searchControl.reset(),this.result$=(0,$.of)()}open(){this.isOpen||(this.isOpen=!0,this.pageService.init(),this.eventBus.cast(J_PAGE_UNDERLAY,!0),this.calcWidth())}initSearchSub(){this.searchControl.valueChanges.pipe((0,is.B)(250),(0,We.F)(),(0,x.Q)(this.destroyed$)).subscribe(e=>{e&&e.trim().length>0&&(this.result$=this.searchBoxService.loadSuggestions(e.trim().toLowerCase()+ee_RELEVANCE),this.changeDetection.detectChanges())})}getCartWidth(){this.eventBus.on(J_MINI_CART_UPDATE).subscribe(()=>{const e=this.document.getElementsByClassName("mini-cart__info");this.cartWidth!==e[0]?.offsetWidth&&(this.cartWidth=e[0]?.offsetWidth,this.calcWidth())})}static#e=this.ctorParameters=()=>[{type:p.uRZ},{type:n.gRc},{type:mt},{type:Qs},{type:ve.u},{type:p.WTn},{type:Document,decorators:[{type:n.y_5,args:[S.qQ]}]}];static#t=this.propDecorators={onKeydownHandler:[{type:n.Z$l,args:["document:keydown.escape",["$event"]]}],onWindowResize:[{type:n.Z$l,args:["window:resize"]}]}};Ic=(0,r.Cg)([(0,n.uAl)({selector:"app-search-box",template:'<div class="search">\n  <svg-icon-sprite *ngIf="!isOpen"\n    src="search"\n    width="32"\n    height="32"\n    class="search__icon"\n    (click)="open()"\n  ></svg-icon-sprite>\n\n  <div *ngIf="isOpen"\n       [ngStyle]="searchWidth$ | async"\n       class="search__input"\n       (clickOutside)="close()"\n       exclude=".SearchBox .search .search__icon">\n    <div class="search__input-search">\n      <svg-icon-sprite\n      src="search"\n      width="32"\n      height="32"\n      class="search__input-icon"\n      ></svg-icon-sprite>\n      <app-input\n        class="w-100"\n        [controlData]="searchControl"\n        name="lastName"\n        label="{{ \'placeholder.searchRequest\' | cxTranslate }}"\n        [showIcon]="false"\n        [isAutoFocus]="true"\n        [showTextErrors]="false"\n        (keydown.escape)="close()"\n      ></app-input>\n      <svg-icon-sprite\n        *ngIf="isOpen"\n        src="close"\n        width="32"\n        height="32"\n        class="search__icon search__icon--reset"\n        (click)="close()"\n      ></svg-icon-sprite>\n    </div>\n    <ng-container *ngIf="result$ | async as results">\n      <app-search-box-result\n        [results]="results"\n        [searchControl]="searchControl"\n        (redirect)="close()"\n      ></app-search-box-result>\n    </ng-container>\n  </div>\n</div>\n',changeDetection:n.Ngq.OnPush,styles:[rk()]})],Ic);var ak=i(95319),ck=i.n(ak);let wc=class{set setResults(e){this.results=this.remoteUnusedFilter(Object.assign({},e))}onKeydownHandler(){this.selectedTab&&this.navigate(M.SEARCH.PATH+"/"+this.results.freeTextSearch,this.results.freeTextSearch)}constructor(e,t,s,o,l){this.changeDetection=e,this.router=t,this.translatePipe=s,this.searchBoxService=o,this.authService=l,this.redirect=new n.bkB,this.isUserLoggedIn$=this.authService.isUserLoggedIn(),this.isUserLoggedIn=null,this.resultId="resultId",this.isOverflow=!1,this.results=null,this.PRODUCT_TYPE=Z,this.activeTab=null,this.tabs=[],this.selectedTab=null,this.categoriesTabs=null,this.anonExcludeCategory=[Ae.STRIP_STOCK,Ae.STRIP_AGREEMENT,Ae.STRIP_QUOTE,Ae.PLATE_STOCK,Ae.PLATE_AGREEMENT.toString()],this.stripCategory=[{code:Ae.STRIP_STOCK,name:this.translatePipe.transform(`searchBox.strip.${Ae.STRIP_STOCK.toLowerCase()}`),subtext:0,disabled:!0},{code:Ae.STRIP_AGREEMENT,name:this.translatePipe.transform(`searchBox.strip.${Ae.STRIP_AGREEMENT.toLowerCase()}`),subtext:0,disabled:!0},{code:Ae.STRIP_QUOTE,name:this.translatePipe.transform(`searchBox.strip.${Ae.STRIP_QUOTE.toLowerCase()}`),subtext:0,disabled:!0},{code:Ae.STRIP_ORDER,name:this.translatePipe.transform(`searchBox.strip.${Ae.STRIP_ORDER.toLowerCase()}`),subtext:0,disabled:!0}],this.plateCategory=[{code:Ae.PLATE_STOCK,name:this.translatePipe.transform(`searchBox.plate.${Ae.PLATE_STOCK.toLowerCase()}`),subtext:0,disabled:!0},{code:Ae.PLATE_AGREEMENT,name:this.translatePipe.transform(`searchBox.plate.${Ae.PLATE_AGREEMENT.toLowerCase()}`),subtext:0,disabled:!0},{code:Ae.PLATE_ORDER,name:this.translatePipe.transform(`searchBox.plate.${Ae.PLATE_ORDER.toLowerCase()}`),subtext:0,disabled:!0}],this.categoryTabs="",this.ROUTE_URL=M,this.categoryResults$=null,this.destroyed$=new R.B}ngOnInit(){this.isUserLoggedIn$.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.isUserLoggedIn=e}),this.results?.facets?.length&&this.getTabs(this.results.facets[0].values),this.isOverflow=this.checkIsOverflow()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}labelToUrl(e){return e.toLowerCase().replace(/<em class="search-results-highlight">|<\/em>/gi,"").trim()}remoteUnusedFilter(e){if(!e?.facets)return e;const t=[ie.IN_STOCK];return e.facets=e.facets.filter(s=>!t.includes(s.code)&&s.values?.length),e}getTabs(e){if(!e)return;let t=0,s=0;e.find(o=>{o.name.toLowerCase().startsWith(Z.STRIP.toLowerCase())?(t+=o.count,this.addCategoryTab(this.stripCategory,o)):(s+=o.count,this.addCategoryTab(this.plateCategory,o))}),t>0&&this.tabs.push({title:Z.STRIP.toLowerCase(),counter:t}),s>0&&this.tabs.push({title:Z.PLATE.toLowerCase(),counter:s}),this.setActiveTab(this.tabs[0])}addCategoryTab(e,t){const s=e.find(o=>o.code===t.name);s&&(s.subtext=t.count,s.disabled=t.count<=0)}setActiveTab(e){this.activeTab=e,this.categoriesTabs=this.getTabsCategory(),this.onValueChange(this.selectedTab.code),setTimeout(()=>{this.isOverflow=this.checkIsOverflow(),this.changeDetection.detectChanges()})}getTabsCategory(){if(this.activeTab){if(this.activeTab.title===Z.PLATE.toLowerCase()){this.isUserLoggedIn||(this.plateCategory=this.plateCategory.filter(t=>!this.anonExcludeCategory.includes(t.code)));const e=this.plateCategory.filter(t=>t.subtext>0);return 0===e.length?void 0:(this.selectedTab=e[0],this.categoryTabs=e[0].code,this.plateCategory)}if(this.activeTab.title===Z.STRIP.toLowerCase()){this.isUserLoggedIn||(this.stripCategory=this.stripCategory.filter(t=>!this.anonExcludeCategory.includes(t.code)));const e=this.stripCategory.filter(t=>t.subtext>0);return 0===e.length?void 0:(this.selectedTab=e[0],this.categoryTabs=e[0].code,this.stripCategory)}}}onValueChange(e){this.categoryResults$=this.searchBoxService.loadSuggestions(`${this.results.freeTextSearch.toLowerCase()}${ee_RELEVANCE}${ee_PRODUCT_TYPE}:${e}`).pipe((0,fe.E)("products")),this.selectedTab=this.plateCategory.concat(this.stripCategory).filter(t=>t.code===e)[0]}onResize(){this.isOverflow=this.checkIsOverflow()}checkIsOverflow(){return this.result?.nativeElement?.scrollWidth>this.result?.nativeElement?.clientWidth}scrollRight(){document.getElementById(this.resultId).scrollLeft+=150}scrollLeft(){document.getElementById(this.resultId).scrollLeft-=150}navigate(e,t){return this.redirect.next(e),this.router.navigate([e],{queryParams:{query:`${t}${ee_RELEVANCE}${ee_PRODUCT_TYPE}:${this.selectedTab.code}`},queryParamsHandling:"merge"})}static#e=this.ctorParameters=()=>[{type:n.gRc},{type:y.Ix},{type:p.D97},{type:Qs},{type:p.uRZ}];static#t=this.propDecorators={setResults:[{type:n.pde,args:["results"]}],searchControl:[{type:n.pde}],redirect:[{type:n.k7i}],result:[{type:n.Uct,args:["result"]}],onKeydownHandler:[{type:n.Z$l,args:["document:keydown.enter",["$event"]]}],onResize:[{type:n.Z$l,args:["window:resize"]}]}};wc=(0,r.Cg)([(0,n.uAl)({selector:"app-search-box-result",template:'<div class="result">\n  <ng-container *ngIf="results.facets?.length > 0; else notFound">\n    <scrollbar>\n      <div class="result__tabs">\n      <ng-container *ngIf="tabs">\n        <div *ngFor="let tab of tabs"\n             class="result__tabs-content"\n             [class.result__tabs-content--is-open]="tab.title === activeTab.title"\n             (click)="setActiveTab(tab)">\n          {{ \'searchBox.tabs.\' + tab.title | cxTranslate }} <span class="result__tabs-count">{{tab.counter}}</span>\n        </div>\n      </ng-container>\n    </div>\n    </scrollbar>\n    <scrollbar #result [id]="resultId">\n      <app-tabs-radio\n        [items]="categoriesTabs"\n        (selectedItemChange)="onValueChange($event)"\n        [(selectedItem)]="categoryTabs"\n        bindProperty="code"\n        showProperty="name"\n        size="extra-small"\n      ></app-tabs-radio>\n      <div *ngIf="isOverflow" (click)="scrollRight()" class="result__tabs-arrow result__tabs-arrow--right">\n        <svg-icon-sprite class="result__tabs-arrow--icon" src="chevron_right" width="18" height="18"></svg-icon-sprite>\n      </div>\n      <div *ngIf="isOverflow" (click)="scrollLeft()" class="result__tabs-arrow result__tabs-arrow--left">\n        <svg-icon-sprite class="result__tabs-arrow--icon" src="chevron_left" width="18" height="18"></svg-icon-sprite>\n      </div>\n    </scrollbar>\n    <div *ngIf="selectedTab" class="result__content">\n      <ng-container *ngIf="categoryResults$ | async as result; else loading">\n        <div\n          *ngFor="let categoryResult of result.slice(0, 5) let index=index"\n          class="result__content-result"\n          (click)="navigate(ROUTE_URL.SEARCH.PATH + \'/\' + labelToUrl(categoryResult.suggestionLabel), labelToUrl(categoryResult.suggestionLabel))"\n        >\n          <span [innerHTML]="categoryResult.suggestionLabel | markSearchResults: results?.freeTextSearch">\n          </span>\n        </div>\n        <a\n           class="result__button"\n           (click)="navigate(ROUTE_URL.SEARCH.PATH + \'/\' + results.freeTextSearch, results.freeTextSearch)"\n        >\n          {{ \'button.showResults\' | cxTranslate }} <span class="result__button-count">{{ selectedTab.subtext }}</span>\n        </a>\n      </ng-container>\n      <ng-template #loading>\n        <div class="loader-in-process">\n          <app-loader size="36px"></app-loader>\n        </div>\n      </ng-template>\n    </div>\n  </ng-container>\n</div>\n\n\n<ng-template #notFound>\n  <div class="not-found">\n    {{ \'searchBox.notFound\' | cxTranslate }} <span class="not-found__request">\xab{{results.freeTextSearch}}\xbb</span>\n  </div>\n</ng-template>\n',styles:[ck()]})],wc);let Fh=class{};Fh=(0,r.Cg)([(0,n.UQu)({declarations:[wc],imports:[S.MD,p.htr.withConfig({cmsComponents:{SearchBoxComponent:{component:Ic}},skipLinks:[]}),V.F2,y.iI,p.LP3,it,ge,Te,xe],exports:[wc],providers:[Qs]})],Fh);var dk=i(58835),pk=i.n(dk);let Pc=class extends Wr{constructor(e,t,s,o,l,u,h,_){super(l,o),this.searchService=e,this.facetService=t,this.agreementFacetService=s,this.breakpointService=o,this.changeDetection=l,this.translatePipe=u,this.customProductListComponentService=h,this.routingService=_,this.destroyed$=new R.B,this.facetList$=this.facetService.facetList$.pipe((0,z.M)(C=>{const T=C.facets.find(D=>D.code===ie.AGREEMENT);this.agreement=[],T?.values?.forEach(D=>{this.agreement.push(D.name)})})),this.currentAgreement$=this.agreementFacetService.currentAgreement$,this.isCategoryLoaded$=this.searchService.isCategoryLoaded$,this.search=new m.hs(""),this.agreements=null,this.isOpened=!1,this.isVolumeBasedTab=!1,this.baseQuery="",this.valuePrev=null,this.prevQuery="",this.isUpdated=!1}ngOnInit(){this.getAgreements(),this.initOnQueryChange()}initOnQueryChange(){this.routingService.getRouterState().pipe((0,w.T)(e=>e.state.queryParams.query)).pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{if(e.match(/STRIP_AGREEMENT|PLATE_AGREEMENT/g)){const t=e.split(":")[0];this.prevQuery!==t&&(this.prevQuery=t,this.searchService.searchGroups$.next(null),this.isUpdated=!0,this.getAgreements())}else this.prevQuery=""})}getLength(e){return e?.find(t=>t.code===ie.AGREEMENT)?.values?.length}getAgreements(){this.facetList$.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{const t=this.getLength(this.valuePrev?.facets),s=this.getLength(e?.facets);(this.valuePrev?.activeFacets[0]?.facetValueCode!==e?.activeFacets[0]?.facetValueCode||s>t||this.isUpdated)&&(this.valuePrev=e,this.isUpdated=!1,this.agreement.length?(this.searchService.isAgreementLoaded$.next(!1),this.query$=this.routingService.getRouterState().pipe((0,me.$)(),(0,w.T)(o=>this.baseQuery=o.state.queryParams.query)),this.searchService.getAgreements(this.agreement).pipe((0,x.Q)(this.destroyed$)).subscribe(o=>{this.agreements=o,super.initBreakpointSub();const l=this.agreements.find(h=>h===this.agreementFacetService.currentAgreement$.getValue()),u=this.agreementFacetService.selectAgreement(l?this.agreementFacetService.currentAgreement$.getValue():o[0],this.baseQuery.split(ee_CODE)[0]);this.customProductListComponentService.setQuery(u),this.searchService.isAgreementLoaded$.next(!0),this.changeDetection.detectChanges()})):(this.agreements=null,this.changeDetection.detectChanges()))})}ngOnDestroy(){this.agreements=[],this.destroyed$.next(),this.destroyed$.complete(),super.ngOnDestroy()}resetSearch(){this.search.setValue("")}toggle(){this.isOpened=!this.isOpened}getTabs(e){const t=!!e.find(o=>o.volumeBased),s=!!e.find(o=>!o.volumeBased);return[{name:this.translatePipe.transform("text.facetNavigation.agreementFacet.tabs.volumeBased"),code:!0,disabled:!t},{name:this.translatePipe.transform("text.facetNavigation.agreementFacet.tabs.sku"),code:!1,disabled:!s}]}onValueChange(e,t){if(!!this.isVolumeBasedTab==!!e)return;const s=t.find(l=>!!l.volumeBased==!!e),o=this.agreementFacetService.selectAgreement(s,this.baseQuery);this.customProductListComponentService.setQuery(o)}static#e=this.ctorParameters=()=>[{type:wt},{type:v.rOA},{type:Ee},{type:v.dci},{type:n.gRc},{type:p.D97},{type:Dn},{type:p.Oie}]};Pc=(0,r.Cg)([(0,n.uAl)({selector:"app-search-agreements",template:'<ng-container *ngIf="isCategoryLoaded$ | async">\n  <div class="search-agreements" *ngIf="query$ | async as query">\n    <ng-container *ngIf="agreements && agreement && agreements.length > 0">\n      <div\n        [class.contracts--hidden]=isOpened\n        class="contracts">\n        <h4 class="contracts__sub-title">{{ \'text.facetNavigation.agreementFacet.title\' | cxTranslate }}</h4>\n\n        <div\n          class="contracts__content"\n        >\n          <div\n            class="contracts__head">\n            <div class="contracts__title d-flex align-items-center" (click)="toggle()">\n              {{ \'text.facetNavigation.agreementFacet.myContracts\' | cxTranslate }}\n\n              <div class="contracts__toggle-icons">\n                <svg-icon-sprite width="24px" height="24px" src="expand_more"\n                                 class="contracts__expand-icon"></svg-icon-sprite>\n                <svg-icon-sprite width="24px" height="24px" src="close" class="contracts__close-icon"></svg-icon-sprite>\n                <svg-icon-sprite width="24px" height="24px" src="description"\n                                 class="contracts__description-icon"></svg-icon-sprite>\n              </div>\n            </div>\n          </div>\n          <div\n            *ngIf="isOpened"\n            class="contracts__body">\n            <div class="contracts__tabs">\n              <app-tabs-radio\n                [items]="getTabs(agreements)"\n                (selectedItemChange)="onValueChange($event, agreements)"\n                [(selectedItem)]="isVolumeBasedTab"\n                bindProperty="code"\n                showProperty="name"\n                size="small"\n                class="w-100"\n              ></app-tabs-radio>\n            </div>\n            <div class="contracts__search">\n              <svg-icon-sprite\n                class="contracts__search--icon"\n                src="search"\n                width="18"\n                height="18"\n              ></svg-icon-sprite>\n              <app-input\n                type="number"\n                [label]="\'placeholder.search\' | cxTranslate"\n                [controlData]="search"\n                [showIcon]="false"\n              ></app-input>\n              <svg-icon-sprite\n                *ngIf="search.value"\n                class="contracts__search--reset"\n                src="close"\n                width="18"\n                height="18"\n                (click)="resetSearch()"\n              ></svg-icon-sprite>\n            </div>\n\n            <scrollbar class="contracts__agreements">\n              <app-agreement-facet-item\n                *ngFor="let agreement of agreements; let count = index"\n                [currentAgreement]="currentAgreement$ | async"\n                [agreement]="agreement"\n                [count]=count\n                [isVolumeBasedTab]="isVolumeBasedTab"\n                [searchValue]="search.value"\n                [isSearch]="true"\n                [queryBase]="baseQuery"\n\n                (agreementChange)="resetSearch()"\n              ></app-agreement-facet-item>\n            </scrollbar>\n          </div>\n        </div>\n      </div>\n    </ng-container>\n  </div>\n</ng-container>\n',styles:[pk()]})],Pc);var hk=i(82543),gk=i.n(hk);class Dc{constructor(e){this.searchService=e,this.isLoaded$=this.searchService.isLoaded$,this.isCategoryLoaded$=this.searchService.isCategoryLoaded$}}let Lc=class extends Dc{constructor(e){super(e),this.searchService=e}ngOnInit(){}static#e=this.ctorParameters=()=>[{type:wt}]};Lc=(0,r.Cg)([(0,n.uAl)({selector:"app-search-category",template:'<ng-container *ngIf="isLoaded$ | async">\n  <ng-container *ngIf="isCategoryLoaded$ | async">\n    <div class="search-category">\n      <app-product-list-facet-category [isSearch]="true"></app-product-list-facet-category>\n    </div>\n  </ng-container>\n</ng-container>\n',styles:[gk()]})],Lc);var _k=i(82479),vk=i.n(_k);let kc=class extends Dc{constructor(e){super(e),this.searchService=e,this.activeTab$=this.searchService.activeTab$,this.isAgreementLoaded$=this.searchService.isAgreementLoaded$}ngOnInit(){}static#e=this.ctorParameters=()=>[{type:wt}]};kc=(0,r.Cg)([(0,n.uAl)({selector:"app-search-list",template:'<ng-container *ngIf="activeTab$ | async as activeTab">\n  <ng-container *ngIf="isLoaded$ | async">\n    <ng-container *ngIf="isCategoryLoaded$ | async">\n      <ng-container *ngIf="isAgreementLoaded$ | async">\n        <app-search-listing [activeTab]="activeTab"></app-search-listing>\n      </ng-container>\n    </ng-container>\n  </ng-container>\n</ng-container>\n',styles:[vk()]})],kc);var fk=i(43213),Ck=i.n(fk);let Fc=class extends Dc{constructor(e,t,s,o){super(e),this.searchService=e,this.router=t,this.activatedRoute=s,this.routingService=o,this.destroyed$=new R.B,this.searchGroups$=this.searchService.searchGroups$,this.activeGroup$=this.searchService.activeGroup$,this.searchTabs$=this.searchService.searchTabs$,this.query$=this.routingService.getRouterState().pipe((0,w.T)(l=>l.state.params.query))}ngOnInit(){this.searchService.init()}ngOnDestroy(){this.searchService.destroy(),this.searchService.isLoaded$.next(!1),this.destroyed$.next(),this.destroyed$.complete()}changeGroup(e){this.activeGroup$.getValue()!==e&&(this.activeGroup$.next(e),this.searchTabs$.pipe((0,x.Q)(this.destroyed$)).subscribe(t=>{this.router.navigate([],{relativeTo:this.activatedRoute,queryParams:{query:`${this.activatedRoute.snapshot.params.query}${ee_RELEVANCE}${ee_PRODUCT_TYPE}:${t[0].name}`},queryParamsHandling:"merge"})}).unsubscribe())}isHaveResult(e){return!!e.find(t=>t.total>0)}static#e=this.ctorParameters=()=>[{type:wt},{type:y.Ix},{type:y.nX},{type:p.Oie}]};Fc=(0,r.Cg)([(0,n.uAl)({selector:"app-search-tabs-category",template:'<div *ngIf="searchGroups$ | async as searchGroups;" class="search-tabs-category">\n  <ng-container *ngIf="isLoaded$ | async; else loading">\n    <ul\n      *ngIf="isHaveResult(searchGroups) else noResult"\n      class="search-tabs-category__list"\n    >\n      <ng-container *ngFor="let group of searchGroups">\n        <li\n          *ngIf="group.total"\n          [class.active]="(activeGroup$ | async) === group.name"\n          (click)="changeGroup(group.name)"\n          class="search-tabs-category__item"\n        >\n          {{ group.name }}\n          <span class="search-tabs-category__counter">{{ group.total }}</span>\n        </li>\n      </ng-container>\n    </ul>\n  </ng-container>\n</div>\n<ng-template #loading>\n  <app-loader></app-loader>\n</ng-template>\n\n<ng-template #noResult>\n  <app-cards-is-not-found\n    [text]="\'searchResults.noResult.title\' | cxTranslate"\n    [subText]="\'searchResults.noResult.subTitle\' | cxTranslate"\n    [description]="\'searchResults.noResult.description\' | cxTranslate"\n    [subTextParams]="\'\xab\' + (query$ | async) + \'\xbb\'"\n    icon="search"\n    class="search-tabs-category__no-result"\n  ></app-cards-is-not-found>\n</ng-template>\n',styles:[Ck()]})],Fc);var yk=i(21503),Sk=i.n(yk);let Mc=class extends Dc{constructor(e,t,s){super(e),this.searchService=e,this.router=t,this.activatedRoute=s,this.destroyed$=new R.B,this.searchTabs$=this.searchService.searchTabs$,this.activeTab$=this.searchService.activeTab$}ngOnInit(){this.activeTab$.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.selectedTab=e})}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}onValueChange(e){e!==this.selectedTab&&(this.searchService.isCategoryLoaded$.next(!1),this.router.navigate([],{relativeTo:this.activatedRoute,queryParams:{query:`${this.activatedRoute.snapshot.params.query}${ee_RELEVANCE}${ee_PRODUCT_TYPE}:${e}`},queryParamsHandling:"merge"}))}static#e=this.ctorParameters=()=>[{type:wt},{type:y.Ix},{type:y.nX}]};Mc=(0,r.Cg)([(0,n.uAl)({selector:"app-search-tabs",template:'<ng-container *ngIf="isLoaded$ | async">\n  <ng-container *ngIf="isCategoryLoaded$ | async; else loading">\n    <scrollbar *ngIf="searchTabs$ | async as searchTabs" class="search-tabs">\n      <app-tabs-radio\n        [items]="searchTabs"\n        (selectedItemChange)="onValueChange($event)"\n        [(selectedItem)]="selectedTab"\n        bindProperty="name"\n        showProperty="displayName"\n        size="extra-small"\n      ></app-tabs-radio>\n    </scrollbar>\n  </ng-container>\n</ng-container>\n<ng-template #loading>\n  <app-loader></app-loader>\n</ng-template>\n',styles:[Sk()]})],Mc);var Ek=i(82663),Rk=i.n(Ek);let Nc=class{constructor(e,t,s,o,l,u){this.activatedRoute=e,this.changeDetector=t,this.productListComponentService=s,this.router=o,this.routingService=l,this.translatePipe=u,this.model$=this.productListComponentService.model$,this.query$=this.routingService.getRouterState().pipe((0,w.T)(h=>h.state.params.query))}route(e){this.router.navigate([],{queryParams:e,queryParamsHandling:"merge",relativeTo:this.activatedRoute})}ngOnInit(){}sortList(e){this.route({sortCode:e})}static#e=this.ctorParameters=()=>[{type:y.nX},{type:n.gRc},{type:v.Sj3},{type:y.Ix},{type:p.Oie},{type:p.D97}]};Nc=(0,r.Cg)([(0,n.uAl)({selector:"app-search-title",template:'<div\n  *ngIf="model$ | async as model"\n  class="search-title"\n>\n  <app-page-title\n  class="search-title__title"\n  >\n    {{ \'searchResults.title\' | cxTranslate }}\n  </app-page-title>\n\n  <div class="search-title__query">\n    \xab{{ query$ | async }}\xbb\n  </div>\n\n  <app-sort-select\n    [activeItem]="model.pagination.sort"\n    [items]="model.sorts"\n    (selectItem)="sortList($event.code)"\n    bindTitle="name"\n    bindValue="code"\n    sortTitle="{{ \'placeholder.sortingBy\' | cxTranslate }}"\n    class="search-title__sorting">\n  </app-sort-select>\n</div>\n',styles:[Rk()]})],Nc);let Mh=class{};Mh=(0,r.Cg)([(0,n.UQu)({declarations:[Pc,Nc,Mc,Lc,Fc,kc],imports:[S.MD,p.htr.withConfig({cmsComponents:{SearchAgreements:{component:Pc},SearchTitle:{component:Nc},SearchTabs:{component:Fc},SearchCategory:{component:Lc},SearchTabsCategory:{component:Mc},SearchResultsListComponent:{component:kc}}}),be,p.LP3,it,It,Tc,ln,ge,V.F2,ce,Ln,Te],providers:[wt]})],Mh);var Ak=i(13093),Ik=i.n(Ak);let Uc=class{constructor(e,t,s){this.component=e,this.eventBus=t,this.breakpointService=s,this.isDesktopDimension$=this.breakpointService.isUp(v.SLZ.lg),this.subscriptions=new X.yU,this.destroyed$=new R.B,this.data$=this.component.data$,this.isMenuOpened=!1}ngOnInit(){this.checkDesktopDimension(),this.onBurgerClick()}checkDesktopDimension(){this.subscriptions.add(this.isDesktopDimension$.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{e&&this.burgerClickOutside()}))}onBurgerClick(){this.subscriptions.add(this.eventBus.on(J_HEADER.BURGER_CLICK).subscribe(()=>{this.isMenuOpened=!this.isMenuOpened}))}ngOnDestroy(){this.subscriptions.unsubscribe(),this.destroyed$.next(),this.destroyed$.complete()}burgerClick(){this.eventBus.cast(J_HEADER.BURGER_CLICK)}burgerClickOutside(){this.eventBus.cast(J_HEADER.BURGER_CLICK_OUTSIDE),this.isMenuOpened=!1}static#e=this.ctorParameters=()=>[{type:v.TLs},{type:ve.u},{type:v.dci}]};Uc=(0,r.Cg)([(0,n.uAl)({selector:"app-simple-banner",template:'<ng-container *ngIf="data$ | async as data">\n  <div\n    (clickOutside)="burgerClickOutside()"\n    class="d-flex align-items-center"\n  >\n    <svg-icon-sprite\n      (click)="burgerClick()"\n      [src]="isMenuOpened ? \'close\' : \'menu_c\'"\n      width="24px"\n      height="24px"\n      class="menu-burger"\n    ></svg-icon-sprite>\n    <cx-generic-link\n      [url]="data.urlLink"\n      [target]="data.external === \'true\' ? \'_blank\' : \'_self\'"\n      [title]="data.media?.altText"\n    >\n      <cx-media\n        [container]="data.media"\n        (click)="burgerClickOutside()"\n        class="logo"\n      ></cx-media>\n    </cx-generic-link>\n  </div>\n</ng-container>\n',styles:[Ik()]})],Uc);var Pk=i(86789),Dk=i.n(Pk);let $c=class{constructor(e,t,s){this.breakpointService=e,this.languageService=t,this.languageInitializer=s,this.destroyed$=new R.B,this.isOpen=!1,this.isMobileDimension=!1,this.isMobileDimension$=this.breakpointService.isDown(v.SLZ.md),this.items$=this.languageService.getAll(),this.activeItem$=this.languageService.getActive()}ngOnInit(){this.isMobileDimension$.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.isMobileDimension=e}),this.languageInitializer.initialize()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}selectLanguage(e){this.languageService.setActive(e),this.isOpen=!1}onClickedOutside(){this.isOpen=!1}static#e=this.ctorParameters=()=>[{type:v.dci},{type:p.gwd},{type:p.HpH}]};$c=(0,r.Cg)([(0,n.uAl)({selector:"app-site-context-selector",template:'<div class="d-lg-flex align-items-lg-center h-100">\n  <div\n    [ngClass]="isOpen && \'is-open\'"\n    class="lang"\n    *ngIf="activeItem$ | async as activeItem"\n  >\n    <div\n      (click)="isOpen = !isOpen; $event.stopPropagation()"\n      (clickOutside)="!isMobileDimension && onClickedOutside()"\n      exclude=".lang"\n      class="lang__current"\n    >\n      {{ activeItem | uppercase  }}\n      <svg-icon-sprite\n        src="expand_more"\n        width="24"\n        height="24"\n        class="more-icon">\n      </svg-icon-sprite>\n    </div>\n\n    <div\n      *ngIf="items$ | async as items"\n      class="submenu"\n    >\n      <div class="d-flex flex-column">\n        <div\n          *ngFor="let item of items"\n          (click)="selectLanguage(item.isocode)"\n          [class.lang__item--active]="item.isocode === activeItem"\n          class="lang__item"\n        >\n          {{ item.name }}\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n',styles:[Dk()]})],$c);var kk=i(87443),Fk=i.n(kk);let Bc=class{constructor(e,t,s,o,l,u,h,_){this.router=e,this.cmsService=t,this.launchDialogService=s,this.translatePipe=o,this.navigationService=l,this.authService=u,this.eventBus=h,this.agreementFacetService=_,this.closed=new n.bkB,this.API_ENDPOINT=E,this.ICONS=Am,this.component$=this.cmsService.getComponentData(Wt.MY_ACCOUNT_COMPONENT),this.node$=this.navigationService.getNavigationNode(this.component$)}closeModal(){this.closed.emit(!0)}showChangePasswordModal(){this.launchDialogService.openDialogAndSubscribe("AUTH_MODAL",void 0,{type:Pe.UPDATE,header:this.translatePipe.transform("button.updatePassword")})}getIcon(e){const t=e.toLowerCase().replace(/\s/g,"");return this.ICONS[t]}onLogout(e){sessionStorage.clear(),this.agreementFacetService.destroy(),this.eventBus.cast(J_HEADER.BURGER_CLOSE_USER_MENU),this.eventBus.cast(J_PAGE_UNDERLAY,!1);try{this.authService.coreLogout()}catch{}}static#e=this.ctorParameters=()=>[{type:y.Ix},{type:p.xYq},{type:v.PLe},{type:p.D97},{type:v.o_p},{type:p.uRZ},{type:ve.u},{type:Ee}];static#t=this.propDecorators={closed:[{type:n.k7i}]}};Bc=(0,r.Cg)([(0,n.uAl)({selector:"app-user-menu",template:' <ul class="user-menu-list">\n   <li\n     class="user-menu-list__item mobile"\n   >\n    <div class="user-menu-list__title">{{ \'placeholder.account\' | cxTranslate }}</div>\n     <svg-icon-sprite\n       (click)="closeModal()"\n       class="user-menu-list__title-icon"\n       src="close"\n       width="24"\n       height="24"\n     ></svg-icon-sprite>\n   </li>\n  <li\n    *ngFor="let node of (node$ | async)?.children"\n    class="user-menu-list__item"\n  >\n    <ng-container [ngSwitch]="node.url">\n      <span *ngSwitchCase="API_ENDPOINT.MY_ACCOUNT.UPDATE_PASSWORD" class="user-menu-list__link">\n        <a\n          (click)="showChangePasswordModal()"\n        >\n          <svg-icon-sprite\n            [src]="ICONS.password"\n            width="18"\n            height="18"\n            class="user-menu-list__icon"\n          ></svg-icon-sprite>\n          {{ \'text.userMenu.password\' | cxTranslate }}\n        </a>\n      </span>\n\n      <span *ngSwitchCase="API_ENDPOINT.LOGOUT" class="user-menu-list__link">\n        <a\n          (click)="onLogout($event)"\n          routerLink="./"\n        >\n          <svg-icon-sprite\n            *ngIf="getIcon(node.title)"\n            [src]="getIcon(node.title)"\n            width="18"\n            height="18"\n            class="user-menu-list__icon"\n          ></svg-icon-sprite>\n          {{node.title}}\n        </a>\n      </span>\n\n      <ng-container *ngSwitchDefault>\n        <cx-generic-link\n          *ngIf="node.url"\n          [url]="node.url"\n          [target]="node.target"\n          (click)="closeModal()"\n          class="user-menu-list__link"\n        >\n          <svg-icon-sprite\n            *ngIf="getIcon(node.title)"\n            [src]="getIcon(node.title)"\n            height="18"\n            width="18"\n            class="user-menu-list__icon"\n          ></svg-icon-sprite>\n          {{ node.title }}\n\n        </cx-generic-link>\n      </ng-container>\n    </ng-container>\n\n  </li>\n</ul>\n',styles:[Fk()]})],Bc);let Vc=class{};Vc=(0,r.Cg)([(0,n.UQu)({declarations:[Bc],exports:[Bc],imports:[S.MD,v.sS9,y.iI,p.LP3,V.F2]})],Vc);let Nh=class{};Nh=(0,r.Cg)([(0,n.UQu)({declarations:[ao,oo,$o,Ko,Ic,Uc,$c,Rs,Ep,Sd],imports:[p.htr.withConfig({cmsComponents:{ContactUsComponent:{component:yo},AnonymousConsentBannerComponent:{component:oo},SimpleBannerComponent:{component:Uc},MiniCartComponent:{component:Ko},FooterNavigationComponent:{component:$o},CMSSiteContextComponent:{component:$c}}}),oS.B,v.Hik,Rd,dC.wb,Zs,Rn,ss,sr,Od,Pd,Ud,$d,Bt.o,Gd,S.MD,Jd,np,sp,Wl,Tr,Ch,ap,bn,ce,Sp,Tp,Nr,Op,Ap,v.GQ,m.YN,v.sS9,Vo,jo,p.LP3,v.opy,V.F2,v.VMI,Mp,ge,gS.ki,v.Lmd,aS.MiniCartModule,va,lh,bh,Xe.n8,yh,v.RID,vi,ln,Ln,Th,Oh,Tc,No,m.X1,Rc,Ph,Lh,kh,y.iI,Te,Fh,Mh,v.QPA,p.YYe,Vc,so,Cd,Vl,yd],exports:[]})],Nh);var Nk=i(47929),Uk=i.n(Nk);let Uh=class{constructor(e,t){this.baseSiteService=e,this.cmsService=t,this.class="mt-auto",this.activeSite$=this.baseSiteService.getActive(),this.contentSlotData$=this.cmsService.getContentSlot("FooterBottom").pipe((0,w.T)(s=>{const o={left:{top:[],bottom:[]},right:[]};return s.components.forEach(l=>{l.flexType===Wt.NEWS_SUBSCRIBE_COMPONENT?o.right.push(l):l.uid===Wt.MESSAGE_FOOTER_PARAGRAPH?o.left.bottom.push(l):o.left.top.push(l)}),o})),this.COMPONENTS_NAME=Wt,this.ACTIVE_SITE=Re}static#e=this.ctorParameters=()=>[{type:p.ASs},{type:p.xYq}];static#t=this.propDecorators={class:[{type:n.g$6,args:["class"]}]}};Uh=(0,r.Cg)([(0,n.uAl)({selector:"app-footer",template:'<footer\n  *ngIf="activeSite$ | async as activeSite"\n  [ngClass]="{\n  \'footer--trading\': activeSite === ACTIVE_SITE.TRADING || activeSite === ACTIVE_SITE.STEELENA || activeSite === ACTIVE_SITE.TURKEY,\n  \'footer--nlmk\': activeSite === ACTIVE_SITE.EU,\n  \'footer--global\': activeSite === ACTIVE_SITE.GLOBAL\n   }"\n  class="footer"\n>\n  <div class="footer__top">\n    <div class="container-lg">\n        <cx-page-layout section="footer"></cx-page-layout>\n    </div>\n  </div>\n  <div\n    *ngIf="contentSlotData$ | async as contentSlotData"\n    [class.footer__bottom--trading]="activeSite === ACTIVE_SITE.TRADING || activeSite === ACTIVE_SITE.STEELENA || activeSite === ACTIVE_SITE.TURKEY"\n    class="footer__bottom"\n  >\n    <div\n      [class.footer__bottom-content]="activeSite !== ACTIVE_SITE.TRADING && activeSite !== ACTIVE_SITE.STEELENA && activeSite !== ACTIVE_SITE.TURKEY"\n      class="container-lg"\n    >\n      <div class="footer__bottom-left">\n        <div [class.footer__bottom-left--top]="activeSite !== ACTIVE_SITE.TRADING && activeSite !== ACTIVE_SITE.STEELENA && activeSite !== ACTIVE_SITE.TURKEY">\n          <div *ngFor="let component of contentSlotData.left.top">\n            <ng-template [cxComponentWrapper]="component"></ng-template>\n          </div>\n        </div>\n        <div *ngFor="let component of contentSlotData.left.bottom">\n          <ng-template [cxComponentWrapper]="component"></ng-template>\n        </div>\n      </div>\n      <div class="footer__bottom-right">\n        <div *ngFor="let component of contentSlotData.right">\n          <ng-template [cxComponentWrapper]="component"></ng-template>\n        </div>\n      </div>\n    </div>\n  </div>\n</footer>\n',changeDetection:n.Ngq.OnPush,styles:[Uk()]})],Uh);var Bk=i(87309),Vk=i.n(Bk);let $h=class{constructor(e,t,s,o,l,u,h){this.pageService=e,this.winRef=t,this.authService=s,this.eventBus=o,this.launchDialogService=l,this.router=u,this.document=h,this.class="header--fixed",this.isUserLoggedIn=!1,this.destroyed$=new R.B,this.isUserLoggedIn$=this.authService.isUserLoggedIn(),this.isSearchVisible=!1,this.isMenuOpened=!1,this.isUserMenuOpened=!1,this.isCartMenuOpened=!1,this.menuClass="",this.showUnderlay=0}ngOnInit(){this.initEventsSub(),this.initRouteSub(),this.initUserSub()}ngOnDestroy(){this.destroyed$.next(),this.destroyed$.complete()}initUserSub(){this.isUserLoggedIn$.pipe((0,x.Q)(this.destroyed$)).subscribe(e=>{this.isUserLoggedIn=e})}initEventsSub(){this.eventBus.on(J_HEADER.SEARCH_CHANGE_STATE).subscribe(e=>{this.isSearchVisible=e}),this.eventBus.on(J_HEADER.BURGER_CLICK).subscribe(()=>{this.isMenuOpened=!this.isMenuOpened}),this.eventBus.on(J_HEADER.BURGER_CLICK_OUTSIDE).subscribe(()=>{this.isMenuOpened=!1}),this.eventBus.on(J_HEADER.BURGER_CLOSE_MENU).subscribe(()=>{this.isCartMenuOpened=!1}),this.eventBus.on(J_HEADER.BURGER_CLOSE_USER_MENU).subscribe(()=>{this.isUserMenuOpened=!1}),this.eventBus.on(J_PAGE_UNDERLAY).subscribe(e=>{this.showUnderlay+=e?1:-1,this.showUnderlay<0&&(this.showUnderlay=0);const t=this.document.body.classList;this.showUnderlay?t.add("show-underlay"):t.remove("show-underlay")})}initRouteSub(){const e=["/"],t=["/login"];this.router.events.pipe((0,x.Q)(this.destroyed$)).subscribe(s=>{const o={};s instanceof y.Z&&t.includes(s.url)&&(this.isUserLoggedIn||(this.redirectWithParams(e,o),this.openLoginModal()))})}redirectWithParams(e,t){this.router.navigate(e,{queryParams:t})}toggleSearchVisible(){const e="searchbox-is-active";this.winRef.document.body.classList.toggle(e),this.isSearchVisible=this.winRef.document.body.classList.contains(e)}userActions(){this.isUserLoggedIn?this.isUserMenuOpened=!this.isUserMenuOpened:this.openLoginModal()}userCartActions(){this.isUserLoggedIn?this.isCartMenuOpened=!this.isCartMenuOpened:this.openLoginModal()}openLoginModal(){this.launchDialogService.openDialogAndSubscribe("AUTH_MODAL",void 0,{type:Pe.LOGIN})}menuClose(){this.isUserMenuOpened&&(this.isUserMenuOpened=!this.isUserMenuOpened)}menuCartClose(){this.isCartMenuOpened&&(this.isCartMenuOpened=!this.isCartMenuOpened)}burgerClickCloseMenu(){this.eventBus.cast(J_HEADER.BURGER_CLOSE_MENU)}closeMenu(){this.burgerClickCloseMenu()}static#e=this.ctorParameters=()=>[{type:mt},{type:p.WTn},{type:p.uRZ},{type:ve.u},{type:v.PLe},{type:y.Ix},{type:Document,decorators:[{type:n.y_5,args:[S.qQ]}]}];static#t=this.propDecorators={class:[{type:n.g$6,args:["class"]}]}};$h=(0,r.Cg)([(0,n.uAl)({selector:"app-header",template:'<scrollbar\n  [isWithScroll]="isMenuOpened"\n  [class.scrollbar--is-open]="isMenuOpened"\n  class="scrollbar"\n>\n<div class="header">\n  <div class="container-lg">\n    <div\n      [class.is-open]="isMenuOpened"\n      class="header-grid"\n    >\n      <cx-page-layout\n        class="header-grid__group-nav mobile-nav d-lg-flex flex-column flex-lg-row flex-lg-nowrap align-items-lg-stretch justify-content-lg-between align-items-lg-center {{menuClass}}"\n        section="headerTop"\n      ></cx-page-layout>\n\n      <cx-page-layout\n        class="header-grid__logo d-flex align-items-center"\n        section="headerLogo"\n      ></cx-page-layout>\n\n      <cx-page-layout\n        class="header-grid__nav mobile-nav align-items-lg-center flex-column flex-lg-row {{menuClass}}"\n        section="headerNavigation"\n      ></cx-page-layout>\n\n      <cx-page-layout\n        class="header-grid__user-area d-flex align-items-center justify-content-end"\n        section="headerActions"\n      ></cx-page-layout>\n    </div>\n  </div>\n</div>\n</scrollbar>\n',styles:[Vk()]})],$h);let Bh=class{};Bh=(0,r.Cg)([(0,n.UQu)({declarations:[],imports:[S.MD,bn,p.htr.withConfig({cmsComponents:{UserLogin:{component:Rs},UserLoginTrading:{component:Rs}}})]})],Bh);var Gk=i(93019),zk=i(22312);var Qk=i(26128),qk=i.n(Qk);let Gc=class{constructor(){}static#e=this.ctorParameters=()=>[]};Gc=(0,r.Cg)([(0,n.uAl)({selector:"app-root",template:'<cx-storefront></cx-storefront>\n\n<ng-template cxOutletRef="cx-header">\n  <app-header></app-header>\n  <cx-page-slot position="BottomHeaderSlot"></cx-page-slot>\n</ng-template>\n\n<ng-template cxOutletRef="cx-footer">\n  <app-footer></app-footer>\n</ng-template>\n\n<ng-template cxOutletRef="cx-header" cxOutletPos="after">\n  <app-global-message></app-global-message>\n</ng-template>\n',styles:[qk()]})],Gc);let Vh=class{constructor(e,t){this.cmsService=e,this.semanticPathService=t}createNavigation(e){return(0,Ce.z)([e,this.getNavigationNode(e)]).pipe((0,w.T)(([t,s])=>t?{title:t.name,children:[s]}:void 0))}getNavigationNode(e){return e?e.pipe((0,B.p)(t=>!!t),(0,k.n)(t=>{const s=t.navigationNode?t.navigationNode:t;return this.cmsService.getNavigationEntryItems(s.uid).pipe((0,z.M)(o=>{if(void 0===o)this.loadNavigationEntryItems(s,!0);else{const l=[];this.loadNavigationEntryItems(s,!1,l);const u=Object.keys(o).map(_=>o[_].uid),h=l.filter(_=>!u.includes(_.id));h.length>0&&this.cmsService.loadNavigationItems(s.uid,h)}}),(0,B.p)(Boolean),(0,w.T)(o=>this.populateNavigationNode(s,o)))})):(0,$.of)()}loadNavigationEntryItems(e,t,s=[]){e.entries&&e.entries.length>0&&e.entries.forEach(o=>{s.push({superType:o.itemSuperType,id:o.itemId})}),e.children&&e.children.length>0&&e.children.forEach(o=>this.loadNavigationEntryItems(o,!1,s)),t&&this.cmsService.loadNavigationItems(e.uid,s)}populateNavigationNode(e,t){const s={};if(e.title&&(s.title=e.title,s.uid=e.uid),e.styleClasses&&(s.styleClasses=e.styleClasses),e.styleAttributes&&(s.styleAttributes=e.styleAttributes),e.entries&&e.entries.length>0&&this.populateLink(s,e.entries[0],t),e.children?.length>0){const o=e.children.map(l=>this.populateNavigationNode(l,t)).filter(Boolean);o.length>0&&(s.children=o)}return 0===Object.keys(s).length?null:s}populateLink(e,t,s){const o=s[`${t.itemId}_${t.itemSuperType}`];if(o&&"CMSLinkComponent"===t.itemType){e.title||(e.title=o.linkName,e.uid=o.uid);const l=this.getLink(o);e.title&&l&&(e.url=l,("true"===o.target||!0===o.target)&&(e.target="_blank")),o.styleClasses&&(e.styleClasses=o.styleClasses),o.styleAttributes&&(e.styleAttributes=o.styleAttributes)}}getLink(e){return e.url?e.url:e.contentPageLabelOrId?e.contentPageLabelOrId:e.categoryCode?this.semanticPathService.transform({cxRoute:"category",params:{code:e.categoryCode,name:e.name}}):e.productCode?this.semanticPathService.transform({cxRoute:"product",params:{code:e.productCode,name:e.name}}):void 0}static#e=this.ctorParameters=()=>[{type:p.xYq},{type:p.xci}]};Vh=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],Vh);let Gh=class{constructor(e,t){this.routing=e,this.productListComponentService=t,this.routeState$=this.routing.getRouterState().pipe((0,fe.E)("state")),this.searchResult$=this.routeState$.pipe((0,k.n)(s=>this.productListComponentService.model$.pipe((0,B.p)(o=>this.filterForPage(s,o)),(0,w.T)(o=>this.mapResults(s,o))))),this.facetList$=this.searchResult$.pipe((0,w.T)(s=>({facets:s.facets??[],activeFacets:s.breadcrumbs??[]})))}filterForPage(e,t){return e.context.id===M.CATALOG.ORDER||e.context.id===M.CATALOG.QUOTE||(e.context.type===p.g6_.CATEGORY_PAGE?t.currentQuery?.query?.value?.indexOf(`allCategories:${e.context.id}`)>-1:e.context.type===p.g6_.CONTENT_PAGE&&e.context.id===q.SEARCH&&t.currentQuery.query.value.startsWith(`${e.params.query}:`))}mapResults(e,t){return{...t,breadcrumbs:this.filterBreadcrumbs(t.breadcrumbs,e.params)}}filterBreadcrumbs(e,t){return e?e.filter(s=>!this.hasBreadcrumb(s,t)):[]}hasBreadcrumb(e,t){return"allCategories"===e.facetCode&&(e.facetValueCode===t.categoryCode||e.facetValueCode===t.brandCode)}static#e=this.ctorParameters=()=>[{type:p.Oie},{type:v.Sj3}]};Gh=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],Gh);var Vn=i(67157),Hk=i(40273);let zh=class{constructor(e,t,s,o){this.activeCartService=e,this.selectiveCartService=t,this.router=s,this.cartConfig=o}handle(e,t,s){if("CartPageTemplate"===t&&!s){const o=this.activeCartService.getActive(),l=this.router.url;return(0,Ce.z)([e,o,this.cartConfig.isSelectiveCartEnabled()?this.selectiveCartService.getCart():(0,$.of)({}),this.activeCartService.getLoading()]).pipe((0,w.T)(([u,h,_,C])=>{const T=(D,F)=>D.filter(K=>F.every(ne=>ne!==K));return 0===Object.keys(h).length&&C?T(u,["TopContent","CenterRightContentSlot","EmptyCartMiddleContent"]):h.totalItems||l.includes("&volume=")&&l.includes("&category=")?T(u,["EmptyCartMiddleContent"]):_.totalItems?T(u,["EmptyCartMiddleContent","CenterRightContentSlot"]):T(u,["TopContent","CenterRightContentSlot"])}))}return e}static#e=this.ctorParameters=()=>[{type:se.e2},{type:se.Q0},{type:y.Ix},{type:se.Q3}]};var Yh,qs;zh=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],zh),function(a){a[a.BAD_REQUEST=400]="BAD_REQUEST"}(Yh||(Yh={})),function(a){a.NEW_PASSWORD="newPassword",a.SUB_EMAIL="subscriptionEmail",a.CLAIM_ITEMS="items"}(qs||(qs={}));const jk=[qs.NEW_PASSWORD,qs.SUB_EMAIL,qs.CLAIM_ITEMS];let Qh=class extends p.TWY{constructor(e){super(e),this.globalMessageService=e,this.responseStatus=Yh.BAD_REQUEST}handleError(e,t){super.handleBadPassword(e,t),super.handleBadLoginResponse(e,t),super.handleUnknownIdentifierError(e,t),this.customHandleValidationError(e,t),this.handleDuplicateUidError(e,t)}getErrors(e){return(e.error?.errors||[]).filter(t=>"JaloObjectNoLongerValidError"!==t.type)}getPriority(){return-10}customHandleValidationError(e,t){this.getErrors(t).filter(s=>s.type===Ct.VALIDATION_ERROR).forEach(s=>{if(jk.includes(s.subject))return!1;this.globalMessageService.add({key:`httpHandlers.validationErrors.${s.reason}.${s.subject}`},p.NCV.MSG_TYPE_ERROR)})}handleDuplicateUidError(e,t){this.getErrors(t).filter(s=>s.type===Ct.DUPLICATE_UID_ERROR).forEach(s=>{this.globalMessageService.add({key:"httpHandlers.duplicateUidError"},p.NCV.MSG_TYPE_ERROR)})}static#e=this.ctorParameters=()=>[{type:p.S8D}]};var zc;Qh=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],Qh),function(a){a.invalidClient="invalid_client",a.invalidToken="invalid_token"}(zc||(zc={}));let qh=class extends p.vOV{constructor(e,t,s,o){super(e),this.globalMessageService=e,this.launchDialogService=t,this.router=s,this.baseSiteService=o,this.responseStatus=p.Gig.UNAUTHORIZED,this.subscription=new X.yU,this.activeSite$=this.baseSiteService.getActive()}handleError(e,t){switch(t.error?.error){case zc.invalidClient:this.globalMessageService.add(t.error?.error_description||{key:"httpHandlers.unauthorized.invalid_client"},p.NCV.MSG_TYPE_ERROR),this.router.navigate(["/"],{queryParamsHandling:"preserve",queryParams:{}});break;default:this.launchDialogService.openDialogAndSubscribe("AUTH_MODAL",void 0,{type:Pe.LOGIN}),this.globalMessageService.add({key:"httpHandlers.unauthorized.common"},p.NCV.MSG_TYPE_ERROR),this.router.navigate(["/"],{queryParamsHandling:"preserve",queryParams:{}});break}}getPriority(){return-10}static#e=this.ctorParameters=()=>[{type:p.S8D},{type:v.PLe},{type:y.Ix},{type:p.ASs}]};qh=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],qh);const Xk=zc.invalidToken,Zk=(0,Je.VP)("[Auth] Logout");let Hh=class{constructor(e,t,s,o,l,u,h,_){this.authService=e,this.authStorageService=t,this.clientTokenService=s,this.userIdService=o,this.store=l,this.globalMessageService=u,this.oAuthLibWrapperService=h,this.authRedirectService=_}intercept(e,t){return t.handle(e).pipe((0,pe.W)(s=>{const o=s?.error?.errors&&"InvalidTokenError"===s.error.errors[0]?.type,l=s?.error?.error===Xk;return(o||l)&&e.url.includes("/basesites?")?(0,Ce.z)([this.authStorageService.getToken(),this.userIdService.getUserId()]).pipe((0,oe.s)(1),(0,k.n)(([h,_])=>{h&&(this.store.dispatch(Zk()),h&&_===p.CGh&&(localStorage.clear(),sessionStorage.removeItem(Hs_AGREEMENTS)));const C=e.clone({headers:e.headers.set("Authorization","")});return this.globalMessageService.add({key:"httpHandlers.tokenLost"},p.NCV.MSG_TYPE_ERROR),this.authService.coreLogout(),t.handle(C)})):o?(this.globalMessageService.add({key:"httpHandlers.tokenLost"},p.NCV.MSG_TYPE_ERROR),this.authService.isUserLoggedIn().pipe((0,oe.s)(1),(0,k.n)(h=>{h&&(this.oAuthLibWrapperService.revokeAndLogout().then(()=>{this.authService.coreLogout().finally(()=>{this.authRedirectService.redirect()})}),this.clientTokenService.refreshClientToken());const _=e.clone({headers:e.headers.set("Authorization","")});return t.handle(_)}))):l?void this.authService.logout():(0,ue.$)(s)}))}static#e=this.ctorParameters=()=>[{type:p.uRZ},{type:p.v4J},{type:p.EAp},{type:p.y9w},{type:Je.il},{type:p.S8D},{type:p.D1i},{type:p.QYT}]};Hh=(0,r.Cg)([(0,n._qm)()],Hh);let jh=class{constructor(e,t){this.authService=e,this.globalMessageService=t}intercept(e,t){return t.handle(e).pipe((0,pe.W)(s=>s?.error?.errors?.length&&(s?.error?.errors.filter(l=>"ForbiddenError"===l.type&&"Access denied"===l.message)).length>0?(this.globalMessageService.add({key:"error.accessDenied"},p.NCV.MSG_TYPE_WARNING),this.authService.coreLogout(),(0,$.of)()):(0,ue.$)(s)))}static#e=this.ctorParameters=()=>[{type:p.uRZ},{type:p.S8D}]};function Wh(a,e){const t=function tF(a,e){return a.context&&a.context[e]||[]}(a,e);return t&&t.length?t[0]:void 0}jh=(0,r.Cg)([(0,n._qm)()],jh);let Kh=class{constructor(e,t,s,o,l){this.languageService=e,this.currencyService=t,this.occEndpoints=s,this.config=o,this.globalCurrencyService=l,this.activeLang=Wh(this.config,p.PDv),this.activeCurr=Wh(this.config,p.Ysb),this.languageService.getActive().subscribe(u=>this.activeLang=u),this.currencyService.getActive().subscribe(u=>{this.activeCurr=u})}intercept(e,t){if(e.url.includes(this.occEndpoints.getBaseUrl())){const s=this.globalCurrencyService.customGlobalCurrency$.value,o=s||this.activeCurr;e=e.clone({setParams:{lang:this.activeLang,curr:o}}),s&&this.globalCurrencyService.resetCustomGlobalCurrency()}return t.handle(e)}static#e=this.ctorParameters=()=>[{type:p.gwd},{type:p.PnO},{type:p.zxz},{type:p.fkq},{type:Vt}]};Kh=(0,r.Cg)([(0,n._qm)()],Kh);var um=i(74523);let Xh=class{constructor(e,t,s,o,l,u,h){this.authService=e,this.authStorageService=t,this.userIdService=s,this.oAuthLibWrapperService=o,this.store=l,this.userAccountService=u,this.agreementFacetService=h}resetCache(){sessionStorage.clear(),this.agreementFacetService.destroy()}authorizeCustomerSupportAgent(e,t){var s=this;return(0,um.A)(function*(){let o;s.authStorageService.getToken().subscribe(l=>o=l).unsubscribe(),s.authStorageService.switchTokenTargetToCSAgent();try{let l;yield s.oAuthLibWrapperService.authorizeWithPasswordFlow(e,t),s.userAccountService.get().subscribe(u=>l=u?.customerId).unsubscribe(),s.store.dispatch(new p.Wbq.Logout),void 0!==l&&void 0!==o?(s.userIdService.setUserId(l),s.authStorageService.setEmulatedUserToken(o),s.store.dispatch(new p.Wbq.Login)):(s.userIdService.setUserId(p.Yd1),s.authStorageService.clearEmulatedUserToken())}catch{s.authStorageService.switchTokenTargetToUser()}})()}startCustomerEmulationSession(e){this.authStorageService.clearEmulatedUserToken(),this.store.dispatch(new p.Wbq.Logout),this.userIdService.setUserId(e),this.store.dispatch(new p.Wbq.Login),this.resetCache()}isCustomerSupportAgentLoggedIn(){return(0,Ce.z)([this.authStorageService.getToken(),this.authStorageService.getTokenTarget()]).pipe((0,w.T)(([e,t])=>!(!e?.access_token||t!==Vn.b0.CSAgent)))}isCustomerEmulated(){return this.userIdService.isEmulated()}getCustomerSupportAgentTokenLoading(){return(0,$.of)(!1)}logoutCustomerSupportAgent(){var e=this;return(0,um.A)(function*(){const t=e.authStorageService.getEmulatedUserToken();let s;e.userIdService.isEmulated().subscribe(o=>s=o).unsubscribe(),yield e.oAuthLibWrapperService.revokeAndLogout(),e.store.dispatch({type:"[Auth] Logout Customer Support Agent"}),e.authStorageService.setTokenTarget(Vn.b0.User),s&&t?(e.store.dispatch(new p.Wbq.Logout),e.authStorageService.setToken(t),e.userIdService.setUserId(p.CGh),e.authStorageService.clearEmulatedUserToken(),e.store.dispatch(new p.Wbq.Login)):e.authService.coreLogout(),e.resetCache()})()}static#e=this.ctorParameters=()=>[{type:p.uRZ},{type:Vn.Cf},{type:p.y9w},{type:p.D1i},{type:Je.il},{type:Le.zq},{type:Ee}]};Xh=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],Xh);class hm{static resolve(e,t,s){for(const o of Object.keys(t)){const l=new RegExp("\\${"+o+"}","g");e=e.replace(l,s?encodeURIComponent(t[o]):t[o])}return e}}let Zh=class{get activeBaseSite(){return this._activeBaseSite??Wh(this.config,p.CxV)}constructor(e,t,s){this.config=e,this.userIdService=t,this.baseSiteService=s,this.USER_ID="${userId}",this.baseSiteService&&this.baseSiteService.getActive().subscribe(o=>this._activeBaseSite=o)}getRawEndpoint(e){return this.config?.backend?.occ?(e=this.config.backend.occ.endpoints?.[e],e.startsWith("/")||(e="/"+e),this.config.backend.occ.baseUrl+e):""}getRawEndpointValue(e,t){return this.getEndpointForScope(e,t)}isConfigured(e,t){return!(typeof this.getEndpointFromConfig(e,t)>"u")}getOccEndpoint(e){return e=this.getRawEndpointValue(e),this.getEndpoint(e,{baseSite:!1})}getBaseEndpoint(e){return this.config?.backend?.occ?this.getBaseUrl(e):""}getEndpoint(e,t){return!e.startsWith("/")&&!this.getPrefix().endsWith("/")&&(e="/"+e),this.buildUrlFromEndpointString(e,t)}getBaseUrl(e={baseUrl:!0,prefix:!0,baseSite:!0}){const t=!1===e.baseUrl?"":this.config.backend.occ.baseUrl,s=!1===e.prefix?"":this.getPrefix(),o=!1===e.baseSite?"":this.activeBaseSite;return(0,p.vzT)(t,s,o)}buildUrl(e,t,s){let o=this.getEndpointForScope(e,t?.scope);if(t){const{urlParams:l,queryParams:u}=t;if(l&&(o=hm.resolve(o,t.urlParams,!0)),u){let h={encoder:new p.TbC};if(o.includes("?")){let T;[o,T]=o.split("?"),h={...h,fromString:T}}let _=new U.Nl(h);Object.keys(u).forEach(T=>{const D=u[T];void 0!==D&&(_=null===D?_.delete(T):_.set(T,D))});const C=_.toString();C.length&&(o+="?"+C)}}return this.buildUrlFromEndpointString(o,s)}getUrl(e,t,s,o){if((e=this.getEndpointForScope(e,o)).includes(this.USER_ID)&&this.userIdService.getUserId().subscribe(l=>{t={...t,userId:l}}).unsubscribe(),t&&(Object.keys(t).forEach(l=>{t[l]=encodeURIComponent(t[l])}),e=hm.resolve(e,t)),s){let l={encoder:new p.TbC};if(e.includes("?")){let _;[e,_]=e.split("?"),l={...l,fromString:_}}let u=new U.Nl(l);Object.keys(s).forEach(_=>{const C=s[_];void 0!==C&&(u=null===C?u.delete(_):u.set(_,C))});const h=u.toString();h.length&&(e+="?"+h)}return this.getEndpoint(e)}getEndpointFromConfig(e,t){const s=this.config.backend?.occ?.endpoints;if(!s)return;const o=s[e];return t?t===p.zdp&&"string"==typeof o?o:o?.[t]:"string"==typeof o?o:o?.[p.zdp]}getEndpointForScope(e,t){const s=this.config.backend?.occ?.endpoints;if(!s)return"";const o=s[e];if(t){if(o?.[t])return o?.[t];if(t===p.zdp&&"string"==typeof o)return o;(0,n.naY)()&&console.warn(`${e} endpoint configuration missing for scope "${t}"`)}return("string"==typeof o?o:o?.[p.zdp])||e}buildUrlFromEndpointString(e,t){let s=e;return s.includes(this.USER_ID)&&this.userIdService.getUserId().subscribe(o=>{s=s.replace(this.USER_ID,o)}).unsubscribe(),(0,p.vzT)(this.getBaseUrl(t),s)}getPrefix(){return this.config?.backend?.occ?.prefix&&!this.config.backend.occ.prefix.startsWith("/")?"/"+this.config.backend.occ.prefix:this.config.backend.occ.prefix}static#e=this.ctorParameters=()=>[{type:p.EqC},{type:p.y9w},{type:p.ASs,decorators:[{type:n.Xx1}]}]};Zh=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],Zh);let Jh=class{constructor(e,t,s,o){this.http=e,this.occEndpointsService=t,this.converterService=s,this.googleTagManagerService=o}loadLanguages(){return this.http.get(this.occEndpointsService.buildUrl("languages")).pipe((0,w.T)(e=>e.languages),this.converterService.pipeableMany(p.pn8))}loadCurrencies(){return this.http.get(this.occEndpointsService.buildUrl("currencies")).pipe((0,w.T)(e=>e.currencies),this.converterService.pipeableMany(p.g96))}loadCountries(e){return this.http.get(this.occEndpointsService.buildUrl("countries",{queryParams:e?{type:e}:void 0})).pipe((0,w.T)(t=>t.countries),this.converterService.pipeableMany(p.pcL))}loadRegions(e){return this.http.get(this.occEndpointsService.buildUrl("regions",{urlParams:{isoCode:e}})).pipe((0,w.T)(t=>t.regions),this.converterService.pipeableMany(p.VCQ))}loadBaseSite(e){return e||(e=this.occEndpointsService.getBaseUrl().split("/").pop()),this.http.get(this.occEndpointsService.buildUrl("baseSites",{},{baseSite:!1})).pipe((0,z.M)(t=>{this.googleTagManagerService.baseSites=t.baseSites}),(0,w.T)(t=>t.baseSites.find(s=>s.uid===e)))}loadBaseSites(){return this.http.get(this.occEndpointsService.buildUrl("baseSites",{},{baseSite:!1})).pipe((0,z.M)(e=>{this.googleTagManagerService.baseSites=e.baseSites}),(0,w.T)(e=>e.baseSites),this.converterService.pipeableMany(p._0x))}static#e=this.ctorParameters=()=>[{type:U.Qq},{type:p.zxz},{type:p.EmH},{type:wn}]};Jh=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],Jh);var nF=p.kp4.PageType;let eg=class extends p.VOn{constructor(e,t,s){super(),this.cmsService=e,this.routingService=t,this.translation=s,this.pageTitle$=this.cmsService.getCurrentPage().pipe((0,B.p)(Boolean),(0,fe.E)("title")),this.pageType=nF.CONTENT_PAGE,this.pageTemplate="LoginPageTemplate"}resolveTitle(){return this.routingService.getRouterState().pipe((0,k.n)(({state:e})=>e.queryParams.reg?this.translation.translate("navigation.breadcrumbsTitle.setUpPassword"):this.pageTitle$))}static#e=this.ctorParameters=()=>[{type:p.xYq},{type:p.Oie},{type:p.L08}]};eg=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],eg);const sF=[{provide:p.b1U,useClass:el,multi:!0},{provide:p.vy7,useClass:Jc},{provide:p.UId,useClass:Jh},{provide:v.Sj3,useClass:Dn},{provide:v.sSD,useClass:Gh},{provide:p.vOV,useExisting:Qh,multi:!0},{provide:p.jWL,useClass:gd},{provide:p.vOV,useClass:qh,multi:!0},{provide:U.a7,useClass:Hh,multi:!0},{provide:U.a7,useClass:jh,multi:!0},{provide:Hk.SV,useClass:zh},{provide:p.OSn,useClass:Kh},{provide:p.zxz,useClass:Zh},{provide:p.VOn,useExisting:eg,multi:!0},ve.u,In.O,{provide:n.hnV,useFactory:function g_(a){return()=>new Promise(e=>{if(a){const t=a.location.host,s=/^www\./;if(s.test(t)){const o=a.location.protocol,l=t.replace(s,"");o&&l&&a.location.replace(`${o}//${l}`)}}e()})},deps:[S.qQ],multi:!0},{provide:Vn.lg,useClass:Xh},{provide:v.o_p,useClass:Vh},{provide:y.J_,useValue:{scrollPositionRestoration:"enabled"}}];class oF extends p._3U{}let tg=class{};tg=(0,r.Cg)([(0,n.UQu)({declarations:[],imports:[],providers:[(0,p.ecB)({backend:{occ:{baseUrl:_t_occBaseUrl,endpoints:{...cm,...am,...lm,backend:{occ:{endpoints:{languages:"languages",currencies:"currencies",countries:"countries",regions:"countries/${isoCode}/regions?fields=regions(name,isocode,isocodeShort)",baseSites:"basesites?fields=baseSites(uid,defaultLanguage(isocode),urlEncodingAttributes,googleTagId,urlPatterns,stores(currencies(isocode),defaultCurrency(isocode),languages(isocode),defaultLanguage(isocode)),theme,defaultPreviewCatalogId,defaultPreviewCategoryCode,defaultPreviewProductCode)"}}}},prefix:_t_prefix||"/occ/v2/"}}}),(0,p.ecB)({layoutSlots:{headerTop:{slots:["SiteContext","SiteLinks"]},headerLogo:{slots:["SiteLogo"]},headerNavigation:{slots:["NavigationBar"]},headerActions:{slots:["SearchBox","CreateInquiryLink","HeaderLinks","MiniCart"]},footer:{slots:["Footer"]},footerBottom:{slots:["FooterBottom"]},ProductListPageTemplate:{slots:["CategoryProductListSlot","CategoryQuotationSlot","ListingHeaderSlot","ProductListSlot","ProductOrder","AgreementsSlot","ProductLeftRefinements"]},SearchResultsListPageTemplate:{slots:["SearchTopSlot","SearchResultsListSlot","SearchAgreementsSlot","ProductLeftRefinements"]},AccountPageTemplate:{slots:["ProfileLeftBar","TopBodyContent","MidBodyContent","BodyContent"]},ContentPage1Template:{slots:["Section2A","Section2B"]},ContentPage2Template:{slots:["BodyContent"]},StripHelpPageTemplate:{slots:["SideContent","BodyContent"]},PlateHelpPageTemplate:{slots:["SideContent","BodyContent"]},ProductLandingPageTemplate:{slots:["ContentTopSlot","ContentInfoSlot","ContentMainSlot"]},SegmentLandingPageTemplate:{slots:["ContentTopSlot","ContentInfoSlot","ContentMainSlot"]},CartPageTemplate:{slots:["TopContent","CenterLeftContentSlot","CenterRightContentSlot","EmptyCartMiddleContent"]},LandingPage2Template:{slots:["Section1"]},EDIPageTemplate:{slots:["BodyContent"]},ErrorPageTemplate:{slots:["TopContent"]},ReOrderListingPageTemplate:{slots:["SideContent","TopContent","BodyContent","BottomContent"]},OrderConfirmationPageTemplate:{slots:["BodyContent","SideContent"]},LoginPageTemplate:{slots:["LeftContentSlot","RightContentSlot"]}}}),(0,p.ecB)({checkout:{guest:!1}}),(0,p.ecB)({i18n:{backend:{loadPath:"assets/i18n-assets/{{lng}}/{{ns}}.json"},chunks:dm}}),(0,p.ecB)({features:{level:"2211.23"}}),(0,p.ecB)({tagManager:{gtm:{gtmId:_t_gtmId,events:[oF,Jg,Pa,Gt,rm,wg,Bg,Yg]}}})]})],tg);var aF=i(98878),cF=i(99422),lF=i(6510),dF=i(28090),pF=i(23126),vn=i(42731),gm=i(6786);let ng=class{};ng=(0,r.Cg)([(0,n.UQu)({declarations:[],imports:[Vn.iu],providers:[(0,p.ecB)({featureModules:{[Vn.nl]:{module:()=>i.e("node_modules_spartacus_asm_fesm2022_spartacus-asm_mjs").then(i.bind(i,98788)).then(a=>a.AsmModule)}}}),(0,p.ecB)({i18n:{resources:gm.W,chunks:gm.L}})]})],ng);let sg=class{};sg=(0,r.Cg)([(0,n.UQu)({declarations:[],imports:[kt.ed],providers:[(0,p.ecB)({featureModules:{[kt.MF]:{module:()=>i.e("node_modules_spartacus_cart_fesm2022_spartacus-cart-base_mjs").then(i.bind(i,24948)).then(a=>a.CartBaseModule)}}}),(0,p.ecB)({featureModules:{[kt.Qd]:{module:()=>Promise.resolve().then(i.bind(i,54875)).then(a=>a.MiniCartModule)}}})]})],sg);var mm=i(64259),_m=i(50884);let ig=class{};ig=(0,r.Cg)([(0,n.UQu)({declarations:[],imports:[_m.m],providers:[(0,p.ecB)({featureModules:{[_m.x]:{module:()=>i.e("node_modules_spartacus_cart_fesm2022_spartacus-cart-import-export_mjs").then(i.bind(i,15883)).then(a=>a.ImportExportModule)}}}),(0,p.ecB)({i18n:{resources:mm.W,chunks:mm.z}})]})],ig);var vm=i(15108);let rg=class{};rg=(0,r.Cg)([(0,n.UQu)({declarations:[],imports:[vm.Cu],providers:[(0,p.ecB)({featureModules:{[vm.H1]:{module:()=>i.e("node_modules_spartacus_cart_fesm2022_spartacus-cart-quick-order_mjs").then(i.bind(i,37220)).then(a=>a.QuickOrderModule)}}})]})],rg);var xm=i(49868);let og=class{};og=(0,r.Cg)([(0,n.UQu)({declarations:[],imports:[xm.a9],providers:[(0,p.ecB)({featureModules:{[xm.Rz]:{module:()=>i.e("node_modules_spartacus_cart_fesm2022_spartacus-cart-saved-cart_mjs").then(i.bind(i,1082)).then(a=>a.SavedCartModule)}}})]})],og);var uF=i(59684);let ag=class{};ag=(0,r.Cg)([(0,n.UQu)({declarations:[],imports:[uF.gy],providers:[]})],ag);var fm=i(1741);let cg=class{};cg=(0,r.Cg)([(0,n.UQu)({declarations:[],imports:[fm.rx],providers:[(0,p.ecB)({featureModules:{[fm.sV]:{module:()=>i.e("node_modules_spartacus_checkout_fesm2022_spartacus-checkout-base_mjs").then(i.bind(i,24697)).then(a=>a.CheckoutModule)}}})]})],cg);let lg=class{};lg=(0,r.Cg)([(0,n.UQu)({declarations:[],imports:[Tt.lx],providers:[(0,p.ecB)({featureModules:{[Tt.YG]:{module:()=>i.e("node_modules_spartacus_order_fesm2022_spartacus-order_mjs").then(i.bind(i,83810)).then(a=>a.OrderModule)}}})]})],lg);var Cm=i(26736);let dg=class{};dg=(0,r.Cg)([(0,n.UQu)({declarations:[],imports:[Cm.ep],providers:[(0,p.ecB)({featureModules:{[Cm.K3]:{module:()=>i.e("node_modules_spartacus_product_fesm2022_spartacus-product-variants_mjs").then(i.bind(i,22141)).then(a=>a.ProductVariantsModule)}}})]})],dg);var bm=i(27973);let pg=class{};pg=(0,r.Cg)([(0,n.UQu)({declarations:[],imports:[bm.un],providers:[(0,p.ecB)({featureModules:{[bm.OH]:{module:()=>i.e("node_modules_spartacus_smartedit_fesm2022_spartacus-smartedit_mjs").then(i.bind(i,40467)).then(a=>a.SmartEditModule)}}})]})],pg);let ug=class{};ug=(0,r.Cg)([(0,n.UQu)({declarations:[],imports:[Le.jP,un.DW],providers:[(0,p.ecB)({featureModules:{[Le.hN]:{module:()=>i.e("node_modules_spartacus_user_fesm2022_spartacus-user-account_mjs").then(i.bind(i,96358)).then(a=>a.UserAccountModule)}}}),(0,p.ecB)({featureModules:{[un.Jw]:{module:()=>i.e("node_modules_spartacus_user_fesm2022_spartacus-user-profile_mjs").then(i.bind(i,81912)).then(a=>a.UserProfileModule)}}})]})],ug);let hg=class{};hg=(0,r.Cg)([(0,n.UQu)({declarations:[],imports:[p.ra8.forRoot(),aF.eG,pg,v.ZSC,v.Vlz,p.CoT.forRoot(),v.Bgp,v.bO7,v.e68,v.VMI,v.Hik,v.tnM,ig,rg,og,sg,ag,v.fmq,v.GG8,v._SP,v.uBF,v.QPA,vn.GL,Dt.xA,Dt.WY,lg,qg.O1,Dt.fR,Dt.Sg,Dt.PZ,v.Se8,v.mwA,v.OTr,v.yTF,Dt.fA,v.D3V,v.GLZ,v.xcy,v.KFb,v.YBK,dg,v.uF9,v.hG6,v.ulr,dF.q,v.V$J,v.MIJ,v.Cxm,Dt.bv,Dt.WN,vn.U0,vn.v3,vn.bP,vn.$b,vn.XY,vn.Pp,v.Bgi,p.rBr.forRoot(),se.Xz,p.lwr,ug,p.Us8,p.Uv_.forRoot(),se._C,v.JuA,v.RYI,cF.H,lF.pG,pF.q8,p.buZ,p.gho,cg,ng,v.kl_,v.Nq2],providers:[(0,p.zzq)({cartQuickOrderRemoveListeningToFailEvent:!0})]})],hg);let gg=class{};gg=(0,r.Cg)([(0,n.UQu)({declarations:[],imports:[hg,tg,v.gv_],exports:[v.gv_]})],gg);var hF=i(20766);let mg=class{constructor(e,t,s,o,l){this.actions=e,this.eventService=t,this.productListCategoryService=s,this.orderTypeService=o,this.pageTrackingService=l,this.register()}register(){this.getNavigatedEvent().subscribe(e=>{const t=this.pageTrackingService.getPageType(e);t&&this.pageTrackingService.trackUserData(t)}),this.productListCategoryService.categories$.subscribe(e=>{e&&this.orderTypeService.orderType$.pipe((0,oe.s)(1),(0,z.M)(t=>{const s=this.pageTrackingService.getShopPageProductType(e);if(s&&t){const o=t?.facetValueCode===ie.STOCK?ae.BUY_FROM_STOCK:ae.SHOP;this.pageTrackingService.trackUserData(o+s)}}))?.subscribe()})}getNavigatedEvent(){return this.actions.pipe((0,Zn.gp)(hF.KF),(0,w.T)(e=>e.payload.routerState))}static#e=this.ctorParameters=()=>[{type:Je.SS},{type:p.USV},{type:Yt},{type:gt},{type:$a}]};mg=(0,r.Cg)([(0,n._qm)({providedIn:"root"})],mg);let _g=class{constructor(e){}static#e=this.ctorParameters=()=>[{type:mg}]};_g=(0,r.Cg)([(0,n.UQu)({})],_g);let vg=class{};vg=(0,r.Cg)([(0,n.UQu)({declarations:[Gc,$h,Uh,yo],imports:[v.uHf,Je.md.forRoot({}),Zn.Vm.forRoot([]),U.q1,Bt.o,Lt.Bb,Vo,v.Gxo,v.ScZ,v.RID,v.VMI,y.iI.forRoot([],{anchorScrolling:"enabled"}),p.YYe,Vc,V.F2.forRoot({path:"assets/sprite.svg"}),Ln,Ze,Zs,Rn,p.LP3,Tr,ss,Bh,Te,gg,Nh,Gk.Sg.forRoot(),zk.l,_g],providers:sF,bootstrap:[Gc]})],vg),_t_production&&(0,n.SmG)(),(0,d.x7)().bootstrapModule(vg).catch(a=>console.error(a))},26128:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"",""]),c.exports=r.toString()},94297:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.gdpr {\n  background-color: rgba(255, 255, 255, 0.6);\n  -webkit-backdrop-filter: blur(25px);\n          backdrop-filter: blur(25px);\n  border-top: 1px solid #E9EAEB;\n  padding: 30px 40px 50px;\n  text-align: center;\n  position: fixed;\n  bottom: 0;\n  left: 0;\n  right: 0;\n  z-index: 100;\n}\n@media (max-width: 575.98px) {\n  .gdpr {\n    padding: 30px 20px 20px;\n  }\n}\n.gdpr__head {\n  padding: 0;\n}\n.gdpr__title {\n  font-weight: 500;\n  font-size: 16px;\n  line-height: 19px;\n  color: #4D4D4D;\n  margin-bottom: 5px;\n}\n.gdpr__subtitle {\n  font-size: 12px;\n  line-height: 14px;\n  color: #808080;\n  margin-bottom: 10px;\n}\n.gdpr__text {\n  font-weight: 400;\n  font-size: 13px;\n  line-height: 18px;\n  text-align: center;\n  color: #4D4D4D;\n  margin-bottom: 15px;\n  padding: 0;\n}\n.gdpr__buttons {\n  margin-top: 30px;\n  display: flex;\n  gap: 10px;\n  justify-content: center;\n}\n@media (max-width: 575.98px) {\n  .gdpr__buttons {\n    flex-direction: column;\n  }\n}\n.gdpr__link {\n  font-size: 12px;\n  line-height: 14px;\n  text-align: center;\n  color: #3C91DC;\n  text-decoration: none;\n  margin-bottom: 7px;\n}\n.gdpr__settings {\n  max-width: 880px;\n  margin: 0 auto;\n  padding: 0 15px;\n  text-align: start;\n}\n@media (max-width: 575.98px) {\n  .gdpr__settings {\n    padding: 0;\n  }\n}\n.gdpr__settings-title {\n  display: flex;\n  justify-content: space-between;\n  font-weight: 500;\n  font-size: 16px;\n  line-height: 19px;\n  color: #4D4D4D;\n  padding: 20px 0 30px;\n}\n.gdpr__settings-icon {\n  color: #4D4D4D;\n  cursor: pointer;\n}\n.gdpr__settings-icon:hover {\n  color: #3C91DC;\n}\n.gdpr__settings-text {\n  font-size: 12px;\n  line-height: 14px;\n  color: #4D4D4D;\n  margin-top: 12px;\n}\n.gdpr__settings-button {\n  width: 280px;\n  max-width: 100%;\n}",""]),c.exports=r.toString()},48444:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.cookie-switcher__toggle {\n  display: flex;\n  align-items: center;\n  margin-top: 12px;\n}\n.cookie-switcher__toggle--disabled {\n  opacity: 0.4;\n}\n.cookie-switcher__toggle-name {\n  margin-left: 10px;\n  font-weight: 500;\n  font-size: 16px;\n  line-height: 19px;\n  color: #4D4D4D;\n  cursor: pointer;\n}\n.cookie-switcher__toggle-icon {\n  color: inherit;\n  transition: transform 0.25s;\n  cursor: pointer;\n}\n.cookie-switcher__toggle-icon--close {\n  color: #3C91DC;\n  transform: rotate(180deg);\n}\n.cookie-switcher__text {\n  font-weight: 400;\n  font-size: 13px;\n  line-height: 18px;\n  color: #4D4D4D;\n  margin-top: 12px;\n}",""]),c.exports=r.toString()},57855:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.download-item {\n  height: 100%;\n  padding: 9px 16px;\n  display: flex;\n  justify-content: space-between;\n  cursor: pointer;\n}\n.is-loading .download-item {\n  opacity: 0.5;\n  pointer-events: none;\n}\n.download-item:hover .download-item__name,\n.download-item:hover .download-item__icon {\n  color: #3C91DC;\n}\n.download-item__name {\n  font-weight: 500;\n  font-size: 12px;\n  line-height: 14px;\n  color: #4D4D4D;\n  margin: 0 0 3px;\n}\n.download-item__description {\n  font-size: 11px;\n  line-height: 13px;\n  color: #999999;\n  margin: 0;\n}",""]),c.exports=r.toString()},43963:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.controls {\n  margin-bottom: 30px;\n}\n.controls__item {\n  color: #4D4D4D;\n  cursor: pointer;\n  font-weight: 500;\n  font-size: 15px;\n  line-height: 18px;\n}\n.controls__item.is-active {\n  color: #3C91DC;\n}\n.controls__item + .controls__item {\n  margin-left: 20px;\n}",""]),c.exports=r.toString()},98093:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.back-button {\n  display: flex;\n  align-items: center;\n  background-color: transparent;\n  padding: 0;\n  font-size: 12px;\n  line-height: 14px;\n  color: #3C91DC;\n}\n.back-button__icon {\n  display: flex;\n  margin-right: 6px;\n  color: inherit;\n}",""]),c.exports=r.toString()},41359:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'.filter {\n  position: relative;\n}\n.filter--blur:after {\n  content: "";\n  display: block;\n  -webkit-backdrop-filter: blur(5px);\n          backdrop-filter: blur(5px);\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  z-index: 999;\n  border-radius: 14px;\n  overflow: hidden;\n}',""]),c.exports=r.toString()},99893:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n@media (max-width: 991.98px) {\n  .container {\n    max-width: 100%;\n  }\n}\n.container .breadcrumbs {\n  padding: 13px 0;\n  width: 100%;\n}\n.container .breadcrumbs__item {\n  white-space: nowrap;\n}",""]),c.exports=r.toString()},64163:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.breadcrumbs-nav__link {\n  font-size: 12px;\n  line-height: 19px;\n  color: #4D4D4D;\n  text-transform: capitalize;\n  cursor: default;\n}\n.breadcrumbs-nav__link--last {\n  color: #999999;\n}\n.breadcrumbs-nav__link--is-link {\n  cursor: pointer;\n}\n.breadcrumbs-nav__link--is-link:hover {\n  color: #3C91DC;\n}\n.breadcrumbs-nav__icon {\n  margin-right: 4px;\n  margin-left: 4px;\n  color: #CCCCCC;\n}",""]),c.exports=r.toString()},87271:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.breadcrumbs-left {\n  color: #808080;\n  font-size: 14px;\n  width: 255px;\n  margin-right: 30px;\n}\n@media (max-width: 991.98px) {\n  .breadcrumbs-left {\n    display: none;\n  }\n}\n.breadcrumbs-left--configurator {\n  width: 350px;\n}\n.breadcrumbs-left__icon {\n  margin-right: 11px;\n  margin-left: 22px;\n  color: #808080;\n}",""]),c.exports=r.toString()},81819:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.card-row {\n  padding: 20px 15px;\n  display: flex;\n  align-items: center;\n}\n.card-row--secondary {\n  background: linear-gradient(0deg, rgba(242, 242, 242, 0.5), rgba(242, 242, 242, 0.5)), #FFFFFF;\n}\n.card-row--last {\n  border-bottom-left-radius: 14px;\n  border-bottom-right-radius: 14px;\n}",""]),c.exports=r.toString()},56989:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.card-wrapper {\n  background-color: #fff;\n  border-radius: 14px;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  height: 100%;\n  position: relative;\n  overflow: hidden;\n}\n.card-wrapper--overflow-default {\n  overflow: visible;\n}\n.card-wrapper--hover-shadow:hover {\n  box-shadow: 0 16px 16px rgba(0, 0, 0, 0.1), 0 0 8px rgba(0, 0, 0, 0.15);\n}\n.card-wrapper--small {\n  border-radius: 7px;\n}\n.card-wrapper--inline {\n  border-radius: 0;\n  box-shadow: none;\n}",""]),c.exports=r.toString()},63449:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.cart-info {\n  display: flex;\n  flex-direction: column;\n  justify-content: flex-end;\n}\n.cart-info__item {\n  color: #B3B3B3;\n  white-space: nowrap;\n  font-size: 12px;\n  line-height: 14px;\n  text-align: right;\n}",""]),c.exports=r.toString()},11949:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.cart-menu {\n  background: #fff;\n  font-weight: 500;\n}\n.cart-menu:after {\n  content: "";\n  background: linear-gradient(-45deg, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 100%), linear-gradient(45deg, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0));\n  background-size: 12px 12px;\n  background-color: transparent;\n  height: 9px;\n  transform: rotate(180deg);\n  position: absolute;\n  bottom: -8px;\n  left: 0;\n  right: 0;\n}\n.cart-menu--scrollbar {\n  max-height: calc(100vh - 350px);\n}\n@media (max-width: 991.98px) {\n  .cart-menu--scrollbar {\n    max-height: calc(100vh - 300px);\n  }\n}\n.cart-menu__inner {\n  box-shadow: 0 16px 16px rgba(0, 0, 0, 0.1), 0 0 8px rgba(0, 0, 0, 0.15);\n}\n.cart-menu__tabs {\n  display: flex;\n  justify-content: center;\n  padding: 11px 20px;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n}\n.cart-menu__title {\n  display: flex;\n  font-size: 14px;\n  align-items: center;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  color: #1A1A1A;\n  height: 50px;\n  padding: 0 20px;\n  line-height: 16px;\n}\n.cart-menu__empty {\n  color: #4D4D4D;\n  font-weight: 500;\n  font-size: 12px;\n  line-height: 14px;\n  padding: 11px 20px;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n}\n.cart-menu__total {\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  gap: 10px;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  min-height: 50px;\n  padding: 10px 20px;\n}\n.cart-menu__total-row {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  color: #004E94;\n  line-height: 14px;\n  font-size: 12px;\n}\n.cart-menu__total--quotation {\n  padding: 18px 20px;\n  background: linear-gradient(0deg, rgba(242, 242, 242, 0.5), rgba(242, 242, 242, 0.5)), #FFFFFF;\n  font-weight: 500;\n  font-size: 12px;\n  line-height: 14px;\n  color: #004E94;\n}\n.cart-menu__total--quotation .d-flex + .d-flex {\n  margin-top: 7px;\n}\n.cart-menu__disclaimer {\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  font-size: 11px;\n  line-height: 13px;\n  color: #999999;\n  padding: 18px 20px;\n}\n.cart-menu__white-box {\n  background-color: white;\n  min-height: 80px;\n  padding: 20px;\n}\n.cart-menu__button {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 215px;\n  height: 28px;\n  margin-left: 2px;\n  margin-bottom: 13px;\n  font-size: 14px;\n}\n\n.price-not-final-total-icon {\n  position: relative;\n  top: -5px;\n}',""]),c.exports=r.toString()},91087:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.product {\n  display: flex;\n  font-size: 12px;\n  line-height: 14px;\n  padding: 11px 20px;\n}\n.product.is-blocked {\n  pointer-events: none;\n  opacity: 0.4;\n}\n\n.product-steel-grade {\n  color: #4D4D4D;\n  min-width: 120px;\n  word-break: break-word;\n  width: 50%;\n}\n@media (min-width: 768px) and (max-width: 991.98px) {\n  .product-steel-grade {\n    width: 60%;\n  }\n}\n\n.product-volume {\n  color: #808080;\n  min-width: 30px;\n  font-size: 12px;\n  font-weight: normal;\n  text-align: right;\n  word-break: break-all;\n}\n.is-amount-changed .product-volume__number {\n  color: #E05E00;\n}\n\n.product-price {\n  font-weight: normal;\n  color: #4D4D4D;\n  text-align: right;\n  min-width: 120px;\n  word-break: break-all;\n}\n@media (min-width: 992px) {\n  .product-price {\n    min-width: 80px;\n  }\n}\n.is-amount-changed .product-price {\n  color: #E05E00;\n}\n\n.price-not-final {\n  font-size: 12px;\n  padding-left: 21px;\n  white-space: nowrap;\n}\n.price-not-final__icon {\n  color: #FF6B00;\n}",""]),c.exports=r.toString()},79865:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.product__title {\n  display: flex;\n  align-items: center;\n  font-size: 13px;\n  line-height: 15px;\n  height: 50px;\n  color: #004E94;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  padding: 0 20px;\n}\n.product__title-icon {\n  margin-right: 8px;\n}",""]),c.exports=r.toString()},49383:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.quotation-type {\n  background-color: #FFF;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  padding: 13px 20px;\n}\n.quotation-type__icon {\n  color: #004E94;\n  margin-right: 4px;\n}\n.quotation-type__type {\n  font-weight: 500;\n  font-size: 15px;\n  line-height: 18px;\n  color: #004E94;\n}\n.quotation-type__total {\n  padding: 18px 20px;\n  background: linear-gradient(0deg, rgba(242, 242, 242, 0.5), rgba(242, 242, 242, 0.5)), #FFFFFF;\n  font-weight: 500;\n  font-size: 12px;\n  line-height: 14px;\n  color: #004E94;\n}\n.quotation-type__total .d-flex + .d-flex {\n  margin-top: 7px;\n}",""]),c.exports=r.toString()},33113:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.quotation-item {\n  color: #4D4D4D;\n  padding: 11px 20px;\n}\n.quotation-item__name {\n  font-weight: 500;\n  font-size: 12px;\n  line-height: 14px;\n}\n.quotation-item__quantity {\n  font-size: 12px;\n  line-height: 14px;\n  white-space: nowrap;\n  margin-left: 10px;\n}\n.quotation-item--last {\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n}",""]),c.exports=r.toString()},2521:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.product__shadow {\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n}\n.product__mt {\n  position: relative;\n  display: flex;\n  align-items: center;\n  color: #004E94;\n  height: 28px;\n  font-size: 10px;\n  line-height: 12px;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  background: linear-gradient(0deg, rgba(242, 242, 242, 0.5), rgba(242, 242, 242, 0.5)), #FFFFFF;\n  padding: 0 20px;\n}\n.product__mt-icon {\n  margin-left: 6px;\n  color: #3C91DC;\n}",""]),c.exports=r.toString()},12219:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.cart-top {\n  margin-bottom: 30px;\n  display: flex;\n}\n@media (max-width: 767.98px) {\n  .cart-top {\n    flex-direction: column;\n  }\n}\n.cart-top__title {\n  font-weight: 500;\n  font-size: 24px;\n  line-height: 28px;\n  margin-right: 53px;\n}\n@media (max-width: 575.98px) {\n  .cart-top__title {\n    margin-right: 0;\n    margin-bottom: 30px;\n  }\n}\n@media (max-width: 767.98px) {\n  .cart-top__wrapper {\n    margin-bottom: 26px;\n  }\n}\n@media (max-width: 575.98px) {\n  .cart-top__wrapper {\n    flex-direction: column;\n  }\n}",""]),c.exports=r.toString()},6008:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.catalog-footer {\n  background-color: #F2F2F2;\n  padding: 20px;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  border-radius: 0 0 7px 7px;\n}\n@media (max-width: 575.98px) {\n  .catalog-footer {\n    flex-direction: column;\n    align-items: flex-start;\n  }\n}\n.catalog-footer__total {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n}\n@media (max-width: 575.98px) {\n  .catalog-footer__total {\n    margin-bottom: 10px;\n  }\n}\n.catalog-footer__msg {\n  font-size: 12px;\n  line-height: 14px;\n  margin-left: auto;\n  margin-right: 30px;\n  display: flex;\n  align-items: center;\n}\n@media (max-width: 767.98px) {\n  .catalog-footer__msg {\n    margin-left: 0;\n    margin-right: 0;\n    max-width: 156px;\n    align-items: flex-start;\n  }\n}\n@media (max-width: 575.98px) {\n  .catalog-footer__msg {\n    margin-bottom: 20px;\n    max-width: unset;\n    align-items: center;\n  }\n}\n.catalog-footer__msg--error {\n  color: #C2002F;\n}\n.catalog-footer__msg--error .catalog-footer__msg-icon {\n  color: #C2002F;\n}\n.catalog-footer__msg--warning {\n  color: #E05E00;\n}\n.catalog-footer__msg--warning .catalog-footer__msg-icon {\n  color: #C2002F;\n}\n.catalog-footer__msg-icon {\n  margin-right: 4px;\n  color: #E05E00;\n}\n.catalog-footer__button {\n  margin-left: auto;\n}",""]),c.exports=r.toString()},45584:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.catalog-header {\n  background-color: #B3B3B3;\n  color: #fff;\n  font-size: 12px;\n  line-height: 14px;\n  max-height: 36px;\n  padding: 11px 20px;\n  display: flex;\n  align-items: center;\n}\n@media (max-width: 575.98px) {\n  .catalog-header--is-order {\n    flex-wrap: wrap;\n    max-height: unset;\n  }\n  .catalog-header--is-order .catalog-header__middle {\n    order: 3;\n    width: 100%;\n  }\n  .catalog-header--is-order .catalog-header__left {\n    margin-bottom: 12px;\n  }\n  .catalog-header--is-order .catalog-header__right {\n    margin-bottom: 12px;\n    order: 2;\n  }\n}\n.catalog-header--expired {\n  background-color: #C2002F;\n  color: #fff;\n}\n@media (min-width: 992px) and (max-width: 1199.98px) {\n  .catalog-header--expired {\n    flex-wrap: wrap;\n    max-height: unset;\n  }\n  .catalog-header--expired .catalog-header__middle {\n    order: 3;\n    width: 100%;\n  }\n  .catalog-header--expired .catalog-header__left {\n    margin-bottom: 12px;\n  }\n  .catalog-header--expired .catalog-header__right {\n    order: 2;\n    margin-bottom: 12px;\n  }\n}\n@media (max-width: 767.98px) {\n  .catalog-header--expired {\n    flex-wrap: wrap;\n    max-height: unset;\n  }\n  .catalog-header--expired .catalog-header__middle {\n    order: 3;\n    width: 100%;\n  }\n  .catalog-header--expired .catalog-header__left {\n    margin-bottom: 12px;\n  }\n  .catalog-header--expired .catalog-header__right {\n    order: 2;\n    margin-bottom: 12px;\n  }\n}\n@media (max-width: 575.98px) {\n  .catalog-header--expired .catalog-header__middle {\n    flex-wrap: wrap;\n  }\n  .catalog-header--expired .catalog-header__stock-info,\n  .catalog-header--expired .catalog-header__icon-block {\n    margin-bottom: 6px;\n  }\n}\n.catalog-header__left {\n  display: flex;\n  align-items: center;\n  flex: 0 0 auto;\n}\n.catalog-header__middle {\n  display: flex;\n  align-items: center;\n  flex: 0 0 auto;\n}\n.catalog-header__right {\n  margin-left: auto;\n  flex: 0 0 auto;\n}\n.catalog-header__name {\n  margin-right: 33px;\n}\n.catalog-header__stock-info {\n  margin-right: 12px;\n}\n.catalog-header__icon-block {\n  margin-right: 12px;\n}\n.catalog-header__icon-block ::ng-deep .tooltip-inner {\n  max-width: unset;\n}\n.catalog-header__icon {\n  color: white;\n}\n.catalog-header__remove-button {\n  display: flex;\n  align-items: center;\n  border: none;\n  background-color: transparent;\n  color: white;\n  font-size: 12px;\n  line-height: 14px;\n}\n.catalog-header__clear-button-text {\n  display: inline-block;\n  margin-right: 4px;\n}\n@media (max-width: 575.98px) {\n  .catalog-header__error {\n    width: 100%;\n  }\n}",""]),c.exports=r.toString()},34246:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.cart-catalog {\n  position: relative;\n}\n.cart-catalog:last-of-type .cart-catalog__footer {\n  border-radius: 0 0 7px 7px;\n}\n.cart-catalog--is-expired .cart-catalog__header {\n  background-color: #C2002F;\n  color: #fff;\n}\n.cart-catalog__icon-wrap {\n  cursor: pointer;\n  display: inline-block;\n  padding-right: 20px;\n  position: relative;\n}\n.cart-catalog__icon {\n  color: #fff;\n  position: absolute;\n  right: 0;\n  top: 50%;\n  transform: translateY(-50%);\n}\n.cart-catalog__header {\n  background-color: #B3B3B3;\n  color: #fff;\n  font-size: 12px;\n  line-height: 14px;\n  max-height: 36px;\n  padding: 11px 20px;\n}\n.cart-catalog__header .cart-catalog__error-msg {\n  margin-left: 10px;\n}\n.cart-catalog__footer {\n  background-color: #F2F2F2;\n  padding: 20px;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n}\n@media (max-width: 767.98px) {\n  .cart-catalog__footer {\n    flex-direction: column;\n    align-items: flex-start;\n  }\n}\n.cart-catalog__footer .cart-catalog__error-msg {\n  font-size: 12px;\n  line-height: 14px;\n  margin-right: 30px;\n  padding-left: 19px;\n  position: relative;\n}\n.cart-catalog__footer .cart-catalog__error-msg--margin {\n  margin-left: auto;\n}\n@media (max-width: 767.98px) {\n  .cart-catalog__footer .cart-catalog__error-msg--margin {\n    margin: 0 0 12px;\n  }\n}\n.cart-catalog__footer .cart-catalog__error-msg:empty {\n  display: none;\n}\n.cart-catalog__footer .cart-catalog__expired-msg, .cart-catalog__footer .cart-catalog__expired-msg .cart-catalog__icon {\n  color: #C2002F;\n}\n.cart-catalog__footer .cart-catalog__amount-msg, .cart-catalog__footer .cart-catalog__amount-msg .cart-catalog__icon {\n  color: #E05E00;\n}\n.cart-catalog__footer .cart-catalog__icon {\n  left: 0;\n  right: auto;\n}\n.cart-catalog__total {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n}\n@media (max-width: 767.98px) {\n  .cart-catalog__total {\n    margin-bottom: 10px;\n  }\n}",""]),c.exports=r.toString()},92724:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n:host {\n  display: block;\n}\n\n.cart-empty {\n  background: #FFFFFF;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 14px;\n  padding: 40px;\n  display: grid;\n  grid-template-columns: 96px auto;\n  grid-column-gap: 40px;\n}\n@media (max-width: 767.98px) {\n  .cart-empty {\n    grid-template-columns: 64px auto;\n    padding: 50px 40px;\n  }\n}\n@media (max-width: 575.98px) {\n  .cart-empty {\n    grid-template-columns: 48px auto;\n    padding: 33px 20px;\n  }\n}\n.cart-empty-icon {\n  height: 96px;\n}\n@media (max-width: 767.98px) {\n  .cart-empty-icon {\n    height: 64px;\n  }\n}\n@media (max-width: 575.98px) {\n  .cart-empty-icon {\n    height: 48px;\n  }\n}\n@media (max-width: 767.98px) {\n  .cart-empty-info {\n    font-weight: 500;\n    font-size: 20px;\n    line-height: 23px;\n  }\n}\n@media (max-width: 575.98px) {\n  .cart-empty-info {\n    font-weight: 500;\n    font-size: 14px;\n    line-height: 16px;\n  }\n}\n@media (max-width: 991.98px) {\n  .cart-empty-summary {\n    display: none;\n  }\n}\n.cart-empty__button {\n  margin-top: 8px;\n}\n.cart-empty__button-icon {\n  color: #1C73C2;\n  margin-bottom: 2px;\n}\n.cart-empty__button:hover svg-icon-sprite {\n  color: #fff;\n}",""]),c.exports=r.toString()},52362:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.cart {\n  display: grid;\n  grid-template-columns: auto 255px;\n  grid-column-gap: 30px;\n  margin-bottom: 60px;\n}\n@media (max-width: 991.98px) {\n  .cart {\n    grid-template-columns: 1fr;\n  }\n}\n@media (max-width: 575.98px) {\n  .cart {\n    margin-bottom: 0;\n  }\n}",""]),c.exports=r.toString()},34068:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.cart-mill {\n  background-color: #fff;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 7px;\n  margin-bottom: 20px;\n  position: relative;\n}\n.cart-mill__header {\n  display: flex;\n  justify-content: space-between;\n  color: #004E94;\n  font-size: 15px;\n  font-weight: 500;\n  line-height: 18px;\n  padding: 10px 20px;\n}\n.cart-mill__header-clear {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  color: #3C91DC;\n  background-color: transparent;\n}\n.cart-mill__logo {\n  margin-right: 10px;\n}",""]),c.exports=r.toString()},94284:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"",""]),c.exports=r.toString()},65338:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n:host:first-of-type .cart-product {\n  padding-top: 20px;\n}\n:host::ng-deep .ng-select.ng-select-outline {\n  margin-top: 0;\n  min-width: 140px;\n}\n\n.cart-product {\n  background-color: rgba(242, 242, 242, 0.5);\n  border-bottom: 1px solid #e7e7e7;\n  position: relative;\n  transition: box-shadow 0.25s;\n}\n.cart-product.is-amount-changed .cart-product__piece .cart-product__characteristic-value, .cart-product.is-amount-changed .cart-product__price .cart-product__characteristic-value {\n  color: #E05E00;\n}\n.cart-product.is-expired .cart-product__characteristic-block:after, .cart-product.is-blocked .cart-product__characteristic-block:after {\n  background-color: #fff;\n  content: "";\n  opacity: 0.7;\n  position: absolute;\n  left: 0;\n  right: 0;\n  top: 0;\n  bottom: 0;\n  z-index: 1;\n}\n.cart-product.is-open, .cart-product:hover {\n  box-shadow: 0 16px 16px rgba(0, 0, 0, 0.1), 0 0 8px rgba(0, 0, 0, 0.15);\n  z-index: 1;\n}\n.cart-product__characteristic-block {\n  background-color: #fff;\n  display: grid;\n  grid-template-columns: 27% 27% 27% 19%;\n  padding: 0 15px;\n  position: relative;\n  transition: max-height 0.25s;\n}\n@media (max-width: 575.98px) {\n  .cart-product__characteristic-block {\n    grid-template-columns: 50% 50%;\n  }\n}\n.cart-product__characteristic-block--additional {\n  background: linear-gradient(0deg, rgba(242, 242, 242, 0.5), rgba(242, 242, 242, 0.5)), #FFFFFF;\n  max-height: 0;\n  overflow: hidden;\n}\n.cart-product__characteristic-block--additional:before {\n  background-color: #E5E5E5;\n  content: "";\n  height: 1px;\n  position: absolute;\n  top: 1px;\n  left: 20px;\n  right: 20px;\n  opacity: 0;\n  transition: opacity 0.25s;\n}\n.cart-product__characteristic-block--additional.is-open {\n  max-height: 500px;\n}\n.cart-product__characteristic-block--additional.is-open:before {\n  opacity: 1;\n}\n.cart-product__characteristic-block--additional .cart-product__characteristic {\n  padding-top: 10px;\n  padding-bottom: 20px;\n}\n.cart-product__piece {\n  display: flex;\n  align-items: center;\n  justify-content: flex-end;\n}\n.cart-product__piece-wrapper {\n  margin-right: 46px;\n}\n.cart-product__characteristic {\n  min-height: 63px;\n  padding: 15px 5px;\n  display: flex;\n  align-items: flex-start;\n  align-self: flex-start;\n  flex-direction: column;\n}\n.cart-product__characteristic:nth-child(4n) {\n  text-align: right;\n  align-items: flex-end;\n}\n@media (max-width: 575.98px) {\n  .cart-product__characteristic:nth-child(4n) {\n    align-items: flex-start;\n  }\n}\n.cart-product__characteristic.is-editing {\n  padding-top: 7px;\n  padding-bottom: 7px;\n  margin-left: -16px;\n}\n.cart-product__characteristic--row {\n  flex-direction: row;\n  justify-content: flex-start;\n  align-items: center;\n}\n.cart-product__characteristic-title {\n  color: #999999;\n  font-size: 10px;\n  line-height: 12px;\n  margin-bottom: 6px;\n  white-space: nowrap;\n}\n.cart-product__characteristic-value {\n  color: #4D4D4D;\n  font-size: 13px;\n  font-weight: 500;\n  line-height: 15px;\n  max-width: 100%;\n  word-break: break-word;\n}\n.cart-product__characteristic-value--overflowed {\n  overflow: unset;\n  max-width: unset;\n  text-overflow: unset;\n}\n.cart-product__defects {\n  padding: 11px 20px;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  font-size: 12px;\n  line-height: 14px;\n  color: #999999;\n}\n@media (max-width: 575.98px) {\n  .cart-product__defects {\n    flex-direction: column;\n  }\n}\n.cart-product__defects-title {\n  flex-shrink: 0;\n  margin-right: 10px;\n}\n@media (max-width: 575.98px) {\n  .cart-product__defects-title {\n    margin: 0 0 10px;\n  }\n}\n@media (max-width: 575.98px) {\n  .cart-product__defects-items {\n    flex-direction: column;\n  }\n}\n.cart-product__defects-items--count {\n  color: #999999;\n  margin-right: 2px;\n}\n.cart-product__defects-items--value {\n  color: #4D4D4D;\n  margin-right: 10px;\n  margin-bottom: 4px;\n}\n.cart-product__controls-item {\n  padding: 10px 20px;\n}\n.cart-product__control {\n  cursor: pointer;\n  display: inline-block;\n  font-size: 12px;\n  line-height: 14px;\n  color: #3C91DC;\n  padding-right: 20px;\n  position: relative;\n}\n.cart-product__control .cart-product__icon {\n  color: #3C91DC;\n}\n.cart-product__edit-quantity {\n  cursor: pointer;\n  margin-right: 20px;\n}\n.cart-product__volume-tooltip {\n  display: flex;\n  align-items: center;\n}\n@media (max-width: 575.98px) {\n  .cart-product__volume-tooltip {\n    max-width: 200px;\n  }\n}\n.cart-product__volume-tooltip-icon {\n  color: #C2002F;\n  margin-right: 4px;\n}\n.cart-product__volume-tooltip-text {\n  white-space: pre-wrap;\n  text-align: left;\n}\n\n.price-not-final {\n  font-weight: 500;\n  font-size: 13px;\n  padding-left: 23px;\n  text-transform: lowercase;\n}',""]),c.exports=r.toString()},94588:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"",""]),c.exports=r.toString()},92428:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.quotation-footer {\n  padding: 20px;\n  display: flex;\n  justify-content: flex-end;\n  align-items: center;\n  background: #F2F2F2;\n}\n.quotation-footer__text {\n  margin-right: 20px;\n  font-size: 12px;\n  line-height: 14px;\n  color: #999999;\n}\n.quotation-footer__text--error {\n  color: #C2002F;\n}\n.quotation-footer__error-icon {\n  color: #C2002F;\n  transform: translateY(-1px);\n}\n@media (max-width: 767.98px) {\n  .quotation-footer__btn {\n    min-width: 150px;\n  }\n}\n\n.error-tab {\n  padding: 10px 22px;\n  background-color: #C2002F;\n}\n.error-tab__text {\n  font-weight: 500;\n  font-size: 12px;\n  line-height: 14px;\n  color: white;\n  cursor: pointer;\n}\n.error-tab__icon {\n  color: white;\n  margin-right: 10px;\n  transform: translateY(-1px);\n}\n.error-tab__remove-all {\n  font-size: 12px;\n  line-height: 14px;\n  color: white;\n  display: inline-block;\n  margin-right: 4px;\n  cursor: pointer;\n}\n.error-tab__remove-all-icon {\n  color: white;\n  transform: translateY(-1px);\n}\n\n.header__icon {\n  color: #004E94;\n  margin-right: 6px;\n}\n.header__text {\n  margin: 0;\n  font-weight: 500;\n  font-size: 15px;\n  line-height: 18px;\n  color: #004E94;\n}\n.header__clear {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  color: #3C91DC;\n  background-color: transparent;\n}",""]),c.exports=r.toString()},52348:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.menu-cart {\n  display: block;\n  position: relative;\n}\n@media (min-width: 992px) {\n  .menu-cart {\n    position: sticky;\n    top: 115px;\n  }\n}\n.menu-cart:before {\n  background: #CCCCCC;\n  border-radius: 6px;\n  content: "";\n  height: 12px;\n  position: absolute;\n  left: -6px;\n  right: -6px;\n  top: -6px;\n  z-index: -1;\n}\n\n.cart-menu__disclaimer {\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  font-size: 11px;\n  line-height: 13px;\n  color: #999999;\n  padding: 18px 20px;\n  width: 255px;\n}\n.cart-menu__button {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 215px;\n  height: 28px;\n  margin-left: 2px;\n  margin-bottom: 13px;\n  font-size: 14px;\n}',""]),c.exports=r.toString()},30635:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n:host {\n  width: 100%;\n}\n\n.cart-details {\n  position: relative;\n}\n.cart-details__item {\n  display: block;\n  margin-bottom: 40px;\n}",""]),c.exports=r.toString()},21893:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.category__list-item {\n  color: #3C91DC;\n  font-size: 14px;\n  line-height: 32px;\n  width: 30%;\n}",""]),c.exports=r.toString()},88009:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"",""]),c.exports=r.toString()},87980:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.cat-nav__list {\n  transition: max-height 0.25s;\n  /* LEVEL 0 */\n  /* LEVEL 1 */\n  /* LEVEL 2 */\n  /* LEVEL 3 */\n}\n:host ::ng-deep .cat-nav__list_lvl-0 .cat-nav__title a, :host ::ng-deep .cat-nav__list_lvl-0 .cat-nav__title span {\n  color: #4D4D4D;\n  display: block;\n  font-size: 14px;\n  height: 60px;\n  text-transform: uppercase;\n  line-height: 60px;\n  padding: 0 15px;\n}\n@media (max-width: 1199.98px) {\n  :host ::ng-deep .cat-nav__list_lvl-0 .cat-nav__title a, :host ::ng-deep .cat-nav__list_lvl-0 .cat-nav__title span {\n    padding: 0 10px;\n  }\n}\n@media (max-width: 991.98px) {\n  :host ::ng-deep .cat-nav__list_lvl-0 .cat-nav__title a, :host ::ng-deep .cat-nav__list_lvl-0 .cat-nav__title span {\n    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n    height: auto;\n    line-height: 16px;\n    padding: 17px 40px;\n  }\n}\n@media (max-width: 991.98px) {\n  .cat-nav__list_lvl-0 .cat-nav__list {\n    max-height: 0;\n    overflow: hidden;\n  }\n}\n@media (max-width: 991.98px) {\n  .cat-nav__list_lvl-0 .cat-nav__list-item.is-open .cat-nav__list_lvl-1 {\n    max-height: 1500px;\n    overflow: visible;\n  }\n}\n@media (min-width: 992px) {\n  .cat-nav__list_lvl-0 > .cat-nav__list-item:hover > .cat-nav__title {\n    position: relative;\n  }\n  .cat-nav__list_lvl-0 > .cat-nav__list-item:hover > .cat-nav__title span {\n    color: #3C91DC;\n  }\n  .cat-nav__list_lvl-0 > .cat-nav__list-item:hover > .cat-nav__title:after {\n    content: "";\n    height: 4px;\n    position: absolute;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    top: 100%;\n    z-index: 5;\n    background: #0094FF;\n    border-radius: 0 0 4px 4px;\n  }\n}\n@media (max-width: 991.98px) {\n  .is-guest .cat-nav__list_lvl-0 .cat-nav__list-item.is-open .cat-nav__list_lvl-1 {\n    max-height: 1500px;\n    overflow: visible;\n  }\n}\n.is-logged-in .cat-nav__list_lvl-1 {\n  display: flex;\n  justify-content: space-between;\n}\n@media (max-width: 991.98px) {\n  .is-logged-in .cat-nav__list_lvl-1 {\n    box-shadow: inset 4px 0 0 #004E94, inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n    background-color: #F2F2F2;\n    display: block;\n  }\n}\n@media (min-width: 992px) {\n  .is-logged-in .cat-nav__list_lvl-1 > .cat-nav__list-item:first-child {\n    width: 25%;\n  }\n  .is-logged-in .cat-nav__list_lvl-1 > .cat-nav__list-item:last-child {\n    width: 75%;\n  }\n}\n:host ::ng-deep .is-logged-in .cat-nav__list_lvl-1 .cat-nav__title a, :host ::ng-deep .is-logged-in .cat-nav__list_lvl-1 .cat-nav__title span {\n  color: #1A1A1A;\n  font-size: 13px;\n  font-weight: 500;\n  height: auto;\n  line-height: 15px;\n  text-transform: none;\n  margin-bottom: 10px;\n  padding: 0;\n}\n@media (max-width: 991.98px) {\n  :host ::ng-deep .is-logged-in .cat-nav__list_lvl-1 .cat-nav__title a, :host ::ng-deep .is-logged-in .cat-nav__list_lvl-1 .cat-nav__title span {\n    margin: 0;\n    padding: 17px 40px;\n  }\n}\n:host ::ng-deep .is-logged-in .cat-nav__list_lvl-1 .cat-nav__title--link a, :host ::ng-deep .is-logged-in .cat-nav__list_lvl-1 .cat-nav__title--link span {\n  font-weight: unset;\n}\n:host ::ng-deep .is-logged-in .cat-nav__list_lvl-1 .cat-nav__title a:hover {\n  color: #3C91DC;\n}\n@media (max-width: 991.98px) {\n  .is-logged-in .cat-nav__list_lvl-1 .cat-nav__list-item.is-open .cat-nav__list_lvl-2 {\n    max-height: 1500px;\n    overflow: visible;\n  }\n}\n.is-logged-in .cat-nav__list_lvl-1.is-columned {\n  display: flex;\n  flex-wrap: wrap;\n}\n.is-logged-in .cat-nav__list_lvl-1.is-columned > .cat-nav__list-item {\n  width: 33.3333%;\n}\n@media (max-width: 991.98px) {\n  .is-logged-in .cat-nav__list_lvl-1.is-columned > .cat-nav__list-item {\n    width: 100%;\n  }\n}\n.is-guest .cat-nav__list_lvl-1.is-columned {\n  display: flex;\n  flex-wrap: wrap;\n}\n.is-guest .cat-nav__list_lvl-1.is-columned > .cat-nav__list-item {\n  width: 33.3333%;\n}\n@media (max-width: 991.98px) {\n  .is-guest .cat-nav__list_lvl-1.is-columned > .cat-nav__list-item {\n    width: 100%;\n  }\n}\n@media (max-width: 991.98px) {\n  .is-guest .cat-nav__list_lvl-1 {\n    box-shadow: inset 8px 0 0 #004E94, inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n    background-color: #E5E5E5;\n  }\n}\n:host ::ng-deep .is-guest .cat-nav__list_lvl-1 .cat-nav__title a, :host ::ng-deep .is-guest .cat-nav__list_lvl-1 .cat-nav__title span {\n  color: #1A1A1A;\n  font-size: 13px;\n  font-weight: 400;\n  height: auto;\n  line-height: 15px;\n  margin: 0;\n  padding: 5px 0;\n}\n@media (max-width: 991.98px) {\n  :host ::ng-deep .is-guest .cat-nav__list_lvl-1 .cat-nav__title a, :host ::ng-deep .is-guest .cat-nav__list_lvl-1 .cat-nav__title span {\n    margin: 0;\n    padding: 17px 40px;\n  }\n}\n:host ::ng-deep .is-guest .cat-nav__list_lvl-1 .cat-nav__title a:hover {\n  color: #3C91DC;\n}\n@media (max-width: 991.98px) {\n  .is-guest .cat-nav__list_lvl-1 .cat-nav__list-item.is-open .cat-nav__list_lvl-3 {\n    max-height: 1500px;\n    overflow: visible;\n  }\n}\n@media (max-width: 991.98px) {\n  .is-guest .cat-nav__list_lvl-1 {\n    box-shadow: inset 4px 0 0 #004E94, inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  }\n  .is-guest .cat-nav__list_lvl-1 .cat-nav__list-item.is-open .cat-nav__list_lvl-2 {\n    max-height: 1500px;\n    overflow: visible;\n  }\n}\n@media (min-width: 992px) {\n  .cat-nav__list_lvl-2 > .cat-nav__list-item:hover > .cat-nav__title {\n    position: relative;\n  }\n  .cat-nav__list_lvl-2 > .cat-nav__list-item:hover > .cat-nav__title--link {\n    position: relative;\n  }\n  .cat-nav__list_lvl-2 > .cat-nav__list-item:hover > .cat-nav__title--link span {\n    color: #3C91DC;\n  }\n}\n.is-logged-in .cat-nav__list_lvl-2.is-columned {\n  display: flex;\n  flex-wrap: wrap;\n}\n.is-logged-in .cat-nav__list_lvl-2.is-columned > .cat-nav__list-item {\n  width: 33.3333%;\n}\n@media (max-width: 991.98px) {\n  .is-logged-in .cat-nav__list_lvl-2.is-columned > .cat-nav__list-item {\n    width: 100%;\n  }\n}\n@media (max-width: 991.98px) {\n  .is-logged-in .cat-nav__list_lvl-2 {\n    box-shadow: inset 8px 0 0 #004E94, inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n    background-color: #E5E5E5;\n  }\n}\n:host ::ng-deep .is-logged-in .cat-nav__list_lvl-2 .cat-nav__title a, :host ::ng-deep .is-logged-in .cat-nav__list_lvl-2 .cat-nav__title span {\n  color: #1A1A1A;\n  font-size: 13px;\n  font-weight: 400;\n  height: auto;\n  line-height: 15px;\n  margin: 0;\n  padding: 5px 0;\n}\n@media (max-width: 991.98px) {\n  :host ::ng-deep .is-logged-in .cat-nav__list_lvl-2 .cat-nav__title a, :host ::ng-deep .is-logged-in .cat-nav__list_lvl-2 .cat-nav__title span {\n    margin: 0;\n    padding: 17px 40px;\n  }\n}\n:host ::ng-deep .is-logged-in .cat-nav__list_lvl-2 .cat-nav__title a:hover {\n  color: #3C91DC;\n}\n@media (max-width: 991.98px) {\n  .is-logged-in .cat-nav__list_lvl-2 .cat-nav__list-item.is-open .cat-nav__list_lvl-3 {\n    max-height: 1500px;\n    overflow: visible;\n  }\n}\n.is-guest .cat-nav__list_lvl-2 {\n  border-left: 2px solid #3C91DC;\n  padding-left: 8px;\n  margin-top: 5px;\n}\n@media (max-width: 991.98px) {\n  .is-guest .cat-nav__list_lvl-2 {\n    margin-top: 0;\n    box-shadow: inset 12px 0 0 #004E94, inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n    border-left: none;\n    padding-left: 0;\n  }\n}\n:host ::ng-deep .is-guest .cat-nav__list_lvl-2 .cat-nav__title a, :host ::ng-deep .is-guest .cat-nav__list_lvl-2 .cat-nav__title span {\n  color: #666666;\n  font-size: 13px;\n}\n@media (max-width: 991.98px) {\n  .is-guest .cat-nav__list_lvl-2 {\n    box-shadow: inset 8px 0 0 #004E94, inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  }\n}\n.cat-nav__list_lvl-3 {\n  border-left: 2px solid #3C91DC;\n  padding-left: 8px;\n  margin-top: 5px;\n}\n@media (max-width: 991.98px) {\n  .cat-nav__list_lvl-3 {\n    margin-top: 0;\n    box-shadow: inset 12px 0 0 #004E94, inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n    border-left: none;\n    padding-left: 0;\n  }\n}\n:host ::ng-deep .cat-nav__list_lvl-3 .cat-nav__title a, :host ::ng-deep .cat-nav__list_lvl-3 .cat-nav__title span {\n  color: #666666;\n  font-size: 13px;\n}\n@media (max-width: 991.98px) {\n  .cat-nav__list-item.is-open > .cat-nav__title {\n    box-shadow: 0 4px 0 rgba(0, 0, 0, 0.1);\n    z-index: 1;\n  }\n  .cat-nav__list-item.is-open > .cat-nav__title .cat-nav__more-icon {\n    transform: translateY(-50%) rotate(180deg);\n  }\n}\n@media (min-width: 992px) {\n  .cat-nav__list-item.is-shown .cat-nav__submenu {\n    max-width: 100%;\n    display: block;\n  }\n}\n:host ::ng-deep .cat-nav__title {\n  position: relative;\n}\n:host ::ng-deep .cat-nav__title a:hover {\n  color: #3C91DC;\n}\n:host ::ng-deep .cat-nav__title span:hover {\n  cursor: default;\n}\n.cat-nav__more-icon {\n  position: absolute;\n  right: 40px;\n  top: 50%;\n  transform: translateY(-50%);\n  transition: transform 0.25s;\n}\n.cat-nav__submenu {\n  background-color: rgba(255, 255, 255, 0.75);\n  -webkit-backdrop-filter: blur(25px);\n          backdrop-filter: blur(25px);\n  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  display: none;\n  left: 0;\n  top: 100%;\n  padding: 25px 0;\n  position: absolute;\n  transition: none;\n  width: 100vw;\n  z-index: 4;\n}\n@media (max-width: 991.98px) {\n  .cat-nav__submenu {\n    -webkit-backdrop-filter: none;\n            backdrop-filter: none;\n    box-shadow: none;\n    padding: 0;\n    position: static;\n  }\n  .is-open .cat-nav__submenu {\n    display: block;\n  }\n}',""]),c.exports=r.toString()},11582:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.cat-nav__list {\n  transition: max-height 0.25s;\n  /* LEVEL 0 */\n  /* LEVEL 1 */\n  /* LEVEL 2 */\n  /* LEVEL 3 */\n}\n:host ::ng-deep .cat-nav__list_lvl-0 .cat-nav__title a, :host ::ng-deep .cat-nav__list_lvl-0 .cat-nav__title span {\n  color: #4D4D4D;\n  display: block;\n  font-size: 14px;\n  height: 60px;\n  text-transform: uppercase;\n  line-height: 60px;\n  padding: 0 15px;\n}\n@media (max-width: 991.98px) {\n  :host ::ng-deep .cat-nav__list_lvl-0 .cat-nav__title a, :host ::ng-deep .cat-nav__list_lvl-0 .cat-nav__title span {\n    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n    height: auto;\n    line-height: 16px;\n    padding: 17px 40px;\n  }\n}\n@media (max-width: 991.98px) {\n  .cat-nav__list_lvl-0 .cat-nav__list {\n    max-height: 0;\n    overflow: hidden;\n  }\n}\n@media (max-width: 991.98px) {\n  .cat-nav__list_lvl-0 .cat-nav__list-item.is-open .cat-nav__list_lvl-1 {\n    max-height: 1500px;\n    overflow: visible;\n  }\n}\n@media (min-width: 992px) {\n  .cat-nav__list_lvl-0 > .cat-nav__list-item:hover > .cat-nav__title {\n    position: relative;\n  }\n  .cat-nav__list_lvl-0 > .cat-nav__list-item:hover > .cat-nav__title span {\n    color: #3C91DC;\n  }\n  .cat-nav__list_lvl-0 > .cat-nav__list-item:hover > .cat-nav__title:after {\n    content: "";\n    height: 4px;\n    position: absolute;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    top: 100%;\n    z-index: 5;\n    background: #0094FF;\n    border-radius: 0 0 4px 4px;\n  }\n}\n@media (max-width: 991.98px) {\n  .is-guest .cat-nav__list_lvl-0 .cat-nav__list-item.is-open .cat-nav__list_lvl-1 {\n    max-height: 1500px;\n    overflow: visible;\n  }\n}\n.is-logged-in .cat-nav__list_lvl-1 {\n  display: flex;\n  justify-content: space-between;\n}\n@media (max-width: 991.98px) {\n  .is-logged-in .cat-nav__list_lvl-1 {\n    box-shadow: inset 4px 0 0 #004E94, inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n    background-color: #F2F2F2;\n    display: block;\n  }\n}\n@media (min-width: 992px) {\n  .is-logged-in .cat-nav__list_lvl-1 > .cat-nav__list-item:first-child {\n    width: 25%;\n  }\n  .is-logged-in .cat-nav__list_lvl-1 > .cat-nav__list-item:last-child {\n    width: 75%;\n  }\n}\n:host ::ng-deep .is-logged-in .cat-nav__list_lvl-1 .cat-nav__title a, :host ::ng-deep .is-logged-in .cat-nav__list_lvl-1 .cat-nav__title span {\n  color: #1A1A1A;\n  font-size: 13px;\n  font-weight: 500;\n  height: auto;\n  line-height: 15px;\n  text-transform: none;\n  margin-bottom: 10px;\n  padding: 0;\n}\n@media (max-width: 991.98px) {\n  :host ::ng-deep .is-logged-in .cat-nav__list_lvl-1 .cat-nav__title a, :host ::ng-deep .is-logged-in .cat-nav__list_lvl-1 .cat-nav__title span {\n    margin: 0;\n    padding: 17px 40px;\n  }\n}\n:host ::ng-deep .is-logged-in .cat-nav__list_lvl-1 .cat-nav__title a:hover {\n  color: #3C91DC;\n}\n@media (max-width: 991.98px) {\n  .is-logged-in .cat-nav__list_lvl-1 .cat-nav__list-item.is-open .cat-nav__list_lvl-2 {\n    max-height: 1500px;\n    overflow: visible;\n  }\n}\n.is-guest .cat-nav__list_lvl-1.is-columned {\n  display: flex;\n  flex-wrap: wrap;\n}\n.is-guest .cat-nav__list_lvl-1.is-columned > .cat-nav__list-item {\n  width: 33.3333%;\n}\n@media (max-width: 991.98px) {\n  .is-guest .cat-nav__list_lvl-1.is-columned > .cat-nav__list-item {\n    width: 100%;\n  }\n}\n@media (max-width: 991.98px) {\n  .is-guest .cat-nav__list_lvl-1 {\n    box-shadow: inset 8px 0 0 #004E94, inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n    background-color: #E5E5E5;\n  }\n}\n:host ::ng-deep .is-guest .cat-nav__list_lvl-1 .cat-nav__title a, :host ::ng-deep .is-guest .cat-nav__list_lvl-1 .cat-nav__title span {\n  color: #1A1A1A;\n  font-size: 13px;\n  font-weight: 400;\n  height: auto;\n  line-height: 15px;\n  margin: 0;\n  padding: 5px 0;\n  text-transform: capitalize;\n}\n@media (max-width: 991.98px) {\n  :host ::ng-deep .is-guest .cat-nav__list_lvl-1 .cat-nav__title a, :host ::ng-deep .is-guest .cat-nav__list_lvl-1 .cat-nav__title span {\n    margin: 0;\n    padding: 17px 40px;\n  }\n}\n:host ::ng-deep .is-guest .cat-nav__list_lvl-1 .cat-nav__title a:hover {\n  color: #3C91DC;\n}\n@media (max-width: 991.98px) {\n  .is-guest .cat-nav__list_lvl-1 .cat-nav__list-item.is-open .cat-nav__list_lvl-3 {\n    max-height: 1500px;\n    overflow: visible;\n  }\n}\n@media (max-width: 991.98px) {\n  .is-guest .cat-nav__list_lvl-1 {\n    box-shadow: inset 4px 0 0 #004E94, inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  }\n  .is-guest .cat-nav__list_lvl-1 .cat-nav__list-item.is-open .cat-nav__list_lvl-2 {\n    max-height: 1500px;\n    overflow: visible;\n  }\n}\n@media (min-width: 992px) {\n  .cat-nav__list_lvl-2 > .cat-nav__list-item:hover > .cat-nav__title {\n    position: relative;\n  }\n  .cat-nav__list_lvl-2 > .cat-nav__list-item:hover > .cat-nav__title span {\n    color: #3C91DC;\n  }\n}\n.is-logged-in .cat-nav__list_lvl-2.is-columned {\n  display: flex;\n  flex-wrap: wrap;\n}\n.is-logged-in .cat-nav__list_lvl-2.is-columned > .cat-nav__list-item {\n  width: 33.3333%;\n}\n@media (max-width: 991.98px) {\n  .is-logged-in .cat-nav__list_lvl-2.is-columned > .cat-nav__list-item {\n    width: 100%;\n  }\n}\n@media (max-width: 991.98px) {\n  .is-logged-in .cat-nav__list_lvl-2 {\n    box-shadow: inset 8px 0 0 #004E94, inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n    background-color: #E5E5E5;\n  }\n}\n:host ::ng-deep .is-logged-in .cat-nav__list_lvl-2 .cat-nav__title a, :host ::ng-deep .is-logged-in .cat-nav__list_lvl-2 .cat-nav__title span {\n  color: #1A1A1A;\n  font-size: 13px;\n  font-weight: 400;\n  height: auto;\n  line-height: 15px;\n  margin: 0;\n  padding: 5px 0;\n  text-transform: capitalize;\n}\n@media (max-width: 991.98px) {\n  :host ::ng-deep .is-logged-in .cat-nav__list_lvl-2 .cat-nav__title a, :host ::ng-deep .is-logged-in .cat-nav__list_lvl-2 .cat-nav__title span {\n    margin: 0;\n    padding: 17px 40px;\n  }\n}\n:host ::ng-deep .is-logged-in .cat-nav__list_lvl-2 .cat-nav__title a:hover {\n  color: #3C91DC;\n}\n@media (max-width: 991.98px) {\n  .is-logged-in .cat-nav__list_lvl-2 .cat-nav__list-item.is-open .cat-nav__list_lvl-3 {\n    max-height: 1500px;\n    overflow: visible;\n  }\n}\n.is-guest .cat-nav__list_lvl-2 {\n  border-left: 2px solid #3C91DC;\n  padding-left: 8px;\n  margin-top: 5px;\n}\n@media (max-width: 991.98px) {\n  .is-guest .cat-nav__list_lvl-2 {\n    margin-top: 0;\n    box-shadow: inset 12px 0 0 #004E94, inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n    border-left: none;\n    padding-left: 0;\n  }\n}\n:host ::ng-deep .is-guest .cat-nav__list_lvl-2 .cat-nav__title a, :host ::ng-deep .is-guest .cat-nav__list_lvl-2 .cat-nav__title span {\n  color: #666666;\n  font-size: 13px;\n}\n@media (max-width: 991.98px) {\n  .is-guest .cat-nav__list_lvl-2 {\n    box-shadow: inset 8px 0 0 #004E94, inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  }\n}\n.cat-nav__list_lvl-3 {\n  border-left: 2px solid #3C91DC;\n  padding-left: 8px;\n  margin-top: 5px;\n}\n@media (max-width: 991.98px) {\n  .cat-nav__list_lvl-3 {\n    margin-top: 0;\n    box-shadow: inset 12px 0 0 #004E94, inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n    border-left: none;\n    padding-left: 0;\n  }\n}\n:host ::ng-deep .cat-nav__list_lvl-3 .cat-nav__title a, :host ::ng-deep .cat-nav__list_lvl-3 .cat-nav__title span {\n  color: #666666;\n  font-size: 13px;\n}\n@media (max-width: 991.98px) {\n  .cat-nav__list-item.is-open > .cat-nav__title {\n    box-shadow: 0 4px 0 rgba(0, 0, 0, 0.1);\n    z-index: 1;\n  }\n  .cat-nav__list-item.is-open > .cat-nav__title .cat-nav__more-icon {\n    transform: translateY(-50%) rotate(180deg);\n  }\n}\n@media (min-width: 992px) {\n  .cat-nav__list-item:hover .cat-nav__submenu {\n    max-width: 100%;\n    display: block;\n  }\n}\n:host ::ng-deep .cat-nav__title {\n  position: relative;\n}\n:host ::ng-deep .cat-nav__title a:hover {\n  color: #3C91DC;\n}\n:host ::ng-deep .cat-nav__title span:hover {\n  cursor: default;\n}\n.cat-nav__more-icon {\n  position: absolute;\n  right: 40px;\n  top: 50%;\n  transform: translateY(-50%);\n  transition: transform 0.25s;\n}\n.cat-nav__submenu {\n  background-color: rgba(255, 255, 255, 0.75);\n  -webkit-backdrop-filter: blur(25px);\n          backdrop-filter: blur(25px);\n  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  display: none;\n  left: 0;\n  top: 100%;\n  padding: 25px 0;\n  position: absolute;\n  transition: none;\n  width: 100vw;\n  z-index: 4;\n}\n@media (max-width: 991.98px) {\n  .cat-nav__submenu {\n    -webkit-backdrop-filter: none;\n            backdrop-filter: none;\n    box-shadow: none;\n    padding: 0;\n    position: static;\n  }\n  .is-open .cat-nav__submenu {\n    display: block;\n  }\n}',""]),c.exports=r.toString()},42052:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.cat-nav__list {\n  transition: max-height 0.25s;\n  /* LEVEL 0 */\n  /* LEVEL 1 */\n  /* LEVEL 2 */\n}\n@media (min-width: 992px) {\n  .cat-nav__list_lvl-0 .cat-nav > .cat-nav__list-item:hover > .cat-nav__title {\n    position: relative;\n  }\n  .cat-nav__list_lvl-0 .cat-nav > .cat-nav__list-item:hover > .cat-nav__title:after {\n    content: "";\n    height: 25px;\n    position: absolute;\n    left: -50%;\n    right: -50%;\n    bottom: 0;\n    z-index: 1;\n  }\n}\n:host ::ng-deep .cat-nav__list_lvl-0 .cat-nav__title a, :host ::ng-deep .cat-nav__list_lvl-0 .cat-nav__title span {\n  color: #4D4D4D;\n  display: block;\n  font-size: 14px;\n  height: 60px;\n  text-transform: uppercase;\n  line-height: 60px;\n  padding: 0 15px;\n}\n@media (max-width: 991.98px) {\n  :host ::ng-deep .cat-nav__list_lvl-0 .cat-nav__title a, :host ::ng-deep .cat-nav__list_lvl-0 .cat-nav__title span {\n    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n    height: auto;\n    line-height: 16px;\n    padding: 17px 40px;\n  }\n}\n@media (max-width: 991.98px) {\n  .cat-nav__list_lvl-0 .cat-nav__list {\n    max-height: 0;\n    overflow: hidden;\n  }\n}\n@media (max-width: 991.98px) {\n  .cat-nav__list_lvl-0 .cat-nav__list-item.is-open .cat-nav__list_lvl-1 {\n    max-height: 1500px;\n    overflow: visible;\n  }\n}\n@media (min-width: 992px) {\n  .cat-nav__list_lvl-0 > .cat-nav__list-item:hover > .cat-nav__title {\n    position: relative;\n  }\n  .cat-nav__list_lvl-0 > .cat-nav__list-item:hover > .cat-nav__title span {\n    color: #3C91DC;\n  }\n  .cat-nav__list_lvl-0 > .cat-nav__list-item:hover > .cat-nav__title:after {\n    content: "";\n    height: 4px;\n    position: absolute;\n    left: 0;\n    right: 0;\n    bottom: 0;\n    top: 100%;\n    z-index: 5;\n    background: #0094FF;\n    border-radius: 0 0 4px 4px;\n  }\n}\n.cat-nav__list_lvl-1 {\n  display: flex;\n}\n@media (max-width: 991.98px) {\n  .cat-nav__list_lvl-1 {\n    box-shadow: inset 4px 0 0 #004E94, inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n    background-color: #F2F2F2;\n    display: block;\n  }\n}\n.cat-nav__list_lvl-1 > .cat-nav__list-item {\n  flex-basis: 25%;\n  flex-grow: 0;\n}\n@media (max-width: 991.98px) {\n  .cat-nav__list_lvl-1 > .cat-nav__list-item.is-open .cat-nav__list_lvl-2 {\n    max-height: 1500px;\n    overflow: visible;\n  }\n}\n:host ::ng-deep .cat-nav__list_lvl-1 .cat-nav__title a, :host ::ng-deep .cat-nav__list_lvl-1 .cat-nav__title span {\n  color: #1A1A1A;\n  font-size: 13px;\n  font-weight: 500;\n  height: auto;\n  line-height: 15px;\n  text-transform: none;\n  margin-bottom: 10px;\n  padding: 0;\n}\n@media (max-width: 991.98px) {\n  :host ::ng-deep .cat-nav__list_lvl-1 .cat-nav__title a, :host ::ng-deep .cat-nav__list_lvl-1 .cat-nav__title span {\n    margin: 0;\n    padding: 17px 40px;\n  }\n}\n@media (max-width: 991.98px) {\n  .cat-nav__list_lvl-2 {\n    box-shadow: inset 8px 0 0 #004E94, inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n    background-color: #E5E5E5;\n    max-height: 0;\n    overflow: hidden;\n  }\n  .is-open > .cat-nav__list_lvl-2 {\n    max-height: 1500px;\n    overflow: visible;\n  }\n}\n:host ::ng-deep .cat-nav__list_lvl-2 .cat-nav__title a, :host ::ng-deep .cat-nav__list_lvl-2 .cat-nav__title span {\n  color: #1A1A1A;\n  font-size: 13px;\n  font-weight: 400;\n  height: auto;\n  line-height: 15px;\n  margin: 0;\n  padding: 5px 0;\n  text-transform: capitalize;\n}\n@media (max-width: 991.98px) {\n  :host ::ng-deep .cat-nav__list_lvl-2 .cat-nav__title a, :host ::ng-deep .cat-nav__list_lvl-2 .cat-nav__title span {\n    margin: 0;\n    padding: 17px 40px;\n  }\n}\n@media (max-width: 991.98px) {\n  .cat-nav__list_lvl-2 .cat-nav__list-item.is-open .cat-nav__list_lvl-3 {\n    max-height: 1500px;\n    overflow: visible;\n  }\n}\n@media (max-width: 991.98px) {\n  .cat-nav__list-item.is-open > .cat-nav__title {\n    box-shadow: 0 4px 0 rgba(0, 0, 0, 0.1);\n    z-index: 1;\n  }\n  .cat-nav__list-item.is-open > .cat-nav__title .cat-nav__more-icon {\n    transform: translateY(-50%) rotate(180deg);\n  }\n}\n@media (min-width: 992px) {\n  .cat-nav__list-item.is-product:not(:last-child) {\n    margin-bottom: 25px;\n  }\n  .cat-nav__list-item:hover .cat-nav__submenu {\n    max-width: 100%;\n    display: block;\n  }\n}\n:host ::ng-deep .cat-nav__title {\n  position: relative;\n}\n:host ::ng-deep .cat-nav__title a:hover {\n  color: #3C91DC;\n}\n:host ::ng-deep .cat-nav__title span:hover {\n  cursor: default;\n}\n.cat-nav__more-icon {\n  position: absolute;\n  right: 40px;\n  top: 50%;\n  transform: translateY(-50%);\n  transition: transform 0.25s;\n}\n.cat-nav__submenu {\n  background-color: rgba(255, 255, 255, 0.75);\n  -webkit-backdrop-filter: blur(25px);\n          backdrop-filter: blur(25px);\n  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  display: none;\n  left: 0;\n  top: 100%;\n  padding: 25px 0;\n  position: absolute;\n  transition: none;\n  width: 100vw;\n  z-index: 4;\n}\n@media (max-width: 991.98px) {\n  .cat-nav__submenu {\n    -webkit-backdrop-filter: none;\n            backdrop-filter: none;\n    box-shadow: none;\n    padding: 0;\n    position: static;\n  }\n  .is-open .cat-nav__submenu {\n    display: block;\n  }\n}',""]),c.exports=r.toString()},26493:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.quotation {\n  border-bottom: 1px solid #C4C4C4;\n  padding-bottom: 25px;\n  margin-bottom: 30px;\n}\n.quotation__body {\n  padding: 20px 20px 30px;\n}\n@media (max-width: 767.98px) {\n  .quotation__body {\n    flex-direction: column;\n  }\n}\n.quotation__body-fields {\n  width: 100%;\n  margin-right: 30px;\n}\n@media (max-width: 767.98px) {\n  .quotation__body-fields {\n    margin-bottom: 20px;\n  }\n}\n@media (max-width: 575.98px) {\n  .quotation__body-fields {\n    flex-direction: column;\n  }\n}\n.quotation__body-button {\n  flex-shrink: 0;\n  width: 140px;\n}\n@media (max-width: 1199.98px) {\n  .quotation__body-button {\n    width: 120px;\n  }\n}\n@media (max-width: 991.98px) {\n  .quotation__body-button {\n    width: 130px;\n  }\n}\n@media (max-width: 767.98px) {\n  .quotation__body-button {\n    width: calc(50% - 15px);\n  }\n}\n@media (max-width: 575.98px) {\n  .quotation__body-button {\n    width: 100%;\n  }\n}\n.quotation__body-selector {\n  margin-right: 30px;\n  width: 100%;\n}\n@media (max-width: 575.98px) {\n  .quotation__body-selector {\n    margin-bottom: 20px;\n  }\n}\n.quotation__body-input {\n  width: 100%;\n}\n@media (min-width: 992px) and (max-width: 1199.98px) {\n  .quotation__body-input {\n    padding-right: 5px;\n    padding-left: 5px;\n  }\n}",""]),c.exports=r.toString()},17067:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.checkout {\n  width: 100%;\n}\n.checkout__title {\n  margin-bottom: 30px;\n  color: #1A1A1A;\n}",""]),c.exports=r.toString()},40389:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.checkout {\n  width: 100%;\n}\n.checkout__consignment {\n  background: #FFFFFF;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 14px;\n  padding: 15px 20px;\n  margin-bottom: 30px;\n  gap: 20px;\n}\n@media (min-width: 768px) and (max-width: 991.98px) {\n  .checkout__consignment {\n    margin-bottom: 60px;\n  }\n}\n@media (max-width: 767.98px) {\n  .checkout__consignment {\n    margin-bottom: 30px;\n  }\n}\n.checkout__consignment-title {\n  color: #1A1A1A;\n  font-size: 14px;\n  line-height: 20px;\n  font-weight: bold;\n}\n.checkout__consignment-sub-title {\n  color: #1A1A1A;\n  font-size: 14px;\n  line-height: 20px;\n}\n.checkout__consignment-checkbox {\n  margin-right: 6px;\n}\n.checkout__consignment-select:not(:last-child) {\n  display: block;\n}\n.checkout__consignment-error {\n  font-size: 11px;\n  line-height: 13px;\n  margin-top: 3px;\n  padding: 0 15px;\n  color: #C2002F;\n}\n.checkout__consignment-item {\n  margin-top: 10px;\n  color: #808080;\n  font-size: 14px;\n  line-height: 16px;\n}",""]),c.exports=r.toString()},21843:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.checkout {\n  width: 100%;\n}\n@media (max-width: 575.98px) {\n  .checkout__shadow {\n    padding: 0 20px;\n    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n    align-items: flex-start;\n  }\n}\n.checkout__content {\n  background: #FFFFFF;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 14px;\n  padding: 15px 20px;\n  margin-bottom: 20px;\n  display: flex;\n}\n@media (max-width: 575.98px) {\n  .checkout__content {\n    display: block;\n    padding: 15px 0;\n  }\n}\n.checkout__contract {\n  color: #808080;\n  margin-left: 8px;\n}\n@media (max-width: 575.98px) {\n  .checkout__contract {\n    margin-bottom: 16px;\n  }\n}\n.checkout__contract-container {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  grid-column-gap: 10px;\n}\n@media (max-width: 991.98px) {\n  .checkout__contract-container {\n    grid-template-columns: 1fr;\n    grid-row-gap: 6px;\n  }\n}\n.checkout__contract-title {\n  font-weight: 500;\n  font-size: 16px;\n  line-height: 19px;\n  margin-bottom: 6px;\n}\n.checkout__contract-icon {\n  height: 48px;\n  width: 48px;\n}\n@media (max-width: 575.98px) {\n  .checkout__contract-icon {\n    margin-top: 5px;\n    width: 32px;\n    height: 32px;\n  }\n}\n.checkout__contract-text {\n  font-size: 13px;\n  line-height: 15px;\n}\n.checkout__contract-info {\n  font-size: 13px;\n  line-height: 15px;\n  color: #4D4D4D;\n  margin-left: 5px;\n}\n.checkout__contract-mill {\n  font-weight: 500;\n  font-size: 16px;\n  line-height: 19px;\n  color: #004E94;\n}\n@media (max-width: 575.98px) {\n  .checkout__contract-mill {\n    margin-top: 16px;\n  }\n}\n.checkout__contract-mill-icon {\n  margin-right: 10px;\n  height: 42px;\n  width: 42px;\n}\n@media (max-width: 575.98px) {\n  .checkout__contract-mill-icon {\n    margin-left: 20px;\n    width: 32px;\n    height: 32px;\n  }\n}",""]),c.exports=r.toString()},82955:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.checkout {\n  width: 100%;\n}\n.checkout__customer {\n  background: #FFFFFF;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 14px;\n  padding: 15px 20px;\n  margin-bottom: 20px;\n  display: grid;\n  grid-auto-flow: column;\n  grid-auto-columns: 50%;\n  grid-column-gap: 20px;\n}\n@media (min-width: 768px) and (max-width: 991.98px) {\n  .checkout__customer {\n    grid-template-columns: 1fr 1fr;\n    grid-column-gap: 20px;\n  }\n}\n@media (min-width: 576px) and (max-width: 767.98px) {\n  .checkout__customer {\n    grid-template-columns: 1fr 1fr;\n    grid-column-gap: 20px;\n  }\n}\n@media (max-width: 575.98px) {\n  .checkout__customer {\n    grid-template-columns: 1fr;\n    grid-row-gap: 30px;\n  }\n}\n.checkout__customer-title {\n  color: #1A1A1A;\n  font-size: 14px;\n  line-height: 20px;\n  margin-bottom: 10px;\n}\n.checkout__customer-item {\n  color: #808080;\n  font-size: 14px;\n  line-height: 20px;\n}",""]),c.exports=r.toString()},41093:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.checkout-datepicker {\n  background: #FFFFFF;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 14px;\n  padding: 15px 0;\n  margin-bottom: 20px;\n}\n.checkout-datepicker__content {\n  font-size: 14px;\n  line-height: 20px;\n  color: #1A1A1A;\n  padding-left: 20px;\n}\n.checkout-datepicker__info {\n  font-size: 14px;\n  line-height: 16px;\n  color: #808080;\n  padding: 20px 20px 5px;\n}\n.checkout-datepicker__shadow {\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  padding-bottom: 20px;\n}",""]),c.exports=r.toString()},4965:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.menu-cart {\n  display: block;\n  position: relative;\n}\n@media (min-width: 992px) {\n  .menu-cart {\n    position: sticky;\n    top: 115px;\n  }\n}\n.menu-cart:before {\n  background: #CCCCCC;\n  border-radius: 6px;\n  content: "";\n  height: 12px;\n  position: absolute;\n  left: -6px;\n  right: -6px;\n  top: -6px;\n  z-index: -1;\n}\n\n.cart-menu__validation {\n  font-size: 11px;\n  line-height: 13px;\n  color: #AF002A;\n  font-weight: normal;\n}\n.cart-menu__disclaimer {\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  font-size: 11px;\n  line-height: 13px;\n  color: #999999;\n  padding: 18px 20px;\n}\n.cart-menu__disclaimer--error {\n  color: #AF002A;\n  font-weight: normal;\n}\n.cart-menu__disclaimer-icon {\n  margin-right: 4px;\n  color: #C2002F;\n}\n.cart-menu__button {\n  width: 215px;\n  height: 28px;\n  margin-left: 2px;\n  margin-bottom: 13px;\n  font-size: 14px;\n}\n@media (max-width: 991.98px) {\n  .cart-menu__button {\n    width: 250px;\n  }\n}\n\n.checkout__button {\n  margin-top: 46px;\n  margin-bottom: 60px;\n  display: none;\n}\n@media (max-width: 991.98px) {\n  .checkout__button {\n    display: block;\n  }\n}\n.checkout__button-icon {\n  color: #1C73C2;\n  margin-bottom: 3px;\n}\n.checkout__button:hover svg-icon-sprite {\n  color: #fff;\n}',""]),c.exports=r.toString()},83595:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.checkout {\n  width: 100%;\n}\n.checkout__payment {\n  background: #FFFFFF;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 14px;\n  padding: 15px 0;\n  margin-bottom: 20px;\n}\n.checkout__payment-content {\n  padding: 0 20px 20px;\n  display: grid;\n  grid-template-columns: 50% 50%;\n  grid-column-gap: 20px;\n  grid-row-gap: 20px;\n}\n@media (min-width: 768px) and (max-width: 991.98px) {\n  .checkout__payment-content {\n    grid-template-columns: 1fr 1fr;\n    grid-column-gap: 20px;\n  }\n}\n@media (min-width: 576px) and (max-width: 767.98px) {\n  .checkout__payment-content {\n    grid-template-columns: 1fr 1fr;\n    grid-column-gap: 30px;\n  }\n}\n@media (max-width: 575.98px) {\n  .checkout__payment-content {\n    grid-template-columns: 1fr;\n    grid-row-gap: 30px;\n  }\n}\n.checkout__payment-title {\n  color: #1A1A1A;\n  font-size: 14px;\n  line-height: 20px;\n  margin-bottom: 10px;\n}\n.checkout__payment-item {\n  color: #808080;\n  font-size: 14px;\n  line-height: 16px;\n}\n.checkout__payment-info {\n  font-size: 14px;\n  line-height: 16px;\n  color: #808080;\n  padding: 20px 20px 5px;\n}\n.checkout__payment-info-icon {\n  margin-bottom: 4px;\n  margin-right: 6px;\n}\n.checkout__shadow {\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n}",""]),c.exports=r.toString()},73155:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.checkout {\n  width: 100%;\n}\n.checkout__privacy {\n  background: #FFFFFF;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 14px;\n  padding: 15px 20px;\n  margin-bottom: 30px;\n}\n@media (min-width: 768px) and (max-width: 991.98px) {\n  .checkout__privacy {\n    margin-bottom: 60px;\n  }\n}\n@media (max-width: 767.98px) {\n  .checkout__privacy {\n    margin-bottom: 30px;\n  }\n}\n.checkout__privacy-item {\n  color: #808080;\n  font-size: 14px;\n  line-height: 16px;\n}\n.checkout__privacy-checkbox {\n  margin-right: 6px;\n}\n.checkout__privacy-link {\n  color: #3C91DC;\n}\n.checkout__privacy-error {\n  font-size: 11px;\n  line-height: 13px;\n  margin-top: 3px;\n  padding: 0 15px;\n  color: #C2002F;\n}\n.checkout__button {\n  margin-top: 20px;\n  margin-bottom: 120px;\n}\n@media (max-width: 991.98px) {\n  .checkout__button {\n    display: none;\n  }\n}\n.checkout__button-icon {\n  color: #1C73C2;\n  margin-bottom: 3px;\n}\n.checkout__button:hover svg-icon-sprite {\n  color: #fff;\n}",""]),c.exports=r.toString()},5265:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.menu-cart {\n  display: block;\n  position: relative;\n}\n@media (min-width: 992px) {\n  .menu-cart {\n    position: sticky;\n    top: 115px;\n  }\n}\n.menu-cart:before {\n  background: #CCCCCC;\n  border-radius: 6px;\n  content: "";\n  height: 12px;\n  position: absolute;\n  left: -6px;\n  right: -6px;\n  top: -6px;\n  z-index: -1;\n}\n\n@media (min-width: 992px) {\n  .menu-cart {\n    position: sticky;\n    top: 115px;\n  }\n}\n.menu-cart__button {\n  width: 215px;\n  height: 28px;\n  margin-left: 2px;\n  margin-bottom: 13px;\n  font-size: 14px;\n}\n@media (max-width: 991.98px) {\n  .menu-cart__button {\n    width: 250px;\n  }\n}\n\n.checkout__button {\n  margin-top: 46px;\n  margin-bottom: 60px;\n  display: none;\n}\n@media (max-width: 991.98px) {\n  .checkout__button {\n    display: block;\n  }\n}\n.checkout__button-icon {\n  color: #1C73C2;\n  margin-bottom: 3px;\n}\n.checkout__button:hover svg-icon-sprite {\n  color: #fff;\n}',""]),c.exports=r.toString()},93803:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.checkout-reference {\n  background: #ffffff;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 14px;\n  margin-bottom: 20px;\n}\n@media (min-width: 768px) and (max-width: 991.98px) {\n  .checkout-reference {\n    margin-bottom: 60px;\n  }\n}\n@media (max-width: 767.98px) {\n  .checkout-reference {\n    margin-bottom: 30px;\n  }\n}\n.checkout-reference__tooltip {\n  padding: 10px 20px;\n  color: #3C91DC;\n  font-size: 12px;\n  line-height: 14px;\n  max-width: 278px;\n  text-align: start;\n}\n.checkout-reference__tooltip-icon {\n  color: #3C91DC;\n  margin-right: 6px;\n}\n\n.checkout-order-reference {\n  padding: 15px 20px;\n}\n\n.checkout-item-row {\n  padding: 15px 20px;\n  box-shadow: inset 0px -1px 0px rgba(0, 0, 0, 0.12);\n}\n.checkout-item-row:last-child {\n  box-shadow: none;\n}\n.checkout-item-row__grid {\n  display: grid;\n  align-items: center;\n  grid-template-columns: 35px 1fr repeat(2, 14%) 48%;\n}\n\n.checkout-item-cell {\n  display: flex;\n  flex-direction: column;\n}\n.checkout-item-cell__index {\n  align-items: center;\n  background: #B3B3B3;\n  border-radius: 7px;\n  color: #fff;\n  display: flex;\n  font-size: 12px;\n  font-weight: 500;\n  justify-content: center;\n  line-height: 14px;\n  margin-right: 20px;\n  padding: 3px 13px;\n}\n.checkout-item-cell__title {\n  color: #4D4D4D;\n  font-size: 10px;\n  line-height: 12px;\n  margin-bottom: 5px;\n  opacity: 0.4;\n}\n.checkout-item-cell__title_right {\n  align-self: end;\n  padding-right: 20px;\n}\n.checkout-item-cell__value {\n  color: #4D4D4D;\n  font-size: 13px;\n  line-height: 15px;\n  word-break: break-word;\n}\n.checkout-item-cell__value_right {\n  align-self: end;\n  padding-right: 20px;\n}",""]),c.exports=r.toString()},67963:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n:host {\n  font-size: 10px;\n  line-height: 12px;\n  color: #4D4D4D;\n  opacity: 0.4;\n  margin-bottom: 5px;\n}",""]),c.exports=r.toString()},24015:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.checkout {\n  background: #FFFFFF;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 14px;\n  padding: 20px 0 30px;\n  margin-bottom: 20px;\n}\n@media (max-width: 991.98px) {\n  .checkout {\n    width: calc(100vw - 30px);\n    min-width: 290px;\n  }\n}\n.checkout__shipment {\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  padding: 0 20px 20px;\n  display: grid;\n  grid-auto-flow: column;\n  grid-auto-columns: 50%;\n  grid-column-gap: 20px;\n}\n@media (min-width: 768px) and (max-width: 991.98px) {\n  .checkout__shipment {\n    grid-template-columns: 1fr 1fr;\n    grid-column-gap: 20px;\n  }\n}\n@media (min-width: 576px) and (max-width: 767.98px) {\n  .checkout__shipment {\n    grid-template-columns: 1fr 1fr;\n    grid-column-gap: 20px;\n  }\n}\n@media (max-width: 575.98px) {\n  .checkout__shipment {\n    grid-template-columns: 1fr;\n    grid-row-gap: 30px;\n  }\n}\n.checkout__shipment--last {\n  box-shadow: none;\n  padding-bottom: 0;\n}\n.checkout__title {\n  color: #1A1A1A;\n  font-size: 14px;\n  line-height: 20px;\n  margin-bottom: 10px;\n}\n.checkout__address {\n  padding: 30px 20px 0;\n}\n.checkout__item {\n  color: #808080;\n  font-size: 14px;\n  line-height: 16px;\n}",""]),c.exports=r.toString()},25767:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.checkout {\n  background: #ffffff;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 14px;\n  margin-bottom: 20px;\n  padding: 15px 20px 20px 20px;\n}\n@media (max-width: 991.98px) {\n  .checkout {\n    width: calc(100vw - 30px);\n    min-width: 290px;\n  }\n}\n.checkout__title {\n  color: #1A1A1A;\n  font-size: 14px;\n  line-height: 20px;\n  margin-bottom: 10px;\n}\n.checkout__item {\n  color: #808080;\n  font-size: 14px;\n  line-height: 16px;\n}\n.checkout__info {\n  margin-bottom: 20px;\n}\n.checkout__info--no-margin {\n  margin: 0;\n}\n.checkout__select {\n  display: block;\n  margin-bottom: 20px;\n}\n.checkout__select--no-margin {\n  margin: 0;\n}\n.checkout__params {\n  display: grid;\n  grid-template-columns: 50% 50%;\n  width: 100%;\n}\n.checkout__item-ship-to {\n  display: grid;\n  width: 100%;\n  margin-bottom: 20px;\n}\n.checkout__item-ship-to:last-of-type {\n  margin-bottom: 0;\n}\n.checkout__item-ship-to-controls {\n  margin-top: 30px;\n}\n.checkout__item-ship-to-info {\n  display: grid;\n  grid-template-columns: 35px 1fr repeat(3, 25%);\n}\n.checkout__item-cell {\n  display: flex;\n  flex-direction: column;\n}\n.checkout__item-cell-index {\n  align-items: center;\n  background: #B3B3B3;\n  border-radius: 7px;\n  color: #fff;\n  display: flex;\n  font-size: 12px;\n  font-weight: 500;\n  justify-content: center;\n  line-height: 14px;\n  margin-right: 20px;\n  padding: 3px 13px;\n}\n.checkout__item-cell-title {\n  color: #4D4D4D;\n  font-size: 10px;\n  line-height: 12px;\n  margin-bottom: 5px;\n  opacity: 0.4;\n}\n.checkout__item-cell-title--right {\n  align-self: end;\n}\n.checkout__item-cell-value {\n  color: #4D4D4D;\n  font-size: 13px;\n  line-height: 15px;\n  word-break: break-word;\n}\n.checkout__item-cell-value--right {\n  align-self: end;\n}",""]),c.exports=r.toString()},69879:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n:host {\n  display: grid;\n  gap: 10px;\n}\n\n.checkout {\n  background: #ffffff;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 14px;\n  margin-bottom: 20px;\n  display: flex;\n  flex-flow: wrap;\n  padding: 15px 0 20px 20px;\n}\n@media (max-width: 991.98px) {\n  .checkout {\n    width: calc(100vw - 30px);\n    min-width: 290px;\n  }\n}\n.checkout__title {\n  color: #1A1A1A;\n  font-size: 14px;\n  line-height: 20px;\n  margin-bottom: 10px;\n}\n.checkout__item {\n  color: #808080;\n  font-size: 14px;\n  line-height: 16px;\n}\n.checkout__select:not(:last-child) {\n  display: block;\n}\n.checkout__select--text {\n  width: calc(50% - 10px);\n  margin-bottom: 10px;\n}\n.checkout__select--text:last-of-type {\n  margin-bottom: 0;\n}\n@media (max-width: 575.98px) {\n  .checkout__select--text {\n    width: 100%;\n    padding-left: 0;\n  }\n}",""]),c.exports=r.toString()},56385:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.checkout {\n  padding-top: 30px;\n}\n.checkout__link {\n  color: #3C91DC;\n}\n.checkout__shadow {\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  padding-bottom: 20px;\n  padding-left: 40px;\n  padding-right: 40px;\n  display: grid;\n  grid-template-columns: 94px auto;\n  grid-column-gap: 40px;\n}\n@media (max-width: 575.98px) {\n  .checkout__shadow {\n    padding-left: 20px;\n    padding-right: 20px;\n    grid-template-columns: 64px auto;\n    grid-column-gap: 20px;\n  }\n}\n.checkout__content-icon {\n  color: #00C000;\n  height: 94px;\n}\n@media (max-width: 575.98px) {\n  .checkout__content-icon {\n    height: 64px;\n  }\n}\n.checkout__content {\n  background: #FFFFFF;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 14px;\n  padding-top: 30px;\n  padding-bottom: 32px;\n}\n@media (max-width: 575.98px) {\n  .checkout__content {\n    padding-top: 20px;\n  }\n}\n.checkout__content-number {\n  margin-top: 2px;\n  font-size: 13px;\n  line-height: 15px;\n  color: #808080;\n}\n@media (max-width: 575.98px) {\n  .checkout__content-number {\n    font-size: 12px;\n    line-height: 14px;\n  }\n}\n.checkout__content-link {\n  color: #3C91DC;\n}\n.checkout__content-title {\n  margin-top: 10px;\n  color: #4D4D4D;\n}\n@media (max-width: 1199.98px) {\n  .checkout__content-title {\n    font-size: 24px;\n    line-height: 28px;\n    font-weight: 500;\n  }\n}\n@media (max-width: 575.98px) {\n  .checkout__content-title {\n    font-size: 16px;\n    line-height: 19px;\n    font-weight: 500;\n  }\n}\n.checkout__subcontent {\n  padding: 0 40px;\n}\n@media (max-width: 767.98px) {\n  .checkout__subcontent {\n    padding: 0 20px;\n  }\n}\n.checkout__subcontent-title {\n  font-size: 14px;\n  line-height: 16px;\n  color: #4D4D4D;\n  font-weight: 500;\n  margin-top: 20px;\n}\n.checkout__subcontent-text {\n  font-size: 14px;\n  line-height: 16px;\n  color: #808080;\n  margin-top: 10px;\n}\n.checkout__button {\n  margin: 40px 39px 60px 0;\n}\n.checkout__button-icon {\n  color: #1C73C2;\n  margin-bottom: 3px;\n}\n.checkout__button:hover svg-icon-sprite {\n  color: #fff;\n}",""]),c.exports=r.toString()},45975:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.quotation-comments {\n  background: #FFFFFF;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 14px;\n  padding: 20px;\n  margin-bottom: 20px;\n}\n.quotation-comments__textarea {\n  font-size: 13px;\n  line-height: 15px;\n  height: 48px;\n  padding-left: 16px;\n}",""]),c.exports=r.toString()},24689:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n@media (min-width: 992px) {\n  :host {\n    display: flex;\n    align-items: stretch;\n  }\n}\n\n.cms-link {\n  color: #808080;\n  font-size: 14px;\n  line-height: 20px;\n  padding: 17px 40px;\n}\n@media (min-width: 992px) {\n  .cms-link {\n    padding: 0;\n  }\n}\n.cms-link__inner {\n  padding-left: 26px;\n  position: relative;\n}\n.cms-link__icon {\n  position: absolute;\n  left: 0;\n  top: 50%;\n  transform: translateY(-50%);\n}\n.cms-link a {\n  white-space: nowrap;\n}",""]),c.exports=r.toString()},69684:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"",""]),c.exports=r.toString()},37417:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.configure-footer__title {\n  color: #4D4D4D;\n  font-weight: 500;\n  font-size: 16px;\n  line-height: 19px;\n  width: 25%;\n}\n@media (max-width: 767.98px) {\n  .configure-footer__title {\n    display: block;\n    width: 100%;\n  }\n}\n.configure-footer__info {\n  display: flex;\n  align-items: center;\n  margin: 0 0 30px;\n}\n@media (max-width: 1199.98px) {\n  .configure-footer__mobile-margin-bottom {\n    margin-bottom: 20px;\n  }\n}\n@media (max-width: 1199.98px) {\n  .configure-footer__button {\n    width: 100%;\n  }\n}",""]),c.exports=r.toString()},56939:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.head {\n  display: flex;\n  align-items: center;\n  padding-bottom: 20px;\n  border-bottom: 1px solid #C4C4C4;\n}\n@media (max-width: 1199.98px) {\n  .head {\n    flex-direction: column;\n    align-items: flex-start;\n  }\n}",""]),c.exports=r.toString()},6327:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.configure-product-type-selector {\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 7px;\n  overflow: hidden;\n  position: relative;\n}\n@media (max-width: 991.98px) {\n  .configure-product-type-selector {\n    cursor: pointer;\n    border-radius: 0;\n    width: 100%;\n  }\n}\n.configure-product-type-selector__header {\n  display: flex;\n  align-items: center;\n  background-color: #fff;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  padding: 17px 20px;\n}\n@media (max-width: 991.98px) {\n  .configure-product-type-selector__header {\n    background: #fff;\n    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n    margin: 0;\n  }\n}\n.configure-product-type-selector__header-title {\n  color: #4D4D4D;\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  position: relative;\n  margin: 0 15px 0 0;\n  cursor: pointer;\n}\n@media (max-width: 991.98px) {\n  .configure-product-type-selector__header-title {\n    color: #1A1A1A;\n    text-transform: uppercase;\n    margin: 0 8px 0 0;\n  }\n}\n.configure-product-type-selector__body {\n  background: linear-gradient(0deg, rgba(242, 242, 242, 0.5), rgba(242, 242, 242, 0.5)), #FFFFFF;\n  padding: 20px 30px;\n}\n@media (min-width: 992px) {\n  .is-collapsed .configure-product-type-selector__body {\n    max-height: 0;\n    padding-top: 0;\n    padding-bottom: 0;\n  }\n}\n@media (max-width: 991.98px) {\n  .configure-product-type-selector--hidden .configure-product-type-selector__body {\n    display: none;\n  }\n}\n.configure-product-type-selector__toggle-icon {\n  position: relative;\n  top: 12px;\n  transform: translateY(-50%);\n}\n.is-collapsed .configure-product-type-selector__toggle-icon {\n  transform: translateY(-50%) rotate(180deg);\n}\n@media (max-width: 991.98px) {\n  .configure-product-type-selector__toggle-icon {\n    display: none;\n  }\n}\n.configure-product-type-selector__mobile-icons {\n  margin: 0 0 0 auto;\n  cursor: pointer;\n  display: none;\n}\n@media (max-width: 991.98px) {\n  .configure-product-type-selector__mobile-icons {\n    display: block;\n  }\n}\n.configure-product-type-selector__facet-icon {\n  display: none;\n}\n@media (max-width: 991.98px) {\n  .configure-product-type-selector--hidden .configure-product-type-selector__facet-icon {\n    display: block;\n  }\n}\n.configure-product-type-selector__close-icon {\n  display: block;\n}\n@media (max-width: 991.98px) {\n  .configure-product-type-selector__close-icon {\n    display: block;\n  }\n  .configure-product-type-selector--hidden .configure-product-type-selector__close-icon {\n    display: none;\n  }\n}\n.configure-product-type-selector__list {\n  transition: max-height 0.25s;\n}\n.configure-product-type-selector__list-item .configure-product-type-selector__list {\n  max-height: 0;\n  overflow: hidden;\n  padding-left: 16px;\n}\n.configure-product-type-selector__list-item.is-active .configure-product-type-selector__list {\n  max-height: 700px;\n}\n.configure-product-type-selector__label {\n  display: block;\n  font-size: 14px;\n  line-height: 16px;\n  padding: 6px 0;\n}\n.configure-product-type-selector__toggle {\n  cursor: pointer;\n  padding-left: 24px;\n  position: relative;\n}\n.configure-product-type-selector__toggle:before, .configure-product-type-selector__toggle:after {\n  content: "";\n  display: block;\n  position: absolute;\n  top: 50%;\n  transform: translateY(-50%);\n}\n.configure-product-type-selector__toggle:before {\n  background-color: #fff;\n  border: 2px solid #808080;\n  border-radius: 50%;\n  left: 0;\n  width: 16px;\n  height: 16px;\n}\n.configure-product-type-selector__toggle:after {\n  background-color: #808080;\n  border-radius: 1px;\n  height: 2px;\n  left: 4px;\n  width: 8px;\n}\n.configure-product-type-selector__toggle.is-active:before {\n  background-color: #808080;\n  border-color: #808080;\n}\n.configure-product-type-selector__toggle.is-active:after {\n  background-color: #fff;\n}\n.configure-product-type-selector__loader {\n  position: absolute;\n  top: 0;\n  left: -10px;\n  right: -10px;\n  bottom: 0;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background: rgba(255, 255, 255, 0.5);\n  overflow: hidden;\n}',""]),c.exports=r.toString()},16991:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.input {\n  position: relative;\n  height: 46px;\n  background: #F2F2F2;\n  border-radius: 7px;\n  overflow: hidden;\n}\n\n.blink {\n  width: 0;\n  height: 100%;\n  margin: 0;\n  background-color: rgba(0, 0, 0, 0.1);\n  animation: skeleton 1.5s linear infinite;\n}\n.blink--double {\n  animation: skeleton 3s linear infinite;\n}\n@media (max-width: 1199.98px) {\n  .blink--double {\n    animation: skeleton 1.5s linear infinite;\n  }\n}\n\n@keyframes skeleton {\n  from {\n    width: 0;\n  }\n  to {\n    width: 100%;\n  }\n}\n:host::ng-deep .ng-dropdown-panel {\n  min-height: 75px;\n}\n\n.configure-product {\n  padding: 0 0 30px;\n}\n.configure-product__head {\n  margin-bottom: 24px;\n}\n.configure-product__wrapper {\n  padding: 20px;\n}\n.configure-product__columns-wrapper {\n  padding: 30px 0;\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  grid-column-gap: 10px;\n  grid-row-gap: 30px;\n}\n.configure-product__columns-wrapper--with-border {\n  padding-top: 0;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n}\n@media (max-width: 1199.98px) {\n  .configure-product__columns-wrapper {\n    grid-template-columns: 1fr;\n  }\n}\n.configure-product__string-wrapper {\n  display: flex;\n  justify-content: space-between;\n  gap: 30px;\n}\n@media (max-width: 575.98px) {\n  .configure-product__string-wrapper {\n    flex-direction: column;\n  }\n}\n@media (max-width: 575.98px) {\n  .configure-product__request-button {\n    width: 100%;\n  }\n}\n.configure-product__item {\n  padding: 30px 0;\n}\n.configure-product__item_controls {\n  padding-top: 10px;\n}\n.configure-product__content {\n  position: relative;\n}\n.configure-product__loader-wrapper {\n  z-index: 200;\n  position: absolute;\n  top: 0;\n  left: -10px;\n  right: -10px;\n  bottom: 0;\n  display: flex;\n  justify-content: center;\n  background: rgba(255, 255, 255, 0.5);\n  overflow: hidden;\n}\n.configure-product__loader {\n  transition: top linear 0.2s;\n}\n\n.loading-card {\n  height: 88px;\n}\n.loading-card__wrapper {\n  position: absolute;\n  display: flex;\n  left: 0;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  background-color: #fff;\n  align-items: center;\n  justify-content: center;\n  border-radius: 14px;\n}\n.loading-card__loader {\n  margin-right: 28px;\n}\n.loading-card__text {\n  font-weight: 500;\n  font-size: 20px;\n  line-height: 23px;\n  color: #808080;\n}",""]),c.exports=r.toString()},87659:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.enum-item {\n  padding: 30px 0;\n  display: flex;\n  align-items: flex-start;\n}\n@media (max-width: 1199.98px) {\n  .enum-item {\n    flex-direction: column;\n    align-items: flex-start;\n  }\n}\n.enum-item__head {\n  display: flex;\n  align-items: center;\n  margin-right: 100px;\n}\n@media (max-width: 1199.98px) {\n  .enum-item__head {\n    justify-content: space-between;\n    width: 100%;\n    margin-right: 0;\n    margin-bottom: 20px;\n  }\n}\n@media (max-width: 575.98px) {\n  .enum-item__head--tabs {\n    flex-direction: column;\n    align-items: flex-start;\n  }\n  .enum-item__head--tabs .enum-item__label {\n    margin-bottom: 10px;\n  }\n  .enum-item__head--tabs .enum-item__field {\n    width: 100%;\n  }\n}\n.enum-item__label {\n  color: #4D4D4D;\n  font-weight: 500;\n  font-size: 16px;\n  line-height: 19px;\n  flex: 0 0 auto;\n  margin-right: 100px;\n}\n@media (max-width: 1199.98px) {\n  .enum-item__label {\n    margin-right: 0;\n  }\n}\n@media (max-width: 1199.98px) {\n  .enum-item__input-field {\n    width: 100%;\n  }\n}\n.enum-item__error {\n  margin-top: 10px;\n}",""]),c.exports=r.toString()},9919:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"",""]),c.exports=r.toString()},60389:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.enum-item {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  grid-column-gap: 10px;\n}\n@media (max-width: 1199.98px) {\n  .enum-item {\n    grid-template-columns: 1fr;\n  }\n}\n.enum-item__head {\n  display: flex;\n  align-items: center;\n}\n@media (max-width: 1199.98px) {\n  .enum-item__head {\n    justify-content: space-between;\n    width: 100%;\n    margin-right: 0;\n    margin-bottom: 20px;\n  }\n}\n@media (max-width: 575.98px) {\n  .enum-item__head--tabs {\n    flex-direction: column;\n    align-items: flex-start;\n  }\n  .enum-item__head--tabs .enum-item__label {\n    margin-bottom: 10px;\n  }\n  .enum-item__head--tabs .enum-item__field {\n    width: 100%;\n  }\n}\n.enum-item__field {\n  width: 100%;\n}\n@media (max-width: 1199.98px) {\n  .enum-item__input-field {\n    width: 100%;\n  }\n}",""]),c.exports=r.toString()},82999:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,":host {\n  display: block;\n  width: 100%;\n}",""]),c.exports=r.toString()},39241:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.number-item {\n  display: flex;\n  flex-direction: column;\n  align-items: flex-start;\n}\n.number-item--row {\n  flex-direction: row;\n  align-items: center;\n  justify-content: space-between;\n}\n@media (max-width: 1199.98px) {\n  .number-item--row {\n    max-width: 100%;\n    flex-direction: column;\n    align-items: flex-start;\n  }\n}\n.number-item__label {\n  color: #4D4D4D;\n  font-weight: 500;\n  font-size: 16px;\n  line-height: 19px;\n}\n.number-item__label--margin {\n  display: block;\n}\n@media (max-width: 1199.98px) {\n  .number-item__label--margin {\n    margin: 0 0 20px;\n  }\n}\n.number-item__value {\n  color: #1A1A1A;\n  font-size: 13px;\n  line-height: 15px;\n  margin-top: 20px;\n  opacity: 0.4;\n  margin-left: 10px;\n}\n.number-item__field {\n  width: 100%;\n}",""]),c.exports=r.toString()},99135:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"",""]),c.exports=r.toString()},40313:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.string-item {\n  display: inline-block;\n}\n.string-item__title {\n  font-size: 13px;\n  line-height: 15px;\n  color: #808080;\n}\n.string-item__description {\n  font-size: 10px;\n  line-height: 12px;\n  color: #808080;\n  margin-left: 4px;\n}\n.string-item__value {\n  font-weight: 500;\n  font-size: 15px;\n  line-height: 18px;\n  color: #1A1A1A;\n}\n.string-item__wrapper {\n  margin-bottom: 4px;\n}",""]),c.exports=r.toString()},78981:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.contact-card {\n  background: #FFF;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 14px;\n  margin-top: 20px;\n}\n.contact-card__header {\n  background: #999999;\n  box-shadow: inset 0px 1px 0px rgba(255, 255, 255, 0.5), inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  border-radius: 14px 14px 0 0;\n  padding: 20px;\n  color: #FFF;\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  text-transform: uppercase;\n}\n.contact-card__header-icon {\n  color: #FFF;\n  margin-right: 10px;\n}\n.contact-card__line {\n  display: flex;\n  align-items: center;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  padding: 12px 20px;\n  font-size: 14px;\n  line-height: 16px;\n  color: #4D4D4D;\n}\n.contact-card__line--name {\n  font-weight: 500;\n}\n.contact-card__line--link {\n  color: #004E94;\n}\n.contact-card__line-icon {\n  margin-right: 10px;\n}\n.contact-card__line-icon--link {\n  color: #1C73C2;\n}",""]),c.exports=r.toString()},72959:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.contact-us {\n  margin-bottom: 50px;\n}\n.contact-us__title {\n  margin: 0 30px 0 0;\n  color: #1A1A1A;\n}\n.contact-us__divider {\n  background-color: #C4C4C4;\n  border: 0;\n  height: 1px;\n}",""]),c.exports=r.toString()},64105:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,".contact-us-cards {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  grid-column-gap: 20px;\n}\n@media (max-width: 767.98px) {\n  .contact-us-cards {\n    grid-template-columns: 1fr;\n  }\n}",""]),c.exports=r.toString()},79869:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.footer {\n  color: #808080;\n}\n.footer__top, .footer__bottom {\n  padding: 50px 45px;\n}\n@media (min-width: 576px) {\n  .footer__top, .footer__bottom {\n    padding: 40px 30px;\n  }\n}\n@media (min-width: 768px) {\n  .footer__top, .footer__bottom {\n    padding: 45px 30px;\n  }\n}\n@media (min-width: 1200px) {\n  .footer__top, .footer__bottom {\n    padding: 40px 0;\n  }\n}\n.footer__top {\n  background: #F2F2F2;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n}\n.footer__bottom {\n  background: #FFFFFF;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n}\n@media (max-width: 575.98px) {\n  .footer__bottom {\n    padding-top: 0;\n  }\n}\n.footer__bottom--trading {\n  padding-top: 50px;\n}\n.footer__bottom-content {\n  display: flex;\n  gap: 30px;\n}\n@media (max-width: 575.98px) {\n  .footer__bottom-content {\n    flex-direction: column-reverse;\n    gap: 0;\n  }\n}\n@media (max-width: 575.98px) {\n  .footer__bottom-left {\n    display: flex;\n    flex-direction: column-reverse;\n  }\n}\n.footer__bottom-left--top {\n  display: flex;\n  align-items: center;\n  flex-wrap: wrap;\n  gap: 15px;\n}\n.footer__block {\n  padding-bottom: 30px;\n}\n@media (min-width: 576px) {\n  .footer__block {\n    padding-bottom: 40px;\n  }\n}\n.footer__title {\n  color: #333333;\n  font-style: normal;\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  text-transform: uppercase;\n  margin-bottom: 15px;\n  white-space: nowrap;\n}\n.footer__bottom .footer__title {\n  margin-bottom: 20px;\n}\n.footer__title-link:hover {\n  color: #3C91DC;\n}\n.footer__agreement {\n  font-size: 11px;\n  line-height: 13px;\n  margin-bottom: 20px;\n}\n@media (min-width: 576px) {\n  .footer__agreement {\n    margin-bottom: 0;\n  }\n}\n.footer__copyright {\n  font-size: 14px;\n  line-height: 20px;\n  margin-bottom: 20px;\n}\n.footer__trading-nlmk {\n  font-size: 16px;\n  line-height: 22px;\n}\n.footer__trading-button {\n  flex-shrink: 0;\n  height: 100%;\n  padding: 9px 80px;\n  font-weight: 500;\n  font-size: 15px;\n  line-height: 18px;\n}\n.footer-link {\n  color: #3C91DC;\n  cursor: pointer;\n}\n.footer-nav {\n  width: max-content;\n  max-width: 100%;\n}\n.footer-nav + .footer-nav {\n  margin-top: 11px;\n}\n.footer-nav__link {\n  font-size: 13px;\n  line-height: 15px;\n}\n.footer-nav__link:hover {\n  color: #3C91DC;\n  cursor: pointer;\n}\n.footer-nav__link:hover .footer-nav__link-icon {\n  color: #3C91DC;\n}\n.footer-nav__link--is-open {\n  color: #3C91DC;\n}\n.footer-nav__link-icon {\n  margin-left: 3px;\n}\n.footer-nav__link-icon--is-open {\n  color: #3C91DC;\n  transform: rotate(180deg);\n}\n.footer-nav__products {\n  display: flex;\n  flex-direction: column;\n  position: absolute;\n  margin-left: -20px;\n  margin-top: 8px;\n  padding: 21px 20px;\n  min-width: 200px;\n  background: #FFFFFF;\n  box-shadow: 0 16px 16px rgba(0, 0, 0, 0.1), 0 0 8px rgba(0, 0, 0, 0.15);\n  border-radius: 14px;\n  z-index: 2;\n}\n.footer-nav__products-link {\n  max-width: max-content;\n  width: 100%;\n  color: #1A1A1A;\n  font-size: 13px;\n  line-height: 16px;\n}\n.footer-nav__products-link:hover {\n  color: #3C91DC;\n  cursor: pointer;\n}\n.footer-nav__products-link + .footer-nav__products-link {\n  margin-top: 10px;\n}\n\n.footer__contact {\n  color: #808080;\n  font-weight: 500;\n  font-size: 20px;\n  line-height: 23px;\n  white-space: nowrap;\n  display: flex;\n  margin-bottom: 15px;\n}\n.footer__contact-icon {\n  margin-right: 6px;\n}\n.footer__contact-desc {\n  font-size: 13px;\n  line-height: 32px;\n  white-space: nowrap;\n}\n.footer__contact--s {\n  font-size: 13px;\n  line-height: 15px;\n  margin-bottom: 15px;\n}\n.footer__contact--colored {\n  color: #3C91DC;\n}\n\n.subscribe {\n  background-color: #F2F2F2;\n  border-radius: 4px;\n  display: inline-block;\n  height: 36px;\n  width: 100%;\n  min-width: 210px;\n  overflow: hidden;\n  padding: 4px;\n  position: relative;\n}\n@media (max-width: 575.98px) {\n  .subscribe {\n    margin-bottom: 20px;\n  }\n}\n.subscribe__input {\n  border: 0;\n  height: 100%;\n  width: 100%;\n  outline: 0;\n  padding: 5px 55px 0 10px;\n}\n.subscribe__input:hover, .subscribe__input:active, .subscribe__input:focus {\n  background-color: #F2F2F2;\n}\n.subscribe__button {\n  background: #FF6B00;\n  border: 0;\n  border-radius: 4px;\n  color: #fff;\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  height: 28px;\n  position: absolute;\n  top: 4px;\n  right: 4px;\n}\n\n@media (min-width: 768px) and (max-width: 991.98px) {\n  .col-md-25 {\n    flex: 0 0 21.667%;\n    max-width: 21.667%;\n  }\n}\n\n.footer-social-icon::ng-deep svg {\n  width: 30px;\n  height: 30px;\n}",""]),c.exports=r.toString()},51391:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.footer-trading__nlmk {\n  font-size: 16px;\n  line-height: 22px;\n}\n.footer-trading__button {\n  flex-shrink: 0;\n  height: 100%;\n  padding: 9px 80px;\n  font-weight: 500;\n  font-size: 15px;\n  line-height: 18px;\n  margin-left: auto;\n}\n@media (max-width: 1199.98px) {\n  .footer-trading__button {\n    padding: 9px 58px;\n  }\n}\n@media (max-width: 767.98px) {\n  .footer-trading__button {\n    padding: 9px 28px;\n  }\n}\n@media (max-width: 575.98px) {\n  .footer-trading__button {\n    padding: 9px 68px;\n    margin-left: 0;\n    margin-bottom: 20px;\n  }\n}\n.footer-trading__description {\n  font-weight: 500;\n  font-size: 20px;\n  line-height: 23px;\n  color: #4D4D4D;\n  margin-bottom: 30px;\n}\n@media (max-width: 1199.98px) {\n  .footer-trading__description {\n    font-size: 16px;\n    line-height: 19px;\n  }\n}\n@media (max-width: 991.98px) {\n  .footer-trading__description {\n    padding-right: 30px;\n    margin-bottom: 20px;\n  }\n}\n@media (max-width: 767.98px) {\n  .footer-trading__description {\n    font-size: 14px;\n    line-height: 16px;\n  }\n}\n@media (max-width: 575.98px) {\n  .footer-trading__description {\n    padding-right: 0;\n  }\n}\n.footer-trading__link {\n  color: #3C91DC;\n  cursor: pointer;\n}\n.footer-trading__bottom {\n  display: flex;\n  align-items: baseline;\n  gap: 10px;\n}",""]),c.exports=r.toString()},81512:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.tooltip-content {\n  border-radius: 7px;\n  padding: 16px;\n  background: white;\n  position: relative;\n  box-shadow: 0 16px 16px rgba(0, 0, 0, 0.1), 0 0 8px rgba(0, 0, 0, 0.15);\n  display: flex;\n  align-items: flex-start;\n}\n.tooltip-content:after {\n  content: "";\n  display: block;\n  width: 10px;\n  height: 10px;\n  border-radius: 2px;\n  background-color: white;\n  position: absolute;\n  top: -1px;\n  transform: rotate(45deg) translateX(-50%);\n  left: 91%;\n}\n@media (max-width: 991.98px) {\n  .tooltip-content:after {\n    display: none;\n  }\n}\n.tooltip-content__content {\n  width: 336px;\n  font-size: 12px;\n  line-height: 14px;\n  color: #B3B3B3;\n  margin: 0 0 0 5px;\n}\n.tooltip-content__icon {\n  color: #808080;\n}\n.tooltip-content__title {\n  font-weight: 500;\n  font-size: 12px;\n  line-height: 14px;\n  color: #4D4D4D;\n  margin: 0 0 10px;\n}\n.tooltip-content__text {\n  font-size: 12px;\n  line-height: 14px;\n  color: #4D4D4D;\n}',""]),c.exports=r.toString()},85709:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.tooltip-info {\n  position: relative;\n}\n.tooltip-info--active-tooltip::ng-deep .custom__tooltip__wrapper {\n  display: block;\n}\n@media (max-width: 991.98px) {\n  .tooltip-info--active-tooltip::ng-deep .custom__tooltip__wrapper {\n    display: none;\n  }\n}\n@media (max-width: 991.98px) {\n  .tooltip-info--active-tooltip .tooltip-info__icon {\n    color: #3C91DC;\n  }\n}\n@media (max-width: 991.98px) {\n  .tooltip-info--active-tooltip .tooltip-info__mobile {\n    display: block;\n    transform: translate(-90%, 20px);\n    z-index: 100;\n  }\n}\n@media (max-width: 767.98px) {\n  .tooltip-info--active-tooltip .tooltip-info__mobile {\n    transform: translate(-50%, 20px);\n  }\n}\n.tooltip-info__mobile {\n  display: none;\n  position: absolute;\n}",""]),c.exports=r.toString()},49335:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.datepicker-container {\n  position: relative;\n  display: inline-block;\n}\n.datepicker-container--full {\n  display: block;\n}\n.datepicker-container--full .datepicker-container__input {\n  width: 100%;\n}\n.datepicker-container__input {\n  height: 48px;\n  padding: 25px 16px 8px;\n  margin: 0;\n}\n.datepicker-container__input.ng-touched.ng-valid, .datepicker-container__input.ng-touched.ng-invalid {\n  padding-right: 45px;\n}\n.datepicker-container__placeholder {\n  color: #1A1A1A;\n  font-size: 13px;\n  line-height: 15px;\n  opacity: 0.4;\n  pointer-events: none;\n  position: absolute;\n  left: 16px;\n  top: 50%;\n  transform: translateY(-50%);\n  transition: font-size 0.25s ease-in, line-height 0.25s ease-in, top 0.25s ease-in, transform 0.25s ease-in;\n}\n.not-empty + .datepicker-container__placeholder, .datepicker-container--input-focus .datepicker-container__placeholder {\n  font-size: 10px;\n  line-height: 12px;\n  transform: none;\n  top: 8px;\n}\n.datepicker-container__placeholder--required {\n  color: #C2002F;\n}\n.datepicker-container__button, .datepicker-container__button:active {\n  background-color: transparent;\n  border: 0;\n  position: absolute;\n  right: 5px;\n  top: 50%;\n  transform: translateY(-50%);\n  outline: none;\n}\n.datepicker-container__button:hover .datepicker-container__button-icon {\n  color: #0094FF;\n}",""]),c.exports=r.toString()},97031:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.address-card {\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 14px;\n  padding: 19px 20px;\n}\n.address-card__head {\n  display: flex;\n  align-items: center;\n  min-height: 40px;\n}\n@media (max-width: 575.98px) {\n  .address-card__head {\n    align-items: flex-start;\n  }\n}\n.address-card__info {\n  display: flex;\n  align-items: center;\n}\n@media (max-width: 575.98px) {\n  .address-card__info {\n    align-items: flex-start;\n  }\n}\n.address-card__icon--default {\n  color: #9CD1FF;\n}\n.address-card__icon--new {\n  color: #3C91DC;\n}\n.address-card__title {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  color: #4D4D4D;\n  margin: 0;\n  word-break: break-word;\n}\n.address-card__date {\n  color: #999999;\n  display: inline-block;\n  font-size: 16px;\n  font-weight: normal;\n  line-height: 19px;\n  margin-left: 10px;\n}\n.address-card__sub-title {\n  display: flex;\n  align-items: center;\n  font-weight: 400;\n  font-size: 13px;\n  line-height: 15px;\n  color: #808080;\n  gap: 16px;\n  margin-top: 3px;\n}\n@media (max-width: 575.98px) {\n  .address-card__sub-title {\n    flex-direction: column;\n    align-items: flex-start;\n    gap: 3px;\n  }\n}\n.address-card__sub-title--default {\n  color: #9CD1FF;\n}\n.address-card__sub-title-text {\n  font-weight: 400;\n  font-size: 13px;\n  line-height: 15px;\n  color: #4D4D4D;\n  margin-left: 4px;\n}\n.address-card__form {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  grid-column-gap: 15px;\n  grid-row-gap: 30px;\n}\n.address-card__icon {\n  cursor: pointer;\n  display: inline-block;\n}\n.address-card__icon:hover {\n  color: #0094FF;\n}\n.address-card__icon--disabled {\n  opacity: 0.5;\n}\n.address-card__add-icon {\n  color: #1C73C2;\n}\n.address-card__edit-icon {\n  margin-right: 20px;\n}\n.address-card__send-icon {\n  display: inline-block;\n  margin-left: 4px;\n  color: white;\n}\n.address-card__status-icon {\n  color: white;\n}\n.address-card__location-icon {\n  display: inline-block;\n}\n.address-card__buttons {\n  margin: 0 10px 0 auto;\n}\n.address-card__divider {\n  height: 1px;\n  background: #E5E5E5;\n  margin: 20px 0;\n  border: none;\n}\n.address-card::ng-deep .icon-button {\n  width: 24px;\n  height: 24px;\n  cursor: pointer;\n  margin-right: 22px;\n  display: inline-block;\n}\n.address-card--default {\n  background: #3C91DC;\n}\n.address-card--default .address-card__title,\n.address-card--default .address-card__sub-title-text {\n  color: white;\n}\n.address-card--default .address-card__location-icon {\n  color: white;\n}\n.address-card--new .address-card__title {\n  color: #3C91DC;\n}\n.address-card--new .address-card__head {\n  cursor: pointer;\n}\n.address-card:hover {\n  box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px rgba(0, 0, 0, 0.2), 0px 4px 8px rgba(0, 0, 0, 0.2);\n}\n.address-card__add-template-name-button {\n  background: transparent;\n  font-weight: 500;\n  font-size: 16px;\n  padding: 0;\n  margin-bottom: 3px;\n}\n.address-card__add-template-name-icon--default, .address-card__add-template-name-button--default {\n  color: #9CD1FF;\n}\n.address-card__add-template-name-icon--completed, .address-card__add-template-name-button--completed {\n  color: #999999;\n}\n.address-card__add-template-name-text {\n  line-height: 19px;\n  margin-right: 6px;\n}\n.address-card__add-template-name-form {\n  background: #fff;\n  box-shadow: inset 0px -1px 0px rgba(0, 0, 0, 0.07);\n  border-bottom-left-radius: 14px;\n  border-bottom-right-radius: 14px;\n  padding: 20px 20px 30px;\n  margin: 20px -20px -19px;\n}\n\n.set-active-tooltip {\n  color: #3C91DC;\n  padding-right: 10px;\n  white-space: normal;\n  max-width: 140px;\n}\n.set-active-tooltip__icon {\n  color: #3C91DC;\n  margin-right: 5px;\n}",""]),c.exports=r.toString()},37647:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,".profile__list-item + .profile__list-item {\n  margin-top: 10px;\n}\n\n.profile__divider {\n  margin: 30px 0;\n}\n.profile__divider--margin {\n  margin: 40px 0;\n}",""]),c.exports=r.toString()},97375:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.status {\n  font-size: 13px;\n  line-height: 15px;\n}\n.status__title {\n  color: #4D4D4D;\n}\n.status__status {\n  color: #FF6B00;\n}\n.status__status--active {\n  color: #00C000;\n}\n.status__status--not_approved {\n  color: #C2002F;\n}\n.status--default .status__title {\n  color: #9CD1FF;\n}\n.status--default .status__status {\n  color: white;\n}",""]),c.exports=r.toString()},97902:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.full-screen__header {\n  margin-bottom: 20px;\n}\n.full-screen__header-title {\n  font-size: 15px;\n  line-height: 16px;\n  color: #4D4D4D;\n  gap: 5px;\n}\n.full-screen__header-close {\n  display: flex;\n  justify-content: flex-end;\n  cursor: pointer;\n}\n.full-screen__header-icon {\n  color: #808080;\n}\n.full-screen::ng-deep #gridContainer {\n  max-height: calc(100vh - 260px);\n}\n.full-screen::ng-deep .report-result--window {\n  padding: 20px 0 34px;\n}\n\n.add-items__add-selected {\n  display: flex;\n  justify-content: flex-end;\n  padding: 20px;\n}\n.add-items__button {\n  width: 100%;\n  max-width: 285px;\n}",""]),c.exports=r.toString()},60184:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.full-screen__header {\n  margin-bottom: 20px;\n}\n.full-screen__header-title {\n  font-size: 15px;\n  line-height: 16px;\n  color: #4D4D4D;\n  gap: 5px;\n}\n.full-screen__header-close {\n  display: flex;\n  justify-content: flex-end;\n  cursor: pointer;\n}\n.full-screen__header-icon {\n  color: #808080;\n}\n.full-screen::ng-deep #gridContainer {\n  max-height: calc(100vh - 260px);\n}\n.full-screen::ng-deep .report-result--window {\n  padding: 20px 0 34px;\n}\n\n.full-screen::ng-deep .toggle-card__header {\n  border-radius: 0 !important;\n}\n.full-screen::ng-deep .report-result--window {\n  padding: 20px 0 34px;\n}\n\n.claimed-items__buttons {\n  display: flex;\n  align-items: center;\n  justify-content: flex-end;\n}\n@media (max-width: 767.98px) {\n  .claimed-items__buttons {\n    flex-direction: column;\n  }\n}\n.claimed-items__buttons--grey {\n  background: linear-gradient(0deg, rgba(242, 242, 242, 0.5), rgba(242, 242, 242, 0.5)), #FFFFFF;\n  border-radius: 0 0 7px 7px;\n}\n.claimed-items__divider {\n  border: 0;\n  border-top: 1px solid rgba(0, 0, 0, 0.1);\n  margin: 0;\n}\n.claimed-items__button {\n  width: 100%;\n  max-width: 285px;\n}\n@media (max-width: 767.98px) {\n  .claimed-items__button {\n    max-width: unset;\n  }\n}\n.claimed-items__files-errors {\n  background: linear-gradient(0deg, rgba(242, 242, 242, 0.5), rgba(242, 242, 242, 0.5)), #FFFFFF;\n  padding-left: 20px;\n}",""]),c.exports=r.toString()},61412:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.full-screen__header {\n  margin-bottom: 20px;\n}\n.full-screen__header-title {\n  font-size: 15px;\n  line-height: 16px;\n  color: #4D4D4D;\n  gap: 5px;\n}\n.full-screen__header-close {\n  display: flex;\n  justify-content: flex-end;\n  cursor: pointer;\n}\n.full-screen__header-icon {\n  color: #808080;\n}\n.full-screen::ng-deep #gridContainer {\n  max-height: calc(100vh - 260px);\n}\n.full-screen::ng-deep .report-result--window {\n  padding: 20px 0 34px;\n}\n\n.full-screen::ng-deep .dx-selection {\n  background-color: #D0E9FF !important;\n}\n.full-screen::ng-deep .dx-selection:nth-child(even) td {\n  background-color: #D0E9FF !important;\n}",""]),c.exports=r.toString()},75270:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.data-grid__input {\n  min-height: 20px;\n  max-height: 30px;\n  width: 100%;\n  border: none;\n  background: transparent;\n  outline: none;\n}\n.data-grid__button-icon {\n  background-color: transparent;\n  padding: 5px;\n  color: inherit;\n}\n.data-grid__button-icon svg-icon-sprite {\n  color: inherit;\n}\n.data-grid__button-icon:hover svg-icon-sprite {\n  color: #3C91DC;\n}",""]),c.exports=r.toString()},17910:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.full-screen__header {\n  margin-bottom: 20px;\n}\n.full-screen__header-title {\n  font-size: 15px;\n  line-height: 16px;\n  color: #4D4D4D;\n}\n.full-screen__header-close {\n  display: flex;\n  justify-content: flex-end;\n  cursor: pointer;\n}\n.full-screen__header-icon {\n  color: #808080;\n}\n.full-screen::ng-deep #gridContainer {\n  height: calc(100vh - 300px);\n}\n.full-screen cx-pagination {\n  margin: 15px 0;\n}",""]),c.exports=r.toString()},51238:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n:host {\n  display: block;\n}\n\n@media (max-width: 991.98px) {\n  .report-result {\n    max-width: calc(100vw - 30px);\n  }\n}\n.report-result--window {\n  padding: 20px 20px 34px;\n}\n.report-result__select {\n  display: block;\n  margin-bottom: 20px;\n}\n.report-result__my-views {\n  margin-bottom: 30px;\n}\n.report-result__grid {\n  position: relative;\n}\n.report-result__search-wrapper {\n  position: absolute;\n  top: 11px;\n  z-index: 2;\n  display: flex;\n  width: calc(100% - 200px);\n  justify-content: space-between;\n  align-items: center;\n}\n@media (max-width: 1199.98px) {\n  .report-result__search-wrapper {\n    position: static;\n    width: 100%;\n    margin-bottom: 10px;\n  }\n}\n.report-result__search-date {\n  font-size: 12px;\n  line-height: 14px;\n  color: #999999;\n}\n.report-result__buttons {\n  position: relative;\n  top: -1px;\n  display: flex;\n  align-items: center;\n}\n.report-result__export-dropdown {\n  position: absolute;\n  top: 30px;\n  left: 20px;\n  transform: translateX(-100%);\n  background-color: #fff;\n  padding: 10px;\n  border-radius: 7px;\n  box-shadow: 0 16px 16px rgba(0, 0, 0, 0.1), 0 0 8px rgba(0, 0, 0, 0.15);\n  z-index: 2;\n}\n.report-result__button {\n  background: none;\n  padding: 0;\n}\n.report-result__button--active .report-result__button-icon {\n  color: #3C91DC;\n}\n.report-result__button:hover .report-result__button-icon {\n  color: #3C91DC;\n}\n.report-result__button:not(:last-of-type) {\n  margin-right: 20px;\n}\n.report-result__export-button-dropdown {\n  font-size: 13px;\n  line-height: 19px;\n  color: #1A1A1A;\n  background-color: #fff;\n}\n.report-result__export-button-dropdown:hover {\n  color: #3C91DC;\n}\n.report-result__dropdown-wrapper {\n  position: relative;\n  margin-right: 17px;\n}\n@media (max-width: 1199.98px) {\n  .report-result__dropdown-wrapper:last-child {\n    margin-right: 0;\n  }\n}\n.report-result__scrollbar {\n  max-height: 400px;\n  width: 200px;\n}\n.report-result__dropdown {\n  position: absolute;\n  top: 30px;\n  right: 0;\n  background-color: #fff;\n  border-radius: 7px;\n  box-shadow: 0 16px 16px rgba(0, 0, 0, 0.1), 0 0 8px rgba(0, 0, 0, 0.15);\n  z-index: 2;\n}\n.report-result__dropdown-search {\n  border-bottom: 1px solid #E5E5E5;\n  padding: 0 10px;\n}\n.report-result__empty {\n  color: #999999;\n  font-size: 13px;\n  line-height: 19px;\n}\n.report-result__dropdown-body {\n  padding: 10px;\n}\n.report-result__column-checkbox:not(:last-of-type) {\n  margin-bottom: 10px;\n}\n.report-result__column-checkbox-title {\n  font-size: 13px;\n  line-height: 19px;\n  color: #1A1A1A;\n}\n.report-result__field {\n  padding: 6px 0;\n  font-size: 13px;\n  line-height: 15px;\n}\n.report-result__field-checkbox {\n  position: unset;\n  margin: 0 10px 0 0;\n  width: 16px;\n  height: 16px;\n}",""]),c.exports=r.toString()},25586:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.data-grid__input {\n  max-height: 18px;\n  width: 80%;\n  border: none;\n  background: transparent;\n  outline: none;\n}\n.data-grid__button-icon {\n  background-color: transparent;\n  padding: 5px;\n  color: inherit;\n}\n.data-grid__button-icon svg-icon-sprite {\n  color: inherit;\n}\n.data-grid__button-icon:hover svg-icon-sprite {\n  color: #3C91DC;\n}\n.data-grid__select-wrapper {\n  position: relative;\n  width: 300px;\n}\n.data-grid__select {\n  display: block;\n}\n.data-grid::ng-deep .dx-column-indicators {\n  float: right !important;\n}\n.data-grid::ng-deep .dx-column-indicators .dx-header-filter:before {\n  font-size: 9px;\n}\n.data-grid__attach-icon {\n  margin-right: 6px;\n}\n.data-grid__attach-item {\n  padding: 2px 0;\n  cursor: pointer;\n}\n.data-grid__attach-item:hover .data-grid__attach-icon {\n  color: #3C91DC;\n}\n.data-grid__attach-item:hover .data-grid__attach-link {\n  color: #3C91DC;\n}\n.data-grid__link {\n  color: #3C91DC;\n}\n.data-grid__link:hover {\n  color: #1C73C2;\n}\n.data-grid__array-item {\n  margin-bottom: 5px;\n}\n.data-grid.with-disabled::ng-deep .dx-datagrid .dx-datagrid-rowsview .dx-datagrid-table tr td {\n  background: #fff;\n}\n.data-grid.with-disabled::ng-deep .dx-datagrid .dx-datagrid-rowsview .dx-datagrid-table .disabled td {\n  background: rgb(242, 242, 242);\n}\n\n:host::ng-deep .dx-datagrid-content .dx-datagrid-table .dx-row > td, .dx-datagrid-content .dx-datagrid-table .dx-row > tr > td {\n  vertical-align: middle;\n}\n\n:host ::ng-deep .data-grid .dx-datagrid-content .dx-datagrid-table .dx-row .dx-command-select {\n  width: 40px;\n  min-width: 40px;\n  max-width: 40px;\n}\n\n:host ::ng-deep .data-grid .dx-datagrid-content .dx-datagrid-table .dx-row .dx-datagrid-action {\n  width: 80px;\n  min-width: 80px;\n  max-width: 150px;\n}\n\n:host ::ng-deep .dx-datagrid-nowrap .dx-header-row > td > .dx-datagrid-text-content {\n  white-space: pre-line;\n  max-width: 150px;\n  margin-right: 8px;\n}\n\n:host::ng-deep .dx-datagrid-content .dx-datagrid-table .dx-row > td,\n.dx-datagrid-content .dx-datagrid-table .dx-row > tr > td {\n  vertical-align: middle;\n}",""]),c.exports=r.toString()},49493:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,".edi-dashboard__proceed-order {\n  display: grid;\n  gap: 6px;\n  grid-template-columns: 1fr 285px 285px;\n  padding: 20px;\n}\n.edi-dashboard__archive {\n  display: flex;\n  justify-content: flex-end;\n  padding: 20px;\n}\n.edi-dashboard__group-editing, .edi-dashboard__proceed-order-button, .edi-dashboard__to-archive, .edi-dashboard__to-dashboard {\n  width: 100%;\n  max-width: 285px;\n}\n\n.checkbox-group {\n  display: grid;\n  gap: 6px;\n  grid-template-rows: 20px 20px;\n  width: max-content;\n  margin: 20px;\n}",""]),c.exports=r.toString()},63981:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.input-editable {\n  display: inline-block;\n  padding-right: 30px;\n  position: relative;\n  white-space: nowrap;\n}\n.input-editable.is-focused:before {\n  background-color: #fff;\n  border: 1px solid #0094FF;\n  border-radius: 7px;\n  content: "";\n  position: absolute;\n  top: -8px;\n  bottom: -8px;\n  left: -16px;\n  right: -16px;\n  z-index: -1;\n}\n.input-editable__label, .input-editable__suggest {\n  color: #999999;\n  font-size: 10px;\n  line-height: 12px;\n  margin-bottom: 5px;\n}\n.input-editable__input, .input-editable__units {\n  color: #4D4D4D;\n  font-size: 13px;\n  font-weight: 500;\n  line-height: 15px;\n}\n.input-editable__label {\n  white-space: nowrap;\n}\n.input-editable__units {\n  margin-left: 3px;\n}\n.input-editable__suggest {\n  margin-left: 3px;\n}\n.input-editable__icon {\n  cursor: pointer;\n  position: absolute;\n  right: 0;\n  top: 50%;\n  transform: translateY(-50%);\n}',""]),c.exports=r.toString()},12337:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.label {\n  margin: 0;\n}\n\n.field-group {\n  position: relative;\n  /*  we use this checkbox in app-configure-boolean and mb some other components */\n}\n.field-group__label {\n  color: #1A1A1A;\n  font-size: 13px;\n  line-height: 15px;\n  opacity: 0.4;\n  pointer-events: none;\n  position: absolute;\n  left: 16px;\n  top: 50%;\n  transform: translateY(-50%);\n  transition: font-size 0.25s ease-in, line-height 0.25s ease-in, top 0.25s ease-in, transform 0.25s ease-in;\n}\n:host(.not-empty) .field-group__label, :host(.is-focus) .field-group__label {\n  font-size: 10px;\n  line-height: 12px;\n  transform: none;\n  top: 8px;\n}\n.field-group__label--required {\n  color: #C2002F;\n}\n.field-group__label-remaining {\n  margin-left: 4px;\n  color: #666666;\n}\n.field-group__option {\n  display: none;\n}\n:host(.not-empty) .field-group__option, :host(.is-focus) .field-group__option {\n  display: unset;\n}\n.field-group__field {\n  padding: 25px 16px 8px;\n  margin: 0;\n}\n.field-group__field.ng-touched.ng-valid, .field-group__field.ng-touched.ng-invalid {\n  padding-right: 45px;\n}\n.field-group__field.ng-touched.ng-valid + .field-group__icon-wrapper:empty {\n  background-image: url(/assets/icons/check.svg);\n  cursor: pointer;\n}\n.field-group__field.ng-invalid.ng-touched + .field-group__icon-wrapper:empty, .field-group__field.ng-invalid.ng-dirty + .field-group__icon-wrapper:empty {\n  background-image: url(/assets/icons/dissatisfied.svg);\n}\n.field-group__field--read-only {\n  cursor: default;\n}\n.field-group__icon-wrapper {\n  position: absolute;\n  right: 18px;\n  top: 50%;\n  transform: translateY(-50%);\n}\n.field-group__icon-wrapper:empty {\n  width: 18px;\n  height: 18px;\n}\n.field-group__password-strength-info {\n  display: none;\n  position: absolute;\n  top: 50%;\n  transform: translateY(-50%);\n  min-width: 210px;\n  z-index: 1;\n}\n@media (max-width: 575.98px) {\n  .field-group__password-strength-info {\n    left: 45%;\n  }\n}\n@media (min-width: 576px) and (max-width: 991.98px) {\n  .field-group__password-strength-info {\n    left: 60%;\n  }\n}\n@media (min-width: 992px) {\n  .field-group__password-strength-info {\n    left: 100%;\n  }\n}\n:host(.is-focus) .field-group__password-strength-info {\n  display: block;\n}\n.field-group_checkbox input {\n  width: 16px;\n  height: 16px;\n  position: absolute;\n  opacity: 0;\n}\n.field-group_checkbox input ~ .field-group__icon-wrapper {\n  display: none;\n}\n.field-group_checkbox input ~ .field-group__label {\n  display: inline-block;\n  line-height: 16px;\n  opacity: 1;\n  position: static;\n  padding-left: 23px;\n  vertical-align: top;\n}\n.field-group_checkbox input ~ .field-group__label:before {\n  background: url("/assets/icons/checkbox.svg");\n  content: "";\n  display: block;\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 16px;\n  height: 16px;\n}\n.field-group_checkbox input:checked ~ .field-group__label:before {\n  background: url("/assets/icons/checkbox_checked.svg");\n}\n.field-group_checkbox input:disabled ~ .field-group__label:before {\n  background: url("/assets/icons/checkbox_disabled.svg");\n}\n\n.is-invalid {\n  background-image: none;\n}',""]),c.exports=r.toString()},15229:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n:host::ng-deep .ng-dropdown-panel.ng-select-top {\n  bottom: unset;\n}\n:host::ng-deep .ng-select.ng-select-search .ng-dropdown-header,\n:host::ng-deep .ng-dropdown-panel .ng-dropdown-footer {\n  padding: 0 !important;\n  border-top: none !important;\n}\n:host::ng-deep .ng-select.ng-select-search .input {\n  border-bottom: none !important;\n  margin: 0 16px;\n}\n:host::ng-deep .ng-select .ng-dropdown-panel .ng-dropdown-panel-items {\n  padding: 0 0 14px;\n  max-height: 120px;\n}\n:host::ng-deep .ng-select.ng-select-search .input__cancel-icon {\n  width: auto;\n  height: auto;\n}\n:host::ng-deep .ng-option {\n  padding: 0 !important;\n}\n:host::ng-deep .ng-option:last-child {\n  border-radius: 0 !important;\n}\n:host::ng-deep .ng-option-selected .create-view__item {\n  color: #3C91DC;\n}\n:host::ng-deep .ng-option-selected .create-view__icon-button svg-icon-sprite {\n  color: #3C91DC !important;\n}\n:host::ng-deep .ng-option-marked {\n  background-color: #3C91DC !important;\n}\n:host::ng-deep .ng-option-marked .create-view__item {\n  color: white;\n}\n:host::ng-deep .ng-option-marked .create-view__item:hover {\n  color: white;\n}\n:host::ng-deep .ng-option-marked .create-view__icon-button svg-icon-sprite {\n  color: white !important;\n}\n\n.create-view__header {\n  border-bottom: 1px solid rgba(0, 0, 0, 0.07);\n  padding: 1px 0;\n  background-color: #fff;\n}\n.create-view__footer {\n  background-color: #fff;\n  padding: 0 16px;\n}\n.create-view__create-text {\n  font-size: 13px;\n  line-height: 19px;\n  color: #3C91DC;\n  margin: 0 0 10px;\n}\n.create-view__view-name {\n  width: 100%;\n  display: block;\n  margin-bottom: 20px;\n}\n.create-view__view-name--error {\n  font-size: 11px;\n  line-height: 13px;\n  margin-top: 3px;\n  padding: 0 15px;\n  color: #C2002F;\n}\n.create-view__visible {\n  display: block;\n  margin-bottom: 20px;\n}\n.create-view__save-button {\n  display: flex;\n  justify-content: flex-end;\n  margin-bottom: 16px;\n}\n.create-view__not-views-found {\n  font-size: 13px;\n  line-height: 19px;\n  color: #B3B3B3;\n  margin: 6px 16px;\n}\n.create-view__divider {\n  display: block;\n  height: 1px;\n  background-color: rgba(0, 0, 0, 0.07);\n  margin: 0 0 10px;\n  border: none;\n}\n.create-view__item {\n  background-color: transparent !important;\n  font-size: 13px;\n  line-height: 19px;\n  color: #1A1A1A;\n  display: flex;\n  align-items: center;\n}\n.create-view__item:hover {\n  color: #3C91DC;\n}\n.create-view__icon-button {\n  background: transparent;\n  padding: 0 5px;\n  border: none;\n}\n.create-view__icon-button svg-icon-sprite {\n  color: #808080;\n}\n.create-view__view-input {\n  border: none;\n  font-size: 13px;\n  line-height: 15px;\n  color: #1A1A1A;\n  background-color: transparent;\n  width: 100%;\n  padding: 0;\n}\n.create-view__view-input::placeholder {\n  font-size: 13px;\n  line-height: 15px;\n  color: #1A1A1A;\n}\n.create-view__option-wrapper {\n  display: flex;\n  padding: 5px 16px;\n}\n.create-view__option-wrapper--edit {\n  padding: 0 16px;\n  background: linear-gradient(0deg, rgba(242, 242, 242, 0.5), rgba(242, 242, 242, 0.5)), #FFFFFF;\n  box-shadow: inset 2px 0px 0px #FF6B00;\n}\n.create-view__option-wrapper--edit .create-view__icon-button svg-icon-sprite {\n  color: #808080 !important;\n}\n.create-view__option-wrapper--edit .create-view__item {\n  color: #1A1A1A;\n}\n.create-view__input-wrapper {\n  width: 100%;\n  display: flex;\n  justify-content: space-between;\n  opacity: 1 !important;\n}",""]),c.exports=r.toString()},7345:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.contracts__search, .multi-select__search {\n  position: relative;\n}\n.contracts__search ::ng-deep .form-control, .multi-select__search ::ng-deep .form-control {\n  border-radius: 0 !important;\n  border: 0 transparent !important;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  padding: 16px 43px;\n}\n.contracts__search ::ng-deep .field-group__label, .multi-select__search ::ng-deep .field-group__label {\n  padding-left: 20px;\n}\n.contracts__search ::ng-deep.not-empty .field-group__label, .multi-select__search ::ng-deep.not-empty .field-group__label {\n  display: none;\n}\n.contracts__search ::ng-deep.is-focus .field-group__label, .multi-select__search ::ng-deep.is-focus .field-group__label {\n  top: 5px !important;\n}\n.contracts__search--icon, .multi-select__search--icon {\n  margin: 15px 8px 15px 16px;\n  position: absolute;\n  z-index: 3;\n}\n.contracts__search--reset, .multi-select__search--reset {\n  margin: 15px 16px 15px 8px;\n  position: absolute;\n  z-index: 3;\n  right: 0;\n  top: 0;\n  cursor: pointer;\n}\n.contracts__search--reset:hover, .multi-select__search--reset:hover {\n  color: #3C91DC;\n}\n\n.multi-select {\n  background: #F2F2F2;\n  border-radius: 8px;\n  margin-bottom: 20px;\n}\n.multi-select--error {\n  background-color: #FFEBEB;\n  color: #AF002A;\n}\n.multi-select__title {\n  padding: 20px 16px;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  color: #4D4D4D;\n}\n.multi-select__title--error {\n  color: #AF002A;\n}\n.multi-select__search--error ::ng-deep .form-control {\n  background-color: transparent;\n}\n.multi-select__search--error ::ng-deep .form-control:focus {\n  background-color: #FFF;\n}\n.multi-select__scrollbar {\n  max-height: 152px;\n}\n.multi-select__content {\n  padding: 6px 16px;\n}\n.multi-select__field {\n  padding: 6px 0;\n  font-size: 13px;\n  line-height: 15px;\n}\n.multi-select__field-checkbox {\n  position: unset;\n  margin: 0 10px 0 0;\n  width: 16px;\n  height: 16px;\n}\n\n.selected-items__chips {\n  margin-top: 12px;\n}\n.selected-items__chips:empty {\n  display: none;\n}\n.selected-items__chips-item {\n  display: inline-block;\n  background: #D0E9FF;\n  border-radius: 16px;\n  padding: 7px;\n  margin: 2px;\n  font-size: 12px;\n  line-height: 14px;\n  color: #1C73C2;\n}\n.selected-items__chips-item:hover {\n  text-decoration: none;\n  background: #3C91DC;\n  color: white;\n}\n.selected-items__chips-item:hover .not-hover {\n  display: none;\n}\n.selected-items__chips-item:hover .hover {\n  display: inline;\n}\n.selected-items__chips-item + .selected-items__chips-item {\n  margin-top: 10px;\n}\n.selected-items .hover {\n  display: none;\n}\n.selected-items__title {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  color: #808080;\n}\n.selected-items__clear {\n  font-size: 14px;\n  line-height: 16px;\n  color: #3C91DC;\n  cursor: pointer;\n}\n.selected-items__clear--disabled {\n  color: #B3B3B3;\n  cursor: unset;\n}",""]),c.exports=r.toString()},10413:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,".ng-select.ng-select-multiple ::ng-deep .ng-select-container .ng-value-container .ng-placeholder {\n  padding-bottom: 0;\n  top: 50%;\n}",""]),c.exports=r.toString()},50369:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,".ng-select.ng-select-multiple ::ng-deep .ng-select-container .ng-value-container .ng-placeholder {\n  padding-bottom: 0;\n  top: 50%;\n}",""]),c.exports=r.toString()},46479:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.ng-select.ng-select-default ::ng-deep .ng-select-container {\n  background-color: #F2F2F2;\n  border-color: transparent;\n  border-radius: 7px;\n  border-style: solid;\n  border-width: 1px;\n  color: #1A1A1A;\n  font-size: 13px;\n  line-height: 15px;\n  padding: 25px 15px 8px 16px;\n  position: relative;\n  height: 48px;\n}\n.ng-select.ng-select-default ::ng-deep .ng-select-container .ng-value-container {\n  padding-left: 0;\n}\n.ng-select.ng-select-default ::ng-deep .ng-select-container .ng-value-container .ng-input > input {\n  padding: 0;\n}\n.ng-select.ng-select-default ::ng-deep .ng-select-container .ng-value-container .ng-value .ng-value-label {\n  opacity: 1;\n}\n.ng-select.ng-select-default ::ng-deep .ng-select-container .ng-value-container .ng-placeholder {\n  color: #1A1A1A;\n  font-size: 13px;\n  line-height: 15px;\n  opacity: 0.4;\n  pointer-events: none;\n  position: absolute;\n  left: 16px;\n  top: 50%;\n  transform: translateY(-50%);\n  transition: font-size 0.25s ease-in, line-height 0.25s ease-in, top 0.25s ease-in, transform 0.25s ease-in;\n}\n.ng-select.ng-select-default ::ng-deep .ng-arrow-wrapper {\n  background: url(/assets/icons/expand_more.svg);\n  display: inline-block;\n  width: 18px;\n  height: 18px;\n  padding: 0;\n  transition: transform 0.25s ease-in;\n  bottom: 8px;\n  right: 0;\n  opacity: 1;\n}\n.ng-select.ng-select-default ::ng-deep .ng-arrow-wrapper .ng-arrow {\n  display: none;\n}\n.ng-select.ng-select-default ::ng-deep .ng-clear-wrapper {\n  position: absolute;\n  right: 28px;\n  bottom: 15px;\n  opacity: 1;\n}\n.ng-select.ng-select-default ::ng-deep.ng-select-opened .ng-arrow-wrapper {\n  transform: rotate(180deg);\n}\n.ng-select.ng-select-default ::ng-deep.ng-select-filtered .ng-placeholder {\n  display: block;\n  font-size: 10px !important;\n  line-height: 12px !important;\n  transform: none !important;\n  top: 8px !important;\n}\n.ng-select.ng-select-default ::ng-deep span {\n  font-size: 13px;\n  line-height: 15px;\n  color: #1A1A1A;\n  opacity: 1;\n}\n\n.ng-select .desc-title {\n  display: flex;\n  align-items: baseline;\n  margin: 0;\n}\n.ng-select .desc-title--disabled {\n  opacity: 0.4;\n}\n.ng-select .desc-title--disabled .desc-title__description {\n  opacity: 1;\n}\n.ng-select .desc-title__description {\n  font-size: 12px;\n  line-height: 14px;\n  display: flex;\n  align-items: center;\n  color: #1A1A1A;\n  opacity: 0.4;\n  margin-left: 4px;\n}\n.ng-select .ng-input {\n  display: none !important;\n}\n\n:host::ng-deep .ng-select .ng-option-marked .desc-title__description {\n  color: white;\n}\n:host::ng-deep .ng-select .ng-option-marked .checkbox-group__label {\n  color: white;\n}\n:host::ng-deep .ng-select.ng-invalid.ng-touched .ng-select-container {\n  background-color: #FFEBEB !important;\n  border: 1px solid #C2002F !important;\n}\n:host::ng-deep .ng-select.ng-invalid.ng-touched .ng-placeholder {\n  color: #C2002F !important;\n}\n:host::ng-deep .ng-select.ng-select-multiple .ng-option {\n  padding: 0 !important;\n}\n\n.ng-select.ng-select-multiple::ng-deep .ng-select-container .ng-value-container {\n  padding-top: 0;\n  flex-wrap: nowrap;\n}\n.ng-select.ng-select-multiple::ng-deep .ng-select-container .ng-value-container .ng-placeholder {\n  padding: 0;\n}\n.ng-select.ng-select-multiple::ng-deep .ng-option {\n  padding: 0 !important;\n}\n\n.ng-select.ng-select-disabledCustom::ng-deep .ng-option {\n  padding: 0 !important;\n}\n.ng-select.ng-select-disabledCustom::ng-deep .desc-title {\n  padding: 5px 16px !important;\n}",""]),c.exports=r.toString()},19119:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.textarea {\n  border: 1px solid transparent;\n  border-radius: 7px;\n  overflow: hidden;\n  position: relative;\n  background-color: #F2F2F2;\n}\n.textarea__label {\n  cursor: text;\n  font-size: 13px;\n  line-height: 15px;\n  height: 16px;\n  position: absolute;\n  top: 16px;\n  left: 16px;\n  transition: all 0.15s ease-in-out;\n  background: transparent;\n}\n.textarea__field {\n  border: none;\n  display: block;\n  width: 100%;\n  padding: 15px 0 0 16px;\n  background-color: #F2F2F2;\n  color: #1A1A1A;\n  font-size: 13px;\n  line-height: 15px;\n}\n.textarea__label-remaining {\n  color: #1A1A1A;\n  opacity: 0.3;\n}\n.textarea__label-placeholder {\n  color: #1A1A1A;\n  opacity: 0.5;\n  padding-right: 4px;\n}\n.textarea:hover {\n  background-color: white;\n  border-color: #999999;\n}\n.textarea:hover .textarea__field {\n  background-color: white;\n}\n.textarea--focus {\n  padding: 0;\n  background-color: white;\n  border-color: #0094FF !important;\n}\n.textarea--focus .textarea__label {\n  font-size: 10px;\n  line-height: 12px;\n  position: relative;\n  padding-top: 3px;\n  top: 0;\n}\n.textarea--focus .textarea__field {\n  padding: 0 0 0 16px;\n  background-color: white;\n}\n.textarea--has-value {\n  padding: 0;\n}\n.textarea--has-value .textarea__label {\n  font-size: 10px;\n  line-height: 12px;\n  position: relative;\n  padding-top: 3px;\n  top: 0;\n}\n.textarea--has-value .textarea__field {\n  padding: 0 16px;\n}\n.textarea--error {\n  background-color: #FFEBEB;\n}\n.textarea--error .textarea__label-placeholder,\n.textarea--error .textarea__label-remaining {\n  color: #C2002F;\n}",""]),c.exports=r.toString()},55325:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"",""]),c.exports=r.toString()},54157:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.footer-contacts__title {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  text-transform: uppercase;\n  color: #333333;\n  margin: 0 0 26px;\n}\n.footer-contacts__buttons-wrapper {\n  display: flex;\n  align-items: center;\n}\n@media (max-width: 991.98px) {\n  .footer-contacts__buttons-wrapper {\n    display: block;\n  }\n}\n.footer-contacts__button {\n  display: flex;\n  align-items: center;\n}\n.footer-contacts__button:not(:last-of-type) {\n  margin-right: 10px;\n}\n@media (max-width: 991.98px) {\n  .footer-contacts__button:not(:last-of-type) {\n    margin: 0 0 10px;\n  }\n}\n.footer-contacts__button-icon {\n  color: #3C91DC;\n  margin-right: 5px;\n}\n.footer-contacts .btn:hover .footer-contacts__button-icon,\n.footer-contacts .btn:focus .footer-contacts__button-icon,\n.footer-contacts .btn:active .footer-contacts__button-icon {\n  color: white;\n}",""]),c.exports=r.toString()},91833:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.footer {\n  color: #808080;\n}\n.footer__top, .footer__bottom {\n  padding: 50px 45px;\n}\n@media (min-width: 576px) {\n  .footer__top, .footer__bottom {\n    padding: 40px 30px;\n  }\n}\n@media (min-width: 768px) {\n  .footer__top, .footer__bottom {\n    padding: 45px 30px;\n  }\n}\n@media (min-width: 1200px) {\n  .footer__top, .footer__bottom {\n    padding: 40px 0;\n  }\n}\n.footer__top {\n  background: #F2F2F2;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n}\n.footer__bottom {\n  background: #FFFFFF;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n}\n@media (max-width: 575.98px) {\n  .footer__bottom {\n    padding-top: 0;\n  }\n}\n.footer__bottom--trading {\n  padding-top: 50px;\n}\n.footer__bottom-content {\n  display: flex;\n  gap: 30px;\n}\n@media (max-width: 575.98px) {\n  .footer__bottom-content {\n    flex-direction: column-reverse;\n    gap: 0;\n  }\n}\n@media (max-width: 575.98px) {\n  .footer__bottom-left {\n    display: flex;\n    flex-direction: column-reverse;\n  }\n}\n.footer__bottom-left--top {\n  display: flex;\n  align-items: center;\n  flex-wrap: wrap;\n  gap: 15px;\n}\n.footer__block {\n  padding-bottom: 30px;\n}\n@media (min-width: 576px) {\n  .footer__block {\n    padding-bottom: 40px;\n  }\n}\n.footer__title {\n  color: #333333;\n  font-style: normal;\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  text-transform: uppercase;\n  margin-bottom: 15px;\n  white-space: nowrap;\n}\n.footer__bottom .footer__title {\n  margin-bottom: 20px;\n}\n.footer__title-link:hover {\n  color: #3C91DC;\n}\n.footer__agreement {\n  font-size: 11px;\n  line-height: 13px;\n  margin-bottom: 20px;\n}\n@media (min-width: 576px) {\n  .footer__agreement {\n    margin-bottom: 0;\n  }\n}\n.footer__copyright {\n  font-size: 14px;\n  line-height: 20px;\n  margin-bottom: 20px;\n}\n.footer__trading-nlmk {\n  font-size: 16px;\n  line-height: 22px;\n}\n.footer__trading-button {\n  flex-shrink: 0;\n  height: 100%;\n  padding: 9px 80px;\n  font-weight: 500;\n  font-size: 15px;\n  line-height: 18px;\n}\n.footer-link {\n  color: #3C91DC;\n  cursor: pointer;\n}\n.footer-nav {\n  width: max-content;\n  max-width: 100%;\n}\n.footer-nav + .footer-nav {\n  margin-top: 11px;\n}\n.footer-nav__link {\n  font-size: 13px;\n  line-height: 15px;\n}\n.footer-nav__link:hover {\n  color: #3C91DC;\n  cursor: pointer;\n}\n.footer-nav__link:hover .footer-nav__link-icon {\n  color: #3C91DC;\n}\n.footer-nav__link--is-open {\n  color: #3C91DC;\n}\n.footer-nav__link-icon {\n  margin-left: 3px;\n}\n.footer-nav__link-icon--is-open {\n  color: #3C91DC;\n  transform: rotate(180deg);\n}\n.footer-nav__products {\n  display: flex;\n  flex-direction: column;\n  position: absolute;\n  margin-left: -20px;\n  margin-top: 8px;\n  padding: 21px 20px;\n  min-width: 200px;\n  background: #FFFFFF;\n  box-shadow: 0 16px 16px rgba(0, 0, 0, 0.1), 0 0 8px rgba(0, 0, 0, 0.15);\n  border-radius: 14px;\n  z-index: 2;\n}\n.footer-nav__products-link {\n  max-width: max-content;\n  width: 100%;\n  color: #1A1A1A;\n  font-size: 13px;\n  line-height: 16px;\n}\n.footer-nav__products-link:hover {\n  color: #3C91DC;\n  cursor: pointer;\n}\n.footer-nav__products-link + .footer-nav__products-link {\n  margin-top: 10px;\n}\n\n.footer__contact {\n  color: #808080;\n  font-weight: 500;\n  font-size: 20px;\n  line-height: 23px;\n  white-space: nowrap;\n  display: flex;\n  margin-bottom: 15px;\n}\n.footer__contact-icon {\n  margin-right: 6px;\n}\n.footer__contact-desc {\n  font-size: 13px;\n  line-height: 32px;\n  white-space: nowrap;\n}\n.footer__contact--s {\n  font-size: 13px;\n  line-height: 15px;\n  margin-bottom: 15px;\n}\n.footer__contact--colored {\n  color: #3C91DC;\n}\n\n.subscribe {\n  background-color: #F2F2F2;\n  border-radius: 4px;\n  display: inline-block;\n  height: 36px;\n  width: 100%;\n  min-width: 210px;\n  overflow: hidden;\n  padding: 4px;\n  position: relative;\n}\n@media (max-width: 575.98px) {\n  .subscribe {\n    margin-bottom: 20px;\n  }\n}\n.subscribe__input {\n  border: 0;\n  height: 100%;\n  width: 100%;\n  outline: 0;\n  padding: 5px 55px 0 10px;\n}\n.subscribe__input:hover, .subscribe__input:active, .subscribe__input:focus {\n  background-color: #F2F2F2;\n}\n.subscribe__button {\n  background: #FF6B00;\n  border: 0;\n  border-radius: 4px;\n  color: #fff;\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  height: 28px;\n  position: absolute;\n  top: 4px;\n  right: 4px;\n}\n\n@media (min-width: 768px) and (max-width: 991.98px) {\n  .col-md-25 {\n    flex: 0 0 21.667%;\n    max-width: 21.667%;\n  }\n}",""]),c.exports=r.toString()},3225:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.footer {\n  color: #808080;\n}\n.footer__top, .footer__bottom {\n  padding: 50px 45px;\n}\n@media (min-width: 576px) {\n  .footer__top, .footer__bottom {\n    padding: 40px 30px;\n  }\n}\n@media (min-width: 768px) {\n  .footer__top, .footer__bottom {\n    padding: 45px 30px;\n  }\n}\n@media (min-width: 1200px) {\n  .footer__top, .footer__bottom {\n    padding: 40px 0;\n  }\n}\n.footer__top {\n  background: #F2F2F2;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n}\n.footer__bottom {\n  background: #FFFFFF;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n}\n@media (max-width: 575.98px) {\n  .footer__bottom {\n    padding-top: 0;\n  }\n}\n.footer__bottom--trading {\n  padding-top: 50px;\n}\n.footer__bottom-content {\n  display: flex;\n  gap: 30px;\n}\n@media (max-width: 575.98px) {\n  .footer__bottom-content {\n    flex-direction: column-reverse;\n    gap: 0;\n  }\n}\n@media (max-width: 575.98px) {\n  .footer__bottom-left {\n    display: flex;\n    flex-direction: column-reverse;\n  }\n}\n.footer__bottom-left--top {\n  display: flex;\n  align-items: center;\n  flex-wrap: wrap;\n  gap: 15px;\n}\n.footer__block {\n  padding-bottom: 30px;\n}\n@media (min-width: 576px) {\n  .footer__block {\n    padding-bottom: 40px;\n  }\n}\n.footer__title {\n  color: #333333;\n  font-style: normal;\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  text-transform: uppercase;\n  margin-bottom: 15px;\n  white-space: nowrap;\n}\n.footer__bottom .footer__title {\n  margin-bottom: 20px;\n}\n.footer__title-link:hover {\n  color: #3C91DC;\n}\n.footer__agreement {\n  font-size: 11px;\n  line-height: 13px;\n  margin-bottom: 20px;\n}\n@media (min-width: 576px) {\n  .footer__agreement {\n    margin-bottom: 0;\n  }\n}\n.footer__copyright {\n  font-size: 14px;\n  line-height: 20px;\n  margin-bottom: 20px;\n}\n.footer__trading-nlmk {\n  font-size: 16px;\n  line-height: 22px;\n}\n.footer__trading-button {\n  flex-shrink: 0;\n  height: 100%;\n  padding: 9px 80px;\n  font-weight: 500;\n  font-size: 15px;\n  line-height: 18px;\n}\n.footer-link {\n  color: #3C91DC;\n  cursor: pointer;\n}\n.footer-nav {\n  width: max-content;\n  max-width: 100%;\n}\n.footer-nav + .footer-nav {\n  margin-top: 11px;\n}\n.footer-nav__link {\n  font-size: 13px;\n  line-height: 15px;\n}\n.footer-nav__link:hover {\n  color: #3C91DC;\n  cursor: pointer;\n}\n.footer-nav__link:hover .footer-nav__link-icon {\n  color: #3C91DC;\n}\n.footer-nav__link--is-open {\n  color: #3C91DC;\n}\n.footer-nav__link-icon {\n  margin-left: 3px;\n}\n.footer-nav__link-icon--is-open {\n  color: #3C91DC;\n  transform: rotate(180deg);\n}\n.footer-nav__products {\n  display: flex;\n  flex-direction: column;\n  position: absolute;\n  margin-left: -20px;\n  margin-top: 8px;\n  padding: 21px 20px;\n  min-width: 200px;\n  background: #FFFFFF;\n  box-shadow: 0 16px 16px rgba(0, 0, 0, 0.1), 0 0 8px rgba(0, 0, 0, 0.15);\n  border-radius: 14px;\n  z-index: 2;\n}\n.footer-nav__products-link {\n  max-width: max-content;\n  width: 100%;\n  color: #1A1A1A;\n  font-size: 13px;\n  line-height: 16px;\n}\n.footer-nav__products-link:hover {\n  color: #3C91DC;\n  cursor: pointer;\n}\n.footer-nav__products-link + .footer-nav__products-link {\n  margin-top: 10px;\n}\n\n.footer__contact {\n  color: #808080;\n  font-weight: 500;\n  font-size: 20px;\n  line-height: 23px;\n  white-space: nowrap;\n  display: flex;\n  margin-bottom: 15px;\n}\n.footer__contact-icon {\n  margin-right: 6px;\n}\n.footer__contact-desc {\n  font-size: 13px;\n  line-height: 32px;\n  white-space: nowrap;\n}\n.footer__contact--s {\n  font-size: 13px;\n  line-height: 15px;\n  margin-bottom: 15px;\n}\n.footer__contact--colored {\n  color: #3C91DC;\n}\n\n.subscribe {\n  background-color: #F2F2F2;\n  border-radius: 4px;\n  display: inline-block;\n  height: 36px;\n  width: 100%;\n  min-width: 210px;\n  overflow: hidden;\n  padding: 4px;\n  position: relative;\n}\n@media (max-width: 575.98px) {\n  .subscribe {\n    margin-bottom: 20px;\n  }\n}\n.subscribe__input {\n  border: 0;\n  height: 100%;\n  width: 100%;\n  outline: 0;\n  padding: 5px 55px 0 10px;\n}\n.subscribe__input:hover, .subscribe__input:active, .subscribe__input:focus {\n  background-color: #F2F2F2;\n}\n.subscribe__button {\n  background: #FF6B00;\n  border: 0;\n  border-radius: 4px;\n  color: #fff;\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  height: 28px;\n  position: absolute;\n  top: 4px;\n  right: 4px;\n}\n\n@media (min-width: 768px) and (max-width: 991.98px) {\n  .col-md-25 {\n    flex: 0 0 21.667%;\n    max-width: 21.667%;\n  }\n}",""]),c.exports=r.toString()},27729:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.footer-privacy-button {\n  font-weight: 400;\n  font-size: 14px;\n  line-height: 16px;\n  color: #3C91DC;\n  margin-bottom: 15px;\n  cursor: pointer;\n}",""]),c.exports=r.toString()},57559:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.footer-socials__title {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  text-transform: uppercase;\n  color: #333333;\n  margin: 0 0 26px;\n}\n.footer-socials__icon {\n  display: inline-block;\n  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.2));\n}\n.footer-socials__icon:not(:last-of-type) {\n  margin-right: 26px;\n}\n@media (max-width: 991.98px) {\n  .footer-socials__icon:not(:last-of-type) {\n    margin-right: 16px;\n  }\n}\n@media (max-width: 767.98px) {\n  .footer-socials__icon:not(:last-of-type) {\n    margin-right: 10px;\n  }\n}\n@media (max-width: 767.98px) {\n  .footer-socials__icon:not(:last-of-type) {\n    margin-right: 8px;\n  }\n}",""]),c.exports=r.toString()},47929:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.footer {\n  color: #808080;\n}\n.footer__top, .footer__bottom {\n  padding: 50px 45px;\n}\n@media (min-width: 576px) {\n  .footer__top, .footer__bottom {\n    padding: 40px 30px;\n  }\n}\n@media (min-width: 768px) {\n  .footer__top, .footer__bottom {\n    padding: 45px 30px;\n  }\n}\n@media (min-width: 1200px) {\n  .footer__top, .footer__bottom {\n    padding: 40px 0;\n  }\n}\n.footer__top {\n  background: #F2F2F2;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n}\n.footer__bottom {\n  background: #FFFFFF;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n}\n@media (max-width: 575.98px) {\n  .footer__bottom {\n    padding-top: 0;\n  }\n}\n.footer__bottom--trading {\n  padding-top: 50px;\n}\n.footer__bottom-content {\n  display: flex;\n  gap: 30px;\n}\n@media (max-width: 575.98px) {\n  .footer__bottom-content {\n    flex-direction: column-reverse;\n    gap: 0;\n  }\n}\n@media (max-width: 575.98px) {\n  .footer__bottom-left {\n    display: flex;\n    flex-direction: column-reverse;\n  }\n}\n.footer__bottom-left--top {\n  display: flex;\n  align-items: center;\n  flex-wrap: wrap;\n  gap: 15px;\n}\n.footer__block {\n  padding-bottom: 30px;\n}\n@media (min-width: 576px) {\n  .footer__block {\n    padding-bottom: 40px;\n  }\n}\n.footer__title {\n  color: #333333;\n  font-style: normal;\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  text-transform: uppercase;\n  margin-bottom: 15px;\n  white-space: nowrap;\n}\n.footer__bottom .footer__title {\n  margin-bottom: 20px;\n}\n.footer__title-link:hover {\n  color: #3C91DC;\n}\n.footer__agreement {\n  font-size: 11px;\n  line-height: 13px;\n  margin-bottom: 20px;\n}\n@media (min-width: 576px) {\n  .footer__agreement {\n    margin-bottom: 0;\n  }\n}\n.footer__copyright {\n  font-size: 14px;\n  line-height: 20px;\n  margin-bottom: 20px;\n}\n.footer__trading-nlmk {\n  font-size: 16px;\n  line-height: 22px;\n}\n.footer__trading-button {\n  flex-shrink: 0;\n  height: 100%;\n  padding: 9px 80px;\n  font-weight: 500;\n  font-size: 15px;\n  line-height: 18px;\n}\n.footer-link {\n  color: #3C91DC;\n  cursor: pointer;\n}\n.footer-nav {\n  width: max-content;\n  max-width: 100%;\n}\n.footer-nav + .footer-nav {\n  margin-top: 11px;\n}\n.footer-nav__link {\n  font-size: 13px;\n  line-height: 15px;\n}\n.footer-nav__link:hover {\n  color: #3C91DC;\n  cursor: pointer;\n}\n.footer-nav__link:hover .footer-nav__link-icon {\n  color: #3C91DC;\n}\n.footer-nav__link--is-open {\n  color: #3C91DC;\n}\n.footer-nav__link-icon {\n  margin-left: 3px;\n}\n.footer-nav__link-icon--is-open {\n  color: #3C91DC;\n  transform: rotate(180deg);\n}\n.footer-nav__products {\n  display: flex;\n  flex-direction: column;\n  position: absolute;\n  margin-left: -20px;\n  margin-top: 8px;\n  padding: 21px 20px;\n  min-width: 200px;\n  background: #FFFFFF;\n  box-shadow: 0 16px 16px rgba(0, 0, 0, 0.1), 0 0 8px rgba(0, 0, 0, 0.15);\n  border-radius: 14px;\n  z-index: 2;\n}\n.footer-nav__products-link {\n  max-width: max-content;\n  width: 100%;\n  color: #1A1A1A;\n  font-size: 13px;\n  line-height: 16px;\n}\n.footer-nav__products-link:hover {\n  color: #3C91DC;\n  cursor: pointer;\n}\n.footer-nav__products-link + .footer-nav__products-link {\n  margin-top: 10px;\n}\n\n.footer__contact {\n  color: #808080;\n  font-weight: 500;\n  font-size: 20px;\n  line-height: 23px;\n  white-space: nowrap;\n  display: flex;\n  margin-bottom: 15px;\n}\n.footer__contact-icon {\n  margin-right: 6px;\n}\n.footer__contact-desc {\n  font-size: 13px;\n  line-height: 32px;\n  white-space: nowrap;\n}\n.footer__contact--s {\n  font-size: 13px;\n  line-height: 15px;\n  margin-bottom: 15px;\n}\n.footer__contact--colored {\n  color: #3C91DC;\n}\n\n.subscribe {\n  background-color: #F2F2F2;\n  border-radius: 4px;\n  display: inline-block;\n  height: 36px;\n  width: 100%;\n  min-width: 210px;\n  overflow: hidden;\n  padding: 4px;\n  position: relative;\n}\n@media (max-width: 575.98px) {\n  .subscribe {\n    margin-bottom: 20px;\n  }\n}\n.subscribe__input {\n  border: 0;\n  height: 100%;\n  width: 100%;\n  outline: 0;\n  padding: 5px 55px 0 10px;\n}\n.subscribe__input:hover, .subscribe__input:active, .subscribe__input:focus {\n  background-color: #F2F2F2;\n}\n.subscribe__button {\n  background: #FF6B00;\n  border: 0;\n  border-radius: 4px;\n  color: #fff;\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  height: 28px;\n  position: absolute;\n  top: 4px;\n  right: 4px;\n}\n\n@media (min-width: 768px) and (max-width: 991.98px) {\n  .col-md-25 {\n    flex: 0 0 21.667%;\n    max-width: 21.667%;\n  }\n}",""]),c.exports=r.toString()},81533:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.form-group {\n  margin-bottom: 20px;\n}\n\n.field-group {\n  position: relative;\n}\n.field-group__label {\n  color: #1A1A1A;\n  font-size: 13px;\n  line-height: 15px;\n  opacity: 0.4;\n  pointer-events: none;\n  position: absolute;\n  left: 16px;\n  top: 50%;\n  transform: translateY(-50%);\n  transition: font-size 0.25s ease-in, line-height 0.25s ease-in, top 0.25s ease-in, transform 0.25s ease-in;\n}\n.not-empty > .field-group__label, .focus > .field-group__label {\n  font-size: 10px;\n  line-height: 12px;\n  transform: none;\n  top: 8px;\n}\n.field-group__field {\n  padding: 25px 16px 8px;\n}\n\n.btn + .btn {\n  margin-left: 10px;\n}\n\n.controls {\n  margin-top: 50px;\n}",""]),c.exports=r.toString()},29501:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'@charset "UTF-8";\n/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n/* TODO: we should move onto such approach\n    0000\u20131999: Elements and Components\n    2000\u20132999: Element and Component Drop Downs\n    3000\u20133999: Secondary Navigation\n    4000\u20134999: Header / Footer\n    5000\u20135999: Primary Navigation\n    6000\u20136999: Full Screen Features\n    7000\u20137999: Special Cases\n    8000\u20138999: Modals / Dialog Windows\n    9000\u20139999: Notifications */\n/* z-index collection */\n:host {\n  position: fixed;\n  z-index: 3000;\n  top: 0;\n  left: 0;\n  right: 0;\n}',""]),c.exports=r.toString()},87309:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.header {\n  background: #fff;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  position: relative;\n  outline: 0;\n}\n.header:before {\n  background: linear-gradient(0deg, rgba(242, 242, 242, 0.5), rgba(242, 242, 242, 0.5)), #FFFFFF;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  content: "";\n  height: 40px;\n  position: absolute;\n  left: 0;\n  right: 0;\n}\n@media (max-width: 991.98px) {\n  .header {\n    box-shadow: none;\n  }\n  .header:before {\n    background: #fff;\n    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n    height: 50px;\n  }\n}\n\n/* === HEADER GRID === */\n.header-grid {\n  align-items: stretch;\n  display: grid;\n  grid-template-columns: fit-content(100%) repeat(11, 1fr);\n  grid-template-rows: 40px 60px;\n  grid-gap: 0;\n  margin-left: -15px;\n  margin-right: -15px;\n  padding: 0 15px;\n}\n@media (max-width: 1199.98px) {\n  .header-grid {\n    padding: 0;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199.98px) {\n  .header-grid {\n    margin: 0;\n  }\n}\n.header-grid__group-nav {\n  background: linear-gradient(0deg, rgba(242, 242, 242, 0.5), rgba(242, 242, 242, 0.5)), #FFFFFF;\n  grid-column: 1/span 12;\n  grid-row: 1;\n  position: relative;\n}\n@media (min-width: 992px) {\n  .header-grid__group-nav {\n    background: transparent;\n    margin-left: 0;\n    margin-right: 0;\n  }\n}\n.header-grid__logo {\n  grid-column: 1;\n  grid-row: 2;\n  padding-left: 15px;\n}\n@media (min-width: 992px) {\n  .header-grid__logo {\n    padding-left: 0;\n  }\n}\n.header-grid__nav {\n  grid-column: 2/span 8;\n  grid-row: 2;\n  padding-left: 20px;\n}\n@media (max-width: 991.98px) {\n  .header-grid__nav {\n    padding-left: 0;\n  }\n}\n.header-grid__user-area {\n  grid-column: -1/10;\n  grid-row: 2;\n  justify-content: flex-end;\n  padding-right: 15px;\n  z-index: 4;\n}\n@media (min-width: 992px) {\n  .header-grid__user-area {\n    padding-right: 0;\n    position: relative;\n  }\n}\n:host ::ng-deep .header-grid__group-nav > *, :host ::ng-deep .header-grid__user-area > * {\n  flex: none;\n}\n@media (max-width: 991.98px) {\n  .header-grid {\n    grid-template-columns: fit-content(100%) 1fr 1fr;\n    grid-template-rows: 50px auto auto auto;\n  }\n  .header-grid__group-nav {\n    grid-column: 1/-1;\n    grid-row: 3;\n  }\n  .header-grid__logo {\n    grid-column: 1;\n    grid-row: 1;\n  }\n  .header-grid__nav {\n    grid-column: 1/-1;\n    grid-row: 2;\n  }\n  .header-grid__user-area {\n    grid-gap: 20px;\n    grid-column: 3;\n    grid-row: 1;\n  }\n}\n@media (max-width: 991.98px) and (max-width: 575.98px) {\n  .header-grid__user-area {\n    grid-gap: 1px;\n  }\n}\n\n.mobile-nav {\n  display: flex;\n}\n@media (max-width: 991.98px) {\n  .mobile-nav {\n    opacity: 0;\n    transition: left 0.25s ease-in, opacity 0.25s ease-in;\n    display: none;\n    position: fixed;\n    bottom: 0;\n    right: 0;\n    left: 0;\n    overflow: auto;\n  }\n  .is-open .mobile-nav {\n    left: 0;\n    opacity: 1;\n    pointer-events: all;\n    position: relative;\n    z-index: auto;\n    display: block;\n  }\n}\n\n.scrollbar {\n  overflow: unset;\n}\n@media (max-width: 991.98px) {\n  .scrollbar--is-open {\n    height: max-content;\n    max-height: calc(100vh - 50px);\n    overflow-y: auto;\n  }\n}',""]),c.exports=r.toString()},75484:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n@media (min-width: 992px) {\n  .group-header-level-one__block {\n    box-shadow: none;\n    margin-left: 0;\n  }\n  .group-header-level-one__block:not(:last-of-type) {\n    margin-bottom: 22px;\n  }\n}",""]),c.exports=r.toString()},10816:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.group-header-title, :host ::ng-deep .group-header-title-l, :host ::ng-deep .group-header-title-m {\n  color: #333333;\n  font-size: 13px;\n  font-weight: 400;\n  line-height: 15px;\n  margin: 0;\n  padding: 17px 40px;\n  position: relative;\n}\n@media (min-width: 992px) {\n  .group-header-title, :host ::ng-deep .group-header-title-l, :host ::ng-deep .group-header-title-m {\n    padding: 0;\n  }\n}\n\n:host ::ng-deep .more-icon {\n  position: absolute;\n  right: 40px;\n  top: 50%;\n  transform: translateY(-50%);\n  transition: transform 0.25s ease-in;\n}\n@media (min-width: 992px) {\n  :host ::ng-deep .more-icon {\n    margin-left: 5px;\n    transform: none;\n    position: static;\n  }\n}\n:host ::ng-deep .is-open > * > .more-icon {\n  color: #0094FF;\n  transform: translateY(-50%) rotate(180deg);\n}\n@media (min-width: 992px) {\n  :host ::ng-deep .is-open > * > .more-icon {\n    transform: rotate(180deg);\n  }\n}\n@media (min-width: 992px) {\n  :host ::ng-deep .group-header-title-m {\n    color: #004582;\n    font-weight: 500;\n    margin-bottom: 22px;\n    padding: 0;\n  }\n}\n@media (min-width: 992px) {\n  :host ::ng-deep .group-header-title-l {\n    color: #808080;\n    font-size: 10px;\n    font-weight: 400;\n    line-height: 12px;\n    margin-bottom: 5px;\n    padding: 0;\n  }\n}\n\n.group-header__scrollbar {\n  overflow: hidden;\n}\n@media (min-width: 992px) {\n  .group-header__scrollbar {\n    overflow: auto;\n  }\n}\n.group-header__row {\n  transition: max-height 0.25s ease-in;\n}\n@media (min-width: 992px) {\n  .group-header__row {\n    background-color: #fff;\n    border-radius: 0 0 8px 8px;\n    box-shadow: 0 16px 16px rgba(0, 0, 0, 0.1), 0 0 8px rgba(0, 0, 0, 0.15);\n    max-height: unset;\n    padding: 20px 10px;\n    position: absolute;\n    top: 100%;\n    left: -15px;\n    z-index: 4;\n  }\n}\n@media (min-width: 992px) {\n  .group-header__column {\n    box-shadow: none;\n    min-width: 170px;\n    padding: 0 20px;\n  }\n}\n.group-header__title {\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  color: #808080;\n  cursor: pointer;\n  font-size: 14px;\n  line-height: 20px;\n  padding: 17px 40px;\n  position: relative;\n}\n@media (min-width: 992px) {\n  .group-header__title {\n    background: transparent;\n    box-shadow: none;\n    display: inline-block;\n    padding: 0;\n  }\n  .group-header__title:after {\n    background: #0094FF;\n    border-radius: 0 0 4px 4px;\n    content: "";\n    display: none;\n    height: 4px;\n    position: absolute;\n    left: 0;\n    right: 20px;\n    top: 100%;\n    z-index: 2;\n  }\n  .is-open .group-header__title {\n    color: #0094FF;\n  }\n  .is-open .group-header__title:after {\n    display: block;\n  }\n}',""]),c.exports=r.toString()},71875:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.menu-item {\n  display: flex;\n  flex-direction: column;\n}\n.menu-item__head {\n  height: 50px;\n  display: flex;\n  align-items: center;\n  padding: 0 21px;\n  cursor: pointer;\n}\n.menu-item__title-icon {\n  margin-right: 10px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n.menu-item__title-icon svg-icon-sprite {\n  width: 18px;\n  height: 18px;\n}\n.menu-item__active-icon {\n  color: #1C73C2;\n}\n.menu-item__title {\n  font-size: 14px;\n  line-height: 16px;\n  text-transform: uppercase;\n  color: #4D4D4D;\n}\n.menu-item__toggle-icon {\n  margin: 0 0 0 auto;\n  flex: 0 0 auto;\n  width: 18px;\n  height: 18px;\n}\n.menu-item__child-list {\n  display: flex;\n  flex-direction: column;\n}\n.menu-item__child-item {\n  height: 50px;\n  padding-left: 60px;\n  background: #F2F2F2;\n  font-size: 14px;\n  line-height: 16px;\n  display: flex;\n  align-items: center;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  cursor: pointer;\n}\n.menu-item__child-item:first-of-type {\n  border-top: 5px solid rgba(0, 0, 0, 0.07);\n}\n.menu-item__child-item:hover {\n  color: #3C91DC;\n}\n.menu-item__child-item--is-open {\n  color: #3C91DC;\n}\n.menu-item--opened .menu-item__title {\n  color: #3C91DC;\n}",""]),c.exports=r.toString()},25391:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n:host {\n  flex-grow: 1;\n}\n\n.help-menu {\n  width: 100%;\n  margin-bottom: 20px;\n}\n.help-menu__manager {\n  margin-bottom: 20px;\n}\n@media (max-width: 991.98px) {\n  .help-menu__manager {\n    padding: 0;\n    margin: 0;\n    border-bottom: none;\n  }\n}\n.help-menu__manager-body {\n  display: block;\n}\n@media (max-width: 991.98px) {\n  .is-hidden .help-menu__manager-body {\n    display: none;\n  }\n}\n.help-menu__nav-list {\n  display: flex;\n  flex-direction: column;\n}\n@media (max-width: 991.98px) {\n  .help-menu__nav-list {\n    padding: 0;\n    margin: 0;\n    border-radius: 0;\n  }\n}\n.help-menu__nav-list-body {\n  display: block;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 7px;\n}\n@media (max-width: 991.98px) {\n  .is-hidden .help-menu__nav-list-body {\n    display: none;\n  }\n}\n.help-menu__nav-item {\n  display: block;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n}",""]),c.exports=r.toString()},15403:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.toggle {\n  width: 100%;\n}\n@media (max-width: 991.98px) {\n  .toggle--hidden .toggle__facet-icon {\n    display: block;\n  }\n  .toggle--hidden .toggle__close-icon {\n    display: none;\n  }\n}\n.toggle__facet-icon {\n  display: none;\n}\n.toggle__close-icon {\n  display: block;\n}\n.toggle__head {\n  display: none;\n  align-items: center;\n  margin-bottom: 10px;\n  padding: 0 15px;\n}\n@media (max-width: 991.98px) {\n  .toggle__head {\n    display: flex;\n    background: #fff;\n    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n    padding: 17px 20px;\n    margin: 0;\n  }\n}\n.toggle__title {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  position: relative;\n  cursor: pointer;\n  display: none;\n}\n@media (max-width: 991.98px) {\n  .toggle__title {\n    display: inline;\n    color: #1A1A1A;\n    text-transform: uppercase;\n    margin: 0 8px 0 0;\n  }\n}\n.toggle__title-icon {\n  margin-right: 10px;\n}\n.toggle__mobile-icons {\n  margin: 0 0 0 auto;\n  cursor: pointer;\n  display: none;\n}\n@media (max-width: 991.98px) {\n  .toggle__mobile-icons {\n    display: block;\n  }\n}",""]),c.exports=r.toString()},47617:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'@charset "UTF-8";\n/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.group-header-level-two__list, .group-nav__list {\n  color: #333333;\n  font-size: 13px;\n  line-height: 15px;\n}\n@media (min-width: 992px) {\n  .group-header-level-two__list li, .group-nav__list li {\n    text-transform: uppercase;\n    padding-left: 10px;\n    position: relative;\n  }\n  .group-header-level-two__list li:before, .group-nav__list li:before {\n    content: "\u2022";\n    position: absolute;\n    left: 0;\n  }\n  .group-header-level-two__list li + li, .group-nav__list li + li {\n    margin-top: 5px;\n  }\n}\n.group-header-level-two__link, .group-nav__link {\n  font-size: 13px;\n  line-height: 15px;\n  color: #333333;\n  display: block;\n  padding: 17px 40px;\n}\n@media (min-width: 992px) {\n  .group-header-level-two__link, .group-nav__link {\n    color: #4D4D4D;\n    display: inline;\n    font-size: 12px;\n    line-height: 14px;\n    padding: 0;\n  }\n}\n\n@media (min-width: 992px) {\n  :host {\n    display: flex;\n    align-items: stretch;\n  }\n}\n\nh4, h5 {\n  color: #333333;\n  font-size: 13px;\n  font-weight: 400;\n  line-height: 15px;\n  margin: 0;\n  padding: 17px 40px;\n  position: relative;\n}\n@media (min-width: 992px) {\n  h4, h5 {\n    padding: 0;\n  }\n}\n\n@media (min-width: 992px) {\n  h4 {\n    color: #004582;\n    font-weight: 500;\n    margin-bottom: 22px;\n    padding: 0;\n  }\n}\n\n@media (min-width: 992px) {\n  h5 {\n    color: #808080;\n    font-size: 10px;\n    font-weight: 400;\n    line-height: 12px;\n    margin-bottom: 5px;\n    padding: 0;\n  }\n}\n\n@media (min-width: 992px) {\n  .group-nav__block {\n    box-shadow: none;\n    margin-left: 0;\n  }\n  .group-nav__block:not(:last-of-type) {\n    margin-bottom: 22px;\n  }\n}\n\n.more-icon {\n  position: absolute;\n  right: 40px;\n  top: 50%;\n  transform: translateY(-50%);\n  transition: transform 0.25s ease-in;\n}\n.is-open > * > .more-icon {\n  transform: translateY(-50%) rotate(180deg);\n}\n@media (min-width: 992px) {\n  .more-icon {\n    transform: none;\n    position: static;\n  }\n  .is-open > * > .more-icon {\n    transform: rotate(180deg);\n  }\n}',""]),c.exports=r.toString()},14582:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.about-us {\n  background: #00315C;\n  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2), 0px 1px 1px rgba(0, 0, 0, 0.3);\n  border-radius: 14px;\n  min-height: 240px;\n  position: relative;\n  margin-bottom: 30px;\n}\n.about-us__background {\n  height: 100%;\n  border-radius: 14px;\n}\n.about-us__image {\n  background-size: cover;\n  position: absolute;\n  border-radius: 14px;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n}\n.about-us__content {\n  position: relative;\n  padding: 50px 40px 50px 50px;\n}\n@media (max-width: 991.98px) {\n  .about-us__content {\n    padding: 30px 20px 30px 30px;\n  }\n}\n.about-us__content-logo {\n  max-width: 255px;\n  color: #FFF;\n}\n.about-us__content-description {\n  margin-top: 10px;\n  font-weight: 500;\n  font-size: 16px;\n  line-height: 19px;\n  color: #FFF;\n  margin-left: 128px;\n}\n@media (max-width: 991.98px) {\n  .about-us__content-description {\n    margin-left: 0;\n  }\n}",""]),c.exports=r.toString()},66274:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.info-block {\n  display: flex;\n  flex-direction: column;\n  text-align: center;\n  padding: 40px 18px 30px;\n}\n@media (max-width: 767.98px) {\n  .info-block {\n    padding: 20px 12px 17px;\n  }\n}\n@media (max-width: 575.98px) {\n  .info-block {\n    flex-direction: row;\n    align-items: center;\n    text-align: left;\n  }\n}\n.info-block__icon {\n  color: #004E94;\n  width: 64px;\n  height: 64px;\n  margin-bottom: 10px;\n}\n@media (max-width: 767.98px) {\n  .info-block__icon {\n    width: 32px;\n    height: 32px;\n  }\n}\n@media (max-width: 575.98px) {\n  .info-block__icon {\n    width: 48px;\n    height: 48px;\n    margin: 0 20px 0 0;\n  }\n}\n.info-block__count {\n  margin-top: 5px;\n  color: #4D4D4D;\n  font-weight: 500;\n  font-size: 34px;\n  line-height: 40px;\n}\n@media (max-width: 767.98px) {\n  .info-block__count {\n    font-weight: 500;\n    font-size: 16px;\n    line-height: 19px;\n  }\n}\n.info-block__title {\n  margin-top: 5px;\n  color: #4D4D4D;\n  font-weight: 500;\n  font-size: 16px;\n  line-height: 19px;\n}\n@media (max-width: 767.98px) {\n  .info-block__title {\n    font-weight: normal;\n    font-size: 12px;\n    line-height: 14px;\n  }\n}\n.info-block__descriptions {\n  color: #999999;\n  font-size: 13px;\n  line-height: 15px;\n}\n@media (max-width: 767.98px) {\n  .info-block__descriptions {\n    font-weight: normal;\n    font-size: 10px;\n    line-height: 12px;\n  }\n}",""]),c.exports=r.toString()},24598:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,".home-page-info {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  grid-column-gap: 30px;\n  margin-bottom: 30px;\n}\n@media (max-width: 575.98px) {\n  .home-page-info {\n    grid-template-columns: 1fr;\n  }\n}",""]),c.exports=r.toString()},64816:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.login {\n  align-items: center;\n  background-color: #F2F2F2;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 14px;\n  margin-bottom: 60px;\n  padding: 37px 40px;\n}\n@media (max-width: 767.98px) {\n  .login {\n    padding: 15px 20px;\n  }\n}\n@media (max-width: 575.98px) {\n  .login {\n    flex-direction: column;\n  }\n}\n.login__icon {\n  margin-right: 39px;\n}\n@media (max-width: 767.98px) {\n  .login__icon {\n    margin-right: 20px;\n  }\n}\n@media (max-width: 575.98px) {\n  .login__icon {\n    max-width: 46px;\n    max-height: 30px;\n  }\n}\n.login__title {\n  font-weight: 500;\n  font-size: 20px;\n  line-height: 23px;\n  color: #4D4D4D;\n  margin-right: 10px;\n  max-width: 556px;\n}\n@media (max-width: 767.98px) {\n  .login__title {\n    font-size: 12px;\n    line-height: 14px;\n  }\n}\n@media (max-width: 575.98px) {\n  .login__title {\n    margin-right: 0;\n    margin-bottom: 15px;\n  }\n}\n.login__button {\n  margin-left: auto;\n  padding: 9px 42px;\n  width: 215px;\n  flex-shrink: 0;\n  justify-content: center;\n}\n@media (max-width: 1199.98px) {\n  .login__button {\n    padding: 9px 20px;\n  }\n}\n@media (min-width: 576px) and (max-width: 767.98px) {\n  .login__button {\n    max-width: 160px;\n  }\n}\n@media (max-width: 575.98px) {\n  .login__button {\n    margin-left: 0;\n    width: 100%;\n  }\n}\n.login__button-icon {\n  margin-right: 6px;\n  color: #fff;\n}",""]),c.exports=r.toString()},79901:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.mill-card {\n  background-color: #fff;\n  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 7px;\n  max-height: 120px;\n}\n.mill-card:hover {\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n}\n.mill-card__image {\n  max-height: 120px;\n  max-width: 150px;\n  object-fit: cover;\n  border-radius: 7px 0 0 7px;\n}\n@media (max-width: 1199.98px) {\n  .mill-card__image {\n    max-width: 103px;\n  }\n}\n@media (max-width: 991.98px) {\n  .mill-card__image {\n    max-width: 86px;\n  }\n}\n@media (max-width: 767.98px) {\n  .mill-card__image {\n    max-width: 96px;\n  }\n}\n.mill-card__info {\n  width: 100%;\n  padding: 25px;\n}\n@media (max-width: 1199.98px) {\n  .mill-card__info {\n    padding: 25px 8px;\n  }\n}\n@media (max-width: 991.98px) {\n  .mill-card__info {\n    width: 103px;\n    padding: 25px 10px;\n  }\n}\n@media (max-width: 767.98px) {\n  .mill-card__info {\n    width: 114px;\n  }\n}\n.mill-card__logo {\n  width: 100%;\n  padding: 22px 45px;\n}\n@media (max-width: 1199.98px) {\n  .mill-card__logo {\n    padding: 22px 29px;\n  }\n}\n@media (max-width: 991.98px) {\n  .mill-card__logo {\n    width: 103px;\n    padding: 22px 7px;\n  }\n}\n@media (max-width: 767.98px) {\n  .mill-card__logo {\n    width: 114px;\n  }\n}\n.mill-card__info-title {\n  margin-top: 10px;\n  color: #808080;\n  font-size: 14px;\n  line-height: 20px;\n  text-align: center;\n}",""]),c.exports=r.toString()},92035:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.mill-category {\n  margin-bottom: 10px;\n}\n.mill-category__title {\n  font-size: 14px;\n  line-height: 20px;\n  color: #4D4D4D;\n  margin-bottom: 20px;\n  padding: 0 10px;\n}\n.mill-category__cards {\n  border-radius: 7px;\n  padding: 5px 10px 30px;\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  -moz-column-gap: 30px;\n       column-gap: 30px;\n  row-gap: 30px;\n}\n@media (max-width: 991.98px) {\n  .mill-category__cards {\n    -moz-column-gap: 20px;\n         column-gap: 20px;\n  }\n}\n@media (max-width: 767.98px) {\n  .mill-category__cards {\n    display: flex;\n    -moz-column-gap: 0;\n         column-gap: 0;\n    row-gap: 0;\n  }\n}\n.mill-category__card {\n  flex: 0 0 auto;\n}\n@media (max-width: 767.98px) {\n  .mill-category__card {\n    padding-right: 18px;\n  }\n  .mill-category__card:last-of-type {\n    padding-right: 10px;\n  }\n}\n.mill-category__card-title {\n  font-size: 14px;\n  line-height: 20px;\n  color: #808080;\n}",""]),c.exports=r.toString()},81204:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.mills {\n  background: linear-gradient(0deg, rgba(242, 242, 242, 0.5), rgba(242, 242, 242, 0.5)), #FFFFFF;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 14px;\n  padding: 30px 30px 20px;\n  margin-bottom: 30px;\n}\n@media (max-width: 575.98px) {\n  .mills {\n    width: calc(100vw - 30px);\n    padding-right: 0;\n  }\n}\n.mills__title {\n  font-weight: 500;\n  font-size: 24px;\n  line-height: 28px;\n  color: #1A1A1A;\n  margin-bottom: 10px;\n  padding: 0 10px;\n}\n@media (max-width: 575.98px) {\n  .mills__title {\n    font-size: 20px;\n    line-height: 23px;\n  }\n}",""]),c.exports=r.toString()},91300:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n:host {\n  display: inline-block;\n  flex: none !important;\n  margin-bottom: 30px;\n  margin-left: 15px;\n  margin-right: 15px;\n}\n@media (max-width: 991.98px) {\n  :host:nth-child(-n+2) {\n    margin-top: 30px;\n  }\n  :host:nth-child(odd) {\n    margin-left: 0;\n  }\n  :host:nth-child(even) {\n    margin-right: 0;\n  }\n}\n@media (max-width: 575.98px) {\n  :host {\n    margin-bottom: 20px;\n    margin-right: 5px;\n    margin-left: 5px;\n  }\n  :host:nth-child(-n+2) {\n    margin-top: 20px;\n    margin-bottom: 10px;\n  }\n}\n:host:last-of-type {\n  margin-right: 0;\n}\n:host:first-of-type {\n  margin-left: 0;\n}\n\n.homepage-link-wrapper {\n  border-radius: 14px;\n  box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px rgba(0, 0, 0, 0.2), 0px 4px 8px rgba(0, 0, 0, 0.2);\n  overflow: hidden;\n  position: relative;\n}\n\n.homepage-link {\n  border-radius: 14px;\n  display: block;\n  max-width: 255px;\n  max-height: 140px;\n  overflow: hidden;\n}\n@media (max-width: 1199.98px) {\n  .homepage-link {\n    max-width: 210px;\n    max-height: 140px;\n  }\n}\n@media (max-width: 991.98px) {\n  .homepage-link {\n    max-width: 330px;\n    max-height: 120px;\n  }\n}\n@media (max-width: 767.98px) {\n  .homepage-link {\n    max-width: 240px;\n    max-height: 120px;\n  }\n}\n@media (max-width: 575.98px) {\n  .homepage-link {\n    min-width: 140px;\n    max-width: calc(50vw - 20px);\n    max-height: 100px;\n  }\n}\n.homepage-link__central {\n  position: absolute;\n  left: 50%;\n  top: 50%;\n  transform: translate(-50%, -50%);\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 100%;\n  height: 100%;\n  font-weight: 500;\n  font-size: 20px;\n  line-height: 23px;\n  color: #FFF;\n  white-space: nowrap;\n}\n@media (max-width: 767.98px) {\n  .homepage-link__central {\n    font-size: 15px;\n    line-height: 18px;\n  }\n}\n.homepage-link__buttons {\n  position: absolute;\n  bottom: 0;\n  display: flex;\n  width: 100%;\n  height: 48px;\n}\n@media (max-width: 575.98px) {\n  .homepage-link__buttons {\n    height: 36px;\n  }\n}\n.homepage-link__buttons-button {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 50%;\n  font-size: 14px;\n  line-height: 16px;\n  color: #FFF;\n}\n.homepage-link__icon {\n  margin-bottom: 20px;\n  display: block;\n}\n\n.link:hover {\n  background-color: rgba(0, 148, 255, 0.5);\n}",""]),c.exports=r.toString()},41483:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.slide__content {\n  border-radius: 14px;\n  background: #000;\n  box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px rgba(0, 0, 0, 0.2), 0px 4px 8px rgba(0, 0, 0, 0.2);\n  height: 180px;\n  position: relative;\n}\n@media (max-width: 991.98px) {\n  .slide__content {\n    height: 140px;\n  }\n}\n.slide__content-image {\n  opacity: 0.7;\n  left: 0;\n  top: 0;\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n  border-radius: 14px;\n}\n.slide__content-title {\n  position: relative;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  text-align: center;\n  z-index: 2;\n  height: 100%;\n  font-weight: 500;\n  font-size: 20px;\n  line-height: 23px;\n  color: #fff;\n}\n\n.slide {\n  padding: 12px 8px;\n  flex: 1 0 auto;\n}\n@media (max-width: 767.98px) {\n  .slide {\n    padding-left: 0;\n    padding-right: 0;\n  }\n}\n\n@media (max-width: 767.98px) {\n  .keen-slider__arrow {\n    display: none;\n  }\n}\n.keen-slider__arrow:hover > * {\n  color: #fff;\n}\n.keen-slider__arrow--left {\n  left: -15px;\n}\n.keen-slider__arrow--right {\n  right: -15px;\n}",""]),c.exports=r.toString()},54032:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.product-slider {\n  width: 100vw;\n  margin-bottom: 55px;\n}\n.product-slider__title {\n  font-weight: 500;\n  font-size: 24px;\n  line-height: 28px;\n  color: #1A1A1A;\n  margin-bottom: 30px;\n}\n@media (max-width: 991.98px) {\n  .product-slider__title {\n    font-size: 20px;\n    line-height: 23px;\n    margin-bottom: 20px;\n  }\n}",""]),c.exports=r.toString()},60645:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,".icon-button {\n  border-right: 0;\n  background-color: transparent;\n}\n.icon-button__icon {\n  width: 24px;\n  height: 24px;\n}",""]),c.exports=r.toString()},27796:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.inner-toggle--opened .inner-toggle__title {\n  color: #4D4D4D;\n}\n.inner-toggle--opened .inner-toggle__expand {\n  color: #4D4D4D;\n  transform: rotate(180deg);\n}\n.inner-toggle__title {\n  display: flex;\n  align-items: center;\n  font-size: 12px;\n  line-height: 14px;\n  color: #3C91DC;\n  cursor: pointer;\n}\n.inner-toggle__title-wrapper {\n  padding: 11px 20px;\n  display: flex;\n  align-items: center;\n  background: #F2F2F2;\n}\n.inner-toggle__expand {\n  margin-left: 4px;\n  color: #3C91DC;\n  transition: transform 0.1s ease-out;\n}",""]),c.exports=r.toString()},4763:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.link-paragraph::ng-deep h5 {\n  margin: 20px 0;\n}\n.link-paragraph::ng-deep a {\n  color: #3C91DC;\n  font-size: 14px;\n  line-height: 20px;\n}\n.link-paragraph::ng-deep a:hover {\n  color: #0094FF;\n}\n.link-paragraph::ng-deep p {\n  margin-bottom: 15px;\n  font-size: 14px;\n  line-height: 20px;\n}\n.link-paragraph::ng-deep td {\n  font-size: 14px;\n  line-height: 20px;\n  text-align: start;\n}",""]),c.exports=r.toString()},34248:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n:host {\n  --loader-size: 75px;\n  animation: load 1.1s infinite linear;\n  border-top: 5px solid rgba(0, 78, 148, 0.2);\n  border-right: 5px solid rgba(0, 78, 148, 0.2);\n  border-bottom: 5px solid rgba(0, 78, 148, 0.2);\n  border-left: 5px solid #004E94;\n  display: inline-block;\n  font-size: 5px;\n  position: relative;\n  text-indent: -9999em;\n  transform: translateZ(0);\n}\n:host, :host:after {\n  border-radius: 50%;\n  height: var(--loader-size);\n  width: var(--loader-size);\n}\n\n@keyframes load {\n  0% {\n    transform: rotate(0deg);\n  }\n  100% {\n    transform: rotate(360deg);\n  }\n}",""]),c.exports=r.toString()},38932:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.loader {\n  animation: load 1.1s infinite linear;\n  border-top: 2px solid rgba(0, 78, 148, 0.3);\n  border-right: 2px solid rgba(0, 78, 148, 0.3);\n  border-bottom: 2px solid rgba(0, 78, 148, 0.3);\n  border-left: 2px solid white;\n  display: inline-block;\n  font-size: 5px;\n  position: relative;\n  text-indent: -9999em;\n  transform: translateZ(0);\n}\n.loader, .loader:after {\n  border-radius: 50%;\n  height: 75px;\n  width: 75px;\n}\n\n@keyframes load {\n  0% {\n    transform: rotate(0deg);\n  }\n  100% {\n    transform: rotate(360deg);\n  }\n}",""]),c.exports=r.toString()},95185:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.is-active {\n  color: #3C91DC;\n}\n\n@media (min-width: 992px) {\n  .user {\n    position: relative;\n  }\n}\n.user__icon {\n  padding: 9px;\n}\n@media (min-width: 992px) {\n  .user__icon {\n    padding: 15px;\n  }\n}\n\n/* === USER SUBMENU === */\n.submenu {\n  background-color: #fff;\n  box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  max-height: 0;\n  overflow: hidden;\n  position: absolute;\n  top: calc(100% - 1px);\n  transition: max-height 0.25s ease-in;\n  border-radius: 0 0 7px 7px;\n}\n@media (max-width: 991.98px) {\n  .submenu {\n    left: 0;\n    width: 100vw;\n  }\n}\n@media (min-width: 992px) {\n  .submenu {\n    display: none;\n    min-width: 255px;\n    max-height: unset;\n    overflow: visible;\n    left: 50%;\n    transform: translateX(-50%);\n    z-index: 1;\n  }\n  .is-open > .submenu {\n    display: block;\n  }\n}\n.is-open > .submenu {\n  max-height: 1000px;\n}\n.submenu__title {\n  cursor: pointer;\n  position: relative;\n  z-index: 2;\n}\n.is-open .submenu__title {\n  color: #0094FF;\n}\n@media (min-width: 992px) {\n  .is-open .submenu__title {\n    display: inline-block;\n  }\n  .is-open .submenu__title:after {\n    background: #0094FF;\n    border-radius: 0 0 4px 4px;\n    content: "";\n    height: 4px;\n    position: absolute;\n    left: 0;\n    right: 0;\n    top: 100%;\n  }\n}\n.submenu__title:hover .user__icon {\n  color: #0094FF;\n}',""]),c.exports=r.toString()},96117:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.request {\n  background: #F2F2F2;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 14px;\n  padding: 20px;\n  width: 350px;\n}\n@media (max-width: 575.98px) {\n  .request {\n    width: 100%;\n  }\n}\n.request__text {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  color: #4D4D4D;\n}\n.request__button {\n  font-weight: 500;\n  font-size: 15px;\n  line-height: 18px;\n  color: #fff;\n  margin-top: 15px;\n}",""]),c.exports=r.toString()},46475:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.contact {\n  background: linear-gradient(0deg, rgba(242, 242, 242, 0.5), rgba(242, 242, 242, 0.5)), #FFFFFF;\n  border-radius: 14px;\n  padding: 20px 27px;\n  width: 260px;\n}\n@media (max-width: 575.98px) {\n  .contact {\n    width: 100%;\n  }\n}\n.contact__manager {\n  font-weight: 500;\n  font-size: 15px;\n  line-height: 18px;\n  height: 48px;\n}\n.contact__manager-icon {\n  color: #1C73C2;\n  margin-left: 6px;\n}\n.contact__manager:hover .contact__manager-icon {\n  color: #fff !important;\n}\n.contact__cart {\n  font-weight: 500;\n  font-size: 15px;\n  line-height: 18px;\n  color: #fff;\n  margin-top: 20px;\n}\n.contact__cart-icon {\n  color: #fff;\n  margin-left: 5px;\n}",""]),c.exports=r.toString()},8165:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"",""]),c.exports=r.toString()},26053:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.contact {\n  background: linear-gradient(0deg, rgba(242, 242, 242, 0.5), rgba(242, 242, 242, 0.5)), #FFFFFF;\n  border-radius: 14px;\n  padding: 20px 27px;\n  width: 260px;\n}\n@media (max-width: 575.98px) {\n  .contact {\n    width: 100%;\n  }\n}\n.contact__manager {\n  font-weight: 500;\n  font-size: 15px;\n  line-height: 18px;\n  height: 48px;\n}\n.contact__manager-icon {\n  color: #1C73C2;\n  margin-left: 6px;\n}\n.contact__manager:hover .contact__manager-icon {\n  color: #fff !important;\n}\n.contact__cart {\n  font-weight: 500;\n  font-size: 15px;\n  line-height: 18px;\n  color: #fff;\n  margin-top: 20px;\n}\n.contact__cart-icon {\n  color: #fff;\n  margin-left: 5px;\n}",""]),c.exports=r.toString()},66421:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"",""]),c.exports=r.toString()},92653:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.product-info {\n  background-color: rgba(255, 255, 255, 0.85);\n  border-radius: 0 0 7px 7px;\n  padding: 16px 20px;\n  max-width: 540px;\n  position: relative;\n}\n@media (max-width: 1199.98px) {\n  .product-info {\n    max-width: 450px;\n  }\n}\n@media (max-width: 575.98px) {\n  .product-info {\n    max-width: calc(100% - 30px);\n    margin: 0 15px;\n  }\n}\n.product-info__header {\n  background-color: rgba(255, 255, 255, 0.75);\n  border-radius: 7px 7px 0 0;\n  padding: 16px 20px 0;\n  position: absolute;\n  left: 0;\n  right: 0;\n  bottom: 100%;\n  overflow: hidden;\n}\n.product-info__header:before {\n  background-color: rgba(255, 255, 255, 0.75);\n  content: "";\n  -webkit-backdrop-filter: blur(30px);\n          backdrop-filter: blur(30px);\n  position: absolute;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  z-index: 0;\n}\n.product-info__header-inner {\n  position: relative;\n  z-index: 1;\n}\n.product-info__body {\n  color: #666666;\n  font-size: 16px;\n  line-height: 22px;\n}\n.product-info__top-right-img {\n  max-height: 80px;\n  text-align: right;\n}\n.product-info__top-right-img > img {\n  max-height: 100%;\n}\n.product-info__name {\n  color: #004E94;\n  font-size: 24px;\n  line-height: 28px;\n}\n.product-info__name-image {\n  margin-right: 10px;\n}\n.product-info__name-desc {\n  color: #E05E00;\n  font-size: 12px;\n  line-height: 14px;\n  padding-top: 8px;\n}\n.product-info__text {\n  max-height: 110px;\n  text-overflow: ellipsis;\n  overflow: hidden;\n}\n@media (max-width: 1199.98px) {\n  .product-info__text {\n    max-height: 132px;\n  }\n}\n@media (max-width: 767.98px) {\n  .product-info__text {\n    max-height: 154px;\n  }\n}\n@media (max-width: 575.98px) {\n  .product-info__text {\n    max-height: 264px;\n  }\n}\n.product-info__text.is-open {\n  max-height: 1000px !important;\n}\n.product-info__full-desc {\n  color: #3C91DC;\n  cursor: pointer;\n  font-size: 16px;\n  line-height: 22px;\n  padding-top: 10px;\n}\n.product-info__more {\n  margin-top: 40px;\n}',""]),c.exports=r.toString()},32599:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.message-carousel {\n  position: relative;\n  height: 320px;\n}\n@media (max-width: 767.98px) {\n  .message-carousel {\n    height: 240px;\n  }\n}\n.message-carousel__slide {\n  background: #000;\n  border-radius: 14px;\n  height: calc(100% - 50px);\n  width: 100%;\n  overflow: hidden;\n  position: absolute;\n  top: 0;\n}\n.message-carousel__slide > img {\n  width: 100%;\n}\n.message-carousel__slide-image {\n  background-repeat: no-repeat;\n  background-size: cover;\n  opacity: 0.7;\n  position: absolute;\n  top: 0;\n  right: 0;\n  left: 0;\n  bottom: 0;\n}\n.message-carousel__slide-content {\n  background-size: cover;\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n}\n.message-carousel__text {\n  color: #fff;\n  padding: 50px 35px;\n}\n.message-carousel__text-icon {\n  width: 64px;\n  margin-right: 15px;\n}\n@media (max-width: 575.98px) {\n  .message-carousel__text-icon {\n    width: 48px;\n    margin-right: 10px;\n  }\n}\n.message-carousel__text-content {\n  font-weight: 500;\n  font-size: 16px;\n  line-height: 19px;\n  word-break: break-word;\n}\n.message-carousel__progress {\n  position: absolute;\n  bottom: 20px;\n  right: 0;\n  left: 0;\n  text-align: center;\n}\n.message-carousel__progress-inner {\n  justify-content: center;\n}\n.message-carousel__progress-item {\n  cursor: pointer;\n  flex-grow: 1;\n  height: 20px;\n  max-width: 160px;\n  position: relative;\n}\n.message-carousel__progress-item:before {\n  background-color: #F2F2F2;\n  border: 0;\n  border-radius: 2px;\n  content: "";\n  height: 2px;\n  position: absolute;\n  top: 50%;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  transform: translateY(-50%);\n}\n.message-carousel__progress-item + .message-carousel__progress-item {\n  margin-left: 30px;\n}\n.message-carousel__progress-item-bar {\n  background-color: #0094FF;\n  border: 0;\n  border-radius: 1px;\n  height: 4px;\n  position: absolute;\n  left: 0;\n  right: 100%;\n  top: 50%;\n  transform: translateY(-50%);\n}',""]),c.exports=r.toString()},33257:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.marketing-documents {\n  background: #F2F2F2;\n  padding-bottom: 40px;\n  margin-bottom: 30px;\n}\n@media (max-width: 767.98px) {\n  .marketing-documents {\n    padding-top: 40px;\n  }\n}\n.marketing-documents__tabs {\n  display: flex;\n  width: 100%;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  padding: 0 20px;\n  margin-bottom: 40px;\n}\n.marketing-documents__tabs-content {\n  font-size: 15px;\n  line-height: 18px;\n  color: #4D4D4D;\n  padding: 10px 6px;\n  white-space: nowrap;\n  cursor: pointer;\n  border-bottom: 2px solid transparent;\n}\n.marketing-documents__tabs-content--is-open {\n  padding-bottom: 10px;\n  color: #3C91DC;\n  border-bottom-color: #3C91DC;\n}\n.marketing-documents__tabs-content + .marketing-documents__tabs-content {\n  margin-left: 36px;\n}\n.marketing-documents__process-scrollbar {\n  overflow: unset;\n}\n@media (max-width: 991.98px) {\n  .marketing-documents__process-scrollbar {\n    overflow: auto;\n  }\n}\n.marketing-documents__process-content {\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  grid-column-gap: 30px;\n  grid-row-gap: 30px;\n}\n@media (max-width: 991.98px) {\n  .marketing-documents__process-content {\n    display: flex;\n    padding: 10px 0 30px 8px;\n  }\n  .marketing-documents__process-content > * {\n    width: 210px;\n    flex: 0 0 auto;\n  }\n  .marketing-documents__process-content > *:last-of-type {\n    padding-right: 8px;\n  }\n}\n@media (max-width: 575.98px) {\n  .marketing-documents__process-content > * {\n    width: 150px;\n  }\n}\n.marketing-documents__download {\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  grid-column-gap: 14px;\n  grid-row-gap: 20px;\n}\n@media (max-width: 991.98px) {\n  .marketing-documents__download {\n    grid-template-columns: repeat(3, 1fr);\n  }\n}\n@media (max-width: 767.98px) {\n  .marketing-documents__download {\n    grid-template-columns: repeat(2, 1fr);\n    grid-column-gap: 10px;\n  }\n}",""]),c.exports=r.toString()},63345:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.download {\n  display: block;\n  background: #fff;\n  border-radius: 14px;\n  width: 100%;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n}\n.download:hover {\n  box-shadow: 0 16px 16px rgba(0, 0, 0, 0.1), 0 0 8px rgba(0, 0, 0, 0.15);\n}\n.download__content {\n  justify-content: space-between;\n  align-items: center;\n  padding: 56px 20px;\n}\n@media (max-width: 991.98px) {\n  .download__content {\n    flex-direction: column;\n    align-items: flex-start;\n  }\n}\n@media (max-width: 575.98px) {\n  .download__content {\n    padding-left: 20px;\n    padding-right: 20px;\n  }\n}\n.download__content--trading {\n  padding: 56px 20px 56px 66px;\n}\n@media (max-width: 991.98px) {\n  .download__content--trading {\n    padding-left: 10px;\n    padding-right: 10px;\n  }\n}\n@media (max-width: 575.98px) {\n  .download__content--trading {\n    padding-left: 20px;\n    padding-right: 20px;\n  }\n}\n.download__content-size--trading {\n  margin-left: 5px;\n  color: #B3B3B3;\n  font-size: 16px;\n  line-height: 18px;\n  word-break: break-word;\n  text-transform: lowercase;\n  flex-shrink: 0;\n}\n@media (max-width: 767.98px) {\n  .download__content-size--trading {\n    font-size: 14px;\n    line-height: 16px;\n  }\n}\n@media (max-width: 575.98px) {\n  .download__content-size--trading {\n    margin: 5px 0 0;\n  }\n}\n.download__banner {\n  border-radius: 14px 0 0 14px;\n  overflow: hidden;\n}\n@media (max-width: 575.98px) {\n  .download__banner {\n    max-height: 120px;\n    border-radius: 14px 14px 0 0;\n  }\n}\n.download__banner-img {\n  height: 100%;\n  min-height: 160px;\n  background-size: cover;\n}\n.download__content-title {\n  font-weight: 500;\n  font-size: 24px;\n  line-height: 28px;\n  color: #4D4D4D;\n}\n@media (max-width: 767.98px) {\n  .download__content-title {\n    font-weight: 500;\n    font-size: 16px;\n    line-height: 19px;\n  }\n}\n.download__content-size {\n  margin-left: 10px;\n  color: #B3B3B3;\n  font-size: 16px;\n  line-height: 22px;\n  word-break: break-word;\n  text-transform: lowercase;\n  flex-shrink: 0;\n}\n@media (max-width: 1199.98px) {\n  .download__content-size {\n    margin-left: 0;\n  }\n}\n@media (max-width: 767.98px) {\n  .download__content-size {\n    font-size: 14px;\n    line-height: 16px;\n  }\n}\n.download__content-icon {\n  margin-right: 10px;\n}\n@media (max-width: 575.98px) {\n  .download__content-icon {\n    margin-right: 20px;\n  }\n}\n@media (max-width: 575.98px) {\n  .download__content-icon--trading {\n    margin-right: 20px;\n  }\n}\n.download__button {\n  display: flex;\n  justify-content: center;\n  flex-shrink: 0;\n  padding: 9px 15px;\n  margin-left: 10px;\n}\n@media (max-width: 991.98px) {\n  .download__button {\n    margin: 20px 0 0;\n  }\n}\n.download__button-icon {\n  color: #FFF;\n  margin-left: 6px;\n}",""]),c.exports=r.toString()},24209:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n:host {\n  display: block;\n}\n\n.card {\n  height: 100%;\n  background: #fff;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 7px;\n  overflow: hidden;\n  border: none;\n}\n.card__header {\n  height: 70px;\n  background-color: #808080;\n  position: relative;\n  display: flex;\n  justify-content: center;\n}\n.card__header-icon {\n  width: 80px;\n  height: 80px;\n  background: #808080;\n  border-radius: 48px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  position: absolute;\n  top: 10px;\n}\n@media (max-width: 991.98px) {\n  .card__header-icon {\n    width: 64px;\n    height: 64px;\n    top: 20px;\n  }\n}\n.card__content {\n  padding: 30px 15px 15px;\n  text-align: center;\n}\n@media (max-width: 991.98px) {\n  .card__content {\n    padding: 20px 10px 10px;\n  }\n}\n.card__content-title {\n  flex: 1 0 auto;\n  color: #4D4D4D;\n  font-size: 13px;\n  line-height: 19px;\n  margin-bottom: 10px;\n}\n@media (max-width: 991.98px) {\n  .card__content-title {\n    margin-top: 20px;\n    font-size: 11px;\n    line-height: 17px;\n  }\n}\n.card__content-size {\n  flex: 0 0 auto;\n  color: #999999;\n  font-size: 12px;\n  line-height: 14px;\n}\n@media (max-width: 991.98px) {\n  .card__content-size {\n    font-size: 10px;\n    line-height: 11px;\n  }\n}\n.card__icon-background {\n  width: 64px;\n  height: 64px;\n  background: #fff;\n  border-radius: 48px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n@media (max-width: 991.98px) {\n  .card__icon-background {\n    width: 48px;\n    height: 48px;\n  }\n}\n.card__icon-icon {\n  width: 48px;\n  height: 48px;\n}\n@media (max-width: 991.98px) {\n  .card__icon-icon {\n    width: 32px;\n    height: 32px;\n  }\n}",""]),c.exports=r.toString()},13169:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.product-process {\n  background: #fff;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 14px;\n  overflow: hidden;\n  padding: 20px;\n}\n.product-process__photo {\n  height: 150px;\n  padding: 0 10px 0;\n  display: flex;\n  justify-content: center;\n}\n.product-process__photo-image {\n  max-height: 100%;\n}\n.product-process__index {\n  border-radius: 50%;\n  background: #3C91DC;\n  width: 24px;\n  height: 24px;\n  margin: 0 auto 8px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  font-size: 12px;\n  line-height: 14px;\n  color: #fff;\n}\n.product-process__title {\n  min-height: 38px;\n  font-weight: 500;\n  font-size: 16px;\n  line-height: 19px;\n  color: #4D4D4D;\n  margin: 0;\n  text-align: center;\n}\n@media (max-width: 1199.98px) {\n  .product-process__photo {\n    height: 112px;\n    margin-bottom: 10px;\n  }\n}\n@media (max-width: 767.98px) {\n  .product-process__photo {\n    height: 90px;\n    margin: 0;\n    padding: 0;\n  }\n  .product-process__index {\n    width: 20px;\n    height: 20px;\n    font-size: 10px;\n    line-height: 12px;\n  }\n  .product-process__title {\n    font-size: 12px;\n    line-height: 14px;\n    min-height: 28px;\n  }\n}",""]),c.exports=r.toString()},45093:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.marketing-toggle-card__header {\n  height: 80px;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding: 0 20px;\n}\n.marketing-toggle-card__header--expanded {\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n}\n.marketing-toggle-card__header-right {\n  padding-left: 20px;\n}\n.marketing-toggle-card__header-title {\n  font-weight: 500;\n  font-size: 24px;\n  line-height: 28px;\n  color: #4D4D4D;\n}\n@media (max-width: 767.98px) {\n  .marketing-toggle-card__header-title {\n    font-size: 16px;\n    line-height: 19px;\n  }\n}\n.marketing-toggle-card--is-open {\n  color: #004E94;\n}\n.marketing-toggle-card__body {\n  padding: 0 20px 30px;\n}",""]),c.exports=r.toString()},3895:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.download-catalog {\n  background: #F2F2F2;\n  padding-top: 40px;\n  padding-bottom: 20px;\n}\n.download-catalog__title {\n  font-size: 24px;\n  line-height: 28px;\n  color: #1A1A1A;\n  margin-bottom: 30px;\n}\n.download-catalog__banner {\n  margin-bottom: 41px;\n}",""]),c.exports=r.toString()},20591:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"",""]),c.exports=r.toString()},32517:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.marketing-mills {\n  margin-bottom: 100px;\n}\n\n.mill-slider {\n  background-image: url("/assets/icons/mill-banner-background.svg");\n  background-size: cover;\n}\n.mill-slider__content {\n  padding-top: 40px;\n  padding-bottom: 37px;\n  position: relative;\n}\n.mill-slider__content-title {\n  font-weight: 500;\n  font-size: 24px;\n  line-height: 28px;\n  color: #fff;\n  margin-bottom: 28px;\n}\n.mill-slider__content-items {\n  padding: 0 60px;\n}\n\n.slide {\n  text-align: center;\n}\n.slide:hover {\n  opacity: 0.8;\n}\n\n.keen-slider__arrow:hover > * {\n  color: #fff;\n}\n@media (max-width: 767.98px) {\n  .keen-slider__arrow {\n    display: none;\n  }\n}\n.keen-slider__arrow--left {\n  left: -60px;\n}\n.keen-slider__arrow--right {\n  right: -68px;\n}',""]),c.exports=r.toString()},52334:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.marketing-news {\n  margin-bottom: 100px;\n}\n.marketing-news__title {\n  font-size: 24px;\n  line-height: 28px;\n  color: #1A1A1A;\n  margin-bottom: 30px;\n}",""]),c.exports=r.toString()},43870:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.text-slider {\n  margin: 0 -8px;\n}\n\n.slide {\n  padding: 8px;\n  flex: 1 0 auto;\n}\n.slide__content {\n  background-color: #fff;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 14px;\n  height: 100%;\n  overflow: hidden;\n}\n.slide__content-image {\n  cursor: pointer;\n}\n.slide__text {\n  padding: 20px;\n}\n.slide__text-title {\n  font-weight: 500;\n  font-size: 20px;\n  line-height: 23px;\n  color: #4D4D4D;\n  margin-bottom: 20px;\n  height: 60px;\n  word-break: break-word;\n}\n.slide__text-content {\n  font-size: 16px;\n  line-height: 22px;\n  color: #808080;\n  margin-bottom: 30px;\n}\n.slide__text-date {\n  font-size: 12px;\n  line-height: 14px;\n  color: #B3B3B3;\n}\n\n.keen-slider__arrow {\n  top: 180px;\n  transform: none;\n}\n.keen-slider__arrow:hover > * {\n  color: #fff;\n}\n@media (max-width: 767.98px) {\n  .keen-slider__arrow {\n    display: none;\n  }\n}",""]),c.exports=r.toString()},73974:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.marketing-case__title {\n  font-size: 24px;\n  line-height: 28px;\n  color: #1A1A1A;\n  margin: 30px 0;\n}\n.marketing-case__slider {\n  margin-bottom: 96px;\n}",""]),c.exports=r.toString()},55045:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"",""]),c.exports=r.toString()},64189:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.slide__content {\n  border-radius: 14px;\n  background: #000;\n  box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px rgba(0, 0, 0, 0.2), 0px 4px 8px rgba(0, 0, 0, 0.2);\n  height: 180px;\n  position: relative;\n}\n@media (max-width: 991.98px) {\n  .slide__content {\n    height: 140px;\n  }\n}\n.slide__content-image {\n  opacity: 0.7;\n  left: 0;\n  top: 0;\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n  border-radius: 14px;\n}\n.slide__content-title {\n  position: relative;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  text-align: center;\n  z-index: 2;\n  height: 100%;\n  font-weight: 500;\n  font-size: 20px;\n  line-height: 23px;\n  color: #fff;\n}\n\n.marketing-segments__title {\n  font-size: 24px;\n  line-height: 28px;\n  color: #1A1A1A;\n  margin: 30px 0;\n}\n.marketing-segments__slider {\n  margin-bottom: 30px;\n}\n\n.slide {\n  padding: 0 16px 28px;\n  flex: 1 0 auto;\n}\n.slide__content {\n  cursor: default;\n}\n.slide--link:hover .slide__content {\n  cursor: pointer;\n  box-shadow: 0 6px 1px rgba(0, 0, 0, 0.15), 0 16px 16px rgba(0, 0, 0, 0.3);\n}\n.slide--link:hover .slide__content:after {\n  background-color: rgba(0, 148, 255, 0.4);\n  border-radius: 14px;\n  content: "";\n  display: block;\n  position: absolute;\n  left: 0;\n  top: 0;\n  right: 0;\n  bottom: 0;\n}\n\n:host ::ng-deep .keen-slider {\n  margin: 0 -16px;\n}\n:host ::ng-deep .keen-slider__arrow {\n  transform: translateY(calc(-50% - 10px));\n}\n@media (max-width: 767.98px) {\n  :host ::ng-deep .keen-slider__arrow {\n    display: none;\n  }\n}\n:host ::ng-deep .keen-slider__arrow:hover > * {\n  color: #fff;\n}\n:host ::ng-deep .keen-slider__arrow--left {\n  left: -15px;\n}\n:host ::ng-deep .keen-slider__arrow--right {\n  right: -15px;\n}',""]),c.exports=r.toString()},78996:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.support {\n  position: relative;\n  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2), 0px 1px 1px rgba(0, 0, 0, 0.3);\n  border-radius: 14px;\n  height: 180px;\n}\n.support--primary {\n  background: #666666;\n}\n.support--secondary {\n  background: #FF6B00;\n}\n.support__icon {\n  position: absolute;\n  top: -40px;\n  padding: 8px;\n  border-radius: 48px;\n}\n.support__icon--primary {\n  background: #666666;\n}\n.support__icon--primary-color {\n  color: #666666;\n}\n.support__icon--secondary {\n  background: #FF6B00;\n}\n.support__icon--secondary-color {\n  color: #FF6B00;\n}\n.support__icon-background {\n  width: 64px;\n  height: 64px;\n  background: #fff;\n  border-radius: 48px;\n}\n.support__title {\n  font-weight: 500;\n  font-size: 20px;\n  line-height: 23px;\n  color: #fff;\n  margin-top: 50px;\n  margin-bottom: 40px;\n  padding: 0 39px;\n  text-align: center;\n}\n@media (max-width: 575.98px) {\n  .support__title {\n    padding: 0 29px;\n  }\n}\n.support__button {\n  background: #fff;\n  border-radius: 7px;\n  padding: 9px 30px;\n  margin-bottom: 30px;\n  font-weight: 500;\n  font-size: 15px;\n  line-height: 18px;\n}\n.support__button--primary {\n  color: #666666;\n}\n.support__button--secondary {\n  color: #FF6B00;\n}",""]),c.exports=r.toString()},35989:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,".marketing-contact {\n  margin-bottom: 70px;\n}",""]),c.exports=r.toString()},66743:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"",""]),c.exports=r.toString()},1189:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.marketing-grey {\n  background: #F2F2F2;\n  padding-top: 40px;\n  padding-bottom: 40px;\n}\n.marketing-grey__title {\n  font-size: 24px;\n  line-height: 28px;\n  color: #1A1A1A;\n  margin-bottom: 30px;\n}\n.marketing-grey__slider {\n  margin-bottom: 20px;\n}\n\n.product-slider {\n  margin: 0 -8px;\n}\n\n.slide {\n  padding: 8px;\n}\n.slide__content {\n  background: #1C73C2;\n  border-radius: 14px;\n  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2), 0px 1px 1px rgba(0, 0, 0, 0.3);\n  padding: 40px 21px 10px;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n}\n.slide__icon {\n  color: #fff;\n  margin-bottom: 16px;\n  width: 64px;\n  height: 64px;\n}\n.slide__title {\n  font-weight: 500;\n  font-size: 16px;\n  line-height: 19px;\n  color: #fff;\n  height: 48px;\n}\n\n.keen-slider__arrow:hover > * {\n  color: #fff;\n}\n@media (max-width: 767.98px) {\n  .keen-slider__arrow {\n    display: none;\n  }\n}\n.keen-slider__arrow--left {\n  left: -18px;\n}\n.keen-slider__arrow--right {\n  right: -18px;\n}",""]),c.exports=r.toString()},94177:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.mini-cart {\n  padding: 9px;\n  z-index: 2;\n}\n@media (min-width: 992px) {\n  .mini-cart {\n    padding: 15px 0 15px 15px;\n    position: relative;\n  }\n}\n.mini-cart__tooltip {\n  width: 300px;\n}\n.mini-cart__button {\n  border: none;\n  background: transparent;\n  margin: -9px;\n  padding: 9px;\n}\n@media (min-width: 992px) {\n  .mini-cart__button {\n    margin: -15px;\n    padding: 15px;\n  }\n}\n.mini-cart__button:hover svg-icon-sprite {\n  color: #0094FF;\n}\n.mini-cart__info {\n  display: none;\n}\n@media (min-width: 992px) {\n  .mini-cart__info {\n    display: inline-block;\n    padding-left: 15px;\n  }\n}\n.mini-cart__menu {\n  position: absolute;\n  top: calc(100% - 1px);\n  right: 0;\n  left: 0;\n}\n@media (min-width: 992px) {\n  .mini-cart__menu {\n    left: auto;\n  }\n}\n.mini-cart__cart-button {\n  width: 215px;\n  height: 28px;\n  margin-left: 2px;\n  margin-bottom: 13px;\n  font-size: 14px;\n}\n@media (max-width: 991.98px) {\n  .mini-cart__cart-button {\n    width: 250px;\n  }\n}\n\n.is-open {\n  color: #0094FF;\n}\n@media (min-width: 992px) {\n  .is-open:after {\n    background: #0094FF;\n    border-radius: 0 0 4px 4px;\n    content: "";\n    height: 4px;\n    width: 62px;\n    position: absolute;\n    left: 0;\n    top: 100%;\n    z-index: 1;\n  }\n}',""]),c.exports=r.toString()},37924:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.modal-info__close-icon {\n  cursor: pointer;\n  position: absolute;\n  top: 15px;\n  right: 15px;\n  color: #CCCCCC;\n}\n.modal-info__icon {\n  color: #00C000;\n}\n.modal-info__title {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  color: #1A1A1A;\n  margin-top: 14px;\n  margin-bottom: 10px;\n}\n\n.modal-info__text {\n  font-size: 12px;\n  line-height: 14px;\n  color: #808080;\n  margin-bottom: 20px;\n  padding: 0 10px;\n}\n.modal-info .btn {\n  width: 207px;\n}\n.modal-info .btn-default {\n  margin-bottom: 5px;\n}\n.modal-info .btn-secondary {\n  margin-bottom: 10px;\n}",""]),c.exports=r.toString()},86364:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.modal-info__close-icon {\n  cursor: pointer;\n  position: absolute;\n  top: 15px;\n  right: 15px;\n  color: #CCCCCC;\n}\n.modal-info__icon {\n  color: #00C000;\n}\n.modal-info__title {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  color: #1A1A1A;\n  margin-top: 14px;\n  margin-bottom: 10px;\n}\n\n.modal-info__text {\n  font-size: 12px;\n  line-height: 14px;\n  color: #808080;\n  margin-bottom: 20px;\n}\n.modal-info .btn {\n  width: 157px;\n}\n.modal-info .btn-default {\n  margin-bottom: 10px;\n}\n.modal-info .btn-secondary {\n  margin-bottom: 5px;\n}",""]),c.exports=r.toString()},5808:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.modal-info__title {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  color: #1A1A1A;\n  margin-bottom: 7px;\n}\n.modal-info__icon {\n  margin-bottom: 12px;\n}\n.modal-info__text {\n  font-size: 12px;\n  line-height: 14px;\n  color: #808080;\n}\n.modal-info__controls {\n  margin-top: 20px;\n}",""]),c.exports=r.toString()},88060:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.form__header {\n  margin-bottom: 30px;\n}\n@media (max-width: 767.98px) {\n  .form__header {\n    padding: 0 5px;\n  }\n}\n.form__body {\n  margin-bottom: 40px;\n}\n.form__title {\n  font-weight: 500;\n  font-size: 15px;\n  line-height: 18px;\n  color: #4D4D4D;\n  margin-bottom: 10px;\n}\n.form__subtitle {\n  font-size: 12px;\n  line-height: 14px;\n  color: #808080;\n}",""]),c.exports=r.toString()},61692:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.modal-info__close-icon {\n  cursor: pointer;\n  position: absolute;\n  top: 15px;\n  right: 15px;\n  color: #CCCCCC;\n}\n.modal-info__top-icon {\n  color: #FF6B00;\n  padding: 16px 0 0;\n}\n.modal-info__title {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  color: #1A1A1A;\n  margin-top: 15px;\n  margin-bottom: 15px;\n}\n.modal-info__text {\n  font-size: 12px;\n  line-height: 14px;\n  color: #808080;\n  margin-bottom: 30px;\n  max-width: 278px;\n  word-break: break-word;\n}\n.modal-info .btn {\n  width: 120px;\n  margin: 0 5px;\n}",""]),c.exports=r.toString()},82038:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.modal-info__title {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  color: #1A1A1A;\n  margin-top: 14px;\n  margin-bottom: 10px;\n  max-width: 220px;\n  display: inline-block;\n  text-align: center;\n}\n.modal-info .modal-info__controls {\n  margin-top: 20px;\n}\n.modal-info .modal-info__controls .btn-default {\n  margin-bottom: 10px;\n}\n.modal-info .modal-info__controls .btn {\n  min-width: 140px;\n}",""]),c.exports=r.toString()},59760:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.contact {\n  padding-top: 15px;\n}\n.contact__tabs {\n  margin: -10px -8px 50px;\n}\n.contact__tabs-value {\n  cursor: pointer;\n  font-weight: 500;\n  font-size: 20px;\n  line-height: 23px;\n  padding: 10px 8px;\n  color: #4D4D4D;\n}\n.contact__active-link {\n  color: #3C91DC;\n  cursor: default;\n}\n.contact__country {\n  margin-bottom: 30px;\n}\n.contact__link {\n  display: flex;\n  align-items: center;\n  font-size: 13px;\n  line-height: 15px;\n  color: #1C73C2;\n  margin-bottom: 23px;\n}\n.contact__link-icon {\n  color: #1C73C2;\n  margin-right: 11px;\n}\n\n.modal__close {\n  top: 15px;\n  right: 15px;\n}",""]),c.exports=r.toString()},13324:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.contact-profile {\n  background: #fff;\n  border-radius: 14px;\n  box-shadow: 0 16px 16px rgba(0, 0, 0, 0.1), 0 0 8px rgba(0, 0, 0, 0.15);\n  margin: 0 auto 30px;\n  padding: 20px 20px 8px;\n  text-align: center;\n  width: 350px;\n  max-width: 100%;\n}\n.contact-profile__photo {\n  border-radius: 50%;\n  width: 64px;\n  height: 64px;\n}\n.contact-profile__name {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  color: #1A1A1A;\n}\n.contact-profile__role {\n  font-size: 10px;\n  line-height: 12px;\n  margin-bottom: 20px;\n  margin-top: 4px;\n  color: #808080;\n}\n.contact-profile__link {\n  display: flex;\n  align-items: center;\n  font-size: 13px;\n  line-height: 15px;\n  color: #1C73C2;\n  margin-bottom: 10px;\n}\n.contact-profile__link-icon {\n  color: #1C73C2;\n  margin-right: 11px;\n}\n\n.icon {\n  color: #fff;\n}\n.icon__background-first {\n  width: 80px;\n  height: 80px;\n  background: #F2F2F2;\n  border-radius: 50%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  margin-bottom: 10px;\n}\n.icon__background-second {\n  background: #1C73C2;\n  border-radius: 50%;\n  width: 64px;\n  height: 64px;\n}\n\n.is-inside {\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 7px;\n  max-width: 350px;\n}",""]),c.exports=r.toString()},22320:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.modal-segments {\n  background: #fff;\n  box-shadow: 0 16px 16px rgba(0, 0, 0, 0.1), 0 0 8px rgba(0, 0, 0, 0.15);\n  border-radius: 14px;\n  padding: 25px 30px;\n}\n.modal-segments-title {\n  font-weight: 500;\n  font-size: 20px;\n  line-height: 23px;\n  color: #4D4D4D;\n  margin-bottom: 30px;\n  padding: 0 70px;\n}\n.modal-segments__buttons {\n  display: flex;\n}\n.modal-segments__buttons-button {\n  width: 152px;\n  height: 48px;\n  font-weight: 500;\n}\n.modal-segments__buttons-button + .modal-segments__buttons-button {\n  margin-left: 6px;\n}",""]),c.exports=r.toString()},33220:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.modal-info__close-icon {\n  cursor: pointer;\n  position: absolute;\n  top: 15px;\n  right: 15px;\n  color: #CCCCCC;\n}\n.modal-info__title {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  color: #1A1A1A;\n  margin-top: 14px;\n  margin-bottom: 10px;\n}\n.modal-info__text {\n  font-size: 12px;\n  line-height: 14px;\n  color: #808080;\n  margin-bottom: 20px;\n}\n.modal-info .btn {\n  width: 125px;\n  margin: 0 5px;\n}",""]),c.exports=r.toString()},29080:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"",""]),c.exports=r.toString()},33414:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.modal-delivery {\n  padding-top: 20px;\n  width: 350px;\n}\n@media (max-width: 575.98px) {\n  .modal-delivery {\n    width: 100%;\n  }\n}\n.modal-delivery__title {\n  font-size: 13px;\n  line-height: 15px;\n  color: #1A1A1A;\n  margin-bottom: 20px;\n  text-align: left;\n  max-width: 310px;\n  padding: 0 10px 0 20px;\n}\n@media (max-width: 575.98px) {\n  .modal-delivery__title {\n    margin-right: 30px;\n  }\n}\n.modal-delivery__title-success {\n  color: #1A1A1A;\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  text-align: center;\n  margin-bottom: 7px;\n  padding: 0 20px;\n}\n.modal-delivery__text {\n  font-size: 12px;\n  line-height: 14px;\n  padding-bottom: 30px;\n  color: #808080;\n}\n.modal-delivery__icon {\n  color: #00C000;\n  margin-bottom: 10px;\n}\n.modal-delivery .btn + .btn {\n  margin-left: 10px;\n}\n.modal-delivery__selected {\n  background: linear-gradient(0deg, rgba(242, 242, 242, 0.5), rgba(242, 242, 242, 0.5)), #FFFFFF;\n  padding: 13px 0;\n  font-size: 12px;\n  line-height: 14px;\n  color: #808080;\n  border-radius: 0 0 14px 14px;\n}\n.modal-delivery__selected-header {\n  padding: 0 20px;\n}\n.modal-delivery__selected-header--is-open {\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  padding-bottom: 12px;\n}\n.modal-delivery__selected-coil {\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  padding: 12px 20px;\n}\n.modal-delivery__selected-coil:last-child {\n  box-shadow: none;\n  padding-bottom: 0;\n}\n.modal-delivery__selected-value {\n  white-space: nowrap;\n  font-size: 12px;\n  line-height: 14px;\n  color: #4D4D4D;\n  margin-left: 4px;\n}\n.modal-delivery__selected-value--weight {\n  margin-left: 45px;\n}\n.modal-delivery__selected-value--icon {\n  color: #B3B3B3;\n  margin-right: 4px;\n}\n.modal-delivery__selected-icon {\n  margin-right: 4px;\n}\n.modal-delivery__selected-button {\n  position: absolute;\n  left: calc(100% - 40px);\n  top: -5px;\n  background-color: transparent;\n}\n.modal-delivery__selected-button--icon {\n  color: #3C91DC;\n}\n.modal-delivery__selected-button--is-open {\n  color: #808080;\n}\n.modal-delivery__controls {\n  margin-bottom: 20px;\n}",""]),c.exports=r.toString()},91804:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.info-modal__title {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  color: #1A1A1A;\n  margin-bottom: 7px;\n  max-width: 200px;\n  display: inline-block;\n}\n.info-modal__icon {\n  margin-bottom: 12px;\n}\n.info-modal__text {\n  font-size: 12px;\n  line-height: 14px;\n  color: #808080;\n}\n.info-modal__text-item {\n  max-width: 200px;\n  display: inline-block;\n  margin-bottom: 5px;\n}\n.info-modal__text p + p {\n  margin-top: 8px;\n}",""]),c.exports=r.toString()},24370:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"",""]),c.exports=r.toString()},74132:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.modal-info__title {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  color: #1A1A1A;\n  margin-bottom: 7px;\n}\n.modal-info__icon {\n  margin-bottom: 12px;\n}\n.modal-info__text {\n  font-size: 12px;\n  line-height: 14px;\n  color: #808080;\n  display: inline-block;\n  max-width: 278px;\n}\n.modal-info__controls {\n  margin-top: 20px;\n}\n.modal-info__controls-button {\n  padding: 6px 30px;\n}",""]),c.exports=r.toString()},81780:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.modal-info__title {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  color: #1A1A1A;\n  margin-bottom: 7px;\n}\n.modal-info__icon {\n  margin-bottom: 12px;\n}\n.modal-info__text {\n  font-size: 12px;\n  line-height: 14px;\n  color: #808080;\n  display: inline-block;\n  max-width: 250px;\n}\n.modal-info__text p + p {\n  margin-top: 8px;\n}\n.modal-info__controls {\n  margin-top: 20px;\n}\n\np {\n  margin-bottom: 0;\n}",""]),c.exports=r.toString()},15700:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.modal-info__title {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  color: #1A1A1A;\n  margin-bottom: 10px;\n  display: inline-block;\n}\n.modal-info__text {\n  font-size: 12px;\n  line-height: 14px;\n  color: #808080;\n  margin-bottom: 30px;\n  width: 255px;\n}\n.modal-info__text-item {\n  display: inline-block;\n  margin-bottom: 0;\n}\n.modal-info .btn-secondary {\n  margin-right: 10px;\n}",""]),c.exports=r.toString()},48644:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.modal-info__close-icon {\n  cursor: pointer;\n  position: absolute;\n  top: 15px;\n  right: 15px;\n  color: #CCCCCC;\n}\n.modal-info__top-icon {\n  color: #FF6B00;\n  padding: 16px 0 0;\n}\n.modal-info__title {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  color: #1A1A1A;\n  margin-top: 15px;\n  margin-bottom: 15px;\n}\n.modal-info__text {\n  font-size: 12px;\n  line-height: 14px;\n  color: #808080;\n  margin-bottom: 30px;\n  max-width: 278px;\n  word-break: break-word;\n}\n.modal-info .btn {\n  width: 120px;\n  margin: 0 5px;\n}",""]),c.exports=r.toString()},6068:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.modal-info__title {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  color: #1A1A1A;\n  margin-bottom: 7px;\n}\n.modal-info__icon {\n  margin-bottom: 12px;\n}\n.modal-info__text {\n  font-size: 12px;\n  line-height: 14px;\n  color: #808080;\n}\n.modal-info__controls {\n  margin-top: 20px;\n}",""]),c.exports=r.toString()},65076:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.modal-info--success .modal-info__icon svg-icon-sprite {\n  color: #00C000;\n}\n.modal-info--warning .modal-info__icon svg-icon-sprite {\n  color: #FF6B00;\n}\n.modal-info__title {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  color: #1A1A1A;\n  margin: 0 auto 7px;\n}\n.modal-info__title--small {\n  max-width: 200px;\n}\n.modal-info__icon {\n  margin-bottom: 12px;\n}\n.modal-info__text {\n  font-size: 12px;\n  line-height: 14px;\n  color: #808080;\n  display: inline-block;\n  max-width: 250px;\n  margin: 8px auto 0;\n}\n.modal-info__text--small {\n  max-width: 200px;\n}\n.modal-info__buttons {\n  margin: 20px 0 0;\n}\n.modal-info__buttons--small {\n  width: 240px;\n}\n.modal-info__buttons-large {\n  min-width: 120px;\n}",""]),c.exports=r.toString()},6664:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,".btn + .btn {\n  margin-left: 10px;\n}",""]),c.exports=r.toString()},61925:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.modal-info__close-icon {\n  cursor: pointer;\n  position: absolute;\n  top: 15px;\n  right: 15px;\n  color: #CCCCCC;\n}\n.modal-info__top-icon {\n  color: #FF6B00;\n  padding: 16px 0 0;\n}\n.modal-info__title {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  color: #1A1A1A;\n  margin-top: 15px;\n  margin-bottom: 15px;\n}\n.modal-info__text {\n  font-size: 12px;\n  line-height: 14px;\n  color: #808080;\n  margin-bottom: 30px;\n  max-width: 278px;\n  word-break: break-word;\n}\n.modal-info .btn {\n  width: 120px;\n  margin: 0 5px;\n}",""]),c.exports=r.toString()},7777:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.modal-info__close-icon {\n  cursor: pointer;\n  position: absolute;\n  top: 15px;\n  right: 15px;\n  color: #CCCCCC;\n}\n.modal-info__top-icon {\n  color: #FF6B00;\n  padding: 16px 0 0;\n}\n.modal-info__title {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  color: #1A1A1A;\n  margin-top: 15px;\n  margin-bottom: 15px;\n}\n.modal-info__text {\n  font-size: 12px;\n  line-height: 14px;\n  color: #808080;\n  margin-bottom: 30px;\n  max-width: 278px;\n  word-break: break-word;\n}\n.modal-info .btn {\n  width: 120px;\n  margin: 0 5px;\n}",""]),c.exports=r.toString()},89187:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.modal-info__close-icon {\n  cursor: pointer;\n  position: absolute;\n  top: 15px;\n  right: 15px;\n  color: #CCCCCC;\n}\n.modal-info__top-icon {\n  color: #FF6B00;\n  padding: 16px 0 0;\n}\n.modal-info__title {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  color: #1A1A1A;\n  margin-top: 15px;\n  margin-bottom: 15px;\n}\n.modal-info__text {\n  font-size: 12px;\n  line-height: 14px;\n  color: #808080;\n  margin-bottom: 30px;\n  max-width: 278px;\n  word-break: break-word;\n}\n.modal-info .btn {\n  width: 120px;\n  margin: 0 5px;\n}",""]),c.exports=r.toString()},68779:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.modal-info__close-icon {\n  cursor: pointer;\n  position: absolute;\n  top: 15px;\n  right: 15px;\n  color: #CCCCCC;\n}\n.modal-info__top-icon {\n  color: #FF6B00;\n  padding: 16px 0 0;\n}\n.modal-info__title {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  color: #1A1A1A;\n  margin-top: 15px;\n  margin-bottom: 15px;\n}\n.modal-info__text {\n  font-size: 12px;\n  line-height: 14px;\n  color: #808080;\n  margin-bottom: 30px;\n  max-width: 278px;\n  word-break: break-word;\n}\n.modal-info .btn {\n  width: 120px;\n  margin: 0 5px;\n}",""]),c.exports=r.toString()},72064:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.modal-info__close-icon {\n  cursor: pointer;\n  position: absolute;\n  top: 15px;\n  right: 15px;\n  color: #CCCCCC;\n}\n.modal-info__icon {\n  color: #00C000;\n}\n.modal-info__title {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  color: #1A1A1A;\n  margin-top: 14px;\n  margin-bottom: 10px;\n}\n\n.modal-info__icon {\n  color: #808080;\n}\n.modal-info__title {\n  padding: 0 20px;\n  margin-top: 10px;\n}\n.modal-info__text {\n  width: 200px;\n  margin: 10px auto auto;\n  font-size: 12px;\n  line-height: 14px;\n  color: #808080;\n}\n.modal-info__controls-button {\n  display: flex;\n  align-items: center;\n  margin-top: 20px;\n  padding: 6px 30px;\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n}\n.modal-info__controls-icon {\n  color: #FFF;\n  margin-right: 4px;\n}",""]),c.exports=r.toString()},50608:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.business-unit-company {\n  width: 100%;\n}\n.business-unit-company__title {\n  text-transform: uppercase;\n}\n.business-unit-company__body {\n  padding: 20px 20px 20px 26px;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n}\n.business-unit-company__select {\n  display: flex;\n  gap: 10px;\n  align-items: center;\n  flex-wrap: wrap;\n}\n.business-unit-company__select-title {\n  color: #1A1A1A;\n  font-size: 14px;\n  line-height: 20px;\n}\n.business-unit-company__select-value {\n  font-size: 14px;\n  line-height: 16px;\n  color: #666666;\n  word-break: break-word;\n}\n.business-unit-company__info {\n  padding: 20px 20px 26px 26px;\n}\n.business-unit-company__info-item {\n  display: flex;\n}\n.business-unit-company__info-item + .business-unit-company__info-item {\n  margin-top: 10px;\n}\n.business-unit-company__info-title {\n  min-width: 75px;\n  font-weight: 400;\n  font-size: 14px;\n  line-height: 20px;\n  color: #1A1A1A;\n  flex-shrink: 0;\n  display: flex;\n  align-items: flex-start;\n}\n.business-unit-company__info-value {\n  font-weight: 400;\n  font-size: 14px;\n  line-height: 16px;\n  color: #666666;\n  display: flex;\n  align-items: center;\n}",""]),c.exports=r.toString()},99244:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.business-unit {\n  display: flex;\n  flex-direction: column;\n  gap: 20px;\n}\n.business-unit__title {\n  padding-bottom: 20px;\n  border-bottom: 1px solid #C4C4C4;\n}\n.business-unit__title-icon {\n  color: inherit;\n  margin-left: 4px;\n}\n.business-unit__top {\n  display: flex;\n  width: 100%;\n  flex-direction: column;\n  gap: 20px;\n}\n.business-unit__top-book {\n  width: 100%;\n}\n.business-unit__top-company {\n  flex-shrink: 0;\n  width: 100%;\n}\n.business-unit__top-company--full {\n  width: 100%;\n}",""]),c.exports=r.toString()},70505:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.claims-buttons {\n  display: flex;\n  justify-content: flex-end;\n  padding: 20px;\n}\n@media (max-width: 575.98px) {\n  .claims-buttons {\n    flex-direction: column;\n  }\n}\n.claims-buttons__button {\n  flex: 1 1 auto;\n}\n.claims-buttons__button:not(:last-of-type) {\n  margin-right: 10px;\n}\n@media (max-width: 575.98px) {\n  .claims-buttons__button:not(:last-of-type) {\n    margin: 0 0 10px 0;\n  }\n}\n.claims-buttons__button-text {\n  margin-right: 10px;\n}\n\n.anchor {\n  position: absolute;\n  top: -110px;\n  opacity: 0;\n}\n@media (max-width: 991.98px) {\n  .anchor {\n    top: -60px;\n  }\n}\n\n.claims-errors {\n  padding: 12px 20px;\n  background: #FFEBEB;\n}\n.claims-errors__error {\n  display: flex;\n  align-items: center;\n}\n.claims-errors__error:not(:last-of-type) {\n  margin-bottom: 4px;\n}\n.claims-errors__error-icon {\n  margin-right: 8px;\n  color: #AF002A;\n}\n.claims-errors__error-text {\n  font-size: 12px;\n  line-height: 16px;\n  color: #AF002A;\n}\n@media (max-width: 767.98px) {\n  .claims-errors__error-text {\n    max-width: unset;\n  }\n}",""]),c.exports=r.toString()},53303:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.claims-buttons {\n  display: flex;\n  justify-content: flex-end;\n  padding: 20px;\n}\n@media (max-width: 575.98px) {\n  .claims-buttons {\n    flex-direction: column;\n  }\n}\n.claims-buttons__button {\n  flex: 1 1 auto;\n}\n.claims-buttons__button:not(:last-of-type) {\n  margin-right: 10px;\n}\n@media (max-width: 575.98px) {\n  .claims-buttons__button:not(:last-of-type) {\n    margin: 0 0 10px 0;\n  }\n}\n.claims-buttons__button-text {\n  margin-right: 10px;\n}\n\n.anchor {\n  position: absolute;\n  top: -110px;\n  opacity: 0;\n}\n@media (max-width: 991.98px) {\n  .anchor {\n    top: -60px;\n  }\n}\n\n.claims-errors {\n  padding: 12px 20px;\n  background: #FFEBEB;\n}\n.claims-errors__error {\n  display: flex;\n  align-items: center;\n}\n.claims-errors__error:not(:last-of-type) {\n  margin-bottom: 4px;\n}\n.claims-errors__error-icon {\n  margin-right: 8px;\n  color: #AF002A;\n}\n.claims-errors__error-text {\n  font-size: 12px;\n  line-height: 16px;\n  color: #AF002A;\n}\n@media (max-width: 767.98px) {\n  .claims-errors__error-text {\n    max-width: unset;\n  }\n}",""]),c.exports=r.toString()},44402:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.claim-detail__claim-id {\n  margin-right: 32px;\n}\n.claim-detail__subject {\n  display: block;\n  margin-bottom: 20px;\n}\n.claim-detail__info {\n  display: block;\n  margin-bottom: 20px;\n}\n.claim-detail__info-card-wrapper {\n  padding: 20px 20px 25px;\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n}\n.claim-detail__main-grid {\n  display: grid;\n  grid-template-columns: 255px auto;\n  grid-column-gap: 30px;\n  margin-bottom: 20px;\n}\n@media (max-width: 575.98px) {\n  .claim-detail__main-grid {\n    grid-template-columns: 1fr;\n    grid-gap: 20px;\n  }\n}\n.claim-detail__main-list {\n  display: flex;\n  flex-direction: column;\n}\n.claim-detail__placed {\n  flex: 0 0 auto;\n  margin-bottom: 20px;\n}\n.claim-detail__comments {\n  flex: 1 0 auto;\n}\n.claim-detail__placed-info {\n  display: grid;\n  grid-template-columns: repeat(2, 1fr);\n}\n.claim-detail__placed-wrapper {\n  padding: 15px 20px 20px;\n}\n.claim-detail__placed-link {\n  font-size: 12px;\n  line-height: 14px;\n  color: #3C91DC;\n}\n.claim-detail__comments-wrapper {\n  padding: 15px 20px;\n}\n.claim-detail__items {\n  margin-bottom: 20px;\n}\n.claim-detail__attachments-wrapper {\n  padding: 20px 20px 30px;\n  background: linear-gradient(0deg, rgba(242, 242, 242, 0.5), rgba(242, 242, 242, 0.5)), #FFFFFF;\n  border-bottom-left-radius: 14px;\n  border-bottom-right-radius: 14px;\n}\n.claim-detail__attachments-list {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  grid-gap: 10px;\n  margin-bottom: 10px;\n}\n@media (max-width: 1199.98px) {\n  .claim-detail__attachments-list {\n    grid-template-columns: 1fr 1fr;\n  }\n}\n@media (max-width: 575.98px) {\n  .claim-detail__attachments-list {\n    grid-template-columns: 1fr;\n  }\n}\n.claim-detail__items-body {\n  background: #F2F2F2;\n  border-bottom-left-radius: 14px;\n  border-bottom-right-radius: 14px;\n}",""]),c.exports=r.toString()},5463:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.claims__header {\n  margin-bottom: 30px;\n}\n.claims__list {\n  display: grid;\n  grid-template-columns: 1fr;\n  row-gap: 10px;\n}",""]),c.exports=r.toString()},99989:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.list__report {\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  max-width: 825px;\n}\n@media (min-width: 992px) and (max-width: 1199.98px) {\n  .list__report {\n    max-width: 645px;\n  }\n}\n@media (max-width: 991.98px) {\n  .list__report {\n    max-width: calc(100vw - 80px);\n  }\n}\n@media (max-width: 767.98px) {\n  .list__report {\n    max-width: calc(100vw - 66px);\n  }\n}\n@media (max-width: 575.98px) {\n  .list__report {\n    max-width: calc(100vw - 30px);\n  }\n}\n.list__report-title {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  padding: 10px 20px 0;\n}\n.list::ng-deep .dx-selection {\n  background-color: #D0E9FF !important;\n}\n.list::ng-deep .dx-selection:nth-child(even) td {\n  background-color: #D0E9FF !important;\n}\n.list__attachments {\n  padding-top: 20px;\n}\n.list__attachments-wrapper {\n  padding: 20px 20px 30px;\n  background: linear-gradient(0deg, rgba(242, 242, 242, 0.5), rgba(242, 242, 242, 0.5)), #FFFFFF;\n  border-bottom-left-radius: 14px;\n  border-bottom-right-radius: 14px;\n}\n.list__attachments-list {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  grid-gap: 10px;\n  margin-bottom: 10px;\n}\n@media (max-width: 1199.98px) {\n  .list__attachments-list {\n    grid-template-columns: 1fr 1fr;\n  }\n}\n@media (max-width: 575.98px) {\n  .list__attachments-list {\n    grid-template-columns: 1fr;\n  }\n}",""]),c.exports=r.toString()},75658:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.claimed-items__report {\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  max-width: 825px;\n}\n@media (min-width: 992px) and (max-width: 1199.98px) {\n  .claimed-items__report {\n    max-width: 645px;\n  }\n}\n@media (max-width: 991.98px) {\n  .claimed-items__report {\n    max-width: calc(100vw - 80px);\n  }\n}\n@media (max-width: 767.98px) {\n  .claimed-items__report {\n    max-width: calc(100vw - 66px);\n  }\n}\n@media (max-width: 575.98px) {\n  .claimed-items__report {\n    max-width: calc(100vw - 30px);\n  }\n}\n.claimed-items__buttons {\n  display: flex;\n  padding: 20px;\n  align-items: center;\n  justify-content: flex-end;\n}\n@media (max-width: 767.98px) {\n  .claimed-items__buttons {\n    flex-direction: column;\n  }\n}\n.claimed-items__divider {\n  border: 0;\n  border-top: 1px solid rgba(0, 0, 0, 0.1);\n  margin: 0;\n}\n.claimed-items__button {\n  flex-basis: 46%;\n}\n@media (max-width: 767.98px) {\n  .claimed-items__button {\n    max-width: unset;\n  }\n}\n.claimed-items__files-errors {\n  padding: 20px;\n}\n.claimed-items__header {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n}\n\n.claims-errors {\n  padding: 12px 20px;\n  background: #FFEBEB;\n}\n.claims-errors__error {\n  display: flex;\n  align-items: center;\n}\n.claims-errors__error:not(:last-of-type) {\n  margin-bottom: 4px;\n}\n.claims-errors__error-icon {\n  margin-right: 8px;\n  color: #AF002A;\n}\n.claims-errors__error-text {\n  font-size: 12px;\n  line-height: 16px;\n  color: #AF002A;\n}\n@media (max-width: 767.98px) {\n  .claims-errors__error-text {\n    max-width: unset;\n  }\n}",""]),c.exports=r.toString()},88460:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.item-form-trading__wrapper {\n  display: flex;\n  width: 100%;\n}\n.item-form-trading__top {\n  align-items: center;\n  justify-content: space-between;\n}\n.item-form-trading__scrollbar {\n  overflow: unset;\n}\n@media (max-width: 575.98px) {\n  .item-form-trading__scrollbar {\n    overflow: auto;\n  }\n}\n@media (max-width: 575.98px) {\n  .item-form-trading__tabs {\n    width: 100%;\n  }\n  .item-form-trading__tabs ::ng-deep.tabs__item {\n    min-width: max-content;\n  }\n}\n.item-form-trading__fields {\n  width: 100%;\n  display: flex;\n  gap: 10px;\n  flex-wrap: wrap;\n}\n@media (max-width: 575.98px) {\n  .item-form-trading__fields {\n    margin-right: 0;\n  }\n}\n.item-form-trading__fields--50 {\n  width: calc(50% - 5px);\n}\n@media (max-width: 575.98px) {\n  .item-form-trading__fields--50 {\n    width: 100%;\n  }\n}\n.item-form-trading__fields--33 {\n  width: calc(33.333% - 7px);\n}\n@media (max-width: 575.98px) {\n  .item-form-trading__fields--33 {\n    width: 100%;\n  }\n}\n.item-form-trading__fields--25 {\n  width: calc(25% - 8px);\n}\n@media (max-width: 767.98px) {\n  .item-form-trading__fields--25 {\n    width: 100%;\n  }\n}\n@media (max-width: 575.98px) {\n  .item-form-trading__request {\n    width: 100%;\n  }\n  .item-form-trading__request .btn {\n    width: 100%;\n  }\n}\n\n.btn {\n  min-width: 100%;\n}",""]),c.exports=r.toString()},13352:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.item-form__wrapper {\n  display: flex;\n  width: calc(100% - 265px);\n}\n@media (max-width: 991.98px) {\n  .item-form__wrapper {\n    width: 100%;\n  }\n}\n.item-form__scrollbar {\n  overflow: unset;\n}\n@media (max-width: 575.98px) {\n  .item-form__scrollbar {\n    overflow: auto;\n  }\n}\n@media (max-width: 575.98px) {\n  .item-form__tabs {\n    width: 100%;\n  }\n  .item-form__tabs ::ng-deep.tabs__item {\n    min-width: max-content;\n  }\n}\n.item-form__fields {\n  width: 100%;\n  margin-right: 10px;\n}\n@media (max-width: 575.98px) {\n  .item-form__fields {\n    margin-right: 0;\n  }\n}\n.item-form__footer {\n  box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.07);\n  padding: 20px;\n}\n.item-form__footer-icon {\n  margin-right: 5px;\n}\n@media (max-width: 575.98px) {\n  .item-form__request {\n    margin-top: 10px;\n    width: 100%;\n  }\n  .item-form__request .btn {\n    width: 100%;\n  }\n}\n\n.btn {\n  min-width: 255px;\n}",""]),c.exports=r.toString()},4560:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.add-items {\n  position: relative;\n  z-index: 3;\n}\n.add-items__form {\n  padding: 20px 20px 30px;\n}\n@media (max-width: 991.98px) {\n  .add-items__form {\n    max-width: calc(100vw - 30px);\n  }\n}\n.add-items__form--with-data {\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n}\n.add-items__report {\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  max-width: 825px;\n}\n@media (min-width: 992px) and (max-width: 1199.98px) {\n  .add-items__report {\n    max-width: 645px;\n  }\n}\n@media (max-width: 991.98px) {\n  .add-items__report {\n    max-width: calc(100vw - 80px);\n  }\n}\n@media (max-width: 767.98px) {\n  .add-items__report {\n    max-width: calc(100vw - 66px);\n  }\n}\n@media (max-width: 575.98px) {\n  .add-items__report {\n    max-width: calc(100vw - 30px);\n  }\n}\n.add-items__add-selected {\n  display: flex;\n  justify-content: flex-end;\n  padding: 20px;\n}\n.add-items__button {\n  width: 100%;\n  max-width: 285px;\n}\n.add-items__error {\n  font-size: 13px;\n  line-height: 15px;\n  padding: 10px 0;\n}\n.add-items__no-found-icon {\n  margin-right: 6px;\n}\n.add-items__loader {\n  margin: 10px 0;\n}",""]),c.exports=r.toString()},32218:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.claim-cell__title {\n  font-size: 10px;\n  line-height: 12px;\n  color: #999999;\n  margin: 0 0 5px;\n}\n.claim-cell__text {\n  font-weight: 500;\n  font-size: 13px;\n  line-height: 15px;\n  color: #4D4D4D;\n  margin: 0;\n  word-break: break-word;\n}\n.claim-cell--right .claim-cell__title,\n.claim-cell--right .claim-cell__text {\n  text-align: right;\n}",""]),c.exports=r.toString()},87050:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.claim-status {\n  font-weight: 500;\n  font-size: 15px;\n  line-height: 18px;\n}\n.claim-status__icon {\n  margin-left: 4px;\n}\n.claim-status--in_progress, .claim-status--in_creation, .claim-status--accepted, .claim-status--registered {\n  color: #E05E00;\n}\n.claim-status--in_progress svg-icon-sprite, .claim-status--in_creation svg-icon-sprite, .claim-status--accepted svg-icon-sprite, .claim-status--registered svg-icon-sprite {\n  color: #E05E00;\n}\n.claim-status--open {\n  color: #45B75D;\n}\n.claim-status--open svg-icon-sprite {\n  color: #45B75D;\n}\n.claim-status--closed, .claim-status--accepted, .claim-status--rejected {\n  color: #808080;\n}\n.claim-status--closed svg-icon-sprite, .claim-status--accepted svg-icon-sprite, .claim-status--rejected svg-icon-sprite {\n  color: #808080;\n}\n.claim-status--small {\n  font-weight: normal;\n  font-size: 12px;\n  line-height: 14px;\n}",""]),c.exports=r.toString()},33174:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.claims__create-card {\n  display: block;\n  margin-bottom: 20px;\n}\n.claims__create-form {\n  padding: 20px;\n  display: grid;\n  grid-template-columns: repeat(1, 1fr);\n  grid-row-gap: 20px;\n}",""]),c.exports=r.toString()},50954:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"",""]),c.exports=r.toString()},16334:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.claims {\n  display: flex;\n  align-items: center;\n  justify-content: flex-start;\n  padding: 30px 0 0;\n}\n@media (max-width: 767.98px) {\n  .claims {\n    flex-direction: column;\n    align-items: flex-start;\n    padding: 20px 0 0;\n  }\n}\n.claims__title {\n  margin-right: 30px;\n}\n@media (max-width: 767.98px) {\n  .claims__title {\n    margin-right: 0;\n  }\n}\n.claims__warn {\n  color: #E05E00;\n  display: flex;\n  align-items: center;\n  font-size: 12px;\n  line-height: 14px;\n}\n@media (max-width: 767.98px) {\n  .claims__warn {\n    padding: 32px 0 12px;\n  }\n}\n.claims__warn-icon {\n  color: #E05E00;\n  margin-right: 5px;\n}",""]),c.exports=r.toString()},37876:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.claim-card--in_progress .claim-card__header, .claim-card--in_active .claim-card__header {\n  box-shadow: inset 0px -1px 0px #E05E00;\n}\n.claim-card--open .claim-card__header {\n  box-shadow: inset 0px -1px 0px #45B75D;\n}\n.claim-card--close .claim-card__header {\n  box-shadow: inset 0px -1px 0px rgba(0, 0, 0, 0.12);\n}\n.claim-card__header {\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  font-weight: 500;\n  font-size: 15px;\n  line-height: 18px;\n  padding: 15px 20px;\n}\n@media (max-width: 575.98px) {\n  .claim-card__header {\n    font-size: 12px;\n    line-height: 14px;\n  }\n}\n.claim-card__number {\n  color: #3C91DC;\n}\n.claim-card__subject {\n  padding: 11px 20px;\n  font-size: 12px;\n  line-height: 14px;\n  color: #999999;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n}\n.claim-card__subject-data {\n  font-size: 12px;\n  line-height: 14px;\n  color: #4D4D4D;\n  margin-left: 6px;\n}\n.claim-card__info {\n  padding: 15px 20px;\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n}\n.claim-card__action-line {\n  background-color: #F2F2F2;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  padding: 10px 20px;\n  border-bottom-left-radius: 14px;\n  border-bottom-right-radius: 14px;\n}\n.claim-card--toggled .claim-card__action-line {\n  box-shadow: none;\n  border-bottom-left-radius: 0;\n  border-bottom-right-radius: 0;\n}\n.claim-card__items-toggle {\n  color: #3C91DC;\n  cursor: pointer;\n  font-size: 12px;\n  line-height: 14px;\n  background: transparent;\n}\n.claim-card--toggled .claim-card__items-toggle {\n  color: #4D4D4D;\n}\n.claim-card__items-toggle-icon {\n  color: #3C91DC;\n  transition: transform 0.25s;\n}\n.claim-card--toggled .claim-card__items-toggle-icon {\n  color: #4D4D4D;\n  transform: rotate(180deg);\n}\n.claim-card__items-amount {\n  color: #999999;\n  font-size: 12px;\n  line-height: 14px;\n}\n.claim-card__items {\n  background-color: #F2F2F2;\n}\n.claim-card__category-header {\n  background: linear-gradient(0deg, rgba(242, 242, 242, 0.5), rgba(242, 242, 242, 0.5)), #FFFFFF;\n  border-radius: 0 7px 0 0;\n  display: inline-block;\n}\n.claim-card__index {\n  align-items: center;\n  background: #B3B3B3;\n  border-radius: 7px;\n  color: #fff;\n  display: flex;\n  font-size: 12px;\n  font-weight: 500;\n  justify-content: center;\n  line-height: 14px;\n  margin-right: 20px;\n  padding: 3px 13px;\n}\n.claim-card__category {\n  border-top: 1px solid rgba(0, 0, 0, 0.15);\n  border-radius: 0 7px 0 0;\n  color: #999999;\n  font-size: 12px;\n  line-height: 14px;\n  padding: 11px 20px;\n}\n.claim-card__category-title {\n  margin-right: 6px;\n}\n.claim-card__category-name {\n  color: #4D4D4D;\n}\n.claim-card__chars {\n  padding: 11px 20px;\n  background: linear-gradient(0deg, rgba(242, 242, 242, 0.5), rgba(242, 242, 242, 0.5)), #FFFFFF;\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  grid-row-gap: 10px;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n}\n.claim-card__chars--last {\n  border-bottom-left-radius: 14px;\n  border-bottom-right-radius: 14px;\n  background-color: #F2F2F2;\n  box-shadow: none;\n}\n.claim-card__more-chars {\n  padding: 10px 20px;\n}\n.claim-card__more-chars--last {\n  border-bottom-left-radius: 14px;\n  border-bottom-right-radius: 14px;\n}\n.claim-card__more-chars--open {\n  border-bottom-left-radius: 0;\n  border-bottom-right-radius: 0;\n}\n.claim-card__more-items-toggle {\n  color: #3C91DC;\n  cursor: pointer;\n  font-size: 12px;\n  line-height: 14px;\n  background: transparent;\n}\n.claim-card__more-chars--open .claim-card__more-items-toggle {\n  color: #4D4D4D;\n}\n.claim-card__more-items-toggle-icon {\n  color: #3C91DC;\n  transition: transform 0.25s;\n}\n.claim-card__more-chars--open .claim-card__more-items-toggle-icon {\n  color: #4D4D4D;\n  transform: rotate(180deg);\n}",""]),c.exports=r.toString()},24610:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.claim-card--in_progress .claim-card__header, .claim-card--in_active .claim-card__header {\n  box-shadow: inset 0px -1px 0px #E05E00;\n}\n.claim-card--open .claim-card__header {\n  box-shadow: inset 0px -1px 0px #45B75D;\n}\n.claim-card--close .claim-card__header {\n  box-shadow: inset 0px -1px 0px rgba(0, 0, 0, 0.12);\n}\n.claim-card__header {\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  font-weight: 500;\n  font-size: 15px;\n  line-height: 18px;\n  padding: 15px 20px;\n}\n@media (max-width: 575.98px) {\n  .claim-card__header {\n    font-size: 12px;\n    line-height: 14px;\n  }\n}\n.claim-card__number {\n  color: #3C91DC;\n}\n.claim-card__subject {\n  padding: 11px 20px;\n  font-size: 12px;\n  line-height: 14px;\n  color: #999999;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n}\n.claim-card__subject-data {\n  font-size: 12px;\n  line-height: 14px;\n  color: #4D4D4D;\n  margin-left: 6px;\n}\n.claim-card__info {\n  padding: 15px 20px;\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n}\n.claim-card__action-line {\n  background-color: #F2F2F2;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  padding: 10px 20px;\n  border-bottom-left-radius: 14px;\n  border-bottom-right-radius: 14px;\n}\n.claim-card--toggled .claim-card__action-line {\n  box-shadow: none;\n  border-bottom-left-radius: 0;\n  border-bottom-right-radius: 0;\n}\n.claim-card__items-toggle {\n  color: #3C91DC;\n  cursor: pointer;\n  font-size: 12px;\n  line-height: 14px;\n  background: transparent;\n}\n.claim-card--toggled .claim-card__items-toggle {\n  color: #4D4D4D;\n}\n.claim-card__items-toggle-icon {\n  color: #3C91DC;\n  transition: transform 0.25s;\n}\n.claim-card--toggled .claim-card__items-toggle-icon {\n  color: #4D4D4D;\n  transform: rotate(180deg);\n}\n.claim-card__items-amount {\n  color: #999999;\n  font-size: 12px;\n  line-height: 14px;\n}\n.claim-card__items {\n  background-color: #F2F2F2;\n  border-bottom-left-radius: 14px;\n  border-bottom-right-radius: 14px;\n}\n.claim-card__category-header {\n  background: linear-gradient(0deg, rgba(242, 242, 242, 0.5), rgba(242, 242, 242, 0.5)), #FFFFFF;\n  border-radius: 0 7px 0 0;\n  display: inline-block;\n}\n.claim-card__index {\n  align-items: center;\n  background: #B3B3B3;\n  border-radius: 7px;\n  color: #fff;\n  display: flex;\n  font-size: 12px;\n  font-weight: 500;\n  justify-content: center;\n  line-height: 14px;\n  margin-right: 20px;\n  padding: 3px 13px;\n}\n.claim-card__category {\n  border-top: 1px solid rgba(0, 0, 0, 0.15);\n  border-radius: 0 7px 0 0;\n  color: #999999;\n  font-size: 12px;\n  line-height: 14px;\n  padding: 11px 20px;\n}\n.claim-card__category-title {\n  margin-right: 6px;\n}\n.claim-card__category-name {\n  color: #4D4D4D;\n}\n.claim-card__chars {\n  padding: 11px 20px;\n  background: linear-gradient(0deg, rgba(242, 242, 242, 0.5), rgba(242, 242, 242, 0.5)), #FFFFFF;\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  grid-row-gap: 10px;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n}\n.claim-card__chars--last {\n  border-bottom-left-radius: 14px;\n  border-bottom-right-radius: 14px;\n  background-color: #F2F2F2;\n  box-shadow: none;\n}\n.claim-card__more-chars {\n  padding: 10px 20px;\n}\n.claim-card__more-chars--last {\n  border-bottom-left-radius: 14px;\n  border-bottom-right-radius: 14px;\n}\n.claim-card__more-chars--open {\n  border-bottom-left-radius: 0;\n  border-bottom-right-radius: 0;\n}\n.claim-card__more-items-toggle {\n  color: #3C91DC;\n  cursor: pointer;\n  font-size: 12px;\n  line-height: 14px;\n  background: transparent;\n}\n.claim-card__more-chars--open .claim-card__more-items-toggle {\n  color: #4D4D4D;\n}\n.claim-card__more-items-toggle-icon {\n  color: #3C91DC;\n  transition: transform 0.25s;\n}\n.claim-card__more-chars--open .claim-card__more-items-toggle-icon {\n  color: #4D4D4D;\n  transform: rotate(180deg);\n}",""]),c.exports=r.toString()},20174:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,".claims__header {\n  margin-bottom: 30px;\n}\n.claims__list {\n  display: grid;\n  grid-template-columns: 1fr;\n  grid-row-gap: 10px;\n}",""]),c.exports=r.toString()},41058:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.claims__create-card {\n  display: block;\n  margin-bottom: 20px;\n}\n.claims__create-form {\n  padding: 20px;\n  display: grid;\n  grid-template-columns: repeat(1, 1fr);\n  grid-row-gap: 20px;\n}\n.claims__form-row {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  grid-column-gap: 15px;\n}",""]),c.exports=r.toString()},94634:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.back-button {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  padding: 6px 20px;\n}\n@media (min-width: 992px) and (max-width: 1199.98px) {\n  .back-button {\n    padding: 6px 10px;\n  }\n}\n.back-button:not(:last-of-type) {\n  margin-right: 10px;\n}\n@media (max-width: 767.98px) {\n  .back-button:not(:last-of-type) {\n    margin: 0 0 20px;\n  }\n}\n.back-button:hover .back-button__icon {\n  color: white;\n}\n@media (max-width: 767.98px) {\n  .back-button {\n    width: 100%;\n  }\n}\n.back-button__icon {\n  color: #1C73C2;\n  display: inline-block;\n  margin-left: 0;\n  margin-right: 8px;\n}",""]),c.exports=r.toString()},45908:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.user-create__title {\n  font-weight: 500;\n  font-size: 24px;\n  line-height: 28px;\n  color: #1A1A1A;\n  margin: 30px 0;\n}\n@media (max-width: 991.98px) {\n  .user-create__title {\n    margin: 0 0 35px;\n  }\n}\n.user-create__divider {\n  height: 1px;\n  background: #E5E5E5;\n  border: none;\n  margin: 0;\n}\n.user-create__divider--margin {\n  margin-bottom: 40px;\n}\n.user-create__list {\n  display: flex;\n  flex-direction: column;\n  padding: 30px 0 40px;\n}\n.user-create__list--columns {\n  position: relative;\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  grid-row-gap: 48px;\n  grid-column-gap: 30px;\n}\n@media (max-width: 767.98px) {\n  .user-create__list--columns {\n    grid-template-columns: 1fr;\n    grid-row-gap: 30px;\n  }\n}\n.user-create__list--padding {\n  padding-left: 26px;\n  padding-right: 26px;\n}\n.user-create__buttons {\n  display: flex;\n}\n@media (max-width: 767.98px) {\n  .user-create__buttons {\n    flex-direction: column;\n  }\n}\n.user-create__button {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  padding: 6px 20px;\n}\n@media (min-width: 992px) and (max-width: 1199.98px) {\n  .user-create__button {\n    padding: 6px 10px;\n  }\n}\n.user-create__button:not(:last-of-type) {\n  margin-right: 10px;\n}\n@media (max-width: 767.98px) {\n  .user-create__button:not(:last-of-type) {\n    margin: 0 0 20px;\n  }\n}\n.user-create__button:hover .user-create__button-icon {\n  color: white;\n}\n@media (max-width: 767.98px) {\n  .user-create__button {\n    width: 100%;\n  }\n}\n.user-create__button + .d-flex {\n  margin-left: 10px;\n}\n@media (max-width: 767.98px) {\n  .user-create__button + .d-flex {\n    margin: 20px 0 0;\n  }\n}\n.user-create__button-icon {\n  display: inline-block;\n  margin-left: 8px;\n  color: #1C73C2;\n}\n.user-create__button-icon--save {\n  color: #FFF;\n}",""]),c.exports=r.toString()},74529:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.user-card {\n  border-radius: 14px;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n}\n.user-card__header, .user-card__body, .user-card__footer {\n  box-shadow: inset 0px -1px 0px rgba(0, 0, 0, 0.12);\n  padding: 15px 20px;\n}\n.user-card__header {\n  border-radius: 14px 14px 0 0;\n  box-shadow: inset 0px -1px 0px rgba(0, 0, 0, 0.12);\n}\n.is-user-active .user-card__header {\n  box-shadow: inset 0px -1px 0px rgba(0, 0, 0, 0.12) #00C000;\n}\n.user-card__footer {\n  background-color: rgba(242, 242, 242, 0.5);\n  border-radius: 0 0 14px 14px;\n  justify-content: flex-end;\n}\n.user-card__footer--disabled {\n  justify-content: space-between;\n  align-items: center;\n}\n@media (max-width: 575.98px) {\n  .user-card__footer--disabled {\n    flex-direction: column;\n    align-items: flex-end;\n  }\n}\n.user-card__user-name {\n  color: #3C91DC;\n  font-weight: 500;\n  font-size: 15px;\n  line-height: 18px;\n  max-width: 70%;\n  word-break: break-word;\n}\n.user-card__user-state {\n  color: #808080;\n}\n.is-user-active .user-card__user-state {\n  color: #00C000;\n}\n.user-card__user-state-icon {\n  margin-left: 3px;\n}\n.is-user-active .user-card__user-state-icon {\n  color: #00C000;\n}\n.user-card__param:last-of-type {\n  text-align: right;\n}\n.user-card__param-title {\n  color: #999999;\n  font-size: 10px;\n  line-height: 12px;\n  margin-bottom: 5px;\n}\n.user-card__param-value {\n  color: #4D4D4D;\n  font-weight: 500;\n  font-size: 13px;\n  line-height: 15px;\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n.user-card__btn {\n  min-width: 154px;\n}\n.user-card__btn:hover .user-card__btn-icon {\n  color: #fff;\n}\n.user-card__btn-icon {\n  color: #1C73C2;\n}\n.user-card__description {\n  font-size: 12px;\n  line-height: 14px;\n  color: #1C73C2;\n}\n@media (max-width: 575.98px) {\n  .user-card__description {\n    margin-bottom: 10px;\n  }\n}\n.user-card__description-icon {\n  color: #1C73C2;\n  margin-right: 4px;\n}",""]),c.exports=r.toString()},11857:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.page-content-header {\n  margin-bottom: 22px;\n  display: flex;\n}\n@media (max-width: 767.98px) {\n  .page-content-header {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n  }\n}\n.page-content-header > *:not(:last-child) {\n  margin-right: 30px;\n}\n@media (max-width: 767.98px) {\n  .page-content-header > *:not(:last-child) {\n    margin-right: 0;\n  }\n}\n.page-content-header__title {\n  margin-bottom: 0;\n}\n.page-content-header__action {\n  color: #3C91DC;\n  font-size: 14px;\n  line-height: 20px;\n}\n.page-content-header__action-icon {\n  color: #3C91DC;\n  margin-left: 5px;\n}\n@media (max-width: 767.98px) {\n  .page-content-header__filter {\n    margin-left: auto;\n  }\n}\n@media (max-width: 575.98px) {\n  .page-content-header__filter .btn {\n    padding: 0 9px;\n    min-width: unset;\n  }\n}\n@media (max-width: 767.98px) {\n  .page-content-header__sorting, .page-content-header__action {\n    margin-top: 20px;\n  }\n}",""]),c.exports=r.toString()},42028:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.users-list {\n  margin-top: 30px;\n  position: relative;\n}\n.users-list__content {\n  position: relative;\n}\n.users-list__item {\n  display: block;\n}\n.users-list__item + .users-list__item {\n  margin-top: 10px;\n}",""]),c.exports=r.toString()},46:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'@charset "UTF-8";\n/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n/* TODO: we should move onto such approach\n    0000\u20131999: Elements and Components\n    2000\u20132999: Element and Component Drop Downs\n    3000\u20133999: Secondary Navigation\n    4000\u20134999: Header / Footer\n    5000\u20135999: Primary Navigation\n    6000\u20136999: Full Screen Features\n    7000\u20137999: Special Cases\n    8000\u20138999: Modals / Dialog Windows\n    9000\u20139999: Notifications */\n/* z-index collection */\n.user-show__title {\n  font-weight: 500;\n  font-size: 24px;\n  line-height: 28px;\n  color: #1A1A1A;\n  margin: 30px 0;\n}\n@media (max-width: 991.98px) {\n  .user-show__title {\n    margin: 0 0 35px;\n  }\n}\n.user-show__title--disabled {\n  color: #808080;\n}\n.user-show__title-status {\n  font-weight: 500;\n  font-size: 15px;\n  line-height: 18px;\n  margin-left: 30px;\n}\n.user-show__title--active {\n  color: #45B75D;\n}\n.user-show__divider {\n  height: 1px;\n  background: #E5E5E5;\n  border: none;\n  margin: 0;\n}\n.user-show__divider--margin {\n  margin-bottom: 40px;\n}\n.user-show__list {\n  display: flex;\n  flex-direction: column;\n  padding: 30px 0 40px;\n}\n.user-show__list--columns {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  grid-row-gap: 48px;\n  grid-column-gap: 30px;\n}\n@media (max-width: 767.98px) {\n  .user-show__list--columns {\n    grid-template-columns: 1fr;\n    grid-row-gap: 30px;\n  }\n}\n.user-show__list--disabled > div > * {\n  opacity: 0.4;\n}\n.user-show__list--padding {\n  padding-left: 26px;\n  padding-right: 26px;\n}\n.user-show__list-padding {\n  padding: 8px 16px;\n}\n.user-show__list-item:not(:last-of-type) {\n  display: block;\n  margin-bottom: 10px;\n}\n.user-show__list-item-title {\n  font-size: 10px;\n  line-height: 12px;\n  color: #1A1A1A;\n  opacity: 0.4;\n  margin-bottom: 5px;\n}\n.user-show__list-item-title--required {\n  color: #C2002F;\n}\n.user-show__list-item-text {\n  font-size: 13px;\n  line-height: 15px;\n  color: #1A1A1A;\n  word-break: break-word;\n  padding-left: 1px;\n}\n.user-show__buttons {\n  display: flex;\n}\n@media (max-width: 767.98px) {\n  .user-show__buttons {\n    flex-direction: column;\n  }\n}\n.user-show__button {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  padding: 6px 20px;\n}\n@media (min-width: 992px) and (max-width: 1199.98px) {\n  .user-show__button {\n    padding: 6px 10px;\n  }\n}\n.user-show__button:not(:last-of-type) {\n  margin-right: 10px;\n}\n@media (max-width: 767.98px) {\n  .user-show__button:not(:last-of-type) {\n    margin: 0 0 20px;\n  }\n}\n.user-show__button:hover .user-show__button-icon {\n  color: white;\n}\n.user-show__button:disabled .user-show__button-icon {\n  color: #808080;\n}\n@media (max-width: 767.98px) {\n  .user-show__button {\n    width: 100%;\n  }\n}\n.user-show__button + .d-flex {\n  margin-left: 10px;\n}\n@media (max-width: 767.98px) {\n  .user-show__button + .d-flex {\n    margin: 20px 0 0;\n  }\n}\n.user-show__button-icon {\n  display: inline-block;\n  margin-left: 8px;\n  color: #1C73C2;\n}\n.user-show__button-icon--save {\n  color: #FFF;\n}\n\n.user-show-body {\n  position: relative;\n  min-height: 50px;\n}',""]),c.exports=r.toString()},91382:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.credit-limit-book {\n  width: 100%;\n}\n.credit-limit-book__title {\n  text-transform: uppercase;\n}\n.credit-limit-book__body {\n  padding: 20px 20px 40px 26px;\n  background: linear-gradient(0deg, rgba(242, 242, 242, 0.5), rgba(242, 242, 242, 0.5)), #FFFFFF;\n  height: 100%;\n}\n.credit-limit-book__body-graph {\n  min-height: 100px;\n  max-width: 779px;\n}\n@media (min-width: 992px) and (max-width: 1199.98px) {\n  .credit-limit-book__body-graph {\n    max-width: 599px;\n  }\n}\n@media (max-width: 991.98px) {\n  .credit-limit-book__body-graph {\n    max-width: calc(100vw - 126px);\n  }\n}\n@media (max-width: 767.98px) {\n  .credit-limit-book__body-graph {\n    max-width: calc(100vw - 112px);\n  }\n}\n@media (max-width: 575.98px) {\n  .credit-limit-book__body-graph {\n    max-width: calc(100vw - 76px);\n  }\n}",""]),c.exports=r.toString()},28230:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.credit-limit-company {\n  width: 100%;\n}\n.credit-limit-company__title {\n  text-transform: uppercase;\n}\n.credit-limit-company__body {\n  padding: 20px 20px 20px 26px;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n}\n.credit-limit-company__select {\n  display: flex;\n  gap: 10px;\n  align-items: center;\n  flex-wrap: wrap;\n}\n.credit-limit-company__select-title {\n  color: #1A1A1A;\n  font-size: 14px;\n  line-height: 20px;\n}\n.credit-limit-company__select-value {\n  font-size: 14px;\n  line-height: 16px;\n  color: #666666;\n  word-break: break-word;\n}\n.credit-limit-company__info {\n  padding: 20px 20px 26px 26px;\n}\n.credit-limit-company__info-item {\n  display: flex;\n}\n.credit-limit-company__info-item + .credit-limit-company__info-item {\n  margin-top: 10px;\n}\n.credit-limit-company__info-title {\n  min-width: 75px;\n  font-weight: 400;\n  font-size: 14px;\n  line-height: 20px;\n  color: #1A1A1A;\n  flex-shrink: 0;\n  display: flex;\n  align-items: flex-start;\n}\n.credit-limit-company__info-value {\n  font-weight: 400;\n  font-size: 14px;\n  line-height: 16px;\n  color: #666666;\n  display: flex;\n  align-items: center;\n}",""]),c.exports=r.toString()},13900:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.credit-limit-graph {\n  height: 100%;\n  display: grid;\n  align-items: flex-end;\n  grid-column-gap: 8px;\n  grid-row-gap: 20px;\n  padding-bottom: 20px;\n}\n.credit-limit-graph-scrollbar {\n  max-width: inherit;\n  min-height: inherit;\n}\n.credit-limit-graph__item {\n  position: relative;\n  border-radius: 7px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  flex-shrink: 0;\n  color: #FFF;\n  font-weight: 500;\n  font-size: 16px;\n  line-height: 19px;\n  min-height: 4px;\n  box-shadow: inset 0px -1px 0px rgba(0, 0, 0, 0.12), inset 0 1px 0 rgba(0, 0, 0, 0.07), 0px 1px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px rgba(0, 0, 0, 0.2), 0px 4px 8px rgba(0, 0, 0, 0.2);\n  width: 100%;\n  word-break: break-word;\n  text-align: center;\n  padding: 5px;\n}\n.credit-limit-graph__item--value {\n  padding: 10px 5px;\n  white-space: nowrap;\n}\n.credit-limit-graph__item--zero {\n  color: #1A1A1A;\n  position: absolute;\n  top: -30px;\n}\n.credit-limit-graph__container {\n  display: flex;\n  flex-direction: column;\n  gap: 20px;\n  height: 100%;\n  justify-content: flex-end;\n  min-height: 70px;\n}\n.credit-limit-graph__container-item {\n  height: 100%;\n  display: flex;\n  align-items: flex-end;\n}\n.credit-limit-graph__container-info {\n  display: grid;\n  grid-column-gap: 8px;\n}\n@media (max-width: 767.98px) {\n  .credit-limit-graph__container-info--large {\n    display: grid;\n    grid-template-columns: repeat(2, 1fr) !important;\n    grid-row-gap: 10px;\n  }\n}\n.credit-limit-graph__info {\n  display: flex;\n  align-items: flex-start;\n  height: 16px;\n}\n.credit-limit-graph__info-color {\n  width: 16px;\n  height: 16px;\n  border-radius: 6px;\n  display: inline-block;\n  margin-right: 6px;\n  flex-shrink: 0;\n}\n.credit-limit-graph__info-title {\n  font-weight: 500;\n  font-size: 12px;\n  line-height: 14px;\n  color: #4D4D4D;\n  word-break: break-word;\n  min-height: 16px;\n  display: flex;\n  align-items: center;\n}",""]),c.exports=r.toString()},82276:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.credit-limit-overdue {\n  width: 100%;\n}\n.credit-limit-overdue__title {\n  text-transform: uppercase;\n}\n.credit-limit-overdue__body {\n  padding: 20px 20px 40px 26px;\n  background: linear-gradient(0deg, rgba(242, 242, 242, 0.5), rgba(242, 242, 242, 0.5)), #FFFFFF;\n  height: 100%;\n}\n.credit-limit-overdue__body-graph {\n  min-height: 220px;\n  max-width: 779px;\n}\n@media (min-width: 992px) and (max-width: 1199.98px) {\n  .credit-limit-overdue__body-graph {\n    max-width: 599px;\n  }\n}\n@media (max-width: 991.98px) {\n  .credit-limit-overdue__body-graph {\n    max-width: calc(100vw - 126px);\n  }\n}\n@media (max-width: 767.98px) {\n  .credit-limit-overdue__body-graph {\n    max-width: calc(100vw - 112px);\n  }\n}\n@media (max-width: 575.98px) {\n  .credit-limit-overdue__body-graph {\n    max-width: calc(100vw - 76px);\n  }\n}\n.credit-limit-overdue__body-graph--no-data {\n  min-height: unset;\n}",""]),c.exports=r.toString()},68874:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.summery-item {\n  background: #F2F2F2;\n  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 7px;\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  justify-content: space-between;\n  padding: 13px 20px;\n  color: #4D4D4D;\n}\n.summery-item__label {\n  font-weight: 400;\n  font-size: 14px;\n  line-height: 16px;\n}\n.summery-item__value {\n  font-weight: 500;\n  font-size: 20px;\n  line-height: 23px;\n  text-transform: uppercase;\n  white-space: nowrap;\n}\n.summery-item__unit {\n  font-weight: 500;\n  font-size: 20px;\n  line-height: 23px;\n  color: #808080;\n  margin-left: 10px;\n}",""]),c.exports=r.toString()},13348:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,".credit-limit-summary {\n  width: 100%;\n}\n.credit-limit-summary__title {\n  text-transform: uppercase;\n}\n.credit-limit-summary__body {\n  padding: 20px 20px 40px 26px;\n  display: flex;\n  flex-direction: column;\n  gap: 10px;\n}",""]),c.exports=r.toString()},75526:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.credit-limit {\n  display: flex;\n  flex-direction: column;\n  gap: 20px;\n}\n.credit-limit__title {\n  padding-bottom: 20px;\n  border-bottom: 1px solid #C4C4C4;\n}\n.credit-limit__title-icon {\n  color: inherit;\n  margin-left: 4px;\n}\n.credit-limit__top {\n  display: flex;\n  width: 100%;\n  flex-direction: column;\n  gap: 20px;\n}\n.credit-limit__top-book {\n  width: 100%;\n}\n.credit-limit__top-company {\n  flex-shrink: 0;\n  width: 100%;\n}\n.credit-limit__top-company--full {\n  width: 100%;\n}",""]),c.exports=r.toString()},97735:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.page-content__header {\n  margin-bottom: 22px;\n  align-items: center;\n}\n@media (max-width: 575.98px) {\n  .page-content__header {\n    flex-direction: column;\n    align-items: flex-start;\n  }\n}\n\n.inquiry-warn {\n  color: #E05E00;\n  display: flex;\n  align-items: center;\n  font-size: 12px;\n  line-height: 14px;\n}\n@media (max-width: 575.98px) {\n  .inquiry-warn {\n    margin-top: 20px;\n  }\n}\n.inquiry-warn__icon {\n  color: #E05E00;\n  margin-right: 5px;\n}\n\n.inquiry-block {\n  display: block;\n}\n.inquiry-block + .inquiry-block {\n  margin-top: 20px;\n}\n.inquiry-block__header {\n  padding: 15px 20px;\n  box-shadow: inset 0px -1px 0px rgba(0, 0, 0, 0.12);\n}\n.inquiry-block__body {\n  padding: 20px;\n}\n.inquiry-block__body-send {\n  display: flex;\n  justify-content: flex-end;\n}\n@media (max-width: 767.98px) {\n  .inquiry-block__body-send {\n    flex-direction: column;\n    justify-content: flex-start;\n  }\n}\n.inquiry-block__body-send--button {\n  margin-left: 10px;\n}\n@media (max-width: 767.98px) {\n  .inquiry-block__body-send--button {\n    margin: 10px 0 0;\n  }\n}\n.inquiry-block__title {\n  color: #4D4D4D;\n  display: flex;\n  align-items: center;\n  font-weight: 500;\n  font-size: 15px;\n  line-height: 18px;\n}\n.inquiry-block__title-icon {\n  margin-right: 6px;\n}\n.inquiry-block__errors {\n  padding: 20px;\n}\n.inquiry-block__error {\n  display: flex;\n  justify-content: flex-start;\n  align-items: baseline;\n}\n.inquiry-block__error:not(:last-of-type) {\n  margin-bottom: 14px;\n}\n.inquiry-block__error-text {\n  margin-left: 10px;\n  font-size: 12px;\n  line-height: 14px;\n  color: #AF002A;\n}\n.inquiry-block__error-icon {\n  color: #AF002A;\n}\n.inquiry-block__privacy-item {\n  color: #4D4D4D;\n  font-size: 12px;\n  line-height: 16px;\n}\n.inquiry-block__privacy-checkbox {\n  margin-right: 6px;\n}\n.inquiry-block__privacy-link {\n  color: #3C91DC;\n}\n\n.inquiry-text {\n  position: relative;\n}\n.inquiry-text__label {\n  border-radius: 7px 7px 0 0;\n  background-color: #F2F2F2;\n  color: #1A1A1A;\n  font-size: 13px;\n  line-height: 15px;\n  opacity: 0.5;\n  padding: 16px 16px 5px;\n  position: absolute;\n  top: 1px;\n  left: 2px;\n  right: 2px;\n  transition: font-size 0.4s linear, padding 0.4s linear;\n}\n.not-empty .inquiry-text__label {\n  font-size: 10px;\n  line-height: 12px;\n  opacity: 1;\n  padding-top: 6px;\n}\n.inquiry-text__input {\n  padding: 23px 16px;\n}\n.inquiry-text__input:hover + *, .inquiry-text__input:focus + * {\n  background-color: #fff;\n}\n.inquiry-text__input:focus + * {\n  font-size: 10px;\n  line-height: 12px;\n  opacity: 1;\n  padding-top: 6px;\n}\n.inquiry-text__input.ng-invalid.ng-touched + * {\n  background-color: #FFEBEB;\n}\n\n.control-error-message {\n  color: #C2002F;\n  font-size: 11px;\n  line-height: 13px;\n  margin-top: 3px;\n}\n\n:host::ng-deep .ng-star-inserted:after, :host::ng-deep .ng-star-inserted:before {\n  display: none;\n}\n:host::ng-deep cx-form-errors p {\n  padding: 0 !important;\n}",""]),c.exports=r.toString()},75511:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,".order-book {\n  max-width: 850px;\n  display: block;\n}\n.order-book.order-book_wide-view {\n  max-width: 96%;\n  position: fixed;\n  top: 20px;\n  left: 2%;\n  z-index: 1002;\n  height: calc(100% - 60px);\n}\n.order-book.order-book_wide-view ::ng-deep app-data-grid-views,\n.order-book.order-book_wide-view ::ng-deep dx-data-grid,\n.order-book.order-book_wide-view ::ng-deep .toggle-card,\n.order-book.order-book_wide-view ::ng-deep .report-result,\n.order-book.order-book_wide-view ::ng-deep .report-result__grid {\n  height: 100%;\n}\n.order-book.order-book_wide-view ::ng-deep .toggle-card__body {\n  padding: 0;\n  height: 100%;\n}\n.order-book.order-book_wide-view ::ng-deep .toggle-card__body > div {\n  height: 100%;\n}\n.order-book.order-book_wide-view .order-book__grid {\n  height: calc(100% - 60px);\n}",""]),c.exports=r.toString()},8731:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,".wide-mode-background {\n  position: fixed;\n  top: 0;\n  left: 0;\n  height: 100%;\n  width: 100%;\n  background: black;\n  opacity: 80%;\n  z-index: 1001;\n}\n\n.order-book-page__loader {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}",""]),c.exports=r.toString()},98310:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.consent-link {\n  font-size: 13px;\n  line-height: 15px;\n  color: #4D4D4D;\n  margin-bottom: 20px;\n  width: max-content;\n}\n.consent-link__desc {\n  font-weight: 400;\n  font-size: 13px;\n  line-height: 18px;\n  margin-bottom: 20px;\n}\n.consent-link__icon {\n  color: #3C91DC;\n  transition: transform 0.25s;\n}\n.is-open .consent-link__icon {\n  color: #4D4D4D;\n  transform: rotate(180deg);\n}\n.consent-link--link {\n  cursor: pointer;\n  color: #3C91DC;\n}",""]),c.exports=r.toString()},71568:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.consent__section {\n  margin-top: 50px;\n  margin-bottom: 60px;\n}\n@media (max-width: 767.98px) {\n  .consent__section {\n    margin-top: 35px;\n  }\n}\n.consent__section-title {\n  color: #4D4D4D;\n  font-size: 15px;\n  font-weight: 500;\n  line-height: 18px;\n  margin-bottom: 40px;\n}\n.consent__section-title-link {\n  color: #3C91DC;\n  font-size: 12px;\n  line-height: 14px;\n  font-weight: normal;\n  margin-left: 10px;\n}\n.consent__action-links {\n  display: flex;\n}\n@media (max-width: 767.98px) {\n  .consent__action-links {\n    flex-direction: column;\n  }\n}\n.consent .btn + .btn {\n  margin-left: 10px;\n}\n@media (max-width: 767.98px) {\n  .consent .btn + .btn {\n    margin-left: 0;\n    margin-top: 10px;\n  }\n}",""]),c.exports=r.toString()},36200:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'@charset "UTF-8";\n/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n/* TODO: we should move onto such approach\n    0000\u20131999: Elements and Components\n    2000\u20132999: Element and Component Drop Downs\n    3000\u20133999: Secondary Navigation\n    4000\u20134999: Header / Footer\n    5000\u20135999: Primary Navigation\n    6000\u20136999: Full Screen Features\n    7000\u20137999: Special Cases\n    8000\u20138999: Modals / Dialog Windows\n    9000\u20139999: Notifications */\n/* z-index collection */\n.profile--active-tooltip::ng-deep .custom__tooltip__wrapper {\n  display: block;\n}\n@media (max-width: 991.98px) {\n  .profile--active-tooltip::ng-deep .custom__tooltip__wrapper {\n    display: none;\n  }\n}\n@media (max-width: 991.98px) {\n  .profile--active-tooltip .profile__tooltip-icon {\n    color: #3C91DC;\n  }\n}\n.profile--active-tooltip .profile__mobile-tooltip {\n  display: none;\n}\n@media (max-width: 991.98px) {\n  .profile--active-tooltip .profile__mobile-tooltip {\n    display: block;\n  }\n}\n.profile__sub-title-wrapper {\n  position: relative;\n}\n.profile__sub-title {\n  margin: 0 0 58px;\n  display: flex;\n  align-items: center;\n}\n@media (max-width: 991.98px) {\n  .profile__sub-title {\n    margin: 0 0 40px;\n  }\n}\n.profile__sub-title-text {\n  font-weight: 500;\n  font-size: 15px;\n  line-height: 18px;\n  color: #4D4D4D;\n  display: inline-block;\n  margin: 0 12px;\n}\n.profile__divider {\n  height: 1px;\n  background: #E5E5E5;\n  border: none;\n  margin: 0;\n}\n.profile__divider--margin {\n  margin-bottom: 40px;\n}\n.profile__list {\n  display: flex;\n  flex-direction: column;\n  padding: 30px 0 40px;\n}\n.profile__list--columns {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  grid-row-gap: 30px;\n  grid-column-gap: 30px;\n}\n@media (max-width: 575.98px) {\n  .profile__list--columns {\n    grid-template-columns: 1fr;\n    grid-row-gap: 30px;\n  }\n}\n.profile__list--padding {\n  padding-left: 26px;\n  padding-right: 26px;\n}\n.profile__list-item:not(:last-of-type) {\n  display: block;\n  margin-bottom: 10px;\n}\n.profile__list-input {\n  height: 48px;\n  display: block;\n}\n.profile__list-item-title {\n  font-size: 10px;\n  line-height: 12px;\n  color: #1A1A1A;\n  opacity: 0.4;\n  margin-bottom: 5px;\n}\n.profile__list-item-title--required {\n  color: #C2002F;\n}\n.profile__list-item-text {\n  font-size: 13px;\n  line-height: 15px;\n  color: #1A1A1A;\n  min-height: 15px;\n  padding-left: 1px;\n  word-break: break-word;\n}\n.profile__icon-corporate {\n  color: #0094FF;\n}\n.profile__buttons {\n  display: flex;\n}\n@media (max-width: 575.98px) {\n  .profile__buttons {\n    flex-direction: column;\n  }\n}\n.profile__tooltip-icon {\n  cursor: pointer;\n  position: relative;\n  z-index: 3;\n}\n.profile__tooltip-icon:hover {\n  color: #3C91DC;\n}\n.profile__mobile-tooltip {\n  display: none;\n  position: absolute;\n  z-index: 3;\n  top: 30px;\n}\n.profile__button {\n  min-width: 160px;\n}\n.profile__button:not(:last-of-type) {\n  margin-right: 20px;\n}\n@media (max-width: 575.98px) {\n  .profile__button:not(:last-of-type) {\n    margin: 0 0 20px;\n  }\n}\n.profile__button:hover .profile__button-icon {\n  color: white;\n}\n.profile__button:disabled .profile__button-icon {\n  color: #666666;\n}\n@media (max-width: 575.98px) {\n  .profile__button {\n    width: 100%;\n  }\n}\n.profile__button-icon {\n  display: inline-block;\n  margin-left: 8px;\n  color: #1C73C2;\n}\n.profile__list-padding {\n  padding: 8px 16px;\n}',""]),c.exports=r.toString()},45339:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'@charset "UTF-8";\n/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n/* TODO: we should move onto such approach\n    0000\u20131999: Elements and Components\n    2000\u20132999: Element and Component Drop Downs\n    3000\u20133999: Secondary Navigation\n    4000\u20134999: Header / Footer\n    5000\u20135999: Primary Navigation\n    6000\u20136999: Full Screen Features\n    7000\u20137999: Special Cases\n    8000\u20138999: Modals / Dialog Windows\n    9000\u20139999: Notifications */\n/* z-index collection */\n.questionnaire__form {\n  display: flex;\n  flex-direction: column;\n  gap: 30px;\n  padding: 20px 20px 30px;\n}\n.questionnaire__form-row {\n  display: flex;\n  gap: 10px;\n}\n@media (max-width: 767.98px) {\n  .questionnaire__form-row {\n    flex-direction: column;\n    gap: 30px;\n  }\n}\n.questionnaire__form-item {\n  width: 50%;\n}\n@media (max-width: 767.98px) {\n  .questionnaire__form-item {\n    width: 100%;\n  }\n}\n.questionnaire__block {\n  display: flex;\n  flex-direction: column;\n}\n.questionnaire__block-item {\n  padding: 20px;\n  box-shadow: inset 0px -1px 0px rgba(0, 0, 0, 0.07);\n}\n.questionnaire__item-title {\n  color: #004E94;\n  font-size: 14px;\n  line-height: 20px;\n  margin-bottom: 10px;\n}\n.questionnaire__item-radio {\n  display: flex;\n  justify-content: space-between;\n  flex-wrap: wrap;\n  gap: 16px;\n  padding: 10px 20px;\n  background: linear-gradient(0deg, rgba(242, 242, 242, 0.5), rgba(242, 242, 242, 0.5)), #FFFFFF;\n  border-radius: 7px;\n}\n.questionnaire__item-column {\n  display: flex;\n  flex-direction: column;\n  gap: 30px;\n  background: linear-gradient(0deg, rgba(242, 242, 242, 0.5), rgba(242, 242, 242, 0.5)), #FFFFFF;\n  padding: 20px;\n  border-radius: 7px;\n}\n.questionnaire__container {\n  background: #FFF;\n  padding: 20px;\n}\n.questionnaire__button {\n  padding: 20px 20px 25px;\n  background: #FFF;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 14px;\n  display: flex;\n  justify-content: flex-end;\n}\n.questionnaire__button-button {\n  width: 30%;\n  max-height: 48px;\n}\n@media (max-width: 767.98px) {\n  .questionnaire__button-button {\n    width: 100%;\n  }\n}\n\n.checkbox-group {\n  display: flex;\n  font-weight: 400;\n  font-size: 12px;\n  line-height: 14px;\n  color: #4D4D4D;\n}\n.checkbox-group--row {\n  align-items: flex-start;\n}\n.checkbox-group__error {\n  color: #C2002F;\n  font-size: 11px;\n  line-height: 13px;\n  margin-top: 5px;\n  padding: 0;\n}\n.checkbox-group__error::after {\n  display: none !important;\n}\n.checkbox-group__error::before {\n  display: none !important;\n}',""]),c.exports=r.toString()},8881:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.report-filter {\n  padding: 20px 20px 30px;\n  position: relative;\n}\n.report-filter__error {\n  grid-column: 1/-1;\n  font-size: 12px;\n  line-height: 14px;\n  color: #C2002F;\n}\n.report-filter__content {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  grid-column-gap: 10px;\n  grid-row-gap: 20px;\n}\n.report-filter__title {\n  font-size: 10px;\n  line-height: 12px;\n  color: #999999;\n}\n.report-filter__info {\n  margin-top: 5px;\n  font-size: 13px;\n  line-height: 15px;\n  font-weight: 500;\n  color: #4D4D4D;\n  min-height: 15px;\n  display: flex;\n  flex-wrap: wrap;\n}\n.report-filter__filter-result {\n  margin-right: 4px;\n}\n.report-filter__button {\n  height: 100%;\n}\n\n.report {\n  max-width: 825px;\n}\n@media (min-width: 992px) and (max-width: 1199.98px) {\n  .report {\n    max-width: 645px;\n  }\n}\n@media (max-width: 991.98px) {\n  .report {\n    max-width: calc(100vw - 80px);\n  }\n}\n@media (max-width: 767.98px) {\n  .report {\n    max-width: calc(100vw - 66px);\n  }\n}\n@media (max-width: 575.98px) {\n  .report {\n    max-width: calc(100vw - 30px);\n  }\n}\n.report__title {\n  margin: 30px 0;\n}\n.report__section {\n  border-radius: 14px;\n  background-color: #fff;\n  margin-bottom: 10px;\n}",""]),c.exports=r.toString()},32131:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.report-filter {\n  padding: 20px 20px 30px;\n  position: relative;\n}\n.report-filter__error {\n  grid-column: 1/-1;\n  font-size: 12px;\n  line-height: 14px;\n  color: #C2002F;\n}\n.report-filter__content {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  grid-column-gap: 10px;\n  grid-row-gap: 20px;\n}\n.report-filter__title {\n  font-size: 10px;\n  line-height: 12px;\n  color: #999999;\n}\n.report-filter__info {\n  margin-top: 5px;\n  font-size: 13px;\n  line-height: 15px;\n  font-weight: 500;\n  color: #4D4D4D;\n  min-height: 15px;\n  display: flex;\n  flex-wrap: wrap;\n}\n.report-filter__filter-result {\n  margin-right: 4px;\n}\n.report-filter__button {\n  height: 100%;\n}\n\n.report {\n  max-width: 825px;\n}\n@media (min-width: 992px) and (max-width: 1199.98px) {\n  .report {\n    max-width: 645px;\n  }\n}\n@media (max-width: 991.98px) {\n  .report {\n    max-width: calc(100vw - 80px);\n  }\n}\n@media (max-width: 767.98px) {\n  .report {\n    max-width: calc(100vw - 66px);\n  }\n}\n@media (max-width: 575.98px) {\n  .report {\n    max-width: calc(100vw - 30px);\n  }\n}\n.report__title {\n  margin: 30px 0;\n}\n.report__section {\n  border-radius: 14px;\n  background-color: #fff;\n  margin-bottom: 10px;\n}",""]),c.exports=r.toString()},40897:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.report-filter {\n  padding: 20px 20px 30px;\n  position: relative;\n}\n.report-filter__error {\n  grid-column: 1/-1;\n  font-size: 12px;\n  line-height: 14px;\n  color: #C2002F;\n}\n.report-filter__content {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  grid-column-gap: 10px;\n  grid-row-gap: 20px;\n}\n.report-filter__title {\n  font-size: 10px;\n  line-height: 12px;\n  color: #999999;\n}\n.report-filter__info {\n  margin-top: 5px;\n  font-size: 13px;\n  line-height: 15px;\n  font-weight: 500;\n  color: #4D4D4D;\n  min-height: 15px;\n  display: flex;\n  flex-wrap: wrap;\n}\n.report-filter__filter-result {\n  margin-right: 4px;\n}\n.report-filter__button {\n  height: 100%;\n}\n\n.report {\n  max-width: 825px;\n}\n@media (min-width: 992px) and (max-width: 1199.98px) {\n  .report {\n    max-width: 645px;\n  }\n}\n@media (max-width: 991.98px) {\n  .report {\n    max-width: calc(100vw - 80px);\n  }\n}\n@media (max-width: 767.98px) {\n  .report {\n    max-width: calc(100vw - 66px);\n  }\n}\n@media (max-width: 575.98px) {\n  .report {\n    max-width: calc(100vw - 30px);\n  }\n}\n.report__title {\n  margin: 30px 0;\n}\n.report__section {\n  border-radius: 14px;\n  background-color: #fff;\n  margin-bottom: 10px;\n}",""]),c.exports=r.toString()},27829:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.report-filter {\n  padding: 20px 20px 30px;\n  position: relative;\n}\n.report-filter__error {\n  grid-column: 1/-1;\n  font-size: 12px;\n  line-height: 14px;\n  color: #C2002F;\n}\n.report-filter__content {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  grid-column-gap: 10px;\n  grid-row-gap: 20px;\n}\n.report-filter__title {\n  font-size: 10px;\n  line-height: 12px;\n  color: #999999;\n}\n.report-filter__info {\n  margin-top: 5px;\n  font-size: 13px;\n  line-height: 15px;\n  font-weight: 500;\n  color: #4D4D4D;\n  min-height: 15px;\n  display: flex;\n  flex-wrap: wrap;\n}\n.report-filter__filter-result {\n  margin-right: 4px;\n}\n.report-filter__button {\n  height: 100%;\n}\n\n.report {\n  max-width: 825px;\n}\n@media (min-width: 992px) and (max-width: 1199.98px) {\n  .report {\n    max-width: 645px;\n  }\n}\n@media (max-width: 991.98px) {\n  .report {\n    max-width: calc(100vw - 80px);\n  }\n}\n@media (max-width: 767.98px) {\n  .report {\n    max-width: calc(100vw - 66px);\n  }\n}\n@media (max-width: 575.98px) {\n  .report {\n    max-width: calc(100vw - 30px);\n  }\n}\n.report__title {\n  margin: 30px 0;\n}\n.report__section {\n  border-radius: 14px;\n  background-color: #fff;\n  margin-bottom: 10px;\n}",""]),c.exports=r.toString()},28216:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.reports {\n  display: grid;\n  width: 100%;\n  gap: 12px;\n}\n.reports__link {\n  color: #004E94;\n}",""]),c.exports=r.toString()},51966:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n:host {\n  display: block;\n}\n\n.loader-information {\n  color: #999999;\n  margin: 20px 0 10px;\n}",""]),c.exports=r.toString()},8036:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n:host {\n  display: block;\n  margin-bottom: 30px;\n}\n\n:host::ng-deep .ng-select .desc-title {\n  display: grid !important;\n  align-items: center !important;\n  grid-template-columns: 4fr 1fr;\n}\n:host::ng-deep .ng-select .desc-title__description {\n  height: 100%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n\n.filter__slot {\n  padding: 20px;\n  display: grid;\n  grid-template-columns: repeat(3, calc(33.3333333333% - 6.6666666667px));\n  grid-column-gap: 10px;\n  grid-row-gap: 20px;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n}\n@media (max-width: 767.98px) {\n  .filter__slot {\n    grid-template-columns: repeat(2, 1fr);\n  }\n}\n@media (max-width: 575.98px) {\n  .filter__slot {\n    grid-template-columns: repeat(1, 1fr);\n  }\n}\n.filter__slot--inner {\n  padding-bottom: 30px;\n}\n.filter__button-wrapper {\n  display: flex;\n  align-items: center;\n}\n.filter__button-wrapper svg-icon-sprite {\n  display: block;\n  margin-right: 4px;\n  position: relative;\n  color: white;\n  top: -1px;\n}\n.filter app-slider-input {\n  min-width: 100px;\n}\n\n.header__text {\n  font-weight: 500;\n  font-size: 15px;\n  line-height: 18px;\n  color: #4D4D4D;\n  margin-left: 4px;\n}\n\n.multi-select {\n  white-space: nowrap;\n  text-overflow: ellipsis;\n  max-width: 195px;\n  overflow: hidden;\n}\n\n.checkbox-group {\n  pointer-events: none;\n  padding: 5px 0 5px 16px;\n}\n.checkbox-group__label {\n  display: inline-block;\n  white-space: pre-wrap;\n}\n\n.additional-filters {\n  padding: 20px 20px 0;\n}\n.additional-filters__field {\n  display: grid !important;\n  grid-template-columns: 1fr 1fr 1fr;\n  -moz-column-gap: 10px;\n       column-gap: 10px;\n  margin-right: 10px;\n  margin-bottom: 20px;\n}\n.additional-filters__field:last-of-type {\n  margin-bottom: 0;\n}\n.additional-filters__sub-field {\n  display: flex;\n  align-items: center;\n}",""]),c.exports=r.toString()},30412:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.request-delivery {\n  position: fixed;\n  bottom: 0;\n  left: 0;\n  width: 100vw;\n  min-height: 60px;\n  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.15), 0px -8px 16px rgba(0, 0, 0, 0.07);\n  background: #fff;\n  z-index: 1003;\n}\n.request-delivery_static {\n  position: static;\n  box-shadow: none;\n  width: 100%;\n}\n@supports (-moz-appearance: none) {\n  .request-delivery {\n    background: #fff;\n  }\n}\n.request-delivery__content {\n  padding-top: 12px;\n  padding-bottom: 20px;\n  margin-left: 285px;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n}\n@media (max-width: 991.98px) {\n  .request-delivery__content {\n    margin-left: 0;\n  }\n}\n@media (max-width: 575.98px) {\n  .request-delivery__content {\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n  }\n}\n.request-delivery__content-icon {\n  margin-right: 2px;\n}\n.request-delivery__content-value {\n  color: #1A1A1A;\n  font-weight: 500;\n}\n.request-delivery__content-block {\n  display: flex;\n  align-items: center;\n}\n@media (max-width: 767.98px) {\n  .request-delivery__content-block {\n    flex-direction: column;\n    align-items: unset;\n  }\n}\n@media (max-width: 575.98px) {\n  .request-delivery__content-block {\n    margin-top: 20px;\n  }\n}\n.request-delivery__content-date {\n  width: 228px;\n}\n@media (max-width: 767.98px) {\n  .request-delivery__content-date {\n    margin-right: 0;\n  }\n}\n.request-delivery__content-button {\n  padding: 6px 18px;\n}\n@media (max-width: 767.98px) {\n  .request-delivery__content-button {\n    margin-top: 20px;\n  }\n}\n\n:host::ng-deep.dp1 .myDpSelector {\n  position: fixed;\n  bottom: 80px;\n  top: unset;\n}\n\n::ng-deep.dp1.dp-fixed {\n  position: fixed;\n  z-index: 10000;\n}",""]),c.exports=r.toString()},96102:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,".rts-list {\n  max-width: 850px;\n  display: block;\n}\n\n::ng-deep .rts-list .toggle-card__body {\n  padding-bottom: 30px;\n}\n::ng-deep .rts-list.rts-list_wide-view {\n  max-width: 96%;\n  position: fixed;\n  top: 20px;\n  left: 2%;\n  z-index: 1002;\n  height: calc(100% - 120px);\n}\n::ng-deep .rts-list.rts-list_wide-view app-data-grid-views,\n::ng-deep .rts-list.rts-list_wide-view dx-data-grid,\n::ng-deep .rts-list.rts-list_wide-view .toggle-card,\n::ng-deep .rts-list.rts-list_wide-view .report-result,\n::ng-deep .rts-list.rts-list_wide-view .report-result__grid {\n  height: 100%;\n}\n::ng-deep .rts-list.rts-list_wide-view .toggle-card__body {\n  padding: 0;\n  height: calc(100% - 50px);\n}\n::ng-deep .rts-list.rts-list_wide-view .toggle-card__body > div {\n  height: 100%;\n}\n::ng-deep .rts-list.rts-list_wide-view .rts-list__grid {\n  height: calc(100% - 60px);\n}\n::ng-deep .rts-list.rts-list_wide-view .dx-header-row .dx-select-checkbox {\n  display: none !important;\n}",""]),c.exports=r.toString()},86464:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,".wide-mode-background {\n  position: fixed;\n  top: 0;\n  left: 0;\n  height: 100%;\n  width: 100%;\n  background: black;\n  opacity: 80%;\n  z-index: 1001;\n}\n\ncx-pagination {\n  margin: 0;\n}",""]),c.exports=r.toString()},36e3:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,".checkbox-group {\n  pointer-events: none;\n  padding: 5px 0 5px 16px;\n}\n.checkbox-group__label {\n  display: inline-block;\n  white-space: pre-wrap;\n}",""]),c.exports=r.toString()},60138:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,".order-detail__list {\n  display: grid;\n  grid-template-columns: 1fr;\n  grid-row-gap: 20px;\n}\n.order-detail__title {\n  display: block;\n  margin-bottom: 10px;\n}\n.order-detail__order-number {\n  display: block;\n  margin-bottom: 16px;\n  margin-top: -30px;\n}\n.order-detail__main-grid {\n  display: grid;\n  grid-template-columns: 255px auto;\n  grid-column-gap: 30px;\n}\n@media (max-width: 575.98px) {\n  .order-detail__main-grid {\n    grid-template-columns: 1fr;\n    grid-gap: 20px;\n  }\n}",""]),c.exports=r.toString()},72600:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n:host {\n  display: block;\n  padding-bottom: 30px;\n}\n\n.orders__item {\n  display: block;\n}\n.orders__item + .orders__item {\n  margin-top: 10px;\n}",""]),c.exports=r.toString()},26042:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,".quote-detail__list {\n  display: grid;\n  grid-template-columns: 1fr;\n  grid-row-gap: 20px;\n}\n.quote-detail__title {\n  display: block;\n  margin-bottom: 10px;\n}\n.quote-detail__order-number {\n  display: block;\n  margin-bottom: 16px;\n  margin-top: -30px;\n}\n.quote-detail__main-grid {\n  display: grid;\n  grid-template-columns: 255px auto;\n  grid-column-gap: 30px;\n}\n@media (max-width: 575.98px) {\n  .quote-detail__main-grid {\n    grid-template-columns: 1fr;\n    grid-gap: 20px;\n  }\n}",""]),c.exports=r.toString()},59884:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,".header {\n  margin-top: 30px;\n}\n@media (max-width: 991.98px) {\n  .header {\n    margin: 0;\n  }\n}\n@media (max-width: 575.98px) {\n  .header {\n    flex-direction: column;\n  }\n}\n.header__sorting {\n  margin-left: auto;\n}\n@media (max-width: 575.98px) {\n  .header__sorting {\n    margin-left: 0;\n    margin-top: 30px;\n  }\n}\n\n:host {\n  display: block;\n  padding-bottom: 30px;\n}\n\n.quote__item {\n  display: block;\n}\n.quote__item + .quote__item {\n  margin-top: 10px;\n}",""]),c.exports=r.toString()},59314:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.button-big-transparent {\n  background-color: transparent;\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  text-transform: uppercase;\n  color: #3C91DC;\n}\n.button-big-transparent:disabled {\n  color: #808080;\n}",""]),c.exports=r.toString()},39336:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,":host {\n  display: block;\n  height: 50px;\n}",""]),c.exports=r.toString()},14996:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.contract-agreement {\n  padding: 22px 20px;\n  display: flex;\n  justify-content: flex-start;\n  align-items: center;\n}\n@media (max-width: 1199.98px) {\n  .contract-agreement {\n    flex-direction: column;\n    align-items: flex-start;\n    justify-content: center;\n  }\n}\n.contract-agreement__logo-icon {\n  display: block;\n  margin-right: 20px;\n}\n@media (max-width: 1199.98px) {\n  .contract-agreement__logo-icon {\n    margin: 0 0 12px;\n  }\n}\n.contract-agreement__logo-text {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  color: #004E94;\n  margin: 0;\n}\n.contract-agreement__info-item {\n  display: flex;\n  align-items: center;\n}\n.contract-agreement__info-list {\n  padding: 0;\n  margin: 0;\n  list-style-type: none;\n  display: grid;\n  grid-template-columns: 1fr;\n  grid-row-gap: 5px;\n}\n.contract-agreement__info-title {\n  font-size: 13px;\n  line-height: 15px;\n  color: #999999;\n  display: block;\n  margin-right: 5px;\n}\n.contract-agreement__info-text {\n  font-size: 13px;\n  line-height: 15px;\n  color: #4D4D4D;\n}",""]),c.exports=r.toString()},74356:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,".contract-info {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  grid-column-gap: 30px;\n  grid-row-gap: 10px;\n  padding: 15px 20px;\n}\n@media (max-width: 1199.98px) {\n  .contract-info {\n    grid-gap: 15px;\n    grid-template-columns: 1fr;\n  }\n}\n.contract-info__item {\n  display: grid;\n  grid-row-gap: 4px;\n}",""]),c.exports=r.toString()},71128:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.order-approve {\n  padding: 15px 20px;\n}\n.order-approve__phrase {\n  font-size: 14px;\n  position: relative;\n  padding-left: 25px;\n}\n.is-error .order-approve__phrase {\n  color: #C2002F;\n}\n.order-approve__phrase-icon {\n  position: absolute;\n  left: 0;\n  top: 50%;\n  transform: translateY(-50%);\n}\n.is-error .order-approve__phrase-icon {\n  color: #C2002F;\n}\n.order-approve__loader {\n  margin-right: 25px;\n}\n.order-approve__btn {\n  padding-left: 60px;\n  padding-right: 60px;\n}\n.order-approve__btn-icon {\n  color: #fff;\n  margin-left: 5px;\n  position: relative;\n  top: -2px;\n}",""]),c.exports=r.toString()},51872:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.product-card-cell__title {\n  color: #4D4D4D;\n  font-size: 10px;\n  line-height: 12px;\n  margin-bottom: 5px;\n  opacity: 0.4;\n}\n.product-card-cell__value {\n  color: #4D4D4D;\n  font-size: 13px;\n  line-height: 15px;\n  word-break: break-word;\n}\n.product-card-cell__value--bold {\n  font-weight: 500;\n}",""]),c.exports=r.toString()},18064:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"",""]),c.exports=r.toString()},50238:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"",""]),c.exports=r.toString()},50328:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.order {\n  background-color: #fff;\n  border-radius: 14px;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  overflow: hidden;\n}\n.order__header {\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  font-weight: 500;\n  font-size: 15px;\n  line-height: 18px;\n  padding: 15px 20px;\n}\n@media (max-width: 575.98px) {\n  .order__header {\n    font-size: 12px;\n    line-height: 14px;\n  }\n}\n.order__header.in-process {\n  box-shadow: inset 0px -1px 0px #E05E00;\n}\n.order__header.success {\n  box-shadow: inset 0px -1px 0px #00C000;\n}\n.order__header.error {\n  box-shadow: inset 0px -1px 0px #AF002A;\n}\n.order__footer {\n  background: #F2F2F2;\n  border-radius: 0 0 14px 14px;\n  padding: 28px 20px;\n}\n.order__footer .param {\n  padding: 0;\n}\n.order__footer .param__value {\n  font-weight: 400;\n}\n.order__number {\n  color: #3C91DC;\n  display: flex;\n  align-items: center;\n  gap: 8px;\n}\n.order__status {\n  display: flex;\n  align-items: center;\n}\n.in-process .order__status, .in-process .order__status-icon {\n  color: #E05E00;\n}\n.success .order__status, .success .order__status-icon {\n  color: #00C000;\n}\n.closed .order__status, .closed .order__status-icon {\n  color: #808080;\n}\n.error .order__status, .error .order__status-icon {\n  color: #C2002F;\n}\n@media (max-width: 575.98px) {\n  .order__status {\n    display: ruby;\n  }\n}\n.order__status-icon {\n  margin-left: 5px;\n}\n@media (max-width: 575.98px) {\n  .order__status-icon {\n    display: none;\n  }\n}\n.order__params {\n  box-shadow: inset 0px -1px 0px rgba(0, 0, 0, 0.12);\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  grid-template-rows: 1fr;\n  grid-template-areas: "placement-date order-number order-type order-date";\n}\n@media (max-width: 575.98px) {\n  .order__params {\n    grid-template-columns: 1fr 1fr 1fr;\n    grid-template-areas: "placement-date order-number order-type" "order-date .";\n  }\n}\n.order__params_placement-date {\n  grid-area: placement-date;\n}\n.order__params_order-number {\n  grid-area: order-number;\n}\n.order__params_order-type {\n  grid-area: order-type;\n}\n.order__params_order-date {\n  grid-area: order-date;\n}\n.order__params_order-date {\n  text-align: right;\n}\n@media (max-width: 575.98px) {\n  .order__params_order-date {\n    text-align: start;\n  }\n}\n.order__date {\n  display: flex;\n}\n.order__date-btn {\n  margin-left: 10px;\n}\n.order__date-btn, .order__date-btn-icon {\n  color: #fff;\n}\n.order__date-btn-icon {\n  margin-left: 8px;\n}\n.order__total {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  color: #4D4D4D;\n}\n.order__action-line {\n  background-color: #F2F2F2;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  padding: 10px 20px;\n}\n.is-open .order__action-line {\n  box-shadow: none;\n}\n.order__items-toggle {\n  color: #3C91DC;\n  cursor: pointer;\n  font-size: 12px;\n  line-height: 14px;\n}\n.is-open .order__items-toggle {\n  color: #4D4D4D;\n}\n.order__items-toggle-icon {\n  color: #3C91DC;\n  transition: transform 0.25s;\n}\n.is-open .order__items-toggle-icon {\n  color: #4D4D4D;\n  transform: rotate(180deg);\n}\n.order__items-amount {\n  color: #999999;\n  font-size: 12px;\n  line-height: 14px;\n}\n.order__items-list {\n  min-height: 60px;\n  max-height: 60px;\n  overflow: hidden;\n  position: relative;\n}\n.is-open .order__items-list {\n  max-height: unset;\n}',""]),c.exports=r.toString()},3236:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"",""]),c.exports=r.toString()},42898:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.order {\n  background-color: #fff;\n  border-radius: 14px;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  overflow: hidden;\n}\n.order__header {\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  font-weight: 500;\n  font-size: 15px;\n  line-height: 18px;\n  padding: 15px 20px;\n}\n@media (max-width: 575.98px) {\n  .order__header {\n    font-size: 12px;\n    line-height: 14px;\n  }\n}\n.order__header.in-process {\n  box-shadow: inset 0px -1px 0px #E05E00;\n}\n.order__header.success {\n  box-shadow: inset 0px -1px 0px #00C000;\n}\n.order__header.error {\n  box-shadow: inset 0px -1px 0px #AF002A;\n}\n.order__footer {\n  background: #F2F2F2;\n  border-radius: 0 0 14px 14px;\n  padding: 28px 20px;\n}\n.order__footer .param {\n  padding: 0;\n}\n.order__footer .param__value {\n  font-weight: 400;\n}\n.order__number {\n  color: #3C91DC;\n  display: flex;\n  align-items: center;\n  gap: 8px;\n}\n.order__status {\n  display: flex;\n  align-items: center;\n}\n.in-process .order__status, .in-process .order__status-icon {\n  color: #E05E00;\n}\n.success .order__status, .success .order__status-icon {\n  color: #00C000;\n}\n.closed .order__status, .closed .order__status-icon {\n  color: #808080;\n}\n.error .order__status, .error .order__status-icon {\n  color: #C2002F;\n}\n@media (max-width: 575.98px) {\n  .order__status {\n    display: ruby;\n  }\n}\n.order__status-icon {\n  margin-left: 5px;\n}\n@media (max-width: 575.98px) {\n  .order__status-icon {\n    display: none;\n  }\n}\n.order__params {\n  box-shadow: inset 0px -1px 0px rgba(0, 0, 0, 0.12);\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  grid-template-rows: 1fr;\n  grid-template-areas: "placement-date order-number order-type order-date";\n}\n@media (max-width: 575.98px) {\n  .order__params {\n    grid-template-columns: 1fr 1fr 1fr;\n    grid-template-areas: "placement-date order-number order-type" "order-date .";\n  }\n}\n.order__params_placement-date {\n  grid-area: placement-date;\n}\n.order__params_order-number {\n  grid-area: order-number;\n}\n.order__params_order-type {\n  grid-area: order-type;\n}\n.order__params_order-date {\n  grid-area: order-date;\n}\n.order__params_order-date {\n  text-align: right;\n}\n@media (max-width: 575.98px) {\n  .order__params_order-date {\n    text-align: start;\n  }\n}\n.order__date {\n  display: flex;\n}\n.order__date-btn {\n  margin-left: 10px;\n}\n.order__date-btn, .order__date-btn-icon {\n  color: #fff;\n}\n.order__date-btn-icon {\n  margin-left: 8px;\n}\n.order__total {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  color: #4D4D4D;\n}\n.order__action-line {\n  background-color: #F2F2F2;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  padding: 10px 20px;\n}\n.is-open .order__action-line {\n  box-shadow: none;\n}\n.order__items-toggle {\n  color: #3C91DC;\n  cursor: pointer;\n  font-size: 12px;\n  line-height: 14px;\n}\n.is-open .order__items-toggle {\n  color: #4D4D4D;\n}\n.order__items-toggle-icon {\n  color: #3C91DC;\n  transition: transform 0.25s;\n}\n.is-open .order__items-toggle-icon {\n  color: #4D4D4D;\n  transform: rotate(180deg);\n}\n.order__items-amount {\n  color: #999999;\n  font-size: 12px;\n  line-height: 14px;\n}\n.order__items-list {\n  min-height: 60px;\n  max-height: 60px;\n  overflow: hidden;\n  position: relative;\n}\n.is-open .order__items-list {\n  max-height: unset;\n}\n.order__item {\n  max-height: 920px;\n}',""]),c.exports=r.toString()},70622:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"",""]),c.exports=r.toString()},26332:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.quote {\n  background-color: #fff;\n  border-radius: 14px;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  overflow: hidden;\n}\n.quote__header {\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  font-weight: 500;\n  font-size: 15px;\n  line-height: 18px;\n  padding: 15px 20px;\n}\n@media (max-width: 575.98px) {\n  .quote__header {\n    font-size: 12px;\n    line-height: 14px;\n  }\n}\n.quote__header.in-process {\n  box-shadow: inset 0px -1px 0px #E05E00;\n}\n.quote__header.success {\n  box-shadow: inset 0px -1px 0px #00C000;\n}\n.quote__header.error {\n  box-shadow: inset 0px -1px 0px #AF002A;\n}\n.quote__footer {\n  background: #F2F2F2;\n  border-radius: 0 0 14px 14px;\n  padding: 28px 20px;\n}\n.quote__footer .param {\n  padding: 0;\n}\n.quote__footer .param__value {\n  font-weight: 400;\n}\n.quote__number {\n  color: #3C91DC;\n  display: flex;\n  align-items: center;\n  gap: 8px;\n}\n.quote__status {\n  display: flex;\n  align-items: center;\n}\n.in-process .quote__status, .in-process .quote__status-icon {\n  color: #E05E00;\n}\n.success .quote__status, .success .quote__status-icon {\n  color: #00C000;\n}\n.closed .quote__status, .closed .quote__status-icon {\n  color: #808080;\n}\n.error .quote__status, .error .quote__status-icon {\n  color: #C2002F;\n}\n@media (max-width: 575.98px) {\n  .quote__status {\n    display: ruby;\n  }\n}\n.quote__status-icon {\n  margin-left: 5px;\n}\n@media (max-width: 575.98px) {\n  .quote__status-icon {\n    display: none;\n  }\n}\n.quote__params {\n  box-shadow: inset 0px -1px 0px rgba(0, 0, 0, 0.12);\n  display: grid;\n  grid-template-columns: 27% 27% 24% 21%;\n  grid-template-rows: 1fr;\n}\n@media (max-width: 575.98px) {\n  .quote__params {\n    grid-template-columns: 1fr 1fr;\n  }\n}\n.quote__params :nth-child(4n) {\n  text-align: right;\n}\n@media (max-width: 575.98px) {\n  .quote__params :nth-child(4n) {\n    text-align: start;\n  }\n}\n.quote__action-line {\n  background-color: #F2F2F2;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  padding: 10px 20px;\n}\n.is-open .quote__action-line {\n  box-shadow: none;\n}\n.quote__items-toggle {\n  color: #3C91DC;\n  cursor: pointer;\n  font-size: 12px;\n  line-height: 14px;\n}\n.is-open .quote__items-toggle {\n  color: #4D4D4D;\n}\n.quote__items-toggle-icon {\n  color: #3C91DC;\n  transition: transform 0.25s;\n}\n.is-open .quote__items-toggle-icon {\n  color: #4D4D4D;\n  transform: rotate(180deg);\n}\n.quote__items-amount {\n  color: #999999;\n  font-size: 12px;\n  line-height: 14px;\n}\n.quote__items-list {\n  min-height: 60px;\n  max-height: 60px;\n  overflow: hidden;\n  position: relative;\n}\n.is-open .quote__items-list {\n  max-height: unset;\n}\n.quote__item {\n  max-height: 920px;\n}",""]),c.exports=r.toString()},1184:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"",""]),c.exports=r.toString()},26878:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.quote {\n  background-color: #fff;\n  border-radius: 14px;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  overflow: hidden;\n}\n.quote__header {\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  font-weight: 500;\n  font-size: 15px;\n  line-height: 18px;\n  padding: 15px 20px;\n}\n@media (max-width: 575.98px) {\n  .quote__header {\n    font-size: 12px;\n    line-height: 14px;\n  }\n}\n.quote__header.in-process {\n  box-shadow: inset 0px -1px 0px #E05E00;\n}\n.quote__header.success {\n  box-shadow: inset 0px -1px 0px #00C000;\n}\n.quote__header.error {\n  box-shadow: inset 0px -1px 0px #AF002A;\n}\n.quote__footer {\n  background: #F2F2F2;\n  border-radius: 0 0 14px 14px;\n  padding: 28px 20px;\n}\n.quote__footer .param {\n  padding: 0;\n}\n.quote__footer .param__value {\n  font-weight: 400;\n}\n.quote__number {\n  color: #3C91DC;\n  display: flex;\n  align-items: center;\n  gap: 8px;\n}\n.quote__status {\n  display: flex;\n  align-items: center;\n}\n.in-process .quote__status, .in-process .quote__status-icon {\n  color: #E05E00;\n}\n.success .quote__status, .success .quote__status-icon {\n  color: #00C000;\n}\n.closed .quote__status, .closed .quote__status-icon {\n  color: #808080;\n}\n.error .quote__status, .error .quote__status-icon {\n  color: #C2002F;\n}\n@media (max-width: 575.98px) {\n  .quote__status {\n    display: ruby;\n  }\n}\n.quote__status-icon {\n  margin-left: 5px;\n}\n@media (max-width: 575.98px) {\n  .quote__status-icon {\n    display: none;\n  }\n}\n.quote__params {\n  box-shadow: inset 0px -1px 0px rgba(0, 0, 0, 0.12);\n  display: grid;\n  grid-template-columns: 27% 27% 24% 21%;\n  grid-template-rows: 1fr;\n}\n@media (max-width: 575.98px) {\n  .quote__params {\n    grid-template-columns: 1fr 1fr;\n  }\n}\n.quote__params :nth-child(4n) {\n  text-align: right;\n}\n@media (max-width: 575.98px) {\n  .quote__params :nth-child(4n) {\n    text-align: start;\n  }\n}\n.quote__action-line {\n  background-color: #F2F2F2;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  padding: 10px 20px;\n}\n.is-open .quote__action-line {\n  box-shadow: none;\n}\n.quote__items-toggle {\n  color: #3C91DC;\n  cursor: pointer;\n  font-size: 12px;\n  line-height: 14px;\n}\n.is-open .quote__items-toggle {\n  color: #4D4D4D;\n}\n.quote__items-toggle-icon {\n  color: #3C91DC;\n  transition: transform 0.25s;\n}\n.is-open .quote__items-toggle-icon {\n  color: #4D4D4D;\n  transform: rotate(180deg);\n}\n.quote__items-amount {\n  color: #999999;\n  font-size: 12px;\n  line-height: 14px;\n}\n.quote__items-list {\n  min-height: 60px;\n  max-height: 60px;\n  overflow: hidden;\n  position: relative;\n}\n.is-open .quote__items-list {\n  max-height: unset;\n}\n.quote__item {\n  max-height: 920px;\n}",""]),c.exports=r.toString()},19714:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"",""]),c.exports=r.toString()},29863:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"",""]),c.exports=r.toString()},96996:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,".order-delivery {\n  padding: 15px 20px 20px;\n  height: 100%;\n  display: flex;\n  flex-direction: column;\n  justify-content: space-between;\n}\n.order-delivery__info-list {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  grid-auto-flow: row dense;\n  grid-column-gap: 30px;\n  grid-row-gap: 20px;\n  margin-bottom: 40px;\n}\n@media (max-width: 1199.98px) {\n  .order-delivery__info-list {\n    grid-gap: 15px;\n    grid-template-columns: 1fr;\n  }\n}\n.order-delivery__item-left {\n  grid-column-start: 1;\n}\n.order-delivery__item-right {\n  grid-column-start: 2;\n}\n@media (max-width: 1199.98px) {\n  .order-delivery__item-right {\n    grid-column-start: 1;\n  }\n}\n.order-delivery__button {\n  display: block;\n  max-width: 235px;\n  width: 100%;\n  align-self: flex-end;\n  position: relative;\n}\n@media (max-width: 1199.98px) {\n  .order-delivery__button {\n    max-width: 100%;\n  }\n}\n.order-delivery__address {\n  max-width: 145px;\n}",""]),c.exports=r.toString()},31604:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.order-detail-card {\n  padding: 20px;\n}\n.order-detail-card__button {\n  background: transparent;\n  color: #3C91DC;\n  font-size: 12px;\n  line-height: 14px;\n  margin-left: 6px;\n  cursor: pointer;\n}\n.order-detail-card__button:disabled {\n  color: #B3B3B3;\n  cursor: default;\n}",""]),c.exports=r.toString()},19312:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"",""]),c.exports=r.toString()},20970:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.download-row {\n  padding: 10px 20px 20px;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n}\n.download-row__header {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  padding: 0 16px 10px;\n}\n.download-row__header-title {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  text-transform: uppercase;\n  color: #4D4D4D;\n}\n.download-row__body {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  grid-gap: 10px;\n}\n@media (max-width: 1199.98px) {\n  .download-row__body {\n    grid-template-columns: 1fr 1fr;\n  }\n}\n@media (max-width: 575.98px) {\n  .download-row__body {\n    grid-template-columns: 1fr;\n  }\n}\n\n.download-item {\n  max-width: 260px;\n  word-break: break-all;\n}",""]),c.exports=r.toString()},51068:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.order-downloads {\n  background: rgba(242, 242, 242, 0.5);\n}\n\n.search-group {\n  display: flex;\n  align-items: center;\n}\n\n.search-input {\n  width: 300px;\n}\n\n:host::ng-deep .form-control,\n:host::ng-deep .field-group__field {\n  height: 50px;\n  background: white !important;\n  border: none !important;\n  padding: 16px 48px 16px 16px !important;\n}\n:host::ng-deep .is-focus .field-group__label,\n:host::ng-deep .not-empty .field-group__label {\n  display: none;\n}",""]),c.exports=r.toString()},60716:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n:host {\n  display: block;\n  margin-bottom: 30px;\n}\n\n.filter__slot {\n  padding: 20px;\n  display: grid;\n  grid-template-columns: repeat(3, calc(33.3333333333% - 6.6666666667px));\n  grid-column-gap: 10px;\n  grid-row-gap: 20px;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n}\n@media (max-width: 767.98px) {\n  .filter__slot {\n    grid-template-columns: repeat(2, 1fr);\n  }\n}\n@media (max-width: 575.98px) {\n  .filter__slot {\n    grid-template-columns: repeat(1, 1fr);\n  }\n}\n.filter__slot--inner {\n  padding-bottom: 30px;\n}\n.filter__button-wrapper {\n  display: flex;\n  align-items: center;\n}\n.filter__button-wrapper svg-icon-sprite {\n  display: block;\n  margin-right: 4px;\n  position: relative;\n  color: white;\n  top: -1px;\n}\n.filter app-slider-input {\n  min-width: 100px;\n}\n\n.header__text {\n  font-weight: 500;\n  font-size: 15px;\n  line-height: 18px;\n  color: #4D4D4D;\n  margin-left: 4px;\n}\n\n.multi-select {\n  white-space: nowrap;\n  text-overflow: ellipsis;\n  max-width: 195px;\n  overflow: hidden;\n}\n\n.checkbox-group {\n  pointer-events: none;\n  padding: 5px 0 5px 16px;\n}\n.checkbox-group__label {\n  display: inline-block;\n  white-space: pre-wrap;\n}\n\n:host::ng-deep .ng-select .desc-title {\n  display: grid !important;\n  align-items: center !important;\n  grid-template-columns: 4fr 1fr;\n}\n:host::ng-deep .ng-select .desc-title__description {\n  height: 100%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}",""]),c.exports=r.toString()},95092:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.request-delivery {\n  position: fixed;\n  bottom: 0;\n  left: 0;\n  width: 100vw;\n  min-height: 60px;\n  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.15), 0px -8px 16px rgba(0, 0, 0, 0.07);\n  background: rgba(255, 255, 255, 0.35);\n  -webkit-backdrop-filter: blur(20px);\n          backdrop-filter: blur(20px);\n  z-index: 1;\n}\n@supports (-moz-appearance: none) {\n  .request-delivery {\n    background: #fff;\n  }\n}\n.request-delivery__content {\n  padding-top: 12px;\n  padding-bottom: 20px;\n  margin-left: 285px;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n}\n@media (max-width: 991.98px) {\n  .request-delivery__content {\n    margin-left: 0;\n  }\n}\n@media (max-width: 575.98px) {\n  .request-delivery__content {\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n  }\n}\n.request-delivery__content-icon {\n  margin-right: 2px;\n}\n.request-delivery__content-value {\n  color: #1A1A1A;\n  font-weight: 500;\n}\n.request-delivery__content-block {\n  display: flex;\n  align-items: center;\n}\n@media (max-width: 767.98px) {\n  .request-delivery__content-block {\n    flex-direction: column;\n    align-items: unset;\n  }\n}\n@media (max-width: 575.98px) {\n  .request-delivery__content-block {\n    margin-top: 20px;\n  }\n}\n.request-delivery__content-date {\n  width: 228px;\n}\n@media (max-width: 767.98px) {\n  .request-delivery__content-date {\n    margin-right: 0;\n  }\n}\n.request-delivery__content-button {\n  padding: 6px 18px;\n}\n@media (max-width: 767.98px) {\n  .request-delivery__content-button {\n    margin-top: 20px;\n  }\n}\n\n:host::ng-deep.dp1 .myDpSelector {\n  position: fixed;\n  bottom: 80px;\n  top: unset;\n}",""]),c.exports=r.toString()},78250:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,".order-placed {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  grid-column-gap: 30px;\n  padding: 15px 20px;\n}\n@media (max-width: 1199.98px) {\n  .order-placed {\n    grid-gap: 15px;\n    grid-template-columns: 1fr;\n  }\n}\n.order-placed__item {\n  display: grid;\n  grid-row-gap: 4px;\n}",""]),c.exports=r.toString()},69812:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.status-item__row {\n  display: flex;\n  align-items: center;\n}\n.status-item__date-icon {\n  transform: rotate(90deg);\n  display: block;\n  margin-right: 8px;\n  color: #B3B3B3;\n}\n.status-item__date-text {\n  font-size: 11px;\n  line-height: 13px;\n  color: #999999;\n}\n.status-item__status-text {\n  font-size: 14px;\n  line-height: 20px;\n  color: #808080;\n}\n.in-process .status-item__status-text {\n  color: #E05E00;\n}\n.success .status-item__status-text {\n  color: #00C000;\n}\n.error .status-item__status-text {\n  color: #AF002A;\n}\n.status-item__status-icon {\n  display: block;\n  margin-right: 8px;\n  color: #999999;\n}\n.in-process .status-item__status-icon {\n  color: #E05E00;\n}\n.success .status-item__status-icon {\n  color: #00C000;\n}\n.error .status-item__status-icon {\n  color: #C2002F;\n}",""]),c.exports=r.toString()},50940:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"",""]),c.exports=r.toString()},93100:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,".order-terms {\n  padding: 20px;\n  display: grid;\n  grid-template-columns: 1fr 1fr 1fr;\n  grid-row-gap: 15px;\n}\n@media (max-width: 1199.98px) {\n  .order-terms {\n    grid-template-columns: 1fr 1fr;\n    grid-gap: 15px;\n  }\n}\n@media (max-width: 575.98px) {\n  .order-terms {\n    grid-template-columns: 1fr;\n  }\n}\n.order-terms__item {\n  display: grid;\n  grid-row-gap: 4px;\n}",""]),c.exports=r.toString()},96778:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.quote-detail-card {\n  padding: 20px;\n}\n.quote-detail-card__header {\n  color: #4D4D4D;\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n}",""]),c.exports=r.toString()},72244:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.status-item__row {\n  display: flex;\n  align-items: center;\n}\n.status-item__date-icon {\n  transform: rotate(90deg);\n  display: block;\n  margin-right: 8px;\n  color: #B3B3B3;\n}\n.status-item__date-text {\n  font-size: 11px;\n  line-height: 13px;\n  color: #999999;\n}\n.status-item__status-text {\n  font-size: 14px;\n  line-height: 20px;\n  color: #808080;\n}\n.in-process .status-item__status-text {\n  color: #E05E00;\n}\n.success .status-item__status-text {\n  color: #00C000;\n}\n.error .status-item__status-text {\n  color: #AF002A;\n}\n.status-item__status-icon {\n  display: block;\n  margin-right: 8px;\n  color: #999999;\n}\n.in-process .status-item__status-icon {\n  color: #E05E00;\n}\n.success .status-item__status-icon {\n  color: #00C000;\n}\n.error .status-item__status-icon {\n  color: #C2002F;\n}",""]),c.exports=r.toString()},32020:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"",""]),c.exports=r.toString()},70648:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.show-more {\n  background-color: #F2F2F2;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  border-top: 1px solid rgba(0, 0, 0, 0.15);\n  padding: 14px 20px;\n}\n.show-more__total {\n  font-size: 12px;\n  line-height: 14px;\n  color: #808080;\n}",""]),c.exports=r.toString()},30528:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,".header {\n  margin-top: 30px;\n}\n@media (max-width: 991.98px) {\n  .header {\n    margin: 0;\n  }\n}\n@media (max-width: 575.98px) {\n  .header {\n    flex-direction: column;\n  }\n}\n.header__sorting {\n  margin-left: auto;\n}\n@media (max-width: 575.98px) {\n  .header__sorting {\n    margin-left: 0;\n    margin-top: 30px;\n  }\n}",""]),c.exports=r.toString()},67295:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.support__title {\n  margin-top: 30px;\n}\n@media (max-width: 991.98px) {\n  .support__title {\n    margin: 30px 0 35px;\n  }\n}\n.support__content {\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  grid-row-gap: 30px;\n  grid-template-areas: "type ." "subject ." "area area" "attach attach";\n}\n@media (max-width: 1199.98px) {\n  .support__content {\n    grid-template-columns: 1fr;\n  }\n}\n.support__content-type {\n  grid-area: type;\n}\n.support__content-subject {\n  grid-area: subject;\n}\n.support__content-area {\n  grid-area: area;\n}\n.support__content-attach {\n  grid-area: attach;\n}\n.support__send {\n  padding: 15px 69px;\n  height: 48px;\n}\n@media (max-width: 575.98px) {\n  .support__send {\n    width: 100%;\n    justify-content: center;\n  }\n}\n.support__send-icon {\n  color: #fff;\n  margin-left: 6px;\n}\n.support__attached-files {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  grid-gap: 10px;\n  background: linear-gradient(0deg, rgba(242, 242, 242, 0.5), rgba(242, 242, 242, 0.5)), #FFFFFF;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  padding: 20px;\n}\n@media (max-width: 991.98px) {\n  .support__attached-files {\n    grid-template-columns: 1fr 1fr;\n  }\n}\n@media (max-width: 575.98px) {\n  .support__attached-files {\n    grid-template-columns: 1fr;\n  }\n}\n.support__file-errors {\n  margin-bottom: 30px;\n}\n\ntextarea {\n  color: #808080;\n}\n\n:host::ng-deep .ng-star-inserted:after, :host::ng-deep .ng-star-inserted:before {\n  display: none;\n}\n:host::ng-deep cx-form-errors p {\n  padding: 0 !important;\n  margin: 5px 0 -18px !important;\n}',""]),c.exports=r.toString()},71736:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n@media (min-width: 992px) {\n  .group-header-level-one__block {\n    box-shadow: none;\n    margin-left: 0;\n  }\n  .group-header-level-one__block:not(:last-of-type) {\n    margin-bottom: 22px;\n  }\n}",""]),c.exports=r.toString()},6652:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.group-header-level-three__link {\n  font-size: 13px;\n  line-height: 15px;\n  color: #333333;\n  display: block;\n  padding: 17px 40px;\n}\n.group-header-level-three__link:hover {\n  color: #004E94;\n}\n@media (min-width: 992px) {\n  .group-header-level-three__link {\n    color: #4D4D4D;\n    display: inline;\n    font-size: 12px;\n    line-height: 14px;\n    padding: 0;\n  }\n}",""]),c.exports=r.toString()},92496:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'@charset "UTF-8";\n/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.group-header-level-two__list, .group-nav__list {\n  color: #333333;\n  font-size: 13px;\n  line-height: 15px;\n}\n@media (min-width: 992px) {\n  .group-header-level-two__list li, .group-nav__list li {\n    text-transform: uppercase;\n    padding-left: 10px;\n    position: relative;\n  }\n  .group-header-level-two__list li:before, .group-nav__list li:before {\n    content: "\u2022";\n    position: absolute;\n    left: 0;\n  }\n  .group-header-level-two__list li + li, .group-nav__list li + li {\n    margin-top: 5px;\n  }\n}\n.group-header-level-two__link, .group-nav__link {\n  font-size: 13px;\n  line-height: 15px;\n  color: #333333;\n  display: block;\n  padding: 17px 40px;\n}\n@media (min-width: 992px) {\n  .group-header-level-two__link, .group-nav__link {\n    color: #4D4D4D;\n    display: inline;\n    font-size: 12px;\n    line-height: 14px;\n    padding: 0;\n  }\n}',""]),c.exports=r.toString()},4452:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.group-header-title, :host ::ng-deep .group-header-title-l, :host ::ng-deep .group-header-title-m {\n  color: #333333;\n  font-size: 13px;\n  font-weight: 400;\n  line-height: 15px;\n  margin: 0;\n  padding: 17px 40px;\n  position: relative;\n}\n@media (min-width: 992px) {\n  .group-header-title, :host ::ng-deep .group-header-title-l, :host ::ng-deep .group-header-title-m {\n    padding: 0;\n  }\n}\n\n:host ::ng-deep .more-icon {\n  position: absolute;\n  right: 40px;\n  top: 50%;\n  transform: translateY(-50%);\n  transition: transform 0.25s ease-in;\n}\n@media (min-width: 992px) {\n  :host ::ng-deep .more-icon {\n    margin-left: 5px;\n    transform: none;\n    position: static;\n  }\n}\n:host ::ng-deep .is-open > * > .more-icon {\n  color: #0094FF;\n  transform: translateY(-50%) rotate(180deg);\n}\n@media (min-width: 992px) {\n  :host ::ng-deep .is-open > * > .more-icon {\n    transform: rotate(180deg);\n  }\n}\n@media (min-width: 992px) {\n  :host ::ng-deep .group-header-title-m {\n    color: #004582;\n    font-weight: 500;\n    margin-bottom: 22px;\n    padding: 0;\n  }\n}\n@media (min-width: 992px) {\n  :host ::ng-deep .group-header-title-l {\n    color: #808080;\n    font-size: 10px;\n    font-weight: 400;\n    line-height: 12px;\n    margin-bottom: 5px;\n    padding: 0;\n  }\n}\n\n.group-header__scrollbar {\n  overflow: hidden;\n}\n@media (min-width: 992px) {\n  .group-header__scrollbar {\n    overflow: auto;\n  }\n}\n.group-header__row {\n  transition: max-height 0.25s ease-in;\n}\n@media (min-width: 992px) {\n  .group-header__row {\n    background-color: #fff;\n    border-radius: 0 0 8px 8px;\n    box-shadow: 0 16px 16px rgba(0, 0, 0, 0.1), 0 0 8px rgba(0, 0, 0, 0.15);\n    max-height: unset;\n    padding: 20px 10px;\n    position: absolute;\n    top: 100%;\n    left: -15px;\n    z-index: 4;\n  }\n}\n@media (min-width: 992px) {\n  .group-header__column {\n    box-shadow: none;\n    min-width: 170px;\n    padding: 0 20px;\n  }\n}\n.group-header__title {\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  color: #808080;\n  cursor: pointer;\n  font-size: 14px;\n  line-height: 20px;\n  padding: 17px 40px;\n  position: relative;\n}\n@media (min-width: 992px) {\n  .group-header__title {\n    background: transparent;\n    box-shadow: none;\n    display: inline-block;\n    padding: 0;\n  }\n  .group-header__title:after {\n    background: #0094FF;\n    border-radius: 0 0 4px 4px;\n    content: "";\n    display: none;\n    height: 4px;\n    position: absolute;\n    left: 0;\n    right: 20px;\n    top: 100%;\n    z-index: 2;\n  }\n  .is-open .group-header__title {\n    color: #0094FF;\n  }\n  .is-open .group-header__title:after {\n    display: block;\n  }\n}',""]),c.exports=r.toString()},24355:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'@charset "UTF-8";\n/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.group-header-level-two__list, .group-nav__list {\n  color: #333333;\n  font-size: 13px;\n  line-height: 15px;\n}\n@media (min-width: 992px) {\n  .group-header-level-two__list li, .group-nav__list li {\n    text-transform: uppercase;\n    padding-left: 10px;\n    position: relative;\n  }\n  .group-header-level-two__list li:before, .group-nav__list li:before {\n    content: "\u2022";\n    position: absolute;\n    left: 0;\n  }\n  .group-header-level-two__list li + li, .group-nav__list li + li {\n    margin-top: 5px;\n  }\n}\n.group-header-level-two__link, .group-nav__link {\n  font-size: 13px;\n  line-height: 15px;\n  color: #333333;\n  display: block;\n  padding: 17px 40px;\n}\n@media (min-width: 992px) {\n  .group-header-level-two__link, .group-nav__link {\n    color: #4D4D4D;\n    display: inline;\n    font-size: 12px;\n    line-height: 14px;\n    padding: 0;\n  }\n}\n\n@media (min-width: 992px) {\n  :host {\n    display: flex;\n    align-items: stretch;\n  }\n}\n\nh4, h5 {\n  color: #333333;\n  font-size: 13px;\n  font-weight: 400;\n  line-height: 15px;\n  margin: 0;\n  padding: 17px 40px;\n  position: relative;\n}\n@media (min-width: 992px) {\n  h4, h5 {\n    padding: 0;\n  }\n}\n\n@media (min-width: 992px) {\n  h4 {\n    color: #004582;\n    font-weight: 500;\n    margin-bottom: 22px;\n    padding: 0;\n  }\n}\n\n@media (min-width: 992px) {\n  h5 {\n    color: #808080;\n    font-size: 10px;\n    font-weight: 400;\n    line-height: 12px;\n    margin-bottom: 5px;\n    padding: 0;\n  }\n}\n\n@media (min-width: 992px) {\n  .group-nav__block {\n    box-shadow: none;\n    margin-left: 0;\n  }\n  .group-nav__block:not(:last-of-type) {\n    margin-bottom: 22px;\n  }\n}\n\n.more-icon {\n  position: absolute;\n  right: 40px;\n  top: 50%;\n  transform: translateY(-50%);\n  transition: transform 0.25s ease-in;\n}\n.is-open > * > .more-icon {\n  transform: translateY(-50%) rotate(180deg);\n}\n@media (min-width: 992px) {\n  .more-icon {\n    transform: none;\n    position: static;\n  }\n  .is-open > * > .more-icon {\n    transform: rotate(180deg);\n  }\n}',""]),c.exports=r.toString()},50029:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.contracts__contracts-head {\n  background: #999999;\n  display: flex;\n  padding: 26px 20px;\n}\n.contracts__contracts-icon {\n  margin-right: 7px;\n  display: flex;\n  align-items: center;\n  color: #FFF;\n}\n.contracts__contact-icon {\n  margin-right: 10px;\n  display: inline-block;\n}\n.contracts__contracts-title {\n  font-weight: 500;\n  font-size: 13px;\n  line-height: 15px;\n  text-transform: uppercase;\n  color: white;\n  margin: 0 0 4px;\n}\n.contracts__contracts-name {\n  font-size: 14px;\n  line-height: 16px;\n  color: #E5E5E5;\n  margin: 0;\n  word-break: break-all;\n}\n@media (max-width: 991.98px) {\n  .contracts__contracts-name {\n    word-break: break-word;\n  }\n}\n.contracts__contracts-info {\n  background: #E5E5E5;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n}\n.contracts__contracts-info-icon {\n  display: inline-block;\n  margin-right: 10px;\n}\n.contracts__contracts-link {\n  font-size: 14px;\n  line-height: 16px;\n  color: #4D4D4D;\n  padding: 16px 20px;\n  display: inline-block;\n  width: 100%;\n}\n.contracts__contracts-mail {\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n}",""]),c.exports=r.toString()},70335:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n:host {\n  margin-bottom: 20px;\n  display: block;\n}\n@media (max-width: 991.98px) {\n  :host {\n    margin-bottom: 0;\n  }\n}\n\n.manager {\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 7px;\n  overflow: hidden;\n}\n@media (max-width: 991.98px) {\n  .manager {\n    border-radius: 0;\n  }\n}\n.manager__manager-head {\n  background: #1C73C2;\n  display: flex;\n  padding: 26px 20px;\n}\n.manager__manager-icon {\n  margin-right: 7px;\n  display: flex;\n  align-items: center;\n  color: #FFF;\n}\n.manager__contact-icon {\n  color: #1C73C2;\n  margin-right: 10px;\n  display: inline-block;\n}\n.manager__manager-title {\n  font-weight: 500;\n  font-size: 13px;\n  line-height: 15px;\n  text-transform: uppercase;\n  color: white;\n  margin: 0 0 4px;\n}\n.manager__manager-name {\n  font-size: 14px;\n  line-height: 16px;\n  color: #D0E9FF;\n  margin: 0;\n  word-break: break-all;\n}\n@media (max-width: 991.98px) {\n  .manager__manager-name {\n    word-break: break-word;\n  }\n}\n.manager__manager-info {\n  background: rgba(208, 233, 255, 0.5);\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n}\n.manager__manager-info-icon {\n  display: inline-block;\n  margin-right: 10px;\n}\n.manager__manager-link {\n  font-size: 14px;\n  line-height: 16px;\n  color: #004E94;\n  padding: 16px 20px;\n  display: inline-block;\n  width: 100%;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n.manager__contracts {\n  padding: 13px 20px;\n  align-items: baseline;\n  cursor: pointer;\n}\n.manager__contracts-title {\n  font-size: 14px;\n  line-height: 16px;\n  color: #4D4D4D;\n}\n.manager__contracts-icon {\n  margin-right: 10px;\n}",""]),c.exports=r.toString()},1097:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.toggle {\n  width: 100%;\n}\n@media (max-width: 991.98px) {\n  .toggle--hidden .toggle__facet-icon {\n    display: block;\n  }\n  .toggle--hidden .toggle__close-icon {\n    display: none;\n  }\n}\n.toggle__facet-icon {\n  display: none;\n}\n.toggle__close-icon {\n  display: block;\n}\n.toggle__head {\n  display: none;\n  align-items: center;\n  margin-bottom: 10px;\n  padding: 0 15px;\n}\n@media (max-width: 991.98px) {\n  .toggle__head {\n    display: flex;\n    background: #fff;\n    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n    padding: 17px 20px;\n    margin: 0;\n  }\n}\n.toggle__title {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  position: relative;\n  cursor: pointer;\n  display: none;\n}\n@media (max-width: 991.98px) {\n  .toggle__title {\n    display: inline;\n    color: #1A1A1A;\n    text-transform: uppercase;\n    margin: 0 8px 0 0;\n  }\n}\n.toggle__title-icon {\n  margin-right: 10px;\n}\n.toggle__mobile-icons {\n  margin: 0 0 0 auto;\n  cursor: pointer;\n  display: none;\n}\n@media (max-width: 991.98px) {\n  .toggle__mobile-icons {\n    display: block;\n  }\n}",""]),c.exports=r.toString()},6929:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.menu-item {\n  display: flex;\n  flex-direction: column;\n}\n.menu-item__head {\n  height: 50px;\n  display: flex;\n  align-items: center;\n  padding: 0 21px;\n  cursor: pointer;\n}\n.menu-item__title-icon {\n  margin-right: 10px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n.menu-item__title-icon svg-icon-sprite {\n  width: 18px;\n  height: 18px;\n}\n.menu-item__active-icon {\n  color: #1C73C2;\n}\n.menu-item__title {\n  font-size: 14px;\n  line-height: 16px;\n  text-transform: uppercase;\n  color: #4D4D4D;\n}\n.menu-item__toggle-icon {\n  margin: 0 0 0 auto;\n  flex: 0 0 auto;\n  width: 18px;\n  height: 18px;\n}\n.menu-item__child-list {\n  display: flex;\n  flex-direction: column;\n}\n.menu-item__child-item {\n  height: 50px;\n  padding-left: 60px;\n  background: #F2F2F2;\n  font-size: 14px;\n  line-height: 16px;\n  display: flex;\n  align-items: center;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  cursor: pointer;\n}\n.menu-item__child-item:first-of-type {\n  border-top: 5px solid rgba(0, 0, 0, 0.07);\n}\n.menu-item__child-item:hover {\n  color: #3C91DC;\n}\n.menu-item__child-item--is-open {\n  color: #3C91DC;\n}\n.menu-item--opened .menu-item__title {\n  color: #3C91DC;\n}",""]),c.exports=r.toString()},39457:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n:host {\n  flex-grow: 1;\n}\n\n.profile-menu-trading {\n  width: 100%;\n  margin-bottom: 20px;\n}\n.profile-menu-trading__nav-list {\n  display: flex;\n  flex-direction: column;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 7px;\n}\n@media (max-width: 991.98px) {\n  .profile-menu-trading__nav-list {\n    padding: 0;\n    margin: 0;\n    border-radius: 0;\n  }\n}\n.profile-menu-trading__nav-list-body {\n  display: block;\n}\n@media (max-width: 991.98px) {\n  .is-hidden .profile-menu-trading__nav-list-body {\n    display: none;\n  }\n}\n.profile-menu-trading__nav-item {\n  display: block;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n}",""]),c.exports=r.toString()},74901:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n:host {\n  flex-grow: 1;\n}\n\n.profile-menu {\n  width: 100%;\n  margin-bottom: 20px;\n}\n.profile-menu__manager {\n  margin-bottom: 20px;\n}\n@media (max-width: 991.98px) {\n  .profile-menu__manager {\n    padding: 0;\n    margin: 0;\n    border-bottom: none;\n  }\n}\n.profile-menu__manager-body {\n  display: block;\n}\n@media (max-width: 991.98px) {\n  .is-hidden .profile-menu__manager-body {\n    display: none;\n  }\n}\n.profile-menu__nav-list {\n  display: flex;\n  flex-direction: column;\n}\n@media (max-width: 991.98px) {\n  .profile-menu__nav-list {\n    padding: 0;\n    margin: 0;\n    border-radius: 0;\n  }\n}\n.profile-menu__nav-list-body {\n  display: block;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 7px;\n}\n@media (max-width: 991.98px) {\n  .is-hidden .profile-menu__nav-list-body {\n    display: none;\n  }\n}\n.profile-menu__nav-item {\n  display: block;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n}",""]),c.exports=r.toString()},76367:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.footer {\n  color: #808080;\n}\n.footer__top, .footer__bottom {\n  padding: 50px 45px;\n}\n@media (min-width: 576px) {\n  .footer__top, .footer__bottom {\n    padding: 40px 30px;\n  }\n}\n@media (min-width: 768px) {\n  .footer__top, .footer__bottom {\n    padding: 45px 30px;\n  }\n}\n@media (min-width: 1200px) {\n  .footer__top, .footer__bottom {\n    padding: 40px 0;\n  }\n}\n.footer__top {\n  background: #F2F2F2;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n}\n.footer__bottom {\n  background: #FFFFFF;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n}\n@media (max-width: 575.98px) {\n  .footer__bottom {\n    padding-top: 0;\n  }\n}\n.footer__bottom--trading {\n  padding-top: 50px;\n}\n.footer__bottom-content {\n  display: flex;\n  gap: 30px;\n}\n@media (max-width: 575.98px) {\n  .footer__bottom-content {\n    flex-direction: column-reverse;\n    gap: 0;\n  }\n}\n@media (max-width: 575.98px) {\n  .footer__bottom-left {\n    display: flex;\n    flex-direction: column-reverse;\n  }\n}\n.footer__bottom-left--top {\n  display: flex;\n  align-items: center;\n  flex-wrap: wrap;\n  gap: 15px;\n}\n.footer__block {\n  padding-bottom: 30px;\n}\n@media (min-width: 576px) {\n  .footer__block {\n    padding-bottom: 40px;\n  }\n}\n.footer__title {\n  color: #333333;\n  font-style: normal;\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  text-transform: uppercase;\n  margin-bottom: 15px;\n  white-space: nowrap;\n}\n.footer__bottom .footer__title {\n  margin-bottom: 20px;\n}\n.footer__title-link:hover {\n  color: #3C91DC;\n}\n.footer__agreement {\n  font-size: 11px;\n  line-height: 13px;\n  margin-bottom: 20px;\n}\n@media (min-width: 576px) {\n  .footer__agreement {\n    margin-bottom: 0;\n  }\n}\n.footer__copyright {\n  font-size: 14px;\n  line-height: 20px;\n  margin-bottom: 20px;\n}\n.footer__trading-nlmk {\n  font-size: 16px;\n  line-height: 22px;\n}\n.footer__trading-button {\n  flex-shrink: 0;\n  height: 100%;\n  padding: 9px 80px;\n  font-weight: 500;\n  font-size: 15px;\n  line-height: 18px;\n}\n.footer-link {\n  color: #3C91DC;\n  cursor: pointer;\n}\n.footer-nav {\n  width: max-content;\n  max-width: 100%;\n}\n.footer-nav + .footer-nav {\n  margin-top: 11px;\n}\n.footer-nav__link {\n  font-size: 13px;\n  line-height: 15px;\n}\n.footer-nav__link:hover {\n  color: #3C91DC;\n  cursor: pointer;\n}\n.footer-nav__link:hover .footer-nav__link-icon {\n  color: #3C91DC;\n}\n.footer-nav__link--is-open {\n  color: #3C91DC;\n}\n.footer-nav__link-icon {\n  margin-left: 3px;\n}\n.footer-nav__link-icon--is-open {\n  color: #3C91DC;\n  transform: rotate(180deg);\n}\n.footer-nav__products {\n  display: flex;\n  flex-direction: column;\n  position: absolute;\n  margin-left: -20px;\n  margin-top: 8px;\n  padding: 21px 20px;\n  min-width: 200px;\n  background: #FFFFFF;\n  box-shadow: 0 16px 16px rgba(0, 0, 0, 0.1), 0 0 8px rgba(0, 0, 0, 0.15);\n  border-radius: 14px;\n  z-index: 2;\n}\n.footer-nav__products-link {\n  max-width: max-content;\n  width: 100%;\n  color: #1A1A1A;\n  font-size: 13px;\n  line-height: 16px;\n}\n.footer-nav__products-link:hover {\n  color: #3C91DC;\n  cursor: pointer;\n}\n.footer-nav__products-link + .footer-nav__products-link {\n  margin-top: 10px;\n}\n\n.footer__contact {\n  color: #808080;\n  font-weight: 500;\n  font-size: 20px;\n  line-height: 23px;\n  white-space: nowrap;\n  display: flex;\n  margin-bottom: 15px;\n}\n.footer__contact-icon {\n  margin-right: 6px;\n}\n.footer__contact-desc {\n  font-size: 13px;\n  line-height: 32px;\n  white-space: nowrap;\n}\n.footer__contact--s {\n  font-size: 13px;\n  line-height: 15px;\n  margin-bottom: 15px;\n}\n.footer__contact--colored {\n  color: #3C91DC;\n}\n\n.subscribe {\n  background-color: #F2F2F2;\n  border-radius: 4px;\n  display: inline-block;\n  height: 36px;\n  width: 100%;\n  min-width: 210px;\n  overflow: hidden;\n  padding: 4px;\n  position: relative;\n}\n@media (max-width: 575.98px) {\n  .subscribe {\n    margin-bottom: 20px;\n  }\n}\n.subscribe__input {\n  border: 0;\n  height: 100%;\n  width: 100%;\n  outline: 0;\n  padding: 5px 55px 0 10px;\n}\n.subscribe__input:hover, .subscribe__input:active, .subscribe__input:focus {\n  background-color: #F2F2F2;\n}\n.subscribe__button {\n  background: #FF6B00;\n  border: 0;\n  border-radius: 4px;\n  color: #fff;\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  height: 28px;\n  position: absolute;\n  top: 4px;\n  right: 4px;\n}\n\n@media (min-width: 768px) and (max-width: 991.98px) {\n  .col-md-25 {\n    flex: 0 0 21.667%;\n    max-width: 21.667%;\n  }\n}\n\n@media (max-width: 575.98px) {\n  .news-subscribe {\n    padding: 20px 0;\n  }\n}",""]),c.exports=r.toString()},6629:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.not-found {\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  width: 100%;\n  margin-top: 20px;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 14px;\n  padding: 20px 60px 20px 20px;\n}\n@media (max-width: 991.98px) {\n  .not-found {\n    flex-direction: column;\n    padding: 20px 60px 40px;\n  }\n}\n@media (max-width: 575.98px) {\n  .not-found {\n    width: calc(100% - 30px);\n    padding: 20px 40px 40px;\n  }\n}\n.not-found__img {\n  width: 100%;\n}\n.not-found__text {\n  display: flex;\n  flex-direction: column;\n  align-items: flex-start;\n  margin-left: 55px;\n  text-align: left;\n}\n@media (max-width: 991.98px) {\n  .not-found__text {\n    align-items: center;\n    text-align: center;\n    margin-left: 0;\n    margin-top: 10px;\n  }\n}\n.not-found__text-title {\n  font-size: 16px;\n  line-height: 22px;\n  color: #666666;\n}\n@media (max-width: 575.98px) {\n  .not-found__text-title {\n    font-size: 14px;\n    line-height: 20px;\n  }\n}\n.not-found__text-description {\n  font-weight: 500;\n  font-size: 24px;\n  line-height: 28px;\n  color: #666666;\n  margin-bottom: 20px;\n}\n@media (max-width: 575.98px) {\n  .not-found__text-description {\n    font-size: 14px;\n    line-height: 16px;\n  }\n}\n.not-found__text-button {\n  display: flex;\n  align-items: center;\n  padding: 9px 30px;\n  box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px rgba(0, 0, 0, 0.2), 0px 4px 8px rgba(0, 0, 0, 0.2), inset 0px 1px 0.5px rgba(255, 255, 255, 0.7), inset 0px -1px 0.5px rgba(0, 0, 0, 0.25);\n  border: none;\n  font-weight: 500;\n}\n@media (max-width: 575.98px) {\n  .not-found__text-button {\n    font-size: 14px;\n    line-height: 16px;\n  }\n}\n.not-found__text-button--icon {\n  color: #FFF;\n  margin-right: 6px;\n  height: 18px;\n  width: 18px;\n}\n@media (max-width: 575.98px) {\n  .not-found__text-button--icon {\n    height: 16px;\n    width: 16px;\n  }\n}",""]),c.exports=r.toString()},74417:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.password-strength {\n  box-shadow: 0 16px 16px rgba(0, 0, 0, 0.1), 0 0 8px rgba(0, 0, 0, 0.15);\n  border-radius: 7px;\n  position: relative;\n}\n.password-strength:before {\n  background: #FFFFFF;\n  box-shadow: 0 16px 16px rgba(0, 0, 0, 0.1), 0 0 8px rgba(0, 0, 0, 0.15);\n  border-radius: 4px;\n  content: "";\n  position: absolute;\n  left: -9px;\n  top: 50%;\n  transform: translateY(-50%) rotate(-45deg);\n  width: 20px;\n  height: 20px;\n}\n.password-strength__inner {\n  background-color: #fff;\n  border-radius: 7px;\n  padding: 20px;\n  position: relative;\n}\n.password-strength__title {\n  color: #4D4D4D;\n  font-size: 12px;\n  font-weight: 500;\n  line-height: 14px;\n  margin-bottom: 20px;\n}\n.password-strength__list-item {\n  color: #4D4D4D;\n  font-size: 12px;\n  line-height: 14px;\n  padding-left: 28px;\n  position: relative;\n}\n.password-strength__list-item img {\n  position: absolute;\n  left: 0;\n  top: 50%;\n  transform: translateY(-50%);\n}\n.password-strength__list-item + .password-strength__list-item {\n  margin-top: 10px;\n}',""]),c.exports=r.toString()},21708:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.product-card-calendar {\n  cursor: pointer;\n  display: inline-block;\n  padding-right: 28px;\n  position: relative;\n}\n.product-card-calendar__label {\n  color: #4D4D4D;\n  font-size: 10px;\n  line-height: 12px;\n  margin-bottom: 5px;\n  opacity: 0.4;\n}\n.product-card-calendar__value {\n  color: #4D4D4D;\n  font-size: 13px;\n  line-height: 15px;\n}\n.product-card-calendar__icon {\n  position: absolute;\n  top: 50%;\n  right: 5px;\n  transform: translateY(-50%);\n}",""]),c.exports=r.toString()},49556:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.btn {\n  min-width: 95px;\n}\n.btn__icon {\n  color: inherit;\n  margin-left: 5px;\n}\n\n.tonnage {\n  display: flex;\n  width: 125px;\n}\n.tonnage__icon {\n  color: #E05E00;\n  margin-right: 6px;\n}\n.tonnage__text {\n  word-break: break-word;\n  font-size: 12px;\n  line-height: 14px;\n  color: #E05E00;\n  text-align: left;\n}",""]),c.exports=r.toString()},50038:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.product-card-cell__title {\n  color: #4D4D4D;\n  font-size: 10px;\n  line-height: 12px;\n  margin-bottom: 5px;\n  opacity: 0.4;\n}\n.product-card-cell__value {\n  color: #4D4D4D;\n  font-size: 13px;\n  line-height: 15px;\n  word-break: break-word;\n}\n.product-card-cell__value--bold {\n  font-weight: 500;\n}\n.product-card-cell--inline {\n  display: flex;\n  align-items: center;\n}\n.product-card-cell--inline .product-card-cell__title {\n  margin-bottom: 0;\n  margin-right: 10px;\n}\n.product-card-cell--large-font .product-card-cell__value {\n  font-size: 15px;\n  font-weight: 500;\n}\n.product-card-cell--price-not-final .product-card-cell__title {\n  white-space: nowrap;\n}",""]),c.exports=r.toString()},26068:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.matrix {\n  border: 0;\n  border-radius: 4px;\n  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);\n  display: block;\n}\n.matrix__x-axis-title {\n  position: sticky;\n  left: 45%;\n  right: 45%;\n}\n.matrix__tr:first-child .matrix__td:first-child,\n.matrix__tr:first-child .matrix__th:first-child {\n  border-top-left-radius: 4px;\n}\n.matrix__tr:first-child .matrix__td:last-child,\n.matrix__tr:first-child .matrix__th:last-child {\n  border-top-right-radius: 4px;\n}\n.matrix__tr:last-child .matrix__td:first-child,\n.matrix__tr:last-child .matrix__th:first-child {\n  border-bottom-left-radius: 4px;\n}\n.matrix__tr:last-child .matrix__td:last-child,\n.matrix__tr:last-child .matrix__th:last-child {\n  border-bottom-right-radius: 4px;\n}\n.matrix__tr .matrix__td.is-colored {\n  background-color: #6FB2EF;\n  box-shadow: inset 1px -1px #64A0D7;\n}\n.matrix__td, .matrix__th {\n  border: 0;\n  font-size: 12px;\n  font-weight: normal;\n  height: 36px;\n  min-width: 110px;\n  min-height: 36px;\n  text-align: center;\n}\n.matrix__td:first-child, .matrix__th:first-child {\n  position: sticky;\n  left: 0;\n}\n.matrix__td.x-vals, .matrix__th.x-vals {\n  position: sticky;\n}\n.matrix__td.x-vals-empty, .matrix__td.x-vals, .matrix__th.x-vals-empty, .matrix__th.x-vals {\n  top: 38px;\n}\n.matrix__td.x-vals-empty, .matrix__th.x-vals-empty {\n  z-index: 1;\n}\n@media (max-width: 991.98px) {\n  .matrix__td, .matrix__th {\n    height: 28px;\n    min-width: 90px;\n    min-height: 28px;\n  }\n}\n.matrix__td:first-child, .matrix__th:first-child {\n  min-width: 125px;\n}\n.matrix__td {\n  background-color: #fff;\n  box-shadow: inset 1px -1px #EDEDED;\n  color: #808080;\n}\n.matrix__td--header {\n  background-color: #F2F2F2;\n  box-shadow: inset 1px -1px #E1E1E1;\n}\n.matrix__th {\n  background-color: #E5E5E5;\n  box-shadow: inset 1px -1px #D5D5D5;\n  font-weight: 500;\n  position: sticky;\n  top: 0;\n  z-index: 1;\n}\n.matrix__th--left {\n  z-index: 2;\n}\n.matrix__scroll {\n  background-color: #FFF !important;\n  position: sticky;\n  bottom: 0;\n}",""]),c.exports=r.toString()},61276:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.register-banner {\n  background: #fff;\n  border-radius: 7px;\n  color: #1A1A1A;\n  font-size: 16px;\n  line-height: 22px;\n  margin-bottom: 50px;\n  padding: 35px;\n  text-align: center;\n}\n.register-banner__link {\n  color: #3C91DC;\n  cursor: pointer;\n  margin-left: 10px;\n}",""]),c.exports=r.toString()},83293:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"",""]),c.exports=r.toString()},39479:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"@media (max-width: 767.98px) {\n  .product-card__header {\n    grid-template-columns: 50% 50% 0;\n  }\n}\n@media (max-width: 767.98px) {\n  .product-card__body {\n    grid-template-columns: 50% 50%;\n  }\n}\n.product-card__filter {\n  margin: -12px 0;\n}\n@media (max-width: 767.98px) {\n  .product-card__param-actions {\n    grid-column: 1/3;\n    grid-row: 3;\n    justify-self: unset;\n    text-align: left;\n  }\n}\n@media (max-width: 575.98px) {\n  .product-card__param-actions .btn {\n    width: 100%;\n  }\n}\n\n.btn-icon {\n  color: inherit;\n  margin-right: 4px;\n}",""]),c.exports=r.toString()},34887:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"@media (max-width: 767.98px) {\n  .product-card__header {\n    grid-template-columns: 33% 33% 1fr;\n  }\n}\n@media (max-width: 575.98px) {\n  .product-card__header {\n    grid-template-columns: 50% 50% 0;\n  }\n}\n.product-card__body {\n  grid-template-columns: 25% 25% 50%;\n}\n@media (max-width: 767.98px) {\n  .product-card__body {\n    grid-template-columns: 33% 33% 1fr;\n  }\n}\n@media (max-width: 575.98px) {\n  .product-card__body {\n    grid-template-columns: 50% 50%;\n  }\n}\n.product-card__filter {\n  margin: -12px 0;\n}\n@media (max-width: 575.98px) {\n  .product-card__param-actions {\n    grid-column: 1/3;\n    grid-row: 2;\n    justify-self: unset;\n  }\n  .product-card__param-actions .btn {\n    width: 100%;\n  }\n}\n\n.btn-icon {\n  color: inherit;\n  margin-right: 4px;\n}",""]),c.exports=r.toString()},66663:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n@media (max-width: 575.98px) {\n  .product-card__param-actions ::ng-deep .btn {\n    width: 100%;\n  }\n}",""]),c.exports=r.toString()},9703:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n@media (max-width: 575.98px) {\n  .product-card__param-actions ::ng-deep .btn {\n    width: 100%;\n  }\n}",""]),c.exports=r.toString()},80611:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"@media (max-width: 767.98px) {\n  .product-card__body__header {\n    grid-template-columns: 33% 33% 1fr;\n  }\n}\n@media (max-width: 575.98px) {\n  .product-card__body__header {\n    grid-template-columns: 50% 50% 0;\n  }\n}\n.product-card__body__body {\n  grid-template-columns: 25% 25% 50%;\n}\n@media (max-width: 767.98px) {\n  .product-card__body__body {\n    grid-template-columns: 33% 33% 1fr;\n  }\n}\n@media (max-width: 575.98px) {\n  .product-card__body__body {\n    grid-template-columns: 50% 50%;\n  }\n}\n.product-card__filter {\n  margin: -12px 0;\n}\n@media (max-width: 575.98px) {\n  .product-card__param-actions {\n    grid-column: 1/3;\n    grid-row: 2;\n    justify-self: unset;\n  }\n  .product-card__param-actions .btn {\n    width: 100%;\n  }\n}\n\n.btn-icon {\n  color: inherit;\n  margin-right: 4px;\n}",""]),c.exports=r.toString()},36739:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n@media (max-width: 575.98px) {\n  .product-card__param-actions ::ng-deep .btn {\n    width: 100%;\n  }\n}\n\n:host::ng-deep.ng-select-opened .ng-select-container {\n  background-color: transparent !important;\n}",""]),c.exports=r.toString()},5589:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"",""]),c.exports=r.toString()},95157:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n@media (max-width: 767.98px) {\n  .product-card__param-actions {\n    grid-column: 1/2;\n    grid-row: 2;\n    justify-self: unset;\n  }\n}\n@media (max-width: 575.98px) {\n  .product-card__param-actions {\n    grid-column: 1/3;\n    grid-row: 3;\n  }\n}\n.product-card__filter {\n  margin: -12px 0;\n}\n\n.btn-icon {\n  color: inherit;\n  margin-right: 4px;\n}",""]),c.exports=r.toString()},44277:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n@media (max-width: 575.98px) {\n  .product-card__param-actions {\n    grid-column: 1/3;\n    grid-row: 2;\n    justify-self: unset;\n  }\n  .product-card__param-actions .btn {\n    max-width: 50%;\n  }\n  .is-logged-in .product-card__param-actions .btn {\n    max-width: 100%;\n  }\n}\n.product-card__filter {\n  margin: -12px 0;\n}\n.product-card__param-matrix {\n  grid-area: matrix;\n  overflow: hidden;\n  padding: 22px 10px 10px;\n}\n.product-card__matrix-wrapper {\n  border-radius: 4px;\n  min-height: 50px;\n  position: relative;\n}\n.product-card__matrix-scrollbar {\n  max-height: 380px;\n}\n@media (max-width: 991.98px) {\n  .product-card__matrix-scrollbar {\n    max-height: 360px;\n  }\n}\n@media (max-width: 575.98px) {\n  .product-card__matrix-scrollbar {\n    max-height: 258px;\n  }\n}\n.product-card__matrix {\n  width: 100%;\n}\n@media (max-width: 991.98px) {\n  .product-card__matrix {\n    width: auto;\n  }\n}\n@media (min-width: 576px) and (max-width: 767.98px) {\n  .product-card.is-order .product-card__body {\n    grid-template-columns: 25% 25% 0;\n  }\n}\n@media (min-width: 576px) and (max-width: 767.98px) {\n  .product-card.is-order .product-card__param-actions {\n    justify-self: baseline;\n    grid-column: -4/-1;\n  }\n}\n\n.btn-icon {\n  color: inherit;\n  margin-right: 4px;\n}",""]),c.exports=r.toString()},69103:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"@media (max-width: 575.98px) {\n  .product-card__param-actions ::ng-deep .btn {\n    width: 100%;\n  }\n}",""]),c.exports=r.toString()},28095:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n@media (max-width: 575.98px) {\n  .product-card__param-actions ::ng-deep .btn {\n    width: 100%;\n  }\n}",""]),c.exports=r.toString()},61123:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"",""]),c.exports=r.toString()},3075:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"",""]),c.exports=r.toString()},91524:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.active-facets {\n  margin-bottom: 10px;\n}\n@media (max-width: 991.98px) {\n  .active-facets {\n    margin: 0;\n    padding: 17px 25px;\n  }\n}\n.active-facets:empty {\n  display: none;\n}\n.active-facets__item {\n  display: inline-block;\n  background: #D0E9FF;\n  border-radius: 16px;\n  padding: 7px;\n  margin: 2px;\n  font-size: 12px;\n  line-height: 14px;\n  color: #1C73C2;\n}\n.active-facets__item:hover {\n  text-decoration: none;\n  background: #3C91DC;\n  color: white;\n}\n.active-facets__item:hover .not-hover {\n  display: none;\n}\n.active-facets__item:hover .hover {\n  display: inline;\n}\n.active-facets__item + .active-facets__item {\n  margin-top: 10px;\n}\n\n.hover {\n  display: none;\n}",""]),c.exports=r.toString()},19437:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.contract__radio-group {\n  cursor: pointer;\n}\n.contract__info {\n  padding: 17px 20px;\n  background: linear-gradient(0deg, rgba(242, 242, 242, 0.5), rgba(242, 242, 242, 0.5)), #FFFFFF;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n}\n@media (max-width: 991.98px) {\n  .contract__info {\n    padding: 9px 11px 9px 20px;\n  }\n}\n.contract__head {\n  position: relative;\n}\n.contract__desc {\n  background: #F2F2F2;\n  font-size: 14px;\n  line-height: 16px;\n  color: #4D4D4D;\n  padding: 17px 20px;\n}\n.contract__desc-item {\n  margin-bottom: 10px;\n}\n.contract__desc-item--title {\n  color: #808080;\n}\n.contract__title {\n  font-weight: 500;\n  font-size: 13px;\n  line-height: 15px;\n  color: #4D4D4D;\n  max-width: calc(100% - 30px);\n}\n.contract__sub-title {\n  font-size: 11px;\n  line-height: 13px;\n  max-width: calc(100% - 30px);\n}\n.contract__toggle-icon {\n  position: absolute;\n  right: 0;\n  top: 50%;\n  transform: translateY(-50%) rotate(180deg);\n}\n.is-open .contract__toggle-icon {\n  transform: translateY(-50%);\n}",""]),c.exports=r.toString()},30548:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.contracts__search, .multi-select__search {\n  position: relative;\n}\n.contracts__search ::ng-deep .form-control, .multi-select__search ::ng-deep .form-control {\n  border-radius: 0 !important;\n  border: 0 transparent !important;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  padding: 16px 43px;\n}\n.contracts__search ::ng-deep .field-group__label, .multi-select__search ::ng-deep .field-group__label {\n  padding-left: 20px;\n}\n.contracts__search ::ng-deep.not-empty .field-group__label, .multi-select__search ::ng-deep.not-empty .field-group__label {\n  display: none;\n}\n.contracts__search ::ng-deep.is-focus .field-group__label, .multi-select__search ::ng-deep.is-focus .field-group__label {\n  top: 5px !important;\n}\n.contracts__search--icon, .multi-select__search--icon {\n  margin: 15px 8px 15px 16px;\n  position: absolute;\n  z-index: 3;\n}\n.contracts__search--reset, .multi-select__search--reset {\n  margin: 15px 16px 15px 8px;\n  position: absolute;\n  z-index: 3;\n  right: 0;\n  top: 0;\n  cursor: pointer;\n}\n.contracts__search--reset:hover, .multi-select__search--reset:hover {\n  color: #3C91DC;\n}\n\n.contracts__sub-title {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  color: #808080;\n  padding-left: 15px;\n}\n@media (max-width: 991.98px) {\n  .contracts__sub-title {\n    display: none;\n  }\n}\n.contracts__title {\n  color: #4D4D4D;\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  position: relative;\n}\n@media (max-width: 991.98px) {\n  .contracts__title {\n    color: #1A1A1A;\n    text-transform: uppercase;\n  }\n}\n.contracts__content {\n  margin-bottom: 20px;\n  overflow: hidden;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 7px;\n  cursor: pointer;\n}\n@media (max-width: 991.98px) {\n  .contracts__content {\n    border-radius: 0;\n    margin-bottom: 0;\n  }\n}\n.contracts__content--disabled {\n  cursor: default;\n}\n.contracts__head {\n  background: #fff;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  padding: 17px 20px;\n}\n@media (max-width: 991.98px) {\n  .contracts__head {\n    padding: 17px 20px;\n  }\n}\n.contracts__head--disabled {\n  background: #F2F2F2;\n}\n@media (max-width: 991.98px) {\n  .contracts__head--disabled {\n    display: none;\n  }\n}\n.contracts__tabs {\n  padding: 11px 20px;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n}\n.contracts__tabs ::ng-deep .tabs--small {\n  height: 28px;\n}\n.contracts__tabs ::ng-deep .tabs--small .tabs__item {\n  font-weight: 500;\n  font-size: 12px;\n  line-height: 14px;\n  align-items: center;\n  padding: 7px 20px;\n}\n.contracts__search ::ng-deep .form-control {\n  background-color: transparent;\n}\n.contracts__agreements {\n  max-height: 324px;\n}\n.contracts__toggle-icons {\n  flex: 0 0 auto;\n  margin: 0 0 0 auto;\n}\n.contracts--hidden .contracts__expand-icon {\n  transform: rotate(180deg);\n}\n@media (max-width: 991.98px) {\n  .contracts__expand-icon {\n    display: none;\n  }\n}\n.contracts__close-icon {\n  display: none;\n}\n@media (max-width: 991.98px) {\n  .contracts--hidden .contracts__close-icon {\n    display: inline-block;\n  }\n}\n.contracts__description-icon {\n  display: none;\n}\n@media (max-width: 991.98px) {\n  .contracts__description-icon {\n    display: inline-block;\n  }\n  .contracts--hidden .contracts__description-icon {\n    display: none;\n  }\n}\n.contracts__body {\n  margin: 5px 0 0;\n}",""]),c.exports=r.toString()},98446:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.facet-list {\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 14px;\n  overflow: hidden;\n}\n@media (max-width: 991.98px) {\n  .facet-list {\n    border-radius: 0;\n  }\n}",""]),c.exports=r.toString()},70760:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.scrollbar {\n  max-width: 100%;\n  max-height: 206px;\n  border-radius: 4px;\n  box-sizing: border-box;\n}\n\n.facet__head {\n  background: #fff;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  padding: 17px 20px;\n  cursor: pointer;\n}\n.facet__body {\n  background: linear-gradient(0deg, rgba(242, 242, 242, 0.5), rgba(242, 242, 242, 0.5)), #fff;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  padding: 17px 30px;\n  font-size: 14px;\n  line-height: 16px;\n  color: #4D4D4D;\n  transition: max-height 0.25s linear, padding-top 0.25s linear, padding-bottom 0.25s linear;\n}\n.is-collapsed .facet__body {\n  max-height: 0;\n  padding-top: 0;\n  padding-bottom: 0;\n}\n.facet__title {\n  color: #4D4D4D;\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  position: relative;\n}\n.facet__toggle-icon {\n  position: absolute;\n  right: 0;\n  top: 50%;\n  transform: translateY(-50%);\n}\n.is-collapsed .facet__toggle-icon {\n  transform: translateY(-50%) rotate(180deg);\n}\n.facet__item {\n  display: block;\n}\n.facet__item + .facet__item {\n  margin-top: 10px;\n}\n.facet__item--disabled {\n  color: #4D4D4D;\n  opacity: 0.4;\n}\n.facet__item-value {\n  word-break: break-word;\n}\n.facet__checkbox {\n  margin-right: 10px;\n  vertical-align: top;\n}\n.facet__less {\n  color: #3C91DC;\n  cursor: pointer;\n  display: inline-block;\n  font-size: 14px;\n  line-height: 16px;\n  margin-top: 10px;\n  margin-left: 25px;\n}",""]),c.exports=r.toString()},23775:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.facet-navigation-head {\n  position: relative;\n}\n.facet-navigation-head__title {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  color: #808080;\n}\n\n.facet-list {\n  padding-bottom: 40px;\n  margin: 30px 0;\n}\n@media (max-width: 991.98px) {\n  .facet-list {\n    padding: 0;\n    margin: 0;\n    border-bottom: none;\n  }\n}\n.facet-list__head {\n  display: flex;\n  align-items: center;\n  margin-bottom: 10px;\n  padding: 0 15px;\n}\n@media (max-width: 991.98px) {\n  .facet-list__head {\n    background: #fff;\n    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n    padding: 17px 20px;\n    margin: 0;\n  }\n}\n.facet-list__title {\n  color: #808080;\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  position: relative;\n  margin: 0 15px 0 0;\n  cursor: pointer;\n}\n@media (max-width: 991.98px) {\n  .facet-list__title {\n    color: #1A1A1A;\n    text-transform: uppercase;\n    margin: 0 8px 0 0;\n  }\n}\n.facet-list__reset {\n  font-size: 14px;\n  line-height: 20px;\n  color: #3C91DC;\n  margin: 0 0 0 auto;\n}\n.facet-list__reset.disabled {\n  color: #B3B3B3;\n  pointer-events: none;\n}\n@media (max-width: 991.98px) {\n  .facet-list__reset {\n    margin: 0;\n  }\n}\n.facet-list__mobile-icons {\n  margin: 0 0 0 auto;\n  cursor: pointer;\n  display: none;\n}\n@media (max-width: 991.98px) {\n  .facet-list__mobile-icons {\n    display: block;\n  }\n}\n.facet-list__facet-icon {\n  display: none;\n}\n@media (max-width: 991.98px) {\n  .facet-list--hidden .facet-list__facet-icon {\n    display: block;\n  }\n}\n.facet-list__close-icon {\n  display: block;\n}\n@media (max-width: 991.98px) {\n  .facet-list__close-icon {\n    display: block;\n  }\n  .facet-list--hidden .facet-list__close-icon {\n    display: none;\n  }\n}\n.facet-list__body {\n  display: block;\n}\n@media (max-width: 991.98px) {\n  .facet-list--hidden .facet-list__body {\n    display: none;\n  }\n}",""]),c.exports=r.toString()},70301:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"",""]),c.exports=r.toString()},58898:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"@media (min-width: 992px) {\n  .homepage-slider__top {\n    margin-top: -30px;\n  }\n}",""]),c.exports=r.toString()},23980:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.banner {\n  background-repeat: no-repeat;\n  background-size: cover;\n  height: 200px;\n  border-bottom: 10px solid #FF6B00;\n}\n.banner__text {\n  color: #fff;\n  opacity: 0.75;\n  text-align: right;\n  padding-top: 30px;\n}\n.banner__text-title {\n  font-size: 60px;\n  line-height: 70px;\n  opacity: 0.6;\n}\n.banner__text-subtitle {\n  font-weight: 500;\n  font-size: 24px;\n  line-height: 28px;\n}\n.banner__text-content {\n  font-size: 14px;\n  line-height: 20px;\n  width: 189px;\n  word-break: break-word;\n}",""]),c.exports=r.toString()},24741:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.category {\n  padding-bottom: 25px;\n  margin-bottom: 30px;\n}\n.category--not-empty {\n  border-bottom: 1px solid #C4C4C4;\n}\n@media (max-width: 991.98px) {\n  .category {\n    padding: 0;\n    margin: 0;\n    border-bottom: none;\n  }\n}\n.category__head {\n  background: #fff;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  padding: 17px 20px;\n  display: none;\n  cursor: pointer;\n}\n@media (max-width: 991.98px) {\n  .category__head {\n    display: block;\n  }\n}\n.category__title {\n  color: #4D4D4D;\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  position: relative;\n}\n@media (max-width: 991.98px) {\n  .category__title {\n    color: #1A1A1A;\n    text-transform: uppercase;\n  }\n}\n.category__category-icon {\n  display: none;\n  margin: 0 0 0 auto;\n}\n@media (max-width: 991.98px) {\n  .category--hidden .category__category-icon {\n    display: block;\n  }\n}\n.category__close-icon {\n  display: none;\n  margin: 0 0 0 auto;\n}\n@media (max-width: 991.98px) {\n  .category__close-icon {\n    display: block;\n  }\n  .category--hidden .category__close-icon {\n    display: none;\n  }\n}\n.category__list {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  grid-row-gap: 20px;\n  grid-column-gap: 10px;\n}\n@media (max-width: 991.98px) {\n  .category__list {\n    padding: 17px 25px;\n    -moz-column-gap: unset;\n         column-gap: unset;\n    -moz-column-count: unset;\n         column-count: unset;\n    display: flex;\n    flex-direction: column;\n  }\n  .category--hidden .category__list {\n    display: none;\n  }\n}\n.category__list-item {\n  overflow: hidden;\n  color: #3C91DC;\n  font-size: 14px;\n  line-height: 16px;\n}\n.category__link {\n  font-size: 14px;\n  line-height: 16px;\n}\n.category__link--active {\n  color: #1A1A1A;\n}",""]),c.exports=r.toString()},72397:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.category {\n  border-bottom: 1px solid #C4C4C4;\n  padding-bottom: 25px;\n  margin-bottom: 30px;\n}\n@media (max-width: 991.98px) {\n  .category {\n    padding: 0;\n    margin: 0;\n    border-bottom: none;\n  }\n}\n.category__head {\n  background: #fff;\n  box-shadow: inset 0 -1px 0px rgba(0, 0, 0, 0.07);\n  padding: 17px 20px;\n  display: none;\n  cursor: pointer;\n}\n@media (max-width: 991.98px) {\n  .category__head {\n    display: block;\n  }\n}\n.category__title {\n  color: #4D4D4D;\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  position: relative;\n}\n@media (max-width: 991.98px) {\n  .category__title {\n    color: #1A1A1A;\n    text-transform: uppercase;\n  }\n}\n.category__category-icon {\n  display: none;\n  margin: 0 0 0 auto;\n}\n@media (max-width: 991.98px) {\n  .category--hidden .category__category-icon {\n    display: block;\n  }\n}\n.category__close-icon {\n  display: none;\n  margin: 0 0 0 auto;\n}\n@media (max-width: 991.98px) {\n  .category__close-icon {\n    display: block;\n  }\n  .category--hidden .category__close-icon {\n    display: none;\n  }\n}\n.category__list {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  grid-row-gap: 20px;\n  grid-column-gap: 10px;\n}\n@media (max-width: 991.98px) {\n  .category__list {\n    padding: 17px 25px;\n    -moz-column-gap: unset;\n         column-gap: unset;\n    -moz-column-count: unset;\n         column-count: unset;\n    display: flex;\n    flex-direction: column;\n  }\n  .category--hidden .category__list {\n    display: none;\n  }\n}\n.category__list-item {\n  overflow: hidden;\n  color: #3C91DC;\n  font-size: 14px;\n  line-height: 16px;\n}\n.category__link {\n  font-size: 14px;\n  line-height: 16px;\n}\n.category__link--active {\n  color: #1A1A1A;\n}\n.category__link--all {\n  text-transform: uppercase;\n}",""]),c.exports=r.toString()},23377:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n:host {\n  padding-top: 25px;\n}\n\n.header {\n  align-items: center;\n  margin-bottom: 30px;\n}\n.header__title {\n  font-weight: 500;\n  font-size: 24px;\n  line-height: 28px;\n  color: #1A1A1A;\n  margin-bottom: 0;\n}\n@media (min-width: 768px) {\n  .header__title {\n    max-width: 50%;\n  }\n}\n@media (max-width: 767.98px) {\n  .header__title {\n    margin-bottom: 35px;\n  }\n}\n@media (max-width: 575.98px) {\n  .header__title {\n    margin-bottom: 20px;\n  }\n}\n.header__header--link {\n  cursor: pointer;\n}\n.header__header--link:hover {\n  color: #3C91DC;\n}\n.header__selectors {\n  margin-left: auto;\n  margin-right: 5px;\n  z-index: 2;\n}\n@media (min-width: 576px) {\n  .header__selectors__currency {\n    margin-left: 35px;\n  }\n}\n.header__selectors__sort {\n  margin-left: auto;\n}\n@media (max-width: 767.98px) {\n  .header {\n    align-items: start;\n    flex-flow: column;\n  }\n  .header__selectors {\n    margin-left: 0;\n  }\n}\n@media (max-width: 767.98px) and (max-width: 575.98px) {\n  .header__selectors {\n    flex-flow: column;\n  }\n  .header__selectors__sort {\n    margin-bottom: 10px;\n  }\n}",""]),c.exports=r.toString()},55281:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"@media (min-width: 992px) {\n  .product-facet-type {\n    padding: 0 0 10px;\n  }\n}",""]),c.exports=r.toString()},26985:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.form__row {\n  margin-bottom: 20px;\n}\n@media (min-width: 992px) {\n  .form__half-line {\n    max-width: 50%;\n  }\n}\n.form__title {\n  color: #808080;\n  font-size: 12px;\n  line-height: 14px;\n  margin-bottom: 10px;\n}\n\n.controls {\n  margin-top: 30px;\n  text-align: right;\n}\n\n.btn + .btn {\n  margin-left: 10px;\n}\n\n:host::ng-deep .ng-dropdown-panel {\n  min-height: 75px;\n}\n\n.inquiry-text {\n  position: relative;\n}\n.inquiry-text__input {\n  padding-top: 30px;\n}\n.inquiry-text__label {\n  border-radius: 7px 7px 0 0;\n  background-color: #F2F2F2;\n  color: rgba(26, 26, 26, 0.5);\n  font-size: 13px;\n  line-height: 15px;\n  padding: 8px 16px 5px;\n  position: absolute;\n  top: 1px;\n  left: 2px;\n  right: 2px;\n  transition: font-size 0.4s linear, padding 0.4s linear;\n}\n.inquiry-text__label--error {\n  background-color: #FFEBEB;\n}\n.not-empty .inquiry-text__label {\n  font-size: 10px;\n  line-height: 12px;\n  opacity: 1;\n  padding-top: 6px;\n}",""]),c.exports=r.toString()},56660:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.form__section + .form__section {\n  margin-top: 20px;\n}\n.form__title {\n  font-size: 12px;\n  line-height: 14px;\n  color: #808080;\n  margin-bottom: 10px;\n}\n.form__row {\n  margin-bottom: 20px;\n}\n.form__subtext {\n  font-size: 12px;\n  line-height: 14px;\n  color: #B3B3B3;\n  margin: 14px 0 8px;\n}\n@media (min-width: 992px) {\n  .form__subtext {\n    margin: 20px 0 20px;\n  }\n}\n\n.custom-control-label {\n  font-size: 12px;\n  line-height: 14px;\n  color: #4D4D4D;\n}\n.custom-control-label:before, .custom-control-label:after {\n  top: 50%;\n  transform: translateY(-50%);\n}\n\n.register-banner {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  text-align: center;\n  color: #FFFFFF;\n  width: 100%;\n  height: 90px;\n  background-image: url(/assets/icons/registration-banner.jpg);\n  margin-bottom: 19px;\n  border-radius: 7px;\n}\n\n.controls {\n  margin-top: 30px;\n  text-align: right;\n}\n\n.btn + .btn {\n  margin-left: 10px;\n}\n\n:host::ng-deep .ng-dropdown-panel {\n  min-height: 75px;\n}",""]),c.exports=r.toString()},4685:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.form__section + .form__section {\n  margin-top: 20px;\n}\n.form__title {\n  font-size: 12px;\n  line-height: 14px;\n  color: #808080;\n  margin-bottom: 10px;\n}\n.form__row {\n  margin-bottom: 20px;\n}\n.form__subtext {\n  font-size: 12px;\n  line-height: 14px;\n  color: #B3B3B3;\n  margin: 14px 0 8px;\n}\n@media (min-width: 992px) {\n  .form__subtext {\n    margin: 20px 0 20px;\n  }\n}\n\n.custom-control-label {\n  font-size: 12px;\n  line-height: 14px;\n  color: #4D4D4D;\n}\n.custom-control-label:before, .custom-control-label:after {\n  top: 50%;\n  transform: translateY(-50%);\n}\n\n.register-banner {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  text-align: center;\n  color: #FFFFFF;\n  width: 100%;\n  height: 90px;\n  background-image: url(/assets/icons/registration-banner.jpg);\n  margin-bottom: 19px;\n  border-radius: 7px;\n}",""]),c.exports=r.toString()},22558:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.reorder-add {\n  width: 100%;\n  background: #FFF;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 14px;\n  padding: 15px 20px;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  gap: 20px;\n}\n@media (max-width: 767.98px) {\n  .reorder-add {\n    flex-direction: column;\n    align-items: flex-start;\n  }\n}\n.reorder-add__desc {\n  display: flex;\n  align-items: center;\n  font-weight: 400;\n  font-size: 14px;\n  line-height: 16px;\n  color: #3C91DC;\n}\n.reorder-add__desc-icon {\n  margin-right: 6px;\n  color: #3C91DC;\n}\n.reorder-add__button {\n  color: #FFF;\n  font-weight: 500;\n  font-size: 15px;\n  line-height: 18px;\n  max-width: 252px;\n  width: 100%;\n}\n.reorder-add__button-icon {\n  margin-left: 6px;\n  color: #FFF;\n}",""]),c.exports=r.toString()},60170:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.contracts__search, .multi-select__search {\n  position: relative;\n}\n.contracts__search ::ng-deep .form-control, .multi-select__search ::ng-deep .form-control {\n  border-radius: 0 !important;\n  border: 0 transparent !important;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  padding: 16px 43px;\n}\n.contracts__search ::ng-deep .field-group__label, .multi-select__search ::ng-deep .field-group__label {\n  padding-left: 20px;\n}\n.contracts__search ::ng-deep.not-empty .field-group__label, .multi-select__search ::ng-deep.not-empty .field-group__label {\n  display: none;\n}\n.contracts__search ::ng-deep.is-focus .field-group__label, .multi-select__search ::ng-deep.is-focus .field-group__label {\n  top: 5px !important;\n}\n.contracts__search--icon, .multi-select__search--icon {\n  margin: 15px 8px 15px 16px;\n  position: absolute;\n  z-index: 3;\n}\n.contracts__search--reset, .multi-select__search--reset {\n  margin: 15px 16px 15px 8px;\n  position: absolute;\n  z-index: 3;\n  right: 0;\n  top: 0;\n  cursor: pointer;\n}\n.contracts__search--reset:hover, .multi-select__search--reset:hover {\n  color: #3C91DC;\n}\n\n.contracts__sub-title {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  color: #808080;\n  padding-left: 15px;\n}\n@media (max-width: 991.98px) {\n  .contracts__sub-title {\n    display: none;\n  }\n}\n.contracts__title {\n  color: #4D4D4D;\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  position: relative;\n}\n@media (max-width: 991.98px) {\n  .contracts__title {\n    color: #1A1A1A;\n    text-transform: uppercase;\n  }\n}\n.contracts__content {\n  margin-bottom: 20px;\n  overflow: hidden;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 7px;\n  cursor: pointer;\n}\n@media (max-width: 991.98px) {\n  .contracts__content {\n    border-radius: 0;\n    margin-bottom: 0;\n  }\n}\n.contracts__content--disabled {\n  cursor: default;\n}\n.contracts__head {\n  background: #fff;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  padding: 17px 20px;\n}\n@media (max-width: 991.98px) {\n  .contracts__head {\n    padding: 17px 20px;\n  }\n}\n.contracts__head--disabled {\n  background: #F2F2F2;\n}\n@media (max-width: 991.98px) {\n  .contracts__head--disabled {\n    display: none;\n  }\n}\n.contracts__tabs {\n  padding: 11px 20px;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n}\n.contracts__tabs ::ng-deep .tabs--small {\n  height: 28px;\n}\n.contracts__tabs ::ng-deep .tabs--small .tabs__item {\n  font-weight: 500;\n  font-size: 12px;\n  line-height: 14px;\n  align-items: center;\n  padding: 7px 20px;\n}\n.contracts__search ::ng-deep .form-control {\n  background-color: transparent;\n}\n.contracts__agreements {\n  max-height: 324px;\n}\n.contracts__toggle-icons {\n  flex: 0 0 auto;\n  margin: 0 0 0 auto;\n}\n.contracts--hidden .contracts__expand-icon {\n  transform: rotate(180deg);\n}\n@media (max-width: 991.98px) {\n  .contracts__expand-icon {\n    display: none;\n  }\n}\n.contracts__close-icon {\n  display: none;\n}\n@media (max-width: 991.98px) {\n  .contracts--hidden .contracts__close-icon {\n    display: inline-block;\n  }\n}\n.contracts__description-icon {\n  display: none;\n}\n@media (max-width: 991.98px) {\n  .contracts__description-icon {\n    display: inline-block;\n  }\n  .contracts--hidden .contracts__description-icon {\n    display: none;\n  }\n}\n.contracts__body {\n  margin: 5px 0 0;\n}",""]),c.exports=r.toString()},8690:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,".reorder__title {\n  display: block;\n  margin-bottom: 10px;\n}\n.reorder__order-number {\n  display: block;\n  margin-bottom: 16px;\n  margin-top: -30px;\n}",""]),c.exports=r.toString()},3402:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n@media (max-width: 575.98px) {\n  .product-card__param-actions ::ng-deep .btn {\n    width: 100%;\n  }\n}",""]),c.exports=r.toString()},85886:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n@media (max-width: 575.98px) {\n  .product-card__param-actions ::ng-deep .btn {\n    width: 100%;\n  }\n}",""]),c.exports=r.toString()},61474:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"",""]),c.exports=r.toString()},24053:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,".reset-password {\n  max-width: 640px;\n  margin: 0 auto;\n}\n.reset-password__form-group {\n  margin-bottom: 20px;\n}\n\n.btn + .btn {\n  margin-left: 10px;\n}",""]),c.exports=r.toString()},40669:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.form-group {\n  margin-bottom: 20px;\n}\n\n.field-group {\n  position: relative;\n}\n.field-group__label {\n  color: #1A1A1A;\n  font-size: 13px;\n  line-height: 15px;\n  opacity: 0.4;\n  pointer-events: none;\n  position: absolute;\n  left: 16px;\n  top: 50%;\n  transform: translateY(-50%);\n  transition: font-size 0.25s ease-in, line-height 0.25s ease-in, top 0.25s ease-in, transform 0.25s ease-in;\n}\n.not-empty > .field-group__label, .focus > .field-group__label {\n  font-size: 10px;\n  line-height: 12px;\n  transform: none;\n  top: 8px;\n}\n.field-group__field {\n  padding: 25px 16px 8px;\n}\n\n.btn + .btn {\n  margin-left: 10px;\n}\n\n.controls {\n  margin-top: 50px;\n}",""]),c.exports=r.toString()},70129:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,":host {\n  position: relative;\n  display: flex;\n  overflow: auto;\n  z-index: 0;\n  scrollbar-width: none;\n  -ms-overflow-style: none;\n}\n:host::-webkit-scrollbar {\n  background: transparent;\n  width: 0;\n  height: 0;\n}\n\n.content {\n  position: relative;\n  z-index: 0;\n  flex: 1;\n}\n\n.bars {\n  position: sticky;\n  top: 0;\n  left: 0;\n  min-width: 100%;\n  margin-right: -100%;\n  pointer-events: none;\n  z-index: 1;\n}\n\n.bar {\n  position: absolute;\n  right: 0;\n  bottom: 0;\n}\n.bar__vertical {\n  top: 0;\n}\n.bar__horizontal {\n  left: 0;\n}\n.bar__has-horizontal {\n  bottom: 8px;\n}\n.bar__has-vertical {\n  right: 8px;\n}\n\n.thumb {\n  position: absolute;\n  border-radius: 100px;\n  border: 4px solid transparent;\n  background-color: rgba(51, 51, 51, 0.24);\n  cursor: pointer;\n  pointer-events: auto;\n  background-clip: content-box;\n  box-sizing: border-box;\n}\n.thumb:hover, .thumb:active {\n  background-color: rgba(51, 51, 51, 0.56);\n}\n.bar__vertical .thumb {\n  right: 0;\n  width: 12px;\n  min-height: 24px;\n}\n.bar__vertical .thumb:hover, .bar__vertical .thumb:active {\n  width: 14px;\n}\n.bar__horizontal .thumb {\n  bottom: 0;\n  height: 12px;\n  min-width: 24px;\n}\n.bar__horizontal .thumb:hover, .bar__horizontal .thumb:active {\n  height: 14px;\n}",""]),c.exports=r.toString()},95319:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.result {\n  padding: 20px 20px 30px;\n}\n.result:before {\n  background: #FF6B00;\n  border-radius: 0 0 4px 4px;\n  width: calc(100% - 40px);\n  height: 3px;\n  content: "";\n  position: absolute;\n  top: 56px;\n}\n@media (max-width: 991.98px) {\n  .result:before {\n    width: calc(100% - 70px);\n  }\n}\n.result__tabs {\n  display: flex;\n  width: 100%;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  margin-bottom: 20px;\n}\n.result__tabs-content {\n  font-weight: 500;\n  font-size: 15px;\n  line-height: 18px;\n  color: #4D4D4D;\n  padding: 10px 6px;\n  white-space: nowrap;\n  cursor: pointer;\n  border-bottom: 2px solid transparent;\n  display: flex;\n  align-items: center;\n  text-transform: capitalize;\n}\n.result__tabs-content:hover {\n  color: #3C91DC;\n}\n.result__tabs-content--is-open {\n  padding-bottom: 10px;\n  color: #3C91DC;\n  border-bottom-color: #3C91DC;\n}\n.result__tabs-content + .result__tabs-content {\n  margin-left: 10px;\n}\n.result__tabs-count {\n  font-size: 12px;\n  line-height: 14px;\n  color: #B3B3B3;\n  margin-left: 4px;\n}\n.result__content {\n  margin-top: 20px;\n  position: relative;\n}\n.result__content-result {\n  font-size: 13px;\n  line-height: 15px;\n  color: #1A1A1A;\n  margin-bottom: 10px;\n}\n.result__content-result ::ng-deep mark {\n  background-color: transparent;\n  color: #808080;\n  padding: 0;\n}\n.result__content-result:last-child {\n  margin-bottom: 20px;\n}\n.result__button {\n  font-weight: 500;\n  font-size: 10px;\n  line-height: 12px;\n  color: #3C91DC;\n  margin: 20px 0 0;\n  text-transform: uppercase;\n  cursor: pointer;\n}\n.result__button-count {\n  color: #B3B3B3;\n  margin-left: 4px;\n}\n.result__tabs-arrow {\n  position: absolute;\n  top: 145px;\n}\n.result__tabs-arrow:hover .result__tabs-arrow--icon {\n  color: #3C91DC;\n}\n.result__tabs-arrow--left {\n  left: 0;\n}\n@media (max-width: 991.98px) {\n  .result__tabs-arrow--left {\n    left: 10px;\n  }\n}\n.result__tabs-arrow--right {\n  right: 0;\n}\n@media (max-width: 991.98px) {\n  .result__tabs-arrow--right {\n    right: 10px;\n  }\n}\n.result ::ng-deep .tabs--extra-small .tabs__item {\n  flex-shrink: 0;\n}\n@media (max-width: 991.98px) {\n  .result ::ng-deep .tabs--extra-small .tabs__item {\n    width: unset !important;\n  }\n}\n\n.not-found {\n  font-size: 13px;\n  line-height: 15px;\n  color: #1A1A1A;\n}\n.not-found__request {\n  color: #808080;\n}\n\n:host::ng-deep .search-results-highlight {\n  color: #808080;\n  font-size: 13px;\n  line-height: 15px;\n  font-style: normal;\n}',""]),c.exports=r.toString()},6473:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.search {\n  min-height: 60px;\n  position: relative;\n}\n@media (max-width: 991.98px) {\n  .search {\n    position: unset;\n    min-height: unset;\n  }\n}\n.search__icon {\n  padding: 9px;\n  cursor: pointer;\n}\n@media (min-width: 992px) {\n  .search__icon {\n    padding: 15px;\n  }\n}\n.search__icon:hover {\n  color: #3C91DC;\n}\n.search__input {\n  position: absolute;\n  top: 0;\n  right: 0;\n  width: 860px;\n  padding: 0;\n  background: #FFF;\n  border-radius: 0 0 14px 14px;\n}\n@media (max-width: 1199.98px) {\n  .search__input {\n    width: 680px;\n  }\n}\n@media (max-width: 991.98px) {\n  .search__input {\n    width: 100vw;\n    padding: 0 20px;\n    border-radius: 0;\n  }\n}\n.search__input-search {\n  max-height: 60px;\n  display: flex;\n  align-items: center;\n}\n.search__input-icon {\n  padding-left: 20px;\n  margin-right: 4px;\n}\n\n:host::ng-deep.form-control, .field-group__field {\n  height: 60px;\n  background: transparent;\n  border: none;\n  padding: 19px 0 !important;\n  font-size: 16px;\n  line-height: 22px;\n}\n\n:host::ng-deep.is-focus .field-group__label, :host::ng-deep.not-empty .field-group__label {\n  display: none;\n}",""]),c.exports=r.toString()},58835:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.contracts__search, .multi-select__search {\n  position: relative;\n}\n.contracts__search ::ng-deep .form-control, .multi-select__search ::ng-deep .form-control {\n  border-radius: 0 !important;\n  border: 0 transparent !important;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  padding: 16px 43px;\n}\n.contracts__search ::ng-deep .field-group__label, .multi-select__search ::ng-deep .field-group__label {\n  padding-left: 20px;\n}\n.contracts__search ::ng-deep.not-empty .field-group__label, .multi-select__search ::ng-deep.not-empty .field-group__label {\n  display: none;\n}\n.contracts__search ::ng-deep.is-focus .field-group__label, .multi-select__search ::ng-deep.is-focus .field-group__label {\n  top: 5px !important;\n}\n.contracts__search--icon, .multi-select__search--icon {\n  margin: 15px 8px 15px 16px;\n  position: absolute;\n  z-index: 3;\n}\n.contracts__search--reset, .multi-select__search--reset {\n  margin: 15px 16px 15px 8px;\n  position: absolute;\n  z-index: 3;\n  right: 0;\n  top: 0;\n  cursor: pointer;\n}\n.contracts__search--reset:hover, .multi-select__search--reset:hover {\n  color: #3C91DC;\n}\n\n.contracts__sub-title {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  color: #808080;\n  padding-left: 15px;\n}\n@media (max-width: 991.98px) {\n  .contracts__sub-title {\n    display: none;\n  }\n}\n.contracts__title {\n  color: #4D4D4D;\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  position: relative;\n}\n@media (max-width: 991.98px) {\n  .contracts__title {\n    color: #1A1A1A;\n    text-transform: uppercase;\n  }\n}\n.contracts__content {\n  margin-bottom: 20px;\n  overflow: hidden;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 7px;\n  cursor: pointer;\n}\n@media (max-width: 991.98px) {\n  .contracts__content {\n    border-radius: 0;\n    margin-bottom: 0;\n  }\n}\n.contracts__content--disabled {\n  cursor: default;\n}\n.contracts__head {\n  background: #fff;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  padding: 17px 20px;\n}\n@media (max-width: 991.98px) {\n  .contracts__head {\n    padding: 17px 20px;\n  }\n}\n.contracts__head--disabled {\n  background: #F2F2F2;\n}\n@media (max-width: 991.98px) {\n  .contracts__head--disabled {\n    display: none;\n  }\n}\n.contracts__tabs {\n  padding: 11px 20px;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n}\n.contracts__tabs ::ng-deep .tabs--small {\n  height: 28px;\n}\n.contracts__tabs ::ng-deep .tabs--small .tabs__item {\n  font-weight: 500;\n  font-size: 12px;\n  line-height: 14px;\n  align-items: center;\n  padding: 7px 20px;\n}\n.contracts__search ::ng-deep .form-control {\n  background-color: transparent;\n}\n.contracts__agreements {\n  max-height: 324px;\n}\n.contracts__toggle-icons {\n  flex: 0 0 auto;\n  margin: 0 0 0 auto;\n}\n.contracts--hidden .contracts__expand-icon {\n  transform: rotate(180deg);\n}\n@media (max-width: 991.98px) {\n  .contracts__expand-icon {\n    display: none;\n  }\n}\n.contracts__close-icon {\n  display: none;\n}\n@media (max-width: 991.98px) {\n  .contracts--hidden .contracts__close-icon {\n    display: inline-block;\n  }\n}\n.contracts__description-icon {\n  display: none;\n}\n@media (max-width: 991.98px) {\n  .contracts__description-icon {\n    display: inline-block;\n  }\n  .contracts--hidden .contracts__description-icon {\n    display: none;\n  }\n}\n.contracts__body {\n  margin: 5px 0 0;\n}",""]),c.exports=r.toString()},82543:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"",""]),c.exports=r.toString()},82479:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"",""]),c.exports=r.toString()},43213:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.search-tabs-category {\n  margin-bottom: 20px;\n}\n@media (max-width: 991.98px) {\n  .search-tabs-category {\n    margin-bottom: 30px;\n    padding: 0 15px;\n  }\n}\n.search-tabs-category__list {\n  box-shadow: 0 1px 0 #E0E0E0;\n  display: flex;\n  justify-content: flex-start;\n}\n.search-tabs-category__item {\n  color: #4D4D4D;\n  font-weight: 500;\n  font-size: 15px;\n  line-height: 18px;\n  padding: 10px;\n  text-transform: lowercase;\n  cursor: pointer;\n}\n.search-tabs-category__item:first-letter {\n  text-transform: uppercase;\n}\n.search-tabs-category__item.active {\n  color: #3C91DC;\n  position: relative;\n}\n.search-tabs-category__item.active:after {\n  background-color: #3C91DC;\n  content: "";\n  height: 2px;\n  position: absolute;\n  bottom: -1px;\n  left: 0;\n  right: 0;\n}\n.search-tabs-category__counter {\n  color: #B3B3B3;\n  font-size: 12px;\n  font-weight: 400;\n  line-height: 14px;\n}\n.search-tabs-category__no-result {\n  margin-bottom: 60px;\n}',""]),c.exports=r.toString()},21503:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,".search-tabs {\n  border-bottom: 1px solid #C4C4C4;\n  padding-bottom: 20px;\n  margin-bottom: 20px;\n  max-width: 100vw;\n}\n@media (max-width: 991.98px) {\n  .search-tabs {\n    margin: 30px 0 10px;\n    padding-left: 15px;\n    padding-right: 15px;\n    border-bottom: none;\n  }\n  .search-tabs ::ng-deep .tabs--extra-small .tabs__item {\n    min-width: max-content;\n  }\n}",""]),c.exports=r.toString()},82663:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.search-title {\n  align-items: center;\n  border-bottom: 1px solid #C4C4C4;\n  display: flex;\n  justify-content: flex-start;\n  margin-bottom: 20px;\n}\n@media (max-width: 991.98px) {\n  .search-title {\n    padding: 0 15px;\n  }\n}\n@media (max-width: 767.98px) {\n  .search-title {\n    align-items: flex-start;\n    flex-direction: column;\n    border-bottom: none;\n  }\n  .search-title ::ng-deep .page-title {\n    margin-bottom: 0;\n  }\n}\n.search-title__title {\n  flex-shrink: 0;\n}\n.search-title__query {\n  color: #808080;\n  font-size: 20px;\n  font-weight: 500;\n  line-height: 23px;\n  margin-left: 10px;\n}\n@media (max-width: 767.98px) {\n  .search-title__query {\n    margin: 6px 0 20px;\n  }\n}\n.search-title__sorting {\n  margin-left: auto;\n  flex-shrink: 0;\n}\n@media (max-width: 767.98px) {\n  .search-title__sorting {\n    margin-left: 0;\n  }\n}",""]),c.exports=r.toString()},13093:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"@media (max-width: 991.98px) {\n  .logo {\n    height: 50px;\n  }\n}\n\n.menu-burger {\n  cursor: pointer;\n  margin-right: 10px;\n  position: relative;\n}\n@media (min-width: 992px) {\n  .menu-burger {\n    display: none;\n  }\n}",""]),c.exports=r.toString()},86789:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.lang__current {\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  color: #808080;\n  cursor: pointer;\n  font-size: 14px;\n  line-height: 20px;\n  padding: 17px 40px;\n  position: relative;\n}\n@media (min-width: 992px) {\n  .lang__current {\n    background: transparent;\n    box-shadow: none;\n    display: inline-block;\n    padding: 0;\n  }\n  .lang__current:after {\n    background: #0094FF;\n    border-radius: 0 0 4px 4px;\n    content: "";\n    display: none;\n    height: 4px;\n    position: absolute;\n    left: 0;\n    right: 20px;\n    top: calc(100% + 9px);\n    z-index: 2;\n  }\n  .is-open .lang__current {\n    color: #0094FF;\n  }\n  .is-open .lang__current:after {\n    display: block;\n  }\n}\n.lang__current img {\n  transition: transform 0.25s ease-in;\n}\n@media (min-width: 992px) {\n  .active .lang__current img {\n    transform: rotate(180deg);\n  }\n}\n.lang__item {\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  color: #333333;\n  font-size: 13px;\n  line-height: 15px;\n  margin: 0;\n  padding: 17px 40px;\n  cursor: pointer;\n}\n@media (min-width: 992px) {\n  .lang__item {\n    box-shadow: none;\n    padding: 0;\n  }\n  .lang__item:not(:last-of-type) {\n    margin-bottom: 10px;\n  }\n}\n.lang__item--active {\n  color: #0094FF;\n}\n\n.more-icon {\n  position: absolute;\n  right: 40px;\n  top: 50%;\n  transform: translateY(-50%);\n  transition: transform 0.25s ease-in;\n}\n.is-open .more-icon {\n  transform: translateY(-50%) rotate(180deg);\n}\n@media (min-width: 992px) {\n  .more-icon {\n    transform: none;\n    position: static;\n  }\n  .is-open .more-icon {\n    transform: rotate(180deg);\n  }\n}\n\n.submenu {\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07), inset 4px 0px 0px #004E94, inset 0 4px 0 rgba(0, 0, 0, 0.1);\n  overflow: hidden;\n  max-height: 0;\n  transition: max-height 0.25s ease-in;\n}\n@media (min-width: 992px) {\n  .submenu {\n    background-color: #fff;\n    border-radius: 0 0 8px 8px;\n    box-shadow: 0 16px 16px rgba(0, 0, 0, 0.1), 0 0 8px rgba(0, 0, 0, 0.15);\n    display: none;\n    min-width: 120px;\n    max-height: unset;\n    padding: 20px 10px;\n    position: absolute;\n    transform: translateX(-15px);\n    top: 100%;\n    z-index: 1;\n  }\n}\n.is-open > .submenu {\n  max-height: 1000px;\n}\n@media (min-width: 992px) {\n  .is-open > .submenu {\n    display: block;\n    max-height: unset;\n  }\n}',""]),c.exports=r.toString()},52986:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,".slider-input-tabs {\n  display: flex;\n  padding: 10px 0;\n}\n.slider-input-tabs__tabs + * {\n  margin-left: 40px;\n}\n.slider-input-tabs__slider {\n  flex: 1;\n  min-width: 100px;\n}\n\n:host {\n  width: 100%;\n}",""]),c.exports=r.toString()},66984:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n:host::ng-deep .ngx-slider {\n  margin: 0;\n  top: 8px;\n}\n:host::ng-deep .ngx-slider:after, :host::ng-deep .ngx-slider:before {\n  border-bottom: 2px solid #999999;\n  content: "";\n  display: block;\n  position: absolute;\n  top: -2px;\n  width: 15px;\n  height: 4px;\n}\n:host::ng-deep .ngx-slider:before {\n  border-radius: 0 0 0 10px;\n  left: -14px;\n}\n:host::ng-deep .ngx-slider:after {\n  border-radius: 0 0 10px 0;\n  right: -14px;\n}\n:host::ng-deep .ngx-slider .ngx-slider-bubble {\n  display: none;\n}\n:host::ng-deep .ngx-slider .ngx-slider-bar {\n  height: 2px;\n  border-radius: 0;\n  background-color: #999999;\n}\n:host::ng-deep .ngx-slider .ngx-slider-pointer {\n  width: 16px;\n  height: 16px;\n  top: -8px;\n  background-color: #fff;\n  box-shadow: 0 16px 16px rgba(0, 0, 0, 0.1), 0 0 8px rgba(0, 0, 0, 0.15);\n}\n:host::ng-deep .ngx-slider .ngx-slider-pointer::after {\n  width: 6px;\n  height: 6px;\n  top: 5px;\n  left: 5px;\n  background-color: #E5E5E5;\n}\n:host::ng-deep .ngx-slider .ngx-slider-pointer:hover:after {\n  background-color: #3C91DC;\n}\n:host::ng-deep .ngx-slider .ngx-slider-bar.ngx-slider-selection {\n  background-color: #3C91DC;\n}\n:host::ng-deep .ngx-slider .ngx-slider-pointer.ngx-slider-active:after {\n  background-color: #3C91DC;\n}\n\n.slider {\n  position: relative;\n}\n.slider__content-wrapper {\n  height: 48px;\n  position: relative;\n  border-radius: 7px;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  background-color: #F2F2F2;\n  overflow: hidden;\n  border: 1px solid transparent;\n}\n.slider__placeholder {\n  position: absolute;\n  top: 8px;\n  left: 16px;\n  font-size: 10px;\n  line-height: 12px;\n  color: #1A1A1A;\n  opacity: 0.4;\n}\n.slider__input {\n  border: none;\n  background: transparent;\n  font-size: 13px;\n  line-height: 15px;\n  color: #1A1A1A;\n  padding: 0 0 0 16px;\n  min-width: 50px;\n}\n.slider__input--last {\n  text-align: end;\n  padding: 0 16px 0 0;\n}\n.slider__input::placeholder {\n  font-size: 13px;\n  line-height: 15px;\n  color: #1A1A1A;\n  opacity: 0.4;\n}\n.slider__options {\n  font-size: 10px;\n  line-height: 12px;\n  color: #1A1A1A;\n  opacity: 0.4;\n}\n.slider__options:last-of-type {\n  padding-right: 16px;\n}\n.slider__line {\n  position: absolute;\n  left: 15px;\n  right: 15px;\n  bottom: 0;\n}\n.slider--with-placeholder .slider__input {\n  position: relative;\n  top: 4px;\n}\n.slider--single::ng-deep .ngx-slider:before {\n  border-color: #3C91DC;\n}\n.slider--active .slider__content-wrapper {\n  border-color: #3C91DC;\n  background: white;\n}\n.slider--active__placeholder {\n  color: #3C91DC;\n}\n.slider--active::ng-deep .ngx-slider::before {\n  display: none;\n}\n.slider--active::ng-deep .ngx-slider::after {\n  display: none;\n}\n.slider--active::ng-deep .ngx-slider .ngx-slider-bar {\n  display: none;\n}\n.slider--active::ng-deep .ngx-slider .ngx-slider-bar.ngx-slider-selection {\n  display: block;\n  background-color: #3C91DC;\n}\n.slider--has-value::ng-deep .ngx-slider .ngx-slider-span.ngx-slider-pointer:after {\n  background-color: #3C91DC !important;\n}\n.slider--active.slider--single .slider__content-wrapper::before {\n  display: block !important;\n  height: 1px;\n}\n.slider--active.slider--single .ngx-slider:before {\n  display: block;\n}\n.slider--active.slider--single .ngx-slider:after {\n  border-color: transparent;\n}\n.slider--error::ng-deep .slider__content-wrapper {\n  background-color: #FFEBEB;\n}\n.slider--error::ng-deep .ngx-slider:before {\n  border-color: #C2002F;\n}\n.slider--error::ng-deep .ngx-slider:after {\n  border-color: #FFC7C7;\n}\n.slider--error::ng-deep .ngx-slider .ngx-slider-bar {\n  background-color: #FFC7C7 !important;\n}\n.slider--error::ng-deep .ngx-slider .ngx-slider-selection {\n  background-color: #C2002F !important;\n}\n.slider--error::ng-deep .ngx-slider .ngx-slider-pointer.ngx-slider-active:after {\n  background-color: #C2002F !important;\n}\n.slider--error::ng-deep .ngx-slider .ngx-slider-pointer:hover:after {\n  background-color: #C2002F !important;\n}\n.slider--active.slider--error .slider__content-wrapper {\n  border-color: #C2002F !important;\n}\n.slider--disabled::ng-deep .ngx-slider .ngx-slider-pointer {\n  display: none !important;\n}\n.slider--disabled::ng-deep .ngx-slider .ngx-slider-selection {\n  display: none !important;\n}',""]),c.exports=r.toString()},10901:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.sort {\n  display: flex;\n}\n.sort--disabled .sort__value,\n.sort--disabled .sort__title {\n  color: #808080;\n}\n.sort--disabled .sort__item {\n  padding-right: 6px;\n}\n.sort__item {\n  display: flex;\n  padding-right: 20px;\n}\n.sort__item:not(:last-of-type) {\n  margin-right: 30px;\n}\n@media (max-width: 575.98px) {\n  .sort__item {\n    white-space: nowrap;\n  }\n}\n.sort__title {\n  font-size: 14px;\n  line-height: 20px;\n  color: #808080;\n  padding-right: 5px;\n}\n.sort__value {\n  color: #1A1A1A;\n  font-size: 14px;\n  line-height: 20px;\n  position: relative;\n}\n.sort__value-selected {\n  cursor: pointer;\n  position: relative;\n}\n.sort__value-selected.is-active {\n  color: #0094FF;\n}\n.sort__value-selected.is-active:after {\n  background-color: #0094FF;\n  border-radius: 0 0 4px 4px;\n  content: "";\n  height: 4px;\n  position: absolute;\n  top: calc(100% + 12px);\n  left: 0;\n  right: 0;\n  z-index: 4;\n}\n.sort__value-icon {\n  position: absolute;\n  right: -20px;\n  top: 50%;\n  transform: translateY(-50%);\n}\n.sort__list-wrapper {\n  background: #ffffff;\n  box-shadow: 0 16px 16px rgba(0, 0, 0, 0.1), 0 0 8px rgba(0, 0, 0, 0.15);\n  border-radius: 7px;\n  padding: 20px 30px;\n  position: absolute;\n  top: calc(100% + 10px);\n  left: 50%;\n  transform: translateX(-50%);\n  min-width: calc(100% + 30px);\n  z-index: 3;\n}\n.sort__list-icon {\n  color: #808080;\n  display: block;\n  margin-left: 4px;\n  position: relative;\n  top: -1px;\n}\n.sort__list-item {\n  color: #808080;\n  font-size: 13px;\n  line-height: 18px;\n}\n.sort__list-item:not(:last-of-type) {\n  margin-bottom: 15px;\n}\n.sort__list-item.is-active {\n  color: #3C91DC;\n}\n.sort__list-item.is-active .sort__list-icon {\n  color: #3C91DC;\n}\n.sort__list-item-value {\n  cursor: pointer;\n  display: flex;\n  align-items: center;\n  white-space: nowrap;\n}',""]),c.exports=r.toString()},96741:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.status-item__row {\n  display: flex;\n  align-items: center;\n}\n.status-item__date-icon {\n  transform: rotate(90deg);\n  display: block;\n  margin-right: 8px;\n  color: #B3B3B3;\n}\n.status-item__date-text {\n  font-size: 11px;\n  line-height: 13px;\n  color: #999999;\n}\n.status-item__status-text {\n  font-size: 14px;\n  line-height: 20px;\n  color: #808080;\n}\n.in-process .status-item__status-text {\n  color: #E05E00;\n}\n.success .status-item__status-text {\n  color: #00C000;\n}\n.error .status-item__status-text {\n  color: #4D4D4D;\n}\n.status-item__status-icon {\n  display: block;\n  margin-right: 8px;\n  color: #999999;\n}\n.in-process .status-item__status-icon {\n  color: #E05E00;\n}\n.success .status-item__status-icon {\n  color: #00C000;\n}\n.error .status-item__status-icon {\n  color: #4D4D4D;\n}",""]),c.exports=r.toString()},5359:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.order-stepper {\n  padding: 15px 20px 50px;\n}\n.order-stepper__title {\n  font-size: 14px;\n  line-height: 20px;\n  color: #1A1A1A;\n  margin: 0 0 12px;\n}\n.order-stepper__button {\n  font-size: 14px;\n  line-height: 20px;\n  color: #3C91DC;\n  cursor: pointer;\n  margin: 0 0 12px;\n}\n.order-stepper__button-icon {\n  line-height: 0;\n  color: #3C91DC;\n  transition: transform 0.25s;\n}\n.is-open .order-stepper__button-icon {\n  transform: rotate(180deg);\n}\n.order-stepper__list {\n  display: grid;\n  grid-template-columns: 1fr;\n  grid-row-gap: 12px;\n}\n.order-stepper .scrollbar {\n  max-height: 400px;\n}\n@media (min-width: 576px) and (max-width: 1199.98px) {\n  .order-stepper .scrollbar {\n    max-height: 490px;\n  }\n}",""]),c.exports=r.toString()},82281:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.switcher {\n  position: relative;\n  margin-bottom: 17px;\n}\n.switcher input {\n  visibility: hidden;\n  z-index: -1;\n  position: absolute;\n  pointer-events: none;\n}\n.switcher input:checked + .switcher__title:before {\n  background-color: #3C91DC;\n}\n.switcher input:checked + .switcher__title:after {\n  left: 18px;\n}\n.switcher__title {\n  color: #4D4D4D;\n  font-size: 13px;\n  line-height: 15px;\n  padding-left: 60px;\n  display: inline-block;\n}\n.switcher__title--small {\n  padding-left: 40px;\n}\n.switcher__title:before, .switcher__title:after {\n  background-color: #CCCCCC;\n  border-radius: 19px;\n  content: "";\n  width: 40px;\n  height: 24px;\n  position: absolute;\n  left: 0;\n  top: 50%;\n  transform: translateY(-50%);\n  cursor: pointer;\n}\n.switcher__title:after {\n  background-color: #fff;\n  border-radius: 50%;\n  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);\n  width: 20px;\n  height: 20px;\n  left: 2px;\n  transition: left 0.25s ease-in;\n}',""]),c.exports=r.toString()},64505:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.tabs {\n  display: flex;\n  height: 48px;\n}\n@media (max-width: 991.98px) {\n  .tabs {\n    height: 36px;\n  }\n}\n.tabs__item {\n  background-color: #fff;\n  border: 1px solid #E5E5E5;\n  color: #4D4D4D;\n  cursor: pointer;\n  display: flex;\n  flex: 1 1 auto;\n  font-weight: 500;\n  font-size: 15px;\n  justify-content: center;\n  line-height: 18px;\n  min-width: 78px;\n  padding: 15px;\n  white-space: nowrap;\n}\n@media (max-width: 991.98px) {\n  .tabs__item {\n    padding: 9px 20px;\n  }\n}\n.tabs__item + .tabs__item {\n  border-left: none;\n}\n.tabs__item:first-of-type {\n  border-radius: 10px 0 0 10px;\n}\n.tabs__item:last-of-type {\n  border-radius: 0 10px 10px 0;\n}\n.tabs__item:only-child {\n  border-radius: 10px;\n}\n.tabs__item--selected {\n  background-color: #3C91DC;\n  border-color: #3C91DC !important;\n  color: #fff;\n}\n.tabs__item--selected .tabs__subtext {\n  color: #fff;\n}\n.tabs__item--disabled {\n  color: #B3B3B3;\n  cursor: default;\n}\n.tabs__subtext {\n  color: #4D4D4D;\n  opacity: 0.4;\n  margin-left: 3px;\n}\n.tabs--separated .tabs__item:not(:last-of-type) {\n  margin-right: 24px;\n}\n.tabs--small {\n  height: 36px;\n}\n.tabs--small .tabs__item {\n  padding: 9px 20px;\n}\n.tabs--extra-small {\n  display: inline-flex;\n  height: 28px;\n}\n.tabs--extra-small .tabs__item {\n  padding: 4px 27px;\n  font-size: 12px;\n}\n@media (max-width: 991.98px) {\n  .tabs--extra-small {\n    width: 100%;\n  }\n  .tabs--extra-small .tabs__item {\n    width: 50%;\n  }\n}",""]),c.exports=r.toString()},48188:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.text-block {\n  display: grid;\n  grid-row-gap: 4px;\n}\n.text-block--inline {\n  display: flex;\n  align-items: center;\n}\n.text-block--inline .text-block__title {\n  margin-right: 20px;\n}\n.text-block__content::ng-deep span,\n.text-block__content::ng-deep p {\n  color: #808080;\n  font-size: 14px !important;\n  line-height: 20px !important;\n}",""]),c.exports=r.toString()},36962:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n:host {\n  font-size: 14px;\n  line-height: 20px;\n  color: #808080;\n}",""]),c.exports=r.toString()},79650:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n:host {\n  font-size: 14px;\n  line-height: 20px;\n  color: #1A1A1A;\n}",""]),c.exports=r.toString()},60341:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.title-info {\n  display: flex;\n  align-items: center;\n  font-size: 12px;\n  line-height: 14px;\n}\n.title-info--warning {\n  color: #E05E00;\n}\n.title-info--warning .title-info__icon {\n  color: #E05E00;\n}\n.title-info--default {\n  color: #1C73C2;\n}\n.title-info--default .title-info__icon {\n  color: #1C73C2;\n}\n@media (max-width: 767.98px) {\n  .title-info {\n    padding: 32px 0 12px;\n  }\n}\n.title-info__icon {\n  margin-right: 5px;\n}",""]),c.exports=r.toString()},2889:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.toggle-card {\n  position: relative;\n}\n.toggle-card__header {\n  height: 50px;\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  padding: 0 20px;\n  border-top-right-radius: 14px;\n  border-top-left-radius: 14px;\n}\n.toggle-card__header--expanded {\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n}\n.toggle-card__header-left {\n  display: flex;\n  align-items: center;\n}\n.toggle-card__icon {\n  margin-right: 6px;\n}\n.toggle-card__icon::ng-deep svg-icon-sprite {\n  display: flex;\n}\n.toggle-card--secondary .toggle-card__header {\n  background: linear-gradient(0deg, rgba(242, 242, 242, 0.5), rgba(242, 242, 242, 0.5)), #FFFFFF;\n}\n.toggle-card--secondary .toggle-card__header--expanded {\n  box-shadow: none;\n}\n.toggle-card--grey .toggle-card__header {\n  background: #F2F2F2;\n}\n.toggle-card--grey .toggle-card__header--expanded {\n  box-shadow: none;\n}",""]),c.exports=r.toString()},87443:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.user-menu-list {\n  box-shadow: 0 16px 16px rgba(0, 0, 0, 0.1), 0 0 8px rgba(0, 0, 0, 0.15);\n}\n.user-menu-list:before {\n  content: "";\n  display: block;\n}\n.user-menu-list__title {\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  text-transform: uppercase;\n  color: #004E94;\n  padding: 17px 0 17px 0;\n}\n@media (min-width: 992px) {\n  .user-menu-list__title {\n    padding-left: 35px;\n  }\n}\n.user-menu-list__title-icon {\n  position: absolute;\n  right: 35px;\n  top: 13px;\n  color: #3C91DC;\n  cursor: pointer;\n}\n.user-menu-list__item {\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  padding: 0 20px;\n}\n.user-menu-list__icon {\n  position: absolute;\n  left: 0;\n  top: 50%;\n  transform: translateY(-50%);\n}\n:host ::ng-deep .user-menu-list__link a {\n  font-size: 14px;\n  line-height: 16px;\n  color: #4D4D4D;\n  display: block;\n  padding: 17px 0 17px 28px;\n  position: relative;\n  text-transform: uppercase;\n  cursor: pointer;\n}\n:host ::ng-deep .user-menu-list__link a:hover {\n  color: #3C91DC;\n}\n:host ::ng-deep .user-menu-list__link a:hover .user-menu-list__icon {\n  color: #3C91DC;\n}\n@media (min-width: 992px) {\n  :host ::ng-deep .user-menu-list__link a {\n    font-size: 14px;\n    line-height: 16px;\n  }\n}\n\n.mobile {\n  display: flex;\n}\n@media (min-width: 992px) {\n  .mobile {\n    display: none;\n  }\n}',""]),c.exports=r.toString()},47789:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.error {\n  display: flex;\n  justify-content: flex-start;\n  align-items: baseline;\n}\n.error:not(:last-of-type) {\n  margin-bottom: 14px;\n}\n.error__text {\n  margin-left: 10px;\n  font-size: 12px;\n  line-height: 14px;\n  color: #AF002A;\n}\n.error__icon {\n  color: #AF002A;\n  width: 18px;\n  height: 18px;\n}\n\n.isCommerce .error:not(:last-of-type) {\n  margin-bottom: 4px;\n}\n.isCommerce .error__text {\n  font-size: 12px;\n  line-height: 16px;\n  margin-left: 8px;\n}\n.isCommerce .error__icon {\n  width: 16px;\n  height: 16px;\n}",""]),c.exports=r.toString()},35812:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.tooltip__container {\n  border-radius: 7px;\n  padding: 10px 20px;\n  background: white;\n  position: relative;\n  box-shadow: 0 16px 16px rgba(0, 0, 0, 0.1), 0 0 8px rgba(0, 0, 0, 0.15);\n  display: flex;\n  align-items: center;\n}\n.tooltip__container:after {\n  content: "";\n  display: block;\n  width: 10px;\n  height: 10px;\n  border-radius: 2px;\n  background-color: white;\n  position: absolute;\n  top: -1px;\n  transform: rotate(45deg) translateX(-50%);\n  left: 50%;\n}\n@media (max-width: 991.98px) {\n  .tooltip__container:after {\n    display: none;\n  }\n}\n.tooltip__content {\n  width: 210px;\n  font-size: 12px;\n  line-height: 14px;\n  color: #B3B3B3;\n  margin: 0 0 0 5px;\n}',""]),c.exports=r.toString()},49984:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"",""]),c.exports=r.toString()},22992:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.attachments {\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  grid-gap: 10px;\n  background: linear-gradient(0deg, rgba(242, 242, 242, 0.5), rgba(242, 242, 242, 0.5)), #FFFFFF;\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.07);\n  padding: 20px;\n}\n@media (max-width: 1199.98px) {\n  .attachments {\n    grid-template-columns: 1fr 1fr;\n  }\n}\n@media (max-width: 575.98px) {\n  .attachments {\n    grid-template-columns: 1fr;\n  }\n}",""]),c.exports=r.toString()},30764:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.card-attachments {\n  grid-area: attach;\n  border-radius: 14px;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n}\n.card-attachments--inline {\n  border-radius: 0;\n}\n.card-attachments__header {\n  display: flex;\n  align-items: center;\n  -moz-column-gap: 5px;\n       column-gap: 5px;\n}\n.card-attachments__body {\n  background: linear-gradient(0deg, rgba(242, 242, 242, 0.5), rgba(242, 242, 242, 0.5)), #FFFFFF;\n}\n.card-attachments__input {\n  padding: 20px 20px 0;\n}",""]),c.exports=r.toString()},66048:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.support-attach-file {\n  position: relative;\n}\n.support-attach-file__content {\n  align-items: center;\n  background: #FFFFFF;\n  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 7px;\n  padding-right: 16px;\n  overflow: hidden;\n}\n.support-attach-file__file-delete, .support-attach-file__file-error {\n  display: grid;\n  align-content: center;\n  justify-content: center;\n  background: #FFFFFF;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 9px;\n  width: 18px;\n  height: 18px;\n  position: absolute;\n  top: -5px;\n  right: -5px;\n  cursor: pointer;\n}\n.support-attach-file__file-delete:hover {\n  color: #0094FF;\n}\n.support-attach-file__file-error {\n  color: #C2002F;\n}\n.support-attach-file__error {\n  color: #C2002F;\n  font-size: 11px;\n  line-height: 13px;\n}\n.support-attach-file__info {\n  padding: 16px 9px;\n}\n.support-attach-file__name {\n  font-weight: 500;\n  font-size: 12px;\n  line-height: 14px;\n  color: #4D4D4D;\n  margin-bottom: 3px;\n  word-break: break-all;\n}\n.support-attach-file__size {\n  margin-right: 3px;\n  font-size: 11px;\n  line-height: 13px;\n  color: #999999;\n}\n.support-attach-file:hover .support-attach-file__content {\n  box-shadow: 0 16px 16px rgba(0, 0, 0, 0.1), 0 0 8px rgba(0, 0, 0, 0.15);\n}\n.support-attach-file:hover .support-attach-file__file-error {\n  display: none;\n}\n.support-attach-file:hover .support-attach-file__name {\n  color: #1C73C2;\n}\n.support-attach-file:hover .support-attach-file__icon {\n  color: #1C73C2;\n}",""]),c.exports=r.toString()},76996:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.attachment-buttons {\n  background: linear-gradient(0deg, rgba(242, 242, 242, 0.5), rgba(242, 242, 242, 0.5)), #FFFFFF;\n  padding: 20px 20px 30px;\n  display: grid;\n  grid-template-columns: repeat(3, 1fr);\n  grid-template-rows: 1fr;\n  grid-column-gap: 10px;\n  grid-row-gap: 10px;\n  align-items: center;\n  border-radius: 0 0 14px 14px;\n}\n.attachment-buttons--inline {\n  border-radius: 0;\n}\n@media (max-width: 1199.98px) {\n  .attachment-buttons {\n    grid-template-columns: 1fr 1fr;\n  }\n}\n@media (max-width: 575.98px) {\n  .attachment-buttons {\n    grid-template-columns: 1fr;\n  }\n}\n.attachment-buttons__add {\n  background: #FFFFFF;\n  border-radius: 7px;\n  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);\n  color: #3C91DC;\n  font-weight: 500;\n  font-size: 12px;\n  height: 100%;\n  min-height: 48px;\n  line-height: 14px;\n  padding: 8px 16px;\n  position: relative;\n}\n.attachment-buttons__add-input {\n  cursor: pointer;\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  opacity: 0;\n  width: 100%;\n}\n.attachment-buttons__add-input:disabled {\n  cursor: default;\n}\n.attachment-buttons__clear {\n  height: 100%;\n  min-height: 48px;\n}\n.attachment-buttons__info {\n  height: 100%;\n  font-size: 12px;\n  line-height: 14px;\n  color: #1A1A1A;\n  opacity: 0.4;\n}\n.attachment-buttons__info--wide {\n  grid-column: 1/4;\n}\n@media (min-width: 576px) and (max-width: 767.98px) {\n  .attachment-buttons__info {\n    width: 267px;\n  }\n}\n@media (max-width: 575.98px) {\n  .attachment-buttons__info {\n    width: 100%;\n  }\n}\n.attachment-buttons__icon {\n  color: #3C91DC;\n}",""]),c.exports=r.toString()},10715:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.empty-card {\n  background: #FFFFFF;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 14px;\n  padding: 40px;\n}\n@media (max-width: 767.98px) {\n  .empty-card {\n    padding: 50px 40px;\n  }\n}\n@media (max-width: 575.98px) {\n  .empty-card {\n    padding: 33px 20px;\n  }\n}\n.empty-card__icon {\n  margin-right: 40px;\n  height: 96px;\n  width: 96px;\n  flex-shrink: 0;\n}\n@media (max-width: 767.98px) {\n  .empty-card__icon {\n    height: 64px;\n    width: 64px;\n  }\n}\n@media (max-width: 575.98px) {\n  .empty-card__icon {\n    height: 48px;\n    width: 48px;\n  }\n}\n.empty-card__text {\n  font-weight: 500;\n  font-size: 34px;\n  line-height: 40px;\n  color: #4D4D4D;\n  margin-bottom: 8px;\n}\n@media (max-width: 767.98px) {\n  .empty-card__text {\n    font-weight: 500;\n    font-size: 20px;\n    line-height: 23px;\n  }\n}\n@media (max-width: 575.98px) {\n  .empty-card__text {\n    font-weight: 500;\n    font-size: 14px;\n    line-height: 16px;\n  }\n}\n.empty-card__subtext {\n  font-weight: 500;\n  font-size: 24px;\n  line-height: 28px;\n  color: #808080;\n  margin-top: 4px;\n}\n.empty-card__subtext-params {\n  font-weight: 500;\n  font-size: 24px;\n  line-height: 28px;\n  color: #4D4D4D;\n}\n.empty-card__button {\n  margin-top: 8px;\n}\n.empty-card__button-icon {\n  color: #1C73C2;\n  margin-right: 6px;\n}\n.empty-card__button:hover svg-icon-sprite {\n  color: #fff;\n}\n.empty-card__description {\n  font-weight: 500;\n  font-size: 16px;\n  line-height: 19px;\n  color: #808080;\n  margin-top: 20px;\n}",""]),c.exports=r.toString()},68321:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.carousel {\n  height: 100%;\n  position: relative;\n}\n\n.keen-slider {\n  height: 100%;\n  display: flex;\n}\n.keen-slider__dots {\n  display: none;\n  position: relative;\n  padding: 15px 0;\n  text-align: center;\n}\n@media (max-width: 767.98px) {\n  .keen-slider__dots {\n    display: block;\n  }\n}\n.keen-slider__dots--hidden {\n  display: none;\n}\n.keen-slider__dot {\n  background-color: #CCCCCC;\n  border-radius: 50%;\n  cursor: pointer;\n  display: inline-block;\n  width: 8px;\n  height: 8px;\n}\n.keen-slider__dot + .keen-slider__dot {\n  margin-left: 5px;\n}\n.keen-slider__dot.active {\n  background-color: #999999;\n}",""]),c.exports=r.toString()},58108:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.time-carousel {\n  position: relative;\n  height: 320px;\n}\n@media (max-width: 767.98px) {\n  .time-carousel {\n    height: 240px;\n  }\n}\n.time-carousel__slide {\n  background: #000;\n  width: 100%;\n  height: 100%;\n  opacity: 0;\n  position: absolute;\n  top: 0;\n}\n.time-carousel__slide > img {\n  opacity: 0;\n  width: 100%;\n}\n.controls-outside .time-carousel__slide {\n  border-radius: 14px;\n  height: calc(100% - 50px);\n  overflow: hidden;\n}\n.time-carousel__slide--middle {\n  box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px rgba(0, 0, 0, 0.2), 0px 4px 8px rgba(0, 0, 0, 0.2);\n}\n.time-carousel__slide-image {\n  background-repeat: no-repeat;\n  background-size: cover;\n  background-position: center;\n  opacity: 0.7;\n  position: absolute;\n  top: 0;\n  right: 0;\n  left: 0;\n  bottom: 0;\n}\n.time-carousel__slide-image--middle {\n  opacity: 0.9;\n  background-position: right;\n}\n@media (max-width: 575.98px) {\n  .time-carousel__slide-image--middle {\n    right: -86px;\n  }\n}\n.time-carousel__slide-content {\n  background-size: cover;\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n}\n.time-carousel__text {\n  align-items: flex-end;\n  color: #fff;\n  text-align: right;\n  padding-top: 60px;\n  min-width: 320px;\n}\n.align-left .time-carousel__text {\n  align-items: flex-start;\n  text-align: left;\n}\n.time-carousel__text--middle {\n  background: rgba(255, 255, 255, 0.75);\n  -webkit-backdrop-filter: blur(30px);\n          backdrop-filter: blur(30px);\n  border-radius: 0 14px 14px 0;\n  width: max-content;\n  max-width: 100%;\n  margin-top: 40px;\n  padding: 10px 30px 10px 40px;\n  margin-left: -15px;\n}\n@media (max-width: 767.98px) {\n  .time-carousel__text--middle {\n    padding: 8px 15px 8px 20px;\n  }\n}\n@media (max-width: 575.98px) {\n  .time-carousel__text--middle {\n    margin-top: 25px;\n  }\n}\n.time-carousel__text-icon {\n  width: 64px;\n  margin-right: 15px;\n}\n@media (max-width: 575.98px) {\n  .time-carousel__text-icon {\n    width: 48px;\n    margin-right: 10px;\n  }\n}\n.time-carousel__text-icon--background {\n  background: #004582;\n  border-radius: 32px;\n  background-size: 64px;\n  width: 64px;\n  height: 64px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  margin-right: 15px;\n}\n@media (max-width: 767.98px) {\n  .time-carousel__text-icon--background {\n    width: 32px;\n    height: 32px;\n  }\n}\n.time-carousel__text-icon--middle {\n  margin-right: 0;\n  width: 40px;\n}\n@media (max-width: 767.98px) {\n  .time-carousel__text-icon--middle {\n    width: 24px;\n  }\n}\n.time-carousel__text-title {\n  font-size: 60px;\n  line-height: 70px;\n  word-break: break-word;\n  max-width: 85%;\n}\n@media (max-width: 767.98px) {\n  .time-carousel__text-title {\n    font-size: 24px;\n    line-height: 28px;\n  }\n}\n.align-left .time-carousel__text-title {\n  font-size: 48px;\n  line-height: 56px;\n}\n@media (max-width: 767.98px) {\n  .align-left .time-carousel__text-title {\n    font-size: 24px;\n    line-height: 28px;\n  }\n}\n.time-carousel__text-title--middle {\n  font-weight: 500;\n  font-size: 24px;\n  line-height: 28px;\n  color: #000;\n  text-transform: uppercase;\n  margin-bottom: 5px;\n}\n@media (max-width: 767.98px) {\n  .time-carousel__text-title--middle {\n    font-size: 16px;\n    line-height: 19px;\n    margin-bottom: 2px;\n  }\n}\n@media (max-width: 575.98px) {\n  .time-carousel__text-title--middle {\n    max-width: 75%;\n  }\n}\n.time-carousel__text-subtitle {\n  font-weight: 500;\n  font-size: 24px;\n  line-height: 28px;\n  word-break: break-word;\n  max-width: 85%;\n}\n@media (max-width: 767.98px) {\n  .time-carousel__text-subtitle {\n    font-size: 18px;\n    line-height: 24px;\n  }\n}\n.time-carousel__text-content {\n  font-size: 14px;\n  line-height: 20px;\n  width: 65%;\n  min-width: 190px;\n  word-break: break-word;\n}\n.time-carousel__text-content--middle {\n  font-size: 12px;\n  line-height: 14px;\n  color: #000;\n}\n@media (max-width: 767.98px) {\n  .time-carousel__text-content--middle {\n    font-size: 10px;\n    line-height: 12px;\n  }\n}\n.time-carousel__progress {\n  position: absolute;\n  bottom: 20px;\n  right: 0;\n  left: 0;\n  text-align: center;\n}\n.time-carousel__progress-inner {\n  justify-content: center;\n}\n.time-carousel__progress-inner--product {\n  margin-left: 525px;\n}\n@media (max-width: 991.98px) {\n  .time-carousel__progress-inner--product {\n    margin-left: 350px;\n  }\n}\n@media (max-width: 767.98px) {\n  .time-carousel__progress-inner--product {\n    margin-left: 0;\n    margin-bottom: 45px;\n  }\n}\n.time-carousel__progress-item {\n  cursor: pointer;\n  flex-grow: 1;\n  height: 20px;\n  max-width: 160px;\n  position: relative;\n}\n.time-carousel__progress-item:before {\n  background-color: #F2F2F2;\n  border: 0;\n  border-radius: 2px;\n  content: "";\n  height: 2px;\n  position: absolute;\n  top: 50%;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  transform: translateY(-50%);\n}\n.time-carousel__progress-item + .time-carousel__progress-item {\n  margin-left: 30px;\n}\n@media (max-width: 767.98px) {\n  .time-carousel__progress-item + .time-carousel__progress-item {\n    margin-left: 10px;\n  }\n}\n.time-carousel__progress-item-bar {\n  background-color: #0094FF;\n  border: 0;\n  border-radius: 1px;\n  height: 4px;\n  position: absolute;\n  left: 0;\n  right: 100%;\n  top: 50%;\n  transform: translateY(-50%);\n}',""]),c.exports=r.toString()},86200:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.custom-tooltip {\n  z-index: 1;\n  position: relative;\n}\n.custom-tooltip--center .custom-tooltip__wrapper {\n  left: 50%;\n  transform: translateX(-50%);\n}\n.custom-tooltip--right .custom-tooltip__wrapper {\n  transform: translateX(-85%);\n}\n.custom-tooltip__wrapper {\n  z-index: 100;\n  padding: 20px;\n  display: none;\n  top: 16px;\n  position: absolute;\n}\n.custom-tooltip__wrapper:hover {\n  display: block;\n}\n@media (max-width: 767.98px) {\n  .custom-tooltip__wrapper:hover {\n    display: none;\n  }\n}\n.custom-tooltip__item {\n  cursor: pointer;\n}\n.custom-tooltip__item:hover + .custom-tooltip__wrapper {\n  display: block;\n}\n@media (max-width: 991.98px) {\n  .custom-tooltip__item:hover + .custom-tooltip__wrapper {\n    display: none;\n  }\n}",""]),c.exports=r.toString()},30906:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,'/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.tooltip-content {\n  border-radius: 7px;\n  padding: 10px 20px;\n  background: white;\n  position: relative;\n  box-shadow: 0 16px 16px rgba(0, 0, 0, 0.1), 0 0 8px rgba(0, 0, 0, 0.15);\n  display: flex;\n  align-items: center;\n}\n.tooltip-content:after {\n  content: "";\n  display: block;\n  width: 10px;\n  height: 10px;\n  border-radius: 2px;\n  background-color: white;\n  position: absolute;\n  top: -1px;\n  transform: rotate(45deg) translateX(-50%);\n  left: 50%;\n}\n@media (max-width: 991.98px) {\n  .tooltip-content:after {\n    display: none;\n  }\n}\n.tooltip-content__content {\n  width: 210px;\n  font-size: 12px;\n  line-height: 14px;\n  color: #B3B3B3;\n  margin: 0 0 0 5px;\n}\n.tooltip-content__icon {\n  color: #3C91DC;\n}',""]),c.exports=r.toString()},39563:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.divider {\n  background-color: #C4C4C4;\n  margin: 30px 0;\n  border: 0;\n  height: 1px;\n}",""]),c.exports=r.toString()},47185:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.hover-slider {\n  margin: 0 -8px;\n}\n\n.slide {\n  padding: 8px;\n  flex: 1 0 auto;\n}\n.slide__content {\n  background: no-repeat bottom;\n  background-size: cover;\n  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.2);\n  border-radius: 14px;\n  min-height: 240px;\n  height: 100%;\n}\n.slide__content-title {\n  text-align: center;\n  padding-top: 25px;\n  font-weight: 500;\n  font-size: 14px;\n  line-height: 16px;\n  color: #4D4D4D;\n  text-transform: uppercase;\n}\n.slide__content-subtitle {\n  text-align: center;\n  font-size: 13px;\n  line-height: 15px;\n  color: #999999;\n  margin-top: 4px;\n}\n.slide__chip {\n  position: absolute;\n  bottom: 15px;\n  left: 18px;\n  right: 18px;\n}\n.slide__chip-item {\n  display: inline-block;\n  background: #D0E9FF;\n  border-radius: 16px;\n  padding: 7px;\n  font-size: 12px;\n  line-height: 14px;\n  color: #1C73C2;\n}\n.slide__chip-item:hover {\n  text-decoration: none;\n  background: #3C91DC;\n  color: white;\n}\n.slide__chip-item + .slide__chip-item {\n  margin-left: 4px;\n}\n\n.keen-slider__arrow:hover > * {\n  color: #fff;\n}\n@media (max-width: 767.98px) {\n  .keen-slider__arrow {\n    display: none;\n  }\n}\n\n.is-product {\n  filter: grayscale(100%);\n}\n.is-product:hover {\n  filter: grayscale(0);\n}\n.is-product:hover .hover-slider__content-title {\n  color: #1C73C2;\n}",""]),c.exports=r.toString()},90233:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"/* Grey colors palette */\n/* Colors with opacity */\n/* Corporate colors palette */\n/* Primary colors palette */\n/* Errors colors palette */\n/* Success color */\n/* EY colors */\n/* Separator */\n/* RGBA colors */\n/* Box-shadow */\n/* Background */\n/* Color classes */\n.error-base-color {\n  color: #C2002F;\n}\n\n.page-title {\n  text-transform: capitalize;\n  font-weight: 500;\n  font-size: 24px;\n  line-height: 28px;\n  color: #1A1A1A;\n  margin: 30px 0;\n}\n.page-title.no-margin {\n  margin: 0;\n}",""]),c.exports=r.toString()},59543:(c,g,i)=>{var n=i(8564),r=i(98557)(n);r.push([c.id,"",""]),c.exports=r.toString()}},c=>{c.O(0,["vendor"],()=>{return n=36379,c(c.s=n);var n});c.O()}]);