{"version":3,"file":"static/js/42d273fa03f378dbb788.bundle.js","mappings":"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","sources":["webpack://@msdyn365-commerce-partners/fabrikam/./src/modules/britax-business-account-address/britax-business-account-address.tsx?ed0f","webpack://@msdyn365-commerce-partners/fabrikam/./src/modules/britax-business-account-address/britax-business-account-address.view.tsx?884e","webpack://@msdyn365-commerce-partners/fabrikam/./lib/britax-business-account-address/module-registration.js?2242","webpack://@msdyn365-commerce-partners/fabrikam/external var \"React\"?0d3b","webpack://@msdyn365-commerce-partners/fabrikam/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\n/* eslint-disable no-duplicate-imports */\r\nimport {\r\n Address,\r\n AddressPurpose,\r\n CountryRegionInfo,\r\n StateProvinceInfo,\r\n} from \"@msdyn365-commerce/retail-proxy\";\r\nimport {\r\n getTelemetryObject,\r\n IModuleProps,\r\n ITelemetryContent,\r\n} from \"@msdyn365-commerce-modules/utilities\";\r\nimport classnames from \"classnames\";\r\nimport { observable, 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 {\r\n AddressItemDisplayType,\r\n AddressItemType,\r\n} from \"@msdyn365-commerce-modules/address\";\r\nimport { AddressMetaData } from \"@msdyn365-commerce-modules/address\";\r\nimport {\r\n AddressOperation,\r\n AddressType,\r\n IAddressResource,\r\n IAddressResponse,\r\n} from \"@msdyn365-commerce-modules/address\";\r\nimport {\r\n AddressAddUpdate,\r\n IAddressAddUpdateProps,\r\n} from \"@msdyn365-commerce-modules/address\";\r\nimport { IBritaxBusinessAccountAddressData } from \"./britax-business-account-address.data\";\r\nimport { IBritaxBusinessAccountAddressProps } from \"./britax-business-account-address.props.autogenerated\";\r\n\r\nexport interface IBusinessAccountAddressExtendedProps\r\n extends IBritaxBusinessAccountAddressProps {\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\nexport interface IBusinessAccountAddressState {\r\n countryId?: string;\r\n states?: StateProvinceInfo[];\r\n}\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 IBusinessAccountAddressExtendedProps,\r\n IBusinessAccountAddressState\r\n> {\r\n @observable private addUpdateAddress: Address;\r\n\r\n @observable private countryRegionId: string = \"DEU\";\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 readonly countryRegions: CountryRegionInfo[];\r\n\r\n private readonly addressPurposes: AddressPurpose[];\r\n\r\n private readonly resources: IAddressResource;\r\n\r\n // VSI-Customization code upgrade 10.0.32 Talha ADO:2621\r\n private readonly defaultAddressType: number = 0; // Default to None (This value set in HQ as Business)\r\n\r\n private readonly excludedList: AddressItemType[] = [\r\n AddressItemType.Name,\r\n AddressItemType.AddressTypeValue,\r\n AddressItemType.IsPrimary,\r\n ]; // Default to hiding Name and AddressType inputs\r\n\r\n private readonly telemetryContent: ITelemetryContent;\r\n\r\n constructor(props: IBusinessAccountAddressExtendedProps) {\r\n super(props);\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(\r\n { ...resources },\r\n this.excludedList,\r\n props.isRequired ? undefined : []\r\n ),\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 this._setDefaultCountryRegionId();\r\n }\r\n\r\n public shouldComponentUpdate(\r\n nextProps: IBusinessAccountAddressExtendedProps,\r\n nextState: IBusinessAccountAddressState\r\n ): boolean {\r\n if (this.state === nextState && this.props.data === nextProps.data) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n 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 public _resetAddressFields = () => {\r\n const addressFormat = this.addressFormat.getAddressFormat(\r\n 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] =\r\n this.countryRegionId;\r\n break;\r\n case AddressItemType.AddressTypeValue:\r\n this.addUpdateAddress[addressFormatItem.name] =\r\n 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 // 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 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 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 private readonly _onAddressAddUpdateInputChange = (\r\n event: React.ChangeEvent\r\n ): void => {\r\n this._updateAddress(event.target.name, event.target.value);\r\n };\r\n\r\n private readonly _onAddressAddUpdateDropdownChange = async (\r\n event: React.ChangeEvent\r\n ): Promise => {\r\n if (\r\n event.target.name ===\r\n AddressItemType[AddressItemType.ThreeLetterISORegionName]\r\n ) {\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 private readonly _updateAddress = (name: string, value: string | number) => {\r\n const { updateForm, resources } = this.props;\r\n let cleanValue = value;\r\n if (typeof value === \"string\") {\r\n cleanValue = (value || \"\").replace(new RegExp(\"[<>]\", \"gi\"), \"\");\r\n }\r\n set(this.addUpdateAddress, { [name]: cleanValue });\r\n\r\n // if (this._isEmpty()) {\r\n // if (isRequired) {\r\n // updateForm(true, undefined);\r\n // } else {\r\n // // Reset addressFormat as if address was NOT a required field\r\n // this.addressFormat = new AddressFormat(this.countryRegions, new AddressMetaData({ ...resources }, this.excludedList, []), this.addressPurposes);\r\n // updateForm(false, this.addUpdateAddress);\r\n // }\r\n // } else {\r\n // Get new addressFormat as if address was a required field\r\n this.addressFormat = new AddressFormat(\r\n this.countryRegions,\r\n new AddressMetaData({ ...resources }, this.excludedList, undefined),\r\n this.addressPurposes\r\n );\r\n\r\n // Verify with new rules\r\n if (\r\n this.addressFormat.validateAddressFormat(\r\n this.addUpdateAddress,\r\n this.validationError,\r\n this.countryRegionId\r\n )\r\n ) {\r\n updateForm(false, this.addUpdateAddress);\r\n } else {\r\n updateForm(true, undefined);\r\n }\r\n // }\r\n };\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 // private readonly _isInputRequired = (addressFormatItem: IAddressItem): boolean => {\r\n\r\n // if (addressFormatItem === null || !addressFormatItem.validationRules || addressFormatItem.validationRules.length === 0) {\r\n // return false;\r\n // }\r\n\r\n // for (const validationRule of addressFormatItem.validationRules) {\r\n // if (validationRule.type === AddressValidationRuleType.Required) {\r\n // return false;\r\n // }\r\n // }\r\n\r\n // return true;\r\n // };\r\n\r\n private _setDefaultCountryRegionId(): void {\r\n const { request } = this.props.context;\r\n const market =\r\n request && request.channel && request.channel.ChannelCountryRegionISOCode;\r\n\r\n this._updateCountryRegionId(\r\n this.addressCommon.getDefaultCountryRegionId(\r\n this.countryRegionId,\r\n this.countryRegions,\r\n market\r\n )\r\n );\r\n\r\n // Set default AddressType\r\n set(this.addUpdateAddress, { AddressTypeValue: this.defaultAddressType });\r\n }\r\n\r\n private readonly _updateCountryRegionId = async (value: string) => {\r\n this.countryRegionId = value;\r\n\r\n await this.addressCommon\r\n .getStateProvinces(this.countryRegionId)\r\n .then((result: StateProvinceInfo[]) => {\r\n const stateInfo = result.some(\r\n (state) => state.StateId === this.addUpdateAddress.State\r\n );\r\n\r\n // Reset state if selected state not found in the list.\r\n if (!stateInfo) {\r\n this._updateAddress(\"State\", \"\");\r\n }\r\n\r\n this.stateProvinceInfo = result;\r\n });\r\n\r\n this._updateAddress(\"ThreeLetterISORegionName\", this.countryRegionId);\r\n };\r\n}\r\n\r\nexport default BusinessAccountAddress;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { Module, Node } from \"@msdyn365-commerce-modules/utilities\";\r\nimport * as React from \"react\";\r\n\r\nimport { IAddressAddUpdateProps } from \"@msdyn365-commerce-modules/address\";\r\n\r\nconst AddressAddUpdate: React.FC = (props: any) => {\r\n const {\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 resources,\r\n } = props;\r\n\r\n return (\r\n \r\n {heading}\r\n {items &&\r\n items.map((item: any) => {\r\n const { AddressItem, key, label, alert, input } = item;\r\n\r\n if (item.key === \"State\") {\r\n if (item.input.props.displayData.length > 1) {\r\n \r\n {label}\r\n {input}\r\n {hasError && alert}\r\n ;\r\n } else {\r\n input.props.displayData.push({\r\n key: \"No state\",\r\n value: \"No state\",\r\n });\r\n\r\n return (\r\n \r\n {label}\r\n {input}\r\n {hasError && alert}\r\n \r\n );\r\n }\r\n }\r\n\r\n if (item.key === \"Phone\") {\r\n return (\r\n \r\n {label}\r\n {input}\r\n \r\n {resources.requiredFieldMissingError}\r\n \r\n {hasError && alert}\r\n \r\n );\r\n }\r\n return (\r\n \r\n {label}\r\n {input}\r\n {hasError && alert}\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\nconst BusinessAccountAddressView: React.FC = (props) => {\r\n const { BusinessAccountAddress, showAddOrUpdateAddress, resources } = props;\r\n const zipCode: any =\r\n typeof document != \"undefined\"\r\n ? document.querySelector(\"#company_addresszipcode\")\r\n : null;\r\n if (zipCode) {\r\n zipCode.setAttribute(\"type\", \"text\");\r\n }\r\n const phone: any =\r\n typeof document != \"undefined\"\r\n ? document.querySelector(\"#company_addressphone\")\r\n : null;\r\n if (phone) {\r\n phone?.setAttribute(\"type\", \"tel\");\r\n phone?.setAttribute(\"pattern\", \"[d+ ]*$\");\r\n }\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['britax-business-account-address'] = {\n c: () => require('partner/modules/britax-business-account-address/britax-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: 'britax-business-account-address',\n p: '__local__',\n \n pdp: '',\n \n \n md: 'src/modules/britax-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|britax-business-account-address|britax-business-account-address'] = {\n c: () => require('partner/modules/britax-business-account-address/britax-business-account-address.view.tsx'),\n cn: '__local__-__local__-britax-business-account-address'\n };\nwindow.__bindings__ = window.__bindings__ || {};\nwindow.__bindings__.viewDictionary = {\n ...window.__bindings__.viewDictionary || {},\n ...viewDictionary\n };","module.exports = React;","module.exports = ReactDOM;"],"names":["BusinessAccountAddress","React","constructor","props","super","countryRegionId","defaultAddressType","excludedList","AddressItemType","Name","AddressTypeValue","IsPrimary","_resetAddressFields","this","addressFormat","getAddressFormat","map","addressFormatItem","displayType","AddressItemDisplayType","Input","addUpdateAddress","name","Checkbox","type","ThreeLetterISORegionName","State","undefined","_renderAddOrUpdateAddress","AddressAddUpdate","isUpdating","resources","addressType","AddressType","Company","defaultCountryRegionId","selectedAddress","validationError","hasError","addressActionResponse","telemetryContent","dropdownDisplayData","getPrefilledAddressDropdownData","addressStateDefaultSelectionText","stateProvinceInfo","onInputChange","_onAddressAddUpdateInputChange","onDropdownChange","_onAddressAddUpdateDropdownChange","event","_updateAddress","target","value","async","_updateCountryRegionId","updateForm","cleanValue","replace","RegExp","set","AddressFormat","countryRegions","AddressMetaData","_objectSpread","addressPurposes","validateAddressFormat","addressCommon","getStateProvinces","then","result","some","state","StateId","context","data","telemetry","countryStates","isRequired","AddressCommon","getTelemetryObject","request","telemetryPageName","friendlyName","componentDidMount","_setDefaultCountryRegionId","shouldComponentUpdate","nextProps","nextState","render","renderView","config","resetAddress","className","moduleProps","classnames","showAddOrUpdateAddress","market","channel","ChannelCountryRegionISOCode","getDefaultCountryRegionId","__decorate","observable","AddressForm","heading","items","error","isShowSaveButton","saveButton","isShowCancelButton","cancelButton","Node","Object","assign","item","AddressItem","key","label","alert","input","displayData","length","push","id","style","display","requiredFieldMissingError","AddressError","title","message","zipCode","document","querySelector","setAttribute","phone","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","module","exports","ReactDOM"],"sourceRoot":""}