{"version":3,"file":"static/js/9cf1d617feec86dbca56.bundle.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/modules/dlvry-checkout-v2-billing-address/dlvry-checkout-v2-billing-address.tsx?9b8d","webpack://Msdyn365.Commerce.Online/./src/modules/dlvry-checkout-v2-billing-address/dlvry-checkout-v2-billing-address.view.tsx?2e38","webpack://Msdyn365.Commerce.Online/./lib/dlvry-checkout-v2-billing-address/module-registration.js?097c","webpack://Msdyn365.Commerce.Online/external var \"React\"?0d3b","webpack://Msdyn365.Commerce.Online/external var \"ReactDOM\"?853b"],"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\n/* eslint-disable no-duplicate-imports */\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport { CheckoutModule, ErrorLocation, IGiftCardExtend } from '@msdyn365-commerce/global-state';\r\nimport { Address, AddressPurpose, CountryRegionInfo, StateProvinceInfo } from '@msdyn365-commerce/retail-proxy';\r\nimport { IModuleStateProps, withModuleState, EnabledPaymentsForOBO } from '@msdyn365-commerce-modules/checkout-utilities';\r\nimport { getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport { action, computed, observable, reaction, set } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\n\r\nimport { AutoSuggest } from '@msdyn365-commerce-modules/address';\r\nimport { IAutoSuggestOptions } from '@msdyn365-commerce-modules/address';\r\nimport { AddressCommon } from '@msdyn365-commerce-modules/address';\r\nimport { AddressFormat } from '@msdyn365-commerce-modules/address';\r\nimport { AddressItemType } from '@msdyn365-commerce-modules/address';\r\nimport { AddressMetaData } from '@msdyn365-commerce-modules/address';\r\nimport { AddressOperation, AddressType, IAddressResource, IAddressResponse } from '@msdyn365-commerce-modules/address';\r\nimport { AddressAddUpdate, IAddressAddUpdateProps } from '@msdyn365-commerce-modules/address';\r\nimport { AddressBillingCheckbox } from '@msdyn365-commerce-modules/address';\r\nimport { AddressBillingHeading } from '@msdyn365-commerce-modules/address';\r\nimport { AddressShow, IAddressShowProps } from '@msdyn365-commerce-modules/address';\r\nimport { IDlvryCheckoutV2BillingAddressData } from './dlvry-checkout-v2-billing-address.data';\r\nimport { IDlvryCheckoutV2BillingAddressProps } from './dlvry-checkout-v2-billing-address.props.autogenerated';\r\nimport { ErrorComponent } from '@msdyn365-commerce-modules/address';\r\nimport { focusOnCheckoutError } from '@msdyn365-commerce-modules/address';\r\n\r\n/**\r\n * Props interface.\r\n */\r\nexport interface IProps extends IDlvryCheckoutV2BillingAddressProps, IModuleStateProps {}\r\n\r\n/**\r\n * Checkout billing address view state interface.\r\n */\r\nexport interface ICheckoutBillingAddressViewState {\r\n isShowAddress: boolean;\r\n isShowAddOrUpdateAddress: boolean;\r\n isShowSameAsShippingCheckbox: boolean;\r\n errorMessage?: string;\r\n}\r\n\r\n/**\r\n * Checkout billing address view props interface.\r\n */\r\nexport interface ICheckoutBillingAddressViewProps extends IProps {\r\n className: string;\r\n currentOperation: AddressOperation;\r\n selectedAddress?: Address;\r\n addUpdateAddress: Address;\r\n countryRegionId: string;\r\n stateProvinceInfo?: StateProvinceInfo[];\r\n validationError: object;\r\n addressActionResponse?: IAddressResponse;\r\n viewState: ICheckoutBillingAddressViewState;\r\n CheckoutBillingAddress: IModuleProps;\r\n sameAsShippingCheckbox: React.ReactNode;\r\n heading: React.ReactNode;\r\n showAddress: IAddressShowProps;\r\n showAddOrUpdateAddress: IAddressAddUpdateProps;\r\n alert?: React.ReactNode;\r\n checkoutErrorRef?: React.RefObject;\r\n}\r\n\r\n/**\r\n *\r\n * CheckoutBillingAddress component.\r\n * @extends {React.PureComponent>}\r\n */\r\n// @ts-expect-error\r\n@withModuleState\r\n@observer\r\nclass CheckoutBillingAddress extends React.Component {\r\n @observable private currentOperation: AddressOperation;\r\n\r\n @observable private isBillingAddressSameAsShipping: boolean;\r\n\r\n @observable private selectedAddress?: Address;\r\n\r\n @observable private addUpdateAddress: Address;\r\n\r\n @observable private countryRegionId: string = 'USA';\r\n\r\n @observable private stateProvinceInfo?: StateProvinceInfo[];\r\n\r\n @observable private validationError: object;\r\n\r\n @observable private readonly addressActionResponse?: IAddressResponse;\r\n\r\n private readonly addressCommon: AddressCommon;\r\n\r\n private addressFormat: AddressFormat;\r\n\r\n private countryRegions: CountryRegionInfo[] = [];\r\n\r\n private addressPurposes: AddressPurpose[] = [];\r\n\r\n private readonly resources: IAddressResource;\r\n\r\n private readonly defaultAddressType: number = 6; // Default to Home\r\n\r\n // private addRenderRef: React.RefObject;\r\n private readonly telemetryContent?: ITelemetryContent;\r\n\r\n private autoSuggest?: AutoSuggest;\r\n\r\n private readonly checkoutErrorRef: React.RefObject = React.createRef();\r\n\r\n public constructor(props: IProps) {\r\n super(props);\r\n const { context, data, resources, telemetry } = this.props;\r\n\r\n this.addUpdateAddress = {};\r\n this.validationError = {};\r\n this.isBillingAddressSameAsShipping = false;\r\n this.resources = resources;\r\n this.currentOperation = AddressOperation.List;\r\n this.addressPurposes = data.addressPurposes.result || [];\r\n this.countryRegions = data.countryRegions.result || [];\r\n this.stateProvinceInfo = data.countryStates.result || [];\r\n this.addressCommon = new AddressCommon(context, resources, telemetry);\r\n this.addressFormat = new AddressFormat(\r\n this.countryRegions,\r\n new AddressMetaData({ ...resources }, this._getAddressFormatExcludeList()),\r\n this.addressPurposes\r\n );\r\n this.telemetryContent = getTelemetryObject(\r\n this.props.context.request.telemetryPageName!,\r\n this.props.friendlyName,\r\n this.props.telemetry\r\n );\r\n\r\n this.state = {\r\n isShowAddress: false,\r\n isShowAddOrUpdateAddress: false,\r\n isShowSameAsShippingCheckbox: false,\r\n errorMessage: ''\r\n };\r\n\r\n // This.addRenderRef = React.createRef();\r\n }\r\n\r\n public async componentDidMount(): Promise {\r\n const {\r\n context: {\r\n telemetry,\r\n actionContext: {\r\n requestContext: { channel }\r\n }\r\n },\r\n config: { autoSuggestionEnabled, autoSuggestOptions }\r\n } = this.props;\r\n\r\n // Initializing data props\r\n this._dataInitialize(this.props);\r\n\r\n void this.props.data.checkout.then(() => {\r\n this._setDefaultCountryRegionId();\r\n this._initModuleState();\r\n });\r\n\r\n reaction(\r\n () => this.countryRegionId,\r\n () => {\r\n this._getStateProvinces();\r\n }\r\n );\r\n\r\n reaction(\r\n () => this.currentOperation,\r\n () => {\r\n this._getStateProvinces();\r\n }\r\n );\r\n\r\n reaction(\r\n () => this.props.data.checkout.result && this.props.data.checkout.result.shippingAddress,\r\n shippingAddress => {\r\n if (this.props.moduleState.isUpdating) {\r\n if (shippingAddress && this.isBillingAddressSameAsShipping) {\r\n this.isBillingAddressSameAsShipping = true;\r\n this._updateCurrentOperation(AddressOperation.Show, shippingAddress);\r\n } else if (shippingAddress && this.isBillingAddressSameAsShipping) {\r\n this._updateCurrentOperation(AddressOperation.Show, shippingAddress);\r\n }\r\n }\r\n }\r\n );\r\n\r\n reaction(\r\n () => this.isBillingAddressRequried,\r\n isBillingAddressRequried => {\r\n if (isBillingAddressRequried) {\r\n if (this.props.moduleState.isDisabled) {\r\n this.onEdit();\r\n }\r\n } else {\r\n this.props.data.checkout.result?.removeBillingAddress({});\r\n this.props.moduleState.onDisable();\r\n }\r\n }\r\n );\r\n\r\n if (autoSuggestionEnabled) {\r\n if (channel && !channel.BingMapsApiKey) {\r\n telemetry.error('BingMapsApiKey is missing.');\r\n return;\r\n }\r\n\r\n if (channel && !channel.BingMapsEnabled) {\r\n telemetry.error('Map is disabled from HQ.');\r\n return;\r\n }\r\n\r\n const options: IAutoSuggestOptions = { ...autoSuggestOptions };\r\n this.autoSuggest = new AutoSuggest(\r\n telemetry,\r\n options,\r\n channel?.BingMapsApiKey,\r\n channel?.ChannelCountryRegionISOCode,\r\n channel?.DefaultLanguageId\r\n );\r\n\r\n // Customer doesn't have any address. Then add view will be loaded directly. Code for the same to handle that\r\n if (\r\n this.props.data.storeSelectorStateManager.result &&\r\n (this.currentOperation === AddressOperation.Add || this.currentOperation === AddressOperation.Update)\r\n ) {\r\n await this.autoSuggest._loadMapAPI(await this.props.data.storeSelectorStateManager);\r\n }\r\n\r\n reaction(\r\n () =>\r\n this.props.data.storeSelectorStateManager.result?.loadMapApi &&\r\n (this.currentOperation === AddressOperation.Add || this.currentOperation === AddressOperation.Update),\r\n async () => {\r\n await this.autoSuggest?._loadMapAPI(await this.props.data.storeSelectorStateManager);\r\n }\r\n );\r\n\r\n reaction(\r\n () => this.props.data.storeSelectorStateManager.result?.isMapApiLoaded,\r\n async () => {\r\n await this._attachMapAutoSuggest();\r\n }\r\n );\r\n }\r\n\r\n if (this.props.data.checkout.result?.shouldEnableCheckoutErrorDisplayMessaging) {\r\n reaction(\r\n () => this.props.data.checkout.result?.checkoutError,\r\n checkoutError => {\r\n if (\r\n checkoutError &&\r\n checkoutError.errorLocation === ErrorLocation.CheckoutBillingAddress &&\r\n checkoutError.errorMessage\r\n ) {\r\n this._setErrorMessage(checkoutError.errorMessage);\r\n }\r\n }\r\n );\r\n\r\n reaction(\r\n () => this.props.data.checkout.result?.checkoutErrorFocus,\r\n checkoutErrorFocus => {\r\n if (checkoutErrorFocus === CheckoutModule.CheckoutBillingAddress) {\r\n void focusOnCheckoutError(this.checkoutErrorRef, this.props.context.actionContext);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n public async componentDidUpdate(): Promise {\r\n if (this.currentOperation === AddressOperation.Add || this.currentOperation === AddressOperation.Update) {\r\n if (this.props.data.storeSelectorStateManager.result?.isMapApiLoaded) {\r\n await this._attachMapAutoSuggest();\r\n }\r\n } else {\r\n this.autoSuggest?.disposeAutoSuggest();\r\n }\r\n }\r\n\r\n public shouldComponentUpdate(\r\n nextProps: IDlvryCheckoutV2BillingAddressProps,\r\n nextState: ICheckoutBillingAddressViewState\r\n ): 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 | null {\r\n if (!this.isBillingAddressRequried || this._shouldHideBillingAddressForOBO) {\r\n return null;\r\n }\r\n\r\n const {\r\n resources,\r\n moduleState: { hasError }\r\n } = this.props;\r\n\r\n const { renderView, config } = this.props;\r\n\r\n const errorMessage = this.state.errorMessage;\r\n\r\n const viewProps = {\r\n ...this.props,\r\n currentOperation: this.currentOperation,\r\n selectedAddress: this.selectedAddress,\r\n addUpdateAddress: this.addUpdateAddress,\r\n countryRegionId: this.countryRegionId,\r\n stateProvinceInfo: this.stateProvinceInfo,\r\n validationError: this.validationError,\r\n addressActionResponse: this.addressActionResponse,\r\n className: config.className,\r\n viewState: {\r\n isShowAddress: this.selectedAddress && this.currentOperation === AddressOperation.Show,\r\n isShowAddOrUpdateAddress: this.currentOperation !== AddressOperation.Show,\r\n isShowSameAsShippingCheckbox: this.isCartContainsItemsForShipping && this.props.moduleState.isUpdating\r\n },\r\n CheckoutBillingAddress: {\r\n moduleProps: this.props,\r\n className: classnames('ms-checkout-billing-address', config.className)\r\n },\r\n heading: ,\r\n alert: hasError && errorMessage && ,\r\n checkoutErrorRef: this.checkoutErrorRef,\r\n\r\n sameAsShippingCheckbox: (\r\n \r\n ),\r\n showAddress: this._renderShowAddress(),\r\n showAddOrUpdateAddress: this._renderAddOrUpdateAddress()\r\n };\r\n\r\n return renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n /**\r\n * On suggestion selected.\r\n * @param result - The suggestion result.\r\n */\r\n @action\r\n private readonly _onSuggestionSelected = async (result: Microsoft.Maps.ISuggestionResult): Promise => {\r\n this._clearAddressFields();\r\n const address = this.addressFormat.getTranformedAddress(result, this.stateProvinceInfo);\r\n set(this.addUpdateAddress, { Street: '' });\r\n set(this.addUpdateAddress, { ZipCode: address.ZipCode });\r\n set(this.addUpdateAddress, { CountyName: address.CountyName });\r\n set(this.addUpdateAddress, { City: address.City });\r\n set(this.addUpdateAddress, { State: address.State });\r\n set(this.addUpdateAddress, { DistrictName: address.DistrictName });\r\n set(this.addUpdateAddress, { FullAddress: address.FullAddress });\r\n\r\n // Bing autosuggest put the complete address in the Street input box. Updating the street input box to show only street address.\r\n setTimeout(() => {\r\n set(this.addUpdateAddress, { Street: address.Street });\r\n }, 0);\r\n };\r\n\r\n /**\r\n * Clear address fields.\r\n */\r\n @action\r\n private readonly _clearAddressFields = (): void => {\r\n const addressFormatItem = this.addressFormat.getAddressFormat(\r\n this.addUpdateAddress.ThreeLetterISORegionName || this.countryRegionId\r\n );\r\n addressFormatItem.forEach(format => {\r\n if (this.addUpdateAddress[format.name] !== undefined && !this.autoSuggest?.excludedAddressFields.includes(format.name)) {\r\n this.addressFormat[format.name] = '';\r\n }\r\n });\r\n this._clearValidation();\r\n };\r\n\r\n /**\r\n * Clear validation.\r\n */\r\n @action\r\n private readonly _clearValidation = (): void => {\r\n this.validationError = {};\r\n };\r\n\r\n /**\r\n * On address update.\r\n * @param name - Name.\r\n * @param value - Value.\r\n */\r\n private readonly onAddressAddUpdate = (name: string, value: string) => {\r\n set(this.addUpdateAddress, { [name]: value });\r\n this.addressFormat.validateAddressFormat(this.addUpdateAddress, this.validationError, this.countryRegionId, name);\r\n };\r\n\r\n /**\r\n * Method data initialization.\r\n * @param props -The checkout address properties.\r\n */\r\n private readonly _dataInitialize = (props: IProps): void => {\r\n const { data } = props;\r\n\r\n reaction(\r\n () => data.countryRegions.result,\r\n () => {\r\n this.countryRegions = data.countryRegions.result ?? [];\r\n }\r\n );\r\n\r\n reaction(\r\n () => data.addressPurposes.result,\r\n () => {\r\n this.addressPurposes = data.addressPurposes.result ?? [];\r\n }\r\n );\r\n\r\n reaction(\r\n () => data.countryStates.result,\r\n () => {\r\n this.stateProvinceInfo = data.countryStates.result ?? [];\r\n }\r\n );\r\n };\r\n\r\n /**\r\n * Render add or update address function.\r\n * @returns - Address add update props.\r\n */\r\n private readonly _renderAddOrUpdateAddress = (): IAddressAddUpdateProps => {\r\n return AddressAddUpdate({\r\n resources: this.resources,\r\n addressType: AddressType.Billing,\r\n addressFormat: this.addressFormat.getAddressFormat(this.addUpdateAddress.ThreeLetterISORegionName ?? this.countryRegionId),\r\n defaultCountryRegionId: this.countryRegionId,\r\n defaultAddressType: this.defaultAddressType,\r\n selectedAddress: this.addUpdateAddress,\r\n validationError: this.validationError,\r\n addressActionResponse: this.addressActionResponse,\r\n dropdownDisplayData: this.addressFormat.getPrefilledAddressDropdownData(\r\n this.resources.addressStateDefaultSelectionText,\r\n this.stateProvinceInfo\r\n ),\r\n telemetryContent: this.telemetryContent,\r\n onInputChange: this._onAddressAddUpdateInputChange,\r\n onDropdownChange: this._onAddressAddUpdateDropdownChange,\r\n hasExternalSubmitGroup: this.props.moduleState.hasExternalSubmitGroup,\r\n onSave: this._onSubmitAddress,\r\n onCancel: this._resetView\r\n });\r\n };\r\n\r\n private _renderShowAddress(): IAddressShowProps | null {\r\n if (this.selectedAddress) {\r\n return AddressShow({\r\n address: this.selectedAddress,\r\n addressFormat: this.addressFormat.getAddressFormat(this.selectedAddress.ThreeLetterISORegionName ?? ''),\r\n addressPurposes: this.addressPurposes\r\n });\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * On country region change function.\r\n * @param countryRegionId - Country region Id.\r\n */\r\n private readonly _onCountryChange = (countryRegionId: string) => {\r\n this.countryRegionId = countryRegionId;\r\n const twoLetterIsoRegionName = this.addressFormat.getTwoLetterISORegionName(countryRegionId);\r\n set(this.addUpdateAddress, { ThreeLetterISORegionName: countryRegionId });\r\n set(this.addUpdateAddress, { TwoLetterISORegionName: twoLetterIsoRegionName });\r\n this.autoSuggest?.changeAutoSuggestionCountryCode(twoLetterIsoRegionName);\r\n this._clearAddressFields();\r\n };\r\n\r\n /**\r\n * Gets address format for exclude list.\r\n * @returns - Address item type.\r\n */\r\n private readonly _getAddressFormatExcludeList = (): AddressItemType[] => {\r\n const { config } = this.props;\r\n const addressFormatExcludeList: AddressItemType[] = [];\r\n\r\n if (!config.showAddressType) {\r\n addressFormatExcludeList.push(AddressItemType.AddressTypeValue);\r\n }\r\n\r\n addressFormatExcludeList.push(AddressItemType.IsPrimary);\r\n\r\n return addressFormatExcludeList;\r\n };\r\n\r\n /**\r\n * Attach map auto suggest.\r\n */\r\n private readonly _attachMapAutoSuggest = async (): Promise => {\r\n const {\r\n data: {\r\n storeSelectorStateManager: { result: storeSelectorStateManager }\r\n }\r\n } = this.props;\r\n\r\n if (storeSelectorStateManager?.isMapApiLoaded) {\r\n this.autoSuggest?.attachAutoSuggest('#billing_addressstreet', '#billing_addressstreet_container', this._onSuggestionSelected);\r\n }\r\n };\r\n\r\n /**\r\n * On address add update input change.\r\n * @param event - The event.\r\n */\r\n private readonly _onAddressAddUpdateInputChange = (event: React.ChangeEvent): void => {\r\n const value = (event.target.value || '').replace(new RegExp('[<>]', 'gi'), '');\r\n this.onAddressAddUpdate(event.target.name, value);\r\n };\r\n\r\n /**\r\n * On address add update dropdown change.\r\n * @param event - The event.\r\n */\r\n private readonly _onAddressAddUpdateDropdownChange = (event: React.ChangeEvent): void => {\r\n this.onAddressAddUpdate(event.target.name, event.target.value);\r\n\r\n if (event.target.name === AddressItemType[AddressItemType.ThreeLetterISORegionName]) {\r\n this._onCountryChange(event.target.value);\r\n }\r\n };\r\n\r\n /**\r\n * Gets state provinces.\r\n */\r\n private readonly _getStateProvinces = (): void => {\r\n if (\r\n !this.countryRegionId ||\r\n !(this.currentOperation === AddressOperation.Add || this.currentOperation === AddressOperation.Update)\r\n ) {\r\n return;\r\n }\r\n\r\n void this.addressCommon.getStateProvinces(this.countryRegionId).then((result: StateProvinceInfo[]) => {\r\n const stateInfo = result.some(state => state.StateId === this.addUpdateAddress.State);\r\n\r\n // Reset state if selected state not found in the list.\r\n if (!stateInfo) {\r\n set(this.addUpdateAddress, { State: '' });\r\n }\r\n this.stateProvinceInfo = result;\r\n });\r\n };\r\n\r\n /**\r\n * Initialize module state.\r\n */\r\n private readonly _initModuleState = (): void => {\r\n this.props.moduleState.init({\r\n status: this.isBillingAddressRequried ? 'updating' : 'disabled',\r\n onEdit: this.onEdit,\r\n onCancel: this.onCancel,\r\n onSubmit: this.onSubmit\r\n });\r\n\r\n const { billingAddress, isBillingAddressSameAsShippingAddress } = this.props.data.checkout.result ?? {};\r\n\r\n if (this.isBillingAddressRequried) {\r\n if (billingAddress) {\r\n this.isBillingAddressSameAsShipping = isBillingAddressSameAsShippingAddress ?? false;\r\n this._updateCurrentOperation(AddressOperation.Show, billingAddress);\r\n this._updateModuleState();\r\n } else if (this.isCartContainsItemsForShipping) {\r\n this.isBillingAddressSameAsShipping = true;\r\n this._updateCurrentOperation(AddressOperation.Show, this.shippingAddress);\r\n } else {\r\n this.isBillingAddressSameAsShipping = false;\r\n this._updateCurrentOperation(AddressOperation.Add);\r\n }\r\n }\r\n };\r\n\r\n /**\r\n * Sets default country region Id.\r\n */\r\n private _setDefaultCountryRegionId(): void {\r\n const { request } = this.props.context;\r\n const market = request.channel?.ChannelCountryRegionISOCode;\r\n\r\n this.countryRegionId = this.addressCommon.getDefaultCountryRegionId(this.countryRegionId, this.countryRegions, market);\r\n }\r\n\r\n /**\r\n * On change - Billing address same as shipping.\r\n * @param event - The event.\r\n */\r\n private readonly _onBillingAddressSameAsShippingChange = (event: React.ChangeEvent) => {\r\n this.isBillingAddressSameAsShipping = event.currentTarget.checked;\r\n\r\n if (this.isBillingAddressSameAsShipping && this.shippingAddress) {\r\n this._updateCurrentOperation(AddressOperation.Show, this.shippingAddress);\r\n } else {\r\n this._updateCurrentOperation(AddressOperation.Add, this.billingAddress);\r\n }\r\n };\r\n\r\n @computed private get isCartContainsItemsForShipping(): boolean {\r\n const { request } = this.props.context;\r\n const multiplePickupStoreSwitchName = 'Dynamics.AX.Application.RetailMultiplePickupDeliveryModeFeature';\r\n const { channelDeliveryOptionConfig, featureState } = this.props.data;\r\n const retailMultiplePickUpOptionEnabled = featureState.result?.find(feature => feature.Name === multiplePickupStoreSwitchName)\r\n ?.IsEnabled;\r\n\r\n const pickupDeliveryModeCode = request.channel?.PickupDeliveryModeCode;\r\n const emailDeliveryModeCode = request.channel?.EmailDeliveryModeCode;\r\n\r\n // If hasInvoiceLine is true, there are only invoices no items in cart and return false here\r\n return this.props.data.checkout.result?.checkoutCart.hasInvoiceLine\r\n ? false\r\n : retailMultiplePickUpOptionEnabled\r\n ? ((this.props.data.checkout.result && this.props.data.checkout.result.checkoutCart.cart.CartLines) || []).some(cartLine =>\r\n cartLine.DeliveryMode && cartLine.DeliveryMode !== ''\r\n ? cartLine.DeliveryMode !==\r\n channelDeliveryOptionConfig.result?.PickupDeliveryModeCodes?.find(\r\n deliveryMode => deliveryMode === cartLine.DeliveryMode\r\n ) && cartLine.DeliveryMode !== emailDeliveryModeCode\r\n : cartLine\r\n )\r\n : ((this.props.data.checkout.result && this.props.data.checkout.result.checkoutCart.cart.CartLines) || []).some(cartLine =>\r\n cartLine.DeliveryMode && cartLine.DeliveryMode !== ''\r\n ? cartLine.DeliveryMode !== pickupDeliveryModeCode && cartLine.DeliveryMode !== emailDeliveryModeCode\r\n : cartLine\r\n );\r\n }\r\n\r\n @computed private get billingAddress(): Address | undefined {\r\n return this.props.data.checkout.result?.billingAddress;\r\n }\r\n\r\n @computed private get shippingAddress(): Address | undefined {\r\n return this.props.data.checkout.result?.shippingAddress;\r\n }\r\n\r\n @computed private get getLoyaltyAmount(): number {\r\n const checkoutState = this.props.data.checkout.result;\r\n return checkoutState?.loyaltyAmount ? checkoutState.loyaltyAmount : 0;\r\n }\r\n\r\n @computed private get getGiftCardTotalAmount(): number {\r\n const checkoutState = this.props.data.checkout.result;\r\n if (!checkoutState || !checkoutState.giftCardExtends) {\r\n return 0;\r\n }\r\n return checkoutState.giftCardExtends.reduce((count: number, giftCard: IGiftCardExtend) => {\r\n return count + (giftCard.Balance || 0);\r\n }, 0);\r\n }\r\n\r\n @computed private get getCustomerAccountAmount(): number {\r\n const checkoutState = this.props.data.checkout.result;\r\n const defaultAmount = 0;\r\n\r\n return checkoutState?.customerAccountAmount ?? defaultAmount;\r\n }\r\n\r\n @computed private get shouldPaidByCard(): boolean {\r\n const {\r\n data: { checkout },\r\n config\r\n } = this.props;\r\n if (!checkout.result) {\r\n return false;\r\n }\r\n\r\n const checkoutResult = checkout.result;\r\n const cart = checkoutResult.checkoutCart.cart;\r\n if (!cart || !cart.CartLines || cart.CartLines.length === 0) {\r\n return false;\r\n }\r\n\r\n const { paymentTenderType, tokenizedPaymentCard } = checkoutResult;\r\n const isPaidByOtherPaymentSource = config.paymenTenderType !== paymentTenderType && tokenizedPaymentCard;\r\n\r\n // Use payment card when it is not free or gift card balance + Loyalty amount can not cover the total amount\r\n const amountDue = (cart.TotalAmount || 0) - this.getGiftCardTotalAmount - this.getLoyaltyAmount - this.getCustomerAccountAmount;\r\n\r\n return amountDue > 0 && !isPaidByOtherPaymentSource;\r\n }\r\n\r\n @computed private get isBillingAddressRequried(): boolean {\r\n return (\r\n this.shouldPaidByCard &&\r\n (!this.props.data.checkout?.result?.isPaymentVerificationRedirection ||\r\n !!this.props.data.checkout?.result?.isCheckoutCallFailed)\r\n );\r\n }\r\n\r\n @computed private get _shouldHideBillingAddressForOBO(): boolean {\r\n return Msdyn365.isOboRequest(this.props.context.request) && EnabledPaymentsForOBO.PaymentInstrument === 0;\r\n }\r\n\r\n /**\r\n * On submit address.\r\n */\r\n private readonly _onSubmitAddress = (): void => {\r\n if (!this.addressFormat.validateAddressFormat(this.addUpdateAddress, this.validationError, this.countryRegionId)) {\r\n this.props.moduleState.setHasError(true);\r\n\r\n if (\r\n this.props.data.checkout.result?.shouldEnableSinglePaymentAuthorizationCheckout &&\r\n this.props.data.checkout.result?.isPaymentSectionContainerHasError\r\n ) {\r\n void this.props.data.checkout.result.updateIsBillingAddressHasError({ newIsBillingAddressHasError: true });\r\n }\r\n\r\n return;\r\n }\r\n\r\n this._setBillingAddress(this.addUpdateAddress);\r\n this._updateCurrentOperation(AddressOperation.Show, this.addUpdateAddress);\r\n this._updateModuleState();\r\n };\r\n\r\n /**\r\n * On submit.\r\n */\r\n private readonly onSubmit = (): void => {\r\n switch (this.currentOperation) {\r\n case AddressOperation.Add:\r\n case AddressOperation.Update:\r\n this.props.telemetry.information('Billing address submit for Add or Update operation.');\r\n this._onSubmitAddress();\r\n break;\r\n case AddressOperation.Show:\r\n this.props.telemetry.information('Billing address submit for Show operation.');\r\n if (this.selectedAddress) {\r\n this._setBillingAddress(this.selectedAddress);\r\n this._updateCurrentOperation(AddressOperation.Show, this.selectedAddress);\r\n this._updateModuleState();\r\n }\r\n break;\r\n default:\r\n this.props.telemetry.error('Invalid operation');\r\n }\r\n };\r\n\r\n /**\r\n * On cancel.\r\n */\r\n private readonly onCancel = (): void => {\r\n switch (this.currentOperation) {\r\n case AddressOperation.Add:\r\n case AddressOperation.Update:\r\n this.props.telemetry.information('Billing address cancel for Add or Update operation.');\r\n this._resetView();\r\n this._clearAddressFields();\r\n break;\r\n case AddressOperation.Show:\r\n this.props.telemetry.information('Billing address cancel for Show operation.');\r\n this._resetView();\r\n break;\r\n default:\r\n this.props.telemetry.error('Invalid operation');\r\n }\r\n };\r\n\r\n /**\r\n * On edit.\r\n */\r\n private readonly onEdit = (): void => {\r\n this.props.telemetry.information('Billing address onEdit is called.');\r\n\r\n if (this.isBillingAddressSameAsShipping && this.shippingAddress && this.isCartContainsItemsForShipping) {\r\n this._updateCurrentOperation(AddressOperation.Show, this.shippingAddress);\r\n } else {\r\n this._updateCurrentOperation(AddressOperation.Add, this.billingAddress);\r\n }\r\n this.props.moduleState.onUpdating();\r\n };\r\n\r\n /**\r\n * Sets billing address.\r\n * @param address - The address.\r\n */\r\n private readonly _setBillingAddress = (address: Address): void => {\r\n if (this.props.data.checkout.result) {\r\n const newBillingAddress = { ...address };\r\n\r\n if (address.ThreeLetterISORegionName && !newBillingAddress.TwoLetterISORegionName) {\r\n newBillingAddress.TwoLetterISORegionName = this.addressFormat.getTwoLetterISORegionName(address.ThreeLetterISORegionName);\r\n }\r\n\r\n void this.props.data.checkout.result.updateBillingAddress({\r\n newBillingAddress,\r\n additionalProperties: {\r\n isBillingAddressSameAsShippingAddress: this.isBillingAddressSameAsShipping\r\n }\r\n });\r\n }\r\n };\r\n\r\n /**\r\n * Reset view.\r\n */\r\n private readonly _resetView = () => {\r\n this._updateCurrentOperation(AddressOperation.Show, this.billingAddress);\r\n this._updateModuleState();\r\n };\r\n\r\n /**\r\n * Update current operation.\r\n * @param operation - Address operation\r\n * @param selectedAddress - The selected address.\r\n */\r\n private readonly _updateCurrentOperation = (operation: AddressOperation, selectedAddress?: Address) => {\r\n this.currentOperation = operation;\r\n this.selectedAddress = selectedAddress;\r\n\r\n if (this.currentOperation === AddressOperation.Add || this.currentOperation === AddressOperation.Update) {\r\n this.addUpdateAddress = { ...this.selectedAddress } || {};\r\n set(this.addUpdateAddress, {\r\n ThreeLetterISORegionName: this.addUpdateAddress.ThreeLetterISORegionName || this.countryRegionId\r\n });\r\n set(this.addUpdateAddress, { AddressTypeValue: this.addUpdateAddress.AddressTypeValue || this.defaultAddressType });\r\n }\r\n };\r\n\r\n /**\r\n * Updates the module state.\r\n */\r\n private readonly _updateModuleState = () => {\r\n if (this.currentOperation === AddressOperation.Show) {\r\n this.props.moduleState.onReady();\r\n } else {\r\n this.props.moduleState.onUpdating();\r\n }\r\n };\r\n\r\n @action\r\n private readonly _setErrorMessage = (errorMessage: string): void => {\r\n this.props.telemetry.error(errorMessage);\r\n this.props.moduleState.setHasError(true);\r\n this.props.moduleState.onUpdating();\r\n this.setState({\r\n errorMessage\r\n });\r\n };\r\n}\r\n\r\nexport default CheckoutBillingAddress;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\n/* eslint-disable no-duplicate-imports */\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAddressAddItem, IAddressAddUpdateProps } from '@msdyn365-commerce-modules/address';\nimport { IAddressShowItem, IAddressShowProps } from '@msdyn365-commerce-modules/address';\nimport { ICheckoutBillingAddressViewProps } from './dlvry-checkout-v2-billing-address';\n\n/**\n * Address show component.\n * @param param0 - Root param.\n * @param param0.AddressDetail - Address detail.\n * @param param0.items - IAddressShowItem[].\n * @returns - Address Node.\n */\nconst AddressShow: React.FC = ({ AddressDetail, items }) => {\n return (\n \n {items.map((item: IAddressShowItem) => {\n return <>{item.description};\n })}\n \n );\n};\n\n/**\n * Address Add Update Component.\n * @param param0 - Root param.\n * @param param0.AddressForm - Address form.\n * @param param0.heading - Address Heading.\n * @param param0.items - IAddressAddItem[].\n * @param param0.hasError - Boolean.\n * @param param0.error - IAddressError.\n * @param param0.isShowSaveButton - Boolean.\n * @param param0.saveButton - Save button.\n * @param param0.isShowCancelButton - Boolean.\n * @param param0.cancelButton - Cancel button.\n * @returns - AddressForm Node.\n */\nconst AddressAddUpdate: React.FC = ({\n AddressForm,\n heading,\n items,\n hasError,\n error,\n isShowSaveButton,\n saveButton,\n isShowCancelButton,\n cancelButton\n}) => {\n return (\n \n {items.map((item: IAddressAddItem) => {\n const { AddressItem, key, label, alert, input } = item;\n return (\n \n {label}\n {alert}\n {input}\n \n );\n })}\n {hasError && (\n \n {error.title}\n {error.message}\n \n )}\n {isShowSaveButton && saveButton}\n {isShowCancelButton && cancelButton}\n \n );\n};\n\n/**\n * Checkout Billing Address View Component.\n * @param props - Props.\n * @returns - CheckoutBillingAddress Module.\n */\nconst CheckoutBillingAddressView: React.FC = props => {\n const {\n CheckoutBillingAddress,\n checkoutErrorRef,\n alert,\n viewState,\n showAddress,\n showAddOrUpdateAddress\n } = props;\n\n return (\n \n {alert}\n {viewState.isShowAddress && }\n {viewState.isShowAddOrUpdateAddress && }\n \n );\n};\n\nexport default CheckoutBillingAddressView;\n","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['dlvry-checkout-v2-billing-address'] = {\n c: () => require('partner/modules/dlvry-checkout-v2-billing-address/dlvry-checkout-v2-billing-address.tsx'),\n $type: 'contentModule',\n da: [{name:'addressPurposes', path:'@msdyn365-commerce-modules/address/dist/lib/actions/get-address-purposes', runOn: 0},{name:'channelDeliveryOptionConfig', path:'@msdyn365-commerce-modules/retail-actions/dist/lib/get-channel-delivery-option-configuration', runOn: 0},{name:'checkout', path:'@msdyn365-commerce/global-state/dist/lib/data-actions/checkout-state-data-action', runOn: 1},{name:'countryRegions', path:'@msdyn365-commerce-modules/address/dist/lib/actions/get-country-regions', runOn: 0},{name:'countryStates', path:'@msdyn365-commerce-modules/address/dist/lib/actions/get-country-state', runOn: 0},{name:'featureState', path:'@msdyn365-commerce-modules/retail-actions/dist/lib/get-feature-state', runOn: 0},{name:'storeSelectorStateManager', path:'@msdyn365-commerce-modules/bopis-utilities/dist/lib/store-selector-state-manager/store-selector-state-manager-data-action', runOn: 1}],\n \n iNM: false,\n ns: '__local__',\n n: 'dlvry-checkout-v2-billing-address',\n p: '__local__',\n \n pdp: '',\n \n \n md: 'src/modules/dlvry-checkout-v2-billing-address'\n });\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/address/dist/lib/actions/get-address-purposes';\n let dataAction = require('@msdyn365-commerce-modules/address/dist/lib/actions/get-address-purposes');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\n }\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/address/dist/lib/actions/get-country-regions';\n let dataAction = require('@msdyn365-commerce-modules/address/dist/lib/actions/get-country-regions');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\n }\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/address/dist/lib/actions/get-country-state';\n let dataAction = require('@msdyn365-commerce-modules/address/dist/lib/actions/get-country-state');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\n }\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/bopis-utilities/dist/lib/store-selector-state-manager/store-selector-state-manager-data-action';\n let dataAction = require('@msdyn365-commerce-modules/bopis-utilities/dist/lib/store-selector-state-manager/store-selector-state-manager-data-action');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\n }\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/retail-actions/dist/lib/get-channel-delivery-option-configuration';\n let dataAction = require('@msdyn365-commerce-modules/retail-actions/dist/lib/get-channel-delivery-option-configuration');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\n }\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/retail-actions/dist/lib/get-feature-state';\n let dataAction = require('@msdyn365-commerce-modules/retail-actions/dist/lib/get-feature-state');\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['__local__|__local__|modules|dlvry-checkout-v2-billing-address|dlvry-checkout-v2-billing-address'] = {\n c: () => require('partner/modules/dlvry-checkout-v2-billing-address/dlvry-checkout-v2-billing-address.view.tsx'),\n cn: '__local__-__local__-dlvry-checkout-v2-billing-address'\n };\nwindow.__bindings__ = window.__bindings__ || {};\nwindow.__bindings__.viewDictionary = {\n ...window.__bindings__.viewDictionary || {},\n ...viewDictionary\n };","module.exports = React;","module.exports = ReactDOM;"],"names":["CheckoutBillingAddress","React","constructor","props","super","countryRegionId","countryRegions","addressPurposes","defaultAddressType","checkoutErrorRef","_onSuggestionSelected","async","this","_clearAddressFields","address","addressFormat","getTranformedAddress","result","stateProvinceInfo","set","addUpdateAddress","Street","ZipCode","CountyName","City","State","DistrictName","FullAddress","setTimeout","getAddressFormat","ThreeLetterISORegionName","forEach","format","_this$autoSuggest","undefined","name","autoSuggest","excludedAddressFields","includes","_clearValidation","validationError","onAddressAddUpdate","value","validateAddressFormat","_dataInitialize","data","reaction","_data$countryRegions$","_data$addressPurposes","countryStates","_data$countryStates$r","_renderAddOrUpdateAddress","_this$addUpdateAddres","AddressAddUpdate","resources","addressType","AddressType","Billing","defaultCountryRegionId","selectedAddress","addressActionResponse","dropdownDisplayData","getPrefilledAddressDropdownData","addressStateDefaultSelectionText","telemetryContent","onInputChange","_onAddressAddUpdateInputChange","onDropdownChange","_onAddressAddUpdateDropdownChange","hasExternalSubmitGroup","moduleState","onSave","_onSubmitAddress","onCancel","_resetView","_onCountryChange","_this$autoSuggest2","twoLetterIsoRegionName","getTwoLetterISORegionName","TwoLetterISORegionName","changeAutoSuggestionCountryCode","_getAddressFormatExcludeList","config","addressFormatExcludeList","showAddressType","push","AddressItemType","AddressTypeValue","IsPrimary","_attachMapAutoSuggest","storeSelectorStateManager","_this$autoSuggest3","isMapApiLoaded","attachAutoSuggest","event","target","replace","RegExp","_getStateProvinces","currentOperation","AddressOperation","Add","Update","addressCommon","getStateProvinces","then","some","state","StateId","_initModuleState","_this$props$data$chec","init","status","isBillingAddressRequried","onEdit","onSubmit","billingAddress","isBillingAddressSameAsShippingAddress","checkout","isBillingAddressSameAsShipping","_updateCurrentOperation","Show","_updateModuleState","isCartContainsItemsForShipping","shippingAddress","_onBillingAddressSameAsShippingChange","currentTarget","checked","_this$props$data$chec2","_this$props$data$chec3","setHasError","shouldEnableSinglePaymentAuthorizationCheckout","isPaymentSectionContainerHasError","updateIsBillingAddressHasError","newIsBillingAddressHasError","_setBillingAddress","telemetry","information","error","onUpdating","newBillingAddress","_objectSpread","updateBillingAddress","additionalProperties","operation","onReady","_setErrorMessage","errorMessage","setState","context","List","AddressCommon","AddressFormat","AddressMetaData","getTelemetryObject","request","telemetryPageName","friendlyName","isShowAddress","isShowAddOrUpdateAddress","isShowSameAsShippingCheckbox","_this$props$data$chec5","actionContext","requestContext","channel","autoSuggestionEnabled","autoSuggestOptions","_setDefaultCountryRegionId","isUpdating","_this$props$data$chec4","isDisabled","removeBillingAddress","onDisable","BingMapsApiKey","BingMapsEnabled","options","AutoSuggest","ChannelCountryRegionISOCode","DefaultLanguageId","_loadMapAPI","_this$props$data$stor","loadMapApi","_this$autoSuggest4","_this$props$data$stor2","shouldEnableCheckoutErrorDisplayMessaging","_this$props$data$chec6","checkoutError","errorLocation","ErrorLocation","_this$props$data$chec7","checkoutErrorFocus","CheckoutModule","focusOnCheckoutError","_this$props$data$stor3","_this$autoSuggest5","disposeAutoSuggest","shouldComponentUpdate","nextProps","nextState","render","_shouldHideBillingAddressForOBO","hasError","renderView","className","viewState","moduleProps","classnames","heading","AddressBillingHeading","Object","assign","text","addressBillingAddressHeading","alert","ErrorComponent","title","errorMessageTitle","message","sameAsShippingCheckbox","AddressBillingCheckbox","isChecked","type","ariaLabel","addressSameAsShippingAddressAriaLabel","addressSameAsShippingAddressText","onChange","showAddress","_renderShowAddress","showAddOrUpdateAddress","_this$selectedAddress","AddressShow","_request$channel","market","getDefaultCountryRegionId","_featureState$result","_request$channel2","_request$channel3","_this$props$data$chec8","channelDeliveryOptionConfig","featureState","retailMultiplePickUpOptionEnabled","find","feature","Name","IsEnabled","pickupDeliveryModeCode","PickupDeliveryModeCode","emailDeliveryModeCode","EmailDeliveryModeCode","checkoutCart","hasInvoiceLine","cart","CartLines","cartLine","_channelDeliveryOptio","DeliveryMode","PickupDeliveryModeCodes","deliveryMode","_this$props$data$chec9","_this$props$data$chec10","checkoutState","loyaltyAmount","giftCardExtends","reduce","count","giftCard","Balance","_checkoutState$custom","customerAccountAmount","checkoutResult","length","paymentTenderType","tokenizedPaymentCard","isPaidByOtherPaymentSource","paymenTenderType","TotalAmount","getGiftCardTotalAmount","getLoyaltyAmount","getCustomerAccountAmount","_this$props$data$chec11","_this$props$data$chec12","shouldPaidByCard","isPaymentVerificationRedirection","isCheckoutCallFailed","Msdyn365","EnabledPaymentsForOBO","PaymentInstrument","__decorate","observable","action","computed","withModuleState","observer","_ref","AddressDetail","items","Node","map","item","description","_ref2","AddressForm","isShowSaveButton","saveButton","isShowCancelButton","cancelButton","AddressItem","key","label","input","AddressError","Module","ref","binding","modules","dataActions","registerSanitizedActionPath","sanitizedActionPath","dataAction","default","Error","prototype","RegistrationId","id","c","require","$type","da","path","runOn","iNM","ns","n","p","pdp","md","window","__bindings__","viewDictionary","cn","module","exports","ReactDOM"],"sourceRoot":""}