import{a as Pt,b as Ct}from"./chunk-ZUAASFBQ.js";import{c as ht,e as It}from"./chunk-EL5TR6PR.js";import{e as gt,h as p}from"./chunk-3VEOCFHL.js";import{a as D}from"./chunk-66MGNRQG.js";import{a as f,b as it,c as st,d as ct,e as ut,f as mt,g as G}from"./chunk-I4IMW3RO.js";import{a as ft}from"./chunk-LXG7GT7J.js";import{a as dt}from"./chunk-5L2Z4GZW.js";import{c as S,d as pt,r as lt}from"./chunk-5LCR2OJC.js";import{a as m,d as J}from"./chunk-RTZH3MOC.js";import{a as C}from"./chunk-JWAFQ6PQ.js";import{f as V,h as at,i as u}from"./chunk-RN3RVYIR.js";import{a as yt}from"./chunk-G22GDL5B.js";import{f as nt}from"./chunk-767ZUJWF.js";import{D as U}from"./chunk-VYUKN3XQ.js";import{Ga as et,Na as Q,Qa as Y,Sa as rt,Ta as P,Wd as ot,Yd as Z,a as H,l as c}from"./chunk-XNQ3RS5P.js";var St=new Y("Key to specify the feature to search in storage"),tt=new Y("Configuration for compare feature");var y=function(t){return t[t.None=0]="None",t[t.Entities=1]="Entities",t[t.Both=2]="Both",t}(y||{});function Dt(t){var e;return(e=t==null?void 0:t.idKey)!=null?e:"id"}function W(t){let e=t==null?void 0:t.collection,i=e===void 0?"entityMap":"".concat(e,"EntityMap"),r=e===void 0?"ids":"".concat(e,"Ids"),n=e===void 0?"entities":"".concat(e,"Entities");return{entityMapKey:i,idsKey:r,entitiesKey:n}}function vt(t,e){return{entityMap:H({},t[e.entityMapKey]),ids:[...t[e.idsKey]]}}function Mt(t,e,i){switch(i){case y.Both:return{[e.entityMapKey]:t.entityMap,[e.idsKey]:t.ids};case y.Entities:return{[e.entityMapKey]:t.entityMap};default:return{}}}function Zt(t,e,i){let r=e[i];return t.entityMap[r]?y.None:(t.entityMap[r]=e,t.ids.push(r),y.Both)}function te(t,e,i){let r=e[i];return t.entityMap[r]?(t.entityMap[r]=e,y.Entities):(t.entityMap[r]=e,t.ids.push(r),y.Both)}function ee(t,e,i){let r=y.None;for(let n of e){let o=te(t,n,i);r!==y.Both&&(r=o)}return r}function re(t,e){let i=Array.isArray(e)?e:t.ids.filter(n=>e(t.entityMap[n])),r=y.None;for(let n of i)t.entityMap[n]&&(delete t.entityMap[n],r=y.Both);return r===y.Both&&(t.ids=t.ids.filter(n=>n in t.entityMap)),r}function Et(t,e){let i=Dt(e),r=W(e);return n=>{let o=vt(n,r),s=Zt(o,t,i);return Mt(o,r,s)}}function Tt(t,e){let i=W(e);return r=>{let n=vt(r,i),o=re(n,[t]);return Mt(n,i,o)}}function wt(t,e){let i=Dt(e),r=W(e);return()=>{let n={entityMap:{},ids:[]};return ee(n,t,i),{[r.entityMapKey]:n.entityMap,[r.idsKey]:n.ids}}}function bt(t){let{entityMapKey:e,idsKey:i,entitiesKey:r}=W(t);return st(G({[e]:{},[i]:[]}),ct(n=>({[r]:ot(()=>{let o=n[e]();return n[i]().map(d=>o[d])})})))}var xt,ne=u(xt||(xt=c(["\n fragment SpotlightParamDetail on SpotlightParamDetail {\n value\n id\n __typename\n}\n "]))),Kt,ie=u(Kt||(Kt=c(["\n fragment ProductComparisonSpotlightParam on ProductComparisonSpotlightParam {\n icon\n param\n details {\n ...SpotlightParamDetail\n }\n __typename\n}\n ",""])),ne),Nt,se=u(Nt||(Nt=c(["\n fragment PictureNew on PictureNew {\n href\n rel\n}\n "]))),Rt,ce=u(Rt||(Rt=c(["\n fragment CarouselPicture on CarouselPicture {\n displayOrder\n pictures {\n ...PictureNew\n }\n}\n ",""])),se),qt,ue=u(qt||(qt=c(["\n fragment ProductCompareImageItem on ProductCompareImageItem {\n id\n values {\n ...CarouselPicture\n }\n}\n ",""])),ce),At,me=u(At||(At=c(["\n fragment CompareProductsImages on CompareProductsImages {\n items {\n ...ProductCompareImageItem\n }\n}\n ",""])),ue),kt,de=u(kt||(kt=c(["\n fragment Rating on Rating {\n reviews\n value\n}\n "]))),$t,pe=u($t||($t=c(["\n fragment ProductCompareRatingItem on ProductCompareRatingItem {\n id\n values {\n ...Rating\n }\n}\n ",""])),de),_t,le=u(_t||(_t=c(["\n fragment CompareProductsRatings on CompareProductsRatings {\n items {\n ...ProductCompareRatingItem\n }\n}\n ",""])),pe),Lt,fe=u(Lt||(Lt=c(["\n fragment DisplayDetails on DisplayDetails {\n brand\n shortName\n}\n "]))),Ft,ye=u(Ft||(Ft=c(["\n fragment ProductCompareDisplayDetailsItem on ProductCompareDisplayDetailsItem {\n id\n values {\n ...DisplayDetails\n }\n}\n ",""])),fe),Bt,ge=u(Bt||(Bt=c(["\n fragment CompareProductsDisplayDetails on CompareProductsDisplayDetails {\n items {\n ...ProductCompareDisplayDetailsItem\n }\n}\n ",""])),ye),Ot,Pe=u(Ot||(Ot=c(["\n fragment SpotlightParam on SpotlightParam {\n icon\n value\n param\n}\n "]))),Ut,Le=u(Ut||(Ut=c(["\n fragment ProductCompareSpotlightItem on ProductCompareSpotlightItem {\n id\n values {\n ...SpotlightParam\n }\n}\n ",""])),Pe),jt,Ce=u(jt||(jt=c(["\n fragment ProductComparisonCharacteristicItemDetail on ProductComparisonCharacteristicItemDetail {\n value\n id\n variants\n}\n "]))),Ht,he=u(Ht||(Ht=c(["\n fragment ProductComparisonCharacteristicItem on ProductComparisonCharacteristicItem {\n name\n checkbox\n differences\n details {\n ...ProductComparisonCharacteristicItemDetail\n }\n}\n ",""])),Ce),Qt,Ie=u(Qt||(Qt=c(["\n fragment ProductComparisonCharacteristicGroup on ProductComparisonCharacteristicGroup {\n name\n icon\n items {\n ...ProductComparisonCharacteristicItem\n }\n}\n ",""])),he),Vt,Se=u(Vt||(Vt=c(["\n fragment ProductComparisonHrefDetails on ProductComparisonHrefDetails {\n id\n href\n}\n "]))),Gt,De=u(Gt||(Gt=c(["\n query GetProductComparisonDetails($request: ProductComparisonDetailsRequest) {\n getProductComparisonDetailsResponse(request: $request) {\n images {\n ...CompareProductsImages\n }\n ratings {\n ...CompareProductsRatings\n }\n displayDetails {\n ...CompareProductsDisplayDetails\n }\n spotlightParams {\n ...ProductComparisonSpotlightParam\n }\n characteristics {\n ...ProductComparisonCharacteristicGroup\n }\n hrefDetails {\n ...ProductComparisonHrefDetails\n }\n productIds\n }\n}\n ","\n","\n","\n","\n","\n",""])),me,le,ge,ie,Ie,Se),Jt=(()=>{let e=class e extends at{constructor(r){super(r),this.document=De}};e.\u0275fac=function(n){return new(n||e)(rt(V))},e.\u0275prov=Q({token:e,factory:e.\u0275fac,providedIn:"root"});let t=e;return t})();var Wt=(()=>{let e=class e{constructor(){this.apollo=P(V),this.getProductComparisonDetailsGQL=new Jt(this.apollo),this.getProductComparisonDetailsGQL.client=dt}getCompareProductsDetails(r){return this.getProductComparisonDetailsGQL.fetch({request:{productIds:r.map(n=>Number(n))}})}};e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=Q({token:e,factory:e.\u0275fac,providedIn:"root"});let t=e;return t})();function Xt(t){var e;return((e=t.productIds)==null?void 0:e.map((i,r)=>ve(i,t,r)))||[]}function ve(t,e,i){var n,o,s,d,l,g,v,M,E,T,w,b,x,K,N,R,q,A,k,$,_,L,F,B,h,I,O;let r=yt.getHrefAndFallbackFromCarousel({carouselPictures:(s=(o=(n=e.images)==null?void 0:n.items)==null?void 0:o.find(a=>(a==null?void 0:a.id)===t))==null?void 0:s.values,relType:"300x300"});return{abonamentAtasat:null,availability:void 0,base_price:void 0,brand:((v=(g=(l=(d=e.displayDetails)==null?void 0:d.items)==null?void 0:l.find(a=>(a==null?void 0:a.id)===t))==null?void 0:g.values)==null?void 0:v.brand)||p.brand,category:"telefoane",color:(w=(T=(E=(M=e.characteristics)==null?void 0:M.flatMap(a=>a==null?void 0:a.items).find(a=>(a==null?void 0:a.name.toLowerCase())==="culoare"))==null?void 0:E.details)==null?void 0:T.find(a=>(a==null?void 0:a.id)===t))==null?void 0:w.value,file:"compare-products-to-product-impression.tracking.ts",id:p.id,img_url:r.href||r.fallback,installments:0,item_name_full:((N=(K=(x=(b=e.displayDetails)==null?void 0:b.items)==null?void 0:x.find(a=>(a==null?void 0:a.id)===t))==null?void 0:K.values)==null?void 0:N.shortName)||p.name,list:"compare",memory:(k=(A=(q=(R=e.characteristics)==null?void 0:R.flatMap(a=>a==null?void 0:a.items).find(a=>(a==null?void 0:a.name.toLowerCase())==="capacitate"))==null?void 0:q.details)==null?void 0:A.find(a=>(a==null?void 0:a.id)===t))==null?void 0:k.value,name:((F=(L=(_=($=e.displayDetails)==null?void 0:$.items)==null?void 0:_.find(a=>(a==null?void 0:a.id)===t))==null?void 0:L.values)==null?void 0:F.shortName.toLowerCase())||p.name,period:1,position:i,price:void 0,promotion_name:void 0,retail_price:void 0,reviews:((O=(I=(h=(B=e.ratings)==null?void 0:B.items)==null?void 0:h.find(a=>(a==null?void 0:a.id)===t))==null?void 0:I.values)==null?void 0:O.value)||null,transactionType:void 0,transactionSubType:void 0}}var Me={compareResponse:void 0,status:U.initial,comparePageIds:[]},mr=it(G(Me),bt({entity:void 0,collection:"compare"}),mt(t=>{let e=P(Storage),i=P(St),r=P(tt),n=P(Wt);return{load(){let o=e.getItem(i);if(!o)return;let s=JSON.parse(o);s&&f(t,wt(s,{collection:"compare"}))},persist(){e.setItem(i,JSON.stringify(t.compareEntities()))},itemAlreadyInState(o){return o?t.compareIds().includes(o):!1},addItemToCompare(o){let s=r();if(s&&t.compareIds().length>=s.maxNumberOfProductsSupported)throw new Error("Maximum number of products.");f(t,Et(o,{collection:"compare"})),this.persist()},removeFromCompare(o){f(t,Tt(o,{collection:"compare"})),this.persist()},getItemById(o){var s;return(s=t.compareEntityMap())==null?void 0:s[o]},getCompare(o){return f(t,s=>({status:U.loading})),n.getCompareProductsDetails(o).pipe(et(s=>s.data.getProductComparisonDetailsResponse&&!s.errors?this.writeResponse(s):this.detailsError()))},responseIds(){var o,s,d,l;return(l=(d=(s=(o=t.compareResponse())==null?void 0:o.data.getProductComparisonDetailsResponse)==null?void 0:s.displayDetails)==null?void 0:d.items)==null?void 0:l.map(g=>g==null?void 0:g.id)},writeResponse(o){f(t,s=>({compareResponse:H({},o),status:U.success})),f(t,s=>{var d,l;return{comparePageIds:nt((l=(d=o.data.getProductComparisonDetailsResponse)==null?void 0:d.productIds)==null?void 0:l.map(g=>Number(g)))}})},detailsError(){f(t,o=>({status:U.error})),f(t,o=>({comparePageIds:[]}))},setComparePageIds(o){f(t,s=>({comparePageIds:[...o]}))},addIdToComparePage(o){let s=r();if(s&&t.comparePageIds().length>=s.maxNumberOfProductsSupported)throw new Error("Maximum number of products.");let d=t.comparePageIds();d.push(o),f(t,l=>({comparePageIds:[...d]}))},removeIdFromComparePage(o){let s=t.comparePageIds().filter(d=>d!==o);f(t,d=>({comparePageIds:[...s]}))}}}),ut({onInit:t=>{let e=P(tt);t.load(),Z(()=>{var r;let i=(r=e())==null?void 0:r.maxNumberOfProductsSupported;i&&i<t.compareIds().length&&t.removeFromCompare(t.compareIds()[t.compareIds().length-1])},{allowSignalWrites:!0}),Z(()=>{var r;let i=(r=t.compareResponse())==null?void 0:r.data.getProductComparisonDetailsResponse;if(i){let n={event:lt.productImpression,page_type:Ct.listing,page_section:Pt.main_offer,shop_type:"B2C",ecommerce:{currencyCode:C.EUR,impressions:{products:Xt(i)}}};ft.analyticsPush(n)}})},onDestroy:t=>t.persist()}));function Ee(t){if(!t)return"out-of-stock";let e=Te(t.acquisition);return"".concat(t.installment===J.None?"fara-rate":"in-rate","-").concat(e)}function Te(t){switch(t){case m.Acquisition:case m.AcquisitionPortIn:case m.AcquisitionPrepayToPostpaid:return"acquisition";case m.Loyalty:return"loyalty";case m.Standard:return"standard"}}function Cr(t){switch(t){case m.Acquisition:return"New Subscription";case m.AcquisitionPrepayToPostpaid:return"Prepay New Subscription";case m.Loyalty:return"Renew Subscription";case m.Standard:return"Standard"}}function we(t){var e,i,r,n;return((i=(e=t==null?void 0:t.variants)==null?void 0:e.find(o=>o.code===t.code))==null?void 0:i.capacity)||((n=(r=t==null?void 0:t.subTitle)==null?void 0:r.find(o=>o.toLowerCase().includes("gb")))==null?void 0:n.replace(" ","").toUpperCase())||null}function be(t){return t.acquisition===m.Loyalty?t.installment===J.Oro?S.installment:S.subscription:t.acquisition===m.Standard?S.standard:t.acquisition===m.BudgetAcquisition?S.standard:S.acquisition}function xe(t){switch(t){case m.Acquisition:return"acquisition_new_package";case m.AcquisitionPrepayToPostpaid:return"acquisition_ppy2ppd_package";case m.BudgetAcquisition:return"standard_budget";case m.Standard:return"standard_standard";default:return null}}function hr({option:t,saleProductDetailsFragment:e,listingName:i,tbiInstallment:r,index:n,file:o}){var s,d,l,g,v,M,E,T,w,b,x,K,N,R,q,A,k,$,_,L,F,B;{let h,I=gt;if(t&&t.discriminator.acquisition!==m.Standard&&t.discriminator.acquisition!==m.BudgetAcquisition){let j;(s=t.package)!=null&&s.agrTermPrices&&(j=(g=(l=(d=t.package)==null?void 0:d.agrTermPrices[0])==null?void 0:l.price)==null?void 0:g.value);let Yt=(M=(v=t.package)==null?void 0:v.price)!=null&&M.value&&j?((T=(E=t.package)==null?void 0:E.price)==null?void 0:T.value)!==j:!1;h={base_price:((b=(w=t.package)==null?void 0:w.price)==null?void 0:b.value)||0,id:((x=t.package)==null?void 0:x.ref)||p.id,name:((K=t.package)==null?void 0:K.displayName)||p.name,period:Number(t.discriminator.agrTerm),price:j||0,discounted_subscription:Yt}}else h=null;(t==null?void 0:t.discriminator.acquisition)===m.Loyalty&&t.discriminator.installment===J.Oro&&t.price.installmentPeriod&&(I=t.price.installmentPeriod),r&&(I=r.months);let O=sessionStorage.getItem(e.code||p.id),a=O||"".concat(i,"-").concat(Ee(t==null?void 0:t.discriminator).toLowerCase(),"-").concat(ht()),zt=t?be(t.discriminator):void 0,X=!(t!=null&&t.price.discount)&&r?D(r.totalAmount,C.EUR):D(t==null?void 0:t.price.referenceAmount,C.EUR),z=r?D(r.totalAmount,C.EUR):D(t==null?void 0:t.price.amount,C.EUR);return{abonamentAtasat:h,base_price:X==null?void 0:X.value,brand:((N=e.brand)==null?void 0:N.toLocaleLowerCase())||p.brand,category:((q=(R=e.category)==null?void 0:R.name)==null?void 0:q.toLocaleLowerCase())||p.category,color:(k=(A=e.color)==null?void 0:A.name)==null?void 0:k.toLocaleLowerCase(),file:o,id:e.code||p.id,img_url:e?e.carouselPictures[0]:null,installments:I,item_name_full:e.displayName||p.name,list:a,memory:we(e),name:(($=e.displayName)==null?void 0:$.toLowerCase())||p.name,period:t?Number(t.discriminator.agrTerm):void 0,position:n,price:z==null?void 0:z.value,promotion_name:((_=t==null?void 0:t.price.discount)==null?void 0:_.offerName)||null,transactionSubType:t?xe(t.discriminator.acquisition):void 0,transactionType:zt,availability:e.stockState?It(e.stockState):pt.outOfStock,retail_price:((F=D((L=e.priceVariants)==null?void 0:L.standardPrice.referenceAmount,C.EUR))==null?void 0:F.value)||void 0,reviews:((B=e.rating)==null?void 0:B.reviews)||null}}}export{St as a,tt as b,mr as c,Ee as d,Te as e,Cr as f,we as g,xe as h,hr as i};