{"version":3,"sources":["webpack:///./src/themes/starter/starter.tsx?130b","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/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/modules/default-inline-style/default-inline-style.tsx?bd16","webpack:///src/modules/text-block/text-block.tsx?1fe8","webpack:///src/modules/product-page-summary/product-page-summary.tsx?a2ef","webpack:///src/modules/notifications-list/notifications-list.tsx?8a0a","webpack:///src/modules/script-injector/script-injector.tsx?fad8"],"names":["React","NotificationsListView","props","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","DefaultPageSummary","undefined","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","DefaultInlineStyle","inlineStyle","styleHtml","TextBlock","handleTextChange","event","target","value","MsDyn365","editProps","onEdit","textBlockViewProps","ProductPageSummary","_context$request$chan","productPageSummary","productId","productBrand","price","productName","productDescription","productImageUrl","_renderProductMetadata","channel","Currency","currencyCode","productMetaData","JSON","stringify","image","sku","brand","offers","priceCurrency","type","NotificationComponentsList","Component","feed","ObjectExtensions","isNullOrUndefined","minTopOffset","maxTopOffset","_stickyConfiguration","_notificationsComponentList","state","notificationsComponentList","_handleTopUpdate","bind","_getCurrentTopPosition","shouldComponentUpdate","nextProps","nextState","isPropsDifferent","maxNotificationsCount","isStateDifferent","top","length","every","find","otherValue","notification","componentDidMount","NotificationComponentsListsManager","subscribe","_instanceId","Random","Guid","generateGuid","isBrowser","window","addEventListener","componentWillUnmount","unsubscribe","forEach","component","_component$props$noti","events","getValue","NotificationEvents","RemovedFromList","removeEventListener","addNotificationComponent","notificationComponent","_notificationComponen","instanceId","handler","_notificationComponen2","newList","setState","unshift","_className","moduleProps","style","_renderNotificationsList","hasNotifications","ArrayExtensions","hasElements","containerClassName","createElement","maxHeight","ComponentClass","componentClass","configuration","pageYOffset","Math","max","min","newTop","ScriptInjector","_debug","placeHolderPropsRegEx","RegExp","placeHolders","originalSource","resolvedSource","hasMorePlaceHolders","exec","_resolvePlaceHolder","_isUrl","loadPoint","placeHolderToken","placeHolderTokens","split","propertyContext","propertyName","user","query"],"mappings":"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","file":"static/js/8.8a44774e34f590b1ddf5.chunk.js","sourcesContent":["/*!\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 { 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","/*!\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","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { SDK_FRAGMENT_NAME } from '@msdyn365-commerce/core-internal';\nimport * as React from 'react';\nimport { isAbsoluteUrl, isRelativeUrl, logDebug, logError } from '../../utils/script-utils';\nimport { IDefaultInlineStyleProps } from './default-inline-style.props.autogenerated';\n\n/**\n *\n * DefaultStyle\n * @extends {React.PureComponent>}\n */\n\nconst DefaultInlineStyle = (props: IDefaultInlineStyleProps<{}>) => {\n const { config, id, typeName, telemetry } = props;\n logDebug(`Adding style tags for '${id}/${typeName}'`, telemetry);\n const source = config.inlineStyle;\n\n if (!source || source === '' || isAbsoluteUrl(source) || isRelativeUrl(source)) {\n logError('Invalid inline style - Empty inline source defined or a url is being used as a source.', telemetry);\n return null;\n }\n\n if (source.includes('')) {\n logError('Invalid inline style - inline style should not contain html tags', telemetry);\n return null;\n }\n\n const styleHtml = ``;\n return React.createElement(SDK_FRAGMENT_NAME, { key: id, dangerouslySetInnerHTML: { __html: styleHtml } });\n};\n\nexport default DefaultInlineStyle;\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