{"version":3,"file":"static/js/2f8faeb28ebebe8d1256.bundle.js","mappings":"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","sources":["webpack://bestseller.commerce.online/external var \"React\"?0d3b","webpack://bestseller.commerce.online/external var \"ReactDOM\"?853b","webpack://bestseller.commerce.online/./lib/product-page-summary/module-registration.js?deb5","webpack://bestseller.commerce.online/./src/modules/product-page-summary/product-page-summary.tsx?2924","webpack://bestseller.commerce.online/./src/modules/product-page-summary/product-page-summary.action.ts?9992"],"sourcesContent":["module.exports = React;","module.exports = ReactDOM;","const binding = { modules: {}, dataActions: {} };\n\n const registerActionId = (actionPath) => {\n if (binding.dataActions[actionPath] &&\n binding.dataActions[actionPath].default &&\n binding.dataActions[actionPath].default.prototype &&\n binding.dataActions[actionPath].default.prototype.id) {\n binding.dataActions[binding.dataActions[actionPath].default.prototype.id] = binding.dataActions[actionPath];\n } else {\n Object.keys(binding.dataActions[actionPath] || {}).forEach(exportName => {\n if (binding.dataActions[actionPath][exportName] &&\n binding.dataActions[actionPath][exportName].prototype &&\n binding.dataActions[actionPath][exportName].prototype.Action) {\n binding.dataActions[binding.dataActions[actionPath][exportName].prototype.id] = binding.dataActions[actionPath][exportName];\n }\n })\n }\n };\n\n const registerSanitizedActionPath = (sanitizedActionPath, dataAction) => {\n if (process.env.NODE_ENV === 'development') {\n if (!dataAction.default) {\n throw new Error('Data action path does not have a default export');\n }\n if (!(dataAction.default.prototype.id && binding.dataActions[dataAction.default.prototype.id]) || !binding.dataActions[sanitizedActionPath]) {\n binding.dataActions[sanitizedActionPath] = dataAction;\n }\n } else {\n binding.dataActions[sanitizedActionPath] = dataAction;\n if (!binding.dataActions[sanitizedActionPath].default) {\n throw new Error('Data action path ' + sanitizedActionPath + ' does not have a default export');\n }\n binding.dataActions[sanitizedActionPath].default.prototype.RegistrationId = sanitizedActionPath;\n if (binding.dataActions[sanitizedActionPath].default.prototype.id) {\n binding.dataActions[binding.dataActions[sanitizedActionPath].default.prototype.id] = sanitizedActionPath;\n }\n }\n };\n \n\n (binding.modules['product-page-summary'] = {\n c: () => require('@msdyn365-commerce-modules/page-summary/dist/lib/modules/product-page-summary/product-page-summary'),\n $type: 'htmlHeadTagsModule',\n da: [{name:'productPageSummary', path:'@msdyn365-commerce-modules/page-summary/dist/lib/modules/product-page-summary/product-page-summary.action', runOn: 0}],\n \n iNM: true,\n ns: '@msdyn365-commerce-modules',\n n: 'product-page-summary',\n p: 'page-summary',\n \n pdp: '',\n \n \n md: 'node_modules/@msdyn365-commerce-modules/page-summary/dist/lib/modules/product-page-summary'\n });\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/page-summary/dist/lib/modules/product-page-summary/product-page-summary.action';\n let dataAction = require('@msdyn365-commerce-modules/page-summary/dist/lib/modules/product-page-summary/product-page-summary.action');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\n }\n \n\n \n window.__bindings__ = window.__bindings__ || {};\n window.__bindings__.modules = {\n ...window.__bindings__.modules || {},\n ...binding.modules\n };\n \n window.__bindings__.dataActions = {\n ...window.__bindings__.dataActions || {},\n ...binding.dataActions\n };","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { HtmlHeadInclude, IAny, IGeneric } from '@msdyn365-commerce/core';\nimport * as React from 'react';\n\nimport { IProductPageSummaryData } from './product-page-summary.data';\nimport { IProductPageSummaryProps } from './product-page-summary.props.autogenerated';\n\n/**\n *\n * ProductPageSummary component.\n * @extends {React.PureComponent}\n */\nclass ProductPageSummary extends React.PureComponent> {\n public render(): JSX.Element {\n if (this.props.data.productPageSummary.result === undefined) {\n throw new Error('PageSummaryData input to page-summary is undefined. Unable to generate page-summary');\n }\n let {\n data: {\n productPageSummary: {\n result: { title, description, keywords, sharingImageUrl, faviconUrl }\n }\n }\n } = this.props;\n\n const {\n config,\n context,\n data: {\n productPageSummary: {\n result: { canonicalUrl, productId, productBrand, price }\n }\n }\n } = this.props;\n\n // Product SEO metadata specific information - non-overridable\n const productName = title;\n const productDescription = description;\n const productImageUrl = sharingImageUrl;\n\n // Override values coming from data action if config values are provided\n title = config.title || title;\n description = config.description || description;\n keywords = config.keywords || keywords;\n sharingImageUrl = (config.sharingImage && config.sharingImage.src) || sharingImageUrl;\n faviconUrl = config.faviconUrl || faviconUrl;\n\n // Construct page title with suffix and prefix if provided from app settings\n const pageTitle = this._constructPageTitle(title, context && context.request && context.request.app);\n return (\n <>\n \n {pageTitle && {pageTitle}}\n {description && }\n {keywords && }\n {canonicalUrl && }\n {faviconUrl && }\n \n {this._renderProductMetadata(\n productName,\n productDescription,\n productImageUrl,\n canonicalUrl,\n productId,\n price,\n context.request.channel?.Currency,\n productBrand\n )}\n {!config.disableOgTags && this._renderOgTags(pageTitle, description, sharingImageUrl)}\n {!config.disableTwitterTags && this._renderTwitterTags(pageTitle, description, sharingImageUrl)}\n \n );\n }\n\n /**\n * Renders the facebook and other social media specific metadata tags.\n *\n * @param title Page title.\n * @param description Product description.\n * @param sharingImageUrl Primary product image url.\n */\n private _renderOgTags(title: string | undefined, description: string | undefined, sharingImageUrl: string | undefined): JSX.Element {\n return (\n \n {title && }\n {description && }\n {sharingImageUrl && }\n \n \n );\n }\n\n /**\n * Constructs and renders the JSON-LD tag used to output product specific metadata used by search engine crawlers.\n *\n * @param productName Product name.\n * @param description Product description.\n * @param sharingImageUrl Primary product image url.\n * @param canonicalUrl Product canonical url.\n * @param productId Master product id.\n * @param price Proudct price.\n * @param currencyCode Current channel currency code.\n * @param productBrand Product brand.\n */\n private _renderProductMetadata(\n productName: string | undefined,\n description: string | undefined,\n sharingImageUrl: string | undefined,\n canonicalUrl: string | undefined,\n productId: number | undefined,\n price: number | undefined,\n currencyCode: string | undefined,\n productBrand: string | undefined\n ): JSX.Element {\n // Construct the JSON-LD data that contains the product metadata information used by search enginge crawlers\n const productMetaData = JSON.stringify({\n '@context': 'http://schema.org',\n '@type': 'Product',\n name: productName,\n description,\n image: sharingImageUrl,\n sku: productId,\n brand: {\n '@type': 'Brand',\n name: productBrand\n },\n offers: {\n '@type': 'Offer',\n url: canonicalUrl,\n priceCurrency: currencyCode,\n price\n }\n });\n return (\n \n {/* eslint-disable-next-line react/no-danger -- Implementation is a copy.*/}\n