{"version":3,"file":"pv-frontend-pv-shared-components-booking-status.mjs","sources":["../../../projects/pv-shared-components/booking-status/booking-status.types.ts","../../../projects/pv-shared-components/booking-status/booking-status.component.ts","../../../projects/pv-shared-components/booking-status/booking-status.component.html","../../../projects/pv-shared-components/booking-status/booking-status.module.ts","../../../projects/pv-shared-components/booking-status/pv-frontend-pv-shared-components-booking-status.ts"],"sourcesContent":["import { OverrideStyleConfig } from '@pv-frontend/pv-shared-components/common/types';\nimport { ValueOf } from '@pv-frontend/pv-shared-services/common';\n\nexport const BOOKING_STATUS_TYPE = {\n  SUCCESS: 'success',\n  FAILURE: 'failure',\n  PROCESSING: 'processing',\n} as const;\n\nexport type BookingStatusType = ValueOf<typeof BOOKING_STATUS_TYPE>;\n\nexport interface BookingStatusStyleOverrideConfig {\n  container?: OverrideStyleConfig;\n  icon?: OverrideStyleConfig;\n  title?: OverrideStyleConfig;\n  subTitle?: OverrideStyleConfig;\n  informationText?: OverrideStyleConfig;\n}\n","import { Component, Input } from '@angular/core';\n\nimport {\n  BOOKING_STATUS_TYPE,\n  BookingStatusStyleOverrideConfig,\n  BookingStatusType,\n} from './booking-status.types';\n@Component({\n  selector: 'pv-booking-status',\n  templateUrl: './booking-status.component.html',\n})\nexport class BookingStatusComponent {\n  @Input() public styleClass: string = '';\n\n  @Input() public bookingStatus: BookingStatusType =\n    BOOKING_STATUS_TYPE.SUCCESS;\n\n  @Input() public icon?: string;\n\n  @Input() public title?: string;\n\n  @Input() public subTitle?: string;\n\n  @Input() public informationText?: string;\n\n  @Input()\n  public style?: BookingStatusStyleOverrideConfig;\n\n  public statusToClassNameMapping: Record<\n    BookingStatusType,\n    Partial<Record<keyof Partial<BookingStatusStyleOverrideConfig>, string>>\n  > = {\n    [BOOKING_STATUS_TYPE.SUCCESS]: {\n      container: 'feedback-background-positive-low-contrast',\n      subTitle:\n        'feedback-background-positive-low-contrast feedback-text-positive',\n      icon: 'fill-feedback-background-positive-high-contrast',\n    },\n    [BOOKING_STATUS_TYPE.FAILURE]: {\n      container: 'feedback-background-negative-low-contrast',\n      subTitle:\n        'feedback-background-negative-low-contrast feedback-text-negative',\n      icon: 'fill-feedback-background-negative-high-contrast',\n    },\n    [BOOKING_STATUS_TYPE.PROCESSING]: {\n      container: 'feedback-background-notice-low-contrast',\n      subTitle: 'feedback-background-notice-low-contrast feedback-text-notice',\n      icon: 'fill-feedback-background-notice-high-contrast',\n    },\n  };\n\n  public statusToIconNameMapping: Record<BookingStatusType, string> = {\n    [BOOKING_STATUS_TYPE.SUCCESS]: 'circular-wavy-filled-tick',\n    [BOOKING_STATUS_TYPE.FAILURE]: 'circular-wavy-filled-cross',\n    [BOOKING_STATUS_TYPE.PROCESSING]: 'circular-wavy-filled-exclamation',\n  };\n}\n","<div\n  class=\"pv-booking-status w-full h-full flex flex-column align-items-center justify-content-center p-3\"\n  [style]=\"this.style?.container\"\n  [ngClass]=\"[\n    this.statusToClassNameMapping[this.bookingStatus].container,\n    styleClass\n  ]\">\n  <pv-svg-icon\n    [name]=\"this.icon ?? this.statusToIconNameMapping[this.bookingStatus]\"\n    styleClass=\"flex h-3rem w-3rem\"\n    [style]=\"this.style?.icon\"\n    [ngClass]=\"this.statusToClassNameMapping[this.bookingStatus].icon\" />\n  <span\n    *ngIf=\"this.title\"\n    class=\"font-bold text-lg text-center mb-4\"\n    [style]=\"this.style?.title\">\n    {{ this.title }}\n  </span>\n  <span\n    *ngIf=\"this.subTitle\"\n    class=\"text-center text-sm mb-4 subtitle-text p-2 border-round-3xl font-semibold\"\n    [style]=\"this.style?.subTitle\"\n    [ngClass]=\"this.statusToClassNameMapping[this.bookingStatus].subTitle\">\n    {{ this.subTitle }}\n  </span>\n  <span\n    *ngIf=\"this.informationText\"\n    class=\"text-center text-sm mb-4\"\n    [style]=\"this.style?.informationText\">\n    {{ this.informationText }}\n  </span>\n  <ng-content></ng-content>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SvgIconModule } from '@pv-frontend/pv-shared-components/svg-icon';\n\nimport { BookingStatusComponent } from './booking-status.component';\n\n@NgModule({\n  imports: [CommonModule, SvgIconModule],\n  exports: [BookingStatusComponent],\n  declarations: [BookingStatusComponent],\n})\nexport class PvBookingStatusModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}