1import{b4 as u,T as g,b5 as b,J as y,aP as $,S as v,C as k}from"./storefrontApp.CsApItsi.min.js";import{S as P}from"./chunk-storefront_base_lit_element.lX23Jvc.js";import{J as f,w as t,f as l,$ as e,a as x,g as A,e as m,t as c}from"./chunk-vendor-lit.NvY0u02.js";import{t as i}from"./chunk-translations_directive.DWSzkd6.js";import{B as S}from"./chunk-basket_mapper.Bf2V29H.js";import{g as E}from"./chunk-vendor-lodash.CWHFt7Z.js";import{S as F}from"./chunk-storefront_settings_constants.DIF02Gz.js";import{a as C}from"./chunk-price_mapper.RARQykB.js";import"./chunk-vendor-di.Bh23gdA.js";import"./chunk-vendor-rxjs.Dp7kflo.js";import"./chunk-vendor-phoenix.cdKS79L.js";import"./chunk-address_mapper.CVcRwRB.js";import"./chunk-loyalty_points_mapper.DhjGhUJ.js";import"./chunk-bundle_item_mapper.C6saoi-.js";import"./chunk-producer_mapper.CMRXClb.js";var w=Object.defineProperty,_=(o,s,a,p)=>{for(var r=void 0,d=o.length-1,h;d>=0;d--)(h=o[d])&&(r=h(s,a,r)||r);return r&&w(s,a,r),r};class n extends P{constructor(){super(),this._basket=null,this._selectedShipping=void 0,this._selectedPayment=void 0,this._selectedPaymentCost=void 0,this._loyaltyPointsAwardedInfo="",this._basketMapper=new S,this._preventFromMultiplePayments=()=>{document.querySelectorAll(u).forEach(s=>{s.addEventListener("click",()=>{this._replacePaymentButtonWithLoader(s)})})},this._replacePaymentButtonWithLoader=s=>{const{width:a,height:p}=s.getBoundingClientRect(),r=document.createElement("span");r.style.width=`${a}px`,r.style.height=`${p}px`,r.classList.add("btn","btn_primary"),r.innerHTML='<div class="loader"><div class="loader__spinner loader__spinner_xs"></div></div>',s.form.submit(),s.replaceWith(r)},this._toObjectFromJsonScriptTag=s=>{const a=s.textContent;return f.fromJson(a)},this._isShippingAddressEqualToBillingAddress=()=>E(this._basket?.shippingAddress,this._basket?.billingAddress),this._shouldDisplayShippingAddress=()=>!(this._isShippingAddressEqualToBillingAddress()||this._selectedShipping?.isPickupPointDelivery||this._selectedShipping?.isPersonalCollect),this._renderPaymentMethod=({name:s,accessibleName:a,amount:p,image:r})=>s?e` 2 <div> 3 ${l(r,()=>e`<img 4 style="height: 30px" 5 src="${r}" 6 alt="${s}"
7 />`,()=>t)} 8 <span aria-hidden="true"> 9 ${l(this._isDevGiftCardsFlagEnabled,()=>e` 10 <span class="basket-summary__payment-method">${s}${p?":":""}</span> 11 ${p??""} 12 `,()=>e`<span>${s}</span>`)} 13 </span> 14 ${l(a,()=>e`<span class="sr-only">${a}</span>`,()=>t)} 15 </div> 16 `:t,this._settingsApi=this.getApiSync(F.api),this._translationApi=this.getApiSync(g.api),this._isDevGiftCardsFlagEnabled=this._settingsApi.isFeatureEnabled("dev_gift_cards"),this._locales=this._settingsApi.getLocales()}static{this.moduleName=b.component}async connectedCallback(){super.connectedCallback();const s=document.getElementById("basket");s&&(this._basket=this._basketMapper.toModel(this._toObjectFromJsonScriptTag(s)),this._selectedShipping=this._basket?.shippings.find(a=>a.isSelected),this._selectedPayment=this._basket?.payments.find(a=>a.isSelected),this._selectedPaymentCost=this._selectedShipping?.payments.find(a=>a.id===this._selectedPayment?.paymentId)?.cost,this._preventFromMultiplePayments(),this.eventBus.emit(new y($.purchased,{basket:this._basket,orderId:this.orderId}))),this._loyaltyPointsAwardedInfo=this._translationApi.translate("{{ points }} will appear in your account once the order has been processed.",{points:`<strong>${this._basket?.loyaltyPointsAwarded?.pointsFormatted}.</strong>`,interpolation:{escapeValue:!1}})}render(){return e`${l(!0,()=>e` 17 <section class="basket-summary"> 18 <header class="grid__row"> 19 <div class="grid__col grid__col_xs-12 grid__col_sm-grow"> 20 <h1 class="section-title">${i("Products in the order")}</h1> 21 </div> 22 </header> 23 24 <div class="basket-summary__list"> 25 ${this._basket?.products.list.map(s=>e` 26 <div class="basket-product"> 27 <div class="basket-product__image"> 28 <a href="${s.url}"> 29 <img 30 src="${s.image.paths.webp}" 31 alt="${s.image.title}" 32 /> 33 </a> 34 </div> 35 <div class="basket-product__wrapper"> 36 <div class="basket-product__content"> 37 <div class="basket-product__info"> 38 <div class="basket-product__name"> 39 <div> 40 <ul> 41 ${s.isBundle?e`<li class="tag mb-xs-1">${i("Bundle")}</li>`:t} 42 ${s.isDigital?e`<li class="tag mb-xs-1">${i("Digital product")}</li>`:t} 43 </ul> 44 45 <strong 46 ><a 47 class="basket-product__link" 48 href="${s.url}" 49 >${s.name}</a 50 ></strong 51 > 52 53 ${s.hasOptions?e` <ul class="basket-product__options"> 54 ${s.options.map(a=>e` <li>${a.name}: ${a.value}</li>`)} 55 </ul>`:t} 56 </div> 57 </div> 58 <div class="basket-product__actions"> 59 <b class="font_size-xs">${s.quantity} x ${s.unit.name}</b> 60 </div> 61 </div> 62 63 <div class="basket-product__additional-info"> 64 <p> 65 ${i("Shipping time")}: 66 <b>${s.delivery?.name}</b> 67 </p> 68 </div> 69 </div> 70 </div> 71 <ul class="basket-product__prices"> 72 ${s.isExchangedWithLoyaltyPoints?e` 73 <li class="basket-product__price price price_m price__value">
74 <span class="font_semibold"> 75 ${s.sumLoyaltyPointsCost?.pointsFormatted}${s.sumLoyaltyPointsExchangePrice?e` + ${s.sumLoyaltyPointsExchangePrice.grossValueFormatted}`:t} 76 </span> 77 </li> 78 79 ${s.quantity>1?e`<li class="price price_xs"> 80 ${s.loyaltyPointsExchangePrice?e`${s.quantity} x (${s.loyaltyPointsCost?.pointsFormatted} + 81 ${s.loyaltyPointsExchangePrice.grossValueFormatted})`:e`${s.quantity} x ${s.loyaltyPointsCost?.pointsFormatted}`} 82 </li> `:t} 83 `:t} 84 ${s.isExchangedWithLoyaltyPoints?t:e` 85 <li class="price basket-product__price"> 86 <p class="sr-only"> 87 ${s.isSpecialOffer?i("Promotional price"):i("Price")} 88 ${s.sum.grossValueFormatted} 89 ${i("with {{ taxFormatted }} vat",{taxFormatted:s.sum.taxFormatted})} 90 </p> 91 92 ${s.isSpecialOffer?e` 93 <h-icon 94 css-classes="icon_promo price__special-offer-icon" 95 icon-name="icon-percent" 96 size="xs" 97 aria-hidden="true" 98 ></h-icon> 99 `:t} 100 <span 101 aria-hidden="true" 102 class="${x({price__value:!0,price__value_special:s.isSpecialOffer,price__value_bold:!0})}" 103 >${s.sum.grossValueFormatted}</span 104 > 105 <span 106 class="vat-info" 107 aria-hidden="true" 108 >${i("with")} ${s.sum.taxFormatted}</span 109 > 110 </li> 111 112 ${s.quantity>1?e` 113 <li class="price price_xs"> 114 <p class="sr-only"> 115 ${i("Price per product")} ${s.price.grossValueFormatted} 116 </p> 117 ${s.quantity} x ${s.price.grossValueFormatted} 118 </li> 119 `:t} 120 ${s.isSpecialOffer?e` 121 <li class="price price_xs"> 122 <p class="price__label p_no-margin"> 123 ${i("Regular price")} : 124 125 <sp
125an class="price__value price__value_inactive"> 126 ${s.basePrice.grossValueFormatted} 127 </span> 128 </p> 129 </li> 130 <li class="price price_xs"> 131 <p class="price__label p_no-margin"> 132 ${i("Lowest price")} : 133 134 <span class="price__value price__value_inactive p_no-margin"> 135 ${s.lowestHistoricalPriceInLast30Days.grossValueFormatted} 136 <span> 137 </p> 138 </li>`:t} 139 `} 140 </ul> 141 </div> 142 `)} 143 </div> 144 145 <header class="grid__row mt-xs-4"> 146 <div class="grid__col grid__col_xs-12 grid__col_sm-grow mb-xs-2"> 147 <h2 class="section-title section-title_s">${i("Order value")}</h2> 148 </div> 149 </header> 150 151 <div class="basket-summary__prices"> 152 <ul class="price-list price-list_s"> 153 <li class="price price_s price-list__item price-list__item_full-width price-list__item_zebra"> 154 <span class="price__label price-list__label">${i("Products (without VAT)")}</span> 155 <span class="price__value price-list__value">${this._basket?.products.sum?.netValueFormatted}</span> 156 </li> 157 158 ${l(this._basket?.hasItemsExchangedWithLoyaltyPoints,()=>e` 159 <li class="price price_s price-list__item price-list__item_full-width price-list__item_zebra"> 160 <span class="price__label price-list__label">${i("Products from loyalty program")}</span> 161 <div class="price__value price-list__value"> 162 <p class="p_no-margin">${this._basket?.loyaltyPointsCost?.pointsFormatted}</p> 163 <p class="p_no-margin">${this._basket?.loyaltyPointsExchangePrice?.grossValueFormatted}</p> 164 </div> 165 </li> 166 `,()=>t)} 167 168 <li class="price price_s price-list__item price-list__item_full-width price-list__item_zebra"> 169 <span class="price__label price-list__label">${i("VAT tax")}</span> 170 <span class="price__value price-list__value">${this._basket?.products.sum?.taxValueFormatted}</span> 171 </li> 172 173 ${l(this._basket?.hasPromotionCode||this._basket?.discounts.list&&this._basket?.discounts.list?.length>0,()=>e` 174 <li class="price price_s price-list__item price-list__item_full-width price-list__item_zebra"> 175 <span class="price__label price-list__label">${i("All discounts")}</span> 176 <span class="price__value price__value_special price-list__value" 177 >-${this._basket?.discounts.sum?.grossValueFormatted}</span 178 > 179 </li> 180 `,()=>t)} 181 182 <li class="price price_s price-list__item price-list__item_full-width price-list__item_zebra"> 183 <div class="price__label price-list__label"> 184 <p class="p_no-margin">${i("Delivery (with VAT)")}</p> 185 <small class="color_secondary">${this._selectedShipping?.name}</small> 186 </div> 187
188 <span class="price__value price-list__value">${this._selectedShipping?.basePrice.grossValueFormatted}</span> 189 </li> 190 191 ${l(this._selectedShipping?.discount,()=>e` 192 <li class="price price_s price-list__item price-list__item_full-width price-list__item_zebra"> 193 <span class="price__label price-list__label">${i("Delivery discount")}</span> 194 <span class="price__value price__value_special price-list__value" 195 >-${this._selectedShipping?.discount?.grossValueFormatted}</span 196 > 197 </li> 198 `,()=>t)} 199 200 <li class="price price_s price-list__item price-list__item_full-width price-list__item_zebra"> 201 <div class="price__label price-list__label"> 202 <p class="p_no-margin">${i("Payment method")}</p> 203 <small class="color_secondary">${this._selectedPayment?.name}</small> 204 </div> 205 <span class="price__value price-list__value" 206 >${this._settingsApi.isFeatureEnabled("dev_gift_cards")?this._selectedPaymentCost?.grossValueFormatted||C.formatZero(this._locales.locale.split("_")[0],this._locales.currency):this._selectedPaymentCost?.grossValueFormatted}</span 207 > 208 </li> 209 210 <li class="price-list__item price-list__item_summary"> 211 <div class="price-list__value price-list__value_secondary price price_m"> 212 <p class="p_no-margin"> 213 ${i("Sum")} 214 <strong class="price__value">${this._basket?.sum.grossValueFormatted}</strong> 215 ${i("incl. VAT")} 216 </p> 217 218 ${l(this._basket?.hasItemsExchangedWithLoyaltyPoints,()=>e` <span class="font_size-m">+ ${this._basket?.loyaltyPointsCost?.pointsFormatted}</span>`,()=>t)} 219 </div> 220 </li> 221 </ul> 222 </div> 223 224 <div class="grid__row mt-xs-6"> 225 <div class="grid__col grid__col_xs-12 grid__col_sm-6"> 226 <div class="basket-summary__box"> 227 <h3 class="basket-summary__box-header"> 228 <h-icon 229 size="l" 230 icon-name="icon-truck" 231 aria-hidden="true" 232 ></h-icon> 233 234 ${i("Choosen delivery")} 235 </h3> 236 237 <div class="basket-summary__box-content"> 238 ${l(this._selectedShipping?.image,()=>e`<img 239 style="height: 30px" 240 src="${this._selectedShipping?.image}" 241 alt="${this._selectedShipping?.name}" 242 />`,()=>t)} 243 ${this._selectedShipping?.name} ${this._selectedShipping?.pickupPoint?.code} 244 ${this._selectedShipping?.pickupPoint?.address.street} 245 ${this._selectedShipping?.pickupPoint?.address.postalCode} 246 ${this._selectedShipping?.pickupPoint?.address.city} 247 ${this._selectedShipping?.pickupPoint?.address.description} ${this._selectedShipping?.description} 248 </div> 249 </div> 250 251 <div class="basket-summary__box"> 252 <h3 class="basket-summary__box-header"> 253 <h-icon 254 size="l" 255 icon-name="icon-user" 256 aria-hidden="true" 257 ></h-icon> 258 259 ${i("Order details")} 260 </h3> 261 262 <div class="basket-summary__box-content"> 263 <p> 264 ${this._basket?.billingAddress?.firstName} ${this._basket?.billingAddress?.lastName} 265 ${l(this._basket?.billingAddress?.companyName,()=>e`(${this._basket?.billingAddress?.companyName})`,()=>t)} 266 </p> 267 268 ${l(this._basket?.billingAddress?.companyName,()=>e`<p>${i("Tax ID")} ${this._basket?.billingAddress?.taxId}</p>`,()=>t)} 269 270 <p class="p_no-margin">${this._basket?.billingAddress?.street}</p> 271 <p class="p_no-margin">${this._basket?.billingAddress?.zipCode} ${this._basket?.billingAddress?.city}</p> 272 <p class="p_no-margin"> 273 ${i(this._settingsApi.getCountryById(Number(this._basket?.billingAddress?.countryId))?.name||"")} 274 </p> 275 276 <p class="p_no-margin">${this._basket?.billingAddress?.phone}</p> 277 <p class="p_no-margin">${this._basket?.billingAddress?.email}</p> 278 </div> 279 </div> 280 281 ${l(this._shouldDisplayShippingAddress(),()=>e` <div class="basket-summary__box"> 282 <h3 class="basket-summary__box-header"> 283 <h-icon 284 size="l" 285 icon-name="icon-map-pin" 286 aria-hidden="true" 287 ></h-icon> 288 289 ${i("Delivery details")} 290 </h3> 291 292 <div class="basket-summary__box-content"> 293 <p> 294 ${this._basket?.shippingAddress?.firstName} ${this._basket?.shippingAddress?.lastName} 295 ${l(this._basket?.shippingAddress?.companyName,()=>e`(${this._basket?.shippingAddress?.companyName})`,()=>t)} 296 </p> 297 298 <p class="p_no-margin">${this._basket?.shippingAddress?.street}</p> 299 <p class="p_no-margin"> 300 ${this._basket?.shippingAddress?.zipCode} ${this._basket?.shippingAddress?.city} 301 </p> 302 <p class="p_no-margin"> 303 ${i(this._settingsApi.getCountryById(Number(this._basket?.shippingAddress?.countryId))?.name||"")} 304 </p> 305 306 <p>${this._basket?.shippingAddress?.phone}</p> 307 </div> 308 </div>`,()=>t)} 309 </div> 310 311 <div class="grid__col grid__col_xs-12 grid__col_sm-6"> 312 <div class="basket-summary__box"> 313 <h3 class="basket-summary__box-header"> 314 <h-icon 315 size="l" 316 icon-name="icon-credit-card" 317 aria-hidden="true" 318 ></h-icon> 319 320 ${i("Choosen payment method")} 321 </h3> 322 323 <div class="basket-summary__box-content basket-summary__payments-list"> 324 ${l(this._isDevGiftCardsFlagEnabled&&(this._basket?.giftCards?.count??0)>0,()=>this._basket?.giftCards?.list.map(s=>this._renderPaymentMethod({name:`${this.giftCardsPaymentName||""} (...${s.truncatedCode})`,accessibleName:this._translationApi.translate("Gift card ending with {{ code }}",{code:s.truncatedCode}),amount:s.payWithCard.grossValueFormatted})))} 325 ${l(this._selectedPayment,()=>this._renderPaymentMethod({name:this._selectedPayment?.name,amount:this._isDevGiftCardsFlagEnabled?this._basket?.sumToPay?.grossValueFormatted:void 0,image:this._selectedPayment?.image}))} 326 </div> 327 </div> 328 329 ${l(this._basket?.comment,()=>e` <div class="basket-summary__box"> 330 <h3 class="basket-summary__box-header"> 331 <h-icon 332 size="l" 333 icon-name="icon-edit" 334 aria-hidden="true" 335 ></h-icon> 336 337 ${i("Order notes")} 338 </h3> 339 340 <div class="basket-summary__box-content">${this._basket?.comment}</div> 341 </div>`,()=>t)} 342 ${l(this._basket?.loyaltyPointsAwarded&&this._basket?.loyaltyPointsAwarded?.points>0,()=>e` <div class="basket-summary__box"> 343 <header class="basket-summary__box-header"> 344 <h-icon 345 size="l" 346 icon-name="icon-gift" 347 aria-hidden="true" 348 ></h-icon> 349 350 ${i("Loyalty program")} 351 </header> 352 353 <div class="basket-summary__box-content">${A(this._loyaltyPointsAwardedInfo)}</div> 354 </div>`,()=>t)} 355 </div> 356 </div> 357 </section> 358 `,()=>t)}`}}
358_([m({type:String,attribute:"basket-id"})],n.prototype,"basketId");_([m({type:String,attribute:"order-id"})],n.prototype,"orderId");_([m({type:String,attribute:"gift-cards-payment-name"})],n.prototype,"giftCardsPaymentName");_([c()],n.prototype,"_basket");_([c()],n.prototype,"_selectedShipping");_([c()],n.prototype,"_selectedPayment");_([c()],n.prototype,"_selectedPaymentCost");_([c()],n.prototype,"_loyaltyPointsAwardedInfo");_([c()],n.prototype,"_locales");class j extends v{static{this.featureName=b.feature}init(){return{cores:[{type:k,instance:n}]}}}export{j as BasketDoneInitializer};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.