{"version":3,"file":"static/js/9.c62ad5a9da2155c9010a.chunk.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/modules/dyn-body-inline-script/dyn-body-inline-script.tsx?87ce","webpack://Msdyn365.Commerce.Online/./src/modules/dyn-body-inline-script/dyn-body-inline-script.view.tsx?f4fb","webpack://Msdyn365.Commerce.Online/./src/themes/dyn-tebutheme/dyn-tebutheme.tsx?e8ba","webpack://Msdyn365.Commerce.Online/./src/themes/dyn-tebutheme/views/order-details.view.tsx?028b","webpack://Msdyn365.Commerce.Online/./src/modules/check-in-for-pickup/check-in-confirmation.tsx?406f","webpack://Msdyn365.Commerce.Online/./src/modules/check-in-for-pickup/check-in-error.tsx?e789","webpack://Msdyn365.Commerce.Online/./src/modules/check-in-for-pickup/check-in-for-pickup.tsx?8686","webpack://Msdyn365.Commerce.Online/./src/modules/check-in-for-pickup/check-in-for-pickup.view.tsx?bd7a","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-google-pay/checkout-google-pay.view.tsx?b92f","webpack://Msdyn365.Commerce.Online/./src/modules/default-external-script/default-external-script.tsx?2a33","webpack://Msdyn365.Commerce.Online/./src/modules/default-inline-script/default-inline-script.tsx?5ccd","webpack://Msdyn365.Commerce.Online/./src/modules/default-inline-style/default-inline-style.tsx?3552","webpack://Msdyn365.Commerce.Online/./src/utils/script-utils.ts?cb52","webpack://Msdyn365.Commerce.Online/./src/modules/country-picker/country-picker.tsx?4fcb","webpack://Msdyn365.Commerce.Online/./src/modules/country-picker/country-picker.view.tsx?0036","webpack://Msdyn365.Commerce.Online/./src/modules/footer-category/footer-category.tsx?e0bd","webpack://Msdyn365.Commerce.Online/./src/modules/footer-category/footer-category.view.tsx?fdce","webpack://Msdyn365.Commerce.Online/./src/modules/subscribe/subscribe.tsx?9fea","webpack://Msdyn365.Commerce.Online/./src/modules/subscribe/subscribe.view.tsx?19c8"],"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 { IDynBodyInlineScriptData } from './dyn-body-inline-script.data';\r\nimport { IDynBodyInlineScriptProps } from './dyn-body-inline-script.props.autogenerated';\r\n\r\nexport interface IDynBodyInlineScriptViewProps extends IDynBodyInlineScriptProps {}\r\n\r\n/**\r\n *\r\n * DynBodyInlineScript component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass DynBodyInlineScript 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 DynBodyInlineScript;\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 { IDynBodyInlineScriptViewProps } from './dyn-body-inline-script';\r\n\r\nexport const useScript = (props: IDynBodyInlineScriptViewProps, position: string) => {\r\n React.useEffect(() => {\r\n const placement: Element | null = document.querySelector(position);\r\n\r\n const inlineScript: HTMLScriptElement = document.createElement('script');\r\n inlineScript.type = 'text/javascript';\r\n inlineScript.innerHTML = props.config.script;\r\n\r\n placement?.appendChild(inlineScript);\r\n\r\n return () => {\r\n placement?.removeChild(inlineScript);\r\n };\r\n });\r\n};\r\n\r\nexport default (props: IDynBodyInlineScriptViewProps) => {\r\n return <>{props.config.script && useScript(props, 'body')};\r\n};\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","/*--------------------------------------------------------------\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 {\r\n IGroup,\r\n IGroupDelivery,\r\n IGroups,\r\n IHelp,\r\n IOrderDetailsViewProps,\r\n IOrderInformation,\r\n IOrderSummary,\r\n IPaymentMethods,\r\n ISalesLine\r\n} from '@msdyn365-commerce-modules/order-management';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport const OrderInfomation: React.FC = ({\r\n orderInformationProps,\r\n salesId,\r\n receiptId,\r\n createdDate,\r\n count,\r\n amount,\r\n channelReferenceId,\r\n channelName,\r\n channelAddress\r\n}) => (\r\n \r\n {channelName}\r\n {channelAddress}\r\n {salesId}\r\n {receiptId}\r\n {createdDate}\r\n {count}\r\n {amount}\r\n {channelReferenceId}\r\n \r\n);\r\n\r\nexport const SalesLine: React.FC = ({ salesLineProps, salesLine, buyAgainButton }) => (\r\n \r\n {salesLine}\r\n {buyAgainButton}\r\n \r\n);\r\n\r\nexport const GroupDelivery: React.FC = ({ deliveryProps, heading, count, trackingInfo, shippedStatusCheck }) => (\r\n \r\n {heading}\r\n {count}\r\n {shippedStatusCheck === 'processing' ? trackingInfo : null}\r\n \r\n);\r\n\r\nexport const Group: React.FC = ({ groupProps, delivery, address, salesLinesProps, salesLines, isCashAndCarryTransaction }) => (\r\n \r\n {delivery && }\r\n \r\n {salesLines && (\r\n \r\n {salesLines.map(salesLine => (\r\n \r\n {salesLine.data.deliveryType === 'ship' && salesLine.data.shipment ? salesLine.trackingInfo : null}\r\n \r\n {!isCashAndCarryTransaction && salesLine.salesStatus}\r\n \r\n ))}\r\n \r\n )}\r\n {!delivery.showTimeslot && address}\r\n {delivery.showTimeslot && (\r\n \r\n {address}\r\n {delivery.pickupDateTimeslot}\r\n \r\n )}\r\n \r\n \r\n);\r\n\r\nexport const Groups: React.FC = ({ groupsProps, groups }) => (\r\n \r\n {groups.map((group, index) => (\r\n \r\n ))}\r\n \r\n);\r\n\r\nexport const OrderSummary: React.FC = ({ orderSummaryProps, heading, subtotal, shipping, tax, totalAmount, earnedPoints }) => (\r\n \r\n {heading}\r\n {subtotal}\r\n {shipping}\r\n {tax}\r\n {totalAmount}\r\n {earnedPoints}\r\n \r\n);\r\n\r\nexport const Payment: React.FC = ({ paymentMethodsProps, title, methods }) => (\r\n \r\n {title}\r\n {methods}\r\n \r\n);\r\n\r\nexport const Help: React.FC = ({ helpProps, needHelpLabel, helpLineNumberLabel, contactNumber }) => (\r\n \r\n {needHelpLabel}\r\n {helpLineNumberLabel}\r\n {contactNumber}\r\n \r\n);\r\n\r\nconst OrderDetailsView: React.FC = ({\r\n moduleProps,\r\n viewModes,\r\n tableViewActions,\r\n table,\r\n heading,\r\n alert,\r\n loading,\r\n orderInfomation,\r\n orderSummary,\r\n payment,\r\n help,\r\n groups\r\n}) => {\r\n return (\r\n \r\n {heading}\r\n {alert}\r\n {loading}\r\n {orderInfomation && }\r\n {viewModes}\r\n {tableViewActions}\r\n {table}\r\n {groups && }\r\n \r\n {orderSummary && }\r\n {payment && }\r\n \r\n {help && }\r\n \r\n );\r\n};\r\n\r\nexport default OrderDetailsView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport QRCode from 'qrcode.react';\nimport * as React from 'react';\n\n/**\n * CheckInConfirmation component Properties.\n */\nexport interface ICheckInConfirmationProps {\n /**\n * The confirmation text to show.\n */\n confirmationText: string;\n\n /**\n * Should the order confirmation number shown as QR code or not.\n * If false, the order confirmation number (channel reference ID) will be shown as text.\n */\n shouldShowQrCode: boolean;\n\n /**\n * The label shows for channel reference ID.\n */\n channelReferenceIdLabel: string;\n\n /**\n * The channel reference ID to show. When shouldShowQrCode is true, the ID is shown as QR code, otherwise it is shown as text.\n */\n channelReferenceId?: string;\n}\n\n/**\n * CheckInConfirmation component for showing confirmation information after check-in succeed.\n * @param confirmationProps - The confirmation properties.\n * @param confirmationProps.confirmationText - The confirmation text.\n * @param confirmationProps.shouldShowQrCode - Should the order confirmation number shown as QR code or not.\n * If false, the order confirmation number (channel reference ID) will be shown as text.\n * @param confirmationProps.channelReferenceIdLabel - The label shows for channel reference ID.\n * @param confirmationProps.channelReferenceId - The channel reference ID to show.\n * When shouldShowQrCode is true, the ID is shown as QR code, otherwise it is shown as text.\n * @returns The check-in confirmation component.\n */\nexport const CheckInConfirmationComponent: React.FC = ({\n confirmationText,\n shouldShowQrCode,\n channelReferenceIdLabel,\n channelReferenceId\n}) => {\n return (\n
\n

