{"version":3,"sources":["webpack:///src/modules/notifications-list/notifications-list.view.tsx?6e9c","webpack:///src/modules/place-holder-for-container-preview/place-holder-for-container-preview.tsx?b150","webpack:///src/modules/default-page/default-page.tsx?0e08","webpack:///src/utils/script-utils.ts?9534","webpack:///src/modules/spacer/spacer.tsx?3b03","webpack:///src/modules/default-inline-script/default-inline-script.tsx?3ed3","webpack:///src/modules/default-metatags/default-metatags.tsx?1bb4","webpack:///src/modules/default-external-script/default-external-script.tsx?203d","webpack:///./src/themes/farmlandstheme/views/components/price.component.tsx?acbd","webpack:///src/modules/default-page-summary/default-page-summary.tsx?b254","webpack:///src/modules/starter/starter.tsx?2704","webpack:///src/modules/spacer/spacer.view.tsx?bd25","webpack:///src/modules/fabrikam/fabrikam.tsx?a751","webpack:///src/modules/text-block/text-block.view.tsx?8d9b","webpack:///./src/themes/farmlandstheme/farmlandstheme.tsx?e208","webpack:///src/modules/text-block/text-block.tsx?1fe8","webpack:///src/modules/product-page-summary/product-page-summary.tsx?a2ef","webpack:///./src/modules/farmlands-footer/farmlands-footer.view.tsx?8137","webpack:///./src/modules/farmlands-footer/farmlands-footer.tsx?6da4","webpack:///src/modules/notifications-list/notifications-list.tsx?8a0a"],"names":["NotificationsListView","props","React","Module","Object","assign","container","notificationsList","PlaceholderForContainerPreviewComponent","DefaultPageContainer","constructor","super","render","slots","telemetry","id","typeName","this","skipToMainText","config","log","LogLevel","Debug","values","context","app","platform","tabIndexSkipToMain","isEditorialMode","actionContext","requestContext","className","href","tabIndex","header","map","children","subheader","primary","subfooter","footer","logDebug","debugMessage","logError","errorMessage","Error","isAbsoluteUrl","source","test","isRelativeUrl","Spacer","spacerClass","spacerHeight","viewProps","_objectSpread","classnames","renderView","DefaultInlineScript","inlineScript","includes","nonceToken","isNonceEnabled","request","scriptHtml","SDK_FRAGMENT_NAME","key","dangerouslySetInnerHTML","__html","DefaultMetaTags","data","metaTags","metaTagsHtml","_addNonceToInlineScript","join","metaTagsText","simpleText","text","inlineScripRegex","metaTag","replace","filter","Boolean","DefaultExternalScript","scriptSource","relativeBaseUrl","url","staticCdnUrl","msdyn365Commerce","getEnvironmentVariable","path","async","defer","showStrikethroughPricing","originalPrice","getOriginalPrice","price","CustomerContextualPrice","Math","max","BasePrice","TradeAgreementPrice","AdjustedPrice","renderCurrentPrice","initialPrice","formatCurrency","itemProp","undefined","freePriceText","cultureFormatter","renderCurrentPriceWithOriginalPrice","basePriceWithGST","itemPriceWithGST","originalPriceText","currentPriceText","savingsText","PriceComponent","createComponentOverride","component","DefaultPageSummary","pageSummary","result","title","description","keywords","sharingImageUrl","faviconUrl","canonicalUrl","sharingImage","src","pageTitle","_constructPageTitle","HtmlHeadInclude","name","content","rel","disableOgTags","_renderOgTags","disableTwitterTags","_renderTwitterTags","property","moduleConfig","ignoreTitleSuffixPrefix","appConfig","pageTitlePrefix","pageTitleSuffix","SpacerView","renderModuleAttributes","TextBlockView","paragraph","TextBlock","handleTextChange","event","target","value","MsDyn365","editProps","onEdit","textBlockViewProps","ProductPageSummary","_context$request$chan","productPageSummary","productId","productBrand","productName","productDescription","productImageUrl","_renderProductMetadata","channel","Currency","currencyCode","productMetaData","JSON","stringify","image","sku","brand","offers","priceCurrency","type","actionResponse","isBrowser","CommonFooter","AEM_URL","FarmlandsFooter","state","activeClass","selectedIndex","elementHeight","componentDidMount","footerAction","then","setState","footerData","_this$state","_this$state2","toggleLinkGroup","index","targetGroup","document","getElementById","targetGroupList","isActive","classList","contains","scrollHeight","NotificationComponentsList","Component","feed","ObjectExtensions","isNullOrUndefined","minTopOffset","maxTopOffset","_stickyConfiguration","_notificationsComponentList","notificationsComponentList","_handleTopUpdate","bind","_getCurrentTopPosition","shouldComponentUpdate","nextProps","nextState","isPropsDifferent","maxNotificationsCount","isStateDifferent","top","length","every","find","otherValue","notification","NotificationComponentsListsManager","subscribe","_instanceId","Random","Guid","generateGuid","window","addEventListener","componentWillUnmount","unsubscribe","forEach","_component$props$noti","events","getValue","NotificationEvents","RemovedFromList","removeEventListener","addNotificationComponent","notificationComponent","_notificationComponen","instanceId","handler","_notificationComponen2","newList","unshift","_className","moduleProps","style","_renderNotificationsList","hasNotifications","ArrayExtensions","hasElements","containerClassName","createElement","maxHeight","ComponentClass","componentClass","configuration","pageYOffset","min","newTop"],"mappings":"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","file":"static/js/10.46acd62a9453d7f880c5.chunk.js","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { INotificationsListViewProps } from './notifications-list';\n\nexport const NotificationsListView: React.FC = props => {\n return {props.notificationsList};\n};\n\nexport default NotificationsListView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { PlaceholderForContainerPreviewComponent } from '@msdyn365-commerce/core';\n\nexport default PlaceholderForContainerPreviewComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { LogLevel } from '@msdyn365-commerce/telemetry-internal';\nimport * as React from 'react';\nimport { isEditorialMode } from '@msdyn365-commerce/core-internal';\nimport { IDefaultPageProps } from './default-page.props.autogenerated';\n\n/**\n *\n * CoreComponent component\n * @extends {React.PureComponent}\n */\nclass DefaultPageContainer extends React.PureComponent> {\n constructor(props: IDefaultPageProps<{}>) {\n super(props);\n }\n\n public render(): JSX.Element {\n const { slots, telemetry, id, typeName } = this.props;\n\n let skipToMainText = this.props.config && this.props.config.skipToMainText;\n telemetry.log(LogLevel.Debug, \"DefaultPageContainer rendering for '{id}/{typeName}'\", { values: [id, typeName] });\n\n if (!skipToMainText) {\n skipToMainText =\n this.props.context.app && this.props.context.app.platform ? this.props.context.app.platform.skipToMainText : '';\n }\n\n const tabIndexSkipToMain = isEditorialMode(this.props.context.actionContext.requestContext) ? -1 : 0;\n\n return (\n \n \n {skipToMainText}\n \n
\n {slots &&\n slots.header &&\n slots.header.map((children: React.ReactNode) => {\n return children;\n })}\n
\n {slots && slots.subheader && (\n
\n {slots.subheader.map((children: React.ReactNode) => {\n return children;\n })}\n
\n )}\n
\n {slots &&\n slots.primary &&\n slots.primary.map((children: React.ReactNode) => {\n return children;\n })}\n
\n {slots && slots.subfooter && (\n
\n {slots.subfooter.map((children: React.ReactNode) => {\n return children;\n })}\n
\n )}\n
\n {slots &&\n slots.footer &&\n slots.footer.map((children: React.ReactNode) => {\n return children;\n })}\n
\n
\n );\n }\n}\n\nexport default DefaultPageContainer;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IInternalTelemetry, LogLevel } from '@msdyn365-commerce/telemetry-internal';\n\nexport const logDebug = (debugMessage: string, telemetry: IInternalTelemetry | undefined): void => {\n telemetry && telemetry.log(LogLevel.Debug, debugMessage);\n};\n\nexport const logError = (errorMessage: string, telemetry: IInternalTelemetry | undefined): void => {\n telemetry && telemetry.log(LogLevel.Error, errorMessage);\n};\n\n/**\n * Returns true if the given string matches an URL pattern\n *\n * @param source The string to check against\n */\nexport const isAbsoluteUrl = (source: string): boolean => {\n // eslint-disable-next-line security/detect-unsafe-regex\n return /^(http|https):\\/\\/(\\w+:{0,1}\\w*@)?(\\S+)(:[0-9]+)?(\\/|\\/([\\w#!:.?+=&%@!\\-\\/]))?$/.test(source);\n};\n\nexport const isRelativeUrl = (source: string): boolean => {\n return /^(?!www\\.|(?:http|ftp)s?:\\/\\/|[A-Za-z]:\\\\|\\/\\/).*(\\.js){1}$/.test(source);\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { ISpacerProps } from './spacer.props.autogenerated';\n\nexport interface ISpacerViewProps extends ISpacerProps<{}> {\n className?: string;\n}\n\n/**\n *\n * SpacerModule component.\n * @extends {React.PureComponent}\n */\nclass Spacer extends React.PureComponent> {\n public render(): JSX.Element | null {\n const { className } = this.props.config;\n const spacerClass = this.props.config.spacerHeight ? `ms-${this.props.config.spacerHeight}` : 'ms-spacer';\n const viewProps = {\n // Context for telemetry and raw data for C1 to do customization\n // Including computed data, state data and methods\n ...this.props,\n className: (className && classnames(spacerClass, className)) || spacerClass\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n}\n\nexport default Spacer;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { isNonceEnabled, SDK_FRAGMENT_NAME } from '@msdyn365-commerce/core-internal';\nimport * as React from 'react';\nimport { isAbsoluteUrl, isRelativeUrl, logDebug, logError } from '../../utils/script-utils';\nimport { IDefaultInlineScriptProps } from './default-inline-script.props.autogenerated';\n\n/**\n *\n * DefaultScript\n * @extends {React.PureComponent>}\n */\nclass DefaultInlineScript extends React.PureComponent> {\n constructor(props: IDefaultInlineScriptProps<{}>) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { config } = this.props;\n logDebug(`Adding script tags for '${this.props.id}/${this.props.typeName}'`, this.props.telemetry);\n const source = config.inlineScript;\n\n if (!source || source === '' || isAbsoluteUrl(source) || isRelativeUrl(source)) {\n logError(\n 'Invalid inline script - Empty inline source defined or a url is being used as a source. Use default-external-script to load scripts from an external or relative url.',\n this.props.telemetry\n );\n return null;\n }\n\n if (source.includes('')) {\n logError('Invalid inline script - inline script should not contain html tags', this.props.telemetry);\n return null;\n }\n\n const nonceToken = this.props.context && isNonceEnabled(this.props.context.request);\n const scriptHtml = ``;\n return React.createElement(SDK_FRAGMENT_NAME, { key: this.props.id, dangerouslySetInnerHTML: { __html: scriptHtml } });\n }\n}\n\nexport default DefaultInlineScript;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nimport { isNonceEnabled, SDK_FRAGMENT_NAME } from '@msdyn365-commerce/core-internal';\nimport { IDefaultMetatagsData } from './default-metatags.data';\nimport { IDefaultMetatagsProps } from './default-metatags.props.autogenerated';\n\n/**\n *\n * DefaultPageSummaryMetadata component\n * @extends {React.PureComponent>}\n */\nclass DefaultMetaTags extends React.PureComponent> {\n public render(): JSX.Element {\n const { data, config } = this.props;\n const nonceToken = this.props.context && isNonceEnabled(this.props.context.request);\n let metaTagsHtml: string = '';\n let metaTags;\n if (config.metaTags) {\n metaTags = nonceToken ? this._addNonceToInlineScript(config.metaTags, nonceToken) : config.metaTags;\n metaTagsHtml = metaTags && metaTags.join('\\n');\n } else if (data.metaTags) {\n metaTags = data.metaTags;\n let metaTagsText = metaTags.map(simpleText => simpleText.text);\n metaTagsText = nonceToken ? this._addNonceToInlineScript(metaTagsText, nonceToken) : metaTagsText;\n metaTagsHtml = metaTagsText && metaTagsText.join('\\n');\n }\n return React.createElement(SDK_FRAGMENT_NAME, { key: this.props.id, dangerouslySetInnerHTML: { __html: metaTagsHtml } });\n }\n\n private _addNonceToInlineScript(metaTags: string[], nonceToken: string): string[] {\n const inlineScripRegex = /(.*?)<\\/script>/g;\n return metaTags\n .map(metaTag => {\n if (inlineScripRegex.test(metaTag)) {\n return metaTag.replace(/`;\n\n return React.createElement(SDK_FRAGMENT_NAME, { key: this.props.id, dangerouslySetInnerHTML: { __html: scriptHtml } });\n }\n}\n\nexport default DefaultExternalScript;\n","import classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\n/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\nimport { IComponent, IComponentProps, msdyn365Commerce } from '@msdyn365-commerce/core';\r\nimport { ProductPrice } from '@msdyn365-commerce/retail-proxy';\r\n\r\nexport interface IPriceComponentProps extends IComponentProps<{ price: ProductPrice }> {\r\n className?: string;\r\n savingsText?: string;\r\n freePriceText?: string;\r\n originalPriceText?: string;\r\n currentPriceText?: string;\r\n}\r\nexport interface IPriceComponent extends IComponent {}\r\n\r\nconst PriceComponentActions = {};\r\n\r\nconst Price: React.FC = (props: IPriceComponentProps) => {\r\n // CustomerContextualPrice could be 0\r\n if (props.data.price.CustomerContextualPrice === undefined) {\r\n return null;\r\n }\r\n return (\r\n \r\n {showStrikethroughPricing(props) ? renderCurrentPriceWithOriginalPrice(props) : renderCurrentPrice(props)}\r\n \r\n );\r\n};\r\n\r\nconst showStrikethroughPricing = (props: IPriceComponentProps) => {\r\n const originalPrice = getOriginalPrice(props);\r\n\r\n if (originalPrice && props.data.price.CustomerContextualPrice) {\r\n return originalPrice > props.data.price.CustomerContextualPrice;\r\n }\r\n\r\n return false;\r\n};\r\n\r\nconst getOriginalPrice = (props: IPriceComponentProps) => {\r\n return Math.max(\r\n props.data.price.BasePrice || 0,\r\n props.data.price.TradeAgreementPrice || 0,\r\n props.data.price.AdjustedPrice || 0\r\n );\r\n};\r\n\r\nconst renderCurrentPrice = (props: IPriceComponentProps): JSX.Element | undefined => {\r\n const initialPrice = formatCurrency(props, props.data.price.CustomerContextualPrice);\r\n return (\r\n \r\n {initialPrice}\r\n \r\n );\r\n};\r\n\r\nconst formatCurrency = (props: IPriceComponentProps, price: number | undefined): string | undefined => {\r\n if (price === undefined) {\r\n return undefined;\r\n }\r\n\r\n if (price === 0 && props.freePriceText) {\r\n return props.freePriceText;\r\n }\r\n\r\n return props.context.cultureFormatter.formatCurrency(price);\r\n};\r\n\r\nconst renderCurrentPriceWithOriginalPrice = (props: IPriceComponentProps): JSX.Element | null => {\r\n const originalPrice = getOriginalPrice(props);\r\n const basePriceWithGST = formatCurrency(props, originalPrice);\r\n const itemPriceWithGST = formatCurrency(props, props.data.price.CustomerContextualPrice);\r\n\r\n return (\r\n <>\r\n \r\n {props.originalPriceText} {basePriceWithGST} {props.currentPriceText} {itemPriceWithGST}\r\n \r\n \r\n \r\n {props.savingsText} {itemPriceWithGST}\r\n \r\n \r\n );\r\n};\r\n\r\n// @ts-ignore\r\nexport const PriceComponent: React.FunctionComponent = msdyn365Commerce.createComponentOverride(\r\n 'Price',\r\n { component: Price, ...PriceComponentActions }\r\n);\r\n\r\nexport default PriceComponent;\r\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 { IDefaultPageSummaryData } from './default-page-summary.data';\nimport { IDefaultPageSummaryProps } from './default-page-summary.props.autogenerated';\n\n/**\n *\n * DefaultPageSummaryMetadata component.\n * @extends {React.PureComponent}\n */\nclass DefaultPageSummary extends React.PureComponent> {\n public render(): JSX.Element {\n if (this.props.data.pageSummary.result === undefined) {\n throw new Error('PageSummaryData input to page-summary is undefined. Unable to generate page-summary');\n }\n let {\n data: {\n pageSummary: {\n result: { title, description, keywords, sharingImageUrl, faviconUrl }\n }\n }\n } = this.props;\n\n const {\n config,\n context,\n data: {\n pageSummary: {\n result: { canonicalUrl }\n }\n }\n } = this.props;\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 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 {!config.disableOgTags && this._renderOgTags(pageTitle, description, sharingImageUrl)}\n {!config.disableTwitterTags && this._renderTwitterTags(pageTitle, description, sharingImageUrl)}\n \n );\n }\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 private _renderTwitterTags(\n title: string | undefined,\n description: string | undefined,\n sharingImageUrl: string | undefined\n ): JSX.Element {\n return (\n \n {title && }\n {description && }\n {sharingImageUrl && }\n \n \n );\n }\n\n private _constructPageTitle(title: string | undefined, app: IGeneric): string | undefined {\n if (!title) {\n title = '';\n }\n\n const moduleConfig = this.props.config;\n if (moduleConfig && moduleConfig.ignoreTitleSuffixPrefix) {\n return title;\n }\n\n const appConfig = app && app.platform;\n if (appConfig) {\n if (appConfig.pageTitlePrefix) {\n title = (appConfig.pageTitlePrefix as string) + title;\n }\n if (appConfig.pageTitleSuffix) {\n title += appConfig.pageTitleSuffix as string;\n }\n }\n\n return title;\n }\n}\n\nexport default DefaultPageSummary;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\n// TODO: Current build require at least one tsx file\nexport default () =>
;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nimport { ISpacerViewProps } from './spacer';\n\nconst SpacerView: React.FC = props => (\n
\n);\n\nexport default SpacerView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\n// TODO: Current build require at least one tsx file\nexport default () =>
;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nimport { ITextBlockViewProps } from './text-block';\n\nconst TextBlockView: React.FC = props => (\n
\n {props.paragraph}\n
\n);\n\nexport default TextBlockView;\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport * as React from 'react';\r\n\r\n// TODO: Current build require at least one tsx file\r\nexport default () =>
;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as MsDyn365 from '@msdyn365-commerce/core';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { ITextBlockProps } from './text-block.props.autogenerated';\n\nexport interface ITextBlockViewProps extends ITextBlockProps<{}> {\n paragraph?: React.ReactNode;\n className?: string;\n}\n\n/**\n *\n * TextBlock component.\n */\nclass TextBlock extends React.PureComponent> {\n public render(): JSX.Element | null {\n const { paragraph, className } = this.props.config;\n const text = paragraph && (\n \n );\n const textBlockViewProps = {\n ...this.props,\n paragraph: text,\n className: classnames('ms-text-block', className)\n };\n return this.props.renderView(textBlockViewProps) as React.ReactElement;\n }\n\n public handleTextChange = (event: MsDyn365.ContentEditableEvent) => (this.props.config.paragraph = event.target.value);\n}\nexport default TextBlock;\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