{"version":3,"file":"824.0371fe54d5a1477d.js","mappings":"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","names":["CheckoutPageModule","static","this","__ngFactoryType__","_angular_core__WEBPACK_IMPORTED_MODULE_6__","$C","G2t","ReactiveFormsModule","CommonModule","TranslateModule","MediaModule","NavigationModule","PipeModule","BreadcrumbsModule","GoogleMapsModule","GridModule","UspBulkModule","RelatedProductsElementModule","VarModule","i0","price_r1","text","tmp_12_0","data","undefined","_c0","price","_c1","BasketSummaryComponent_For_1_Conditional_0_Template","BasketSummaryComponent_For_1_Conditional_1_Template","BasketSummaryComponent","_basket","b","basketInput","set","constructor","basketService","_detector","signal","basketSignal","toSignal","basket$","paymentFeeSignal","vat","name","onFormChange","ev","elm","target","getAttribute","prices","computed","basketFromInput","basketFromService","basket","paymentFee","push","_totalExVat","_totalShipping","_ecological","_paymentTermFee","_totalVat","_totalDiscount","amount","currency","_total","filter","p","afterNextRender","document","forms","namedItem","addEventListener","passive","ngOnDestroy","removeEventListener","shippingTotal","shippingTotalVat","total","totalDiscount","fee","Array","isArray","paymentTerms","payment","ecoFee","ecoFeeVat","totalVat","subtotal","subtotalVat","i1","_angular_core__WEBPACK_IMPORTED_MODULE_2__","VBU","selectors","inputs","decls","vars","consts","template","rf","ctx","BasketSummaryComponent_For_1_Template","_forTrack0","UspBulkElementComponent","SettingsSetterDirective","ngOnInit","super","gap","settings","isNaN","contentWidth","hostVars","hostBindings","layout","components","uspBulkElement","PageBase","_route","subscriptions","page","snapshot","content","pipe","skip","subscribe","forEach","s","closed","unsubscribe","_angular_core__WEBPACK_IMPORTED_MODULE_1__","standalone","features","dependencies","encapsulation","_angular_core__WEBPACK_IMPORTED_MODULE_0__","ctx_r3","currentLink","$index_r3","step_r2","title","StepComponent_For_15_Conditional_0_Template","StepComponent_For_15_Conditional_1_Template","currentIndex","link","submit","StepComponent_Conditional_17_Conditional_3_Template","StepComponent_Conditional_17_Conditional_4_Template","StepComponent","_elm","stepper","id","Uuid","create","hide","open","EventEmitter","window","location","pathname","ngAfterContentChecked","parentSteps","children","toArray","indexOf","formId","form","nativeElement","querySelector","StepComponent_For_15_Template","StepComponent_Conditional_17_Template","description","backLink","backLinkText","disableButton","i2","i3","i4","styles","changeDetection","StepperComponent","_location","_router","sub","events","e","NavigationEnd","step","URL","href","searchParams","get","_update","ngAfterContentInit","next","scrollTo","length","current","child","emit","URLSearchParams","UrlUtil","STEP_PREFIX","delete","_url","safeUrl","url","SerializerUtil","serialize","go","getCurrentNavigation","_angular_core__WEBPACK_IMPORTED_MODULE_5__","contentQueries","dirIndex"],"ignoreList":[],"sourceRoot":"webpack:///","sources":["./src/app/checkout-page/checkout-page.module.ts","./src/app/checkout-page/components/basket-summary/basket-summary.component.html","./src/app/checkout-page/components/basket-summary/basket-summary.component.ts","./src/business/grid/usp-bulk/usp-bulk.component.ts","./src/business/grid/usp-bulk/usp-bulk.component.html","./src/business/grid/usp-bulk/usp-bulk.module.ts","./src/core-lib/navigation/base-page.ts","./src/externals/google-maps/google-maps.module.ts","./src/layout/step/step.component.html","./src/layout/step/step.component.ts","./src/layout/stepper/stepper.component.ts","./src/layout/stepper/stepper.component.html"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { RelatedProductsElementModule } from 'src/business/grid/related-products/related-products.module';\nimport { UspBulkModule } from 'src/business/grid/usp-bulk/usp-bulk.module';\nimport { NavigationModule } from 'src/core-lib/navigation/navigation.module';\nimport { PipeModule } from 'src/core-lib/pipes/pipe.module';\nimport { VarModule } from 'src/core-lib/var/var.module';\nimport { GoogleMapsModule } from 'src/externals/google-maps/google-maps.module';\nimport { BreadcrumbsModule } from 'src/layout/breadcrumbs/breadcrumbs.module';\nimport { GridModule } from 'src/layout/grid/grid.module';\nimport { MediaModule } from 'src/layout/media/media.module';\nimport { BasketAddonLineStaticComponent } from './components/basket-addon-line-static/basket-addon-line-static.component';\nimport { BasketAddonLineComponent } from './components/basket-addon-line/basket-addon-line.component';\nimport { BasketAddressStaticComponent } from './components/basket-address-static/basket-address-static.component';\nimport { BasketLineStaticComponent } from './components/basket-line-static/basket-line-static.component';\nimport { BasketLineComponent } from './components/basket-line/basket-line.component';\nimport { BasketQuantityComponent } from './components/basket-quantity/basket-quantity.component';\nimport { BasketStaticComponent } from './components/basket-static/basket-static.component';\nimport { BasketSummaryComponent } from './components/basket-summary/basket-summary.component';\nimport { BasketComponent } from './components/basket/basket.component';\nimport { CheckoutAddressComponent } from './components/checkout-address/checkout-address.component';\nimport { CheckoutContactComponent } from './components/checkout-contact/checkout-contact.component';\nimport { CheckoutHoursOfOperationComponent } from './components/checkout-hours-of-operation/checkout-hours-of-operation.component';\nimport { CheckoutPaymentCardsComponent } from './components/checkout-payment-cards/checkout-payment-cards.component';\nimport { CheckoutPaymentComponent } from './components/checkout-payment/checkout-payment.component';\nimport { CheckoutShippingAddressComponent } from './components/checkout-shipping-address/checkout-shipping-address.component';\nimport { CheckoutShippingDroppointComponent } from './components/checkout-shipping-droppoint/checkout-shipping-droppoint.component';\nimport { CheckoutShippingComponent } from './components/checkout-shipping/checkout-shipping.component';\nimport { InvoiceAddonLineComponent } from './components/invoice-addon-line/invoice-addon-line.component';\nimport { InvoiceLineComponent } from './components/invoice-line/invoice-line.component';\nimport { AddonsPipe } from './pipes/addons.pipe';\nimport { ControlsPipe } from './pipes/controls.pipe';\nimport { GetExtrasPipe } from './pipes/get-extras.pipe';\nimport { MarkersPipe } from './pipes/markers.pipe';\nimport { ParentsPipe } from './pipes/parents.pipe';\nimport { SumTotalPricePipe } from './pipes/sum-total-price.pipe';\n\n\n@NgModule({\n declarations: [\n AddonsPipe,\n BasketAddonLineComponent,\n BasketAddonLineStaticComponent,\n BasketAddressStaticComponent,\n BasketComponent,\n BasketLineComponent,\n BasketLineStaticComponent,\n BasketQuantityComponent,\n BasketStaticComponent,\n BasketSummaryComponent,\n CheckoutAddressComponent,\n CheckoutContactComponent,\n CheckoutHoursOfOperationComponent,\n CheckoutPaymentCardsComponent,\n CheckoutPaymentComponent,\n CheckoutShippingAddressComponent,\n CheckoutShippingComponent,\n CheckoutShippingDroppointComponent,\n ControlsPipe,\n GetExtrasPipe,\n InvoiceAddonLineComponent,\n InvoiceLineComponent,\n MarkersPipe,\n ParentsPipe,\n SumTotalPricePipe,\n ],\n imports: [\n ReactiveFormsModule,\n CommonModule,\n TranslateModule,\n MediaModule,\n NavigationModule,\n PipeModule,\n BreadcrumbsModule,\n GoogleMapsModule,\n GridModule,\n UspBulkModule,\n RelatedProductsElementModule,\n VarModule,\n ],\n exports: [\n AddonsPipe,\n BasketAddonLineComponent,\n BasketAddonLineStaticComponent,\n BasketAddressStaticComponent,\n BasketComponent,\n BasketLineComponent,\n BasketLineStaticComponent,\n BasketQuantityComponent,\n BasketStaticComponent,\n BasketSummaryComponent,\n BreadcrumbsModule,\n CheckoutAddressComponent,\n CheckoutContactComponent,\n CheckoutHoursOfOperationComponent,\n CheckoutPaymentCardsComponent,\n CheckoutPaymentComponent,\n CheckoutShippingAddressComponent,\n CheckoutShippingComponent,\n CheckoutShippingDroppointComponent,\n CommonModule,\n ControlsPipe,\n GetExtrasPipe,\n GoogleMapsModule,\n GridModule,\n InvoiceAddonLineComponent,\n InvoiceLineComponent,\n MarkersPipe,\n MediaModule,\n NavigationModule,\n ParentsPipe,\n PipeModule,\n ReactiveFormsModule,\n RelatedProductsElementModule,\n SumTotalPricePipe,\n TranslateModule,\n UspBulkModule,\n VarModule,\n ]\n})\nexport class CheckoutPageModule {\n\n}\n","@for(price of prices(); track price.text) {\n @if(price.text === 'line') {\n
\n } @else {\n
\n {{ 'BASKET.'+price.text | uppercase | translate:price.data??{} }}\n {{ price.price | price: { showZeroValue:true } }}\n
\n }\n}\n","import { afterNextRender, ChangeDetectionStrategy, ChangeDetectorRef, Component, computed, Input, OnDestroy, signal, Signal } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { Subscription } from 'rxjs';\nimport { BasketReturnModel, Money, OrderReturnModel } from 'src/business/services/client.generated';\nimport { BasketService } from '../../services/basket.service';\n\n@Component({\n selector: 'app-basket-summary',\n templateUrl: './basket-summary.component.html',\n styleUrls: ['./basket-summary.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BasketSummaryComponent implements OnDestroy {\n prices: Signal>;\n subscription: Subscription;\n basketInput = signal(null)\n onFormChange: (ev: Event) => void;\n\n @Input('basket')\n set _basket(b: BasketReturnModel) {\n this.basketInput.set(b);\n }\n\n constructor(private basketService: BasketService, private _detector: ChangeDetectorRef) {\n let basketSignal = toSignal(this.basketService.basket$);\n let paymentFeeSignal = signal<{ price: number, vat: number, name: string, data?: { [key: string]: string } }>({ price: 0, vat: 0, name: '' });\n this.onFormChange = (ev: Event) => {\n let elm = (ev.target as HTMLInputElement);\n if (elm.name == 'paymentMethodId')\n paymentFeeSignal.set({ price: +(elm.getAttribute('price') ?? ''), vat: +(elm.getAttribute('vat') ?? ''), name: elm.getAttribute('label') })\n }\n this.prices = computed(() => {\n let basketFromInput = this.basketInput();\n let basketFromService = basketSignal();\n let basket = basketFromInput ?? basketFromService;\n let paymentFee = paymentFeeSignal();\n if (basket == null)\n return [];\n let prices: Array<{ text: string, price: Money }> = [];\n prices.push(this._totalExVat(basket))\n prices.push(this._totalShipping(basket))\n prices.push(this._ecological(basket))\n prices.push(this._paymentTermFee(basket as OrderReturnModel, paymentFee))\n prices.push(this._totalVat(basket, paymentFee.vat))\n prices.push(this._totalDiscount(basket))\n prices.push({ text: 'line', price: { amount: 0, currency: 'XXX' } });\n prices.push(this._total(basket, paymentFee.price + paymentFee.vat))\n return prices.filter(p => p != null);\n });\n afterNextRender(() => {\n document?.forms?.namedItem('payment-form')?.addEventListener('change', this.onFormChange, { passive: true })\n })\n }\n ngOnDestroy(): void {\n document?.forms?.namedItem('payment-form')?.removeEventListener('change', this.onFormChange)\n }\n private _totalShipping(basket: BasketReturnModel) {\n if ((basket?.shippingTotal?.amount ?? 0) > 0)\n return { text: 'total_shipping', price: { amount: basket.shippingTotal.amount - (basket?.shippingTotalVat?.amount ?? 0), currency: basket.shippingTotal.currency } };\n return;\n }\n private _total(basket: BasketReturnModel, paymentFee: number) {\n if ((basket?.total?.amount ?? 0) > 0)\n return {\n text: 'total_in_vat', price: {\n amount: basket?.total?.amount + paymentFee,\n currency: basket?.total?.currency\n }\n };\n return;\n }\n private _totalDiscount(basket: BasketReturnModel) {\n if ((basket?.totalDiscount?.amount ?? 0) > 0)\n return { text: 'total_discount', price: basket.totalDiscount };\n return;\n }\n private _paymentTermFee(basket: BasketReturnModel | OrderReturnModel, fee: { price: number, vat: number, name: string }) {\n if (fee?.price ?? 0 > 0) // TODO\n return { text: 'total_fee', price: { amount: fee?.price, currency: basket?.currency }, data: { name: fee.name } };\n\n if (Array.isArray(basket?.paymentTerms))\n return;\n\n let payment = (basket as OrderReturnModel).paymentTerms;\n if ((payment?.amount?.amount ?? 0) > 0) {\n return { text: 'total_fee', price: { amount: payment.amount.amount - (payment?.vat?.amount ?? 0), currency: payment.amount.currency }, data: { name: payment.name } };\n }\n\n return;\n }\n private _ecological(basket: BasketReturnModel) {\n if ((basket.ecoFee?.amount ?? 0) > 0)\n return { text: 'total_ecoFee', price: { amount: basket.ecoFee.amount - (basket?.ecoFeeVat?.amount ?? 0), currency: basket.ecoFee.currency } }\n return;\n }\n private _totalVat(basket: BasketReturnModel, paymentFee: number) {\n if ((basket?.totalVat?.amount ?? 0) > 0)\n return {\n text: 'total_vat', price: {\n amount: basket?.totalVat?.amount + paymentFee,\n currency: basket?.totalVat?.currency\n }\n };\n return;\n }\n private _totalExVat(basket: BasketReturnModel) {\n if ((basket?.subtotal?.amount ?? 0) > 0)\n return {\n text: 'total_ex_vat', price: {\n amount:\n (basket?.subtotal?.amount ?? 0) - (basket?.subtotalVat?.amount ?? 0)\n , currency: (basket?.subtotal?.currency ?? 'XXX')\n }\n };\n return;\n }\n\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnInit } from '@angular/core';\nimport { UmbracoGridElement } from 'src/layout/grid/models/umbraco-grid-element.interface';\nimport { GeneralElementSettings, SettingsSetterDirective } from '../../models/general-element-settings';\n\n\ninterface UspSettings extends GeneralElementSettings {\n gap: string;\n contentWidth: string;\n}\n\n\n@Component({\n selector: 'app-usp-bulk-element',\n templateUrl: './usp-bulk.component.html',\n styleUrls: ['./usp-bulk.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class UspBulkElementComponent extends SettingsSetterDirective implements OnInit {\n @HostBinding('style.--gap')\n gap: string;\n\n @HostBinding('style.--inner-content-width')\n contentWidth: string;\n\n @Input()\n declare settings: UspSettings;\n\n @Input()\n layout?: { layout: UmbracoGridElement[] };\n\n ngOnInit() {\n super.ngOnInit();\n this.gap = this.settings.gap;\n this.gap = isNaN(+this.gap) || +this.gap === 0 ? this.gap : this.gap + 'px';\n this.contentWidth = this.settings.contentWidth;\n this.contentWidth = isNaN(+this.contentWidth) || +this.contentWidth === 0 ? this.contentWidth : this.contentWidth + 'px';\n // this.maxWidth = null;\n }\n}\n","\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { GridModule } from 'src/layout/grid/grid.module';\nimport { UspBulkElementComponent } from './usp-bulk.component';\n\n\n\n@NgModule({\n declarations: [UspBulkElementComponent],\n imports: [\n CommonModule,\n GridModule,\n ],\n exports: [UspBulkElementComponent]\n})\nexport class UspBulkModule {\n static components = { 'uspBulkElement': UspBulkElementComponent };\n}\n","import { CommonModule } from '@angular/common';\nimport { Component, OnDestroy, OnInit } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { skip, Subscription } from 'rxjs';\nimport { Page } from './models/page.interface';\n\n@Component({\n standalone: true,\n imports: [CommonModule],\n selector: 'page-base',\n template: ''\n})\nexport class PageBase implements OnDestroy, OnInit {\n page: Page;\n protected subscriptions:Array\n constructor(\n protected _route: ActivatedRoute,\n ) {\n this.subscriptions = [];\n this.page = this._route?.snapshot?.data?.content?.page;\n this.subscriptions.push(this._route.data.pipe(skip(1)).subscribe(data => {\n this.page = data?.content?.page;\n this.ngOnInit();\n }))\n }\n ngOnInit() {}\n ngOnDestroy(): void {\n this.subscriptions.forEach(s => {\n if(s != null && !s.closed)\n s.unsubscribe();\n })\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { GoogleMapsComponent } from './google-maps.component';\n\n\n\n@NgModule({\n declarations: [GoogleMapsComponent],\n imports: [CommonModule],\n exports: [GoogleMapsComponent],\n providers: []\n})\nexport class GoogleMapsModule {}\n","
\n
\n

\n \n {{ title }}\n

\n

{{ description }}

\n \n \n {{ backLinkText }}\n \n
\n
\n
\n @for(step of parentSteps; track step.id){\n @if(currentIndex >= $index ) {\n ;\n\n @Input()\n title: string;\n\n @Input()\n description: string;\n\n @Input()\n disableButton: boolean;\n\n @Input()\n submit: string;\n\n @Input()\n link?: string;\n @Input()\n backLink?: string;\n @Input()\n backLinkText?: string;\n\n parentSteps: QueryList;\n formId: string;\n\n @Input('hide')\n @HostBinding('hidden')\n hide: boolean = true;\n currentLink: string;\n currentIndex: number;\n form: HTMLFormElement | null;\n constructor(\n private _elm: ElementRef,\n private _detector: ChangeDetectorRef,\n @Host()\n @Optional()\n public stepper: StepperComponent,\n ) {\n this.open = new EventEmitter();\n this.currentLink = window.location.pathname;\n }\n\n ngAfterContentChecked() {\n if (this.stepper == null)\n return;\n this.parentSteps = this.stepper.children;\n this.currentIndex = this.parentSteps.toArray().indexOf(this)\n if (this.formId == null) {\n this.form = this._elm.nativeElement.querySelector('form[main]');\n this.formId = this.form?.id\n }\n\n\n }\n\n\n}\n","import { Location } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ContentChildren, OnDestroy, QueryList } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { filter, Subscription } from 'rxjs';\nimport { SerializerUtil } from 'src/utils/serializer.util';\nimport { UrlUtil } from 'src/utils/url.util';\nimport { StepComponent } from '../step/step.component';\n\n@Component({\n selector: 'app-stepper',\n standalone: true,\n imports: [StepComponent],\n templateUrl: './stepper.component.html',\n styleUrl: './stepper.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class StepperComponent implements OnDestroy {\n @ContentChildren(StepComponent) children: QueryList;\n step: number;\n current: StepComponent;\n sub: Subscription;\n\n constructor(\n private _location: Location,\n private _router: Router,\n ) {\n this.sub = this._router.events.pipe(filter(e => e instanceof NavigationEnd)).subscribe(e => {\n try {\n this.step = +(new URL(window.location.href).searchParams.get('step')) ?? 0;\n } catch {\n this.step = 0;\n }\n this._update()\n })\n }\n\n ngOnDestroy() {\n if (this.sub != null && !this.sub.closed)\n this.sub.unsubscribe()\n }\n\n ngAfterContentInit() {\n this._update();\n }\n\n next() {\n this.step++;\n this._update();\n }\n\n private _update() {\n window.scrollTo(0, 0);\n if (this.children == null || this.children.length == 0)\n return;\n if (this.children.length > this.step && this.step >= 0)\n this.current = this.children.get(this.step)\n else {\n this.children.first;\n this.step = 0;\n }\n this.children.forEach(child => {\n child.hide = this.current != child\n });\n this.current.open.emit();\n //update url\n var searchParams = new URLSearchParams();\n if (this.step > 0)\n searchParams.set(UrlUtil.STEP_PREFIX, this.step + ''); // NOTE: + '' to make it string\n else\n searchParams.delete(UrlUtil.STEP_PREFIX)\n var _url = UrlUtil.safeUrl(searchParams);\n if (_url.href === window.location.href)\n return;\n var url = SerializerUtil.serialize(_url);\n this._location.go(url);\n this._router.getCurrentNavigation();\n }\n}\n","\n"],"x_google_ignoreList":[]}