{"version":3,"mappings":"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","names":["constructor","e","this","name","webAddress","minTemperature","maxTemperature","rawConditions","rawStorageConditions","id","description","form","image","manufacturer","y","saleStatus","storageConditions","I","tabs","price","amountOfPrices","classification","activeIngredient","n","minQuantity","retailPrice","cents","t","ngOnInit","product","c","coatedTablets","indexOf","details","finalPath","coatedTabletsPath","capsule","capsulePath","injectionBottle","injectionBottlePath","ointment","ointmentPath","powder","powderPath","plaster","plasterPath","forChildren","forChildrenPath","commonForm","commonFormPath","selectors","a","o","d","St","Ut","Dt","yt","It","wt","M","type","snapshot","data","productType","params","pipe","ngUnsubscribe$","subscribe","g","week","calendarService","getWeekOfTheYear","productService","createWebshopService","userService","selectedIdf$","selectedIdf","idf","selectedDc","h","distributionCenters","productLoading","findProductById","webshopRestService","loadProductDetails","w","returnObject","length","contents","organizeContent","fetchCurrentNews","matomoService","viewProduct","loadFullProduct","b","setTimeout","scrollingService","scrollToYPositionOfVisibleViewport","title","news","current","currentNews","push","activate","active","deactivate","clearContent","replace","match","canExpire","s","backClick","location","back","onChangeQuantity","qty","showPricingTable","forEach","test","Object","childElement","openSubsequentDeliveryForm","v","autoFocus","minWidth","distributionCenterId","perform","dialog","open","E","afterClosed","notification","html","pzn","ngOnDestroy","next","complete","p","S","D","U","Q","N","u","C","path","component","pathMatch","_","l","P","Z","O","m","A","Mt","bt"],"sources":["webpack:///src/app/core/models/shop/manufacturer.model.ts","webpack:///src/app/core/models/shop/storage-conditions.model.ts","webpack:///src/app/core/models/shop/product-details.model.ts","webpack:///src/app/modules/webshop/components/product-details/product-icons/product-icons.component.html","webpack:///src/app/modules/webshop/components/product-details/product-icons/product-icons.component.ts","webpack:///src/app/modules/webshop/components/product-details/product-details.component.html","webpack:///src/app/modules/webshop/components/product-details/product-details.component.ts","webpack:///src/app/modules/webshop/components/product-details/product-details-p73/product-details-p73.component.html","webpack:///src/app/modules/webshop/components/product-details/product-details-p73/product-details-p73.component.ts","webpack:///src/app/modules/webshop/components/product-details/product-details.routes.ts","webpack:///src/app/modules/webshop/components/product-details/product-details.module.ts"],"sourcesContent":["export class Manufacturer {\n name: string;\n webAddress: string;\n\n constructor(obj: any = {}) {\n this.name = obj && obj.name || null;\n this.webAddress = obj && obj.webAddress || null;\n\n }\n\n}","export class StorageConditions {\n minTemperature: string;\n maxTemperature: string;\n rawConditions: string;\n\n constructor(obj: any = {}) {\n this.minTemperature = obj && obj.minTemperature || null;\n this.maxTemperature = obj && obj.maxTemperature || null;\n this.rawConditions = obj && obj.rawStorageConditions || null;\n }\n}","import {Manufacturer} from \"./manufacturer.model\";\nimport {StorageConditions} from './storage-conditions.model';\n\nexport class ProductDetails {\n\n id: string;\n description: string;\n form: string;\n image: string;\n manufacturer: Manufacturer;\n name: string;\n saleStatus: string;\n storageConditions: StorageConditions;\n tabs: any;\n classification: string;\n activeIngredient: string;\n\n price: any;\n retailPrice: number;\n amountOfPrices: number;\n\n constructor(obj: any = {}) {\n this.id = obj && obj.id || null;\n this.description = obj && obj.description || null;\n this.form = obj && obj.form || null;\n this.image = obj && obj.image || null;\n this.manufacturer = obj && obj.manufacturer && new Manufacturer(obj.manufacturer) || null;\n this.name = obj && obj.name || null;\n this.saleStatus = obj && obj.saleStatus || null;\n this.storageConditions = obj && obj.storageConditions && new StorageConditions(obj.storageConditions) || null;\n this.description = obj && obj.description || null;\n this.tabs = obj && obj.tabs || false;\n this.price = obj && obj.price || null;\n this.amountOfPrices = 0;\n this.classification = obj && obj.classification || null;\n this.activeIngredient = obj && obj.activeIngredient || false;\n /*\n * need to determine how many prices there are in order to display only the last one\n * i can't cancel out all other prices because they are required for calculation\n * could array this.price but would have to adjust logic which works well so i won't\n */\n for(let key in this.price){\n if(this.price[key].minQuantity === 1){\n this.retailPrice = (this.price[key].cents/100);\n }\n this.price[key].cents = this.price[key].cents/100;\n this.amountOfPrices ++;\n }\n }\n\n}\n\n/*\n \"pzn\": \"14046738\",\n \"image\": \"https:\\/\\/pics.phoenix-online.de\\/UJF2NkWIeynJdHygCTWdymg5OQAR8Tcl-DzrQYgosdejn7-eQ6KPlJk7cG1a95kt.jpg\",\n \"name\": \"BD ULTRA FINE PRO4MM PENNA\",\n \"aek\": 2478,\n \"avk\": 0,\n \"lieferform\": \"KAN\",\n \"hersteller\": \"BECTON DICKINSON GMBH\",\n \"menge\": \"105\",\n \"einheit\": \"ST\",\n \"preis\": {\"1\": \"1452\"}\n*/","
\n
\n

Darreichungsform

\n
{{product.details.form ? product.details.form : \"keine\\r\\n Angabe\"}}
\n
\n
\n

Packungsinhalt

\n {{ product.content }}\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n

Verkaufsstatus

\n {{product.details.saleStatus}}\n
\n
\n","import {Component, Input, OnInit} from '@angular/core';\nimport {Product} from '../../../../../core/models/shop/product.model';\nimport {NONE_TYPE} from '@angular/compiler/src/output/output_ast';\n\n@Component({\n selector: 'product-icons',\n templateUrl: './product-icons.component.html',\n styleUrls: ['./product-icons.component.scss']\n})\nexport class ProductIconsComponent implements OnInit {\n @Input('product') product: Product;\n finalPath: string;\n\n public static coatedTablets: string[] = ['FRB', 'BON', 'BTA', 'DRA', 'DKA', 'DRM', 'ESU', 'FDA', 'FTA', 'FMR', 'GLO', 'KDA',\n 'KGU', 'KTA', 'KEG', 'KER', 'KLT', 'LTA', 'LUP', 'LUT', 'MTA', 'OVU', 'PAS', 'PEL', 'PER', 'PLG', 'PRS', 'RED',\n 'RET', 'RUT', 'SMF', 'SMT', 'SEI', 'STB', 'STI', 'STR', 'SUT', 'SUB', 'SUP', 'SMU', 'TAB', 'TKA', 'TMR', 'TLE',\n 'TSD', 'TSE', 'TSD', 'TAE', 'TRT', 'UTA', 'VOV', 'VST', 'VSU', 'VTA', 'WUE', 'ZBU'];\n public static capsule: string[] = [ 'HKP', 'KMP', 'HPI', 'HWV', 'IKA', 'KAP', 'KMR', 'HKM','MRP', 'WKM','RKA', 'REK','VKA',\n 'WKA', 'ZKA'];\n public static injectionBottle: string[] = ['AMP', 'APA', 'ATO', 'AUB', 'ATR', 'XDS', 'DIS', 'DIL', 'DOS', 'DSC', 'DSS', 'DFL',\n 'EDP', 'ELI', 'ESS', 'EXT', 'FER', 'XFE', 'FLU', 'FLE', 'FSE', 'FBW', 'GLI', 'GUL', 'XHS', 'IFA', 'IFB', 'IFF',\n 'INF', 'IFK', 'IHA', 'INL', 'IFL', 'INI', 'IIL', 'ILO', 'PEN', 'ISU', 'IST', 'KLI', 'KRI', 'LIQ', 'LOE', 'LOV',\n 'LSE', 'LII', 'MUW', 'NDS', 'NAO', 'NAS', 'NTR', 'OEL', 'OHT', 'PPL', 'RSC', 'RSU', 'SAF', 'SCH', 'SHA', 'SIR',\n 'SPR', 'SPA', 'SPF', 'SPL', 'STA', 'SUS', 'SUV', 'SUE', 'TIN', 'TON', 'SPT', 'TRA', 'TRO', 'TEI', 'VAL', 'NAW',\n 'ZAM'];\n public static ointment: string[] = ['ASN', 'ASO', 'AUC', 'AUG', 'AUS', 'BAL', 'CRE', 'XDG', 'EIN', 'EMU', 'FET', 'GEL', 'XGM',\n 'XPK', 'LOT', 'MIL', 'XNC', 'NAG', 'NSA', 'PAM', 'PST', 'SAL', 'SAM', 'XTC', 'VCR', 'VGE', 'ZCR', 'ZGE', 'ZPA'];\n public static powder: string[] = ['GRA', 'GSE', 'IHP', 'INS', 'GMR', 'PUD', 'PUL', 'PIE', 'PLK', 'PLF', 'PLI', 'PLH', 'PLV',\n 'PIF', 'PIK', 'PIS', 'PIJ', 'PII', 'PHI', 'PIV', 'PHV', 'PLE', 'PSE', 'RGR', 'SLZ', 'SUB', 'TRI', 'TAM', 'TSA',\n 'TRS', 'TSS'];\n public static plaster: string[] = ['BAN', 'BPL', 'BEU', 'BIN', 'ELE', 'FOL', 'GPA', 'HAS', 'IMP', 'IFS', 'IUP', 'KAN', 'KAT',\n 'KOM', 'KOD', 'LAN', 'OCU', 'PFL', 'PFT', 'SWA', 'SRI', 'TPO', 'TES', 'TST', 'TTR', 'TSY', 'TUE', 'TUP', 'VAR',\n 'VER', 'VLI', 'WAT', 'WGA'];\n public static forChildren: string[] = ['KSS', 'KSU', 'KKS', 'SSU'];\n public static commonForm: string[] = ['BAD', 'BRE', 'FBE', 'FLA', 'XHA', 'INH', 'KPG', 'KON', 'KII', 'MIS', 'MIX', 'TEE', 'TUB'];\n\n public static coatedTabletsPath = 'assets/img/forms/ueberzogene-tabletten.png';\n public static capsulePath = 'assets/img/forms/kapseln.png';\n public static injectionBottlePath = 'assets/img/forms/injektionsflaschen.png';\n public static ointmentPath = 'assets/img/forms/salbe.png';\n public static powderPath = 'assets/img/forms/pulver.png';\n public static plasterPath = 'assets/img/forms/pflaster.png';\n public static forChildrenPath = 'assets/img/forms/fuer-kinder.png';\n public static commonFormPath = 'assets/img/forms/allgemein.png';\n\n constructor() {\n }\n\n ngOnInit() {\n if (this.product) {\n if (ProductIconsComponent.coatedTablets.indexOf(this.product.details.form) >= 0) {\n this.finalPath = ProductIconsComponent.coatedTabletsPath;\n } else if (ProductIconsComponent.capsule.indexOf(this.product.details.form) >= 0) {\n this.finalPath = ProductIconsComponent.capsulePath;\n } else if (ProductIconsComponent.injectionBottle.indexOf(this.product.details.form) >= 0) {\n this.finalPath = ProductIconsComponent.injectionBottlePath;\n } else if (ProductIconsComponent.ointment.indexOf(this.product.details.form) >= 0) {\n this.finalPath = ProductIconsComponent.ointmentPath;\n } else if (ProductIconsComponent.powder.indexOf(this.product.details.form) >= 0) {\n this.finalPath = ProductIconsComponent.powderPath;\n } else if (ProductIconsComponent.plaster.indexOf(this.product.details.form) >= 0) {\n this.finalPath = ProductIconsComponent.plasterPath;\n } else if (ProductIconsComponent.forChildren.indexOf(this.product.details.form) >= 0) {\n this.finalPath = ProductIconsComponent.forChildrenPath;\n } else if (ProductIconsComponent.commonForm.indexOf(this.product.details.form) >= 0) {\n this.finalPath = ProductIconsComponent.commonFormPath;\n }\n }\n }\n\n\n}\n","
\n
\n \n \n keyboard_arrow_left\n Zurück zu den Ergebnissen\n \n \n\n
\n Artikeldetails werden geladen\n
\n \n \n
\n {{news.category}} ({{news.date}}): {{news.teaser}}

\">
\n
\n \n
\n \"{{\n
\n
\n
\n

\n
\n
\n {{product.details?.manufacturer?.name}}\n PZN: {{product.id}}\n
Inhalt: {{product.content}}\n
\n
\n \n \n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
BestellmengePreis
(pro Einheit)
Vorteil
(auf AEP)
ab {{price.minQuantity}}{{price.cents | currency:'EUR':'symbol':'1.2-2'}}{{ 1 - (price.cents / product.retailPrice) | percent:'1.2-2' }}
\n
\n
\n\n
\n \n \n \n
\n 0\">\n
\n
\n

Pharmazeutische Informationen

\n \n \n \n \n \n \n

{{ content.title }}

\n

\n
\n \n 0 && content.childElement\">\n \n \n
\n
\n
\n \n
\n
\n
\n

\n 0\">\n \n

{{ element.title }}

\n

\n \n \n
\n

\n

\n
\n
\n
\n
\n
\n \n \n
\n

\n

\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n Quelle: MMI - Wissen für die Gesundheit.\n
\n
\n
\n
\n Keine PZN übergeben!\n
\n
\n\n
\n
\n
\n
\n \n error_outline\n Der ausgewählte Artikel ist nicht mehr im Sonderangebot verfügbar.\n
\n
\n
\n
\n","import {Component, Inject, OnInit, OnDestroy} from '@angular/core';\nimport {Observable, Subject} from 'rxjs';\nimport {Product} from '../../../../core/models/shop/product.model';\nimport {DatePipe, Location} from '@angular/common';\nimport {ActivatedRoute} from '@angular/router';\nimport {WebshopServiceFactory} from '../../../../core/services/shop/webshop-service.factory';\nimport {CalendarService} from '../../../../core/services/calendar.service';\nimport {takeUntil} from 'rxjs/operators';\nimport {ProductServiceAbstract} from '../../../../core/services/shop/product-service.abstract';\nimport {ProductType} from '../../../../core/models/shop/product-type.model';\nimport {WebshopRestService} from '../../../../core/services/api/webshop-rest.service';\nimport {ProductDetails} from '../../../../core/models/shop/product-details.model';\nimport {ScrollingService} from '../../../../core/services/scrolling.service';\nimport {MatomoService} from '../../../../core/services/matomo.service';\nimport {MatDialog, MatDialogConfig} from '@angular/material/dialog';\nimport {\n SubsequentDeliveryFormModalComponent\n} from '../../../shared/subsequent-delivery-form-modal/subsequent-delivery-form-modal.component';\nimport {UserService} from '../../../../core/services/user.service';\n\n@Component({\n selector: 'product-details',\n templateUrl: './product-details.component.html',\n styleUrls: ['./product-details.component.scss']\n})\nexport class ProductDetailsComponent implements OnInit, OnDestroy {\n\n public id: string;\n public ngUnsubscribe$ = new Subject();\n public loading$: Observable;\n public productLoading: boolean;\n public productService: ProductServiceAbstract;\n public type: ProductType;\n public currentNews: any[] = [];\n\n public product: Product;\n public week: number;\n public qty;\n\n public active: boolean = false;\n notification: any = null;\n public selectedIdf;\n public selectedDc;\n\n constructor(public datePipe: DatePipe,\n public route: ActivatedRoute,\n public location: Location,\n @Inject('CDN') private CDN,\n @Inject(WebshopServiceFactory) public webshopServiceFactory: WebshopServiceFactory,\n @Inject(WebshopRestService) public webshopRestService: WebshopRestService,\n @Inject(CalendarService) public calendarService: CalendarService,\n @Inject(ScrollingService) public scrollingService: ScrollingService,\n @Inject(MatomoService) public matomoService: MatomoService,\n public dialog: MatDialog,\n public userService: UserService) {\n\n if (route) {\n this.type = route.snapshot.data.productType;\n route.params.pipe(takeUntil(this.ngUnsubscribe$)).subscribe(params => {\n this.id = params['id'];\n });\n }\n this.week = this.calendarService.getWeekOfTheYear();\n this.productService = webshopServiceFactory.createWebshopService(this.type);\n\n this.userService.selectedIdf$.pipe(takeUntil(this.ngUnsubscribe$)).subscribe(idf => {\n if(idf) {\n this.selectedIdf = idf.idf;\n this.selectedDc = idf.distributionCenters[0]?.id;\n }\n })\n }\n\n ngOnInit(): void {\n this.productLoading = true;\n this.product = this.productService.findProductById(this.id);\n if (this.product) {\n this.webshopRestService.loadProductDetails(this.id, this.type).subscribe(details => {\n this.product.details = new ProductDetails(details.returnObject);\n if (this.product.details.tabs && this.product.details.tabs.length > 0) {\n for (let i = 0; i < this.product.details.tabs.length; i++) {\n const tab = this.product.details.tabs[i];\n if (tab && tab.contents) {\n tab.contents = this.organizeContent(tab.contents);\n }\n }\n }\n this.productLoading = false;\n this.fetchCurrentNews(details.returnObject);\n this.matomoService.viewProduct(this.product);\n });\n } else {\n this.webshopRestService.loadFullProduct(this.id, this.type).subscribe(product => {\n if (product) {\n this.product = new Product(product.returnObject);\n if (this.product.details.tabs && this.product.details.tabs.length > 0) {\n for (let i = 0; i < this.product.details?.tabs?.length; i++) {\n const tab = this.product.details.tabs[i];\n if (tab && tab.contents) {\n tab.contents = this.organizeContent(tab.contents);\n }\n }\n }\n this.productLoading = false;\n this.fetchCurrentNews(product.returnObject.details);\n this.matomoService.viewProduct(this.product);\n }\n });\n }\n setTimeout(\n () => {\n this.scrollingService.scrollToYPositionOfVisibleViewport(0);\n }\n , 0);\n }\n\n fetchCurrentNews(details: ProductDetails) {\n if (details.tabs) {\n for (const tab of details.tabs) {\n if (tab['title'] === 'Aktuelle Meldungen') {\n for (const news of tab['contents'][0]['news']) {\n if (news['current']) {\n this.currentNews.push(news);\n }\n }\n }\n }\n }\n }\n\n activate() {\n this.active = true;\n }\n\n deactivate() {\n this.active = false;\n }\n\n clearContent(contentHtml: string) {\n // First, apply the original replacement to remove `{ABC|}` and `}`\n contentHtml = contentHtml.replace(/({[A-Z]+\\||})/gm, '');\n\n // Second, ensure there are exactly two
tags before the last

, but don't add if already two\n contentHtml = contentHtml.replace(/(){0,2}<\\/p>\\s*$/, function(match) {\n const brCount = (match.match(//g) || []).length;\n return brCount === 2 ? match : '

';\n });\n\n return contentHtml;\n }\n\n canExpire(): boolean {\n return this.type === ProductType.OffersPin;\n }\n\n backClick() {\n this.location.back();\n }\n\n\n onChangeQuantity(event) {\n this.qty = event;\n }\n\n showPricingTable(product: Product) {\n if (product.price.length > 0) {\n if (product.amountOfPrices > 1) {\n return true;\n }\n return product.retailPrice !== product.price[0].cents;\n }\n return false;\n }\n\n organizeContent(data) {\n const organizedData = [];\n let currentParent = null;\n\n data.forEach(item => {\n // Check if the title matches the pattern of a section (e.g., \"2. KLINISCHE ANGABEN\")\n if (/^\\d+\\.\\s/.test(item.title)) {\n // If there is a current parent, push it to the organizedData\n if (currentParent) {\n organizedData.push(currentParent);\n }\n // Create a new parent object\n currentParent = { ...item, childElement: [] };\n } else if (/^\\d+\\.\\d+\\s/.test(item.title) && currentParent) {\n // Push the item to the current parent's childElement array\n currentParent.childElement.push({ ...item });\n } else {\n organizedData.push({ ...item, childElement: null });\n }\n });\n\n // Push the last parent if it exists\n if (currentParent) {\n organizedData.push(currentParent);\n }\n return organizedData;\n }\n\n openSubsequentDeliveryForm(product: Product) {\n const addNewDialogConfig = new MatDialogConfig();\n addNewDialogConfig.autoFocus = false;\n addNewDialogConfig.minWidth = '35vw';\n addNewDialogConfig.data = {\n idf: this.selectedIdf,\n distributionCenterId: this.selectedDc,\n product: product,\n perform: false\n };\n this.dialog.open(SubsequentDeliveryFormModalComponent, addNewDialogConfig).afterClosed()\n .pipe(takeUntil(this.ngUnsubscribe$)).subscribe(result => {\n if (result && result.data) {\n this.notification = {\n html: `Der Nachlieferungsauftrag für das Produkt ${result.data[0].pzn.replace(/^0+/, '')} ist erfolgreich.`,\n type: 'success'\n };\n\n setTimeout(() => {\n this.notification = null;\n }, 4000);\n }\n });\n }\n\n ngOnDestroy() {\n this.ngUnsubscribe$.next();\n this.ngUnsubscribe$.complete();\n }\n\n\n}\n","
\n
\n \n \n keyboard_arrow_left\n zurück\n \n\n\n
\n Artikeldetails werden geladen\n
\n \n
\n {{news.category}} ({{news.date}}): {{news.teaser}}

\">
\n
\n
\n \"{{\n
\n
\n
\n

{{product.details.name == null ? product.name : product.details.name}}

\n

\n Artikelnummer: {{product.id}}
\n Land: {{product.country}}
\n Einstufung: {{product.details.classification}}\n

\n

\n {{product.details.activeIngredient}}\n

\n \n \n
\n
\n\n
\n \n \n \n
\n Keine PZN übergeben!\n\n
\n
\n","import {Component} from '@angular/core';\nimport {ProductDetailsComponent} from '../product-details.component';\n\n@Component({\n selector: 'product-details-p73',\n templateUrl: './product-details-p73.component.html',\n styleUrls: ['../product-details.component.scss']\n})\nexport class ProductDetailsP73Component extends ProductDetailsComponent{\n\n}","import {ProductType} from '../../../../core/models/shop/product-type.model';\nimport {ProductDetailsComponent} from './product-details.component';\nimport {ProductDetailsP73Component} from './product-details-p73/product-details-p73.component';\n\nexport const routes = [\n {\n path: 'shop' + '/:id', component: ProductDetailsComponent, pathMatch: 'full',\n data: {\n productType: ProductType.DokuLight\n }\n },\n {\n path: ProductType.Promo + '/:id', component: ProductDetailsComponent, pathMatch: 'full',\n data: {\n productType: ProductType.Promo\n }\n },\n {\n path: ProductType.TopPrisma +'/:id', component: ProductDetailsComponent, pathMatch: 'full',\n data: {\n productType: ProductType.TopPrisma\n }\n },\n {\n path: ProductType.ExtraPrisma + '/:id', component: ProductDetailsComponent, pathMatch: 'full',\n data: {\n productType: ProductType.ExtraPrisma\n }\n },\n {\n path: ProductType.OffersPin + '/:id', component: ProductDetailsComponent, pathMatch: 'full',\n data: {\n productType: ProductType.OffersPin\n }\n },\n {\n path: ProductType.OffersExclusive + '/:id', component: ProductDetailsComponent, pathMatch: 'full',\n data: {\n productType: ProductType.OffersExclusive\n }\n },\n {\n path: ProductType.Paragraph73 +'/:id', component: ProductDetailsP73Component, pathMatch: 'full',\n data: {\n productType: ProductType.Paragraph73\n }\n }\n];","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {ProductIconsComponent} from './product-icons/product-icons.component';\nimport {RouterModule} from '@angular/router';\nimport {ProductDetailsComponent} from './product-details.component';\nimport {PriceScaleModule} from '../price-scale/price-scale.module';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport {CartProviderModule} from '../cart/cart-provider/cart-provider.module';\nimport {NotificationModule} from '../../../shared/notification/notification.module';\nimport {ProductDetailsP73Component} from './product-details-p73/product-details-p73.component';\nimport {routes} from './product-details.routes';\nimport {SafehtmlModule} from '../../../shared/safehtml/safehtml.module';\nimport {PromotionTagModule} from '../../../shared/promotion-tag/promotion-tag.module';\n\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule.forChild(routes),\n PriceScaleModule,\n CartProviderModule,\n MatTabsModule,\n NotificationModule,\n SafehtmlModule,\n PromotionTagModule\n ],\n declarations: [\n ProductDetailsComponent,\n ProductDetailsP73Component,\n ProductIconsComponent\n ],\n exports: [\n ProductDetailsComponent,\n ProductDetailsP73Component\n ]\n})\nexport class ProductDetailsModule {\n static routes = routes;\n}"]}