{"version":3,"file":"static/js/b5a401040609ed6ff3cc.bundle.js","mappings":"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","sources":["webpack://henrys-ecommerce/./lib/account-management-address/module-registration.js?bdcd","webpack://henrys-ecommerce/./src/common/components/address-list.tsx?a628","webpack://henrys-ecommerce/./src/modules/account-management-address/account-management-address.tsx?27e7","webpack://henrys-ecommerce/./src/modules/account-management-address/account-management-address.view.tsx?8c9f","webpack://henrys-ecommerce/external var \"React\"?0d3b","webpack://henrys-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['account-management-address'] = {\n c: () => require('@msdyn365-commerce-modules/address/dist/lib/modules/account-management-address/account-management-address'),\n $type: 'contentModule',\n da: [{name:'address', path:'@msdyn365-commerce-modules/retail-actions/dist/lib/get-address', runOn: 0},{name:'addressPurposes', path:'@msdyn365-commerce-modules/address/dist/lib/actions/get-address-purposes', runOn: 0},{name:'countryRegions', path:'@msdyn365-commerce-modules/address/dist/lib/actions/get-country-regions', runOn: 0},{name:'customerInformation', path:'@msdyn365-commerce-modules/retail-actions/dist/lib/get-customer', 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: true,\n ns: '@msdyn365-commerce-modules',\n n: 'account-management-address',\n p: 'address',\n \n pdp: '',\n \n \n md: 'node_modules/@msdyn365-commerce-modules/address/dist/lib/modules/account-management-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/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-address';\n let dataAction = require('@msdyn365-commerce-modules/retail-actions/dist/lib/get-address');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\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-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 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|address|modules|account-management-address|account-management-address'] = {\n c: () => require('@msdyn365-commerce-modules/address/dist/lib/modules/account-management-address/account-management-address.view.js'),\n cn: '@msdyn365-commerce-modules-address-account-management-address'\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 { Address, AddressPurpose } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { Heading as HeadingData } from '@msdyn365-commerce-modules/data-types';\nimport { Heading, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { AddressFormat } from '../address-format';\nimport { IAddressResource, IAddressResponse } from '../address-module.data';\nimport AddressButtonComponent from './address-button';\nimport AddressErrorMessageComponent from './address-error-message';\nimport AddressErrorTitleComponent from './address-error-title';\nimport { AddressShow, IAddressShowProps } from './address-show';\n\nexport interface IAddressListError {\n Error: INodeProps;\n isShowError: boolean;\n title: React.ReactNode;\n message: React.ReactNode;\n}\n\nexport interface IAddressListItem {\n Item: INodeProps;\n key: number;\n error: IAddressListError;\n showItems: IAddressShowProps;\n isShowPrimaryButton: boolean;\n primaryButton: React.ReactNode;\n editButton: React.ReactNode;\n removeButton: React.ReactNode;\n}\n\nexport interface IAddressList {\n List: INodeProps;\n isShowList: boolean;\n heading: React.ReactNode;\n items: IAddressListItem[];\n}\n\nexport interface IAddressListProps {\n ListAddress: INodeProps;\n heading: React.ReactNode;\n isShowEmptyListMessage: boolean;\n emptyListMessage: React.ReactNode;\n addButton: React.ReactNode;\n primaryAddressList: IAddressList;\n otherAddressList: IAddressList;\n}\n\nexport interface IAddressListInputProps {\n isUpdating?: boolean;\n selectedAddress?: Address;\n addressFormat: AddressFormat;\n addresses: Address[];\n addressPurposes: AddressPurpose[];\n heading?: HeadingData;\n primaryAddressSectionHeading?: HeadingData;\n otherAddressSectionHeading?: HeadingData;\n addressActionResponse?: IAddressResponse;\n resources: IAddressResource;\n contextRequest: Msdyn365.IRequestContext;\n telemetryContent?: ITelemetryContent;\n handleLineItemHeadingChange?(event: Msdyn365.ContentEditableEvent): void;\n onAddAddress(): void;\n onEditAddress(address?: Address): void;\n onRemoveAddress(address?: Address): void;\n onUpdatePrimaryAddress(address: Address): void;\n canRenderAsyncCustomerDataAsUnmodifiable?: boolean;\n isAsyncCustomer?: boolean;\n isAsyncCustomerAddressCreationFeatureEnabled?: boolean;\n isEditAsyncCustomerFeatureEnabled?: boolean;\n}\n\nconst getButtonAriaLabel = (ariaLabel: string, addressName?: string): string => {\n return ariaLabel.replace('{addressName}', addressName || '');\n};\n\nconst getAddressList = (\n className: string,\n addresses: Address[],\n showPrimaryButton: boolean,\n props: IAddressListInputProps,\n heading?: HeadingData\n): IAddressList => {\n const {\n resources,\n isUpdating,\n addressActionResponse,\n selectedAddress,\n addressFormat,\n onEditAddress,\n onRemoveAddress,\n onUpdatePrimaryAddress,\n addressPurposes,\n telemetryContent\n } = props;\n const { errorTitle = null, errorMessage = null } = addressActionResponse || {};\n\n return {\n List: { className },\n isShowList: addresses.length > 0,\n heading: heading && ,\n items: addresses.map(\n (address: Address): IAddressListItem => {\n const isSelectedAddress = selectedAddress && selectedAddress.RecordId === address.RecordId;\n const isShowError = isSelectedAddress && errorTitle && errorMessage;\n\n // Disable 'primary', 'edit', and 'remove' buttons if the customer IS EITHER async OR async address creation feature is enabled and edit async customer feature is disabled.\n // Conversely, these buttons can only be enabled when the customer is NOT async AND the address creation feature is disabled.\n const isInvalidAsyncState: boolean =\n props.isEditAsyncCustomerFeatureEnabled || false\n ? false\n : (props.canRenderAsyncCustomerDataAsUnmodifiable || false) &&\n (props.isAsyncCustomer || false || props.isAsyncCustomerAddressCreationFeatureEnabled || false);\n\n return {\n Item: { className: `${className}-list` },\n key: address.RecordId || 0,\n showItems: AddressShow({\n addressFormat: addressFormat.getAddressFormat(address.ThreeLetterISORegionName || ''),\n address,\n addressPurposes\n }),\n error: {\n Error: { className: `${className}-error` },\n isShowError: !!isShowError,\n title: ,\n message: \n },\n isShowPrimaryButton: showPrimaryButton,\n\n primaryButton: (\n {\n onUpdatePrimaryAddress(address);\n }\n }}\n />\n ),\n editButton: (\n {\n onEditAddress(address);\n },\n role: 'link'\n }}\n />\n ),\n removeButton: (\n {\n onRemoveAddress(address);\n },\n role: 'link'\n }}\n />\n )\n };\n }\n )\n };\n};\n\nconst getPrimaryAddressList = (props: IAddressListInputProps): IAddressList => {\n const { addresses, primaryAddressSectionHeading } = props;\n const primaryAddresses = addresses.filter((address: Address) => address.IsPrimary);\n return getAddressList('msc-address-list__primary', primaryAddresses, false, props, primaryAddressSectionHeading);\n};\n\nconst getOtherAddressList = (props: IAddressListInputProps): IAddressList => {\n const { addresses, otherAddressSectionHeading } = props;\n const otherAddresses = addresses.filter((address: Address) => !address.IsPrimary);\n return getAddressList('msc-address-list__primary', otherAddresses, true, props, otherAddressSectionHeading);\n};\n\nexport const AddressList = (props: IAddressListInputProps): IAddressListProps => {\n const { addresses, heading, resources, onAddAddress, telemetryContent, handleLineItemHeadingChange } = props;\n const headingComponent = heading?.text && (\n {\n // Required\n },\n requestContext: props.contextRequest\n }}\n />\n );\n\n // IF the 'Edit async customer' feature is enabled. we won't be disabling the button in this scenario.\n // ELSE disable the 'Add' button only when the customer is async AND the 'Async Address Creation' feature is disabled.\n const disableAddButton: boolean =\n props.isEditAsyncCustomerFeatureEnabled || false\n ? false\n : (props.canRenderAsyncCustomerDataAsUnmodifiable || false) &&\n (props.isAsyncCustomer || false) &&\n !(props.isAsyncCustomerAddressCreationFeatureEnabled || false);\n\n return {\n ListAddress: { className: 'ms-address-list' },\n heading: headingComponent,\n isShowEmptyListMessage: addresses.length === 0,\n emptyListMessage:

{resources.addressEmptyListAddressMessage}

,\n addButton: (\n \n ),\n primaryAddressList: getPrimaryAddressList(props),\n otherAddressList: getOtherAddressList(props)\n };\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\n/// \n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { Address, AddressPurpose, CountryRegionInfo, StateProvinceInfo } from '@msdyn365-commerce/retail-proxy';\nimport { format as formatNotification, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { action, observable, reaction, set } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { AutoSuggest } from '../../common/address-autosuggest';\nimport { IAutoSuggestOptions } from '../../common/address-autosuggest.data';\nimport { AddressCommon } from '../../common/address-common';\nimport { AddressFormat } from '../../common/address-format';\nimport { AddressItemType } from '../../common/address-format.data';\nimport { AddressMetaData } from '../../common/address-meta-data';\nimport { AddressOperation, AddressType, IAddressResource, IAddressResponse } from '../../common/address-module.data';\nimport { AddressAddUpdate, IAddressAddUpdateProps } from '../../common/components/address-add';\nimport { AddressList, IAddressListProps } from '../../common/components/address-list';\nimport { IAccountManagementAddressData } from './account-management-address.data';\nimport { IAccountManagementAddressProps } from './account-management-address.props.autogenerated';\n\n/**\n * Account management address view state interface.\n */\nexport interface IAccountManagementAddressViewState {\n isShowAddresList: boolean;\n isShowAddOrUpdateAddress: boolean;\n}\n\n/**\n * Account management address view state interface.\n */\nexport interface IAccountManagementAddressViewProps extends React.Component> {\n className: string;\n currentOperation: AddressOperation;\n selectedAddress?: Address;\n addUpdateAddress: Address;\n countryRegionId: string;\n stateProvinceInfo?: StateProvinceInfo[];\n customerAddresses: Address[];\n validationError: object;\n addressActionResponse?: IAddressResponse;\n viewState: IAccountManagementAddressViewState;\n AccountAddressManagement: IModuleProps;\n isUpdating: boolean;\n showAddressList: IAddressListProps;\n showAddOrUpdateAddress: IAddressAddUpdateProps;\n screenReaderNotification: React.ReactNode;\n infoMessageBar?: React.ReactNode;\n}\n\n/**\n *\n * Address component.\n * @extends {React.Component>}\n */\n@observer\nclass AccountManagementAddress extends React.Component> {\n @observable private currentOperation: AddressOperation;\n @observable private selectedAddress?: Address;\n @observable private countryRegionId: string = 'USA';\n @observable private stateProvinceInfo?: StateProvinceInfo[];\n @observable private customerAddresses: Address[];\n @observable private addUpdateAddress: Address;\n @observable private validationError: object;\n @observable private addressActionResponse?: IAddressResponse;\n @observable private isUpdating?: boolean;\n @observable private hasError?: boolean;\n @observable private removeAddressData?: Address;\n\n private readonly addressCommon: AddressCommon;\n private addressFormat: AddressFormat;\n private countryRegions: CountryRegionInfo[] = [];\n private addressPurposes: AddressPurpose[] = [];\n private readonly resources: IAddressResource;\n private readonly defaultAddressType: number = 6; // Default to Home\n private readonly telemetryContent: ITelemetryContent;\n private autoSuggest?: AutoSuggest;\n\n private readonly asyncCustAddressCreationFeatureName: string = 'Dynamics.AX.Application.RetailAsyncAddressCreationFeature';\n private readonly editAsyncCustomerFeatureName: string = 'Dynamics.AX.Application.RetailEnableAsyncCustomerEditFeature';\n\n private asyncCustomerAddressCreationFeatureIsEnabled?: boolean = false;\n private isEditAsyncCustomerFeatureEnabled: boolean = false;\n\n public constructor(props: IAccountManagementAddressProps) {\n super(props);\n const { context, data, resources, telemetry } = this.props;\n\n this.resources = resources;\n this.currentOperation = AddressOperation.List;\n this.countryRegions = data.countryRegions.result || [];\n this.addressPurposes = data.addressPurposes.result || [];\n this.customerAddresses = data.address.result || [];\n this.addUpdateAddress = {};\n this.validationError = {};\n this.addressCommon = new AddressCommon(context, resources, telemetry);\n this.addressFormat = new AddressFormat(\n this.countryRegions,\n new AddressMetaData({ ...resources }, this._getAddressFormatExcludeList()),\n this.addressPurposes\n );\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public async componentDidMount(): Promise {\n const {\n context: {\n telemetry,\n actionContext: {\n requestContext: { channel }\n }\n },\n config: { autoSuggestionEnabled, autoSuggestOptions }\n } = this.props;\n\n // Initializing data props\n this._dataInitialize(this.props);\n\n if (this.props.data.countryRegions.result !== undefined) {\n this._setDefaultCountryRegionId();\n }\n\n reaction(\n () => this.countryRegionId,\n () => {\n this._getStateProvinces();\n }\n );\n\n reaction(\n () => this.currentOperation,\n () => {\n this._getStateProvinces();\n }\n );\n\n if (autoSuggestionEnabled) {\n if (channel && !channel.BingMapsApiKey) {\n telemetry.error('BingMapsApiKey is missing.');\n return;\n }\n\n if (channel && !channel.BingMapsEnabled) {\n telemetry.error('Map is disabled from HQ.');\n return;\n }\n\n const options: IAutoSuggestOptions = { ...autoSuggestOptions };\n this.autoSuggest = new AutoSuggest(\n telemetry,\n options,\n channel?.BingMapsApiKey,\n channel?.ChannelCountryRegionISOCode,\n channel?.DefaultLanguageId\n );\n\n reaction(\n () =>\n this.props.data.storeSelectorStateManager.result?.loadMapApi !== undefined &&\n (this.currentOperation === AddressOperation.Add || this.currentOperation === AddressOperation.Update),\n async () => {\n await this.autoSuggest?._loadMapAPI(await this.props.data.storeSelectorStateManager);\n }\n );\n\n reaction(\n () => {\n this.props.data.storeSelectorStateManager.result?.isMapApiLoaded;\n },\n async () => {\n if (this.currentOperation === AddressOperation.Add || this.currentOperation === AddressOperation.Update) {\n await this._attachMapAutoSuggest();\n }\n }\n );\n }\n }\n\n /**\n * Component did mount function.\n */\n public async componentDidUpdate(): Promise {\n if (this.currentOperation === AddressOperation.Add || this.currentOperation === AddressOperation.Update) {\n if (this.props.data.storeSelectorStateManager.result?.isMapApiLoaded) {\n await this._attachMapAutoSuggest();\n }\n } else {\n this.autoSuggest?.disposeAutoSuggest();\n }\n }\n\n /**\n * Should component update function.\n * @param nextProps - Account management address props.\n * @param nextState - Next state.\n * @returns - True if component should update, false otherwise.\n */\n public shouldComponentUpdate(\n nextProps: IAccountManagementAddressProps,\n nextState: IAccountManagementAddressViewState\n ): 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 { renderView, config, resources, data } = this.props;\n const customerInformation = data.customerInformation.result;\n\n // Set the feature state value for 'Async Customer Address Creation'.\n this.asyncCustomerAddressCreationFeatureIsEnabled =\n data.featureState?.result?.find(feature => feature.Name === this.asyncCustAddressCreationFeatureName)?.IsEnabled || false;\n\n this.isEditAsyncCustomerFeatureEnabled =\n data.featureState?.result?.find(feature => feature.Name === this.editAsyncCustomerFeatureName)?.IsEnabled || false;\n\n const viewProps = {\n ...this.props,\n infoMessageBar: (this.props.context.app?.config?.canRenderAsyncCustomerDataAsUnmodifiable || false) &&\n !this.isEditAsyncCustomerFeatureEnabled &&\n (customerInformation?.IsAsyncCustomer || false) && (\n \n ),\n currentOperation: this.currentOperation,\n selectedAddress: this.selectedAddress,\n addUpdateAddress: this.addUpdateAddress,\n countryRegionId: this.countryRegionId,\n stateProvinceInfo: this.stateProvinceInfo,\n customerAddresses: this.customerAddresses,\n validationError: this.validationError,\n addressActionResponse: this.addressActionResponse,\n isUpdating: this.isUpdating,\n hasError: this.hasError,\n className: config.className,\n viewState: {\n isShowAddresList: this.currentOperation === AddressOperation.List,\n isShowAddOrUpdateAddress: this.currentOperation !== AddressOperation.List\n },\n AccountAddressManagement: {\n moduleProps: this.props,\n className: classnames('ms-account-management-address', config.className)\n },\n showAddressList: this._renderListAddress(),\n showAddOrUpdateAddress: this._renderAddOrUpdateAddress(),\n screenReaderNotification: this.removeAddressData ? this._renderScreenReaderRemoveText(this.removeAddressData) : null\n };\n\n return renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * On Suggestion Selected Function.\n * @param result - Microsoft.Maps.ISuggestionResult.\n */\n @action\n private readonly _onSuggestionSelected = async (result: Microsoft.Maps.ISuggestionResult): Promise => {\n this._clearAddressFields();\n const address = this.addressFormat.getTranformedAddress(result, this.stateProvinceInfo);\n set(this.addUpdateAddress, { Street: '' });\n set(this.addUpdateAddress, { ZipCode: address.ZipCode });\n set(this.addUpdateAddress, { CountyName: address.CountyName });\n set(this.addUpdateAddress, { City: address.City });\n set(this.addUpdateAddress, { State: address.State });\n set(this.addUpdateAddress, { DistrictName: address.DistrictName });\n set(this.addUpdateAddress, { FullAddress: address.FullAddress });\n\n // Bing autosuggest put the complete address in the Street input box. Updating the street input box to show only street address.\n setTimeout(() => {\n set(this.addUpdateAddress, { Street: address.Street });\n }, 0);\n };\n\n /**\n * Clear Address Fields.\n */\n @action\n private readonly _clearAddressFields = (): void => {\n const addressFormatItem = this.addressFormat.getAddressFormat(\n this.addUpdateAddress.ThreeLetterISORegionName || this.countryRegionId\n );\n addressFormatItem.forEach(format => {\n if (this.addUpdateAddress[format.name] !== undefined && !this.autoSuggest?.excludedAddressFields.includes(format.name)) {\n this.addressFormat[format.name] = '';\n }\n });\n this._clearValidation();\n };\n\n /**\n * Clear Validation Function.\n */\n @action\n private readonly _clearValidation = (): void => {\n this.validationError = {};\n };\n\n /**\n * Method data initialization.\n * @param props -The account management props.\n */\n private readonly _dataInitialize = (props: IAccountManagementAddressProps): void => {\n const { data } = props;\n\n reaction(\n () => data.countryRegions.result,\n () => {\n this.countryRegions = data.countryRegions.result ?? [];\n }\n );\n\n reaction(\n () => data.addressPurposes.result,\n () => {\n this.addressPurposes = data.addressPurposes.result ?? [];\n }\n );\n\n reaction(\n () => data.address.result,\n () => {\n this.customerAddresses = data.address.result ?? [];\n }\n );\n };\n\n /**\n * Render Add Or Update Address Function.\n * @returns - AddressAddUpdate.\n */\n private readonly _renderAddOrUpdateAddress = (): IAddressAddUpdateProps => {\n return AddressAddUpdate({\n isUpdating: this.isUpdating,\n resources: this.resources,\n addressType: AddressType.Shipping,\n addressFormat: this.addressFormat.getAddressFormat(this.addUpdateAddress.ThreeLetterISORegionName || this.countryRegionId),\n defaultCountryRegionId: this.countryRegionId,\n defaultAddressType: this.defaultAddressType,\n selectedAddress: this.addUpdateAddress,\n validationError: this.validationError,\n addressActionResponse: this.addressActionResponse,\n dropdownDisplayData: this.addressFormat.getPrefilledAddressDropdownData(\n this.resources.addressStateDefaultSelectionText,\n this.stateProvinceInfo\n ),\n telemetryContent: this.telemetryContent,\n onInputChange: this._onAddressAddUpdateInputChange,\n onDropdownChange: this._onAddressAddUpdateDropdownChange,\n onSave: this._onAddressAddUpdateSubmit,\n onCancel: this._resetView\n });\n };\n\n /**\n * Render List Address Function.\n * @returns - AddressList.\n */\n private readonly _renderListAddress = (): IAddressListProps => {\n const { config } = this.props;\n\n /**\n * Render Address title.\n * @param event - Msdyn365.ContentEditableEvent.\n */\n const handleLineItemHeadingChange = (event: Msdyn365.ContentEditableEvent) => {\n config.heading!.text = event.target.value;\n };\n const heading = config.heading && {\n text: config.heading.text,\n headingTag: config.heading.tag\n };\n\n return AddressList({\n isUpdating: this.isUpdating,\n selectedAddress: this.selectedAddress,\n addressFormat: this.addressFormat,\n addresses: this.customerAddresses,\n addressPurposes: this.addressPurposes,\n resources: this.resources,\n heading,\n primaryAddressSectionHeading: config.primaryAddressSectionHeading,\n otherAddressSectionHeading: config.otherAddressSectionHeading,\n contextRequest: this.props.context.request,\n telemetryContent: this.telemetryContent,\n handleLineItemHeadingChange,\n onEditAddress: this._goToEditAddress,\n onRemoveAddress: this._onRemoveAddress,\n onAddAddress: this._goToAddAddress,\n onUpdatePrimaryAddress: this._onSubmitUpdatePrimaryAddress,\n isAsyncCustomerAddressCreationFeatureEnabled: this.asyncCustomerAddressCreationFeatureIsEnabled || false,\n isAsyncCustomer: this.props.data.customerInformation.result?.IsAsyncCustomer || false,\n canRenderAsyncCustomerDataAsUnmodifiable: this.props.context.app?.config?.canRenderAsyncCustomerDataAsUnmodifiable || false,\n isEditAsyncCustomerFeatureEnabled: this.isEditAsyncCustomerFeatureEnabled\n });\n };\n\n /**\n * Attach Map Auto Suggest Function.\n */\n private readonly _attachMapAutoSuggest = async (): Promise => {\n const {\n data: {\n storeSelectorStateManager: { result: storeSelectorStateManager }\n }\n } = this.props;\n\n if (storeSelectorStateManager?.isMapApiLoaded) {\n this.autoSuggest?.attachAutoSuggest('#shipping_addressstreet', '#shipping_addressstreet_container', this._onSuggestionSelected);\n }\n };\n\n /**\n * On Address Add Update Function.\n * @param name - String.\n * @param value - String | Boolean | Number.\n */\n private readonly onAddressAddUpdate = (name: string, value: string | boolean | number) => {\n set(this.addUpdateAddress, { [name]: value });\n this.addressFormat.validateAddressFormat(this.addUpdateAddress, this.validationError, this.countryRegionId, name);\n };\n\n /**\n * On Address Add Update Input Change.\n * @param event - Input Change Event.\n */\n private readonly _onAddressAddUpdateInputChange = (event: React.ChangeEvent): void => {\n if (event.target.type === 'checkbox') {\n this.onAddressAddUpdate(event.target.name, event.target.checked);\n } else {\n const value = (event.target.value || '').replace(new RegExp('[<>]', 'gi'), '');\n this.onAddressAddUpdate(event.target.name, value);\n }\n };\n\n /**\n * On Address Add Update Dropdown Change.\n * @param event - Dropdown Change Event.\n */\n private readonly _onAddressAddUpdateDropdownChange = (event: React.ChangeEvent): void => {\n if (event.target.name === AddressItemType[AddressItemType.AddressTypeValue]) {\n this.onAddressAddUpdate(event.target.name, +event.target.value);\n } else {\n this.onAddressAddUpdate(event.target.name, event.target.value);\n }\n if (event.target.name === AddressItemType[AddressItemType.ThreeLetterISORegionName]) {\n this._onCountryChange(event.target.value);\n }\n };\n\n /**\n * On Address Update Function.\n * @param response - Promise.\n * @param onSuccess - IAddressResponse.\n */\n private readonly _onAddressUpdate = (response: Promise, onSuccess: (response: IAddressResponse) => void): void => {\n this.isUpdating = true;\n response.then(\n (result: IAddressResponse) => {\n if (result.address) {\n this.hasError = false;\n onSuccess(result);\n } else {\n this.hasError = true;\n this.addressActionResponse = result;\n }\n this.isUpdating = false;\n },\n () => {\n this.hasError = true;\n this.isUpdating = false;\n }\n );\n };\n\n /**\n * On Address Add Update Submit Function.\n */\n private readonly _onAddressAddUpdateSubmit = (): void => {\n if (!this.addressFormat.validateAddressFormat(this.addUpdateAddress, this.validationError, this.countryRegionId)) {\n return;\n }\n let response: Promise;\n if (this.addressCommon.isAuthenticatedFlow()) {\n response =\n this.currentOperation === AddressOperation.Update\n ? this.addressCommon.updateCustomerAddress(this.addUpdateAddress)\n : this.addressCommon.addCustomerAddress(this.addUpdateAddress);\n } else {\n response = Promise.resolve({ address: this.addUpdateAddress });\n }\n\n this._onAddressUpdate(response, this._onAddOrUpdateSuccess);\n };\n\n /**\n * On Country Change Function.\n * @param countryRegionId - String.\n */\n private readonly _onCountryChange = (countryRegionId: string) => {\n this.countryRegionId = countryRegionId;\n const twoLetterISORegionName = this.addressFormat.getTwoLetterISORegionName(countryRegionId);\n set(this.addUpdateAddress, { ThreeLetterISORegionName: countryRegionId });\n set(this.addUpdateAddress, { TwoLetterISORegionName: twoLetterISORegionName });\n this.autoSuggest?.changeAutoSuggestionCountryCode(twoLetterISORegionName);\n this._clearAddressFields();\n };\n\n /**\n * Get Address Format Exclude List Function.\n * @returns - Address Format Exclude List.\n */\n private readonly _getAddressFormatExcludeList = (): AddressItemType[] => {\n const { config } = this.props;\n const addressFormatExcludeList: AddressItemType[] = [];\n\n if (!config.showAddressType) {\n addressFormatExcludeList.push(AddressItemType.AddressTypeValue);\n }\n\n addressFormatExcludeList.push(AddressItemType.IsPrimary);\n\n return addressFormatExcludeList;\n };\n\n /**\n * Get State Provinces Function.\n */\n private readonly _getStateProvinces = (): void => {\n if (\n !this.countryRegionId ||\n !(this.currentOperation === AddressOperation.Add || this.currentOperation === AddressOperation.Update)\n ) {\n return;\n }\n\n this.addressCommon.getStateProvinces(this.countryRegionId).then((result: StateProvinceInfo[]) => {\n const stateInfo = result.some(state => state.StateId === this.addUpdateAddress.State);\n\n // Reset state if selected state not found in the list.\n if (!stateInfo) {\n set(this.addUpdateAddress, { State: '' });\n }\n this.stateProvinceInfo = result;\n });\n };\n\n private _setDefaultCountryRegionId(): void {\n const { request } = this.props.context;\n const market = request && request.channel && request.channel.ChannelCountryRegionISOCode;\n\n this.countryRegionId = this.addressCommon.getDefaultCountryRegionId(this.countryRegionId, this.countryRegions, market);\n }\n\n /**\n * Update CurrentOperation Function.\n * @param operation - AddressOperation.\n */\n private readonly _updateCurrentOperation = (operation: AddressOperation) => {\n this.currentOperation = operation;\n this._clearAddressFields();\n };\n\n /**\n * On Submit Update Primary Address Function.\n * @param address - Address.\n */\n private readonly _onSubmitUpdatePrimaryAddress = (address: Address): void => {\n this.selectedAddress = address;\n const response = this.addressCommon.updateCustomerPrimaryAddress(address);\n this._onAddressUpdate(response, this._onUpdatePrimaryAddressSuccess);\n };\n\n /**\n * Go To Edit Address Function.\n * @param address - Address.\n */\n private readonly _goToEditAddress = (address: Address): void => {\n this.addUpdateAddress = { ...address };\n this.countryRegionId = this.addUpdateAddress.ThreeLetterISORegionName || 'USA';\n this._updateCurrentOperation(AddressOperation.Update);\n };\n\n /**\n * On Remove Address Function.\n * @param address - Address.\n */\n private readonly _onRemoveAddress = (address: Address): void => {\n address.Deactivate = true;\n this.removeAddressData = address;\n const response = this.addressCommon.updateCustomerAddress(address);\n this._onAddressUpdate(response, this._onAddOrUpdateSuccess);\n };\n\n /**\n * Renders Notification screen reader text for removed address.\n * @param address - Address input.\n * @returns Notification for removed address.\n */\n private readonly _renderScreenReaderRemoveText = (address: Address): React.ReactNode => {\n const notification = formatNotification(this.resources.removeAddressNotification!, `${address.Name!}`);\n return (\n
\n {notification}\n
\n );\n };\n\n /**\n * Go To Add Address Function.\n */\n private readonly _goToAddAddress = (): void => {\n this.addUpdateAddress = {};\n this._setDefaultCountryRegionId();\n set(this.addUpdateAddress, { ThreeLetterISORegionName: this.countryRegionId });\n set(this.addUpdateAddress, { AddressTypeValue: this.defaultAddressType });\n this._setDefaultCountryRegionId();\n this._updateCurrentOperation(AddressOperation.Add);\n };\n\n /**\n * On Add Or Update Success Function.\n * @param response - IAddressResponse.\n */\n private readonly _onAddOrUpdateSuccess = (response: IAddressResponse): void => {\n if (response.customerAddresses) {\n this.customerAddresses = response.customerAddresses;\n }\n this._resetView();\n };\n\n /**\n * On Update Primary Address Success Function.\n * @param response - IAddressResponse.\n */\n private readonly _onUpdatePrimaryAddressSuccess = (response: IAddressResponse): void => {\n if (response.customerAddresses) {\n this.customerAddresses = response.customerAddresses;\n }\n };\n\n /**\n * Reset view function.\n */\n private readonly _resetView = (): void => {\n this.selectedAddress = undefined;\n this._updateCurrentOperation(AddressOperation.List);\n };\n}\n\nexport default AccountManagementAddress;\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 { IAddressAddItem, IAddressAddUpdateProps } from '../../common/components/address-add';\nimport { IAddressList, IAddressListItem, IAddressListProps } from '../../common/components/address-list';\nimport { IAddressShowItem, IAddressShowProps } from '../../common/components/address-show';\nimport { IAccountManagementAddressViewProps } from './account-management-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 List Component.\n * @param param0 - Root param.\n * @param param0.List - Address list.\n * @param param0.isShowList - Boolean.\n * @param param0.heading - Address heading.\n * @param param0.items - IAddressListItem[].\n * @returns - AddressListComponent Node.\n */\nconst AddressList: React.FC = ({ List, isShowList, heading, items }) => {\n if (!isShowList) {\n return null;\n }\n\n return (\n \n {heading}\n {items.map((item: IAddressListItem) => {\n const { Item, key, error, showItems, isShowPrimaryButton, primaryButton, editButton, removeButton } = item;\n const { Error, isShowError, title, message } = error;\n return (\n \n \n {isShowError && (\n \n {title}\n {message}\n \n )}\n {isShowPrimaryButton && primaryButton}\n {editButton}\n {removeButton}\n \n );\n })}\n \n );\n};\n\n/**\n * Address Lists Component.\n * @param param0 - Root param.\n * @param param0.ListAddress - List address.\n * @param param0.heading - List heading.\n * @param param0.isShowEmptyListMessage - Boolean.\n * @param param0.emptyListMessage - Empty list message.\n * @param param0.addButton - Add button.\n * @param param0.primaryAddressList - Primary address.\n * @param param0.otherAddressList - Other address.\n * @returns Address Lists Component Node.\n */\nconst AddressLists: React.FC = ({\n ListAddress,\n heading,\n isShowEmptyListMessage,\n emptyListMessage,\n addButton,\n primaryAddressList,\n otherAddressList\n}) => {\n return (\n \n {heading}\n {isShowEmptyListMessage && emptyListMessage}\n {addButton}\n \n \n \n );\n};\n\n/**\n * AddressAddUpdateComponent.\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 - Error message.\n * @param param0.isShowSaveButton - Boolean.\n * @param param0.saveButton - Save button.\n * @param param0.isShowCancelButton - Boolean.\n * @param param0.cancelButton - Cancel button.\n * @returns Address add update component 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 {heading}\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 * Account Management Address View Component.\n * @param props - Props.\n * @returns - AccountAddressManagement Module.\n */\nconst AccountManagementAddressView: React.FC = props => {\n const {\n AccountAddressManagement,\n infoMessageBar,\n viewState,\n showAddressList,\n showAddOrUpdateAddress,\n screenReaderNotification\n } = props;\n\n return (\n \n {infoMessageBar}\n {viewState.isShowAddresList && }\n {viewState.isShowAddOrUpdateAddress && }\n {screenReaderNotification}\n \n );\n};\n\nexport default AccountManagementAddressView;\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","getButtonAriaLabel","ariaLabel","addressName","replace","getAddressList","className","addresses","showPrimaryButton","props","heading","resources","isUpdating","addressActionResponse","selectedAddress","addressFormat","onEditAddress","onRemoveAddress","onUpdatePrimaryAddress","addressPurposes","telemetryContent","errorTitle","errorMessage","List","isShowList","length","React","Heading","Object","assign","items","map","address","isSelectedAddress","RecordId","isShowError","isInvalidAsyncState","isEditAsyncCustomerFeatureEnabled","canRenderAsyncCustomerDataAsUnmodifiable","isAsyncCustomer","isAsyncCustomerAddressCreationFeatureEnabled","Item","key","showItems","AddressShow","getAddressFormat","ThreeLetterISORegionName","error","title","AddressErrorTitleComponent","message","AddressErrorMessageComponent","isShowPrimaryButton","primaryButton","AddressButtonComponent","classnames","disabled","text","addressPrimaryButtonText","addressPrimaryButtonAriaLabel","Name","onClick","editButton","addressEditButtonText","addressEditButtonAriaLabel","role","removeButton","addressRemoveButtonText","addressRemoveButtonAriaLabel","getPrimaryAddressList","primaryAddressSectionHeading","primaryAddresses","filter","IsPrimary","getOtherAddressList","otherAddressSectionHeading","otherAddresses","AddressList","_heading$headingTag","onAddAddress","handleLineItemHeadingChange","headingComponent","Msdyn365","tag","headingTag","editProps","onEdit","requestContext","contextRequest","disableAddButton","ListAddress","isShowEmptyListMessage","emptyListMessage","addressEmptyListAddressMessage","addButton","addressAddButtonText","addressAddButtonAriaLabel","primaryAddressList","otherAddressList","AccountManagementAddress","constructor","super","countryRegionId","countryRegions","defaultAddressType","asyncCustAddressCreationFeatureName","editAsyncCustomerFeatureName","asyncCustomerAddressCreationFeatureIsEnabled","_onSuggestionSelected","async","this","_clearAddressFields","getTranformedAddress","result","stateProvinceInfo","set","addUpdateAddress","Street","ZipCode","CountyName","City","State","DistrictName","FullAddress","setTimeout","forEach","format","_this$autoSuggest","undefined","autoSuggest","excludedAddressFields","includes","_clearValidation","validationError","_dataInitialize","data","reaction","_data$countryRegions$","_data$addressPurposes","_data$address$result","customerAddresses","_renderAddOrUpdateAddress","AddressAddUpdate","addressType","AddressType","Shipping","defaultCountryRegionId","dropdownDisplayData","getPrefilledAddressDropdownData","addressStateDefaultSelectionText","onInputChange","_onAddressAddUpdateInputChange","onDropdownChange","_onAddressAddUpdateDropdownChange","onSave","_onAddressAddUpdateSubmit","onCancel","_resetView","_renderListAddress","_this$props$data$cust","_this$props$context$a","config","context","request","event","target","value","_goToEditAddress","_onRemoveAddress","_goToAddAddress","_onSubmitUpdatePrimaryAddress","customerInformation","IsAsyncCustomer","app","_attachMapAutoSuggest","storeSelectorStateManager","_this$autoSuggest2","isMapApiLoaded","attachAutoSuggest","onAddressAddUpdate","validateAddressFormat","type","checked","RegExp","AddressItemType","AddressTypeValue","_onCountryChange","_onAddressUpdate","response","onSuccess","then","hasError","addressCommon","isAuthenticatedFlow","currentOperation","AddressOperation","Update","updateCustomerAddress","addCustomerAddress","Promise","resolve","_onAddOrUpdateSuccess","_this$autoSuggest3","twoLetterISORegionName","getTwoLetterISORegionName","TwoLetterISORegionName","changeAutoSuggestionCountryCode","_getAddressFormatExcludeList","addressFormatExcludeList","showAddressType","push","_getStateProvinces","Add","getStateProvinces","some","state","StateId","_updateCurrentOperation","operation","updateCustomerPrimaryAddress","_onUpdatePrimaryAddressSuccess","Deactivate","removeAddressData","_renderScreenReaderRemoveText","notification","formatNotification","removeAddressNotification","_setDefaultCountryRegionId","telemetry","AddressCommon","AddressFormat","AddressMetaData","getTelemetryObject","telemetryPageName","friendlyName","actionContext","channel","autoSuggestionEnabled","autoSuggestOptions","BingMapsApiKey","BingMapsEnabled","options","AutoSuggest","ChannelCountryRegionISOCode","DefaultLanguageId","_this$props$data$stor","loadMapApi","_this$autoSuggest4","_loadMapAPI","_this$props$data$stor2","_this$props$data$stor3","_this$autoSuggest5","disposeAutoSuggest","shouldComponentUpdate","nextProps","nextState","render","_data$featureState","_data$featureState2","_this$props$context$a2","renderView","featureState","find","feature","IsEnabled","infoMessageBar","accountProcessingPendingInfoMessageCanAddAddress","accountProcessingPendingInfoMessage","viewState","isShowAddresList","isShowAddOrUpdateAddress","AccountAddressManagement","moduleProps","showAddressList","showAddOrUpdateAddress","screenReaderNotification","market","getDefaultCountryRegionId","__decorate","observable","action","observer","_ref","AddressDetail","Node","item","description","_ref2","AddressLists","_ref3","_ref4","AddressForm","isShowSaveButton","saveButton","isShowCancelButton","cancelButton","AddressItem","label","alert","input","AddressError","Module","module","exports","ReactDOM"],"sourceRoot":""}