{"version":3,"file":"static/js/bafe0d0ec76ac2503832.bundle.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./lib/checkout-guest-profile/module-registration.js?4b3c","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-guest-profile/components/get-add-contact-info.tsx?c9f6","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-guest-profile/components/get-show-contact-info.tsx?e9b5","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-guest-profile/checkout-guest-profile.tsx?c2ce","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-guest-profile/checkout-guest-profile.view.tsx?2e47","webpack://Msdyn365.Commerce.Online/external var \"React\"?0d3b","webpack://Msdyn365.Commerce.Online/external var \"ReactDOM\"?853b"],"sourcesContent":["const binding = { modules: {}, dataActions: {} };\n\n const registerActionId = (actionPath) => {\n if (binding.dataActions[actionPath] &&\n binding.dataActions[actionPath].default &&\n binding.dataActions[actionPath].default.prototype &&\n binding.dataActions[actionPath].default.prototype.id) {\n binding.dataActions[binding.dataActions[actionPath].default.prototype.id] = binding.dataActions[actionPath];\n } else {\n Object.keys(binding.dataActions[actionPath] || {}).forEach(exportName => {\n if (binding.dataActions[actionPath][exportName] &&\n binding.dataActions[actionPath][exportName].prototype &&\n binding.dataActions[actionPath][exportName].prototype.Action) {\n binding.dataActions[binding.dataActions[actionPath][exportName].prototype.id] = binding.dataActions[actionPath][exportName];\n }\n })\n }\n };\n\n const registerSanitizedActionPath = (sanitizedActionPath, dataAction) => {\n if (process.env.NODE_ENV === 'development') {\n if (!dataAction.default) {\n throw new Error('Data action path does not have a default export');\n }\n if (!(dataAction.default.prototype.id && binding.dataActions[dataAction.default.prototype.id]) || !binding.dataActions[sanitizedActionPath]) {\n binding.dataActions[sanitizedActionPath] = dataAction;\n }\n } else {\n binding.dataActions[sanitizedActionPath] = dataAction;\n if (!binding.dataActions[sanitizedActionPath].default) {\n throw new Error('Data action path ' + sanitizedActionPath + ' does not have a default export');\n }\n binding.dataActions[sanitizedActionPath].default.prototype.RegistrationId = sanitizedActionPath;\n if (binding.dataActions[sanitizedActionPath].default.prototype.id) {\n binding.dataActions[binding.dataActions[sanitizedActionPath].default.prototype.id] = sanitizedActionPath;\n }\n }\n };\n \n\n (binding.modules['checkout-guest-profile'] = {\n c: () => require('@msdyn365-commerce-modules/checkout/dist/lib/modules/checkout-guest-profile/checkout-guest-profile'),\n $type: 'contentModule',\n da: [{name:'accountInformation', path:'@msdyn365-commerce-modules/retail-actions/dist/lib/get-customer', runOn: 0},{name:'cart', path:'@msdyn365-commerce/global-state/dist/lib/data-actions/cart-state-data-action', runOn: 1},{name:'checkout', path:'@msdyn365-commerce/global-state/dist/lib/data-actions/checkout-state-data-action', runOn: 1}],\n \n iNM: true,\n ns: '@msdyn365-commerce-modules',\n n: 'checkout-guest-profile',\n p: 'checkout',\n \n pdp: '',\n \n \n md: 'node_modules/@msdyn365-commerce-modules/checkout/dist/lib/modules/checkout-guest-profile'\n });\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/retail-actions/dist/lib/get-customer';\n let dataAction = require('@msdyn365-commerce-modules/retail-actions/dist/lib/get-customer');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\n }\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce/global-state/dist/lib/data-actions/cart-state-data-action';\n let dataAction = require('@msdyn365-commerce/global-state/dist/lib/data-actions/cart-state-data-action');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\n }\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce/global-state/dist/lib/data-actions/checkout-state-data-action';\n let dataAction = require('@msdyn365-commerce/global-state/dist/lib/data-actions/checkout-state-data-action');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\n }\n \n\n \n window.__bindings__ = window.__bindings__ || {};\n window.__bindings__.modules = {\n ...window.__bindings__.modules || {},\n ...binding.modules\n };\n \n window.__bindings__.dataActions = {\n ...window.__bindings__.dataActions || {},\n ...binding.dataActions\n };\n export const viewDictionary = {};\n viewDictionary['@msdyn365-commerce-modules|checkout|modules|checkout-guest-profile|checkout-guest-profile'] = {\n c: () => require('@msdyn365-commerce-modules/checkout/dist/lib/modules/checkout-guest-profile/checkout-guest-profile.view.js'),\n cn: '@msdyn365-commerce-modules-checkout-checkout-guest-profile'\n };\nwindow.__bindings__ = window.__bindings__ || {};\nwindow.__bindings__.viewDictionary = {\n ...window.__bindings__.viewDictionary || {},\n ...viewDictionary\n };","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Button, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nexport interface IAddContactInfoInput {\n inputRef?: React.RefObject;\n hasError: boolean;\n email: string;\n resources: {\n emailLabel: string;\n emailErrortext: string;\n saveBtnLabel: string;\n cancelBtnLabel: string;\n };\n canSubmit: boolean;\n canCancel: boolean;\n onChange(email: string): void;\n onSubmit(): void;\n onCancel(): void;\n}\n\nexport interface IAddContactInfo {\n addFormProps: INodeProps;\n submitButton: React.ReactNode;\n cancelButton: React.ReactNode;\n inputGroupProps: INodeProps;\n label: React.ReactNode;\n error: React.ReactNode;\n input: React.ReactNode;\n}\n\n/**\n * On Input change handler function.\n * @param onChange -On change input function.\n * @returns Call of onChange function.\n */\nconst onInputChangeHandler = (onChange: (email: string) => void) => (event: React.ChangeEvent): void => {\n onChange(event.target.value || '');\n};\n\nconst getAddContactInfo = ({\n hasError,\n inputRef,\n email,\n canSubmit,\n canCancel,\n onChange,\n onSubmit,\n onCancel,\n resources: { emailLabel, emailErrortext, saveBtnLabel, cancelBtnLabel }\n}: IAddContactInfoInput): IAddContactInfo => {\n const onInputChange = onInputChangeHandler(onChange);\n\n return {\n addFormProps: { className: 'ms-checkout-guest-profile__add-contact-info' },\n submitButton: canSubmit && (\n \n ),\n cancelButton: canCancel && (\n \n ),\n inputGroupProps: { className: classnames('ms-checkout-guest-profile__input', { 'is-invalid': hasError }) },\n label: (\n \n ),\n error: hasError && (\n \n {emailErrortext}\n \n ),\n input: (\n \n )\n };\n};\n\nexport default getAddContactInfo;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Button, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IShowContactInfoInput {\n canEdit: boolean;\n email: string;\n resources: {\n editBtnLabel: string;\n };\n onEdit(): void;\n}\n\nexport interface IShowContactInfo {\n showInfoProps: INodeProps;\n email: React.ReactNode;\n editButton?: React.ReactNode;\n}\n\nconst getContactInfo = ({ canEdit, email, resources: { editBtnLabel }, onEdit }: IShowContactInfoInput): IShowContactInfo => ({\n showInfoProps: { className: 'ms-checkout-guest-profile__selected-item' },\n email: {email},\n editButton: canEdit && (\n \n )\n});\n\nexport default getContactInfo;\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 { IModuleStateProps, withModuleState } from '@msdyn365-commerce-modules/checkout-utilities';\nimport { EmailRegex, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { IModuleProps } from '@msdyn365-commerce-modules/utilities';\nimport { CheckoutModule, ErrorLocation } from '@msdyn365-commerce/global-state';\nimport classnames from 'classnames';\nimport { action, computed, reaction, when } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\nimport { focusOnCheckoutError } from '../../checkout-errors';\nimport { ErrorComponent } from '../../common';\n\nimport { ICheckoutGuestProfileData } from './checkout-guest-profile.data';\nimport { ICheckoutGuestProfileProps } from './checkout-guest-profile.props.autogenerated';\nimport getAddContactInfo, { IAddContactInfo } from './components/get-add-contact-info';\nimport getShowContactInfo, { IShowContactInfo } from './components/get-show-contact-info';\n\nexport * from './components/get-add-contact-info';\nexport * from './components/get-show-contact-info';\n\ninterface ICheckoutGuestProfileState {\n email: string;\n hasCheckoutError?: boolean;\n errorMessage?: string;\n}\n\nexport interface ICheckoutGuestProfileModuleProps extends ICheckoutGuestProfileProps, IModuleStateProps {}\n\nexport interface ICheckoutGuestProfileViewProps extends ICheckoutGuestProfileProps, ICheckoutGuestProfileState {\n moduleProps: IModuleProps;\n showContactInfo?: IShowContactInfo;\n addContactInfo?: IAddContactInfo;\n alert?: React.ReactNode;\n checkoutErrorRef?: React.RefObject;\n\n onChange?(email: string): void;\n onEdit?(): void;\n onSubmit?(): void;\n onCancel?(): void;\n}\n\n/**\n *\n * CheckoutGuestProfile component.\n * @extends {React.PureComponent, ICheckoutGuestProfileState>}\n */\n// @ts-expect-error\n@withModuleState\n@observer\nclass CheckoutGuestProfile extends React.Component {\n public state: ICheckoutGuestProfileState = {\n email:\n (this.props.context &&\n this.props.context.request &&\n this.props.context.request.user &&\n this.props.context.request.user.isAuthenticated &&\n this.props.context.request.user.emailAddress) ||\n ''\n };\n\n private readonly inputRef: React.RefObject = React.createRef();\n\n private readonly checkoutErrorRef: React.RefObject = React.createRef();\n\n @computed get isDataReady(): boolean {\n return (this.props.data.checkout.result && this.props.data.checkout.status) === 'SUCCESS';\n }\n\n @computed get hasEmailError(): boolean {\n return this.props.moduleState.hasError && !this.state.hasCheckoutError;\n }\n\n public componentDidMount(): void {\n when(\n () => this.isDataReady,\n async () => {\n await this.init();\n }\n );\n\n reaction(\n () => this.props.data.checkout.result?.isExpressCheckoutApplied,\n async isExpressCheckoutApplied => {\n const emailAddressFromExpressCheckout = this.props.data.checkout.result?.emailAddressFromExpressCheckout ?? '';\n const isEmailFromExpressCheckoutDifferent =\n !StringExtensions.isNullOrEmpty(emailAddressFromExpressCheckout) &&\n emailAddressFromExpressCheckout !== this.state.email;\n\n if (\n isExpressCheckoutApplied &&\n (!this.props.data.checkout.result?.isExpressAddressApplied || isEmailFromExpressCheckoutDifferent)\n ) {\n await this.submitEmail(emailAddressFromExpressCheckout);\n }\n }\n );\n\n if (this.props.data.checkout.result?.shouldEnableCheckoutErrorDisplayMessaging) {\n reaction(\n () => this.props.data.checkout.result?.checkoutError,\n checkoutError => {\n if (checkoutError && checkoutError.errorLocation === ErrorLocation.CheckoutGuestProfile && checkoutError.errorMessage) {\n this._setErrorMessage(checkoutError.errorMessage);\n }\n }\n );\n\n reaction(\n () => this.props.data.checkout.result?.checkoutErrorFocus,\n checkoutErrorFocus => {\n if (checkoutErrorFocus === CheckoutModule.CheckoutGuestProfile) {\n focusOnCheckoutError(this.checkoutErrorRef, this.props.context.actionContext);\n }\n }\n );\n }\n }\n\n public shouldComponentUpdate(nextProps: ICheckoutGuestProfileModuleProps, nextState: ICheckoutGuestProfileState): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n const {\n config: { className },\n resources,\n moduleState: { isReady, hasExternalSubmitGroup }\n } = this.props;\n const { hasCheckoutError, errorMessage } = this.state;\n const email = this.props.data.checkout.result?.guestCheckoutEmail ?? '';\n\n const viewProps: ICheckoutGuestProfileViewProps = {\n ...this.props,\n ...this.state,\n checkoutErrorRef: this.checkoutErrorRef,\n onChange: this.onChange,\n onEdit: this.onEdit,\n onCancel: this.onCancel,\n onSubmit: this.onSubmit,\n\n moduleProps: {\n moduleProps: this.props,\n className: classnames('ms-checkout-guest-profile', className, isReady ? 'show' : 'add')\n },\n alert: hasCheckoutError && errorMessage && (\n \n ),\n showContactInfo: isReady\n ? getShowContactInfo({\n canEdit: !hasExternalSubmitGroup,\n email,\n resources,\n onEdit: this.onEdit\n })\n : undefined,\n addContactInfo: !isReady\n ? getAddContactInfo({\n email: this.state.email,\n hasError: this.hasEmailError,\n resources,\n inputRef: this.inputRef,\n onChange: this.onChange,\n canSubmit: !hasExternalSubmitGroup,\n onSubmit: this.onSubmit,\n canCancel: !hasExternalSubmitGroup && !!email,\n onCancel: this.onCancel\n })\n : undefined\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n private readonly init = async (): Promise => {\n const checkoutState = this.props.data.checkout.result;\n const customerAccountInformation = this.props.data.accountInformation?.result;\n\n const hasInvoiceLine = checkoutState?.checkoutCart.hasInvoiceLine;\n let updateEmail: string = '';\n\n // if obo enabled and profile selected, we need to send the order status to obo user not store manager.\n if (Msdyn365.isOboRequest(this.props.context.request)) {\n updateEmail =\n customerAccountInformation && customerAccountInformation.Email !== undefined\n ? customerAccountInformation.Email\n : this.setErrorMsgOboUserEmailEmpty();\n } else {\n updateEmail = this.state.email;\n }\n\n const emailOnCart = checkoutState?.checkoutCart.cart.ReceiptEmail;\n const email = hasInvoiceLine\n ? this.props.context.request.user.emailAddress ?? ''\n : emailOnCart ??\n (checkoutState?.isExpressCheckoutApplied && !StringExtensions.isNullOrEmpty(checkoutState.emailAddressFromExpressCheckout)\n ? checkoutState.emailAddressFromExpressCheckout\n : undefined) ??\n updateEmail;\n\n const isEmailValid = this.isEmailValid(email);\n this.props.moduleState.init({\n onEdit: this.onEdit,\n onCancel: this.onCancel,\n onSubmit: this.onSubmit,\n status: hasInvoiceLine ? 'disabled' : email && isEmailValid ? 'ready' : 'updating',\n hasError: !!email && !isEmailValid\n });\n\n if (email) {\n await this.updateGuestProfile(email);\n checkoutState?.updateHasGuestCheckoutEmail({ newHasGuestCheckoutEmail: true });\n } else {\n checkoutState?.updateHasGuestCheckoutEmail({ newHasGuestCheckoutEmail: false });\n }\n };\n\n private readonly onChange = (rowEmail: string): void => {\n const email = (rowEmail || '').replace(new RegExp('[<>]', 'gi'), '');\n this.setState({ email });\n if (this.props.moduleState.hasError) {\n // Clear error during user updating the email\n this.props.moduleState.setHasError(false);\n this.setState({\n hasCheckoutError: false\n });\n }\n };\n\n private readonly setErrorMsgOboUserEmailEmpty = (): string => {\n // Clear prior error\n this.props.moduleState.setHasError(false);\n this.setState({\n hasCheckoutError: false\n });\n return '';\n };\n\n private readonly isEmailValid = (email: string): boolean => {\n return EmailRegex.defaultRegex.test(email);\n };\n\n private readonly updateGuestProfile = async (newGuestCheckoutEmail: string): Promise => {\n if (this.props.data.checkout.result) {\n await this.props.data.checkout.result.updateGuestCheckoutEmail({ newGuestCheckoutEmail });\n this.setState({ email: newGuestCheckoutEmail });\n }\n };\n\n private readonly onEdit = (): void => {\n this.props.telemetry.information('Guest profile onEdit is called.');\n\n this.props.moduleState.onUpdating();\n };\n\n private readonly onSubmit = async (): Promise => {\n this.props.telemetry.information('Guest profile onSubmit is called.');\n\n const { email } = this.state;\n await this.submitEmail(email);\n };\n\n /**\n * Submit the email address.\n * @param email - The email to be submitted.\n *\n */\n private readonly submitEmail = async (email: string): Promise => {\n const isValid = this.isEmailValid(email);\n if (!isValid) {\n this.props.moduleState.setHasError(true);\n\n const input = this.inputRef.current?.focus && (this.inputRef.current as HTMLElement);\n input?.focus();\n } else {\n this.props.moduleState.onReady();\n await this.updateGuestProfile(email);\n }\n };\n\n private readonly onCancel = (): void => {\n this.props.telemetry.information('Guest profile onCancel is called.');\n\n // Reset to the saved value\n if (!this.props.data.checkout.result) {\n return;\n }\n\n const email = this.props.data.checkout.result.guestCheckoutEmail;\n if (!email) {\n // It has no saved email, set to status updating and request user to fill the email form\n this.props.moduleState.onUpdating();\n } else {\n // It has saved email, set to status ready\n this.setState({\n email\n });\n this.props.moduleState.setHasError(false);\n this.setState({\n hasCheckoutError: false\n });\n this.props.moduleState.onReady();\n }\n };\n\n @action\n private readonly _setErrorMessage = (errorMessage: string): void => {\n this.props.telemetry.error(errorMessage);\n this.props.moduleState.setHasError(true);\n this.props.moduleState.onUpdating();\n this.setState({\n hasCheckoutError: true,\n errorMessage\n });\n };\n}\n\nexport default CheckoutGuestProfile;\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 { IAddContactInfo, ICheckoutGuestProfileViewProps, IShowContactInfo } from './checkout-guest-profile';\n\nexport const ShowContactInfo: React.FC = ({ showInfoProps, email, editButton }) => (\n \n {email}\n {editButton}\n \n);\n\nexport const AddContactInfo: React.FC = ({\n addFormProps,\n submitButton,\n cancelButton,\n inputGroupProps,\n label,\n error,\n input\n}) => (\n \n \n {label}\n {error}\n {input}\n \n {submitButton}\n {cancelButton}\n \n);\n\nconst CheckoutGuestProfileView: React.FC = ({\n moduleProps,\n checkoutErrorRef,\n alert,\n showContactInfo,\n addContactInfo\n}) => {\n return (\n \n {alert}\n {showContactInfo && }\n {addContactInfo && }\n \n );\n};\n\nexport default CheckoutGuestProfileView;\n","module.exports = React;","module.exports = ReactDOM;"],"names":["binding","modules","dataActions","registerSanitizedActionPath","sanitizedActionPath","dataAction","default","Error","prototype","RegistrationId","id","c","require","$type","da","name","path","runOn","iNM","ns","n","p","pdp","md","window","__bindings__","_objectSpread","viewDictionary","cn","_ref","hasError","inputRef","email","canSubmit","canCancel","onChange","onSubmit","onCancel","resources","emailLabel","emailErrortext","saveBtnLabel","cancelBtnLabel","onInputChange","event","target","value","onInputChangeHandler","addFormProps","className","submitButton","React","Button","title","color","onClick","cancelButton","inputGroupProps","classnames","label","error","role","input","ref","type","canEdit","editBtnLabel","onEdit","showInfoProps","editButton","CheckoutGuestProfile","constructor","state","this","props","context","request","user","isAuthenticated","emailAddress","checkoutErrorRef","init","async","_this$props$data$acco","_this$props$context$r","checkoutState","data","checkout","result","customerAccountInformation","accountInformation","hasInvoiceLine","checkoutCart","updateEmail","Msdyn365","undefined","Email","setErrorMsgOboUserEmailEmpty","emailOnCart","cart","ReceiptEmail","isExpressCheckoutApplied","StringExtensions","isNullOrEmpty","emailAddressFromExpressCheckout","isEmailValid","moduleState","status","updateGuestProfile","updateHasGuestCheckoutEmail","newHasGuestCheckoutEmail","rowEmail","replace","RegExp","setState","setHasError","hasCheckoutError","EmailRegex","defaultRegex","test","updateGuestCheckoutEmail","newGuestCheckoutEmail","telemetry","information","onUpdating","submitEmail","onReady","_this$inputRef$curren","current","focus","guestCheckoutEmail","_setErrorMessage","errorMessage","componentDidMount","_this$props$data$chec5","when","isDataReady","reaction","_this$props$data$chec","_this$props$data$chec2","_this$props$data$chec3","_this$props$data$chec4","isEmailFromExpressCheckoutDifferent","isExpressAddressApplied","shouldEnableCheckoutErrorDisplayMessaging","_this$props$data$chec6","checkoutError","errorLocation","ErrorLocation","_this$props$data$chec7","checkoutErrorFocus","CheckoutModule","focusOnCheckoutError","actionContext","shouldComponentUpdate","nextProps","nextState","render","_this$props$data$chec8","_this$props$data$chec9","config","isReady","hasExternalSubmitGroup","viewProps","moduleProps","alert","ErrorComponent","Object","assign","errorMessageTitle","message","showContactInfo","getShowContactInfo","addContactInfo","getAddContactInfo","hasEmailError","renderView","__decorate","computed","action","withModuleState","observer","ShowContactInfo","Node","AddContactInfo","_ref2","_ref3","Module","module","exports","ReactDOM"],"sourceRoot":""}