{"version":3,"file":"135.7cb3ef70f830bda3.js","mappings":"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","names":["BasketQuantityComponent","constructor","elm","basketService","this","quantity","step","pressedNumber","DomUtils","pastedNumber","setQuantity","debounce","formElm","nativeElement","closest","data","FormData","form","groupLine","sku","get","replaces","lines","getAll","map","addon","updateOrCreateLines","setStep","inputElm","querySelector","value","static","__ngFactoryType__","i0","i1","core","VBU","selectors","inputs","features","provide","NG_VALUE_ACCESSOR","multi","useExisting","decls","vars","consts","template","rf","ctx","$event","tmp_0_0","undefined","tmp_1_0","tmp_2_0","variantOption_r2","title","indicator_r3","textColor","backgroundColor","text","_c1","discount_r4","_c2","amount","BasketLineComponent_For_25_Conditional_0_Template","BasketLineComponent_For_25_Conditional_1_Template","type","BasketLineComponent_Conditional_29_For_2_Template","_forTrack0","ctx_r5","addons","BasketLineComponent","removeDebounced","deleteLine","line","id","ngOnInit","srcset","ImageUtil","productCardSrcset","imageUrl","image","length","href","remove","basket","_r1","BasketLineComponent_For_16_Template","BasketLineComponent_For_19_Template","_forTrack1","BasketLineComponent_For_25_Template","_forTrack2","BasketLineComponent_Conditional_29_Template","tmp_5_0","tmp_6_0","saleUnitSize","productUrl","name","variantOptions","indicators","_c0","unitPrice","salesPrice","vatAmount","currency","discounts","totalPrice","line_r1","basket_r2","BasketComponent_Conditional_0_Conditional_0_For_13_Template","BasketComponent_Conditional_0_Conditional_0_Template","BasketComponent_Conditional_0_Conditional_1_Template","_r3","ctx_r3","BasketComponent","basket$","BasketComponent_Conditional_0_Template","BasketComponent_Conditional_2_Template","BasketPageComponent","PageBase","router","route","language","super","basketQuantity$","pipe","startWith","b","_this","_asyncToGenerator","menu","ContentCacheUtils","checkout","lastValueFrom","take","queueMicrotask","GA4","track","MapToGA4","viewCart","i2","LANGUAGE","standalone","checkoutPageLink","usp","CommonModule","i3","CheckoutPageModule","i4","i5","i6","StepComponent","styles","changeDetection"],"ignoreList":[],"sourceRoot":"webpack:///","sources":["./src/app/checkout-page/components/basket-quantity/basket-quantity.component.ts","./src/app/checkout-page/components/basket-quantity/basket-quantity.component.html","./src/app/checkout-page/components/basket-line/basket-line.component.html","./src/app/checkout-page/components/basket-line/basket-line.component.ts","./src/app/checkout-page/components/basket/basket.component.html","./src/app/checkout-page/components/basket/basket.component.ts","./src/app/checkout-page/pages/basket-page/basket-page.component.ts","./src/app/checkout-page/pages/basket-page/basket-page.component.html"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ElementRef, Input } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { AddBasketLineItemsModel } from 'src/business/services/client.generated';\nimport { FormControlValueAccessor } from 'src/core-lib/value-accessors/form-control-value-accessor.abstract';\nimport { debounce } from 'src/utils/debounce';\nimport { DomUtils } from 'src/utils/dom.util';\nimport { BasketService } from '../../services/basket.service';\n\n\n@Component({\n selector: 'app-basket-quantity',\n templateUrl: './basket-quantity.component.html',\n styleUrls: ['./basket-quantity.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: BasketQuantityComponent\n }\n ]\n})\nexport class BasketQuantityComponent {\n @Input() quantity: number = 1;\n @Input() step: number = 1;\n\n constructor(\n private elm: ElementRef,\n private basketService: BasketService\n ) {}\n\n pressedNumber = DomUtils.pressedNumber;\n pastedNumber = DomUtils.pastedNumber;\n setQuantity = debounce(() => {\n var formElm = this.elm.nativeElement.closest('form');\n var data = new FormData(formElm);\n var form: AddBasketLineItemsModel = {\n groupLine: { sku: data.get('groupLine') as string, quantity: +data.get('quantity') },\n replaces: data.get('line') as string,\n lines: data.getAll('addon').map(addon => ({ sku: addon as string, quantity: +data.get('quantity') }))\n };\n this.basketService.updateOrCreateLines(form);\n return false;\n }, 700);\n\n setStep(step: number) {\n var inputElm = this.elm.nativeElement.querySelector('input');\n inputElm.value = +inputElm.value + step;\n this.setQuantity();\n }\n}\n","\n\n\n","
0 ? '' : null\"\n [id]=\"line.id\"\n #form>\n \n \n \n \n \n \n \n \n \n \n {{ line?.name }}\n \n @for(variantOption of line.variantOptions; track variantOption.id){\n {{ variantOption.title }} {{ variantOption.value }},\n }\n \n \n
\n @for(indicator of line?.indicators; track indicator.text) {\n {{ indicator.text }}\n }\n
\n \n {{ {amount:line?.unitPrice?.salesPrice?.amount - line?.unitPrice?.vatAmount?.amount, currency:line?.unitPrice?.salesPrice?.currency} | price }}\n @for(discount of line?.unitPrice?.discounts; track discount.reference) {\n @if(discount.type == 'Amount') {\n {{ 'BASKET.DISCOUNT_LABEL_AMOUNT'|translate:{price:(discount | price)} }}\n } @else {\n {{ 'BASKET.DISCOUNT_LABEL_PERCENT'|translate:{percent:(discount.amount+'%')} }}\n }\n }\n \n {{ {amount:line?.totalPrice?.salesPrice?.amount - line?.totalPrice?.vatAmount?.amount, currency:line?.totalPrice?.salesPrice?.currency} | price }}\n @if(addons?.length > 0) {\n \n @for(addon of addons; track addon.id) {\n \n }\n \n }\n
\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';\nimport { BasketReturnModel, LineItemReturnModel } from 'src/business/services/client.generated';\nimport { SourceSet } from 'src/core-lib/umbraco/umbraco-image.model';\nimport { ImageUtil } from 'src/layout/media/image.util';\nimport { debounce } from 'src/utils/debounce';\nimport { BasketService } from '../../services/basket.service';\n\n@Component({\n selector: 'app-basket-line',\n templateUrl: './basket-line.component.html',\n styleUrls: ['./basket-line.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BasketLineComponent implements OnInit {\n image: string;\n srcset: SourceSet[];\n\n @Input()\n line: LineItemReturnModel;\n @Input()\n addons: LineItemReturnModel[];\n @Input()\n basket: BasketReturnModel;\n removeDebounced: (...args: any[]) => void;\n\n constructor(private basketService: BasketService) {\n this.removeDebounced = debounce(() => this.basketService.deleteLine([this.line.id, ...(this.addons || []).map(addon => addon.id)]));\n }\n\n ngOnInit(): void {\n this.srcset = ImageUtil.productCardSrcset(this.line.imageUrl);\n this.image = this.srcset[this.srcset.length -1]?.srcset?.href;\n }\n\n remove() {\n this.removeDebounced();\n return false;\n }\n\n\n}\n","@if(basket$ | async; as basket) {\n @if(basket?.lines?.length > 0) {\n
\n {{ 'BASKET.PRODUCT_NAME_LABEL' | translate }}\n \n {{ 'BASKET.UNIT_PRICE_LABEL' | translate }}\n {{ 'BASKET.TOTAL_PRICE_LABEL' | translate }}\n
\n
\n @for(line of basket?.lines | parents; track line.id) {\n \n \n }\n
\n } @else {\n

{{ 'BASKET.EMPTY' | translate }}

\n }\n} @else {\n

{{ 'BASKET.NOT_LOADED' | translate }}

\n \n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { BasketReturnModel } from 'src/business/services/client.generated';\nimport { ImageUtil } from 'src/layout/media/image.util';\nimport { BasketService } from '../../services/basket.service';\n\n@Component({\n selector: 'app-basket',\n templateUrl: './basket.component.html',\n styleUrls: ['./basket.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BasketComponent {\n basket$: Observable;\n constructor(\n private basketService: BasketService,\n ) {\n this.basket$ = basketService.basket$;\n }\n get() {\n this.basketService.get();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Inject, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { lastValueFrom, Observable } from 'rxjs';\nimport { map, startWith, take, tap } from 'rxjs/operators';\nimport { MapToGA4 } from 'src/business/Mapper/map-to-ga4-item';\nimport { CheckoutConfiguration, MenuConfiguration } from 'src/business/models/main-configuration.model';\nimport { LANGUAGE } from 'src/core-lib/misselaineous/boot.tokens';\nimport { PageBase } from 'src/core-lib/navigation/base-page';\nimport { ComponentPage } from 'src/core-lib/navigation/models/component-page.model';\nimport { Page } from 'src/core-lib/navigation/models/page.interface';\nimport { UmbracoImage } from 'src/core-lib/umbraco/umbraco-image.model';\nimport { GA4 } from 'src/externals/tag-manager/models/ga4.model';\nimport { StepComponent } from 'src/layout/step/step.component';\nimport { ContentCacheUtils } from 'src/utils/storage.util';\nimport { CheckoutPageModule } from '../../checkout-page.module';\nimport { BasketService } from '../../services/basket.service';\n\n\n\ninterface BasketPage extends Page {\n store_image: UmbracoImage;\n contact_image: UmbracoImage;\n cards: Array;\n}\n\n@Component({\n selector: 'app-basket-page',\n standalone: true,\n imports: [\n CommonModule,\n CheckoutPageModule,\n StepComponent,\n ],\n templateUrl: './basket-page.component.html',\n styleUrls: ['./basket-page.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BasketPageComponent extends PageBase implements ComponentPage, OnInit {\n page: BasketPage;\n menu: Partial;\n\n checkout: Partial;\n basketQuantity$: Observable;\n\n\n constructor(\n private basketService: BasketService,\n\n private router: Router,\n route: ActivatedRoute,\n @Inject(LANGUAGE)\n public language: string\n ) {\n super(route);\n this.basketQuantity$ = this.basketService.basket$.pipe(startWith(null), map(b => (b?.quantity ?? 0) == 0))\n }\n async ngOnInit() {\n this.menu = ContentCacheUtils.menu();\n this.checkout = ContentCacheUtils.checkout();\n let basket = await lastValueFrom(this.basketService.basket$.pipe(take(1)));\n queueMicrotask(() =>\n GA4.track(MapToGA4.viewCart(basket))\n )\n }\n\n\n}\n","\n \n\n \n\n\n"],"x_google_ignoreList":[]}