{"version":3,"file":"static/js/a4519805f64c585b1acd.bundle.js","mappings":"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","sources":["webpack://morland-ecommerce/./lib/checkout-guest-profile/module-registration.js?4b3c","webpack://morland-ecommerce/./src/modules/checkout-guest-profile/checkout-guest-profile.tsx?c2ce","webpack://morland-ecommerce/./src/modules/checkout-guest-profile/checkout-guest-profile.view.tsx?2e47","webpack://morland-ecommerce/./src/modules/checkout-guest-profile/components/get-add-contact-info.tsx?c9f6","webpack://morland-ecommerce/./src/modules/checkout-guest-profile/components/get-show-contact-info.tsx?e9b5","webpack://morland-ecommerce/external var \"React\"?0d3b","webpack://morland-ecommerce/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 * 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","/*!\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","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","CheckoutGuestProfile","React","constructor","state","email","this","props","context","request","user","isAuthenticated","emailAddress","inputRef","checkoutErrorRef","init","async","_this$props$data$acco","_this$props$context$r","_ref","checkoutState","data","checkout","result","customerAccountInformation","accountInformation","hasInvoiceLine","checkoutCart","updateEmail","Msdyn365","undefined","Email","setErrorMsgOboUserEmailEmpty","emailOnCart","cart","ReceiptEmail","isExpressCheckoutApplied","StringExtensions","isNullOrEmpty","emailAddressFromExpressCheckout","isEmailValid","moduleState","onEdit","onCancel","onSubmit","status","hasError","updateGuestProfile","updateHasGuestCheckoutEmail","newHasGuestCheckoutEmail","onChange","rowEmail","replace","RegExp","setState","setHasError","hasCheckoutError","EmailRegex","defaultRegex","test","updateGuestCheckoutEmail","newGuestCheckoutEmail","telemetry","information","onUpdating","submitEmail","onReady","_this$inputRef$curren","input","current","focus","guestCheckoutEmail","_setErrorMessage","errorMessage","error","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","className","resources","isReady","hasExternalSubmitGroup","viewProps","moduleProps","classnames","alert","ErrorComponent","Object","assign","title","errorMessageTitle","message","showContactInfo","getShowContactInfo","canEdit","addContactInfo","getAddContactInfo","hasEmailError","canSubmit","canCancel","renderView","__decorate","computed","action","withModuleState","observer","ShowContactInfo","showInfoProps","editButton","Node","AddContactInfo","_ref2","addFormProps","submitButton","cancelButton","inputGroupProps","label","_ref3","Module","ref","emailLabel","emailErrortext","saveBtnLabel","cancelBtnLabel","onInputChange","event","target","value","onInputChangeHandler","Button","color","onClick","role","type","editBtnLabel","module","exports","ReactDOM"],"sourceRoot":""}