{confirmationText}

\n {channelReferenceId && (\n

\n {`${channelReferenceIdLabel} ${channelReferenceId}`}\n

\n )}\n {channelReferenceId && shouldShowQrCode && (\n \n \n \n )}\n
\n );\n};\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/**\n * Check-in error properties.\n */\nexport interface ICheckInErrorProps {\n errorMessage?: string;\n}\n\n/**\n * Check-in error.\n * @param errorProps - The error properties.\n * @param errorProps.errorMessage - The error message to show.\n * @returns The alert element showing check-in errors.\n */\nexport const CheckInErrorComponent: React.FC = ({ errorMessage }) => {\n if (!errorMessage) {\n return null;\n }\n\n return (\n \n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IDictionary } from '@msdyn365-commerce/core';\nimport { CommerceProperty, SalesOrdersDataActions } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport * as React from 'react';\n\nimport { CheckInConfirmationComponent } from './check-in-confirmation';\nimport { CheckInErrorComponent } from './check-in-error';\nimport { IAdditionalInformationKeysData, ICheckInForPickupConfig, ICheckInForPickupProps } from './check-in-for-pickup.props.autogenerated';\n\n/**\n * The interface representing a piece of additional information data.\n */\ninterface IAdditionalInformation {\n formKey: IAdditionalInformationKeysData;\n value: string;\n}\n\n/**\n * The state for check-in view.\n */\nexport interface ICheckInViewState {\n /**\n * If the module has header error to show.\n */\n isHeaderError: boolean;\n\n /**\n * If the customer has checked in.\n */\n isCheckedIn: boolean;\n\n /**\n * Additional information to capture.\n */\n additionalInformation: IDictionary[];\n}\n\n/**\n * The properties for check-in view.\n */\nexport interface ICheckInViewProps extends ICheckInForPickupProps {\n headerError: React.ReactNode;\n confirmationComponent: React.ReactNode;\n viewState: ICheckInViewState;\n additionalInformationValues: string[];\n checkInForOrderPickup(additionalInformation?: IAdditionalInformation[]): Promise;\n}\n\n/**\n * The state of the CheckInForPickup module.\n */\nexport interface ICheckInForPickupState {\n /**\n * The header error message.\n */\n headerErrorMessage: string;\n\n /**\n * If the customer has checked in successfully.\n */\n isCheckedIn: boolean;\n}\n\n/**\n *\n * CheckIn component.\n * @extends {React.Component, ICheckInForPickupState>}\n */\nclass CheckInForPickup extends React.Component, ICheckInForPickupState> {\n public constructor(props: ICheckInForPickupProps) {\n super(props);\n this.state = {\n headerErrorMessage: '',\n isCheckedIn: false\n };\n }\n\n public render(): JSX.Element | null {\n const isHeaderError: boolean = this.state.headerErrorMessage !== '';\n\n const viewProps = {\n ...this.props,\n headerError: ,\n confirmationComponent: (\n \n ),\n checkInForOrderPickup: this.checkInForOrderPickup,\n additionalInformationValues: this.props.config.additionalInformationKeys\n ? this.props.config.additionalInformationKeys.map(() => {\n return {};\n })\n : undefined,\n viewState: {\n isHeaderError,\n isCheckedIn: this.state.isCheckedIn\n }\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public shouldComponentUpdate(nextProps: ICheckInForPickupProps, nextState: ICheckInForPickupState): boolean {\n if (\n this.props.config.additionalInformationHeading !== nextProps.config.additionalInformationHeading ||\n this.props.config.confirmationText !== nextProps.config.confirmationText\n ) {\n return true;\n }\n if (this.state.headerErrorMessage !== nextState.headerErrorMessage || this.state.isCheckedIn !== nextState.isCheckedIn) {\n return true;\n }\n return false;\n }\n\n public async componentDidMount(): Promise {\n await this._onInit();\n }\n\n /**\n * The async callback for submitting check-in.\n * @param additionalInformationList - The optional additional information captured.\n * @returns The async result.\n */\n public checkInForOrderPickup = async (additionalInformationList?: IAdditionalInformation[]): Promise => {\n const channelId: number = Number.parseInt(this.props.context.request.query!.channelId, 10);\n const channelReferenceId: string = this.props.context.request.query!.channelReferenceId;\n const packingSlipId: string = this.props.context.request.query!.packingSlipId;\n\n const additionalInformationToSubmit: { formKey: string; value: string }[] | undefined = additionalInformationList?.map(\n additionalInformationKeyValuePair => {\n return {\n formKey: additionalInformationKeyValuePair.formKey.resourceId ?? '',\n value: additionalInformationKeyValuePair.value\n };\n }\n );\n const extensionPropertyList: CommerceProperty[] = [];\n if (!ObjectExtensions.isNullOrUndefined(additionalInformationToSubmit)) {\n for (const additionalInformation of additionalInformationToSubmit) {\n extensionPropertyList.push({\n Key: additionalInformation.formKey,\n Value: {\n StringValue: additionalInformation.value\n }\n });\n }\n }\n try {\n await SalesOrdersDataActions.checkInForOrderPickupAsync(\n { callerContext: this.props.context.actionContext, queryResultSettings: {} },\n channelId,\n packingSlipId,\n channelReferenceId,\n extensionPropertyList\n );\n } catch (error) {\n this.setState({ headerErrorMessage: this.props.resources.genericErrorMessage, isCheckedIn: false });\n this.props.telemetry.error(error);\n return Promise.resolve();\n }\n this.setState({ headerErrorMessage: '', isCheckedIn: true });\n return Promise.resolve();\n };\n\n /**\n * The action performed on module initialization.\n * @returns The async result.\n */\n private readonly _onInit = async (): Promise => {\n const channelId: number = Number.parseInt(this.props.context.request.query?.channelId ?? '', 10);\n const channelReferenceId: string | undefined = this.props.context.request.query?.channelReferenceId;\n const packingSlipId: string | undefined = this.props.context.request.query?.packingSlipId;\n if (Number.isNaN(channelId) || !channelReferenceId || !packingSlipId) {\n // No error message shown in editor mode.\n if (this.props.context.request.params.isEditor) {\n return Promise.resolve();\n } else if (this.props.context.request.params.isPreview) {\n this.setState({ headerErrorMessage: this.props.resources.requiredParameterMissingErrorMessage });\n } else {\n this.setState({ headerErrorMessage: this.props.resources.genericErrorMessage });\n }\n this.props.context.telemetry.error(\n 'One or more required URL parameters are missing. ' +\n 'Please make sure you have pass in channelId, channelReferenceId and packingSlipId through URL parameter.'\n );\n return Promise.resolve();\n }\n\n const { additionalInformationKeys } = this.props.config;\n\n const hasAdditionalInformation: boolean = ArrayExtensions.hasElements(additionalInformationKeys);\n\n // Call check-in-for-pickup directly if no additional information to capture.\n if (!hasAdditionalInformation) {\n try {\n await SalesOrdersDataActions.checkInForOrderPickupAsync(\n { callerContext: this.props.context.actionContext, queryResultSettings: {} },\n channelId,\n packingSlipId,\n channelReferenceId\n );\n } catch (error) {\n this.setState({ headerErrorMessage: this.props.resources.genericErrorMessage, isCheckedIn: false });\n this.props.telemetry.error(error);\n return Promise.resolve();\n }\n this.setState({ headerErrorMessage: '', isCheckedIn: true });\n }\n return Promise.resolve();\n };\n}\n\nexport default CheckInForPickup;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { FormBuilder } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICheckInViewProps } from './check-in-for-pickup';\n\n/**\n * The check-in view for submitting check-in, capturing additional information, and showing check-in confirmation.\n * @param props - The check-in view properties.\n * @returns The check-in view as a react component.\n */\nconst CheckInViewComponent: React.FC = (props: ICheckInViewProps) => {\n const { headerError, checkInForOrderPickup, confirmationComponent, viewState } = props;\n return (\n <>\n {viewState.isHeaderError && headerError}\n {!viewState.isHeaderError && ArrayExtensions.hasElements(props.config.additionalInformationKeys) && (\n \n )}\n {!viewState.isHeaderError &&\n !ArrayExtensions.hasElements(props.config.additionalInformationKeys) &&\n viewState.isCheckedIn &&\n confirmationComponent}\n \n );\n};\n\nexport default CheckInViewComponent;\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 { 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>}\n */\nclass DefaultExternalScript extends React.PureComponent> {\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 = ``;\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>}\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 { 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 { 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 * as MsDyn365 from '@msdyn365-commerce/core';\nimport { ICookieSetOptions, IImageDimension, ILocaleItems } from '@msdyn365-commerce/core-internal';\nimport { StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n Button,\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n INodeProps,\n ITelemetryContent,\n Modal,\n ModalBody,\n ModalFooter,\n ModalHeader,\n onTelemetryClick\n} from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICountryPickerData } from './country-picker.data';\nimport { IActionLinkData, ICountryPickerProps } from './country-picker.props.autogenerated';\n\n/**\n * CountryPicker view props interface.\n */\nexport interface ICountryPickerViewProps extends ICountryPickerProps {\n modalContainer: IModuleProps;\n modalHeaderContainer: INodeProps;\n modalFooterContainer: INodeProps;\n modalBodyContainer: INodeProps;\n heading?: React.ReactNode;\n subheading?: React.ReactNode;\n link?: React.ReactNode;\n countryList?: React.ReactNode[];\n isModalOpen?: boolean;\n state?: ICountryPickerState;\n stayOnCurrentSiteButton?: React.ReactNode;\n}\n\n/**\n * ICountryPickerState: Interface for Country picker State.\n */\nexport interface ICountryPickerState {\n isModalOpen: boolean;\n}\n\n/**\n *\n * CountryPicker component.\n * @extends {React.PureComponent>}\n */\nexport class CountryPicker extends React.PureComponent, ICountryPickerState> {\n private readonly _telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n private readonly _preferredSiteStorageKey: string = '_msdyn365___site_';\n\n private readonly _cookieExpirationTime = 5_184_000;\n\n public constructor(props: ICountryPickerProps) {\n super(props);\n let isCookieValueSet: boolean = false;\n if (props.context.request.cookies.get(this._preferredSiteStorageKey).value) {\n isCookieValueSet = true;\n }\n this.state = {\n isModalOpen: !isCookieValueSet && this.props.context.request.marketSettings !== undefined\n };\n }\n\n public render(): JSX.Element | null {\n const { heading, subheading, countryList, actionLink } = this.props.config;\n\n const isConsentGiven = this.props.context.request.cookies.isConsentGiven();\n\n if (!isConsentGiven) {\n return null;\n }\n\n const countryPickerHeading = heading && (\n \n );\n\n const countryPickerSubHeading = subheading && (\n \n );\n\n const countryPickerActionLink = actionLink && this.createLink(actionLink);\n const currentSiteButton = (\n \n );\n\n const viewprops: ICountryPickerViewProps = {\n ...this.props,\n state: this.state,\n isModalOpen: this.state.isModalOpen,\n modalContainer: {\n moduleProps: this.props,\n tag: Modal,\n className: 'ms-country-picker__dialog',\n isOpen: true,\n 'aria-label': 'country-picker',\n toggle: this.closeModal,\n modalTransition: { timeout: 0 },\n shouldUpdateFocusToFirstElement: true\n },\n modalHeaderContainer: {\n tag: ModalHeader,\n className: 'ms-country-picker__modal-header',\n toggle: this.closeModal,\n closeButtonTabIndex: 1\n },\n modalFooterContainer: {\n tag: ModalFooter,\n className: 'ms-countryPicker__modal-footer'\n },\n modalBodyContainer: {\n tag: ModalBody,\n className: 'ms-counrtyPicker__modal-body'\n },\n heading: countryPickerHeading,\n subheading: countryPickerSubHeading,\n link: countryPickerActionLink,\n countryList: countryList && this.renderCountryList(),\n stayOnCurrentSiteButton: currentSiteButton\n };\n\n return this.props.renderView(viewprops);\n }\n\n /**\n * Initiate close modal.\n */\n public readonly closeModal = (): void => {\n this.setState({\n isModalOpen: false\n });\n };\n\n public handleParagraphChange(event: MsDyn365.ContentEditableEvent): void {\n this.props.config.subheading = event.target.value;\n }\n\n public handleTextChange(event: MsDyn365.ContentEditableEvent): void {\n this.props.config.heading!.text = event.target.value;\n }\n\n public handleLinkTextChange(event: MsDyn365.ContentEditableEvent): void {\n if (this.props.config.actionLink?.linkText) {\n this.props.config.actionLink.linkText = event.target.value;\n }\n }\n\n public createLink(link?: IActionLinkData): React.ReactNode | null {\n if (!StringExtensions.isNullOrEmpty(link?.linkUrl.destinationUrl)) {\n const linkText = link?.linkText ?? '';\n const payLoad = getPayloadObject('click', this._telemetryContent, '', '');\n const attributes = getTelemetryAttributes(this._telemetryContent, payLoad);\n const editableLink: MsDyn365.ILinksData = {\n ariaLabel: link?.ariaLabel,\n className: 'ms-countryPicker__link',\n linkText,\n linkUrl: link?.linkUrl.destinationUrl,\n openInNewTab: link?.openInNewTab,\n role: 'link',\n additionalProperties: attributes!,\n onClick: onTelemetryClick(this._telemetryContent, payLoad, linkText)\n };\n return (\n \n );\n }\n return null;\n }\n\n public renderCountryList(): React.ReactNode[] | undefined {\n const marketSettings = this.props.context.request.marketSettings;\n if (!marketSettings) {\n return undefined;\n }\n const localeItems = marketSettings.localeItems;\n const countryLinks = localeItems.map((value: ILocaleItems) => {\n return this.renderCountry(value);\n });\n\n return countryLinks;\n }\n\n public renderCountry(localeItem: ILocaleItems): React.ReactNode | null {\n const countryList = this.props.config.countryList;\n let baseUrl = localeItem.localeBaseUrl;\n baseUrl = this._appendProtocolToUrl(baseUrl);\n const matchedCountryItem = countryList?.find(item => item.url === baseUrl);\n if (!matchedCountryItem) {\n return null;\n }\n const imageSize: IImageDimension = { q: 'w=48&h=48&m=6', w: 0, h: 0 };\n const defaultImageSettings: MsDyn365.IImageSettings = {\n viewports: {\n xs: imageSize,\n lg: imageSize,\n xl: imageSize\n },\n lazyload: true\n };\n const image = matchedCountryItem.image;\n const imageProps = {\n gridSettings: this.props.context.request.gridSettings!,\n imageSettings: image?.imageSettings ?? defaultImageSettings\n };\n return (\n \n {image && (\n \n )}\n
\n {matchedCountryItem.displayString}\n {matchedCountryItem.displaySubString}\n
\n \n );\n }\n\n /**\n * Writes the current site base url to cookie and closes the country picker modal dialog.\n */\n private readonly _handleStayOnSiteButtonClick = (): void => {\n const currentBaseUrl = this.props.context.request.marketSettings?.currentBaseUrl;\n if (currentBaseUrl) {\n const urlToStore = this._appendProtocolToUrl(currentBaseUrl);\n this._writeToCookie(this._preferredSiteStorageKey, urlToStore);\n }\n this.closeModal();\n };\n\n /**\n * Handles click event of country selection.\n * @param storageKey - Cookie storage key.\n * @param storageValue - Preffered site url.\n * @returns - This method just writes the cookie to the browser.\n */\n private readonly _handleClick = (storageKey?: string, storageValue?: string) => () => {\n this._writeToCookie(storageKey, storageValue);\n };\n\n /**\n * Handles click event of country selection.\n * @param storageKey - Cookie storage key.\n * @param storageValue - Preffered site url.\n */\n private readonly _writeToCookie = (storageKey?: string, storageValue?: string): void => {\n if (!storageKey || !storageValue) {\n return;\n }\n const cookieOptions: ICookieSetOptions = { secure: true, sameSite: 'none' };\n cookieOptions.maxAge = this._cookieExpirationTime;\n this.props.context.request.cookies.set(storageKey, storageValue, cookieOptions);\n };\n\n /**\n * Appends protocol to an url.\n * @param baseUrl - Url to be formatted.\n * @returns - URL after appending protocol.\n */\n private readonly _appendProtocolToUrl = (baseUrl: string): string => {\n return !baseUrl.includes('https://') ? `https://${baseUrl}` : baseUrl;\n };\n}\n\nexport default CountryPicker;\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 { ICountryPickerViewProps } from './index';\n\n/**\n * Functional component which renders country picker module.\n * @param props - Configuration for the country picker component.\n * @returns React.FC - Functional component of the country picker module.\n */\nexport const countryPickerView: React.FC = (props: ICountryPickerViewProps) => {\n const {\n isModalOpen,\n modalContainer,\n modalHeaderContainer,\n modalBodyContainer,\n heading,\n modalFooterContainer,\n subheading,\n link,\n countryList,\n stayOnCurrentSiteButton\n } = props;\n return isModalOpen && countryList ? (\n \n \n {heading}\n {subheading}\n \n \n {countryList.map(country => (\n <>{country}\n ))}\n \n \n {stayOnCurrentSiteButton}\n {link}\n \n \n ) : null;\n};\n\nexport default countryPickerView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IFooterCategoryConfig, IFooterCategoryProps } from './footer-category.props.autogenerated';\n\nexport interface IFooterCategoryViewProps extends IFooterCategoryProps {\n categories: React.ReactNode[];\n FooterList: IModuleProps;\n FooterListItem: INodeProps;\n}\n\n/**\n *\n * FooterCategory component.\n * @extends {React.PureComponent>}\n */\nclass FooterCategory extends React.PureComponent> {\n public render(): JSX.Element | null {\n if (!this.props.slots || !this.props.slots.content || this.props.slots.content.length === 0) {\n this.props.context.telemetry.error('footer slots content is empty, module wont render');\n return null;\n }\n const viewprops = {\n ...this.props,\n categories: this.props.slots.content,\n FooterList: {\n moduleProps: this.props,\n className: classnames('ms-footer__list', this.props.config.className),\n tag: 'ul'\n },\n FooterListItem: {\n className: classnames('ms-footer__list-item', this.props.config.className),\n tag: 'li'\n }\n };\n\n return this.props.renderView(viewprops) as React.ReactElement;\n }\n}\n\nexport default FooterCategory;\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 React, { ReactNode } from 'react';\n\nimport { IFooterCategoryViewProps } from './footer-category';\n\nexport const FooterCategoryView: React.FC = props => {\n const { categories, FooterList, FooterListItem } = props;\n if (!categories || categories.length === 0) {\n props.context.telemetry.error('Footer content is empty, module wont render');\n return null;\n }\n return (\n \n {categories.map((category: ReactNode, index: number) => {\n return (\n \n {category}\n \n );\n })}\n \n );\n};\n\nexport default FooterCategoryView;\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 { Button, IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ISubscribeConfig, ISubscribeProps } from './subscribe.props.autogenerated';\n\n/**\n * Subscribe view props.\n */\nexport interface ISubscribeViewProps extends ISubscribeProps {\n subscribe: IModuleProps;\n subscribeContainer: INodeProps;\n heading: React.ReactNode;\n text: React.ReactNode;\n submitButton?: INodeProps;\n submitButtonLabelText?: string;\n subscribeForm?: INodeProps;\n emailInput?: INodeProps;\n handleText(): void;\n}\n\n/**\n * Subscribe component.\n * @extends {React.PureComponent>}\n */\nexport class Subscribe extends React.PureComponent> {\n private readonly _emailAddressInputRef: React.RefObject;\n\n public constructor(props: ISubscribeViewProps) {\n super(props);\n this._emailAddressInputRef = React.createRef();\n }\n\n public render(): JSX.Element | null {\n const { heading, paragraph } = this.props.config;\n\n const moduleClassName = 'ms-subscribe';\n\n const subscribeParagraph = paragraph && (\n \n );\n\n const subscribeHeading = heading && (\n \n );\n const viewProps = {\n ...this.props,\n handleText: this.handleTextChange,\n subscribe: {\n moduleProps: this.props,\n className: moduleClassName\n },\n subscribeContainer: {\n className: 'ms-subscribe__details'\n },\n heading: subscribeHeading,\n text: subscribeParagraph,\n subscribeForm: {\n className: 'ms-subscribe__details__form',\n tag: 'form',\n 'aria-label': this.props.resources.subscribeFormAriaLabel,\n name: 'subscribeForm',\n role: 'form',\n autoComplete: 'off'\n },\n emailInput: {\n className: 'ms-subscribe__details__form__email',\n tag: 'input',\n ref: this._emailAddressInputRef,\n type: 'email',\n 'aria-label': this.props.resources.subscribeFormEmailAriaLabel,\n placeholder: this.props.resources.subscribeEmailPlaceholderText\n },\n submitButton: {\n className: 'ms-subscribe__details__form__submit',\n tag: Button,\n 'aria-label': this.props.resources.subscribeFormSubmitAriaLabel,\n type: 'submit',\n title: this.props.resources.subscribeButtonLabel\n },\n submitButtonLabelText: this.props.resources.subscribeButtonLabel\n };\n\n return this.props.renderView(viewProps);\n }\n\n /**\n * Handle text change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleTextChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n /**\n * Handle paragraph change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.paragraph = event.target.value;\n };\n}\n\nexport default Subscribe;\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 { ISubscribeViewProps } from './subscribe';\n\n/**\n * Override form action and button action below.\n * @param event - The form event.\n */\nconst onSubmit = (event: React.FormEvent): void => {\n event.preventDefault();\n};\n\n/**\n * View component.\n * @param props - The view properties.\n * @returns - Returns nothing.\n */\nexport const subscribeView: React.FC = props => {\n const { subscribe, subscribeContainer, heading, text, subscribeForm, emailInput, submitButton } = props;\n return (\n \n \n {heading}\n {text}\n \n \n \n {props.submitButtonLabelText}\n \n \n \n \n );\n};\n\nexport default subscribeView;\n"],"names":["DynBodyInlineScript","React","render","this","props","renderView","useScript","position","placement","document","querySelector","inlineScript","createElement","type","innerHTML","config","script","appendChild","removeChild","OrderInfomation","_ref","orderInformationProps","salesId","receiptId","createdDate","count","amount","channelReferenceId","channelName","channelAddress","Node","Object","assign","SalesLine","_ref2","salesLineProps","salesLine","buyAgainButton","GroupDelivery","_ref3","deliveryProps","heading","trackingInfo","shippedStatusCheck","Group","_ref4","groupProps","delivery","address","salesLinesProps","salesLines","isCashAndCarryTransaction","className","map","key","data","LineId","deliveryType","shipment","salesStatus","showTimeslot","pickupProps","pickupDateTimeslot","Groups","_ref5","groupsProps","groups","group","index","OrderSummary","_ref6","orderSummaryProps","subtotal","shipping","tax","totalAmount","earnedPoints","Payment","_ref7","paymentMethodsProps","title","methods","Help","_ref8","helpProps","needHelpLabel","helpLineNumberLabel","contactNumber","_ref9","moduleProps","viewModes","tableViewActions","table","alert","loading","orderInfomation","orderSummary","payment","help","Module","CheckInConfirmationComponent","confirmationText","shouldShowQrCode","channelReferenceIdLabel","QRCode","value","size","CheckInErrorComponent","errorMessage","CheckInForPickup","constructor","super","checkInForOrderPickup","async","channelId","Number","parseInt","context","request","query","packingSlipId","additionalInformationToSubmit","additionalInformationList","additionalInformationKeyValuePair","_additionalInformatio","formKey","resourceId","extensionPropertyList","ObjectExtensions","isNullOrUndefined","additionalInformation","push","Key","Value","StringValue","SalesOrdersDataActions","callerContext","actionContext","queryResultSettings","error","setState","headerErrorMessage","resources","genericErrorMessage","isCheckedIn","telemetry","Promise","resolve","_onInit","_this$props$context$r","_this$props$context$r2","_this$props$context$r3","_this$props$context$r4","isNaN","params","isEditor","isPreview","requiredParameterMissingErrorMessage","additionalInformationKeys","ArrayExtensions","hasElements","state","_this$props$context$r5","isHeaderError","viewProps","_objectSpread","headerError","confirmationComponent","defaultConfirmationText","confirmationIdLabel","additionalInformationValues","undefined","viewState","shouldComponentUpdate","nextProps","nextState","additionalInformationHeading","_props$config$additio","FormBuilder","additionalInformationDefaultHeading","submitButtonText","additionalInformationSubmitButtonText","keys","requiredValueMissingErrorMessage","onSubmit","checkoutGooglePay","checkoutButton","ref","DefaultExternalScript","logDebug","id","typeName","source","scriptSource","relativeBaseUrl","url","staticCdnUrl","msdyn365Commerce","getEnvironmentVariable","isRelativeUrl","path","isAbsoluteUrl","logError","scriptHtml","defer","SDK_FRAGMENT_NAME","dangerouslySetInnerHTML","__html","DefaultInlineScript","includes","nonceToken","isNonceEnabled","inlineStyle","styleHtml","debugMessage","log","LogLevel","Debug","Error","test","CountryPicker","_telemetryContent","getTelemetryObject","telemetryPageName","friendlyName","_preferredSiteStorageKey","_cookieExpirationTime","closeModal","isModalOpen","_handleStayOnSiteButtonClick","currentBaseUrl","marketSettings","urlToStore","_appendProtocolToUrl","_writeToCookie","_handleClick","storageKey","storageValue","cookieOptions","secure","sameSite","maxAge","cookies","set","baseUrl","isCookieValueSet","get","_heading$tag","subheading","countryList","actionLink","isConsentGiven","countryPickerHeading","MsDyn365","tag","text","editProps","onEdit","handleTextChange","requestContext","countryPickerSubHeading","handleParagraphChange","countryPickerActionLink","createLink","currentSiteButton","Button","onClick","tabIndex","stayOnCurrentSiteButtonText","viewprops","modalContainer","Modal","isOpen","toggle","modalTransition","timeout","shouldUpdateFocusToFirstElement","modalHeaderContainer","ModalHeader","closeButtonTabIndex","modalFooterContainer","ModalFooter","modalBodyContainer","ModalBody","link","renderCountryList","stayOnCurrentSiteButton","event","target","handleLinkTextChange","_this$props$config$ac","linkText","StringExtensions","isNullOrEmpty","linkUrl","destinationUrl","_link$linkText","payLoad","getPayloadObject","attributes","getTelemetryAttributes","editableLink","ariaLabel","openInNewTab","role","additionalProperties","onTelemetryClick","onTextChange","localeItems","renderCountry","localeItem","_image$imageSettings","_image$src","localeBaseUrl","matchedCountryItem","find","item","imageSize","q","w","h","defaultImageSettings","viewports","xs","lg","xl","lazyload","image","imageProps","gridSettings","imageSettings","displayString","href","src","altText","loadFailureBehavior","shouldSkipToMainImage","displaySubString","countryPickerView","country","FooterCategory","slots","content","length","categories","FooterList","classnames","FooterListItem","FooterCategoryView","category","Subscribe","paragraph","_emailAddressInputRef","subscribeParagraph","Msdyn365","subscribeHeading","handleText","subscribe","subscribeContainer","subscribeForm","subscribeFormAriaLabel","name","autoComplete","emailInput","subscribeFormEmailAriaLabel","placeholder","subscribeEmailPlaceholderText","submitButton","subscribeFormSubmitAriaLabel","subscribeButtonLabel","submitButtonLabelText","preventDefault","subscribeView","_subscribeForm$classN","_emailInput$className","_submitButton$classNa"],"sourceRoot":""}