{"version":3,"file":"pv-frontend-pv-shared-components-carousel.mjs","sources":["../../../projects/pv-shared-components/carousel/carousel.component.ts","../../../projects/pv-shared-components/carousel/carousel.component.html","../../../projects/pv-shared-components/carousel/carousel.module.ts","../../../projects/pv-shared-components/carousel/pv-frontend-pv-shared-components-carousel.ts"],"sourcesContent":["import { Component, Input, TemplateRef } from '@angular/core';\nimport { OverrideStyleConfig } from '@pv-frontend/pv-shared-components/common/types';\nimport { CarouselResponsiveOptions } from 'primeng/carousel';\nexport interface ResponsiveOptionsObj {\n  breakpoint: string;\n  numVisible: number;\n  numScroll: number;\n}\n\nexport interface CarouselStyleOverride {\n  container?: OverrideStyleConfig;\n  indicatorsContent?: OverrideStyleConfig;\n}\n@Component({\n  selector: 'pv-carousel',\n  templateUrl: './carousel.component.html',\n  styleUrls: ['./carousel.component.scss'],\n})\nexport class CarouselComponent {\n  @Input() public showNavigators: boolean = true;\n  @Input() public showIndicators: boolean = true;\n  @Input() public items: CarouselResponsiveOptions[] = [];\n  @Input() public circular: boolean = true;\n  @Input() public autoplayInterval: number = 0;\n  @Input() public orientation: 'horizontal' | 'vertical' = 'horizontal';\n  @Input() public verticalViewPortHeight = '360px';\n  @Input() public styleClass: string = '';\n  @Input() public contentClass: string = '';\n  @Input() public style?: CarouselStyleOverride;\n  @Input() public itemTemplate!: TemplateRef<{ data: HTMLElement }>;\n  @Input() public headerTemplate?: TemplateRef<HTMLElement>;\n  @Input() public footerTemplate?: TemplateRef<HTMLElement>;\n  @Input() public prevIconTemplate?: TemplateRef<HTMLElement>;\n  @Input() public nextIconTemplate?: TemplateRef<HTMLElement>;\n  // TODO:\n  // 1. PrimeNG Bug - circular as true with numVisible in decimal like 4.5 or 3.5\n  //    is rendering the first item of carousel as half instead of last item\n  // 2. We need to provide all possible breakpoints if we want to change number of items\n  //    that are visible. By default, we can see only one item\n  @Input() public responsiveOptions: ResponsiveOptionsObj[] = [\n    {\n      breakpoint: '9999px',\n      numVisible: 4.5,\n      numScroll: 1,\n    },\n    {\n      breakpoint: '991px',\n      numVisible: 3,\n      numScroll: 1,\n    },\n    {\n      breakpoint: '767px',\n      numVisible: 1.5,\n      numScroll: 1,\n    },\n  ];\n}\n","<p-carousel\n  [value]=\"items\"\n  [circular]=\"circular\"\n  [showNavigators]=\"showNavigators\"\n  [showIndicators]=\"showIndicators\"\n  [responsiveOptions]=\"responsiveOptions\"\n  [autoplayInterval]=\"autoplayInterval\"\n  [orientation]=\"orientation\"\n  [verticalViewPortHeight]=\"verticalViewPortHeight\"\n  [styleClass]=\"styleClass\"\n  [contentClass]=\"contentClass\"\n  [style]=\"style?.container\"\n  [indicatorsContentStyle]=\"style?.indicatorsContent\">\n  <ng-template *ngIf=\"headerTemplate\" pTemplate=\"header\">\n    <ng-container [ngTemplateOutlet]=\"headerTemplate\"></ng-container>\n  </ng-template>\n\n  <ng-template *ngIf=\"footerTemplate\" pTemplate=\"footer\">\n    <ng-container [ngTemplateOutlet]=\"footerTemplate\"></ng-container>\n  </ng-template>\n\n  <ng-template *ngIf=\"itemTemplate\" let-item pTemplate=\"item\">\n    <ng-container\n      [ngTemplateOutlet]=\"itemTemplate\"\n      [ngTemplateOutletContext]=\"{ data: item }\"></ng-container>\n  </ng-template>\n\n  <ng-template *ngIf=\"prevIconTemplate\" pTemplate=\"previousicon\">\n    <ng-container [ngTemplateOutlet]=\"prevIconTemplate\"></ng-container>\n  </ng-template>\n\n  <ng-template *ngIf=\"nextIconTemplate\" pTemplate=\"nexticon\">\n    <ng-container [ngTemplateOutlet]=\"nextIconTemplate\"></ng-container>\n  </ng-template>\n</p-carousel>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { CarouselModule } from 'primeng/carousel';\n\nimport { CarouselComponent } from './carousel.component';\n\n@NgModule({\n  declarations: [CarouselComponent],\n  imports: [CommonModule, CarouselModule],\n  exports: [CarouselComponent],\n})\nexport class PvCarouselModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}