import{a as et,b as ot}from"./chunk-ZUAASFBQ.js";import{c as rt,e as it}from"./chunk-HWKNHJSR.js";import{e as tt,h as d}from"./chunk-DIIZQCCX.js";import{a as v}from"./chunk-MIJLCF6S.js";import{a as Z}from"./chunk-5L2Z4GZW.js";import{a as z}from"./chunk-WELB34B6.js";import{a as D,b as W,p as X}from"./chunk-33DRKEJ4.js";import{a as m,d as k}from"./chunk-ZT24ABBQ.js";import{a as P}from"./chunk-JWAFQ6PQ.js";import{f as x,h as V,i as u}from"./chunk-GVZRBRU2.js";import{a as Y}from"./chunk-XHCLFCJS.js";import{f as J}from"./chunk-767ZUJWF.js";import{D as w}from"./chunk-QZAKNZ5J.js";import{Ea as B,La as I,Oa as _,Qa as G,Ra as y,Td as M,Ud as Q,Vd as j,a as s,b as S,dc as H,ec as U,h as L,pb as F}from"./chunk-WNE7PXNE.js";var nt=new _("Key to specify the feature to search in storage"),O=new _("Configuration for compare feature");var g=Symbol("STATE_SIGNAL");function p(t,...e){t[g].update(i=>e.reduce((o,r)=>s(s({},o),typeof r=="function"?r(o):r),i))}function st(t){let e=Q(()=>t());return bt(e)?new Proxy(t,{get(i,o){return o in e?(H(i[o])||Object.defineProperty(i,o,{value:M(()=>i()[o]),configurable:!0}),st(i[o])):i[o]}}):t}function bt(t){return t?.constructor===Object}function ct(...t){let e=[...t],i="providedIn"in e[0]?e.shift():{},o=e;return(()=>{let a=class a{constructor(){let f=o.reduce((E,vt)=>vt(E),Mt()),{slices:C,signals:R,methods:N,hooks:q}=f,$=s(s(s({},C),R),N);this[g]=f[g];for(let E in $)this[E]=$[E];let{onInit:h,onDestroy:T}=q;h&&h(),T&&y(F).onDestroy(T)}};L(a,"\u0275fac",function(C){return new(C||a)}),L(a,"\u0275prov",I({token:a,factory:a.\u0275fac,providedIn:i.providedIn||null}));let n=a;return n})()}function Mt(){return{[g]:U({}),slices:{},signals:{},methods:{},hooks:{}}}function ut(t,...e){let i=typeof t=="function"?[t,...e]:e;return o=>i.reduce((r,n)=>n(r),o)}function b(t,e){return Object.keys(t).reduce((i,o)=>e.includes(o)?i:S(s({},i),{[o]:t[o]}),{})}function mt(t){return e=>{let i=t(s(s({},e.slices),e.signals)),o=Object.keys(i),r=b(e.slices,o),n=b(e.methods,o);return S(s({},e),{slices:r,signals:s(s({},e.signals),i),methods:n})}}function dt(t){return e=>{let i=s(s(s({[g]:e[g]},e.slices),e.signals),e.methods),o=typeof t=="function"?t(i):t,r=n=>{let a=o[n],c=e.hooks[n];return a?()=>{c&&c(),a(i)}:c};return S(s({},e),{hooks:{onInit:r("onInit"),onDestroy:r("onDestroy")}})}}function pt(t){return e=>{let i=t(s(s(s({[g]:e[g]},e.slices),e.signals),e.methods)),o=Object.keys(i),r=b(e.slices,o),n=b(e.signals,o);return S(s({},e),{slices:r,signals:n,methods:s(s({},e.methods),i)})}}function K(t){return e=>{let i=typeof t=="function"?t():t,o=Object.keys(i);e[g].update(c=>s(s({},c),i));let r=o.reduce((c,f)=>{let C=M(()=>e[g]()[f]);return S(s({},c),{[f]:st(C)})},{}),n=b(e.signals,o),a=b(e.methods,o);return S(s({},e),{slices:s(s({},e.slices),r),signals:n,methods:a})}}var l=function(t){return t[t.None=0]="None",t[t.Entities=1]="Entities",t[t.Both=2]="Both",t}(l||{});function lt(t){return t?.idKey??"id"}function A(t){let e=t?.collection,i=e===void 0?"entityMap":`${e}EntityMap`,o=e===void 0?"ids":`${e}Ids`,r=e===void 0?"entities":`${e}Entities`;return{entityMapKey:i,idsKey:o,entitiesKey:r}}function ft(t,e){return{entityMap:s({},t[e.entityMapKey]),ids:[...t[e.idsKey]]}}function yt(t,e,i){switch(i){case l.Both:return{[e.entityMapKey]:t.entityMap,[e.idsKey]:t.ids};case l.Entities:return{[e.entityMapKey]:t.entityMap};default:return{}}}function wt(t,e,i){let o=e[i];return t.entityMap[o]?l.None:(t.entityMap[o]=e,t.ids.push(o),l.Both)}function Tt(t,e,i){let o=e[i];return t.entityMap[o]?(t.entityMap[o]=e,l.Entities):(t.entityMap[o]=e,t.ids.push(o),l.Both)}function Et(t,e,i){let o=l.None;for(let r of e){let n=Tt(t,r,i);o!==l.Both&&(o=n)}return o}function xt(t,e){let i=Array.isArray(e)?e:t.ids.filter(r=>e(t.entityMap[r])),o=l.None;for(let r of i)t.entityMap[r]&&(delete t.entityMap[r],o=l.Both);return o===l.Both&&(t.ids=t.ids.filter(r=>r in t.entityMap)),o}function gt(t,e){let i=lt(e),o=A(e);return r=>{let n=ft(r,o),a=wt(n,t,i);return yt(n,o,a)}}function Pt(t,e){let i=A(e);return o=>{let r=ft(o,i),n=xt(r,[t]);return yt(r,i,n)}}function Ct(t,e){let i=lt(e),o=A(e);return()=>{let r={entityMap:{},ids:[]};return Et(r,t,i),{[o.entityMapKey]:r.entityMap,[o.idsKey]:r.ids}}}function ht(t){let{entityMapKey:e,idsKey:i,entitiesKey:o}=A(t);return ut(K({[e]:{},[i]:[]}),mt(r=>({[o]:M(()=>{let n=r[e]();return r[i]().map(c=>n[c])})})))}var Kt=u` fragment SpotlightParamDetail on SpotlightParamDetail { value id __typename } `,At=u` fragment ProductComparisonSpotlightParam on ProductComparisonSpotlightParam { icon param details { ...SpotlightParamDetail } __typename } ${Kt}`,Rt=u` fragment PictureNew on PictureNew { href rel } `,Nt=u` fragment CarouselPicture on CarouselPicture { displayOrder pictures { ...PictureNew } } ${Rt}`,qt=u` fragment ProductCompareImageItem on ProductCompareImageItem { id values { ...CarouselPicture } } ${Nt}`,$t=u` fragment CompareProductsImages on CompareProductsImages { items { ...ProductCompareImageItem } } ${qt}`,Lt=u` fragment Rating on Rating { reviews value } `,_t=u` fragment ProductCompareRatingItem on ProductCompareRatingItem { id values { ...Rating } } ${Lt}`,jt=u` fragment CompareProductsRatings on CompareProductsRatings { items { ...ProductCompareRatingItem } } ${_t}`,Ot=u` fragment DisplayDetails on DisplayDetails { brand shortName } `,Bt=u` fragment ProductCompareDisplayDetailsItem on ProductCompareDisplayDetailsItem { id values { ...DisplayDetails } } ${Ot}`,Gt=u` fragment CompareProductsDisplayDetails on CompareProductsDisplayDetails { items { ...ProductCompareDisplayDetailsItem } } ${Bt}`,Ft=u` fragment SpotlightParam on SpotlightParam { icon value param } `,le=u` fragment ProductCompareSpotlightItem on ProductCompareSpotlightItem { id values { ...SpotlightParam } } ${Ft}`,Ht=u` fragment ProductComparisonCharacteristicItemDetail on ProductComparisonCharacteristicItemDetail { value id variants } `,Ut=u` fragment ProductComparisonCharacteristicItem on ProductComparisonCharacteristicItem { name checkbox differences details { ...ProductComparisonCharacteristicItemDetail } } ${Ht}`,Qt=u` fragment ProductComparisonCharacteristicGroup on ProductComparisonCharacteristicGroup { name icon items { ...ProductComparisonCharacteristicItem } } ${Ut}`,Vt=u` fragment ProductComparisonHrefDetails on ProductComparisonHrefDetails { id href } `,Jt=u` query GetProductComparisonDetails($request: ProductComparisonDetailsRequest) { getProductComparisonDetailsResponse(request: $request) { images { ...CompareProductsImages } ratings { ...CompareProductsRatings } displayDetails { ...CompareProductsDisplayDetails } spotlightParams { ...ProductComparisonSpotlightParam } characteristics { ...ProductComparisonCharacteristicGroup } hrefDetails { ...ProductComparisonHrefDetails } productIds } } ${$t} ${jt} ${Gt} ${At} ${Qt} ${Vt}`,St=(()=>{let e=class e extends V{constructor(o){super(o),this.document=Jt}};e.\u0275fac=function(r){return new(r||e)(G(x))},e.\u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"root"});let t=e;return t})();var It=(()=>{let e=class e{constructor(){this.apollo=y(x),this.getProductComparisonDetailsGQL=new St(this.apollo),this.getProductComparisonDetailsGQL.client=Z}getCompareProductsDetails(o){return this.getProductComparisonDetailsGQL.fetch({request:{productIds:o.map(r=>Number(r))}})}};e.\u0275fac=function(r){return new(r||e)},e.\u0275prov=I({token:e,factory:e.\u0275fac,providedIn:"root"});let t=e;return t})();function Dt(t){return t.productIds?.map((e,i)=>Wt(e,t,i))||[]}function Wt(t,e,i){let o=Y.getHrefAndFallbackFromCarousel({carouselPictures:e.images?.items?.find(r=>r?.id===t)?.values,relType:"300x300"});return{abonamentAtasat:null,availability:void 0,base_price:void 0,brand:e.displayDetails?.items?.find(r=>r?.id===t)?.values?.brand||d.brand,category:"telefoane",color:e.characteristics?.flatMap(r=>r?.items).find(r=>r?.name.toLowerCase()==="culoare")?.details?.find(r=>r?.id===t)?.value,file:"compare-products-to-product-impression.tracking.ts",id:d.id,img_url:o.href||o.fallback,installments:0,item_name_full:e.displayDetails?.items?.find(r=>r?.id===t)?.values?.shortName||d.name,list:"compare",memory:e.characteristics?.flatMap(r=>r?.items).find(r=>r?.name.toLowerCase()==="capacitate")?.details?.find(r=>r?.id===t)?.value,name:e.displayDetails?.items?.find(r=>r?.id===t)?.values?.shortName.toLowerCase()||d.name,period:1,position:i,price:void 0,promotion_name:void 0,retail_price:void 0,reviews:e.ratings?.items?.find(r=>r?.id===t)?.values?.value||null,transactionType:void 0,transactionSubType:void 0}}var Xt={compareResponse:void 0,status:w.initial,comparePageIds:[]},_e=ct(K(Xt),ht({entity:void 0,collection:"compare"}),pt(t=>{let e=y(Storage),i=y(nt),o=y(O),r=y(It);return{load(){let n=e.getItem(i);if(!n)return;let a=JSON.parse(n);a&&p(t,Ct(a,{collection:"compare"}))},persist(){e.setItem(i,JSON.stringify(t.compareEntities()))},itemAlreadyInState(n){return n?t.compareIds().includes(n):!1},addItemToCompare(n){let a=o();if(a&&t.compareIds().length>=a.maxNumberOfProductsSupported)throw new Error("Maximum number of products.");p(t,gt(n,{collection:"compare"})),this.persist()},removeFromCompare(n){p(t,Pt(n,{collection:"compare"})),this.persist()},getItemById(n){return t.compareEntityMap()?.[n]},getCompare(n){return p(t,a=>({status:w.loading})),r.getCompareProductsDetails(n).pipe(B(a=>a.data.getProductComparisonDetailsResponse&&!a.errors?this.writeResponse(a):this.detailsError()))},responseIds(){return t.compareResponse()?.data.getProductComparisonDetailsResponse?.displayDetails?.items?.map(n=>n?.id)},writeResponse(n){p(t,a=>({compareResponse:s({},n),status:w.success})),p(t,a=>({comparePageIds:J(n.data.getProductComparisonDetailsResponse?.productIds?.map(c=>Number(c)))}))},detailsError(){p(t,n=>({status:w.error})),p(t,n=>({comparePageIds:[]}))},setComparePageIds(n){p(t,a=>({comparePageIds:[...n]}))},addIdToComparePage(n){let a=o();if(a&&t.comparePageIds().length>=a.maxNumberOfProductsSupported)throw new Error("Maximum number of products.");let c=t.comparePageIds();c.push(n),p(t,f=>({comparePageIds:[...c]}))},removeIdFromComparePage(n){let a=t.comparePageIds().filter(c=>c!==n);p(t,c=>({comparePageIds:[...a]}))}}}),dt({onInit:t=>{let e=y(O);t.load(),j(()=>{let i=e()?.maxNumberOfProductsSupported;i&&i<t.compareIds().length&&t.removeFromCompare(t.compareIds()[t.compareIds().length-1])},{allowSignalWrites:!0}),j(()=>{let i=t.compareResponse()?.data.getProductComparisonDetailsResponse;if(i){let o={event:X.productImpression,page_type:ot.listing,page_section:et.main_offer,shop_type:"B2C",ecommerce:{currencyCode:P.EUR,impressions:{products:Dt(i)}}};z.analyticsPush(o)}})},onDestroy:t=>t.persist()}));function zt(t){if(!t)return"out-of-stock";let e=Yt(t.acquisition);return`${t.installment===k.None?"fara-rate":"in-rate"}-${e}`}function Yt(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 Qe(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 Zt(t){return t?.variants?.find(e=>e.code===t.code)?.capacity||t?.subTitle?.find(e=>e.toLowerCase().includes("gb"))?.replace(" ","").toUpperCase()||null}function te(t){return t.acquisition===m.Loyalty?t.installment===k.Oro?D.installment:D.subscription:t.acquisition===m.Standard?D.standard:t.acquisition===m.BudgetAcquisition?D.standard:D.acquisition}function ee(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 Ve({option:t,saleProductDetailsFragment:e,listingName:i,tbiInstallment:o,index:r,file:n}){{let a,c=tt;if(t&&t.discriminator.acquisition!==m.Standard&&t.discriminator.acquisition!==m.BudgetAcquisition){let h;t.package?.agrTermPrices&&(h=t.package?.agrTermPrices[0]?.price?.value);let T=t.package?.price?.value&&h?t.package?.price?.value!==h:!1;a={base_price:t.package?.price?.value||0,id:t.package?.ref||d.id,name:t.package?.displayName||d.name,period:Number(t.discriminator.agrTerm),price:h||0,discounted_subscription:T}}else a=null;t?.discriminator.acquisition===m.Loyalty&&t.discriminator.installment===k.Oro&&t.price.installmentPeriod&&(c=t.price.installmentPeriod),o&&(c=o.months);let f=sessionStorage.getItem(e.code||d.id),C=f||`${i}-${zt(t?.discriminator).toLowerCase()}-${rt()}`,R=t?te(t.discriminator):void 0,N=!t?.price.discount&&o?v(o.totalAmount,P.EUR):v(t?.price.referenceAmount,P.EUR),q=o?v(o.totalAmount,P.EUR):v(t?.price.amount,P.EUR);return{abonamentAtasat:a,base_price:N?.value,brand:e.brand?.toLocaleLowerCase()||d.brand,category:e.category?.name?.toLocaleLowerCase()||d.category,color:e.color?.name?.toLocaleLowerCase(),file:n,id:e.code||d.id,img_url:e?e.carouselPictures[0]:null,installments:c,item_name_full:e.displayName||d.name,list:C,memory:Zt(e),name:e.displayName?.toLowerCase()||d.name,period:t?Number(t.discriminator.agrTerm):void 0,position:r,price:q?.value,promotion_name:t?.price.discount?.offerName||null,transactionSubType:t?ee(t.discriminator.acquisition):void 0,transactionType:R,availability:e.stockState?it(e.stockState):W.outOfStock,retail_price:v(e.priceVariants?.standardPrice.referenceAmount,P.EUR)?.value||void 0,reviews:e.rating?.reviews||null}}}export{nt as a,O as b,_e as c,zt as d,Yt as e,Qe as f,Zt as g,ee as h,Ve as i};