{"version":3,"file":"static/js/606fd4ec4596ad3d64ff.bundle.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/modules/sysco-business-account-address/common/address-format.data.ts?8ab0","webpack://Msdyn365.Commerce.Online/./src/modules/sysco-business-account-address/common/address-meta-data.ts?bda7","webpack://Msdyn365.Commerce.Online/./src/modules/sysco-business-account-address/sysco-business-account-address.tsx?32f3","webpack://Msdyn365.Commerce.Online/./src/modules/sysco-business-account-address/sysco-business-account-address.view.tsx?f1e9","webpack://Msdyn365.Commerce.Online/./lib/sysco-business-account-address/module-registration.js?27af","webpack://Msdyn365.Commerce.Online/./src/modules/account-management-address/account-management-address.tsx?27e7","webpack://Msdyn365.Commerce.Online/./src/modules/account-management-address/account-management-address.view.tsx?8c9f","webpack://Msdyn365.Commerce.Online/./src/modules/business-account-address/business-account-address.tsx?299e","webpack://Msdyn365.Commerce.Online/./src/modules/business-account-address/business-account-address.view.tsx?5078","webpack://Msdyn365.Commerce.Online/external var \"React\"?0d3b","webpack://Msdyn365.Commerce.Online/external var \"ReactDOM\"?853b"],"sourcesContent":["/*--------------------------------------------------------------\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\nexport enum AddressItemDisplayType {\r\n Input = 'Input',\r\n Dropdown = 'Dropdown',\r\n Checkbox = 'Checkbox'\r\n}\r\n\r\nexport enum AddressValidationRuleType {\r\n Required = 'Required',\r\n Format = 'Format',\r\n MaxLength = 'MaxLength'\r\n}\r\n\r\nexport enum AddressItemType {\r\n Name = 1001,\r\n Phone = 1002,\r\n IsPrimary = 1003,\r\n AddressTypeValue = 1004,\r\n ZipCode = 1,\r\n City = 2,\r\n County = 3,\r\n State = 4,\r\n ThreeLetterISORegionName = 5,\r\n Street = 6,\r\n DistrictName = 7,\r\n StreetNumber = 8,\r\n BuildingCompliment = 9,\r\n Postbox = 10,\r\n House_RU = 21,\r\n Flat_RU = 22,\r\n CountryOKSMCode_RU = 23\r\n}\r\n\r\nexport interface IAddressItem {\r\n name: string;\r\n type: AddressItemType;\r\n label: string;\r\n maxLength: number;\r\n displayType: AddressItemDisplayType;\r\n validationRules?: IAddressValidationRule[];\r\n isNewLine: boolean;\r\n}\r\n\r\nexport interface IAddressValidationRule {\r\n type: AddressValidationRuleType;\r\n regEx: string;\r\n message: string;\r\n}\r\n\r\nexport interface IAddressDropdownsData {\r\n [index: string]: { key?: string | number; value?: string }[];\r\n}\r\n\r\nexport interface IAddressFormatData {\r\n addressItems: IAddressItem[];\r\n addressDropdownsData?: IAddressDropdownsData;\r\n}\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// import { PhoneRegex } from '@msdyn365-commerce-modules/retail-actions';\r\n\r\nimport {\r\n AddressItemDisplayType,\r\n AddressItemType,\r\n AddressValidationRuleType,\r\n IAddressItem,\r\n IAddressValidationRule\r\n} from './address-format.data';\r\nimport { IAddressResource } from './address-module.data';\r\n\r\n/**\r\n * Address meta data.\r\n */\r\nexport class AddressMetaData {\r\n private readonly metaData: IAddressItem[] = [];\r\n\r\n private readonly resources: IAddressResource;\r\n\r\n private readonly requiredFieldRegEx: string = '\\\\S';\r\n\r\n private readonly maxLengthRegEx: string = '^.{0,20}$';\r\n\r\n private readonly resourcesPrefix: string = 'address';\r\n\r\n private readonly maxLength: number = 64;\r\n\r\n private readonly requiredFields: AddressItemType[];\r\n\r\n private readonly excludedTypes: AddressItemType[];\r\n\r\n constructor(resources: IAddressResource, excluded?: AddressItemType[], required?: AddressItemType[]) {\r\n this.resources = resources || {};\r\n this.excludedTypes = excluded || [];\r\n this.requiredFields =\r\n required !== undefined\r\n ? required\r\n : [\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 ];\r\n this._init();\r\n }\r\n\r\n public getItemFormat(id: number): IAddressItem | undefined {\r\n return this.metaData.find(item => {\r\n return item.type === id;\r\n });\r\n }\r\n\r\n private _init(): void {\r\n this._addItem(AddressItemType.Name, AddressItemDisplayType.Input);\r\n this._addItem(\r\n AddressItemType.Phone,\r\n AddressItemDisplayType.Input,\r\n '^(?:\\\\d{10}|\\\\d{3}-\\\\d{3}-\\\\d{4}|\\\\(\\\\d{3}\\\\)\\\\d{3}-\\\\d{4}|\\\\(\\\\d{3}\\\\) \\\\d{3}-\\\\d{4})$'\r\n );\r\n this._addItem(AddressItemType.ZipCode, AddressItemDisplayType.Input);\r\n this._addItem(AddressItemType.City, AddressItemDisplayType.Input);\r\n this._addItem(AddressItemType.County, AddressItemDisplayType.Input);\r\n this._addItem(AddressItemType.State, AddressItemDisplayType.Dropdown);\r\n this._addItem(AddressItemType.ThreeLetterISORegionName, AddressItemDisplayType.Dropdown);\r\n this._addItem(AddressItemType.Street, AddressItemDisplayType.Input);\r\n this._addItem(AddressItemType.DistrictName, AddressItemDisplayType.Input);\r\n this._addItem(AddressItemType.StreetNumber, AddressItemDisplayType.Input);\r\n this._addItem(AddressItemType.BuildingCompliment, AddressItemDisplayType.Input);\r\n this._addItem(AddressItemType.Postbox, AddressItemDisplayType.Input);\r\n this._addItem(AddressItemType.House_RU, AddressItemDisplayType.Input);\r\n this._addItem(AddressItemType.Flat_RU, AddressItemDisplayType.Input);\r\n this._addItem(AddressItemType.CountryOKSMCode_RU, AddressItemDisplayType.Input);\r\n this._addItem(AddressItemType.AddressTypeValue, AddressItemDisplayType.Dropdown);\r\n this._addItem(AddressItemType.IsPrimary, AddressItemDisplayType.Checkbox);\r\n }\r\n\r\n private _addItem(type: AddressItemType, displayType: AddressItemDisplayType, format?: string): void {\r\n if (this.excludedTypes.includes(type)) {\r\n return;\r\n }\r\n\r\n const nameKey = AddressItemType[type].replace('_', '');\r\n\r\n // Find out if currentItem is required field\r\n const validationRules = this._validationRules(type, nameKey, format);\r\n const isRequired = validationRules.some(rule => rule.type === AddressValidationRuleType.Required);\r\n\r\n // If no optional string is provided in resource file, use the original label text\r\n const optionalString =\r\n // @ts-ignore\r\n this.resources[`${this.resourcesPrefix}${nameKey}LabelOptional`] || this.resources[`${this.resourcesPrefix}${nameKey}Label`];\r\n const item: IAddressItem = {\r\n type,\r\n displayType,\r\n name: AddressItemType[type],\r\n // @ts-ignore\r\n label: isRequired ? this.resources[`${this.resourcesPrefix}${nameKey}Label`] : optionalString,\r\n maxLength: this.maxLength,\r\n validationRules,\r\n isNewLine: true\r\n };\r\n\r\n this.metaData.push(item);\r\n }\r\n\r\n private _validationRules(type: AddressItemType, name: string, format?: string): IAddressValidationRule[] {\r\n const validationRules: IAddressValidationRule[] = [];\r\n\r\n for (const ruleType of Object.keys(AddressValidationRuleType)) {\r\n const key = `${this.resourcesPrefix}${name}${ruleType}`;\r\n // @ts-ignore\r\n const message: string = this.resources[`${key}ErrorMessage`];\r\n switch (ruleType) {\r\n case AddressValidationRuleType.Required: {\r\n if (this.requiredFields.find((itemType: AddressItemType) => itemType === type)) {\r\n validationRules.push(this._validationRule(ruleType, this.requiredFieldRegEx, message));\r\n }\r\n break;\r\n }\r\n case AddressValidationRuleType.Format: {\r\n validationRules.push(this._validationRule(ruleType, format!, message));\r\n break;\r\n }\r\n case AddressValidationRuleType.MaxLength: {\r\n if (type === AddressItemType.Phone) {\r\n validationRules.push(this._validationRule(ruleType, this.maxLengthRegEx, message));\r\n }\r\n\r\n break;\r\n }\r\n default:\r\n }\r\n }\r\n return validationRules;\r\n }\r\n\r\n private _validationRule(type: AddressValidationRuleType, regEx: string, message: string): IAddressValidationRule {\r\n return {\r\n type,\r\n regEx,\r\n message\r\n };\r\n }\r\n}\r\n","/* eslint-disable @typescript-eslint/no-floating-promises */\r\n/*!\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 { 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 './common/address-meta-data';\r\nimport { AddressOperation, AddressType, IAddressResource, IAddressResponse } from '@msdyn365-commerce-modules/address';\r\nimport { AddressAddUpdate, IAddressAddUpdateProps } from '@msdyn365-commerce-modules/address';\r\nimport { ISyscoBusinessAccountAddressData } from './sysco-business-account-address.data';\r\nimport {\r\n ISyscoBusinessAccountAddressConfig,\r\n ISyscoBusinessAccountAddressProps,\r\n ISyscoBusinessAccountAddressResources\r\n} from './sysco-business-account-address.props.autogenerated';\r\n\r\n/**\r\n * Interface for IBusinessAccountAddressExtendedProps.\r\n */\r\nexport interface IBusinessAccountAddressExtendedProps extends ISyscoBusinessAccountAddressProps {\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 inputDirty: Record;\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 inputDirty: Record;\r\n resources: ISyscoBusinessAccountAddressResources;\r\n config: ISyscoBusinessAccountAddressConfig;\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 // @ts-ignore\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 this.state = {\r\n inputDirty: {}\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 inputDirty: this.state.inputDirty\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 //@ts-ignore\r\n this.addUpdateAddress[addressFormatItem.name] = '';\r\n break;\r\n case AddressItemDisplayType.Checkbox:\r\n //@ts-ignore\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 //@ts-ignore\r\n this.addUpdateAddress[addressFormatItem.name] = this.countryRegionId;\r\n break;\r\n case AddressItemType.AddressTypeValue:\r\n //@ts-ignore\r\n this.addUpdateAddress[addressFormatItem.name] = this.defaultAddressType;\r\n break;\r\n case AddressItemType.State:\r\n //@ts-ignore\r\n this.addUpdateAddress[addressFormatItem.name] = '';\r\n break;\r\n default:\r\n //@ts-ignore\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, doNotUpdateIsDirty?: boolean) => {\r\n const { updateForm, resources } = this.props;\r\n if (!doNotUpdateIsDirty) {\r\n this.setState(prevState => ({\r\n inputDirty: {\r\n ...prevState.inputDirty,\r\n [name]: { isDirty: true, value: value }\r\n }\r\n }));\r\n }\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 // @ts-ignore\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 // @ts-ignore\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 //@ts-ignore\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', '', true);\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 './sysco-business-account-address';\r\nimport {\r\n ISyscoBusinessAccountAddressConfig,\r\n ISyscoBusinessAccountAddressResources\r\n} from './sysco-business-account-address.props.autogenerated';\r\n\r\nconst errorCircleSvg = (\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n);\r\n\r\nconst mobileNumberRegex = /^(?:\\d{10}|\\d{3}-\\d{3}-\\d{4}|\\(\\d{3}\\)\\d{3}-\\d{4}|\\(\\d{3}\\) \\d{3}-\\d{4})$/;\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 resources: ISyscoBusinessAccountAddressResources;\r\n config: ISyscoBusinessAccountAddressConfig;\r\n}> = ({\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 inputDirty,\r\n resources,\r\n config\r\n}) => {\r\n const errorComp = (itemKey: string): React.ReactNode => {\r\n if (!inputDirty?.[itemKey]?.isDirty) {\r\n return null;\r\n }\r\n const { value } = inputDirty[itemKey];\r\n const { fieldRequiredError, mobileNoValidationError } = resources;\r\n const { mobileNoValidationErrorConfig } = config;\r\n if (!value) {\r\n return (\r\n <>\r\n {errorCircleSvg}\r\n {fieldRequiredError}\r\n \r\n );\r\n }\r\n if (itemKey === 'Phone' && !mobileNumberRegex.test(String(value))) {\r\n return (\r\n <>\r\n {errorCircleSvg}\r\n {mobileNoValidationErrorConfig ?? mobileNoValidationError}\r\n \r\n );\r\n }\r\n return null;\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 if (item.key?.toLocaleLowerCase() === 'county') {\r\n return null;\r\n } else {\r\n return (\r\n \r\n {label}\r\n {hasError && alert}\r\n {input}\r\n {item?.key && inputDirty && inputDirty?.[item.key] && (\r\n
{errorComp(item.key)}
\r\n )}\r\n
\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, inputDirty, resources, config } = 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['sysco-business-account-address'] = {\n c: () => require('partner/modules/sysco-business-account-address/sysco-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: 'sysco-business-account-address',\n p: '__local__',\n \n pdp: '',\n \n \n md: 'src/modules/sysco-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|sysco-business-account-address|sysco-business-account-address'] = {\n c: () => require('partner/modules/sysco-business-account-address/sysco-business-account-address.view.tsx'),\n cn: '__local__-__local__-sysco-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 const formattedValue = name === 'Phone' ? value.toString().trim() : value;\n set(this.addUpdateAddress, { [name]: formattedValue });\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":["AddressItemDisplayType","AddressValidationRuleType","AddressItemType","AddressMetaData","constructor","resources","excluded","required","metaData","requiredFieldRegEx","maxLengthRegEx","resourcesPrefix","maxLength","this","excludedTypes","requiredFields","undefined","AddressTypeValue","Name","ZipCode","City","State","ThreeLetterISORegionName","Street","_init","getItemFormat","id","find","item","type","_addItem","Input","Phone","County","Dropdown","DistrictName","StreetNumber","BuildingCompliment","Postbox","House_RU","Flat_RU","CountryOKSMCode_RU","IsPrimary","Checkbox","displayType","format","includes","nameKey","replace","validationRules","_validationRules","isRequired","some","rule","Required","optionalString","name","label","isNewLine","push","ruleType","Object","keys","key","message","itemType","_validationRule","Format","MaxLength","regEx","BusinessAccountAddress","React","props","super","countryRegionId","countryRegions","addressPurposes","defaultAddressType","shouldAutoFocus","excludedList","_resetAddressFields","addressFormat","getAddressFormat","map","addressFormatItem","addUpdateAddress","_dataInitialize","data","reaction","result","_data$countryRegions$","_data$addressPurposes","countryStates","_data$countryStates$r","stateProvinceInfo","_renderAddOrUpdateAddress","AddressAddUpdate","isUpdating","addressType","AddressType","Company","defaultCountryRegionId","selectedAddress","validationError","hasError","addressActionResponse","telemetryContent","dropdownDisplayData","getPrefilledAddressDropdownData","addressStateDefaultSelectionText","onInputChange","_onAddressAddUpdateInputChange","onDropdownChange","_onAddressAddUpdateDropdownChange","event","_updateAddress","target","value","async","_updateCountryRegionId","doNotUpdateIsDirty","updateForm","setState","prevState","inputDirty","_objectSpread","isDirty","cleanValue","RegExp","set","_isEmpty","AddressFormat","validateAddressFormat","_isInputRequired","addressItemValue","ObjectExtensions","isNullOrUndefined","length","validationRule","addressCommon","getStateProvinces","then","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","errorCircleSvg","xmlns","width","height","viewBox","fill","stroke","transform","cx","cy","r","d","mobileNumberRegex","_ref","AddressForm","heading","items","error","isShowSaveButton","saveButton","isShowCancelButton","cancelButton","Node","assign","_item$key","AddressItem","alert","input","toLocaleLowerCase","style","display","marginTop","color","gap","itemKey","_inputDirty$itemKey","fieldRequiredError","mobileNoValidationError","mobileNoValidationErrorConfig","test","String","errorComp","AddressError","title","Module","binding","modules","dataActions","registerSanitizedActionPath","sanitizedActionPath","dataAction","default","Error","prototype","RegistrationId","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","FullAddress","setTimeout","forEach","_this$autoSuggest","autoSuggest","excludedAddressFields","_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","formattedValue","toString","trim","checked","_onCountryChange","_onAddressUpdate","response","onSuccess","isAuthenticatedFlow","currentOperation","AddressOperation","Update","updateCustomerAddress","addCustomerAddress","Promise","resolve","_onAddOrUpdateSuccess","_this$autoSuggest3","twoLetterISORegionName","getTwoLetterISORegionName","TwoLetterISORegionName","changeAutoSuggestionCountryCode","_getAddressFormatExcludeList","addressFormatExcludeList","showAddressType","_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","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":""}