{"version":3,"file":"static/js/32ddb4b33e27ef0aedd7.bundle.js","mappings":"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","sources":["webpack://united-malt/./src/modules/business-account-address/business-account-address.tsx?299e","webpack://united-malt/./src/modules/umg-onboarding-address/umg-onboarding-address.tsx?76f6","webpack://united-malt/./src/modules/umg-onboarding-address/umg-onboarding-address.view.tsx?bdd9","webpack://united-malt/./lib/umg-onboarding-address/module-registration.js?8b74","webpack://united-malt/./src/modules/account-management-address/account-management-address.tsx?27e7","webpack://united-malt/./src/modules/account-management-address/account-management-address.view.tsx?8c9f","webpack://united-malt/external var \"React\"?0d3b","webpack://united-malt/external var \"ReactDOM\"?853b"],"sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Address, AddressPurpose, CountryRegionInfo, StateProvinceInfo } from '@msdyn365-commerce/retail-proxy';\nimport { ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { observable, reaction, set } from 'mobx';\nimport * as React from 'react';\n\nimport { AddressCommon } from '../../common/address-common';\nimport { AddressFormat } from '../../common/address-format';\nimport { AddressItemDisplayType, AddressItemType, AddressValidationRuleType, IAddressItem } 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 { IBusinessAccountAddressData } from './business-account-address.data';\nimport { IBusinessAccountAddressProps } from './business-account-address.props.autogenerated';\n\n/**\n * Interface for IBusinessAccountAddressExtendedProps.\n */\nexport interface IBusinessAccountAddressExtendedProps extends IBusinessAccountAddressProps {\n hasError: boolean;\n isRequired: boolean;\n resetAddress: boolean;\n updateForm(errors: boolean, currentAddress?: Address): void;\n}\n\n/**\n * Interface for IBusinessAccountAddressState.\n */\nexport interface IBusinessAccountAddressState {\n countryId?: string;\n states?: StateProvinceInfo[];\n}\n\n/**\n * Interface for IBusinessAccountAddressViewProps.\n */\nexport interface IBusinessAccountAddressViewProps {\n className: string;\n currentOperation: AddressOperation;\n selectedAddress?: Address;\n addUpdateAddress: Address;\n addressListSelectedAddress: Address;\n countryRegionId: string;\n stateProvinceInfo?: StateProvinceInfo[];\n customerAddresses: Address[];\n validationError: object;\n addressActionResponse?: IAddressResponse;\n BusinessAccountAddress: IModuleProps;\n isUpdating: boolean;\n hasError: boolean;\n showAddOrUpdateAddress: IAddressAddUpdateProps;\n}\n\n/**\n *\n * Address component.\n * @extends {React.Component, IBusinessAccountAddressState>}\n */\nclass BusinessAccountAddress extends React.Component {\n @observable private addUpdateAddress: Address;\n\n @observable private countryRegionId: string = 'USA';\n\n @observable private stateProvinceInfo?: StateProvinceInfo[];\n\n @observable private readonly validationError: object;\n\n private readonly addressActionResponse?: IAddressResponse;\n\n private readonly isUpdating?: boolean;\n\n private readonly addressCommon: AddressCommon;\n\n private addressFormat: AddressFormat;\n\n private countryRegions: CountryRegionInfo[] = [];\n\n private addressPurposes: AddressPurpose[] = [];\n\n private readonly resources: IAddressResource;\n\n private readonly defaultAddressType: number = 0; // Default to None (This value set in HQ as Business)\n\n private readonly shouldAutoFocus?: boolean = false;\n\n private readonly excludedList: AddressItemType[] = [AddressItemType.Name, AddressItemType.AddressTypeValue, AddressItemType.IsPrimary]; // Default to hiding Name and AddressType inputs\n\n private readonly telemetryContent: ITelemetryContent;\n\n public constructor(props: IBusinessAccountAddressExtendedProps) {\n super(props);\n\n const { context, data, resources, telemetry } = this.props;\n this.addUpdateAddress = {};\n this.resources = resources;\n this.countryRegions = data.countryRegions.result || [];\n this.addressPurposes = data.addressPurposes.result || [];\n this.stateProvinceInfo = data.countryStates.result || [];\n this.addressFormat = new AddressFormat(\n this.countryRegions,\n new AddressMetaData({ ...resources }, this.excludedList, props.isRequired ? undefined : []),\n this.addressPurposes\n );\n this.addressCommon = new AddressCommon(context, resources, telemetry);\n this.validationError = {};\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public componentDidMount(): void {\n // Initializing data props\n this._dataInitialize(this.props);\n\n this._setDefaultCountryRegionId();\n }\n\n public shouldComponentUpdate(nextProps: IBusinessAccountAddressExtendedProps, nextState: IBusinessAccountAddressState): 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 | null {\n const { renderView, config, hasError, resetAddress } = this.props;\n\n // Business-sign-up will pass this flag when cancel button is clicked\n if (resetAddress) {\n this._resetAddressFields();\n }\n\n const viewProps = {\n ...this.props,\n countryRegionId: this.countryRegionId,\n stateProvinceInfo: this.stateProvinceInfo,\n validationError: this.validationError,\n addressActionResponse: this.addressActionResponse,\n hasError,\n className: config.className,\n BusinessAccountAddress: {\n moduleProps: this.props,\n className: classnames('ms-business-account-address', config.className)\n },\n showAddOrUpdateAddress: this._renderAddOrUpdateAddress()\n };\n\n return renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Reset Address.\n */\n // eslint-disable-next-line @typescript-eslint/naming-convention\n public _resetAddressFields = () => {\n const addressFormat = this.addressFormat.getAddressFormat(this.countryRegionId);\n\n addressFormat.map(addressFormatItem => {\n switch (addressFormatItem.displayType) {\n case AddressItemDisplayType.Input:\n this.addUpdateAddress[addressFormatItem.name] = '';\n break;\n case AddressItemDisplayType.Checkbox:\n this.addUpdateAddress[addressFormatItem.name] = false;\n break;\n default:\n switch (addressFormatItem.type) {\n case AddressItemType.ThreeLetterISORegionName:\n this.addUpdateAddress[addressFormatItem.name] = this.countryRegionId;\n break;\n case AddressItemType.AddressTypeValue:\n this.addUpdateAddress[addressFormatItem.name] = this.defaultAddressType;\n break;\n case AddressItemType.State:\n this.addUpdateAddress[addressFormatItem.name] = '';\n break;\n default:\n this.addUpdateAddress[addressFormatItem.name] = undefined;\n }\n }\n });\n };\n\n /**\n * Method data initialization.\n * @param props -The account management props.\n */\n private readonly _dataInitialize = (props: IBusinessAccountAddressExtendedProps): 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.countryStates.result,\n () => {\n this.stateProvinceInfo = data.countryStates.result ?? [];\n }\n );\n };\n\n // Set validationError and hasError to hide error messages since in the B2B\n // request form, no errors would visually show since user wont be able to submit\n // until form is filled and correct\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.Company,\n addressFormat: this.addressFormat.getAddressFormat(this.countryRegionId),\n defaultCountryRegionId: this.countryRegionId,\n defaultAddressType: this.defaultAddressType,\n selectedAddress: this.addUpdateAddress,\n shouldAutoFocus: this.shouldAutoFocus,\n validationError: this.validationError,\n hasError: this.props.hasError,\n addressActionResponse: this.addressActionResponse,\n telemetryContent: this.telemetryContent,\n dropdownDisplayData: this.addressFormat.getPrefilledAddressDropdownData(\n this.resources.addressStateDefaultSelectionText,\n this.stateProvinceInfo\n ),\n onInputChange: this._onAddressAddUpdateInputChange,\n onDropdownChange: this._onAddressAddUpdateDropdownChange\n });\n };\n\n /**\n * On Address Add Update Input Change Function.\n * @param event - Input event change function.\n */\n private readonly _onAddressAddUpdateInputChange = (event: React.ChangeEvent): void => {\n this._updateAddress(event.target.name, event.target.value);\n };\n\n /**\n * On Address Add Update Dropdown Change Function.\n * @param event - Change dropdown event.\n */\n private readonly _onAddressAddUpdateDropdownChange = async (event: React.ChangeEvent): Promise => {\n if (event.target.name === AddressItemType[AddressItemType.ThreeLetterISORegionName]) {\n await this._updateCountryRegionId(event.target.value);\n } else {\n this._updateAddress(event.target.name, event.target.value);\n }\n };\n\n /**\n * Update Address Function.\n * @param name - String.\n * @param value - String.\n */\n private readonly _updateAddress = (name: string, value: string | number) => {\n const { updateForm, isRequired, resources } = this.props;\n let cleanValue = value;\n if (typeof value === 'string') {\n cleanValue = (value || '').replace(new RegExp('[<>]', 'gi'), '');\n }\n set(this.addUpdateAddress, { [name]: cleanValue });\n\n if (this._isEmpty()) {\n if (isRequired) {\n updateForm(true, undefined);\n } else {\n // Reset addressFormat as if address was NOT a required field\n this.addressFormat = new AddressFormat(\n this.countryRegions,\n new AddressMetaData({ ...resources }, this.excludedList, []),\n this.addressPurposes\n );\n updateForm(false, this.addUpdateAddress);\n }\n } else {\n // Get new addressFormat if address was a required field\n this.addressFormat = new AddressFormat(\n this.countryRegions,\n new AddressMetaData({ ...resources }, this.excludedList, this.props.isRequired ? undefined : []),\n this.addressPurposes\n );\n\n // Verify with new rules\n if (this.addressFormat.validateAddressFormat(this.addUpdateAddress, this.validationError, this.countryRegionId)) {\n updateForm(false, this.addUpdateAddress);\n } else {\n updateForm(true, undefined);\n }\n }\n };\n\n /**\n * Is empty Function.\n * @returns - Boolean.\n */\n // Walk through array and check if valued is defined or value is not an empty string\n private readonly _isEmpty = () => {\n const addressFormat = this.addressFormat.getAddressFormat(this.countryRegionId);\n for (const addressFormatItem of addressFormat) {\n if (addressFormatItem.type !== AddressItemType.ThreeLetterISORegionName || this._isInputRequired(addressFormatItem)) {\n const addressItemValue = this.addUpdateAddress[addressFormatItem.name];\n\n // Check each input field, if value is defined and not an empty string --> address is not empty\n if (addressItemValue || (addressItemValue && addressItemValue !== '')) {\n return false;\n }\n }\n }\n\n return true;\n };\n\n /**\n * Is Input Required Function.\n * @param addressFormatItem - IAddressItem.\n * @returns - Boolean.\n */\n private readonly _isInputRequired = (addressFormatItem: IAddressItem): boolean => {\n if (\n ObjectExtensions.isNullOrUndefined(addressFormatItem) ||\n !addressFormatItem.validationRules ||\n addressFormatItem.validationRules.length === 0\n ) {\n return false;\n }\n\n for (const validationRule of addressFormatItem.validationRules) {\n if (validationRule.type === AddressValidationRuleType.Required) {\n return false;\n }\n }\n\n return true;\n };\n\n private _setDefaultCountryRegionId(): void {\n const { request } = this.props.context;\n const market = request.channel?.ChannelCountryRegionISOCode;\n\n this._updateCountryRegionId(this.addressCommon.getDefaultCountryRegionId(this.countryRegionId, this.countryRegions, market));\n\n // Set default AddressType\n set(this.addUpdateAddress, { AddressTypeValue: this.defaultAddressType });\n }\n\n /**\n * Update Country Region Id Function.\n * @param value - String.\n */\n private readonly _updateCountryRegionId = async (value: string) => {\n this.countryRegionId = value;\n\n await 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 this._updateAddress('State', '');\n }\n\n this.stateProvinceInfo = result;\n });\n\n this._updateAddress('ThreeLetterISORegionName', this.countryRegionId);\n };\n}\n\nexport default BusinessAccountAddress;\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { Address, AddressPurpose, CountryRegionInfo, StateProvinceInfo } from '@msdyn365-commerce/retail-proxy';\r\nimport { ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport { observable, reaction, set } from 'mobx';\r\nimport * as React from 'react';\r\n\r\nimport { AddressCommon, AddressFormat, AddressItemDisplayType, AddressItemType, AddressValidationRuleType,\r\n IAddressItem, AddressMetaData, AddressOperation, AddressType, IAddressResource, IAddressResponse,\r\n AddressAddUpdate, IAddressAddUpdateProps\r\n} from '@msdyn365-commerce-modules/address';\r\nimport { IUmgOnboardingAddressData } from './umg-onboarding-address.data';\r\nimport { IUmgOnboardingAddressProps } from './umg-onboarding-address.props.autogenerated';\r\n\r\n/**\r\n * Interface for IBusinessAccountAddressExtendedProps.\r\n */\r\nexport interface IBusinessAccountAddressExtendedProps extends IUmgOnboardingAddressProps {\r\n hasError: boolean;\r\n isRequired: boolean;\r\n resetAddress: boolean;\r\n updateForm(errors: boolean, currentAddress?: Address): void;\r\n}\r\n\r\n/**\r\n * Interface for IBusinessAccountAddressState.\r\n */\r\nexport interface IBusinessAccountAddressState {\r\n countryId?: string;\r\n states?: StateProvinceInfo[];\r\n}\r\n\r\n/**\r\n * Interface for IBusinessAccountAddressViewProps.\r\n */\r\nexport interface IBusinessAccountAddressViewProps {\r\n className: string;\r\n currentOperation: AddressOperation;\r\n selectedAddress?: Address;\r\n addUpdateAddress: Address;\r\n addressListSelectedAddress: Address;\r\n countryRegionId: string;\r\n stateProvinceInfo?: StateProvinceInfo[];\r\n customerAddresses: Address[];\r\n validationError: object;\r\n addressActionResponse?: IAddressResponse;\r\n BusinessAccountAddress: IModuleProps;\r\n isUpdating: boolean;\r\n hasError: boolean;\r\n showAddOrUpdateAddress: IAddressAddUpdateProps;\r\n}\r\n\r\n/**\r\n *\r\n * Address component.\r\n * @extends {React.Component, IBusinessAccountAddressState>}\r\n */\r\nclass BusinessAccountAddress extends React.Component {\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 readonly validationError: object;\r\n\r\n private readonly addressActionResponse?: IAddressResponse;\r\n\r\n private readonly isUpdating?: boolean;\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 = 8; // Default to Business\r\n\r\n private readonly shouldAutoFocus?: boolean = false;\r\n\r\n private readonly excludedList: AddressItemType[] = [AddressItemType.Name, AddressItemType.AddressTypeValue, AddressItemType.IsPrimary]; // Default to hiding Name and AddressType inputs\r\n\r\n private readonly telemetryContent: ITelemetryContent;\r\n\r\n public constructor(props: IBusinessAccountAddressExtendedProps) {\r\n super(props);\r\n\r\n const { context, data, resources, telemetry } = this.props;\r\n this.addUpdateAddress = {};\r\n this.resources = resources as unknown as IAddressResource; // @CUSTOM: Sometimes TypeScript hinders rather than helps\r\n\r\n //----------------------------------------------------------\r\n // @CUSTOM: Modify labels in an ugly fashion\r\n //\r\n // Due to differing address formats for different countries,\r\n // address form resource names are auto-generated.\r\n // In short, for street, the resources MUST be named:\r\n // \"addressStreetLabel\", \"addressStreetLabelOptional\", and \"addressStreetRequiredErrorMessage\"\r\n //\r\n // We require unique resource values for onboarding, and\r\n // can't use the same resource names for translation purposes.\r\n // We'll do that by injecting fake resources with the required names.\r\n //----------------------------------------------------------\r\n\r\n // Translate in code to avoid TypeScript seizures\r\n ['addressStreetLabel', 'addressStreetLabelOptional', 'addressStreetRequiredErrorMessage'].forEach(destKey => {\r\n const sourceKey = destKey.replace('Street', 'BillingAddress');\r\n this.resources[destKey] = this.resources[sourceKey];\r\n });\r\n //----------------------------------------------------------\r\n\r\n this.countryRegions = data.countryRegions.result || [];\r\n this.addressPurposes = data.addressPurposes.result || [];\r\n this.stateProvinceInfo = data.countryStates.result || [];\r\n this.addressFormat = new AddressFormat(\r\n this.countryRegions,\r\n new AddressMetaData({ ...this.resources }, // @CUSTOM: Use this.resources instead of resources\r\n this.excludedList, props.isRequired ? undefined : []),\r\n this.addressPurposes\r\n );\r\n this.addressCommon = new AddressCommon(context, this.resources, telemetry); // @CUSTOM: Use this.resources instead of resources\r\n this.validationError = {};\r\n this.telemetryContent = getTelemetryObject(this.props.context.request.telemetryPageName!, this.props.friendlyName, this.props.telemetry);\r\n }\r\n\r\n public componentDidMount(): void {\r\n // Initializing data props\r\n this._dataInitialize(this.props);\r\n\r\n this._setDefaultCountryRegionId();\r\n }\r\n\r\n public shouldComponentUpdate(nextProps: IBusinessAccountAddressExtendedProps, nextState: IBusinessAccountAddressState): 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 const { renderView, config, hasError, resetAddress } = this.props;\r\n\r\n // Business-sign-up will pass this flag when cancel button is clicked\r\n if (resetAddress) {\r\n this._resetAddressFields();\r\n }\r\n\r\n const viewProps = {\r\n ...this.props,\r\n countryRegionId: this.countryRegionId,\r\n stateProvinceInfo: this.stateProvinceInfo,\r\n validationError: this.validationError,\r\n addressActionResponse: this.addressActionResponse,\r\n hasError,\r\n className: config.className,\r\n BusinessAccountAddress: {\r\n moduleProps: this.props,\r\n className: classnames('ms-business-account-address', config.className)\r\n },\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 * Reset Address.\r\n */\r\n public _resetAddressFields = () => {\r\n const addressFormat = this.addressFormat.getAddressFormat(this.countryRegionId);\r\n\r\n addressFormat.map(addressFormatItem => {\r\n switch (addressFormatItem.displayType) {\r\n case AddressItemDisplayType.Input:\r\n this.addUpdateAddress[addressFormatItem.name] = '';\r\n break;\r\n case AddressItemDisplayType.Checkbox:\r\n this.addUpdateAddress[addressFormatItem.name] = false;\r\n break;\r\n default:\r\n switch (addressFormatItem.type) {\r\n case AddressItemType.ThreeLetterISORegionName:\r\n this.addUpdateAddress[addressFormatItem.name] = this.countryRegionId;\r\n break;\r\n case AddressItemType.AddressTypeValue:\r\n this.addUpdateAddress[addressFormatItem.name] = this.defaultAddressType;\r\n break;\r\n case AddressItemType.State:\r\n this.addUpdateAddress[addressFormatItem.name] = '';\r\n break;\r\n default:\r\n this.addUpdateAddress[addressFormatItem.name] = undefined;\r\n }\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * Method data initialization.\r\n * @param props -The account management props.\r\n */\r\n private readonly _dataInitialize = (props: IBusinessAccountAddressExtendedProps): 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 // Set validationError and hasError to hide error messages since in the B2B\r\n // request form, no errors would visually show since user wont be able to submit\r\n // until form is filled and correct\r\n /**\r\n * Render Add Or Update Address Function.\r\n * @returns - AddressAddUpdate.\r\n */\r\n private readonly _renderAddOrUpdateAddress = (): IAddressAddUpdateProps => {\r\n return AddressAddUpdate({\r\n isUpdating: this.isUpdating,\r\n resources: this.resources,\r\n addressType: AddressType.Company,\r\n addressFormat: this.addressFormat.getAddressFormat(this.countryRegionId),\r\n defaultCountryRegionId: this.countryRegionId,\r\n defaultAddressType: this.defaultAddressType,\r\n selectedAddress: this.addUpdateAddress,\r\n shouldAutoFocus: this.shouldAutoFocus,\r\n validationError: this.validationError,\r\n hasError: this.props.hasError,\r\n addressActionResponse: this.addressActionResponse,\r\n telemetryContent: this.telemetryContent,\r\n dropdownDisplayData: this.addressFormat.getPrefilledAddressDropdownData(\r\n this.resources.addressStateDefaultSelectionText,\r\n this.stateProvinceInfo\r\n ),\r\n onInputChange: this._onAddressAddUpdateInputChange,\r\n onDropdownChange: this._onAddressAddUpdateDropdownChange\r\n });\r\n };\r\n\r\n /**\r\n * On Address Add Update Input Change Function.\r\n * @param event - Input event change function.\r\n */\r\n private readonly _onAddressAddUpdateInputChange = (event: React.ChangeEvent): void => {\r\n this._updateAddress(event.target.name, event.target.value);\r\n };\r\n\r\n /**\r\n * On Address Add Update Dropdown Change Function.\r\n * @param event - Change dropdown event.\r\n */\r\n private readonly _onAddressAddUpdateDropdownChange = async (event: React.ChangeEvent): Promise => {\r\n if (event.target.name === AddressItemType[AddressItemType.ThreeLetterISORegionName]) {\r\n await this._updateCountryRegionId(event.target.value);\r\n } else {\r\n this._updateAddress(event.target.name, event.target.value);\r\n }\r\n };\r\n\r\n /**\r\n * Update Address Function.\r\n * @param name - String.\r\n * @param value - String.\r\n */\r\n private readonly _updateAddress = (name: string, value: string | number) => {\r\n //----------------------------------------------------------\r\n // @CUSTOM: Use this.resources instead of re-pulling from props\r\n //----------------------------------------------------------\r\n const { updateForm, isRequired } = this.props; // WAS: const { updateForm, isRequired, resources } = this.props;\r\n const resources = this.resources;\r\n //----------------------------------------------------------\r\n\r\n let cleanValue = value;\r\n if (typeof (value) === 'string') {\r\n cleanValue = (value || '').replace(new RegExp('[<>]', 'gi'), '');\r\n }\r\n set(this.addUpdateAddress, { [name]: cleanValue });\r\n\r\n if (this._isEmpty()) {\r\n if (isRequired) {\r\n updateForm(true, undefined);\r\n } else {\r\n // Reset addressFormat as if address was NOT a required field\r\n this.addressFormat = new AddressFormat(this.countryRegions, new AddressMetaData({ ...resources }, this.excludedList, []), this.addressPurposes);\r\n updateForm(false, this.addUpdateAddress);\r\n }\r\n } else {\r\n // Get new addressFormat as if address was a required field\r\n this.addressFormat = new AddressFormat(this.countryRegions,\r\n new AddressMetaData({ ...resources },\r\n this.excludedList, undefined\r\n ),\r\n this.addressPurposes);\r\n\r\n // Verify with new rules\r\n if (this.addressFormat.validateAddressFormat(this.addUpdateAddress, this.validationError, this.countryRegionId)) {\r\n updateForm(false, this.addUpdateAddress);\r\n } else {\r\n updateForm(true, undefined);\r\n }\r\n }\r\n };\r\n\r\n /**\r\n * Is empty Function.\r\n * @returns - Boolean.\r\n */\r\n // Walk through array and check if valued is defined or value is not an empty string\r\n private readonly _isEmpty = () => {\r\n const addressFormat = this.addressFormat.getAddressFormat(this.countryRegionId);\r\n for (const addressFormatItem of addressFormat) {\r\n if (addressFormatItem.type !== AddressItemType.ThreeLetterISORegionName || this._isInputRequired(addressFormatItem)) {\r\n const addressItemValue = this.addUpdateAddress[addressFormatItem.name];\r\n\r\n // Check each input field, if value is defined and not an empty string --> address is not empty\r\n if (addressItemValue || (addressItemValue && addressItemValue !== '')) {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n return true;\r\n };\r\n\r\n /**\r\n * Is Input Required Function.\r\n * @param addressFormatItem - IAddressItem.\r\n * @returns - Boolean.\r\n */\r\n private readonly _isInputRequired = (addressFormatItem: IAddressItem): boolean => {\r\n if (ObjectExtensions.isNullOrUndefined(addressFormatItem) || !addressFormatItem.validationRules || addressFormatItem.validationRules.length === 0) {\r\n return false;\r\n }\r\n\r\n for (const validationRule of addressFormatItem.validationRules) {\r\n if (validationRule.type === AddressValidationRuleType.Required) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n };\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 void this._updateCountryRegionId(this.addressCommon.getDefaultCountryRegionId(this.countryRegionId, this.countryRegions, market));\r\n\r\n // Set default AddressType\r\n set(this.addUpdateAddress, { AddressTypeValue: this.defaultAddressType });\r\n }\r\n\r\n /**\r\n * Update Country Region Id Function.\r\n * @param value - String.\r\n */\r\n private readonly _updateCountryRegionId = async (value: string) => {\r\n this.countryRegionId = value;\r\n\r\n await 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 this._updateAddress('State', '');\r\n }\r\n\r\n this.stateProvinceInfo = result;\r\n });\r\n\r\n this._updateAddress('ThreeLetterISORegionName', this.countryRegionId);\r\n };\r\n}\r\n\r\nexport default BusinessAccountAddress;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IAddressAddItem, IAddressAddUpdateProps } from '@msdyn365-commerce-modules/address';\r\nimport { IBusinessAccountAddressViewProps } from './umg-onboarding-address';\r\n\r\n/**\r\n * Address Add Update Component.\r\n * @param param0 - Root param.\r\n * @param param0.AddressForm - Address form.\r\n * @param param0.heading - Address Heading.\r\n * @param param0.items - IAddressAddItem[].\r\n * @param param0.hasError - Boolean.\r\n * @param param0.error - IAddressError.\r\n * @param param0.isShowSaveButton - Boolean.\r\n * @param param0.saveButton - Save button.\r\n * @param param0.isShowCancelButton - Boolean.\r\n * @param param0.cancelButton - Cancel button.\r\n * @returns - AddressForm Node.\r\n */\r\nconst AddressAddUpdate: React.FC = ({\r\n AddressForm,\r\n heading,\r\n items,\r\n hasError,\r\n error,\r\n isShowSaveButton,\r\n saveButton,\r\n isShowCancelButton,\r\n cancelButton\r\n}) => {\r\n\r\n return (\r\n \r\n {heading}\r\n {items.map((item: IAddressAddItem) => {\r\n const { AddressItem, key, label, alert, input } = item;\r\n return (\r\n \r\n {label}\r\n {hasError && alert}\r\n {input}\r\n \r\n );\r\n })}\r\n {hasError &&\r\n \r\n {error.title}\r\n {error.message}\r\n }\r\n {isShowSaveButton && saveButton}\r\n {isShowCancelButton && cancelButton}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Business Account Address View Component.\r\n * @param props - Props.\r\n * @returns - BusinessAccountAddress Module.\r\n */\r\nconst BusinessAccountAddressView: React.FC = props => {\r\n const { BusinessAccountAddress, showAddOrUpdateAddress } = props;\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default BusinessAccountAddressView;\r\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['umg-onboarding-address'] = {\n c: () => require('partner/modules/umg-onboarding-address/umg-onboarding-address.tsx'),\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:'countryStates', path:'@msdyn365-commerce-modules/address/dist/lib/actions/get-country-state', runOn: 0}],\n \n iNM: false,\n ns: '__local__',\n n: 'umg-onboarding-address',\n p: '__local__',\n \n pdp: '',\n \n \n md: 'src/modules/umg-onboarding-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/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 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|umg-onboarding-address|umg-onboarding-address'] = {\n c: () => require('partner/modules/umg-onboarding-address/umg-onboarding-address.view.tsx'),\n cn: '__local__-__local__-umg-onboarding-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, 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":["BusinessAccountAddress","React","constructor","props","super","countryRegionId","countryRegions","addressPurposes","defaultAddressType","shouldAutoFocus","excludedList","AddressItemType","Name","AddressTypeValue","IsPrimary","_resetAddressFields","this","addressFormat","getAddressFormat","map","addressFormatItem","displayType","AddressItemDisplayType","Input","addUpdateAddress","name","Checkbox","type","ThreeLetterISORegionName","State","undefined","_dataInitialize","data","reaction","result","_data$countryRegions$","_data$addressPurposes","countryStates","_data$countryStates$r","stateProvinceInfo","_renderAddOrUpdateAddress","AddressAddUpdate","isUpdating","resources","addressType","AddressType","Company","defaultCountryRegionId","selectedAddress","validationError","hasError","addressActionResponse","telemetryContent","dropdownDisplayData","getPrefilledAddressDropdownData","addressStateDefaultSelectionText","onInputChange","_onAddressAddUpdateInputChange","onDropdownChange","_onAddressAddUpdateDropdownChange","event","_updateAddress","target","value","async","_updateCountryRegionId","updateForm","isRequired","cleanValue","replace","RegExp","set","_isEmpty","AddressFormat","AddressMetaData","_objectSpread","validateAddressFormat","_isInputRequired","addressItemValue","ObjectExtensions","isNullOrUndefined","validationRules","length","validationRule","AddressValidationRuleType","Required","addressCommon","getStateProvinces","then","some","state","StateId","context","telemetry","AddressCommon","getTelemetryObject","request","telemetryPageName","friendlyName","componentDidMount","_setDefaultCountryRegionId","shouldComponentUpdate","nextProps","nextState","render","renderView","config","resetAddress","className","moduleProps","classnames","showAddOrUpdateAddress","_request$channel","market","channel","ChannelCountryRegionISOCode","getDefaultCountryRegionId","__decorate","observable","forEach","destKey","sourceKey","_ref","AddressForm","heading","items","error","isShowSaveButton","saveButton","isShowCancelButton","cancelButton","Node","Object","assign","item","AddressItem","key","label","alert","input","AddressError","title","message","Module","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","AccountManagementAddress","asyncCustAddressCreationFeatureName","editAsyncCustomerFeatureName","asyncCustomerAddressCreationFeatureIsEnabled","isEditAsyncCustomerFeatureEnabled","_onSuggestionSelected","_clearAddressFields","address","getTranformedAddress","Street","ZipCode","CountyName","City","DistrictName","FullAddress","setTimeout","format","_this$autoSuggest","autoSuggest","excludedAddressFields","includes","_clearValidation","_data$address$result","customerAddresses","Shipping","onSave","_onAddressAddUpdateSubmit","onCancel","_resetView","_renderListAddress","_this$props$data$cust","_this$props$context$a","text","headingTag","tag","AddressList","addresses","primaryAddressSectionHeading","otherAddressSectionHeading","contextRequest","handleLineItemHeadingChange","onEditAddress","_goToEditAddress","onRemoveAddress","_onRemoveAddress","onAddAddress","_goToAddAddress","onUpdatePrimaryAddress","_onSubmitUpdatePrimaryAddress","isAsyncCustomerAddressCreationFeatureEnabled","isAsyncCustomer","customerInformation","IsAsyncCustomer","canRenderAsyncCustomerDataAsUnmodifiable","app","_attachMapAutoSuggest","storeSelectorStateManager","_this$autoSuggest2","isMapApiLoaded","attachAutoSuggest","onAddressAddUpdate","checked","_onCountryChange","_onAddressUpdate","response","onSuccess","isAuthenticatedFlow","currentOperation","AddressOperation","Update","updateCustomerAddress","addCustomerAddress","Promise","resolve","_onAddOrUpdateSuccess","_this$autoSuggest3","twoLetterISORegionName","getTwoLetterISORegionName","TwoLetterISORegionName","changeAutoSuggestionCountryCode","_getAddressFormatExcludeList","addressFormatExcludeList","showAddressType","push","_getStateProvinces","Add","_updateCurrentOperation","operation","updateCustomerPrimaryAddress","_onUpdatePrimaryAddressSuccess","Deactivate","removeAddressData","_renderScreenReaderRemoveText","notification","formatNotification","removeAddressNotification","List","actionContext","requestContext","autoSuggestionEnabled","autoSuggestOptions","BingMapsApiKey","BingMapsEnabled","options","AutoSuggest","DefaultLanguageId","_this$props$data$stor","loadMapApi","_this$autoSuggest4","_loadMapAPI","_this$props$data$stor2","_this$props$data$stor3","_this$autoSuggest5","disposeAutoSuggest","_data$featureState","_data$featureState2","_this$props$context$a2","featureState","find","feature","IsEnabled","infoMessageBar","Msdyn365","accountProcessingPendingInfoMessageCanAddAddress","accountProcessingPendingInfoMessage","viewState","isShowAddresList","isShowAddOrUpdateAddress","AccountAddressManagement","showAddressList","screenReaderNotification","action","observer","AddressShow","AddressDetail","description","_ref2","isShowList","Item","showItems","isShowPrimaryButton","primaryButton","editButton","removeButton","isShowError","AddressLists","_ref3","ListAddress","isShowEmptyListMessage","emptyListMessage","addButton","primaryAddressList","otherAddressList","_ref4","module","exports","ReactDOM"],"sourceRoot":""}