{"version":3,"file":"static/js/c619e7fab5e305a5b4ec.bundle.js","mappings":"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","sources":["webpack://illumina-commerce/./src/modules/nss-c-business-account-address/nss-c-business-account-address.tsx?73a6","webpack://illumina-commerce/./src/modules/nss-c-business-account-address/nss-c-business-account-address.view.tsx?b356","webpack://illumina-commerce/./lib/nss-c-business-account-address/module-registration.js?93e2","webpack://illumina-commerce/./src/modules/account-management-address/account-management-address.tsx?27e7","webpack://illumina-commerce/./src/modules/account-management-address/account-management-address.view.tsx?8c9f","webpack://illumina-commerce/./src/modules/business-account-address/business-account-address.tsx?299e","webpack://illumina-commerce/./src/modules/business-account-address/business-account-address.view.tsx?5078","webpack://illumina-commerce/external var \"React\"?0d3b","webpack://illumina-commerce/external var \"ReactDOM\"?853b"],"sourcesContent":["/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { 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 } from '@msdyn365-commerce-modules/address';\r\nimport { AddressFormat } from '@msdyn365-commerce-modules/address';\r\nimport { AddressItemDisplayType, AddressItemType, AddressValidationRuleType, IAddressItem } from '@msdyn365-commerce-modules/address';\r\nimport { AddressMetaData } from '@msdyn365-commerce-modules/address';\r\nimport { AddressOperation, AddressType, IAddressResource, IAddressResponse } from '@msdyn365-commerce-modules/address';\r\nimport { AddressAddUpdate, IAddressAddUpdateProps } from '@msdyn365-commerce-modules/address';\r\nimport { INssCBusinessAccountAddressData } from './nss-c-business-account-address.data';\r\nimport { INssCBusinessAccountAddressProps } from './nss-c-business-account-address.props.autogenerated';\r\n\r\n/**\r\n * Interface for IBusinessAccountAddressExtendedProps.\r\n */\r\nexport interface IBusinessAccountAddressExtendedProps extends INssCBusinessAccountAddressProps {\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 = 0; // Default to None (This value set in HQ as 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 private readonly requiredFields: AddressItemType[] = [\r\n AddressItemType.AddressTypeValue,\r\n AddressItemType.Name,\r\n AddressItemType.ZipCode,\r\n AddressItemType.City,\r\n AddressItemType.State,\r\n AddressItemType.ThreeLetterISORegionName,\r\n AddressItemType.Street,\r\n AddressItemType.Phone\r\n ];\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;\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({ ...resources }, this.excludedList, this.requiredFields),\r\n this.addressPurposes\r\n );\r\n this.addressCommon = new AddressCommon(context, resources, telemetry);\r\n this.validationError = {};\r\n this.telemetryContent = getTelemetryObject(\r\n this.props.context.request.telemetryPageName!,\r\n this.props.friendlyName,\r\n this.props.telemetry\r\n );\r\n }\r\n\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 // eslint-disable-next-line @typescript-eslint/naming-convention\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 const { updateForm, resources } = this.props;\r\n const isRequired = true;\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(\r\n this.countryRegions,\r\n new AddressMetaData({ ...resources }, this.excludedList, this.requiredFields),\r\n this.addressPurposes\r\n );\r\n updateForm(false, this.addUpdateAddress);\r\n }\r\n } else {\r\n // Get new addressFormat if address was a required field\r\n this.addressFormat = new AddressFormat(\r\n this.countryRegions,\r\n new AddressMetaData({ ...resources }, this.excludedList, this.requiredFields),\r\n this.addressPurposes\r\n );\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 (\r\n ObjectExtensions.isNullOrUndefined(addressFormatItem) ||\r\n !addressFormatItem.validationRules ||\r\n addressFormatItem.validationRules.length === 0\r\n ) {\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 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.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { 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 './nss-c-business-account-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 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 )}\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['nss-c-business-account-address'] = {\n c: () => require('partner/modules/nss-c-business-account-address/nss-c-business-account-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: 'nss-c-business-account-address',\n p: '__local__',\n \n pdp: '',\n \n \n md: 'src/modules/nss-c-business-account-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|nss-c-business-account-address|nss-c-business-account-address'] = {\n c: () => require('partner/modules/nss-c-business-account-address/nss-c-business-account-address.view.tsx'),\n cn: '__local__-__local__-nss-c-business-account-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\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","/*!\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","/*!\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 { IBusinessAccountAddressViewProps } from './business-account-address';\n\n/**\n * Address Add Update Component.\n * @param param0 - Root param.\n * @param param0.AddressForm - Address form.\n * @param param0.heading - Address Heading.\n * @param param0.items - IAddressAddItem[].\n * @param param0.hasError - Boolean.\n * @param param0.error - IAddressError.\n * @param param0.isShowSaveButton - Boolean.\n * @param param0.saveButton - Save button.\n * @param param0.isShowCancelButton - Boolean.\n * @param param0.cancelButton - Cancel button.\n * @returns - AddressForm Node.\n */\nconst AddressAddUpdate: React.FC = ({\n AddressForm,\n heading,\n items,\n hasError,\n error,\n isShowSaveButton,\n saveButton,\n isShowCancelButton,\n cancelButton\n}) => {\n return (\n \n {heading}\n {items.map((item: IAddressAddItem) => {\n const { AddressItem, key, label, alert, input } = item;\n return (\n \n {label}\n {hasError && 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 * Business Account Address View Component.\n * @param props - Props.\n * @returns - BusinessAccountAddress Module.\n */\nconst BusinessAccountAddressView: React.FC = props => {\n const { BusinessAccountAddress, showAddOrUpdateAddress } = props;\n\n return (\n \n \n \n );\n};\n\nexport default BusinessAccountAddressView;\n","module.exports = React;","module.exports = ReactDOM;"],"names":["BusinessAccountAddress","React","constructor","props","super","countryRegionId","countryRegions","addressPurposes","defaultAddressType","shouldAutoFocus","excludedList","AddressItemType","Name","AddressTypeValue","IsPrimary","requiredFields","ZipCode","City","State","ThreeLetterISORegionName","Street","Phone","_resetAddressFields","this","addressFormat","getAddressFormat","map","addressFormatItem","displayType","AddressItemDisplayType","Input","addUpdateAddress","name","Checkbox","type","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","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","_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","CountyName","DistrictName","FullAddress","setTimeout","forEach","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","isRequired","module","exports","ReactDOM"],"sourceRoot":""}