{"version":3,"file":"static/js/35.8c5a2a6e2f9e0179ef87.chunk.js","mappings":"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","sources":["webpack://Citta2.0/./src/modules/check-in-for-pickup/check-in-confirmation.tsx?406f","webpack://Citta2.0/./src/modules/check-in-for-pickup/check-in-error.tsx?e789","webpack://Citta2.0/./src/modules/check-in-for-pickup/check-in-for-pickup.tsx?8686","webpack://Citta2.0/./src/modules/country-picker/country-picker.tsx?4fcb","webpack://Citta2.0/./src/modules/checkout-guest-profile-emarsys/components/get-add-contact-info.tsx?233e","webpack://Citta2.0/./src/modules/checkout-guest-profile-emarsys/components/get-show-contact-info.tsx?4546","webpack://Citta2.0/./src/modules/checkout-guest-profile-emarsys/checkout-guest-profile-emarsys.tsx?1c34","webpack://Citta2.0/./src/modules/checkout-guest-profile-emarsys/checkout-guest-profile-emarsys.view.tsx?9340","webpack://Citta2.0/./src/modules/check-in-for-pickup/check-in-for-pickup.view.tsx?bd7a","webpack://Citta2.0/./src/modules/country-picker/country-picker.view.tsx?0036"],"sourcesContent":["/*!\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 * 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","/*!\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\n/* eslint-disable no-duplicate-imports */\r\nimport { Button, INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nexport interface IAddContactInfoInput {\r\n inputRef?: React.RefObject;\r\n hasError: boolean;\r\n email: string;\r\n resources: {\r\n emailLabel: string;\r\n emailErrortext: string;\r\n saveBtnLabel: string;\r\n cancelBtnLabel: string;\r\n };\r\n canSubmit: boolean;\r\n canCancel: boolean;\r\n onChange(email: string): void;\r\n onSubmit(): void;\r\n onCancel(): void;\r\n}\r\n\r\nexport interface IAddContactInfo {\r\n addFormProps: INodeProps;\r\n submitButton: React.ReactNode;\r\n cancelButton: React.ReactNode;\r\n inputGroupProps: INodeProps;\r\n label: React.ReactNode;\r\n error: React.ReactNode;\r\n input: React.ReactNode;\r\n}\r\n\r\n/**\r\n * On Input change handler function.\r\n * @param onChange -On change input function.\r\n * @returns Call of onChange function.\r\n */\r\nconst onInputChangeHandler = (onChange: (email: string) => void) => (event: React.ChangeEvent): void => {\r\n onChange(event.target.value || '');\r\n};\r\n\r\nconst getAddContactInfo = ({\r\n hasError,\r\n inputRef,\r\n email,\r\n canSubmit,\r\n canCancel,\r\n onChange,\r\n onSubmit,\r\n onCancel,\r\n resources: { emailLabel, emailErrortext, saveBtnLabel, cancelBtnLabel }\r\n}: IAddContactInfoInput): IAddContactInfo => {\r\n const onInputChange = onInputChangeHandler(onChange);\r\n\r\n return {\r\n addFormProps: { className: 'ms-checkout-guest-profile__add-contact-info' },\r\n submitButton: canSubmit && (\r\n \r\n ),\r\n cancelButton: canCancel && (\r\n \r\n ),\r\n inputGroupProps: { className: classnames('ms-checkout-guest-profile__input', { 'is-invalid': hasError }) },\r\n label: (\r\n \r\n ),\r\n error: hasError && (\r\n \r\n {emailErrortext}\r\n \r\n ),\r\n input: (\r\n \r\n )\r\n };\r\n};\r\n\r\nexport default getAddContactInfo;\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\n/* eslint-disable no-duplicate-imports */\r\nimport { Button, INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport interface IShowContactInfoInput {\r\n canEdit: boolean;\r\n email: string;\r\n resources: {\r\n editBtnLabel: string;\r\n };\r\n onEdit(): void;\r\n}\r\n\r\nexport interface IShowContactInfo {\r\n showInfoProps: INodeProps;\r\n email: React.ReactNode;\r\n editButton?: React.ReactNode;\r\n}\r\n\r\nconst getContactInfo = ({ canEdit, email, resources: { editBtnLabel }, onEdit }: IShowContactInfoInput): IShowContactInfo => ({\r\n showInfoProps: { className: 'ms-checkout-guest-profile__selected-item' },\r\n email: {email},\r\n editButton: canEdit && (\r\n \r\n )\r\n});\r\n\r\nexport default getContactInfo;\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\n/* eslint-disable no-duplicate-imports */\r\nimport { IModuleStateProps, withModuleState } from '@msdyn365-commerce-modules/checkout-utilities';\r\nimport { EmailRegex } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { IModuleProps } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport ReCAPTCHA from 'react-google-recaptcha';\r\nimport { computed, reaction, when } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\nimport * as MsDyn365 from '@msdyn365-commerce/core';\r\n\r\nimport { ICheckoutGuestProfileEmarsysData } from './checkout-guest-profile-emarsys.data';\r\nimport { ICheckoutGuestProfileEmarsysProps } from './checkout-guest-profile-emarsys.props.autogenerated';\r\nimport getAddContactInfo, { IAddContactInfo } from './components/get-add-contact-info';\r\nimport getShowContactInfo, { IShowContactInfo } from './components/get-show-contact-info';\r\n\r\nexport * from './components/get-add-contact-info';\r\nexport * from './components/get-show-contact-info';\r\n\r\ninterface ICheckoutGuestProfileState {\r\n email: string;\r\n TermsAndConditionsChecked: boolean;\r\n reCaptchaChecked: boolean;\r\n rCCError: boolean;\r\n\r\n}\r\n\r\nexport interface ICheckoutGuestProfileModuleProps extends ICheckoutGuestProfileEmarsysProps, IModuleStateProps { }\r\n\r\nexport interface ICheckoutGuestProfileViewProps extends ICheckoutGuestProfileEmarsysProps, ICheckoutGuestProfileState {\r\n moduleProps: IModuleProps;\r\n showContactInfo?: IShowContactInfo;\r\n addContactInfo?: IAddContactInfo;\r\n reCaptcha: React.ReactNode;\r\n checkBox: React.ReactNode;\r\n\r\n onChange?(email: string): void;\r\n onEdit?(): void;\r\n onSubmit?(): void;\r\n onCancel?(): void;\r\n}\r\n\r\n/**\r\n *\r\n * CheckoutGuestProfile component.\r\n * @extends {React.PureComponent, ICheckoutGuestProfileState>}\r\n */\r\n// @ts-expect-error\r\n@withModuleState\r\n@observer\r\nclass CheckoutGuestProfile extends React.Component {\r\n public state: ICheckoutGuestProfileState = {\r\n email:\r\n (this.props.context &&\r\n this.props.context.request &&\r\n this.props.context.request.user &&\r\n this.props.context.request.user.isAuthenticated &&\r\n this.props.context.request.user.emailAddress) ||\r\n '',\r\n TermsAndConditionsChecked: false,\r\n reCaptchaChecked: false,\r\n rCCError: false,\r\n };\r\n\r\n private readonly inputRef: React.RefObject = React.createRef();\r\n private _TermsAndConditionsRef: React.RefObject = React.createRef();\r\n private _recaptchaRef: React.RefObject = React.createRef();\r\n private recaptchaErrorMessage: string | undefined;\r\n // private responseMessage: string | undefined;\r\n\r\n\r\n @computed get isDataReady(): boolean {\r\n return (this.props.data.checkout.result && this.props.data.checkout.status) === 'SUCCESS';\r\n }\r\n\r\n public componentDidMount(): void {\r\n when(\r\n () => this.isDataReady,\r\n async () => {\r\n await this.init();\r\n }\r\n );\r\n\r\n reaction(\r\n () => this.props.data.checkout.result?.isExpressCheckoutApplied,\r\n async isExpressCheckoutApplied => {\r\n if (isExpressCheckoutApplied && !this.props.data.checkout.result?.isExpressAddressApplied) {\r\n const email = this.props.data.checkout.result?.emailAddressFromExpressCheckout ?? '';\r\n\r\n await this.submitEmail(email);\r\n }\r\n }\r\n );\r\n }\r\n\r\n public shouldComponentUpdate(nextProps: ICheckoutGuestProfileModuleProps, nextState: ICheckoutGuestProfileState): boolean {\r\n if (this.state === nextState && this.props.data === nextProps.data) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n public render(): JSX.Element {\r\n const {\r\n config: { className },\r\n resources,\r\n moduleState: { isReady, hasError, hasExternalSubmitGroup }\r\n } = this.props;\r\n const email = this.props.data.checkout.result?.guestCheckoutEmail ?? '';\r\n // const checkBox : this._renderCheckbox();\r\n\r\n const viewProps: ICheckoutGuestProfileViewProps = {\r\n ...this.props,\r\n ...this.state,\r\n onChange: this.onChange,\r\n onEdit: this.onEdit,\r\n onCancel: this.onCancel,\r\n onSubmit: this.onSubmit,\r\n checkBox: this._renderCheckbox(),\r\n reCaptcha: this._renderReCaptcha(),\r\n\r\n\r\n moduleProps: {\r\n moduleProps: this.props,\r\n className: classnames('ms-checkout-guest-profile', className, isReady ? 'show' : 'add')\r\n },\r\n showContactInfo: isReady\r\n ? getShowContactInfo({\r\n canEdit: !hasExternalSubmitGroup,\r\n email,\r\n resources,\r\n onEdit: this.onEdit\r\n })\r\n : undefined,\r\n addContactInfo: !isReady\r\n ? getAddContactInfo({\r\n email: this.state.email,\r\n hasError,\r\n resources,\r\n inputRef: this.inputRef,\r\n onChange: this.onChange,\r\n canSubmit: !hasExternalSubmitGroup,\r\n onSubmit: this.onSubmit,\r\n canCancel: !hasExternalSubmitGroup && !!email,\r\n onCancel: this.onCancel\r\n })\r\n : undefined\r\n };\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n\r\n private _renderCheckbox(): React.ReactNode {\r\n return (\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n )\r\n }\r\n\r\n private _renderReCaptcha(): React.ReactNode {\r\n return (\r\n
\r\n
\r\n {this.state.rCCError ? this._renderRecaptchaAlert('recaptcha-error') : ''}\r\n this._submit()}\r\n />\r\n
\r\n
\r\n );\r\n }\r\n\r\n private _renderRecaptchaAlert(className: string): JSX.Element {\r\n\r\n if (this.props.config.reCaptchaOption) {\r\n if (!this.state.reCaptchaChecked) {\r\n this.recaptchaErrorMessage = this.props.resources.recaptchaErrorMessage;\r\n }\r\n }\r\n\r\n const rCCError = this.state.rCCError;\r\n return (\r\n <>\r\n {rCCError && (\r\n \r\n {\r\n this.recaptchaErrorMessage &&\r\n <>\r\n \r\n )}\r\n \r\n );\r\n }\r\n\r\n private readonly init = async (): Promise => {\r\n const checkoutState = this.props.data.checkout.result;\r\n\r\n const hasInvoiceLine = checkoutState?.checkoutCart.hasInvoiceLine;\r\n\r\n const emailOnCart = checkoutState?.checkoutCart.cart.ReceiptEmail;\r\n const email = hasInvoiceLine\r\n ? this.props.context.request.user.emailAddress ?? ''\r\n : emailOnCart ??\r\n (checkoutState?.isExpressCheckoutApplied ? checkoutState.emailAddressFromExpressCheckout : undefined) ??\r\n this.state.email;\r\n\r\n if (email) {\r\n await this.updateGuestProfile(email);\r\n checkoutState?.updateHasGuestCheckoutEmail({ newHasGuestCheckoutEmail: true });\r\n } else {\r\n checkoutState?.updateHasGuestCheckoutEmail({ newHasGuestCheckoutEmail: false });\r\n }\r\n\r\n const isEmailValid = this.isEmailValid(email);\r\n this.props.moduleState.init({\r\n onEdit: this.onEdit,\r\n onCancel: this.onCancel,\r\n onSubmit: this.onSubmit,\r\n status: hasInvoiceLine ? 'disabled' : email && isEmailValid ? 'ready' : 'updating',\r\n hasError: !!email && !isEmailValid\r\n });\r\n };\r\n\r\n private readonly onChange = (rowEmail: string): void => {\r\n const email = (rowEmail || '').replace(new RegExp('[<>]', 'gi'), '');\r\n this.setState({ email });\r\n if (this.props.moduleState.hasError) {\r\n // Clear error during user updating the email\r\n this.props.moduleState.setHasError(false);\r\n }\r\n };\r\n\r\n private _checkBoxOnChange = () => (e: React.ChangeEvent) => {\r\n const isChecked = this._TermsAndConditionsRef.current && this._TermsAndConditionsRef.current.checked ? this._TermsAndConditionsRef.current.checked : false;\r\n this.setState({TermsAndConditionsChecked: isChecked });\r\n }\r\n private readonly isEmailValid = (email: string): boolean => {\r\n return EmailRegex.defaultRegex.test(email);\r\n };\r\n\r\n private readonly updateGuestProfile = async (newGuestCheckoutEmail: string): Promise => {\r\n if (this.props.data.checkout.result) {\r\n await this.props.data.checkout.result.updateGuestCheckoutEmail({ newGuestCheckoutEmail });\r\n this.setState({ email: newGuestCheckoutEmail });\r\n }\r\n };\r\n\r\n private readonly onEdit = (): void => {\r\n this.props.telemetry.information('Guest profile onEdit is called.');\r\n this.props.moduleState.onUpdating();\r\n };\r\n\r\n private readonly onSubmit = async (): Promise => {\r\n this.props.telemetry.information('Guest profile onSubmit is called.');\r\n const { email } = this.state;\r\n await this.submitEmail(email);\r\n if(this.state.TermsAndConditionsChecked) {\r\n try {\r\n this._recaptchaRef.current?.execute()\r\n } catch(e) {\r\n console.log(e, 'Please fill the form!');\r\n }\r\n }\r\n };\r\n\r\n private async _submit(): Promise {\r\n let emarsysGroupId = this.props.config.emarsysGroup;\r\n const { email } = this.state;\r\n try {\r\n const response = await MsDyn365.commerceApiRequest(\r\n this.props.context.request,\r\n 'PostCheckoutGuestProfileEmarsys',\r\n 'post',\r\n {\r\n emailAddress: email,\r\n emarsysGroupId: emarsysGroupId,\r\n optIn:true\r\n }\r\n ) as any;\r\n\r\n if (response?.data.Result !== 'Error') {\r\n console.log('emasys success')\r\n } else {\r\n console.log('this is an emasys error')\r\n }\r\n this._recaptchaRef.current?.reset();\r\n } catch (e) {\r\n console.log('rechatcha error')\r\n }\r\n \r\n }\r\n /**\r\n * Submit the email address.\r\n * @param email - The email to be submitted.\r\n *\r\n */\r\n private readonly submitEmail = async (email: string): Promise => {\r\n const isValid = this.isEmailValid(email);\r\n if (!isValid) {\r\n this.props.moduleState.setHasError(true);\r\n\r\n const input = this.inputRef.current?.focus && (this.inputRef.current as HTMLElement);\r\n input?.focus();\r\n\r\n } else {\r\n this.props.moduleState.onReady();\r\n await this.updateGuestProfile(email);\r\n\r\n }\r\n };\r\n\r\n private readonly onCancel = (): void => {\r\n this.props.telemetry.information('Guest profile onCancel is called.');\r\n\r\n // Reset to the saved value\r\n if (!this.props.data.checkout.result) {\r\n return;\r\n }\r\n\r\n const email = this.props.data.checkout.result.guestCheckoutEmail;\r\n if (!email) {\r\n // It has no saved email, set to status updating and request user to fill the email form\r\n this.props.moduleState.onUpdating();\r\n } else {\r\n // It has saved email, set to status ready\r\n this.setState({\r\n email\r\n });\r\n this.props.moduleState.setHasError(false);\r\n this.props.moduleState.onReady();\r\n }\r\n };\r\n}\r\n\r\nexport default CheckoutGuestProfile;\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\n/* eslint-disable no-duplicate-imports */\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IAddContactInfo, ICheckoutGuestProfileViewProps, IShowContactInfo } from './checkout-guest-profile-emarsys';\r\n\r\nexport const ShowContactInfo: React.FC = ({ showInfoProps, email, editButton }) => (\r\n \r\n {email}\r\n {editButton}\r\n \r\n);\r\n\r\nexport const AddContactInfo: React.FC = ({\r\n addFormProps,\r\n submitButton,\r\n cancelButton,\r\n inputGroupProps,\r\n label,\r\n error,\r\n input\r\n}) => (\r\n \r\n \r\n {'Email Address'}\r\n {error}\r\n {input}\r\n \r\n {submitButton}\r\n {cancelButton}\r\n \r\n);\r\n\r\nconst CheckoutGuestProfileView: React.FC = ({ moduleProps, showContactInfo, addContactInfo, checkBox, reCaptcha}) => {\r\n return (\r\n \r\n {showContactInfo && }\r\n {addContactInfo && }\r\n {checkBox}\r\n {reCaptcha}\r\n \r\n );\r\n};\r\n\r\nexport default CheckoutGuestProfileView;\r\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, 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"],"names":["CheckInConfirmationComponent","_ref","confirmationText","shouldShowQrCode","channelReferenceIdLabel","channelReferenceId","React","className","QRCode","value","size","CheckInErrorComponent","errorMessage","CheckInForPickup","constructor","props","super","checkInForOrderPickup","async","channelId","Number","parseInt","this","context","request","query","packingSlipId","additionalInformationToSubmit","additionalInformationList","map","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","config","ArrayExtensions","hasElements","state","render","_this$props$context$r5","isHeaderError","viewProps","_objectSpread","headerError","confirmationComponent","defaultConfirmationText","confirmationIdLabel","additionalInformationValues","undefined","viewState","renderView","shouldComponentUpdate","nextProps","nextState","additionalInformationHeading","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","includes","isCookieValueSet","get","_heading$tag","heading","subheading","countryList","actionLink","isConsentGiven","countryPickerHeading","MsDyn365","tag","text","editProps","onEdit","handleTextChange","requestContext","countryPickerSubHeading","handleParagraphChange","countryPickerActionLink","createLink","currentSiteButton","Button","onClick","tabIndex","stayOnCurrentSiteButtonText","viewprops","modalContainer","moduleProps","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","url","imageSize","q","w","h","defaultImageSettings","viewports","xs","lg","xl","lazyload","image","imageProps","gridSettings","imageSettings","key","displayString","href","src","altText","loadFailureBehavior","shouldSkipToMainImage","displaySubString","hasError","inputRef","email","canSubmit","canCancel","onChange","onSubmit","onCancel","emailLabel","emailErrortext","saveBtnLabel","cancelBtnLabel","onInputChange","onInputChangeHandler","addFormProps","submitButton","title","color","cancelButton","inputGroupProps","classnames","label","id","input","ref","type","canEdit","editBtnLabel","showInfoProps","editButton","CheckoutGuestProfile","user","isAuthenticated","emailAddress","TermsAndConditionsChecked","reCaptchaChecked","rCCError","_TermsAndConditionsRef","_recaptchaRef","init","checkoutState","data","checkout","result","hasInvoiceLine","checkoutCart","emailOnCart","cart","ReceiptEmail","isExpressCheckoutApplied","emailAddressFromExpressCheckout","updateGuestProfile","updateHasGuestCheckoutEmail","newHasGuestCheckoutEmail","isEmailValid","moduleState","status","rowEmail","replace","RegExp","setHasError","_checkBoxOnChange","e","isChecked","current","checked","EmailRegex","defaultRegex","test","updateGuestCheckoutEmail","newGuestCheckoutEmail","information","onUpdating","submitEmail","_this$_recaptchaRef$c","execute","console","log","onReady","_this$inputRef$curren","focus","guestCheckoutEmail","isDataReady","componentDidMount","when","reaction","_this$props$data$chec","_this$props$data$chec2","isExpressAddressApplied","_this$props$data$chec3","_this$props$data$chec4","_this$props$data$chec5","_this$props$data$chec6","isReady","hasExternalSubmitGroup","checkBox","_renderCheckbox","reCaptcha","_renderReCaptcha","showContactInfo","getShowContactInfo","addContactInfo","getAddContactInfo","termsAndConditionsText","termsAndConditionsLink","_renderRecaptchaAlert","ReCAPTCHA","sitekey","reCaptchaSiteKey","_submit","reCaptchaOption","recaptchaErrorMessage","emarsysGroupId","emarsysGroup","_this$_recaptchaRef$c2","response","optIn","Result","reset","__decorate","computed","withModuleState","observer","ShowContactInfo","Node","Object","assign","AddContactInfo","_ref2","_ref3","Module","_props$config$additio","FormBuilder","additionalInformationDefaultHeading","submitButtonText","additionalInformationSubmitButtonText","keys","requiredValueMissingErrorMessage","countryPickerView","country"],"sourceRoot":""}