{"version":3,"file":"static/js/8.57cab576b47f6bb08808.chunk.js","mappings":"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","sources":["webpack://lds-commerce/./src/modules/default-page-summary/default-page-summary.tsx?0c78","webpack://lds-commerce/./src/modules/default-external-script/default-external-script.tsx?2a33","webpack://lds-commerce/./src/modules/default-inline-script/default-inline-script.tsx?5ccd","webpack://lds-commerce/./src/modules/default-inline-style/default-inline-style.tsx?3552","webpack://lds-commerce/./src/modules/default-metatags/default-metatags.tsx?97a7","webpack://lds-commerce/./src/modules/fabrikam/fabrikam.tsx?5b10","webpack://lds-commerce/./src/modules/notifications-list/notifications-list.tsx?8377","webpack://lds-commerce/./src/modules/place-holder-for-container-preview/place-holder-for-container-preview.tsx?605e","webpack://lds-commerce/./src/modules/starter/starter.tsx?aade","webpack://lds-commerce/./src/themes/fabrikam/fabrikam.tsx?d9ce","webpack://lds-commerce/./src/modules/lds-contact-us/lds-contact-us.tsx?e89c","webpack://lds-commerce/./src/modules/lds-error/lds-error.tsx?0e9a","webpack://lds-commerce/./src/modules/lds-info/lds-info.tsx?9797","webpack://lds-commerce/./src/modules/lds-unit-history-tile/lds-unit-history-tile.tsx?bd7c","webpack://lds-commerce/./src/modules/lds-warn/lds-warn.tsx?1056","webpack://lds-commerce/./src/modules/media-links/media-links.tsx?8761","webpack://lds-commerce/./src/modules/my-script-injector/my-script-injector.tsx?78a6","webpack://lds-commerce/./src/modules/lds-contact-us/components/ContactTable.tsx?7cad","webpack://lds-commerce/./src/modules/lds-contact-us/components/ContactCountrySelect.tsx?90dd","webpack://lds-commerce/./src/modules/lds-contact-us/components/ContactContent.tsx?77f6","webpack://lds-commerce/./src/modules/lds-contact-us/lds-contact-us.view.tsx?c6a9","webpack://lds-commerce/./src/modules/lds-error/lds-error.view.tsx?f631","webpack://lds-commerce/./src/modules/lds-info/lds-info.view.tsx?0f17","webpack://lds-commerce/./src/modules/lds-unit-history-tile/lds-unit-history-tile.view.tsx?b7e0","webpack://lds-commerce/./src/modules/lds-warn/lds-warn.view.tsx?ba60","webpack://lds-commerce/./src/modules/media-links/media-links.view.tsx?84ae","webpack://lds-commerce/./src/modules/my-script-injector/my-script-injector.view.tsx?a024","webpack://lds-commerce/./src/modules/notifications-list/notifications-list.view.tsx?d466","webpack://lds-commerce/./src/utils/script-utils.ts?cb52"],"sourcesContent":["/*!\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<DefaultPageSummaryProps>}\n */\nclass DefaultPageSummary extends React.PureComponent<IDefaultPageSummaryProps<IDefaultPageSummaryData>> {\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 <HtmlHeadInclude>\n {pageTitle && <title>{pageTitle}</title>}\n {description && <meta name='description' content={description} />}\n {keywords && <meta name='keywords' content={keywords} />}\n {canonicalUrl && <link rel='canonical' href={canonicalUrl} />}\n {faviconUrl && <link rel='shortcut icon' href={faviconUrl} />}\n </HtmlHeadInclude>\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 <HtmlHeadInclude>\n {title && <meta property='og:title' content={title} />}\n {description && <meta property='og:description' content={description} />}\n {sharingImageUrl && <meta property='og:image' content={sharingImageUrl} />}\n <meta property='og:type' content='website' />\n </HtmlHeadInclude>\n );\n }\n\n private _renderTwitterTags(\n title: string | undefined,\n description: string | undefined,\n sharingImageUrl: string | undefined\n ): JSX.Element {\n return (\n <HtmlHeadInclude>\n {title && <meta name='twitter:title' content={title} />}\n {description && <meta name='twitter:description' content={description} />}\n {sharingImageUrl && <meta name='twitter:image' content={sharingImageUrl} />}\n <meta name='twitter:card' content='summary' />\n </HtmlHeadInclude>\n );\n }\n\n private _constructPageTitle(title: string | undefined, app: IGeneric<IAny>): 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 { SDK_FRAGMENT_NAME, msdyn365Commerce } from '@msdyn365-commerce/core-internal';\nimport * as path from 'path';\nimport * as React from 'react';\nimport { isAbsoluteUrl, isRelativeUrl, logDebug, logError } from '../../utils/script-utils';\nimport { IDefaultExternalScriptProps } from './default-external-script.props.autogenerated';\n\n/**\n *\n * DefaultExternalScript component\n * @extends {React.PureComponent<IDefaultExternalScriptProps<{}>>}\n */\nclass DefaultExternalScript extends React.PureComponent<IDefaultExternalScriptProps<{}>> {\n constructor(props: IDefaultExternalScriptProps<{}>) {\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 let source = config.scriptSource;\n\n let relativeBaseUrl: string = '';\n // Construct the relative base url, i.e. the base url from which statics will be served\n if (this.props.context) {\n relativeBaseUrl += this.props.context.request.url.staticCdnUrl;\n relativeBaseUrl += msdyn365Commerce.getEnvironmentVariable('SUBMISSIONID') || '';\n }\n\n if (isRelativeUrl(source)) {\n // If the source is a relative URL prepend the relative base url to the resolved source url for the actual source\n source = `${relativeBaseUrl}/${path.join(source)}`;\n } else if (source === '' || !isAbsoluteUrl(source)) {\n logError(\n 'Invalid external script - not a url. The external source is not an external or relative url, please use default-inline-script if you wish to load inline scripts',\n this.props.telemetry\n );\n return null;\n }\n const scriptHtml = `<script src=\"${source}\" async=${!!config.async} defer=${!!config.defer} ></script>`;\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 { 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<IDefaultScriptProps<{}>>}\n */\nclass DefaultInlineScript extends React.PureComponent<IDefaultInlineScriptProps<{}>> {\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('</script>')) {\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 = `<script ${nonceToken ? `nonce='${nonceToken}'` : ''}>${source}</script>`;\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 { 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<IDefaultInlineStyleProps<{}>>}\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('</style>')) {\n logError('Invalid inline style - inline style should not contain html tags', telemetry);\n return null;\n }\n\n const styleHtml = `<style>${source}</style>`;\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 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<DefaultPageSummaryProps<{}>>}\n */\nclass DefaultMetaTags extends React.PureComponent<IDefaultMetatagsProps<IDefaultMetatagsData>> {\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((?:(?!src=).)*?)>(.*?)<\\/script>/g;\n return metaTags\n .map(metaTag => {\n if (inlineScripRegex.test(metaTag)) {\n return metaTag.replace(/<script/g, `<script nonce=${nonceToken}`);\n }\n return metaTag;\n })\n .filter(Boolean);\n }\n}\n\nexport default DefaultMetaTags;\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 () => <div />;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport MsDyn365 from '@msdyn365-commerce/core';\nimport {\n INotificationComponentsList,\n INotificationComponentsListState,\n INotificationComponentType,\n NotificationComponentsListsManager,\n NotificationEvents,\n NotificationFeedType\n} from '@msdyn365-commerce-modules/notifications-core';\nimport { ArrayExtensions, ObjectExtensions, Random } from '@msdyn365-commerce-modules/retail-actions';\nimport { IModuleProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport React from 'react';\n\nimport { INotificationsListProps } from './notifications-list.props.autogenerated';\n\n/**\n * View for the notifications list which specifies the container and notifications items.\n */\nexport interface INotificationsListViewProps extends INotificationsListProps<{}> {\n container: IModuleProps;\n notificationsList: React.ReactNode;\n}\n\n/**\n * Configuration to make the list stickable to the page without overlapping any content on top.\n */\nexport interface INotificationComponentStickyConfiguration {\n /**\n * Minimum offset for top (default for the page).\n */\n minTopOffset: number;\n\n /**\n * Maximum offset for top (to limit the top offset while scrolling).\n */\n maxTopOffset: number;\n}\n\n/**\n * Stickable notification list state which defines the top position of the list at the moment.\n */\nexport interface IStickableNotificationComponentsListState extends INotificationComponentsListState {\n /**\n * The top position of the list on the page.\n */\n top?: number;\n}\n\n/**\n * A notification list which is operated by notification manager.\n * It is responsible for rendering the received notifications.\n */\nexport class NotificationComponentsList extends React.Component<INotificationsListProps<{}>, IStickableNotificationComponentsListState>\n implements INotificationComponentsList {\n /**\n * The class name to use.\n */\n private static readonly _className: string = 'msc-notifications-list';\n\n /**\n * The feed which the list is responsible for displaying.\n */\n public readonly feed: NotificationFeedType;\n\n /**\n * Configuration which specifies if and how the list should be stickable.\n * If undefined, the configuration will not be used at all. And list will not be stickable.\n */\n private readonly _stickyConfiguration?: INotificationComponentStickyConfiguration;\n\n /**\n * The list of notification which should be shown in the list at the moment.\n * @remarks Should be used to retrieve the latest list of notifications\n * as the list from the state is updated only after rendering.\n */\n private _notificationsComponentList: INotificationComponentType[];\n\n /**\n * Unique identifier of the list.\n * Uses format 'NotificationComponentsList-GUID';.\n */\n private _instanceId?: string;\n\n /**\n * Initializes instance with the given props.\n * @param props - The configuration of the list.\n */\n public constructor(props: INotificationsListProps<{}>) {\n super(props);\n\n this.feed = props.config.feed;\n\n if (\n !ObjectExtensions.isNullOrUndefined(props.config.minTopOffset) &&\n !ObjectExtensions.isNullOrUndefined(props.config.maxTopOffset)\n ) {\n this._stickyConfiguration = {\n minTopOffset: props.config.minTopOffset,\n maxTopOffset: props.config.maxTopOffset\n };\n }\n\n this._notificationsComponentList = [];\n\n this.state = {\n notificationsComponentList: []\n };\n\n this._handleTopUpdate = this._handleTopUpdate.bind(this);\n this._getCurrentTopPosition = this._getCurrentTopPosition.bind(this);\n }\n\n /**\n * Specifies if the component should be re-rendered.\n * @param nextProps - The next configuration the component is receiving.\n * @param nextState - The next state the component is receiving.\n * @returns True if component should be re-rendered, false if component should not be changed.\n */\n public shouldComponentUpdate(\n nextProps: Readonly<INotificationsListProps<{}>>,\n nextState: Readonly<IStickableNotificationComponentsListState>\n ): boolean {\n const isPropsDifferent =\n this.feed !== nextProps.config.feed ||\n this.props.config.maxNotificationsCount !== nextProps.config.maxNotificationsCount ||\n this.props.config.maxTopOffset !== nextProps.config.maxTopOffset ||\n this.props.config.minTopOffset !== nextProps.config.minTopOffset ||\n this.props.config.className !== nextProps.config.className ||\n this.props.id !== nextProps.id;\n const isStateDifferent =\n this.state.top !== nextState.top ||\n this.state.notificationsComponentList.length !== nextState.notificationsComponentList.length ||\n this.state.notificationsComponentList.every(value =>\n nextState.notificationsComponentList.find(otherValue => otherValue.props.notification.id === value.props.notification.id)\n );\n return isPropsDifferent || isStateDifferent;\n }\n\n /**\n * Adds the current instance to the global list of instances so that it becomes available for the notification manager.\n * In case the list is specified to be stickable, also subscribes to the scroll event to update the offsets.\n */\n public componentDidMount(): void {\n NotificationComponentsListsManager.subscribe(this);\n\n this._instanceId = `NotificationComponentsList-${Random.Guid.generateGuid()}`;\n\n if (MsDyn365.isBrowser && this._stickyConfiguration !== undefined) {\n window.addEventListener('scroll', this._handleTopUpdate);\n }\n }\n\n /**\n * Remove the instance from the global list of instances so that it becomes unavailable for the notification manager.\n * Unsubscribes itself from the notification events and scroll event.\n */\n public componentWillUnmount(): void {\n NotificationComponentsListsManager.unsubscribe(this);\n\n this._notificationsComponentList.forEach(component =>\n component.props.notification.events.getValue(NotificationEvents.RemovedFromList)?.unsubscribe(this._instanceId!)\n );\n\n if (MsDyn365.isBrowser && this._stickyConfiguration !== undefined) {\n window.removeEventListener('scroll', this._handleTopUpdate);\n }\n }\n\n /**\n * Adds a new notification to the list.\n * @param {INotificationComponentType} notificationComponent Data required to render the notification. @see INotificationComponentType.\n */\n public addNotificationComponent(notificationComponent: INotificationComponentType): void {\n if (this._instanceId === undefined) {\n return;\n }\n\n if (\n !ObjectExtensions.isNullOrUndefined(this.props.config.maxNotificationsCount) &&\n this._notificationsComponentList.length >= this.props.config.maxNotificationsCount\n ) {\n throw new Error('Notifications limit reached, cannot show more notifications.');\n }\n\n // Subscribe to the remove event to filter the removed notifications out from the list.\n notificationComponent.props.notification.events.getValue(NotificationEvents.RemovedFromList)?.subscribe({\n instanceId: this._instanceId,\n handler: () => {\n notificationComponent.props.notification.events\n .getValue(NotificationEvents.RemovedFromList)\n ?.unsubscribe(this._instanceId!);\n const newList = this._notificationsComponentList.filter(component => component !== notificationComponent);\n this._notificationsComponentList = newList;\n this.setState({ notificationsComponentList: this._notificationsComponentList });\n }\n });\n\n // Prepend the notification as newest should come to the top.\n this._notificationsComponentList.unshift(notificationComponent);\n this.setState({ notificationsComponentList: this._notificationsComponentList });\n this._handleTopUpdate();\n }\n\n public render(): React.ReactNode {\n const className = classnames(\n NotificationComponentsList._className,\n `${NotificationComponentsList._className}__${this.feed}`,\n this.props.config.className\n );\n\n const viewProps: INotificationsListViewProps = {\n ...this.props,\n container: {\n moduleProps: this.props,\n className,\n id: this._instanceId,\n style: { top: this.state.top }\n },\n notificationsList: this._renderNotificationsList()\n };\n\n return this.props.renderView(viewProps);\n }\n\n /**\n * Renders the list of notifications.\n * @returns React node with a list of notifications.\n */\n private _renderNotificationsList(): React.ReactNode {\n const hasNotifications = ArrayExtensions.hasElements(this.state.notificationsComponentList);\n const containerClassName = classnames(\n `${NotificationComponentsList._className}__scrollable`,\n hasNotifications\n ? `${NotificationComponentsList._className}__has-notifications`\n : `${NotificationComponentsList._className}__empty`\n );\n\n return (\n <div className={containerClassName} style={{ maxHeight: this.state.top && `calc(100vh - ${this.state.top}px)` }}>\n {this.state.notificationsComponentList.map(component => {\n const ComponentClass = component.componentClass;\n return <ComponentClass {...component.props} key={component.props.notification.id} />;\n })}\n </div>\n );\n }\n\n /**\n * Retrieves current top offset position by looking at scroll position and rounding it to the stickable limits.\n */\n private _getCurrentTopPosition(): number | undefined {\n const configuration = this._stickyConfiguration;\n\n if (configuration === undefined) {\n return undefined;\n }\n\n let pageYOffset = 0;\n if (MsDyn365.isBrowser) {\n pageYOffset = window.pageYOffset;\n }\n\n return Math.max(Math.min(configuration.maxTopOffset, configuration.maxTopOffset - pageYOffset), configuration.minTopOffset);\n }\n\n /**\n * Updates the top offset on scroll event to make the list stickable.\n */\n private _handleTopUpdate(): void {\n const newTop = this._getCurrentTopPosition();\n this.setState({ top: newTop });\n }\n}\n\nexport default NotificationComponentsList;\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 * as React from 'react';\n\n// TODO: Current build require at least one tsx file\nexport default () => <div />;\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\nimport * as React from 'react';\r\n\r\n// TODO: Current build require at least one tsx file\r\nexport default () => <div />;\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 { ILdsContactUsData } from './lds-contact-us.data';\r\nimport { ILdsContactUsProps } from './lds-contact-us.props.autogenerated';\r\n\r\nexport interface ILdsContactUsViewProps extends ILdsContactUsProps<ILdsContactUsData> {}\r\n\r\n/**\r\n *\r\n * LdsContactUs Component\r\n * @extends {React.PureComponent<ILdsFooterProps<ILdsFooterData>>}\r\n */\r\nclass LdsContactUs extends React.PureComponent<ILdsContactUsProps<ILdsContactUsData>> {\r\n public render(): JSX.Element | null {\r\n return this.props.renderView(this.props);\r\n }\r\n}\r\n\r\nexport default LdsContactUs;\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 { ILdsErrorData } from './lds-error.data';\r\nimport { ILdsErrorProps } from './lds-error.props.autogenerated';\r\n\r\nexport interface ILdsErrorViewProps extends ILdsErrorProps<ILdsErrorData> {}\r\n\r\n/**\r\n *\r\n * LdsWarn component\r\n * @extends {React.PureComponent<ILdsErrorProps<ILdsErrorData>>}\r\n */\r\nclass LdsWarn extends React.PureComponent<ILdsErrorProps<ILdsErrorData>> {\r\n public render(): JSX.Element | null {\r\n return this.props.renderView(this.props);\r\n }\r\n}\r\n\r\nexport default LdsWarn;\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 { ILdsInfoData } from './lds-info.data';\r\nimport { ILdsInfoProps } from './lds-info.props.autogenerated';\r\n\r\nexport interface ILdsInfoViewProps extends ILdsInfoProps<ILdsInfoData> {}\r\n\r\n/**\r\n *\r\n * LdsWarn component\r\n * @extends {React.PureComponent<ILdsInfoProps<ILdsInfoData>>}\r\n */\r\nclass LdsWarn extends React.PureComponent<ILdsInfoProps<ILdsInfoData>> {\r\n public render(): JSX.Element | null {\r\n return this.props.renderView(this.props);\r\n }\r\n}\r\n\r\nexport default LdsWarn;\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 { ILdsUnitHistoryTileData } from './lds-unit-history-tile.data';\r\nimport { ILdsUnitHistoryTileProps } from './lds-unit-history-tile.props.autogenerated';\r\n\r\nexport interface ILdsUnitHistoryTileViewProps extends ILdsUnitHistoryTileProps<ILdsUnitHistoryTileData> {}\r\n\r\n/**\r\n *\r\n * LdsUnitHistoryTile component\r\n * @extends {React.PureComponent<ILdsUnitHistoryTileProps<ILdsUnitHistoryTileData>>}\r\n */\r\nclass LdsUnitHistoryTile extends React.PureComponent<ILdsUnitHistoryTileProps<ILdsUnitHistoryTileData>> {\r\n public render(): JSX.Element | null {\r\n return this.props.renderView(this.props);\r\n }\r\n}\r\n\r\nexport default LdsUnitHistoryTile;\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 { ILdsWarnData } from './lds-warn.data';\r\nimport { ILdsWarnProps } from './lds-warn.props.autogenerated';\r\n\r\nexport interface ILdsWarnViewProps extends ILdsWarnProps<ILdsWarnData> {}\r\n\r\n/**\r\n *\r\n * LdsWarn component\r\n * @extends {React.PureComponent<ILdsWarnProps<ILdsWarnData>>}\r\n */\r\nclass LdsWarn extends React.PureComponent<ILdsWarnProps<ILdsWarnData>> {\r\n public render(): JSX.Element | null {\r\n return this.props.renderView(this.props);\r\n }\r\n}\r\n\r\nexport default LdsWarn;\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 { IMediaLinksData } from './media-links.data';\r\nimport { IMediaLinksProps } from './media-links.props.autogenerated';\r\n\r\nexport interface IMediaLinksViewProps extends IMediaLinksProps<IMediaLinksData> {\r\n data: any;\r\n}\r\n\r\n/**\r\n *\r\n * MediaLinks component\r\n * @extends {React.PureComponent<IMediaLinksProps<IMediaLinksData>>}\r\n */\r\nclass MediaLinks extends React.PureComponent<IMediaLinksProps<IMediaLinksData>> {\r\n public render(): JSX.Element | null {\r\n return this.props.renderView(this.props);\r\n }\r\n}\r\n\r\nexport default MediaLinks;\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 { IMyScriptInjectorData } from './my-script-injector.data';\r\nimport { IMyScriptInjectorProps } from './my-script-injector.props.autogenerated';\r\n\r\nexport interface IMyScriptInjectorViewProps extends IMyScriptInjectorProps<IMyScriptInjectorData> {}\r\n\r\n/**\r\n *\r\n * MyScriptInjector component\r\n * @extends {React.PureComponent<IMyScriptInjectorProps<IMyScriptInjectorData>>}\r\n */\r\nclass MyScriptInjector extends React.PureComponent<IMyScriptInjectorProps<IMyScriptInjectorData>> {\r\n public render(): JSX.Element | null {\r\n return this.props.renderView(this.props);\r\n }\r\n}\r\n\r\nexport default MyScriptInjector;\r\n","import * as React from 'react';\r\nimport styled from 'styled-components';\r\n// import { ILdsContactUsData } from '../lds-contact-us.data';\r\n\r\ninterface ContactTableProps {\r\n defaultCounty: any;\r\n selectedCountry: any;\r\n resources: any;\r\n}\r\n\r\nexport const ContactTable: React.FC<ContactTableProps> = ({ defaultCounty, selectedCountry, resources }) => {\r\n const StyledTable = styled.div`\r\n text-align: left;\r\n width: 100%;\r\n display: flex;\r\n flex-direction: row;\r\n\r\n @media (max-width: 750px) {\r\n flex-direction: column;\r\n width: 95%;\r\n justify-content: space-around;\r\n }\r\n `;\r\n\r\n const TableWrapper = styled.div`\r\n display: flex;\r\n justify-content: space-around;\r\n width: 100%;\r\n `;\r\n\r\n const TableHeader = styled.div`\r\n width: 100%;\r\n display: flex;\r\n align-items: center;\r\n border-bottom: 2px solid #d0d3d3;\r\n height: 40px;\r\n font-style: normal;\r\n font-weight: 700;\r\n font-size: 14px;\r\n line-height: 17px;\r\n color: #212225;\r\n `;\r\n const TableData = styled.div`\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n border-bottom: 1px solid #d0d3d3;\r\n height: 50px;\r\n font-style: normal;\r\n font-weight: 400;\r\n font-size: 14px\r\n line-height: 20px;\r\n color: #212225;\r\n width: 100%;\r\n `;\r\n\r\n const TableRow = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n\r\n @media (max-width: 750px) {\r\n margin-bottom: 48.5px;\r\n }\r\n `;\r\n\r\n return (\r\n <TableWrapper>\r\n {JSON.stringify(selectedCountry) === '{}' || selectedCountry.EXTCODEVALUE === '' ? (\r\n <StyledTable>\r\n <TableRow>\r\n <TableHeader>{resources.tableHeaderCountry}</TableHeader>\r\n <TableData>{defaultCounty.CountryName}</TableData>\r\n </TableRow>\r\n <TableRow>\r\n <TableHeader>{resources.tableHeaderTelephone}</TableHeader>\r\n <TableData>{defaultCounty.EXTCODEVALUE}</TableData>\r\n </TableRow>\r\n </StyledTable>\r\n ) : (\r\n <StyledTable>\r\n <TableRow>\r\n <TableHeader>{resources.tableHeaderCountry}</TableHeader>\r\n {/*@ts-ignore*/}\r\n <TableData>{selectedCountry.CountryName}</TableData>\r\n </TableRow>\r\n <TableRow>\r\n <TableHeader>{resources.tableHeaderTelephone}</TableHeader>\r\n {/*@ts-ignore*/}\r\n <TableData>{selectedCountry.EXTCODEVALUE}</TableData>\r\n </TableRow>\r\n </StyledTable>\r\n )}\r\n </TableWrapper>\r\n );\r\n};\r\n","import React from 'react';\r\nimport styled from 'styled-components';\r\nimport { ILdsContactUsData } from '../lds-contact-us.data';\r\n//@ts-ignore\r\nimport { Primary } from '@churchofjesuschrist/eden-buttons';\r\n\r\ninterface SelectProps {\r\n ContactData: ILdsContactUsData;\r\n handleSelect: any;\r\n currentCountry: any;\r\n sortedList?: any;\r\n resources: any;\r\n}\r\n\r\nconst CountrySelector = styled.div`\r\n display: flex;\r\n width: 100%;\r\n margin-bottom: 81.5px;\r\n align-items: flex-end;\r\n\r\n @media (max-width: 750px) {\r\n flex-direction: column;\r\n align-items: center;\r\n }\r\n`;\r\n\r\nconst SelectWrapper = styled.div`\r\n width: 28%;\r\n margin-right: 10px;\r\n\r\n @media (max-width: 750px) {\r\n margin-right: 0xp;\r\n width: 50%;\r\n margin-bottom: 16px;\r\n }\r\n\r\n @media (max-width: 478px) {\r\n width: 75%;\r\n }\r\n`;\r\n\r\n// const StyledSelect = styled.select`\r\n// width: 100%;\r\n// height: 40px;\r\n// `;\r\n\r\n// const Label = styled.label`\r\n// font-size: 14px;\r\n// font-weight: 400;\r\n// line-height: 19px;\r\n// color: #53575b;\r\n// `;\r\n\r\nexport const ContactCountrySelect: React.FC<SelectProps> = ({ ContactData, handleSelect, currentCountry, sortedList, resources }) => {\r\n const countriesList = ContactData.countries?.result;\r\n\r\n return (\r\n <CountrySelector>\r\n <SelectWrapper>\r\n <div>\r\n <label className='ContactLabel' htmlFor=''>\r\n {resources.tableHeaderCountry}\r\n </label>\r\n </div>\r\n <select\r\n className='StyledSelect'\r\n name='country'\r\n id=''\r\n onChange={(e: any) => handleSelect(e.target.value)}\r\n //@ts-ignore\r\n value={currentCountry ? JSON.stringify(currentCountry.Id) : ''}\r\n >\r\n <option value='' disabled selected>\r\n {resources.defaultSelectValue}\r\n </option>\r\n {sortedList\r\n ? sortedList?.map((country: any) => {\r\n return (\r\n <option value={country.Id} key={country.Id}>\r\n {country.CountryName}\r\n </option>\r\n );\r\n })\r\n : countriesList?.map((country: any) => {\r\n return (\r\n <option value={country.Id} key={country.Id}>\r\n {country.CountryName}\r\n </option>\r\n );\r\n })}\r\n </select>\r\n </SelectWrapper>\r\n </CountrySelector>\r\n );\r\n};\r\n","import React from 'react';\r\nimport styled from 'styled-components';\r\n\r\ninterface ContactUsProps {\r\n contactHeader: string;\r\n contactMessage?: any;\r\n}\r\n\r\nexport const ContactContent: React.FC<ContactUsProps> = ({ contactHeader, contactMessage }) => {\r\n const ContactHeader = styled.h1`\r\n font-weight: 300;\r\n font-size: 32px;\r\n line-height: 38.4px;\r\n `;\r\n\r\n const ContactBody = styled.p`\r\n font-weight: 400;\r\n font-size: 18px;\r\n line-height: 20.7px;\r\n margin-bottom: 32px;\r\n `;\r\n\r\n const defaultMessage = `A Customer Support Representative is ready to help you by telephone during the weekday business hours in your country. They are also available anytime at <a href='mailto: help@store.ChurchofJesusChrist.org' style={{ textDecoration: 'none', color: '#01B6D1' }}>help@store.ChurchofJesusChrist.org</a>. Please provide your name and order number or magazine subscription account number if applicable. <br /> <br /> If you are looking for contact information for stores in another country, you can change the country contact information below.`;\r\n\r\n const contactBodyText = contactMessage ? contactMessage : defaultMessage;\r\n\r\n return (\r\n <>\r\n <ContactHeader>{contactHeader ? contactHeader : 'Contact Us'}</ContactHeader>\r\n <ContactBody>\r\n <div dangerouslySetInnerHTML={{ __html: contactBodyText }} />\r\n </ContactBody>\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 React, { useState } from 'react';\r\n\r\nimport { ILdsContactUsViewProps } from './lds-contact-us';\r\n\r\nimport styled from 'styled-components';\r\nimport { ContactTable } from './components/ContactTable';\r\nimport { ContactCountrySelect } from './components/ContactCountrySelect';\r\nimport { ContactContent } from './components/ContactContent';\r\n\r\nexport default (props: ILdsContactUsViewProps) => {\r\n const [selectedCountry, setSelectedCountry] = useState({});\r\n const [defaultCountry, setDefaultCountry] = useState<any>({ CountryName: 'United States', EXTCODEVALUE: '1-800-537-5971' });\r\n const ContactUsTable = styled.div`\r\n font-family: Ensign:Sans;\r\n display: flex;\r\n align-content: center;\r\n flex-direction: column;\r\n flex-wrap: wrap;\r\n align-items: flex-start;\r\n width: 100%;\r\n `;\r\n\r\n const ContactWrapper = styled.div`\r\n width: 930px;\r\n\r\n @media (max-width: 930px) {\r\n width: 100%;\r\n }\r\n `;\r\n\r\n const countries = props.data.countries?.result;\r\n\r\n // let defaultCountry: any = { CountryName: 'United States', EXTCODEVALUE: '1-800-537-5971' };\r\n let userCountry: any;\r\n\r\n let countriesWithPhone;\r\n if (countries) {\r\n countriesWithPhone = countries.filter(country => {\r\n return country.EXTCODEVALUE;\r\n });\r\n }\r\n let sortedRegions: any;\r\n if (countries && countriesWithPhone) {\r\n sortedRegions = countriesWithPhone.sort((a, b) => (a.CountryName! > b.CountryName! ? 1 : b.CountryName! > a.CountryName! ? -1 : 0));\r\n }\r\n React.useEffect(() => {\r\n let currentCountry: any;\r\n if (props.data.cart && props.data.cart.result) {\r\n const userCountry: any =\r\n props.data.cart && props.data.cart.result && props.data.cart.result.cart.ExtensionProperties\r\n ? props.data.cart.result.cart.ExtensionProperties.filter((property: any) => {\r\n return property.Key === 'Country';\r\n })\r\n : '';\r\n\r\n // currentCountry = props.data.cart.result.cart.ExtensionProperties![2].Value?.StringValue;\r\n currentCountry = userCountry[0].Value.StringValue;\r\n }\r\n countries?.map(country => {\r\n if (country.countryRegionId === props.context.request.channel?.CountryRegionId) {\r\n setDefaultCountry(country);\r\n } else if (sortedRegions) {\r\n setDefaultCountry(sortedRegions[0]);\r\n }\r\n });\r\n\r\n if (countries) {\r\n userCountry = countries.filter(country => {\r\n if (currentCountry) {\r\n return country.countryRegionId === currentCountry;\r\n } else {\r\n return country.CountryName === defaultCountry.CountryName;\r\n }\r\n });\r\n setSelectedCountry(userCountry[0]);\r\n }\r\n }, [props.data]);\r\n\r\n const handleSelect = (option: string) => {\r\n const userCountry = countries!.filter((country: any) => {\r\n return country.Id.toString() === option;\r\n });\r\n\r\n setSelectedCountry(userCountry[0]);\r\n };\r\n\r\n return (\r\n <ContactUsTable>\r\n <ContactWrapper>\r\n <ContactContent contactHeader={props.resources.contactHeader} contactMessage={props.config.contactUsText} />\r\n <ContactCountrySelect\r\n ContactData={props.data}\r\n handleSelect={handleSelect}\r\n currentCountry={selectedCountry}\r\n sortedList={sortedRegions}\r\n resources={props.resources}\r\n />\r\n <ContactTable selectedCountry={selectedCountry} defaultCounty={defaultCountry} resources={props.resources} />\r\n </ContactWrapper>\r\n </ContactUsTable>\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\nimport { ILdsErrorViewProps } from './lds-error';\r\n//@ts-ignore\r\nimport { Error } from '@churchofjesuschrist/eden-alert';\r\n\r\nexport default (props: ILdsErrorViewProps) => {\r\n const [isOpen, setIsOpen] = React.useState(true);\r\n\r\n const { textOne, textTwo, close, errorLink, link2, column, marginTop } = props.config;\r\n\r\n const onClose = () => {\r\n setIsOpen(!isOpen);\r\n };\r\n\r\n const link = (\r\n <a\r\n href={errorLink?.linkUrl.destinationUrl}\r\n style={{\r\n marginTop: '2px',\r\n alignSelf: link2 && link2.style === 'center' ? 'center' : link2 && link2.style !== 'center' ? `flex-${link2.style}` : ''\r\n }}\r\n >\r\n {errorLink?.linkText}\r\n </a>\r\n );\r\n const marginLength =\r\n marginTop && marginTop.style === 'small'\r\n ? '5px'\r\n : marginTop && marginTop.style === 'medium'\r\n ? '10px'\r\n : marginTop && marginTop.style === 'large'\r\n ? '20px'\r\n : '0px';\r\n if (isOpen) {\r\n return (\r\n <div style={{ width: '100%', display: 'flex', justifyContent: 'space-around', marginTop: marginLength }}>\r\n <Error onClose={close ? () => onClose() : close} style={{ width: '100%', maxWidth: '960px' }}>\r\n <div style={{ display: 'flex', flexDirection: column ? 'column' : 'row' }}>\r\n <div style={{ marginTop: '3px', marginRight: '3px' }}>{textOne}</div>\r\n {errorLink && errorLink.linkText && errorLink.linkUrl.destinationUrl && link}\r\n <div style={{ marginTop: '3px', marginLeft: '3px' }}>{textTwo}</div>\r\n </div>\r\n </Error>\r\n </div>\r\n );\r\n } else {\r\n return <></>;\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\nimport { ILdsInfoViewProps } from './lds-info';\r\n//@ts-ignore\r\nimport { Info } from '@churchofjesuschrist/eden-alert';\r\n\r\nexport default (props: ILdsInfoViewProps) => {\r\n const [isOpen, setIsOpen] = React.useState(true);\r\n\r\n const { textOne, textTwo, close, infoLink, link2, column, marginTop } = props.config;\r\n\r\n const onClose = () => {\r\n setIsOpen(!isOpen);\r\n };\r\n\r\n const link = (\r\n <a\r\n href={infoLink?.linkUrl.destinationUrl}\r\n style={{\r\n marginTop: '2px',\r\n alignSelf: link2 && link2.style === 'center' ? 'center' : link2 && link2.style !== 'center' ? `flex-${link2.style}` : ''\r\n }}\r\n >\r\n {infoLink?.linkText}\r\n </a>\r\n );\r\n const marginLength =\r\n marginTop && marginTop.style === 'small'\r\n ? '5px'\r\n : marginTop && marginTop.style === 'medium'\r\n ? '10px'\r\n : marginTop && marginTop.style === 'large'\r\n ? '20px'\r\n : '0px';\r\n if (isOpen) {\r\n return (\r\n <div style={{ width: '100%', display: 'flex', justifyContent: 'space-around', marginTop: marginLength }}>\r\n <Info onClose={close ? () => onClose() : close} style={{ width: '100%', maxWidth: '960px' }}>\r\n <div style={{ display: 'flex', flexDirection: column ? 'column' : 'row' }}>\r\n <div style={{ marginTop: '3px', marginRight: '3px' }}>{textOne}</div>\r\n {infoLink && infoLink.linkText && infoLink.linkUrl.destinationUrl && link}\r\n <div style={{ marginTop: '3px', marginLeft: '3px' }}>{textTwo}</div>\r\n </div>\r\n </Info>\r\n </div>\r\n );\r\n } else {\r\n return <></>;\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\nimport { ILdsUnitHistoryTileViewProps } from './lds-unit-history-tile';\r\n\r\nexport default (props: ILdsUnitHistoryTileViewProps) => {\r\n const header = props.config.heading && props.config.heading.text ? props.config.heading.text : 'Unit Order History';\r\n const pageLink =\r\n props.config.unitOrderLink && props.config.unitOrderLink.linkUrl ? props.config.unitOrderLink.linkUrl.destinationUrl : '';\r\n let isVisible = [];\r\n if (props.data.paymentTypes && props.data.paymentTypes.result) {\r\n isVisible = props.data.paymentTypes.result.filter(payment => {\r\n return payment.ACCOUNTNUM !== '';\r\n });\r\n }\r\n if (isVisible.length !== 0) {\r\n return (\r\n <div className='ms-account-generic-tile'>\r\n <h2 className='ms-account-generic-tile__heading'>{header}</h2>\r\n <div className='ms-account-generic-tile__links'>\r\n <a className='ms-account-generic-tile__link' href={pageLink}>\r\n {props.resources.pageLink}\r\n </a>\r\n </div>\r\n </div>\r\n );\r\n } else {\r\n return <div></div>;\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\nimport { ILdsWarnViewProps } from './lds-warn';\r\n\r\n//@ts-ignore\r\nimport { Warn } from '@churchofjesuschrist/eden-alert';\r\n\r\nexport default (props: ILdsWarnViewProps) => {\r\n const [isOpen, setIsOpen] = React.useState(true);\r\n\r\n const { textOne, textTwo, close, warnLink, link2, column, marginTop } = props.config;\r\n\r\n const onClose = () => {\r\n setIsOpen(!isOpen);\r\n };\r\n\r\n const link = (\r\n <a\r\n href={warnLink?.linkUrl.destinationUrl}\r\n style={{\r\n marginTop: '2px',\r\n alignSelf: link2 && link2.style === 'center' ? 'center' : link2 && link2.style !== 'center' ? `flex-${link2.style}` : ''\r\n }}\r\n >\r\n {warnLink?.linkText}\r\n </a>\r\n );\r\n const marginLength =\r\n marginTop && marginTop.style === 'small'\r\n ? '5px'\r\n : marginTop && marginTop.style === 'medium'\r\n ? '10px'\r\n : marginTop && marginTop.style === 'large'\r\n ? '20px'\r\n : '0px';\r\n if (isOpen) {\r\n return (\r\n <div style={{ width: '100%', display: 'flex', justifyContent: 'space-around', marginTop: marginLength }}>\r\n <Warn onClose={close ? () => onClose() : close} style={{ width: '100%', maxWidth: '960px' }}>\r\n <div style={{ display: 'flex', flexDirection: column ? 'column' : 'row' }}>\r\n <div style={{ marginTop: '3px', marginRight: '3px' }}>{textOne}</div>\r\n {warnLink && warnLink.linkText && warnLink.linkUrl.destinationUrl && link}\r\n <div style={{ marginTop: '3px', marginLeft: '3px' }}>{textTwo}</div>\r\n </div>\r\n </Warn>\r\n </div>\r\n );\r\n } else {\r\n return <></>;\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 { AttributeValue, CommerceProperty } from '@msdyn365-commerce/retail-proxy';\r\n// import { toJS } from 'mobx';\r\nimport * as React from 'react';\r\nimport { IMediaLinksViewProps } from './media-links';\r\n\r\nexport default (props: IMediaLinksViewProps) => {\r\n const productSpecificationData = props.data.productSpecificationData.result;\r\n const values: AttributeValue[] = [];\r\n\r\n productSpecificationData?.map((x: any) => {\r\n const extensionProps: CommerceProperty[] = [];\r\n x.ExtensionProperties?.map((ex: any) => {\r\n const exProp: CommerceProperty = {\r\n Key: ex.Key,\r\n Value: ex.Value\r\n };\r\n extensionProps.push(exProp);\r\n });\r\n\r\n const attribute: AttributeValue = {\r\n AttributeValueId: x.AttributeValueId,\r\n BooleanValue: x.BooleanValue,\r\n CurrencyCode: x.CurrencyCode,\r\n CurrencyValue: x.CurrencyValue,\r\n DataTypeValue: x.DataTypeValue,\r\n DateTimeOffsetValue: x.DateTimeOffsetValue,\r\n ExtensionProperties: extensionProps,\r\n FloatValue: x.FloatValue,\r\n IntegerValue: x.IntegerValue,\r\n KeyName: x.KeyName,\r\n Name: x.Name,\r\n RecordId: x.RecordId,\r\n Swatches: x.Swatches,\r\n TextValue: x.TextValue,\r\n UnitOfMeasureSymbol: x.UnitOfMeasureSymbol\r\n };\r\n values.push(attribute);\r\n });\r\n\r\n return (\r\n <div>\r\n <h2>Other Options</h2>\r\n {values.map((value: any, index) =>\r\n value.TextValue ? (\r\n <div key={index}>\r\n <a href={value.TextValue}>{value.Name}</a>\r\n </div>\r\n ) : (\r\n ''\r\n )\r\n )}\r\n </div>\r\n );\r\n};\r\n","// import { HtmlHeadInclude } from '@msdyn365-commerce/core-internal';\r\nimport * as React from 'react';\r\nimport { IMyScriptInjectorViewProps } from './my-script-injector';\r\n\r\nexport default (props: IMyScriptInjectorViewProps) => {\r\n // const scriptContents = `window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;ga('create', 'UA-XXXXX-Y', 'auto');ga('send', 'pageview')`;\r\n // const IS_PROD_ENV = process.env.IS_PROD_ENV;\r\n return (\r\n // <HtmlHeadInclude>\r\n // {parseInt(IS_PROD_ENV || '', 10) === 1 ? (\r\n // <script\r\n // data-load-point='headStart'\r\n // src='//assets.adobedtm.com/05064fe6cab0/b9d37f296ace/launch-fe44d8adbb98.min.js'\r\n // async\r\n // ></script>\r\n // ) : (\r\n // <script\r\n // data-load-point='headStart'\r\n // src='//assets.adobedtm.com/05064fe6cab0/b9d37f296ace/launch-da2183d7ff8b-development.min.js'\r\n // async\r\n // ></script>\r\n // )}\r\n // </HtmlHeadInclude>\r\n <></>\r\n );\r\n};\r\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<INotificationsListViewProps> = props => {\n return <Module {...props.container}>{props.notificationsList}</Module>;\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 { 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"],"names":["DefaultPageSummary","React","render","undefined","this","props","data","pageSummary","result","Error","title","description","keywords","sharingImageUrl","faviconUrl","config","context","canonicalUrl","sharingImage","src","pageTitle","_constructPageTitle","request","app","HtmlHeadInclude","name","content","rel","href","disableOgTags","_renderOgTags","disableTwitterTags","_renderTwitterTags","property","moduleConfig","ignoreTitleSuffixPrefix","appConfig","platform","pageTitlePrefix","pageTitleSuffix","DefaultExternalScript","constructor","super","logDebug","id","typeName","telemetry","source","scriptSource","relativeBaseUrl","url","staticCdnUrl","msdyn365Commerce","getEnvironmentVariable","isRelativeUrl","path","isAbsoluteUrl","logError","scriptHtml","async","defer","SDK_FRAGMENT_NAME","key","dangerouslySetInnerHTML","__html","DefaultInlineScript","inlineScript","includes","nonceToken","isNonceEnabled","inlineStyle","styleHtml","DefaultMetaTags","metaTags","metaTagsHtml","_addNonceToInlineScript","join","metaTagsText","map","simpleText","text","inlineScripRegex","metaTag","test","replace","filter","Boolean","NotificationComponentsList","feed","ObjectExtensions","isNullOrUndefined","minTopOffset","maxTopOffset","_stickyConfiguration","_notificationsComponentList","state","notificationsComponentList","_handleTopUpdate","bind","_getCurrentTopPosition","shouldComponentUpdate","nextProps","nextState","isPropsDifferent","maxNotificationsCount","className","isStateDifferent","top","length","every","value","find","otherValue","notification","componentDidMount","NotificationComponentsListsManager","subscribe","_instanceId","Random","Guid","generateGuid","MsDyn365","isBrowser","window","addEventListener","componentWillUnmount","unsubscribe","forEach","component","_component$props$noti","events","getValue","NotificationEvents","RemovedFromList","removeEventListener","addNotificationComponent","notificationComponent","_notificationComponen","instanceId","handler","_notificationComponen2","newList","setState","unshift","classnames","_className","viewProps","_objectSpread","container","moduleProps","style","notificationsList","_renderNotificationsList","renderView","hasNotifications","ArrayExtensions","hasElements","containerClassName","maxHeight","ComponentClass","componentClass","Object","assign","configuration","pageYOffset","Math","max","min","newTop","LdsContactUs","LdsWarn","LdsUnitHistoryTile","MediaLinks","MyScriptInjector","ContactTable","_ref","defaultCounty","selectedCountry","resources","StyledTable","styled","div","TableWrapper","TableHeader","TableData","TableRow","JSON","stringify","EXTCODEVALUE","tableHeaderCountry","CountryName","tableHeaderTelephone","CountrySelector","SelectWrapper","ContactCountrySelect","_ContactData$countrie","ContactData","handleSelect","currentCountry","sortedList","countriesList","countries","htmlFor","onChange","e","target","Id","disabled","selected","defaultSelectValue","country","ContactContent","contactHeader","contactMessage","ContactHeader","h1","ContactBody","p","contactBodyText","_props$data$countries","setSelectedCountry","useState","defaultCountry","setDefaultCountry","ContactUsTable","ContactWrapper","userCountry","countriesWithPhone","sortedRegions","sort","a","b","cart","ExtensionProperties","Key","Value","StringValue","_props$context$reques","countryRegionId","channel","CountryRegionId","contactUsText","option","toString","isOpen","setIsOpen","textOne","textTwo","close","errorLink","link2","column","marginTop","link","linkUrl","destinationUrl","alignSelf","linkText","marginLength","width","display","justifyContent","onClose","maxWidth","flexDirection","marginRight","marginLeft","infoLink","Info","header","heading","pageLink","unitOrderLink","isVisible","paymentTypes","payment","ACCOUNTNUM","warnLink","Warn","productSpecificationData","values","x","_x$ExtensionPropertie","extensionProps","ex","exProp","push","attribute","AttributeValueId","BooleanValue","CurrencyCode","CurrencyValue","DataTypeValue","DateTimeOffsetValue","FloatValue","IntegerValue","KeyName","Name","RecordId","Swatches","TextValue","UnitOfMeasureSymbol","index","NotificationsListView","Module","debugMessage","log","LogLevel","Debug","errorMessage"],"sourceRoot":""}