{"version":3,"file":"booking.0cdffbecbdd73964.js","mappings":"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","names":["PaymentType","DEBIT_CARD","CREDIT_CARD","APPLE_PAY","ALIPAY","ALIPAY_WAP","BANK","IDEAL","WECHAT","UNIONPAY","SOFORT","PAYPAL","KLARNA","KLARNA_ACCOUNT","NORDEA","NORDEA_ECREDIT","NORDEA_SE","NORDEA_EE","SAMPO","OKO","HANDELSBANKEN","ALANDSBANKEN","SPANKKI","AKTIA","SP","POP","VIPPS","SWISH","GIROPAY","UNKNOWN","GIFT_CARD","MOBILE_PAY","TRUSTLY","ADYEN_PAYMENT_CARD","INDIA_NETBANKING","INDIA_UPI","INDIA_WALLET","PaymentSubType","AX","AY","CA","DC","JC","TP","VI","mopIcons","i0","ctx_r0","payment","mopSubType","iconCategory","icon","PaymentMethodComponent","constructor","sentryLogger","this","defaultClass","PAYMENT_TYPE","getIsCreditCard","indexOf","mopType","getIsBank","getIcon","isCreditCard","isBank","error","getIconCategory","IconLibrary","SVG_LIBRARY","PAYMENTS","ngOnInit","static","__ngFactoryType__","i1","core","VBU","selectors","hostVars","hostBindings","rf","ctx","PaymentMethodComponent_span_4_Template","PaymentMethodComponent_fcom_icon_9_Template","id","IncludesPipe","transform","array","value","includes","_angular_core__WEBPACK_IMPORTED_MODULE_0__","EJ8","pure","CommonBookingPurchaseSuccessModule","$C","G2t","CommonModule","ComponentsModule","PipesModule","GtmModule","IconsModule","UiTranslateModule","PurchaseSuccessService","PARAM_ORDER_ID","PARAM_HASH","orderHasToBeRefetched","order","status","fetchInformation","paramMap","isOrderDataValid","hasOrderQueryParams","OrderStatus","LOAD_ERROR","requestedOrderId","has","requestedHash","jDH","factory","ɵfac"],"ignoreList":[],"sourceRoot":"webpack:///","sources":["./src/modules/common-booking/modules/purchase-success/interfaces/state.interface.ts","./src/modules/common-booking/modules/purchase-success/components/payment-method/payment-icons-utils.ts","./src/modules/common-booking/modules/purchase-success/components/payment-method/payment-method.component.html","./src/modules/common-booking/modules/purchase-success/components/payment-method/payment-method.component.ts","./src/modules/common/pipes/includes.pipe.ts","./src/modules/common-booking/modules/purchase-success/purchase-success.module.ts","./src/modules/common-booking/modules/purchase-success/services/purchase-success.service.ts"],"sourcesContent":["export enum PaymentType {\n  DEBIT_CARD = 'DEBIT_CARD',\n  CREDIT_CARD = 'CREDIT_CARD',\n  APPLE_PAY = 'APPLE_PAY',\n  ALIPAY = 'ALIPAY',\n  ALIPAY_WAP = 'ALIPAY_WAP',\n  BANK = 'BANK',\n  IDEAL = 'IDEAL',\n  WECHAT = 'WECHAT',\n  UNIONPAY = 'UNIONPAY',\n  SOFORT = 'SOFORT',\n  PAYPAL = 'PAYPAL',\n  KLARNA = 'KLARNA',\n  KLARNA_ACCOUNT = 'KLARNA_ACCOUNT',\n  NORDEA = 'NORDEA',\n  NORDEA_ECREDIT = 'NORDEA_ECREDIT',\n  NORDEA_SE = 'NORDEA_SE',\n  NORDEA_EE = 'NORDEA_EE',\n  SAMPO = 'SAMPO',\n  OKO = 'OKO',\n  HANDELSBANKEN = 'HANDELSBANKEN',\n  ALANDSBANKEN = 'ALANDSBANKEN',\n  SPANKKI = 'SPANKKI',\n  AKTIA = 'AKTIA',\n  SP = 'SP',\n  POP = 'POP',\n  VIPPS = 'VIPPS',\n  SWISH = 'SWISH',\n  GIROPAY = 'GIROPAY',\n  UNKNOWN = 'UNKNOWN',\n  GIFT_CARD = 'GIFT_CARD',\n  MOBILE_PAY = 'MOBILE_PAY',\n  TRUSTLY = 'TRUSTLY',\n  ADYEN_PAYMENT_CARD = 'ADYEN_PAYMENT_CARD',\n  INDIA_NETBANKING = 'INDIA_NETBANKING',\n  INDIA_UPI = 'INDIA_UPI',\n  INDIA_WALLET = 'INDIA_WALLET',\n}\n\nexport enum PaymentSubType {\n  AX = 'AX',\n  AY = 'AY',\n  CA = 'CA',\n  DC = 'DC',\n  JC = 'JC',\n  TP = 'TP',\n  VI = 'VI',\n  // Temporary duplicate due to new model\n  NORDEA = 'NORDEA',\n  NORDEA_ECREDIT = 'NORDEA_ECREDIT',\n  NORDEA_SE = 'NORDEA_SE',\n  NORDEA_EE = 'NORDEA_EE',\n  SAMPO = 'SAMPO',\n  OKO = 'OKO',\n  HANDELSBANKEN = 'HANDELSBANKEN',\n  ALANDSBANKEN = 'ALANDSBANKEN',\n  SPANKKI = 'SPANKKI',\n  AKTIA = 'AKTIA',\n  SP = 'SP',\n  POP = 'POP',\n}\n\nexport interface OrderPayment {\n  id: string;\n  mopSubType: PaymentSubType;\n  mopType: PaymentType;\n}\n","import { PaymentType, PaymentSubType } from '../../interfaces';\n\nexport const mopIcons = {\n  [PaymentType.AKTIA]: 'aktia',\n  [PaymentType.ALANDSBANKEN]: 'alandsbanken',\n  [PaymentType.ALIPAY]: 'alipay',\n  [PaymentType.ALIPAY_WAP]: 'alipay',\n  [PaymentSubType.AX]: 'amex',\n  [PaymentType.APPLE_PAY]: 'applepay',\n  [PaymentSubType.DC]: 'dinersclub',\n  [PaymentType.GIROPAY]: 'giropay',\n  [PaymentType.HANDELSBANKEN]: 'handelsbanken',\n  [PaymentType.IDEAL]: 'ideal',\n  [PaymentSubType.JC]: 'jcb',\n  [PaymentSubType.CA]: 'mastercard',\n  [PaymentType.MOBILE_PAY]: 'mobilepay',\n  [PaymentType.NORDEA]: 'nordea',\n  [PaymentType.NORDEA_ECREDIT]: 'nordea',\n  [PaymentType.NORDEA_EE]: 'nordea',\n  [PaymentType.NORDEA_SE]: 'nordea',\n  [PaymentType.OKO]: 'op',\n  [PaymentType.PAYPAL]: 'paypal',\n  [PaymentType.POP]: 'poppankki',\n  [PaymentType.SAMPO]: 'danskebank',\n  [PaymentType.SOFORT]: 'sofort',\n  [PaymentType.SP]: 'saastopankki',\n  [PaymentType.SPANKKI]: 'spankki',\n  [PaymentType.TRUSTLY]: 'trustly',\n  [PaymentType.UNIONPAY]: 'unionpay',\n  [PaymentType.WECHAT]: 'wechatpay',\n  [PaymentType.VIPPS]: 'vipps',\n  [PaymentType.SWISH]: 'swish',\n  [PaymentSubType.VI]: 'visa',\n  [PaymentSubType.TP]: 'uatp',\n  [PaymentType.GIFT_CARD]: 'gift-card',\n  [PaymentType.ADYEN_PAYMENT_CARD]: 'adyenpaymentcard',\n  [PaymentType.INDIA_NETBANKING]: 'indianetbanking',\n  [PaymentType.INDIA_UPI]: 'upi',\n  [PaymentType.INDIA_WALLET]: 'indiawallet',\n  [PaymentType.KLARNA]: 'klarna',\n  [PaymentType.KLARNA_ACCOUNT]: 'klarna',\n};\n","<div>\n  <span class=\"medium-type ps-xsmall-r\">{{\n    'payment.paymentMethod.' + (payment.mopType === PAYMENT_TYPE.BANK ? payment.mopSubType : payment.mopType)\n      | finLocalization\n  }}</span>\n  <span *ngIf=\"isCreditCard\">{{ 'payment.paymentCard.brand.' + payment.mopSubType | finLocalization }}</span>\n</div>\n<div>\n  <span>{{ payment.id }}</span>\n  <span class=\"align-right ps-xsmall-l\">\n    <fcom-icon *ngIf=\"icon\" [category]=\"iconCategory\" [name]=\"icon\" class=\"icon-medium-payment\"></fcom-icon>\n  </span>\n</div>\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnInit } from '@angular/core';\n\nimport { IconLibrary, PaymentsIcon } from '@finnairoyj/fcom-ui-styles/enums';\n\nimport { SentryLogger } from '@fcom/core';\nimport { PaymentTransaction } from '@fcom/dapi/api/models';\n\nimport { PaymentSubType, PaymentType } from '../../interfaces';\nimport { mopIcons } from './payment-icons-utils';\n\n@Component({\n  selector: 'fin-payment-method',\n  templateUrl: 'payment-method.component.html',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PaymentMethodComponent implements OnInit {\n  @HostBinding('class.font-body-1')\n  @HostBinding('class.flex')\n  @HostBinding('class.flex--space-between')\n  @HostBinding('class.flex--middle')\n  @HostBinding('class.fill')\n  defaultClass = true;\n  @Input()\n  payment: PaymentTransaction;\n\n  PAYMENT_TYPE = PaymentType;\n  isBank: boolean;\n  isCreditCard: boolean;\n  icon: PaymentsIcon;\n  iconCategory: IconLibrary;\n\n  constructor(private sentryLogger: SentryLogger) {}\n\n  ngOnInit(): void {\n    this.isCreditCard = this.getIsCreditCard();\n    this.isBank = this.getIsBank();\n    this.icon = this.getIcon();\n    this.iconCategory = this.getIconCategory();\n  }\n\n  private getIsCreditCard = () => {\n    return (\n      PaymentSubType.AY !== this.payment.mopSubType &&\n      [PaymentType.CREDIT_CARD, PaymentType.DEBIT_CARD].indexOf(PaymentType[this.payment.mopType]) !== -1\n    );\n  };\n\n  private getIsBank = () => {\n    return this.payment.mopType === PaymentType.BANK;\n  };\n\n  private getIcon = () => {\n    const icon =\n      (this.isCreditCard || this.isBank) && this.payment.mopSubType\n        ? mopIcons[this.payment.mopSubType]\n        : mopIcons[this.payment.mopType];\n    if (!icon) {\n      this.sentryLogger.error('Method of payment icon missing for', { payment: this.payment });\n      return '';\n    }\n    return icon;\n  };\n\n  private getIconCategory = () => {\n    return this.payment.mopType === PaymentType.GIFT_CARD ? IconLibrary.SVG_LIBRARY : IconLibrary.PAYMENTS;\n  };\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n  name: 'finIncludes',\n})\nexport class IncludesPipe implements PipeTransform {\n  transform(array: unknown[] | undefined | null, value: unknown): boolean {\n    if (array == null) {\n      return false;\n    }\n\n    return array.includes(value);\n  }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { IconsModule } from '@fcom/ui-components';\nimport { UiTranslateModule } from '@fcom/ui-translate';\nimport { PipesModule } from '@fcom/common/';\nimport { ComponentsModule } from '@fcom/common/components';\nimport { GtmModule } from '@fcom/common/gtm';\n\nimport { PaymentMethodComponent } from './components/payment-method/payment-method.component';\n\nconst COMPONENTS = [PaymentMethodComponent];\n\n@NgModule({\n  imports: [CommonModule, ComponentsModule, PipesModule, GtmModule, IconsModule, UiTranslateModule],\n  declarations: [...COMPONENTS],\n  exports: [...COMPONENTS],\n})\nexport class CommonBookingPurchaseSuccessModule {}\n","import { Injectable } from '@angular/core';\nimport { ParamMap } from '@angular/router';\n\nimport { FinnairOrder } from '@fcom/dapi/api/models';\nimport { IdAndHash } from '@fcom/dapi';\n\nimport { OrderStatus } from '../../../store';\n\n@Injectable()\nexport class PurchaseSuccessService {\n  PARAM_ORDER_ID = 'orderid';\n  PARAM_HASH = 'hash';\n\n  orderHasToBeRefetched(\n    order: FinnairOrder,\n    status: OrderStatus,\n    fetchInformation: IdAndHash,\n    paramMap: ParamMap\n  ): boolean {\n    const isOrderDataValid = order?.id === fetchInformation?.id;\n\n    return this.hasOrderQueryParams(paramMap) || !isOrderDataValid || status === OrderStatus.LOAD_ERROR;\n  }\n\n  hasOrderQueryParams(paramMap: ParamMap): boolean {\n    const requestedOrderId = paramMap.has(this.PARAM_ORDER_ID);\n    const requestedHash = paramMap.has(this.PARAM_HASH);\n\n    return requestedOrderId && requestedHash;\n  }\n}\n"],"x_google_ignoreList":[]}