{"version":3,"file":"static/js/8.b2766c220e3732f1abe5.chunk.js","mappings":"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","sources":["webpack://nile.commerce.online/./src/modules/article-details/article-details.tsx?9949","webpack://nile.commerce.online/./src/modules/article-details/article-details.view.tsx?4cf2","webpack://nile.commerce.online/./src/modules/article-sustainability/article-sustainability.tsx?145c","webpack://nile.commerce.online/./src/modules/article-sustainability/article-sustainability.view.tsx?2b91","webpack://nile.commerce.online/./src/modules/eve-iframe/eve-iframe.tsx?6088","webpack://nile.commerce.online/./src/modules/eve-iframe/eve-iframe.view.tsx?d2d5","webpack://nile.commerce.online/./src/modules/gtm-body/gtm-body.tsx?9597","webpack://nile.commerce.online/./src/modules/gtm-body/gtm-body.view.tsx?be28","webpack://nile.commerce.online/./src/modules/loyalty-auto-enroll/loyalty-auto-enroll.tsx?e9a0","webpack://nile.commerce.online/./src/modules/loyalty-auto-enroll/loyalty-auto-enroll.view.tsx?4d58","webpack://nile.commerce.online/./src/modules/usercentrics-inline-script/usercentrics-inline-script.tsx?6309","webpack://nile.commerce.online/./src/themes/nile-theme/nile-theme.tsx?a983","webpack://nile.commerce.online/./src/modules/msdyn365-pva-chat-connector/msdyn365-pva-chat-connector.tsx?797a","webpack://nile.commerce.online/./src/modules/msdyn365-pva-chat-connector/msdyn365-pva-chat-connector.view.tsx?cb2f","webpack://nile.commerce.online/./src/modules/checkout-apple-pay/checkout-apple-pay.view.tsx?222d","webpack://nile.commerce.online/./src/modules/checkout-customer-account-payment/checkout-customer-account-payment.view.tsx?79c6","webpack://nile.commerce.online/./src/modules/checkout-express/checkout-express.view.tsx?134b","webpack://nile.commerce.online/./src/modules/checkout-google-pay/checkout-google-pay.view.tsx?b92f","webpack://nile.commerce.online/./src/components/container-background-image/container-background-image-helper.ts?ce2e","webpack://nile.commerce.online/./src/components/container-background-image/container-backgroud-image.tsx?e863","webpack://nile.commerce.online/./src/components/base-components.tsx?daec","webpack://nile.commerce.online/./src/modules/default-container-2-slots/default-container-2-slots.tsx?8065","webpack://nile.commerce.online/./src/modules/default-container-3-slots/default-container-3-slots.tsx?ac77","webpack://nile.commerce.online/./src/modules/default-container/default-container.tsx?01c3","webpack://nile.commerce.online/./src/modules/default-metatags/default-metatags.tsx?97a7","webpack://nile.commerce.online/./src/modules/default-page/default-page.tsx?b382","webpack://nile.commerce.online/./src/utils/classnames.ts?a0ff","webpack://nile.commerce.online/./src/modules/fabrikam/fabrikam.tsx?5b10","webpack://nile.commerce.online/./src/modules/default-page-summary/default-page-summary.tsx?0c78","webpack://nile.commerce.online/./src/modules/starter/starter.tsx?aade"],"sourcesContent":["/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\n\r\nimport { IArticleDetailsData } from './article-details.data';\r\nimport { IArticleDetailsProps } from './article-details.props.autogenerated';\r\nimport { ProductsDataActions, AttributeProduct } from '@msdyn365-commerce/retail-proxy/';\r\nexport interface IArticleDetailsViewProps extends IArticleDetailsProps {\r\n productId: string;\r\n modelInfo: string;\r\n attributes: AttributeProduct[] | undefined;\r\n}\r\n\r\n/**\r\n *\r\n * ArticleDetails component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass ArticleDetails extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n const {\r\n data: { product }\r\n } = this.props;\r\n\r\n const productId = product.result && product.result.ItemId ? product.result.ItemId : '';\r\n const attributes = ProductsDataActions.getChannelProductAttributesAsync(this.context);\r\n const modelInfo = attributes.result ? attributes.result.find(n => n.Name === 'ModelSize') : '';\r\n\r\n const articleDetailsProps: IArticleDetailsViewProps = {\r\n ...this.props,\r\n productId,\r\n modelInfo: modelInfo && modelInfo.Name ? modelInfo.Name : '',\r\n attributes: attributes.result\r\n };\r\n\r\n return this.props.renderView(articleDetailsProps);\r\n }\r\n}\r\n\r\nexport default ArticleDetails;\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\n\r\nimport * as React from 'react';\r\nimport { IArticleDetailsViewProps } from './article-details';\r\n\r\nexport default (props: IArticleDetailsViewProps) => {\r\n return (\r\n <>\r\n

Details

\r\n\r\n

Article: {props.productId}

\r\n

{props.modelInfo}

\r\n \r\n );\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\n\r\nimport * as React from 'react';\r\n\r\nimport { IArticleSustainabilityData } from './article-sustainability.data';\r\nimport { IArticleSustainabilityProps } from './article-sustainability.props.autogenerated';\r\nimport { ProductsDataActions, AttributeProduct } from '@msdyn365-commerce/retail-proxy/';\r\nexport interface IArticleSustainabilityViewProps extends IArticleSustainabilityProps {\r\n attributes: AttributeProduct[] | undefined;\r\n}\r\n\r\n/**\r\n *\r\n * ArticleSustainability component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass ArticleSustainability extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n const attributes = ProductsDataActions.getChannelProductAttributesAsync(this.context);\r\n\r\n const articleSustainProps: IArticleSustainabilityViewProps = {\r\n ...this.props,\r\n attributes: attributes.result\r\n };\r\n\r\n return this.props.renderView(articleSustainProps);\r\n }\r\n}\r\n\r\nexport default ArticleSustainability;\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\n\r\nimport { IArticleSustainabilityViewProps } from './article-sustainability';\r\n\r\nexport default (props: IArticleSustainabilityViewProps) => {\r\n return '';\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\n\r\nimport * as React from 'react';\r\n\r\nimport { IEveIframeData } from './eve-iframe.data';\r\nimport { IEveIframeProps } from './eve-iframe.props.autogenerated';\r\n\r\nexport interface IEveIframeViewProps extends IEveIframeProps {}\r\n\r\n/**\r\n *\r\n * EveIframe component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass EveIframe extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n return this.props.renderView(this.props);\r\n }\r\n}\r\n\r\nexport default EveIframe;\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\n\r\nimport * as React from 'react';\r\nimport { IEveIframeViewProps } from './eve-iframe';\r\n\r\nexport default (props: IEveIframeViewProps) => {\r\n return (\r\n \r\n );\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\n\r\nimport * as React from 'react';\r\n\r\nimport { IGtmBodyData } from './gtm-body.data';\r\nimport { IGtmBodyProps } from './gtm-body.props.autogenerated';\r\n\r\nexport interface IGtmBodyViewProps extends IGtmBodyProps {}\r\n\r\n/**\r\n *\r\n * GtmBody component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass GtmBody extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n return this.props.renderView(this.props);\r\n }\r\n}\r\n\r\nexport default GtmBody;\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\n\r\nimport msdyn365Commerce from '@msdyn365-commerce/core-internal';\r\nimport { IGtmBodyViewProps } from './gtm-body';\r\n\r\nexport default (props: IGtmBodyViewProps) => {\r\n if (msdyn365Commerce.isBrowser) {\r\n const url = `https://www.googletagmanager.com/ns.html?id=${props.config.gtmId}`;\r\n const body = document.querySelector('body');\r\n const exists = !!document.querySelector('#gtm');\r\n if (body && !exists) {\r\n const gtm = document.createElement('noscript');\r\n gtm.id = 'gtm';\r\n const ifel = document.createElement('iframe');\r\n ifel.setAttribute('src', url);\r\n ifel.setAttribute('height', '0');\r\n ifel.setAttribute('width', '0');\r\n ifel.setAttribute('style', 'display: none; visibility: hidden;');\r\n gtm.appendChild(ifel);\r\n body.prepend(gtm);\r\n }\r\n }\r\n\r\n return null;\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\n\r\nimport * as React from 'react';\r\n\r\nimport { ILoyaltyAutoEnrollData } from './loyalty-auto-enroll.data';\r\nimport { ILoyaltyAutoEnrollProps } from './loyalty-auto-enroll.props.autogenerated';\r\nimport { computed } from 'mobx';\r\nimport { issueLoyalty, IssueLoyaltyInput } from '@msdyn365-commerce-modules/retail-actions';\r\nexport interface ILoyaltyAutoEnrollViewProps extends ILoyaltyAutoEnrollProps {}\r\n\r\n/**\r\n *\r\n * LoyaltyAutoEnroll component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass LoyaltyAutoEnroll extends React.PureComponent> {\r\n @computed\r\n private get isAuthenticated(): boolean {\r\n const {\r\n context: {\r\n request: { user }\r\n }\r\n } = this.props;\r\n return user && user.isAuthenticated;\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const {\r\n data: { loyaltyCard },\r\n context: {\r\n request: { apiSettings },\r\n actionContext\r\n }\r\n } = this.props;\r\n if (this.isAuthenticated && !loyaltyCard?.result?.CardNumber) {\r\n issueLoyalty(new IssueLoyaltyInput(apiSettings), actionContext).catch(err => console.error(err));\r\n }\r\n return null;\r\n }\r\n}\r\n\r\nexport default LoyaltyAutoEnroll;\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\n\r\nimport { ILoyaltyAutoEnrollViewProps } from './loyalty-auto-enroll';\r\n\r\nexport default (props: ILoyaltyAutoEnrollViewProps) => {\r\n return null;\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\n\r\nimport { isNonceEnabled, SDK_FRAGMENT_NAME } from '@msdyn365-commerce/core-internal';\r\nimport * as React from 'react';\r\nimport { IUsercentricsInlineScriptProps } from './usercentrics-inline-script.props.autogenerated';\r\n\r\nimport { IInternalTelemetry, LogLevel } from '@msdyn365-commerce/telemetry-internal';\r\n\r\nconst logDebug = (debugMessage: string, telemetry: IInternalTelemetry | undefined): void => {\r\n telemetry && telemetry.log(LogLevel.Debug, debugMessage);\r\n};\r\n\r\nconst logError = (errorMessage: string, telemetry: IInternalTelemetry | undefined): void => {\r\n telemetry && telemetry.log(LogLevel.Error, errorMessage);\r\n};\r\n\r\n/**\r\n * Returns true if the given string matches an URL pattern\r\n *\r\n * @param source The string to check against\r\n */\r\nconst isAbsoluteUrl = (source: string): boolean => {\r\n return /^(http|https):\\/\\/(\\w+:{0,1}\\w*@)?(\\S+)(:[0-9]+)?(\\/|\\/([\\w#!:.?+=&%@!\\-\\/]))?$/.test(source);\r\n};\r\n\r\nconst isRelativeUrl = (source: string): boolean => {\r\n return /^(?!www\\.|(?:http|ftp)s?:\\/\\/|[A-Za-z]:\\\\|\\/\\/).*(\\.js){1}$/.test(source);\r\n};\r\n\r\n/**\r\n *\r\n * UsercentricsScript\r\n * @extends {React.PureComponent>}\r\n */\r\nclass UsercentricsInlineScript extends React.PureComponent> {\r\n constructor(props: IUsercentricsInlineScriptProps<{}>) {\r\n super(props);\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const { config } = this.props;\r\n logDebug(`Adding script tags for '${this.props.id}/${this.props.typeName}'`, this.props.telemetry);\r\n const source = config.inlineScript;\r\n\r\n if (!source || source === '' || isAbsoluteUrl(source) || isRelativeUrl(source)) {\r\n logError(\r\n 'Invalid inline script - Empty inline source defined or a url is being used as a source. Use usercentrics-external-script to load scripts from an external or relative url.',\r\n this.props.telemetry\r\n );\r\n return null;\r\n }\r\n\r\n if (source.includes('')) {\r\n logError('Invalid inline script - inline script should not contain html tags', this.props.telemetry);\r\n return null;\r\n }\r\n\r\n const nonceToken = this.props.context && isNonceEnabled(this.props.context.request);\r\n const scriptHtml = ``;\r\n return React.createElement(SDK_FRAGMENT_NAME, { key: this.props.id, dangerouslySetInnerHTML: { __html: scriptHtml } });\r\n }\r\n}\r\n\r\nexport default UsercentricsInlineScript;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\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 React from 'react';\nimport { isOboRequest } from '@msdyn365-commerce/core-internal';\nimport { IMsdyn365PvaChatConnectorData } from './msdyn365-pva-chat-connector.data';\nimport { IMsdyn365PvaChatConnectorConfig, IMsdyn365PvaChatConnectorProps } from './msdyn365-pva-chat-connector.props.autogenerated';\n\nexport interface IPvaChatConnectorViewProps extends IMsdyn365PvaChatConnectorProps {\n config: IMsdyn365PvaChatConnectorConfig;\n}\n\n/**\n * PvaChatConnector component\n * @extends {React.PureComponent>}\n */\nclass PvaChatConnector extends React.PureComponent> {\n // Loads CDN version of Botframework-Webchat library\n public componentDidMount(): void {\n if (isOboRequest(this.props.context.request)) {\n return;\n }\n\n const url = this.props.config.botFrameworkCDNURL || this.props.context.app.config.pvaChatConnectorBotFrameworkCDNURL;\n const script = document.createElement('script');\n script.src = url;\n script.async = true;\n script.crossOrigin = 'anonymous';\n document.body.appendChild(script);\n }\n\n public render(): JSX.Element | null {\n if (isOboRequest(this.props.context.request)) {\n return null;\n }\n\n return this.props.renderView(this.props);\n }\n}\n\nexport default PvaChatConnector;\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';\nimport { Chat, IPvaChatConnectorViewProps } from './index';\n\nexport default (props: IPvaChatConnectorViewProps) => {\n // Only for CDN loading check, won't be needed with npm package of Botframework-WebChat\n const [loaded, setLoaded] = React.useState(false);\n const p = {\n ...props\n };\n\n // Just to verify that CDN Chat Widget js lib is loaded\n // Remove this block if moving to npm package of Botframework-WebChat\n const interval = setInterval(() => {\n const t = typeof window;\n if (t !== 'undefined' && window.WebChat) {\n setLoaded(true);\n clearInterval(interval);\n }\n }, 100);\n\n return
{loaded && }
;\n};\n","/*!\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';\nimport { ICheckoutApplePayViewProps } from './checkout-apple-pay';\n\nconst CheckoutApplePayView: React.FC = props => {\n const { checkoutApplePay, applePayButton, alert } = props;\n\n return (\n \n {alert}\n {applePayButton}\n \n );\n};\n\nexport default CheckoutApplePayView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICheckoutCustomerAccountPaymentViewProps, IAccountPaymentEditViewForm, IAccountPaymentSummaryViewForm } from './index';\n\nexport const SummaryForm: React.FC = ({\n formProps,\n label,\n paymentAmount,\n addPaymentButton,\n appliedLine,\n bottomBorder\n}) => (\n \n <>\n {label}\n {paymentAmount}\n {addPaymentButton}\n {appliedLine}\n {bottomBorder}\n \n \n);\n\nexport const EditForm: React.FC = ({\n formProps,\n inputLabel,\n inputAmount,\n addPaymentButton,\n customerName,\n customerAccountNumber,\n customerSince,\n accountCredit,\n alert,\n accountDetails,\n appliedLine,\n bottomBorder\n}) => (\n \n <>\n {customerName}\n {customerAccountNumber}\n {customerSince}\n {accountCredit}\n {accountDetails}\n {inputLabel}\n {alert}\n {inputAmount}\n {addPaymentButton}\n {appliedLine}\n {bottomBorder}\n \n \n);\n\nconst CheckoutCustomerAccountView: React.FC = props => {\n const { checkoutCustomerAccount, checkoutErrorRef, summaryView, editView, moduleState, alert } = props;\n return (\n \n {alert}\n {moduleState.isReady && summaryView && }\n {!moduleState.isReady && editView && }\n \n );\n};\n\nexport default CheckoutCustomerAccountView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICheckoutExpressOverlayModal, ICheckoutExpressViewProps } from './checkout-express';\n\n/**\n * Overlay modal.\n * @param param0 - Modal.\n * @param param0.modal - Modal param.\n * @returns React node.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention -- public name.\nconst OverlayModal: React.FC = ({ modal }) => {\n return ;\n};\n\n/**\n * Checkout express view.\n * @param param0 - Checkout express view props.\n * @param param0.checkoutExpress - Checkout express.\n * @param param0.waiting - Waiting.\n * @param param0.alert - Alert.\n * @param param0.addPaymentForm - Add payment form.\n * @param param0.overlayModal - Overlay modal.\n * @param param0.title - Module title.\n * @param param0.shouldHideExpressCheckout - ShouldHideExpressCheckout.\n * @returns React node.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention -- Public name.\nconst CheckoutExpressView: React.FC = ({\n checkoutExpress,\n waiting,\n alert,\n addPaymentForm,\n overlayModal,\n title,\n shouldHideExpressCheckout\n}) =>\n shouldHideExpressCheckout ? (\n <>\n ) : (\n \n {title}\n {waiting}\n {alert}\n {addPaymentForm}\n {overlayModal && }\n \n );\n\nexport default CheckoutExpressView;\n","/*!\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';\nimport { ICheckoutGooglePayViewProps } from './checkout-google-pay';\n\nconst CheckoutGooglePayView: React.FC = props => {\n const { alert, checkoutGooglePay, checkoutButton } = props;\n return (\n \n {alert}\n
ref?.appendChild(checkoutButton || document.createElement('div'))}>
\n
\n );\n};\n\nexport default CheckoutGooglePayView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport msdyn365Commerce, {\n constructViewportInformationForImage,\n getImageResizeUrl,\n getLargestGridSettingViewportName,\n getMinMaxWidth,\n IAny,\n IGeneric,\n IViewPort,\n Viewport\n} from '@msdyn365-commerce/core-internal';\nimport { cloneDeep as _cloneDeep } from 'lodash';\nimport {\n BackgroundImageRepeat,\n BackgroundImageSize,\n IBackgroundImageAttributes,\n IBackgroundImageLazyloadAttributes,\n IBackgroundImageProps,\n IBackgroundImageStyle\n} from './container-background-image-interfaces';\n\nconst getBackgroundRepeatProperty = (size: string | undefined, repeat: string | undefined): BackgroundImageRepeat => {\n if (!size || size === 'cover') {\n return 'no-repeat';\n }\n switch (repeat) {\n case 'noRepeat':\n return 'no-repeat';\n case 'repeat':\n return 'repeat';\n default:\n return 'no-repeat';\n }\n};\n\nconst getBackgroundSizeProperty = (size: string | undefined): BackgroundImageSize => {\n switch (size) {\n case 'cover':\n return 'cover';\n case 'contain':\n return 'contain';\n case 'default':\n default:\n return undefined;\n }\n};\n\nconst getDefaultViewports = (): IViewPort => {\n return {\n xs: {\n w: 800,\n h: 600\n },\n sm: {\n w: 1200,\n h: 900\n },\n md: {\n w: 1600,\n h: 900\n },\n lg: {\n w: 1600,\n h: 700\n },\n xl: {\n w: 1600,\n h: 700\n }\n };\n};\n\nconst getAuthoringViewport = (moduleName: string | undefined, layout: string | undefined): IViewPort | undefined => {\n if (!msdyn365Commerce.isBrowser) {\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const authoringHelper = (window as any)._msdyn365.authoringHelper;\n if (!authoringHelper) {\n return;\n }\n\n // if authoring helper is setup, component is rendering from site builder. Build viewport based on layout selected.\n return constructViewportInformationForImage(moduleName, layout, 'backgroundImage', authoringHelper?.themeSettings) as IViewPort;\n};\n\nexport const buildBackgroundImageStylesByViewport = (props: IBackgroundImageProps): IGeneric => {\n const { containerType, image, request, configs } = props;\n\n const gridSettings = request.gridSettings ?? {};\n const imageSettings = image.imageSettings;\n\n const styles: IGeneric = {};\n\n const largestGridSettingViewportName = getLargestGridSettingViewportName(gridSettings);\n if (largestGridSettingViewportName && imageSettings) {\n // in site builder the layout may change, so use authoring viewports.\n const authoringViewPorts = getAuthoringViewport(containerType, configs?.layout);\n const imgSettings = {\n ...imageSettings,\n viewports: { ..._cloneDeep(authoringViewPorts || imageSettings.viewports || getDefaultViewports()) }\n };\n\n // Skip resizing width and height for background images.\n const skipWidthAndHeightSettings = true;\n Object.keys(imgSettings.viewports).map(vp => {\n const viewport = vp as Viewport;\n const minMaxWidth = getMinMaxWidth(gridSettings, imgSettings, viewport, largestGridSettingViewportName);\n const urlSrc = getImageResizeUrl(\n image.src,\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n imgSettings.viewports[viewport],\n imgSettings,\n skipWidthAndHeightSettings,\n image?.externalProvider,\n request?.apiSettings\n );\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n styles[viewport] = {\n maxWidth: minMaxWidth.max,\n minWidth: minMaxWidth.min,\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n minHeight: imgSettings.viewports[viewport]?.h,\n backgroundImage: urlSrc,\n backgroundRepeat: getBackgroundRepeatProperty(configs?.size, configs?.repeat),\n backgroundSize: getBackgroundSizeProperty(configs?.size),\n backgroundPosition: 'center center'\n };\n });\n }\n\n return styles;\n};\n\nexport const setStyleAttribute = (currentStyle: IBackgroundImageStyle): IGeneric => {\n let style: IGeneric = {};\n if (currentStyle) {\n style = { ...currentStyle };\n style['minWidth'] = undefined;\n style['width'] = '100%';\n if (currentStyle.backgroundImage) {\n style['backgroundImage'] = `url('${currentStyle.backgroundImage}')`;\n }\n }\n return style;\n};\n\nexport const getBackgroundImageLazyloadAttributes = (\n className: string,\n currentStyle: IBackgroundImageStyle | undefined,\n styles: IGeneric\n): IBackgroundImageLazyloadAttributes => {\n const attributes = {\n role: 'img',\n className: `${className} lazyload`,\n 'data-bgset': getDataBgSetAttribute(styles)\n };\n\n if (currentStyle) {\n attributes['style'] = setStyleAttribute(currentStyle);\n // On lazyload, lazysizes plugin should pick which background image to use based on data-bgset attribute.\n attributes['style']['backgroundImage'] = undefined;\n }\n return attributes;\n};\n\nexport const getBackgroundImageAttributes = (\n className: string,\n currentStyle: IBackgroundImageStyle | undefined\n): IBackgroundImageAttributes => {\n const attributes = {\n role: 'img',\n className\n };\n\n if (currentStyle) {\n attributes['style'] = setStyleAttribute(currentStyle);\n }\n return attributes;\n};\n\nexport const getBgSetMinMaxWidthAttribute = (style: IBackgroundImageStyle): string => {\n if (style.maxWidth) {\n return `[(max-width: ${style.maxWidth}px)]`;\n }\n return '';\n};\n\nexport const getDataBgSetAttribute = (styles: IGeneric): string => {\n const dataBgSetAttributes: string[] = [];\n Object.keys(styles).map(vp => {\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n if (styles[vp].backgroundImage) {\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n dataBgSetAttributes.push(`${styles[vp].backgroundImage} ${getBgSetMinMaxWidthAttribute(styles[vp])}`);\n }\n });\n\n return dataBgSetAttributes.join(' | ');\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport msdyn365Commerce, { getLargestGridSettingViewportName, IGeneric, isAuthoringEditEnabled } from '@msdyn365-commerce/core-internal';\nimport * as React from 'react';\nimport { isEqual as _isEqual } from 'lodash';\nimport {\n buildBackgroundImageStylesByViewport,\n getBackgroundImageAttributes,\n getBackgroundImageLazyloadAttributes\n} from './container-background-image-helper';\nimport {\n IBackgroundImageAttributes,\n IBackgroundImageProps,\n IBackgroundImageState,\n IBackgroundImageStyle\n} from './container-background-image-interfaces';\n\nconst BACKGROUND_IMAGE_CLASS_NAME = 'ms-container-background-image';\n\n/**\n * BackgroundImage component\n * @extends {React.PureComponent}\n */\nexport class BackgroundImage extends React.PureComponent {\n private stylesByViewport: IGeneric;\n private currentStyle: IBackgroundImageStyle | undefined;\n private mounted: boolean;\n\n constructor(props: IBackgroundImageProps, state: IBackgroundImageState) {\n super(props);\n this.stylesByViewport = buildBackgroundImageStylesByViewport(this.props);\n this._onChangeHandler = this._onChangeHandler.bind(this);\n this.currentStyle = this._getCurrentStyle();\n this.mounted = false;\n this._componentResize = this._componentResize.bind(this);\n this._getCurrentStyle = this._getCurrentStyle.bind(this);\n this.state = { updateAttributes: false };\n }\n\n public componentDidMount(): void {\n if (msdyn365Commerce.isBrowser) {\n window.addEventListener('resize', this._componentResize);\n this.mounted = true;\n this._componentResize();\n }\n }\n\n public componentWillUnmount(): void {\n if (msdyn365Commerce.isBrowser) {\n window.removeEventListener('resize', this._componentResize);\n this.mounted = false;\n }\n }\n\n public shouldComponentUpdate(nextProps: IBackgroundImageProps, nextState: { updateAttributes: boolean }): boolean {\n if (\n this.state !== nextState ||\n this.props.request?.gridSettings !== nextProps.request?.gridSettings ||\n this.props.configs.repeat !== nextProps.configs.repeat ||\n this.props.configs.size !== nextProps.configs.size ||\n this.props.configs.layout !== nextProps.configs.layout ||\n this.props.image?.imageSettings !== nextProps.image?.imageSettings ||\n this.props.image?.src !== nextProps.image?.src\n ) {\n return true;\n }\n return false;\n }\n\n public render(): JSX.Element | null {\n const { children } = this.props;\n\n try {\n this.stylesByViewport = buildBackgroundImageStylesByViewport(this.props);\n this.currentStyle = this._getCurrentStyle();\n\n if (this.currentStyle) {\n const backgroundImageClassName = isAuthoringEditEnabled(this.props.request)\n ? `${BACKGROUND_IMAGE_CLASS_NAME} ms-editable-field enabled`\n : BACKGROUND_IMAGE_CLASS_NAME;\n const processedAtributes = this._processAttributes(\n backgroundImageClassName,\n this.currentStyle,\n this.stylesByViewport,\n this._isLazyload()\n );\n const attributes = this._getAttributes(processedAtributes);\n const eventHandlers = isAuthoringEditEnabled(this.props.request) ? { onDoubleClick: this._onChangeHandler } : {};\n\n if (this.state.updateAttributes) {\n // Update component with the latest attributes.\n return (\n
\n {children}\n
\n );\n } else if (this._isLazyload()) {\n // On lazyload, only include the class name on the first render.\n return (\n
\n {children}\n
\n );\n } else {\n // On lazyload disabled, render the default attributes from server side.\n return (\n
\n {children}\n
\n );\n }\n } else {\n // in no style is found, return the container content.\n return <>{children};\n }\n } catch {\n // in case of any failure, return the container content.\n return <>{children};\n }\n }\n\n private _processAttributes(\n className: string,\n currentStyle: IBackgroundImageStyle,\n stylesByViewport: IGeneric,\n lazyLoad: boolean\n ) {\n if (lazyLoad) {\n return getBackgroundImageLazyloadAttributes(className, currentStyle, stylesByViewport);\n } else {\n return getBackgroundImageAttributes(className, currentStyle);\n }\n }\n\n private _getAttributes(processedAtributes: IBackgroundImageAttributes) {\n return { ...processedAtributes, style: { ...processedAtributes?.style } };\n }\n\n private _onChangeHandler(event: React.SyntheticEvent | { target: { value: string } }): void {\n if (event.target === (event as React.SyntheticEvent).currentTarget) {\n const binding: any = this.props.image;\n const eventTarget: any = event.target;\n binding.$type = eventTarget.value;\n }\n }\n\n private _componentResize(): void {\n if (msdyn365Commerce.isBrowser) {\n const selectedStyle = this._getCurrentStyle();\n\n if (this.mounted || (selectedStyle && !_isEqual(this.currentStyle, selectedStyle))) {\n this.setState({ updateAttributes: true });\n }\n }\n }\n\n private _getCurrentStyle(): IBackgroundImageStyle | undefined {\n if (msdyn365Commerce.isBrowser) {\n const winInnerWidth: number = window.innerWidth;\n let selectedStyle: IBackgroundImageStyle | undefined;\n Object.keys(this.stylesByViewport).map(vp => {\n if (\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n (this.stylesByViewport[vp]?.minWidth || this.stylesByViewport[vp]?.maxWidth) &&\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n (this.stylesByViewport[vp]?.minWidth || 0) <= winInnerWidth &&\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n winInnerWidth <= (this.stylesByViewport[vp]?.maxWidth || Number.MAX_SAFE_INTEGER)\n ) {\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n selectedStyle = this.stylesByViewport[vp];\n }\n });\n return selectedStyle;\n } else {\n return this._getDefaultStyle();\n }\n }\n\n private _isLazyload(): boolean {\n // Lazyload by default if nothing is specified\n return !this.props.image?.imageSettings?.disableLazyLoad;\n }\n\n private _getDefaultStyle(): IBackgroundImageStyle | undefined {\n const { request } = this.props;\n const largestGridSettingViewportName = getLargestGridSettingViewportName(request.gridSettings ?? {});\n // eslint-disable-next-line security/detect-object-injection -- bracket object notation with user input present leads to eslint security issue.\n return this.stylesByViewport[largestGridSettingViewportName];\n }\n\n private _getDefaultAttributes(): IBackgroundImageAttributes {\n const style = this._getDefaultStyle();\n const processedAtributes = style\n ? this._processAttributes(BACKGROUND_IMAGE_CLASS_NAME, style, this.stylesByViewport, this._isLazyload())\n : {};\n return this._getAttributes(processedAtributes);\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ContentEditableEvent, IImageData, IRequestContext, Text } from '@msdyn365-commerce/core';\nimport * as React from 'react';\nimport { BackgroundImage } from './container-background-image/container-backgroud-image';\n\n/**\n * Heading options\n */\nexport interface IHeadingComponentProps {\n /**\n * Heading text\n */\n headingText?: string;\n /**\n * Heading tag (h1, h2, h3, h4, h5, h6)\n */\n tag?: HeadingTag;\n /**\n * Heading text size (sm, md, lg, xl)\n */\n textSize?: TextSize;\n\n requestContext: IRequestContext;\n\n handleTextChange(event: ContentEditableEvent): string;\n}\n\nexport type HeadingTag = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\nexport type TextSize = 'sm' | 'md' | 'lg' | 'xl';\n\n/**\n * Container class options\n */\nexport interface IContainerProps {\n /**\n * CSS class name\n */\n className?: string;\n /**\n * Bootstrap supported container types\n */\n containerType?: string;\n /**\n * type name\n */\n typeName?: string;\n /**\n * id of container\n */\n id?: string;\n /**\n * React children\n */\n children: React.ReactNode;\n /**\n * Request context\n */\n request?: IRequestContext;\n /**\n * background image\n */\n backgroundImage?: IImageData;\n /**\n * background image repeat property\n */\n backgroundImageRepeat?: string;\n /**\n * background image size property\n */\n backgroundImageSize?: string;\n /**\n * module layout property\n */\n moduleLayout?: string;\n /**\n * background color\n */\n backgroundColor?: string;\n}\n\nconst getContainerType = (containerType: string | undefined) => {\n switch (containerType) {\n case 'container':\n return 'container';\n case 'fluid':\n default:\n return 'fluid';\n }\n};\n\n/**\n * HOC to create bootstrap container div. If no container type is specified children are rendered.\n * @param options IContainerClasses\n */\nexport const Container: React.SFC = (props: IContainerProps): JSX.Element => {\n const {\n containerType,\n className,\n typeName,\n id,\n children,\n backgroundImage,\n request,\n backgroundImageRepeat,\n backgroundImageSize,\n moduleLayout,\n backgroundColor\n } = props;\n const customClassName = className ? ` ${className}` : '';\n\n let containerContent = children;\n if (containerType) {\n containerContent =
{containerContent}
;\n }\n\n if (backgroundImage && backgroundImage.src && backgroundImage.imageSettings && request) {\n containerContent = (\n \n {containerContent}\n \n );\n }\n\n const containerStyle: React.CSSProperties | undefined = backgroundColor ? { backgroundColor } : undefined;\n\n return containerType ? (\n
\n {containerContent}\n
\n ) : (\n
\n {containerContent}\n
\n );\n};\n\nexport const HeadingComponent = (props: IHeadingComponentProps & { className: string }): JSX.Element | null => {\n const { tag, headingText, textSize, className } = props;\n const Tag = tag || 'h2';\n const classNameWithHeading = textSize ? `heading ${textSize} ${className}` : `heading ${className}`;\n return (\n (headingText && (\n \n )) ||\n null\n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ContentEditableEvent } from '@msdyn365-commerce/core';\nimport { LogLevel } from '@msdyn365-commerce/telemetry-internal';\nimport React, { ReactNode } from 'react';\nimport { Container, HeadingComponent, IHeadingComponentProps } from '../../components/base-components';\nimport { getColClassArray, showErrors } from '../../utils/classnames';\nimport { IDefaultContainer2SlotsData } from './default-container-2-slots.data';\nimport { IDefaultContainer2SlotsProps } from './default-container-2-slots.props.autogenerated';\n\ninterface IColSizes {\n left: string[];\n right: string[];\n}\n\n/**\n * Default container that displays 2 modules\n * CoreComponent component\n * @extends {React.PureComponent>}\n */\nclass Default2SlotContainer extends React.PureComponent> {\n constructor(props: IDefaultContainer2SlotsProps) {\n super(props);\n }\n\n public render(): JSX.Element {\n const { slots, telemetry, context, config, data } = this.props;\n telemetry.log(LogLevel.Debug, \"Default 2 Slot Container rendering for '{id}/{typeName}'\", {\n values: [this.props.id, this.props.typeName]\n });\n\n const content = slots && slots.content;\n const slotsClassNames = this._getColClassName();\n if (content && content.length > 2) {\n telemetry.log(LogLevel.Warning, 'Default 2 Slot Container passed more than 2 slots');\n }\n const heading = config.heading || data.heading;\n const headingProps: IHeadingComponentProps = {\n ...heading,\n handleTextChange: this.handleTextChange,\n requestContext: this.props.context.request\n };\n return (\n \n {heading && }\n {content && content[0] &&
{content[0]}
}\n {content && content[1] &&
{content[1]}
}\n <>\n {showErrors(context) &&\n content &&\n content.slice(2, content.length - 1).map((slot: ReactNode, index: number) => {\n return (\n
\n
\n
\n Slot exceeded maximum number of slots supported by container. (2)\n
\n
\n
\n );\n })}\n \n \n );\n }\n\n public handleTextChange = (event: ContentEditableEvent) => (this.props.config.heading!.headingText = event.target.value);\n /**\n * Captures left and right column classnames from this.props.config. Returns col if no options specified.\n */\n // eslint-disable-next-line @typescript-eslint/naming-convention\n public _getColClassName = (): IColSizes => {\n const { config } = this.props;\n\n const classNames = getColClassArray(config);\n\n if (!classNames.length) {\n return {\n left: ['col'],\n right: ['col']\n };\n }\n\n return classNames.reduce(\n (memo: IColSizes, [left, right]: string[]) => {\n memo.left.push(left);\n memo.right.push(right);\n return memo;\n },\n { left: [], right: [] }\n );\n };\n}\n\nexport default Default2SlotContainer;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ContentEditableEvent } from '@msdyn365-commerce/core';\nimport { LogLevel } from '@msdyn365-commerce/telemetry-internal';\nimport React, { ReactNode } from 'react';\nimport { Container, HeadingComponent, IHeadingComponentProps } from '../../components/base-components';\nimport { getColClassArray, showErrors } from '../../utils/classnames';\nimport { IDefaultContainer3SlotsData } from './default-container-3-slots.data';\nimport { IDefaultContainer3SlotsProps } from './default-container-3-slots.props.autogenerated';\n\ninterface IColSizes {\n left: string[];\n center: string[];\n right: string[];\n}\n\n/**\n *\n * CoreComponent component\n * @extends {React.PureComponent>}\n */\nclass Default3SlotContainer extends React.PureComponent> {\n constructor(props: IDefaultContainer3SlotsProps) {\n super(props);\n }\n\n public render(): JSX.Element {\n const { slots, telemetry, context, config, data } = this.props;\n\n const slotsClassNames = this._getColClassName();\n const content = slots && slots.content;\n\n telemetry.log(LogLevel.Debug, \"Default 3 Slot Container rendering for '{id}/{typeName}'\", {\n values: [this.props.id, this.props.typeName]\n });\n if (content && content.length > 3) {\n telemetry.log(LogLevel.Warning, 'Default 3 Slot Container passed more than 3 slots');\n }\n const heading = config.heading || data.heading;\n const headingProps: IHeadingComponentProps = {\n ...heading,\n handleTextChange: this.handleTextChange,\n requestContext: this.props.context.request\n };\n return (\n \n {heading && }\n {content && content[0] &&
{content[0]}
}\n {content && content[1] &&
{content[1]}
}\n {content && content[2] &&
{content[2]}
}\n <>\n {showErrors(context) &&\n content &&\n content.slice(2, content.length - 1).map((slot: ReactNode, index: number) => {\n return (\n
\n
\n
\n Slot exceeded maximum number of slots supported by container. (3)\n
\n
\n
\n );\n })}\n \n \n );\n }\n\n public handleTextChange = (event: ContentEditableEvent) => (this.props.config.heading!.headingText = event.target.value);\n /**\n * Captures left and right column classnames from this.props.config. Returns col if no options specified.\n */\n // eslint-disable-next-line @typescript-eslint/naming-convention\n public _getColClassName = (): IColSizes => {\n const { config } = this.props;\n\n const classNames = getColClassArray(config);\n\n if (!classNames.length) {\n return {\n left: ['col'],\n center: ['col'],\n right: ['col']\n };\n }\n\n return classNames.reduce(\n (memo: IColSizes, [left, center, right]: string[]) => {\n memo.left.push(left);\n memo.center.push(center);\n memo.right.push(right);\n return memo;\n },\n { left: [], center: [], right: [] }\n );\n };\n}\n\nexport default Default3SlotContainer;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ContentEditableEvent } from '@msdyn365-commerce/core';\nimport { LogLevel } from '@msdyn365-commerce/telemetry-internal';\nimport * as React from 'react';\nimport { Container, HeadingComponent, IHeadingComponentProps } from '../../components/base-components';\nimport { colWidths } from '../../utils/classnames';\nimport { IDefaultContainerData } from './default-container.data';\nimport { childrenWidth as childrenWidthEnum, IDefaultContainerProps, layout as layoutEnum } from './default-container.props.autogenerated';\n\n/**\n *\n * CoreComponent component\n * @extends {React.PureComponent>}\n */\nclass DefaultContainer extends React.PureComponent> {\n constructor(props: IDefaultContainerProps) {\n super(props);\n }\n\n public render(): JSX.Element {\n const { slots, telemetry, config, data } = this.props;\n telemetry.log(LogLevel.Debug, \"Default Container rendering for '{id}/{typeName}'\", {\n values: [this.props.id, this.props.typeName]\n });\n\n const heading = config.heading || data.heading;\n const headingProps: IHeadingComponentProps = {\n ...heading,\n handleTextChange: this.handleTextChange,\n requestContext: this.props.context.request\n };\n\n return (\n \n {heading && }\n {slots &&\n slots.content &&\n slots.content.map((children: React.ReactNode, index: number) => {\n return (\n
\n {children}\n
\n );\n })}\n \n );\n }\n\n public handleTextChange = (event: ContentEditableEvent) => (this.props.config.heading!.headingText = event.target.value);\n\n private _getChildColClassName(): string {\n const {\n config: { layout, childrenWidth }\n } = this.props;\n switch (layout) {\n case layoutEnum.flow:\n return childrenWidth === childrenWidthEnum.auto ? 'col-12 col-md' : this._getWidthClass(childrenWidth);\n case layoutEnum.stacked:\n default:\n return 'col-12';\n }\n }\n\n private _getWidthClass(s?: childrenWidthEnum): string {\n return colWidths.get(s || childrenWidthEnum.four) || 'col-12';\n }\n}\n\nexport default DefaultContainer;\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(/