{"version":3,"file":"static/js/20.9f0e5a2e10154748c000.chunk.js","mappings":"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ACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MAC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","sources":["webpack://venchi-ecommerce-msdyn365/./src/modules/custom-checkout-shipping-address/common/address-autosuggest.ts?d373","webpack://venchi-ecommerce-msdyn365/./src/modules/custom-checkout-shipping-address/actions/get-state-provinces.ts?4008","webpack://venchi-ecommerce-msdyn365/./src/modules/custom-checkout-shipping-address/common/address-common.ts?f4cc","webpack://venchi-ecommerce-msdyn365/./src/modules/custom-checkout-shipping-address/common/address-format.data.ts?1ce5","webpack://venchi-ecommerce-msdyn365/./src/modules/custom-checkout-shipping-address/common/address-module.data.ts?c633","webpack://venchi-ecommerce-msdyn365/./src/modules/custom-checkout-shipping-address/common/address-format.ts?b9ef","webpack://venchi-ecommerce-msdyn365/./src/modules/custom-checkout-shipping-address/common/address-meta-data.ts?e0f3","webpack://venchi-ecommerce-msdyn365/./src/modules/custom-checkout-shipping-address/common/components/address-alert.tsx?99d1","webpack://venchi-ecommerce-msdyn365/./src/modules/custom-checkout-shipping-address/common/components/address-button.tsx?55d4","webpack://venchi-ecommerce-msdyn365/./src/modules/custom-checkout-shipping-address/common/components/address-checkbox.tsx?0721","webpack://venchi-ecommerce-msdyn365/./src/modules/custom-checkout-shipping-address/common/components/address-dropdown.tsx?6e8b","webpack://venchi-ecommerce-msdyn365/./src/modules/custom-checkout-shipping-address/common/components/address-error-message.tsx?a335","webpack://venchi-ecommerce-msdyn365/./src/modules/custom-checkout-shipping-address/common/components/address-error-title.tsx?227d","webpack://venchi-ecommerce-msdyn365/./src/modules/custom-checkout-shipping-address/common/components/address-input.tsx?713c","webpack://venchi-ecommerce-msdyn365/./src/modules/custom-checkout-shipping-address/common/components/address-label.tsx?597f","webpack://venchi-ecommerce-msdyn365/./src/modules/custom-checkout-shipping-address/common/components/address-add.tsx?eb99","webpack://venchi-ecommerce-msdyn365/./src/modules/custom-checkout-shipping-address/common/components/address-detail-item.tsx?6cc8","webpack://venchi-ecommerce-msdyn365/./src/modules/custom-checkout-shipping-address/common/components/address-show.tsx?8659","webpack://venchi-ecommerce-msdyn365/./src/modules/custom-checkout-shipping-address/common/components/address-select.tsx?bbe0","webpack://venchi-ecommerce-msdyn365/./src/modules/custom-checkout-shipping-address/custom-checkout-shipping-address.tsx?35a0","webpack://venchi-ecommerce-msdyn365/./src/modules/custom-checkout-shipping-address/custom-checkout-shipping-address.view.tsx?774b","webpack://venchi-ecommerce-msdyn365/./src/services/featureToggleService.ts?d980","webpack://venchi-ecommerce-msdyn365/./src/themes/venchi/utils/convert_a2_a3.ts?c0bb","webpack://venchi-ecommerce-msdyn365/./src/themes/venchi/views/content-block.view.tsx?0a66","webpack://venchi-ecommerce-msdyn365/./src/themes/venchi/views/order-template-list.view.tsx?f44e","webpack://venchi-ecommerce-msdyn365/./src/themes/venchi/definition-extensions/video-player.ext.props.autogenerated.ts?fe23","webpack://venchi-ecommerce-msdyn365/./src/themes/venchi/views/video-player.view.tsx?a1ba","webpack://venchi-ecommerce-msdyn365/./src/modules/aad-generic/aad-generic.tsx?c076","webpack://venchi-ecommerce-msdyn365/./src/modules/aad-generic/aad-generic.view.tsx?b418","webpack://venchi-ecommerce-msdyn365/./src/modules/account-customer-balance/account-customer-balance.tsx?8d5a","webpack://venchi-ecommerce-msdyn365/./src/modules/account-customer-balance/account-customer-balance.view.tsx?70d2","webpack://venchi-ecommerce-msdyn365/./src/modules/account-customer-balance/components/account-actions.tsx?e021","webpack://venchi-ecommerce-msdyn365/./src/modules/account-customer-balance/components/account-statement-request-modal.tsx?18c0","webpack://venchi-ecommerce-msdyn365/./src/modules/account-customer-balance/components/index.tsx?fba9","webpack://venchi-ecommerce-msdyn365/./src/modules/account-wishlist-tile/components/account-wishlist-tile-description.tsx?0588","webpack://venchi-ecommerce-msdyn365/./src/modules/account-wishlist-tile/components/account-wishlist-tile-links.tsx?f114","webpack://venchi-ecommerce-msdyn365/./src/modules/account-wishlist-tile/account-wishlist-tile.tsx?b721","webpack://venchi-ecommerce-msdyn365/./src/modules/account-wishlist-tile/account-wishlist-tile.view.tsx?095e","webpack://venchi-ecommerce-msdyn365/../../src/checkout-state-data-action.ts?8344","webpack://venchi-ecommerce-msdyn365/../../src/checkout-state.ts?acd8","webpack://venchi-ecommerce-msdyn365/../../src/checkout-utilities.data.ts?b2cc","webpack://venchi-ecommerce-msdyn365/../../../src/module-state-manager/module-state.ts?7579","webpack://venchi-ecommerce-msdyn365/../../../src/module-state-manager/with-module-state.tsx?61ca","webpack://venchi-ecommerce-msdyn365/./src/checkout-errors/checkout-errors.ts?a9e0","webpack://venchi-ecommerce-msdyn365/./src/common/error.tsx?096f","webpack://venchi-ecommerce-msdyn365/./src/common/waiting.tsx?8095","webpack://venchi-ecommerce-msdyn365/./src/modules/checkout-customer-account-payment/checkout-customer-account-payment.view.tsx?79c6","webpack://venchi-ecommerce-msdyn365/./src/modules/back-top-footer/back-top-footer.tsx?f47e"],"sourcesContent":["// tslint:disable:no-reference\r\n\r\nimport { IAutoSuggestOptions } from '@msdyn365-commerce-modules/address';\r\nimport { IStoreSelectorStateManager } from '@msdyn365-commerce-modules/bopis-utilities';\r\nimport { ITelemetry } from '@msdyn365-commerce/core';\r\n/**\r\n *\r\n * Auto Suggest\r\n */\r\nexport class AutoSuggest {\r\n public readonly excludedAddressFields: string[] = ['ThreeLetterISORegionName', 'Name', 'AddressTypeValue', 'Phone'];\r\n private telemetry: ITelemetry;\r\n private countryCode?: string;\r\n private bingMapsApiKey?: string;\r\n private defaultLanguageId?: string;\r\n private autoSuggestManager: Microsoft.Maps.AutosuggestManager | undefined;\r\n private autoSuggestOptions: IAutoSuggestOptions;\r\n\r\n constructor(\r\n telemetry: ITelemetry,\r\n autoSuggestOptions: IAutoSuggestOptions,\r\n BingMapsApiKey?: string,\r\n countryCode?: string,\r\n defaultLanguageId?: string\r\n ) {\r\n this.telemetry = telemetry;\r\n this.autoSuggestOptions = autoSuggestOptions;\r\n this.bingMapsApiKey = BingMapsApiKey;\r\n this.countryCode = countryCode;\r\n this.defaultLanguageId = defaultLanguageId;\r\n }\r\n\r\n public attachAutoSuggest = (\r\n inputId: string,\r\n containerId: string,\r\n selectedSuggestionCallback: (result: Microsoft.Maps.ISuggestionResult) => void\r\n ): void => {\r\n if (!this.autoSuggestManager) {\r\n Microsoft.Maps.loadModule('Microsoft.Maps.AutoSuggest', {\r\n callback: () => {\r\n const options = {\r\n ...this.autoSuggestOptions,\r\n countryCode: this.countryCode\r\n };\r\n this.autoSuggestManager = new Microsoft.Maps.AutosuggestManager(options);\r\n this.autoSuggestManager.attachAutosuggest(inputId, containerId, selectedSuggestionCallback);\r\n document.querySelector(inputId)?.setAttribute('role', 'combobox');\r\n setTimeout(() => {\r\n document.querySelector(inputId)?.setAttribute('type', 'text');\r\n }, 0);\r\n },\r\n errorCallback: () => {\r\n if (this.telemetry) {\r\n this.telemetry.debug('Unable to attach map auto suggest.');\r\n }\r\n },\r\n credentials: this.bingMapsApiKey\r\n });\r\n }\r\n };\r\n\r\n public changeAutoSuggestionCountryCode = (countryCode?: string): void => {\r\n if (this.autoSuggestManager) {\r\n this.autoSuggestOptions.countryCode = countryCode;\r\n this.autoSuggestManager.setOptions(this.autoSuggestOptions);\r\n }\r\n };\r\n\r\n public disposeAutoSuggest = (): void => {\r\n this.autoSuggestManager?.detachAutosuggest();\r\n this.autoSuggestManager?.dispose();\r\n this.autoSuggestManager = undefined;\r\n };\r\n\r\n public _loadMapAPI = async (storeSelectorStateManager: IStoreSelectorStateManager): Promise => {\r\n await storeSelectorStateManager.loadMapApi({\r\n key: this.bingMapsApiKey,\r\n lang: this.countryCode,\r\n market: this.defaultLanguageId\r\n });\r\n };\r\n}\r\n","import { buildCacheKey } from '@msdyn365-commerce-modules/retail-actions';\r\nimport {\r\n CacheType,\r\n createObservableDataAction,\r\n IAction,\r\n IActionContext,\r\n IActionInput,\r\n ICommerceApiSettings\r\n} from '@msdyn365-commerce/core';\r\nimport { getStateProvincesAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/StoreOperationsDataActions.g';\r\nimport { StateProvinceInfo } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\r\n\r\n/**\r\n * Input class for get state provinces data action\r\n */\r\nexport class GetStateProvincesInput implements IActionInput {\r\n public countryRegionId: string;\r\n private apiSettings: ICommerceApiSettings;\r\n\r\n constructor(countryRegionId: string, apiSettings: ICommerceApiSettings) {\r\n this.countryRegionId = countryRegionId;\r\n this.apiSettings = apiSettings;\r\n }\r\n\r\n public getCacheKey = () => buildCacheKey(`StateProvinceInfo-${this.countryRegionId}`, this.apiSettings);\r\n public getCacheObjectType = () => 'StateProvinceInfo';\r\n public dataCacheType = (): CacheType => 'request';\r\n}\r\n\r\nexport async function getStateProvinceAction(input: GetStateProvincesInput, ctx: IActionContext): Promise {\r\n return getStateProvincesAsync({ callerContext: ctx, queryResultSettings: {} }, input.countryRegionId);\r\n}\r\n\r\nexport default createObservableDataAction({\r\n action: >getStateProvinceAction\r\n});\r\n","import { addAddress, AddressManagementInput, updateAddress, updatePrimaryAddress } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { IActionInput, ICoreContext, IObservableAction, ITelemetry } from '@msdyn365-commerce/core';\r\nimport { Address, CountryRegionInfo, StateProvinceInfo } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\r\n\r\nimport { getStateProvinceAction, GetStateProvincesInput } from './../actions/get-state-provinces';\r\nimport { IAddressResource, IAddressResponse } from './address-module.data';\r\n\r\n/**\r\n *\r\n * Address common\r\n */\r\nexport class AddressCommon {\r\n private context: ICoreContext;\r\n private resources: IAddressResource;\r\n private telemetry: ITelemetry;\r\n\r\n constructor(context: ICoreContext, resources: IAddressResource, telemetry: ITelemetry) {\r\n this.context = context;\r\n this.resources = resources;\r\n this.telemetry = telemetry;\r\n }\r\n\r\n public getDefaultCountryRegionId = (countryRegionId: string, countryRegions: CountryRegionInfo[], market?: string): string => {\r\n const marketISOCode = market || 'US';\r\n const currentCountryRegion = countryRegions.find(countryRegion => (countryRegion.ISOCode || '') === marketISOCode);\r\n return (currentCountryRegion && currentCountryRegion.CountryRegionId) || countryRegionId;\r\n };\r\n\r\n public parseRetailException = (resources: IAddressResource): IAddressResponse => {\r\n return {\r\n errorTitle: resources.addressErrorMessageTitle,\r\n errorMessage: resources.addressGenericErrorMessage\r\n };\r\n };\r\n\r\n public isAuthenticatedFlow = (): boolean => {\r\n return this.context.request.user.isAuthenticated;\r\n };\r\n\r\n public getStateProvinces = async (countryRegionId: string): Promise => {\r\n let response: StateProvinceInfo[] = [];\r\n if (this.context && this.context.actionContext) {\r\n try {\r\n const input = new GetStateProvincesInput(countryRegionId, this.context.request.apiSettings);\r\n response = await getStateProvinceAction(input, this.context.actionContext);\r\n } catch (error) {\r\n if (this.telemetry) {\r\n this.telemetry.error(`Error encountered ${error}`);\r\n this.telemetry.debug('Unable to get state provinces');\r\n }\r\n }\r\n }\r\n return Promise.resolve(response);\r\n };\r\n\r\n // For any address, check for common requried field else treat it as invalid\\empty address.\r\n public isEmpty = (address: Address): boolean => {\r\n if (address && address.ThreeLetterISORegionName && address.City) {\r\n return false;\r\n }\r\n\r\n return true;\r\n };\r\n\r\n public addCustomerAddress = (address: Address): Promise => {\r\n return this.submitCustomerAddress(addAddress, address);\r\n };\r\n\r\n public updateCustomerAddress = (address: Address): Promise => {\r\n return this.submitCustomerAddress(updateAddress, address);\r\n };\r\n\r\n public updateCustomerPrimaryAddress = (address: Address): Promise => {\r\n return this.submitCustomerAddress(updatePrimaryAddress, address);\r\n };\r\n\r\n private submitCustomerAddress = (addressAction: IObservableAction, address: Address): Promise => {\r\n address.AddressTypeValue = address.AddressTypeValue || 7; // 7 sets it to HOME by default\r\n\r\n const input = new AddressManagementInput(address);\r\n return this.execAddressAction(addressAction, input, address);\r\n };\r\n\r\n private execAddressAction = async (\r\n addressAction: IObservableAction,\r\n input: IActionInput | IActionInput[],\r\n address: Address\r\n ): Promise => {\r\n let response: IAddressResponse = {};\r\n\r\n if (this.context && this.context.actionContext) {\r\n try {\r\n const addresses = await addressAction(input, this.context.actionContext);\r\n if (addresses.length > 0) {\r\n const currentAddress = addresses.find(\r\n newAddress =>\r\n newAddress.Name === address.Name &&\r\n newAddress.AddressTypeValue === address.AddressTypeValue &&\r\n newAddress.City === address.City &&\r\n newAddress.Phone === address.Phone &&\r\n newAddress.State === address.State &&\r\n newAddress.Street === address.Street &&\r\n newAddress.ThreeLetterISORegionName === address.ThreeLetterISORegionName &&\r\n newAddress.ZipCode === address.ZipCode\r\n );\r\n response.address = address.RecordId ? address : currentAddress ? currentAddress : addresses[addresses.length - 1];\r\n } else {\r\n response.address = address;\r\n }\r\n response.customerAddresses = addresses;\r\n } catch (error) {\r\n if (this.telemetry) {\r\n this.telemetry.error(`Error encountered ${error}`);\r\n this.telemetry.debug('Unable to exec address action');\r\n }\r\n response = this.parseRetailException(this.resources);\r\n }\r\n }\r\n return Promise.resolve(response);\r\n };\r\n}\r\n","export 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}\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 District = 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","import { Heading } from '@msdyn365-commerce-modules/data-types';\r\nimport { Address } from '@msdyn365-commerce/retail-proxy';\r\n\r\nexport enum AddressOperation {\r\n Add = 'Add',\r\n Show = 'Show',\r\n Update = 'Update',\r\n List = 'List'\r\n}\r\n\r\nexport enum AddressType {\r\n Shipping = 'Shipping',\r\n Billing = 'Billing',\r\n Company = 'Company'\r\n}\r\n\r\nexport interface IDropdownDisplayData {\r\n [index: string]: { key?: string; value?: string }[];\r\n}\r\n\r\nexport interface IAddressResponse {\r\n errorTitle?: string;\r\n errorMessage?: string;\r\n customerAddresses?: Address[];\r\n address?: Address;\r\n}\r\n\r\nexport interface IAddressConfig {\r\n heading?: Heading;\r\n primaryAddressSectionHeading?: Heading;\r\n otherAddressSectionHeading?: Heading;\r\n addAddressHeading?: Heading;\r\n editAddressHeading?: Heading;\r\n}\r\n\r\nexport interface IAddressResource {\r\n addressAddButtonText: string;\r\n addressAddButtonAriaLabel: string;\r\n addressPrimaryButtonText: string;\r\n addressPrimaryButtonAriaLabel: string;\r\n addressEditButtonText: string;\r\n addressEditButtonAriaLabel: string;\r\n addressRemoveButtonText: string;\r\n addressRemoveButtonAriaLabel: string;\r\n addressSaveButtonText: string;\r\n addressSaveButtonAriaLabel: string;\r\n addressCancelButtonText: string;\r\n addressCancelButtonAriaLabel: string;\r\n addressStateDefaultSelectionText: string;\r\n addressNameLabel: string;\r\n addressNameLabelOptional?: string;\r\n addressNameRequiredErrorMessage: string;\r\n addressPhoneLabel: string;\r\n addressPhoneLabelOptional?: string;\r\n addressPhoneRequiredErrorMessage: string;\r\n addressZipCodeLabel: string;\r\n addressZipCodeLabelOptional?: string;\r\n addressZipCodeRequiredErrorMessage: string;\r\n addressCityLabel: string;\r\n addressCityLabelOptional?: string;\r\n addressCityRequiredErrorMessage: string;\r\n addressCountyLabel: string;\r\n addressCountyLabelOptional?: string;\r\n addressCountyRequiredErrorMessage: string;\r\n addressStateLabel: string;\r\n addressStateLabelOptional?: string;\r\n addressStateRequiredErrorMessage: string;\r\n addressThreeLetterISORegionNameLabel: string;\r\n addressThreeLetterISORegionNameLabelOptional?: string;\r\n addressThreeLetterISORegionNameRequiredErrorMessage: string;\r\n addressStreetLabel: string;\r\n addressStreetLabelOptional?: string;\r\n addressStreetRequiredErrorMessage: string;\r\n addressDistrictLabel: string;\r\n addressDistrictLabelOptional?: string;\r\n addressDistrictRequiredErrorMessage: string;\r\n addressStreetNumberLabel: string;\r\n addressStreetNumberLabelOptional?: string;\r\n addressStreetNumberRequiredErrorMessage: string;\r\n addressBuildingComplimentLabel: string;\r\n addressBuildingComplimentLabelOptional?: string;\r\n addressBuildingComplimentRequiredErrorMessage: string;\r\n addressPostboxLabel: string;\r\n addressPostboxLabelOptional?: string;\r\n addressPostboxRequiredErrorMessage: string;\r\n addressHouseRULabel: string;\r\n addressHouseRULabelOptional?: string;\r\n addressHouseRURequiredErrorMessage: string;\r\n addressFlatRULabel: string;\r\n addressFlatRULabelOptional?: string;\r\n addressFlatRURequiredErrorMessage: string;\r\n addressCountryOKSMCodeRULabel: string;\r\n addressCountryOKSMCodeRURequiredErrorMessage: string;\r\n addressErrorMessageTitle: string;\r\n addressGenericErrorMessage: string;\r\n addressEmptyListAddressMessage: string;\r\n}\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { get, set } from 'mobx';\r\n\r\nimport {\r\n Address,\r\n AddressPurpose,\r\n CountryRegionInfo,\r\n StateProvinceInfo\r\n} from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\r\n\r\nimport { AddressItemType, IAddressDropdownsData, IAddressItem, IAddressValidationRule } from './address-format.data';\r\nimport { AddressMetaData } from './address-meta-data';\r\n\r\n/**\r\n *\r\n * Retail Service Address format parser\r\n */\r\nexport class AddressFormat {\r\n private countryRegionsInfo?: CountryRegionInfo[];\r\n private addressPurposes?: AddressPurpose[];\r\n private addressMetaData: AddressMetaData;\r\n\r\n constructor(countryRegionsInfo: CountryRegionInfo[], addressMetaData: AddressMetaData, addressPurposes: AddressPurpose[]) {\r\n this.countryRegionsInfo = countryRegionsInfo;\r\n this.addressMetaData = addressMetaData;\r\n this.addressPurposes = addressPurposes;\r\n }\r\n\r\n public getAddressFormat(countryRegionId: string): IAddressItem[] {\r\n const countryRegionInfo = this._getCountryRegionInfo(countryRegionId);\r\n if (countryRegionInfo) {\r\n return this._getAddressDisplayFormat(countryRegionInfo);\r\n }\r\n return [];\r\n }\r\n\r\n public getCountryFormat(): { key?: string; value?: string }[] {\r\n return (this.countryRegionsInfo || []).map(countryRegion => {\r\n return {\r\n key: countryRegion.CountryRegionId,\r\n value: countryRegion.ShortName\r\n };\r\n });\r\n }\r\n\r\n public getStateFormat(stateProvinceInfo?: StateProvinceInfo[]): { key?: string; value?: string }[] {\r\n return (stateProvinceInfo || []).map(state => {\r\n return {\r\n key: state.StateId,\r\n value: state.StateName\r\n };\r\n });\r\n }\r\n\r\n public getAddressTypeFormat(): { key?: number; value?: string }[] {\r\n return (this.addressPurposes || []).map(addressPurpose => {\r\n return {\r\n key: addressPurpose.AddressType,\r\n value: addressPurpose.Name\r\n };\r\n });\r\n }\r\n\r\n public getPrefilledAddressDropdownData = (\r\n stateDefaultSelectionText: string,\r\n stateProvinceInfo?: StateProvinceInfo[]\r\n ): IAddressDropdownsData => {\r\n const defaultStateText = {\r\n key: '',\r\n value: stateDefaultSelectionText\r\n };\r\n const dropdownData: IAddressDropdownsData = {};\r\n\r\n dropdownData[AddressItemType[AddressItemType.ThreeLetterISORegionName]] = this.getCountryFormat();\r\n dropdownData[AddressItemType[AddressItemType.State]] = this.getStateFormat(stateProvinceInfo);\r\n dropdownData[AddressItemType[AddressItemType.State]].unshift(defaultStateText);\r\n dropdownData[AddressItemType[AddressItemType.AddressTypeValue]] = this.getAddressTypeFormat();\r\n\r\n return dropdownData;\r\n };\r\n\r\n public getTwoLetterISORegionName = (countryRegionId: string): string | undefined => {\r\n const countryRegionInfo = this._getCountryRegionInfo(countryRegionId);\r\n\r\n return countryRegionInfo!.ISOCode;\r\n };\r\n\r\n public validateAddressFormat = (\r\n address: Address,\r\n validationError: Address,\r\n countryRegionId: string,\r\n propertyName?: string\r\n ): boolean => {\r\n let isValid: boolean = true;\r\n let validationtor;\r\n const addressFormat = this.getAddressFormat(address.ThreeLetterISORegionName || countryRegionId);\r\n\r\n addressFormat.forEach(addressFormatItem => {\r\n if (!propertyName || (propertyName && addressFormatItem.name === propertyName)) {\r\n validationtor = this._inputValidation(addressFormatItem, validationError, address);\r\n if (validationtor !== undefined) {\r\n isValid = validationtor;\r\n }\r\n }\r\n });\r\n\r\n return isValid;\r\n };\r\n\r\n public getTranformedAddress = (result: Microsoft.Maps.ISuggestionResult, stateProvinceInfo?: StateProvinceInfo[]): Address => {\r\n const address: Address = {};\r\n\r\n // Zip Code\r\n if (result.address.postalCode !== undefined) {\r\n address.ZipCode = result.address.postalCode;\r\n } else {\r\n address.ZipCode = '';\r\n }\r\n\r\n // State\r\n if (stateProvinceInfo) {\r\n const selectedState = stateProvinceInfo.find(state => state.StateName === result.address.adminDistrict);\r\n if (!selectedState) {\r\n address.State = '';\r\n address.StateName = result.address.adminDistrict;\r\n } else {\r\n address.State = selectedState.StateId;\r\n address.StateName = selectedState.StateName;\r\n }\r\n }\r\n\r\n // Street\r\n if (result.address.addressLine !== undefined) {\r\n address.Street = result.address.addressLine;\r\n } else {\r\n address.Street = ' ';\r\n }\r\n\r\n // City\r\n if (result.address.locality !== undefined) {\r\n address.City = result.address.locality;\r\n } else {\r\n address.City = '';\r\n }\r\n\r\n // District\r\n if (result.address.district !== undefined) {\r\n address.DistrictName = result.address.district;\r\n address.CountyName = result.address.district;\r\n } else {\r\n address.DistrictName = '';\r\n }\r\n\r\n // formatted Address\r\n address.FullAddress = result.address.formattedAddress;\r\n\r\n return address;\r\n };\r\n\r\n private _inputValidation(addressFormatItem: IAddressItem, validationError: Address, address: Address): boolean | undefined {\r\n set(validationError, { [addressFormatItem.name]: null });\r\n for (const validationRule of addressFormatItem.validationRules || []) {\r\n if (!this._validateRegEx(address, addressFormatItem.name, validationRule)) {\r\n set(validationError, {\r\n [addressFormatItem.name]: validationRule.message\r\n });\r\n return false;\r\n }\r\n }\r\n return undefined;\r\n }\r\n private _validateRegEx = (address: Address, propertyName: string, validationRule: IAddressValidationRule): boolean => {\r\n if (validationRule.regEx && validationRule.regEx.length > 0) {\r\n const regex = new RegExp(validationRule.regEx);\r\n return regex.test(get(address, propertyName) || '');\r\n }\r\n return true;\r\n };\r\n\r\n private _getCountryRegionInfo(countryRegionId: string): CountryRegionInfo | undefined {\r\n return (this.countryRegionsInfo || []).find(countryRegion => {\r\n return (countryRegion.CountryRegionId || '').toLowerCase() === countryRegionId.toLowerCase();\r\n });\r\n }\r\n\r\n private _getAddressDisplayFormat(countryRegionInfo: CountryRegionInfo): IAddressItem[] {\r\n const addressDisplayItem: IAddressItem[] = [];\r\n\r\n if (countryRegionInfo && countryRegionInfo.AddressFormatLines) {\r\n const AddressTypeItem = this._extendAddressDisplayFormat(AddressItemType.AddressTypeValue, true);\r\n if (AddressTypeItem) {\r\n addressDisplayItem.push(AddressTypeItem);\r\n }\r\n\r\n const nameDisplayItem = this._extendAddressDisplayFormat(AddressItemType.Name, true);\r\n if (nameDisplayItem) {\r\n addressDisplayItem.push(nameDisplayItem);\r\n }\r\n\r\n countryRegionInfo.AddressFormatLines.forEach(formatLine => {\r\n if (formatLine.AddressComponentNameValue) {\r\n const addressItem = this.addressMetaData.getItemFormat(formatLine.AddressComponentNameValue);\r\n if (addressItem) {\r\n addressItem.isNewLine = formatLine.NewLine || false;\r\n addressDisplayItem.push(addressItem);\r\n }\r\n }\r\n });\r\n\r\n const phoneDisplayItem = this._extendAddressDisplayFormat(AddressItemType.Phone, false);\r\n if (phoneDisplayItem) {\r\n addressDisplayItem.push(phoneDisplayItem);\r\n }\r\n\r\n const isPrimaryDisplayItem = this._extendAddressDisplayFormat(AddressItemType.IsPrimary, false);\r\n if (isPrimaryDisplayItem) {\r\n addressDisplayItem.push(isPrimaryDisplayItem);\r\n }\r\n }\r\n\r\n return addressDisplayItem;\r\n }\r\n\r\n private _extendAddressDisplayFormat(type: AddressItemType, isNewLine: boolean): IAddressItem | undefined {\r\n const addressItem = this.addressMetaData.getItemFormat(type);\r\n if (addressItem) {\r\n addressItem.isNewLine = isNewLine;\r\n }\r\n return addressItem;\r\n }\r\n}\r\n","import {\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 metaData: IAddressItem[] = [];\r\n private resources: IAddressResource;\r\n private requiredFieldRegEx: string = '\\\\S';\r\n private resourcesPrefix: string = 'address';\r\n private maxLength: number = 64;\r\n private requiredFields: AddressItemType[];\r\n private 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.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(AddressItemType.Phone, AddressItemDisplayType.Input);\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.District, 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): 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);\r\n let isRequired = false;\r\n validationRules.forEach(rule => {\r\n if (rule.type === AddressValidationRuleType.Required) {\r\n isRequired = true;\r\n }\r\n });\r\n\r\n // if no optional string is provided in resource file, use the original label text\r\n const optionalString =\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 label: isRequired ? this.resources[`${this.resourcesPrefix}${nameKey}Label`] : optionalString,\r\n maxLength: this.maxLength,\r\n validationRules: 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): 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 const message = 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 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","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport * as React from 'react';\r\n\r\nexport interface IAdressAlert {\r\n message?: string;\r\n}\r\n\r\nconst AdressAlert: React.FC = ({ message }) => (\r\n \r\n {message && <>{message}}\r\n \r\n);\r\n\r\nexport default AdressAlert;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport interface IAddressButton {\r\n className: string;\r\n text: string;\r\n ariaLabel: string;\r\n disabled?: boolean;\r\n telemetryContent?: ITelemetryContent;\r\n onClick(event: React.MouseEvent): void;\r\n}\r\n\r\nconst AddressButton: React.FC = ({ className, text, ariaLabel, disabled, telemetryContent, onClick }) => {\r\n const payLoad = getPayloadObject('click', telemetryContent!, text);\r\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default AddressButton;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport interface IAdressCheckbox {\r\n id?: string;\r\n name?: string;\r\n className: string;\r\n type: string;\r\n isChecked: boolean;\r\n autoFocus?: boolean;\r\n additionalAddributes?: object;\r\n telemetryContent?: ITelemetryContent;\r\n onChange(event: React.ChangeEvent): void;\r\n}\r\n\r\nconst AdressCheckbox: React.FC = ({\r\n id,\r\n name,\r\n className,\r\n type,\r\n isChecked,\r\n additionalAddributes,\r\n telemetryContent,\r\n autoFocus,\r\n onChange\r\n}) => {\r\n const payLoad = getPayloadObject('click', telemetryContent!, name!);\r\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default AdressCheckbox;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport * as React from 'react';\r\n\r\nexport interface IAdressDropdown {\r\n id: string;\r\n name: string;\r\n className: string;\r\n value: string | number;\r\n additionalAddributes?: object;\r\n displayData: { key?: string | number; value?: string }[];\r\n onChange(event: React.ChangeEvent): void;\r\n}\r\n\r\nconst getDropdownItem = (key?: string | number, value?: string, selectedValue?: string | number): React.ReactNode => {\r\n let isSelected: boolean;\r\n if (typeof key === 'number') {\r\n isSelected = key === selectedValue;\r\n } else {\r\n isSelected = typeof selectedValue === 'string' && (key || '').toLowerCase() === (selectedValue || '').toLowerCase();\r\n }\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nconst AdressDropdown: React.FC = ({ id, name, className, value, additionalAddributes, displayData, onChange }) => (\r\n \r\n);\r\n\r\nexport default AdressDropdown;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport * as React from 'react';\r\n\r\nexport interface IAdressErrorMessage {\r\n message: string;\r\n}\r\n\r\nconst AdressErrorMessage: React.FC = ({ message }) =>

{message}

;\r\n\r\nexport default AdressErrorMessage;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport * as React from 'react';\r\n\r\nexport interface IAdressErrorTitle {\r\n title: string;\r\n}\r\n\r\nconst AdressErrorTitle: React.FC = ({ title }) =>

{title}

;\r\n\r\nexport default AdressErrorTitle;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport interface IAdressInput {\r\n id?: string;\r\n name?: string;\r\n className: string;\r\n type: string;\r\n value: string;\r\n maxLength?: number;\r\n autoFocus?: boolean;\r\n additionalAddributes?: object;\r\n telemetryContent?: ITelemetryContent;\r\n onChange(event: React.ChangeEvent): void;\r\n}\r\n\r\nconst AdressInput: React.FC = ({\r\n id,\r\n name,\r\n className,\r\n type,\r\n value,\r\n maxLength,\r\n additionalAddributes,\r\n autoFocus,\r\n telemetryContent,\r\n onChange\r\n}) => {\r\n const payLoad = getPayloadObject('click', telemetryContent!, name!);\r\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default AdressInput;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport * as React from 'react';\r\n\r\nexport interface IAdressLabel {\r\n id: string;\r\n text: string;\r\n}\r\n\r\nconst AdressLabel: React.FC = ({ id, text }) => (\r\n \r\n);\r\n\r\nexport default AdressLabel;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport classname from 'classnames';\r\nimport { get } from 'mobx';\r\nimport * as React from 'react';\r\n\r\nimport { Heading as HeadingData } from '@msdyn365-commerce-modules/data-types';\r\nimport { Heading, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\r\nimport { Address } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\r\n\r\nimport { AddressType, IAddressResource, IAddressResponse } from './../address-module.data';\r\n\r\nimport {\r\n AddressItemDisplayType,\r\n AddressItemType,\r\n AddressValidationRuleType,\r\n IAddressDropdownsData,\r\n IAddressItem,\r\n IAddressValidationRule\r\n} from './../address-format.data';\r\n\r\nimport AddressAlertComponent from './address-alert';\r\nimport AddressButtonComponent from './address-button';\r\nimport AdressCheckboxComponent from './address-checkbox';\r\nimport AdressDropdownComponent from './address-dropdown';\r\nimport AddressErrorMessageComponent from './address-error-message';\r\nimport AddressErrorTitleComponent from './address-error-title';\r\nimport AddressInputComponent from './address-input';\r\nimport AddressLabelComponent from './address-label';\r\n\r\nexport interface IAddressAddInputProps {\r\n isUpdating?: boolean;\r\n hasError?: boolean;\r\n hasExternalSubmitGroup?: boolean;\r\n addressType: AddressType;\r\n addressFormat: IAddressItem[];\r\n defaultCountryRegionId: string;\r\n defaultAddressType: number;\r\n selectedAddress?: Address;\r\n dropdownDisplayData: IAddressDropdownsData;\r\n resources: IAddressResource;\r\n addressActionResponse?: IAddressResponse;\r\n addAddressHeading?: HeadingData;\r\n editAddressHeading?: HeadingData;\r\n validationError?: object;\r\n telemetryContent?: ITelemetryContent;\r\n onInputChange(event: React.ChangeEvent): void;\r\n onDropdownChange(event: React.ChangeEvent): void;\r\n onSave?(): void;\r\n onCancel?(): void;\r\n}\r\n\r\nexport interface IAddressError {\r\n AddressError: INodeProps;\r\n title: React.ReactNode;\r\n message: React.ReactNode;\r\n}\r\n\r\nexport interface IAddressAddItem {\r\n key: string;\r\n AddressItem: INodeProps;\r\n label: React.ReactNode;\r\n alert: React.ReactNode;\r\n input: React.ReactNode;\r\n}\r\n\r\nexport interface IAddressAddUpdateProps {\r\n AddressForm: INodeProps;\r\n heading: React.ReactNode;\r\n items: IAddressAddItem[];\r\n hasError: boolean;\r\n error: IAddressError;\r\n isShowSaveButton: boolean;\r\n saveButton: React.ReactNode;\r\n isShowCancelButton: boolean;\r\n cancelButton: React.ReactNode;\r\n}\r\n\r\nconst getRequriedAttribute = (validationRules?: IAddressValidationRule[]): object => {\r\n const requriedRule = (validationRules || []).find(validationRule => {\r\n return validationRule.type === AddressValidationRuleType.Required;\r\n });\r\n\r\n return requriedRule ? { 'aria-required': true } : {};\r\n};\r\n\r\nconst getAddessItems = (selectedAddress: Address, props: IAddressAddInputProps): IAddressAddItem[] => {\r\n const {\r\n addressFormat,\r\n addressType,\r\n dropdownDisplayData,\r\n defaultCountryRegionId,\r\n defaultAddressType,\r\n validationError = {},\r\n onInputChange,\r\n onDropdownChange\r\n } = props;\r\n\r\n // @ts-ignore\r\n return addressFormat.map((addressFormatItem, index) => {\r\n const elementId = `${addressType.toLowerCase()}_address${addressFormatItem.name.toLowerCase()}`;\r\n const errorMessage = get(validationError, addressFormatItem.name);\r\n const className = classname('msc-address-form__item', `msc-address-form__item-${addressFormatItem.name.toLowerCase()}`, {\r\n 'msc-address-form__item-newline': addressFormatItem.isNewLine,\r\n 'address-form__item-invalid': errorMessage\r\n });\r\n let input;\r\n\r\n if (addressFormatItem.displayType === AddressItemDisplayType.Input) {\r\n input = (\r\n \r\n );\r\n } else if (addressFormatItem.displayType === AddressItemDisplayType.Checkbox) {\r\n input = (\r\n \r\n );\r\n } else {\r\n const displayData = dropdownDisplayData[addressFormatItem.name];\r\n let selectedValue = selectedAddress[addressFormatItem.name];\r\n\r\n if (addressFormatItem.type === AddressItemType.ThreeLetterISORegionName) {\r\n selectedValue = selectedValue || defaultCountryRegionId;\r\n }\r\n\r\n if (addressFormatItem.type === AddressItemType.AddressTypeValue) {\r\n selectedValue = selectedValue || defaultAddressType;\r\n }\r\n\r\n input = (\r\n \r\n );\r\n }\r\n\r\n return {\r\n key: addressFormatItem.name,\r\n AddressItem: { className: className, id: `${elementId}_container` },\r\n label: ,\r\n alert: ,\r\n input: input\r\n };\r\n });\r\n};\r\n\r\nexport const AddressAddUpdate = (props: IAddressAddInputProps): IAddressAddUpdateProps => {\r\n const {\r\n editAddressHeading,\r\n addAddressHeading,\r\n selectedAddress = {},\r\n resources,\r\n hasError,\r\n onCancel,\r\n onSave,\r\n hasExternalSubmitGroup,\r\n isUpdating,\r\n addressActionResponse,\r\n telemetryContent\r\n } = props;\r\n const heading = selectedAddress.RecordId ? editAddressHeading : addAddressHeading;\r\n\r\n return {\r\n AddressForm: { className: 'msc-address-form' },\r\n heading: heading && ,\r\n items: getAddessItems(selectedAddress, props),\r\n isShowSaveButton: !hasExternalSubmitGroup,\r\n saveButton: onSave && (\r\n \r\n ),\r\n isShowCancelButton: !hasExternalSubmitGroup,\r\n cancelButton: onCancel && (\r\n \r\n ),\r\n hasError: hasError || false,\r\n error: {\r\n AddressError: { className: 'msc-address-form__error' },\r\n title: addressActionResponse && addressActionResponse.errorTitle && (\r\n \r\n ),\r\n message: addressActionResponse && addressActionResponse.errorMessage && (\r\n \r\n )\r\n }\r\n };\r\n};\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport classname from 'classnames';\r\nimport * as React from 'react';\r\n\r\nexport interface IAddressDetailItem {\r\n isNewLine: boolean;\r\n isShowLabel: boolean;\r\n labelText: string;\r\n name: string;\r\n value: string;\r\n}\r\n\r\nconst AddressDetailItem: React.FC = ({ isNewLine, isShowLabel, labelText, name, value }) => {\r\n const className = `msc-address-detail__item msc-address-detail__item-${name.toLowerCase()}`;\r\n const isEmpty = !(value && value.length > 0);\r\n const mainClass = isShowLabel\r\n ? `msc-address-detail__item msc-address-detail__item-address-detail_${labelText}`\r\n : classname(className, {\r\n 'msc-address-detail__item-empty': isEmpty,\r\n 'msc-address-detail__item-newline': isNewLine\r\n });\r\n return (\r\n \r\n {isShowLabel && (\r\n <>\r\n {labelText}\r\n \r\n \r\n )}\r\n {value}\r\n \r\n );\r\n};\r\n\r\nexport default AddressDetailItem;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport * as React from 'react';\r\n\r\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport { Address, AddressPurpose } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\r\n\r\nimport { AddressItemType, IAddressItem } from './../address-format.data';\r\nimport AddressDetailItemComponent from './address-detail-item';\r\n\r\nexport interface IAddressShowItem {\r\n key: string;\r\n description: React.ReactNode;\r\n}\r\n\r\nexport interface IAddressShowProps {\r\n AddressDetail: INodeProps;\r\n items: IAddressShowItem[];\r\n}\r\n\r\nexport interface IAddressShowInputProps {\r\n addressFormat: IAddressItem[];\r\n address: Address;\r\n addressPurposes: AddressPurpose[];\r\n}\r\n\r\nexport const AddressShow = (props: IAddressShowInputProps): IAddressShowProps => {\r\n const { addressFormat, addressPurposes, address } = props;\r\n\r\n return {\r\n AddressDetail: { className: 'msc-address-detail' },\r\n items: addressFormat.map(item => {\r\n if (item.name === AddressItemType[AddressItemType.AddressTypeValue]) {\r\n const addressType = addressPurposes.find(\r\n addressTypeValue => addressTypeValue.AddressType.toString() === (address[item.name] || '').toString()\r\n );\r\n if (addressType) {\r\n const value = addressType.Name || '';\r\n return {\r\n key: item.name,\r\n description: (\r\n \r\n )\r\n };\r\n }\r\n }\r\n return {\r\n key: item.name,\r\n description: (\r\n \r\n )\r\n };\r\n })\r\n };\r\n};\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport * as React from 'react';\r\n\r\nimport { INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\r\nimport { Address, AddressPurpose } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\r\n\r\nimport { AddressFormat } from '../../common/address-format';\r\nimport { IAddressResource } from './../address-module.data';\r\nimport AddressButtonComponent from './address-button';\r\nimport AddressInputComponent from './address-input';\r\nimport { AddressShow, IAddressShowProps } from './address-show';\r\n\r\nexport interface IAddressSelectInputProps {\r\n hasExternalSubmitGroup?: boolean;\r\n addressFormat: AddressFormat;\r\n addresses: Address[];\r\n addressPurposes: AddressPurpose[];\r\n resources: IAddressResource;\r\n selectedAddress: Address;\r\n telemetryContent?: ITelemetryContent;\r\n onAddressOptionChange(event: React.ChangeEvent): void;\r\n onAddAddress(): void;\r\n onSave(): void;\r\n onCancel(): void;\r\n}\r\n\r\nexport interface IAddressSelectItem {\r\n key: number;\r\n SelectItem: INodeProps;\r\n input: React.ReactNode;\r\n showItems: IAddressShowProps;\r\n}\r\n\r\nexport interface IAddressSelectProps {\r\n SelectAddress: INodeProps;\r\n addButton: React.ReactNode;\r\n items: IAddressSelectItem[];\r\n isShowSaveButton: boolean;\r\n saveButton: React.ReactNode;\r\n isShowCancelButton: boolean;\r\n cancelButton: React.ReactNode;\r\n}\r\n\r\nconst getInput = (index: number, address: Address, props: IAddressSelectInputProps): React.ReactNode => {\r\n const { addresses, onAddressOptionChange, selectedAddress } = props;\r\n\r\n const ichecked = address.RecordId === selectedAddress.RecordId;\r\n const additionalAttributes = {\r\n checked: ichecked,\r\n 'aria-checked': ichecked,\r\n 'aria-setsize': addresses.length,\r\n 'aria-posinset': index + 1\r\n };\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nconst getAddressSelectItems = (props: IAddressSelectInputProps): IAddressSelectItem[] => {\r\n const { addresses, addressFormat, addressPurposes } = props;\r\n\r\n return addresses.map((address, index) => {\r\n return {\r\n key: address.RecordId || 0,\r\n SelectItem: { className: 'msc-address-select__item' },\r\n input: getInput(index, address, props),\r\n showItems: AddressShow({\r\n addressFormat: addressFormat.getAddressFormat(address.ThreeLetterISORegionName || ''),\r\n address: address,\r\n addressPurposes: addressPurposes\r\n })\r\n };\r\n });\r\n};\r\n\r\nexport const AddressSelect = (props: IAddressSelectInputProps): IAddressSelectProps => {\r\n const { resources, onCancel, onSave, onAddAddress, hasExternalSubmitGroup } = props;\r\n\r\n return {\r\n SelectAddress: { className: 'msc-address-select' },\r\n addButton: (\r\n \r\n ),\r\n isShowSaveButton: !hasExternalSubmitGroup,\r\n saveButton: (\r\n \r\n ),\r\n isShowCancelButton: !hasExternalSubmitGroup,\r\n cancelButton: (\r\n \r\n ),\r\n items: getAddressSelectItems(props)\r\n };\r\n};\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n/* tslint:disable: no-duplicate-imports */\r\nimport classnames from 'classnames';\r\nimport { action, computed, observable, reaction, set } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\n\r\nimport { IModuleStateProps, withModuleState } from '@msdyn365-commerce-modules/checkout-utilities';\r\nimport { getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\r\nimport { Address, AddressPurpose, CountryRegionInfo, StateProvinceInfo } from '@msdyn365-commerce/retail-proxy';\r\n\r\nimport { IAutoSuggestOptions } from '@msdyn365-commerce-modules/address';\r\nimport { AutoSuggest } from './common/address-autosuggest';\r\nimport { AddressCommon } from './common/address-common';\r\nimport { AddressFormat } from './common/address-format';\r\nimport { AddressItemType } from './common/address-format.data';\r\nimport { AddressMetaData } from './common/address-meta-data';\r\nimport { AddressOperation, AddressType, IAddressResource, IAddressResponse } from './common/address-module.data';\r\nimport { AddressAddUpdate, IAddressAddUpdateProps } from './common/components/address-add';\r\nimport { AddressSelect, IAddressSelectProps } from './common/components/address-select';\r\nimport { AddressShow, IAddressShowProps } from './common/components/address-show';\r\nimport { ICustomCheckoutShippingAddressData } from './custom-checkout-shipping-address.data';\r\nimport { ICustomCheckoutShippingAddressProps } from './custom-checkout-shipping-address.props.autogenerated';\r\n\r\nexport interface ICheckoutAddressProps extends ICustomCheckoutShippingAddressProps, IModuleStateProps {}\r\n\r\nexport interface ICheckoutShippingAddressViewState {\r\n isShowAddress: boolean;\r\n isShowAddresList: boolean;\r\n isShowAddOrUpdateAddress: boolean;\r\n}\r\n\r\nexport interface ICheckoutShippingAddressViewProps extends ICheckoutAddressProps {\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 viewState: ICheckoutShippingAddressViewState;\r\n CheckoutShippingAddress: IModuleProps;\r\n isUpdating: boolean;\r\n hasError: boolean;\r\n showAddress: IAddressShowProps;\r\n showAddressSelect: IAddressSelectProps;\r\n showAddOrUpdateAddress: IAddressAddUpdateProps;\r\n}\r\n\r\n/**\r\n *\r\n * Address component\r\n * @extends {React.Component>}\r\n */\r\n// @ts-ignore\r\n@withModuleState\r\n@observer\r\nclass CheckoutShippingAddress extends React.Component {\r\n @observable private currentOperation: AddressOperation;\r\n @observable private selectedAddress?: Address;\r\n @observable private addUpdateAddress: Address;\r\n @observable private countryRegionId: string = 'USA';\r\n @observable private stateProvinceInfo?: StateProvinceInfo[];\r\n @observable private customerAddresses: Address[];\r\n @observable private validationError: object;\r\n @observable private addressActionResponse?: IAddressResponse;\r\n @observable private isUpdating?: boolean;\r\n @observable private hasError?: boolean;\r\n @observable private addressListSelectedAddress: Address = {};\r\n\r\n private addressCommon: AddressCommon;\r\n private addressFormat: AddressFormat;\r\n private countryRegions: CountryRegionInfo[];\r\n private addressPurposes: AddressPurpose[];\r\n private resources: IAddressResource;\r\n private defaultAddressType: number = 6; // Default to Home\r\n private telemetryContent?: ITelemetryContent;\r\n private autoSuggest?: AutoSuggest;\r\n private multiplePickupStoreSwitchName: string = 'Dynamics.AX.Application.RetailMultiplePickupDeliveryModeFeature';\r\n private retailMultiplePickUpOptionEnabled?: boolean = false;\r\n\r\n constructor(props: ICheckoutAddressProps) {\r\n super(props);\r\n const { context, data, resources, telemetry } = this.props;\r\n\r\n this.addUpdateAddress = {};\r\n this.resources = resources;\r\n this.currentOperation = AddressOperation.List;\r\n this.countryRegions = data.countryRegions.result || [];\r\n this.addressPurposes = data.addressPurposes.result || [];\r\n this.customerAddresses = data.address.result || [];\r\n this.stateProvinceInfo = data.countryStates.result || [];\r\n this.addressCommon = new AddressCommon(context, resources, telemetry);\r\n this.addressFormat = new AddressFormat(\r\n this.countryRegions,\r\n new AddressMetaData({ ...resources }, this._getAddressFormatExcludeList()),\r\n this.addressPurposes\r\n );\r\n this.validationError = {};\r\n this.retailMultiplePickUpOptionEnabled = data?.featureState?.result?.find(\r\n feature => feature.Name === this.multiplePickupStoreSwitchName\r\n )?.IsEnabled;\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 async componentDidMount(): Promise {\r\n const {\r\n context: {\r\n telemetry,\r\n actionContext: {\r\n requestContext: { channel }\r\n }\r\n },\r\n config: { autoSuggestionEnabled, autoSuggestOptions }\r\n } = this.props;\r\n\r\n this.props.data.checkout.then(() => {\r\n this._setDefaultCountryRegionId();\r\n this._initModuleState();\r\n });\r\n\r\n reaction(\r\n () => this.countryRegionId,\r\n () => this._getStateProvinces()\r\n );\r\n\r\n reaction(\r\n () => this.currentOperation,\r\n () => {\r\n this._getStateProvinces();\r\n }\r\n );\r\n\r\n if (autoSuggestionEnabled) {\r\n if (channel && !channel.BingMapsApiKey) {\r\n telemetry.error('BingMapsApiKey is missing.');\r\n return;\r\n }\r\n\r\n if (channel && !channel.BingMapsEnabled) {\r\n telemetry.error('Map is disabled from HQ.');\r\n return;\r\n }\r\n\r\n const options: IAutoSuggestOptions = { ...autoSuggestOptions };\r\n this.autoSuggest = new AutoSuggest(\r\n telemetry,\r\n options,\r\n channel?.BingMapsApiKey,\r\n channel?.ChannelCountryRegionISOCode,\r\n channel?.DefaultLanguageId\r\n );\r\n\r\n // Customer doesn't have any address. Then add view will be loaded directly. Code for the same to handle that\r\n if (\r\n this.props.data.storeSelectorStateManager.result &&\r\n (this.currentOperation === AddressOperation.Add || this.currentOperation === AddressOperation.Update)\r\n ) {\r\n await this.autoSuggest?._loadMapAPI(await this.props.data.storeSelectorStateManager);\r\n }\r\n\r\n reaction(\r\n () =>\r\n this.props.data.storeSelectorStateManager.result?.loadMapApi &&\r\n (this.currentOperation === AddressOperation.Add || this.currentOperation === AddressOperation.Update),\r\n async () => {\r\n await this.autoSuggest?._loadMapAPI(await this.props.data.storeSelectorStateManager);\r\n }\r\n );\r\n\r\n reaction(\r\n () => this.props.data.storeSelectorStateManager.result?.isMapApiLoaded,\r\n async () => {\r\n await this._attachMapAutoSuggest();\r\n }\r\n );\r\n }\r\n }\r\n\r\n public async componentDidUpdate(): Promise {\r\n if (this.currentOperation === AddressOperation.Add || this.currentOperation === AddressOperation.Update) {\r\n if (this.props.data.storeSelectorStateManager.result?.isMapApiLoaded) {\r\n await this._attachMapAutoSuggest();\r\n }\r\n } else {\r\n this.autoSuggest?.disposeAutoSuggest();\r\n }\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n if (!this._canShip()) {\r\n return null;\r\n }\r\n\r\n const { renderView, config } = this.props;\r\n\r\n const viewProps = {\r\n ...this.props,\r\n currentOperation: this.currentOperation,\r\n selectedAddress: this.selectedAddress,\r\n addUpdateAddress: this.addUpdateAddress,\r\n addressListSelectedAddress: this.addressListSelectedAddress,\r\n countryRegionId: this.countryRegionId,\r\n stateProvinceInfo: this.stateProvinceInfo,\r\n customerAddresses: this.customerAddresses,\r\n validationError: this.validationError,\r\n addressActionResponse: this.addressActionResponse,\r\n isUpdating: this.isUpdating,\r\n hasError: this.hasError,\r\n className: config.className,\r\n viewState: {\r\n isShowAddress: this.currentOperation === AddressOperation.Show && this.selectedAddress,\r\n isShowAddresList: this.currentOperation === AddressOperation.List && this.customerAddresses.length > 0,\r\n isShowAddOrUpdateAddress:\r\n this.currentOperation === AddressOperation.Add || this.currentOperation === AddressOperation.Update\r\n },\r\n CheckoutShippingAddress: {\r\n moduleProps: this.props,\r\n className: classnames('ms-checkout-shipping-address', config.className)\r\n },\r\n showAddress: this._renderShowAddress(),\r\n showAddressSelect: this._renderSelectAddress(),\r\n showAddOrUpdateAddress: this._renderAddOrUpdateAddress()\r\n };\r\n\r\n return renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n private _renderAddOrUpdateAddress = (): IAddressAddUpdateProps => {\r\n const addressFormat =\r\n this.currentOperation === AddressOperation.Add && this.addressCommon.isAuthenticatedFlow()\r\n ? this.addressFormat\r\n : this.addressFormat;\r\n return AddressAddUpdate({\r\n isUpdating: this.isUpdating,\r\n resources: this.resources,\r\n addressType: AddressType.Shipping,\r\n addressFormat: addressFormat.getAddressFormat(this.addUpdateAddress.ThreeLetterISORegionName || 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.hasError,\r\n addressActionResponse: this.addressActionResponse,\r\n telemetryContent: this.telemetryContent,\r\n dropdownDisplayData: 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 hasExternalSubmitGroup: this.props.moduleState.hasExternalSubmitGroup,\r\n onSave: this.onSubmit,\r\n // tslint:disable-next-line: no-empty\r\n onCancel: !this.selectedAddress && !this.addressCommon.isAuthenticatedFlow() ? () => {} : this._resetView\r\n });\r\n };\r\n\r\n private _renderSelectAddress = (): IAddressSelectProps => {\r\n return AddressSelect({\r\n addressFormat: this.addressFormat,\r\n addresses: this.customerAddresses,\r\n resources: this.resources,\r\n addressPurposes: this.addressPurposes,\r\n selectedAddress: this.addressListSelectedAddress,\r\n onAddressOptionChange: this._onAddressOptionChange,\r\n hasExternalSubmitGroup: this.props.moduleState.hasExternalSubmitGroup,\r\n telemetryContent: this.telemetryContent,\r\n onAddAddress: this._goToAddAddress,\r\n onSave: this._onSelectAddress,\r\n // tslint:disable-next-line: no-empty\r\n onCancel: !this.selectedAddress ? () => {} : this._resetView\r\n });\r\n };\r\n\r\n private _renderShowAddress(): IAddressShowProps | null {\r\n if (this.selectedAddress) {\r\n return AddressShow({\r\n address: this.selectedAddress,\r\n addressFormat: this.addressFormat.getAddressFormat(this.selectedAddress.ThreeLetterISORegionName || ''),\r\n addressPurposes: this.addressPurposes\r\n });\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private _attachMapAutoSuggest = async (): Promise => {\r\n const {\r\n data: {\r\n storeSelectorStateManager: { result: storeSelectorStateManager }\r\n }\r\n } = this.props;\r\n\r\n if (storeSelectorStateManager?.isMapApiLoaded) {\r\n this.autoSuggest?.attachAutoSuggest('#shipping_addressstreet', '#shipping_addressstreet_container', this._onSuggestionSelected);\r\n }\r\n };\r\n\r\n @action\r\n private _onSuggestionSelected = async (result: Microsoft.Maps.ISuggestionResult): Promise => {\r\n this._clearAddressFields();\r\n const address = this.addressFormat.getTranformedAddress(result, this.stateProvinceInfo);\r\n set(this.addUpdateAddress, { ['Street']: '' });\r\n set(this.addUpdateAddress, { ['ZipCode']: address.ZipCode });\r\n set(this.addUpdateAddress, { ['CountyName']: address.CountyName });\r\n set(this.addUpdateAddress, { ['City']: address.City });\r\n set(this.addUpdateAddress, { ['State']: address.State });\r\n set(this.addUpdateAddress, { ['DistrictName']: address.DistrictName });\r\n set(this.addUpdateAddress, { ['FullAddress']: address.FullAddress });\r\n // Bing autosuggest put the complete address in the Street input box. Updating the street input box to show only street address.\r\n setTimeout(() => {\r\n set(this.addUpdateAddress, { ['Street']: address.Street });\r\n }, 0);\r\n };\r\n\r\n @action\r\n private _clearAddressFields = (): void => {\r\n const addressFormatItem = this.addressFormat.getAddressFormat(\r\n this.addUpdateAddress.ThreeLetterISORegionName || this.countryRegionId\r\n );\r\n addressFormatItem.forEach(format => {\r\n if (this.addUpdateAddress[format.name] !== undefined && !this.autoSuggest?.excludedAddressFields.includes(format.name)) {\r\n this.addressFormat[format.name] = '';\r\n }\r\n });\r\n this._clearValidation();\r\n };\r\n\r\n @action\r\n private _clearValidation = (): void => {\r\n this.validationError = {};\r\n };\r\n\r\n private _onAddressOptionChange = (event: React.ChangeEvent) => {\r\n const addressRecordId = event.currentTarget.value;\r\n const selectedAddress = this.customerAddresses.find(address => (address.RecordId || '').toString() === addressRecordId);\r\n if (selectedAddress) {\r\n this.addressListSelectedAddress = selectedAddress;\r\n }\r\n };\r\n\r\n private onAddressAddUpdate = (name: string, value: string | boolean) => {\r\n set(this.addUpdateAddress, { [name]: value });\r\n this.addressFormat.validateAddressFormat(this.addUpdateAddress, this.validationError, this.countryRegionId, name);\r\n };\r\n\r\n private _onAddressAddUpdateInputChange = (event: React.ChangeEvent): void => {\r\n if (event.target.type === 'checkbox') {\r\n this.onAddressAddUpdate(event.target.name, event.target.checked);\r\n } else {\r\n const value = (event.target.value || '').replace(new RegExp('[<>]', 'gi'), '');\r\n this.onAddressAddUpdate(event.target.name, value);\r\n }\r\n };\r\n\r\n private _onAddressAddUpdateDropdownChange = (event: React.ChangeEvent): void => {\r\n this.onAddressAddUpdate(event.target.name, event.target.value);\r\n\r\n if (event.target.name === AddressItemType[AddressItemType.ThreeLetterISORegionName]) {\r\n this._onCountryChange(event.target.value);\r\n }\r\n };\r\n\r\n private _onAddressAddUpdateSubmit = (): void => {\r\n if (!this.addressFormat.validateAddressFormat(this.addUpdateAddress, this.validationError, this.countryRegionId)) {\r\n return;\r\n }\r\n\r\n let response: Promise;\r\n if (this.addressCommon.isAuthenticatedFlow()) {\r\n response =\r\n this.currentOperation === AddressOperation.Update\r\n ? this.addressCommon.updateCustomerAddress(this.addUpdateAddress)\r\n : Promise.resolve({ address: this.addUpdateAddress });\r\n } else {\r\n response = Promise.resolve({ address: this.addUpdateAddress });\r\n }\r\n\r\n this.isUpdating = true;\r\n this._updateModuleState();\r\n\r\n response.then(\r\n (result: IAddressResponse) => {\r\n this.isUpdating = false;\r\n\r\n if (result.address) {\r\n this.hasError = false;\r\n this._onAddOrUpdateSuccess(result);\r\n } else {\r\n this.hasError = true;\r\n this.addressActionResponse = result;\r\n this._updateModuleState();\r\n }\r\n },\r\n () => {\r\n this.hasError = true;\r\n this.isUpdating = false;\r\n this._updateModuleState();\r\n }\r\n );\r\n };\r\n\r\n private _onCountryChange = (countryRegionId: string) => {\r\n this.countryRegionId = countryRegionId;\r\n const twoLetterISORegionName = this.addressFormat.getTwoLetterISORegionName(countryRegionId);\r\n set(this.addUpdateAddress, {\r\n ['ThreeLetterISORegionName']: countryRegionId\r\n });\r\n set(this.addUpdateAddress, {\r\n ['TwoLetterISORegionName']: twoLetterISORegionName\r\n });\r\n this.autoSuggest?.changeAutoSuggestionCountryCode(twoLetterISORegionName);\r\n this._clearAddressFields();\r\n };\r\n\r\n private _getAddressFormatExcludeList = (): AddressItemType[] => {\r\n const { config } = this.props;\r\n const addressFormatExcludeList: AddressItemType[] = [];\r\n\r\n if (!config.showAddressType) {\r\n addressFormatExcludeList.push(AddressItemType.AddressTypeValue);\r\n }\r\n\r\n addressFormatExcludeList.push(AddressItemType.IsPrimary);\r\n\r\n return addressFormatExcludeList;\r\n };\r\n\r\n private _getStateProvinces = (): void => {\r\n if (\r\n !this.countryRegionId ||\r\n !(this.currentOperation === AddressOperation.Add || this.currentOperation === AddressOperation.Update)\r\n ) {\r\n return;\r\n }\r\n\r\n // tslint:disable-next-line:no-floating-promises\r\n this.addressCommon.getStateProvinces(this.countryRegionId).then((result: StateProvinceInfo[]) => {\r\n const stateInfo = result.some(state => state.StateId === this.addUpdateAddress.State);\r\n // Reset state if selected state not found in the list.\r\n if (!stateInfo) {\r\n set(this.addUpdateAddress, { ['State']: '' });\r\n }\r\n\r\n this.stateProvinceInfo = result;\r\n });\r\n };\r\n\r\n private _setDefaultCountryRegionId(): void {\r\n const { request } = this.props.context;\r\n const market = request && request.channel && request.channel.ChannelCountryRegionISOCode;\r\n this.countryRegionId = this.addressCommon.getDefaultCountryRegionId(this.countryRegionId, this.countryRegions, market);\r\n }\r\n\r\n private _getDefaultAddress = (): Address | undefined => {\r\n if (this.customerAddresses) {\r\n const primaryAddress = this.customerAddresses.find((address: Address) => address.IsPrimary);\r\n return primaryAddress || (this.customerAddresses.length > 0 ? this.customerAddresses[0] : undefined);\r\n }\r\n return undefined;\r\n };\r\n\r\n private _initModuleState = (): void => {\r\n this.props.moduleState.init({\r\n status: this._canShip() ? 'updating' : 'disabled',\r\n onEdit: this.onEdit,\r\n onCancel: this.onCancel,\r\n onSubmit: this.onSubmit\r\n });\r\n\r\n if (this._canShip()) {\r\n const defaultAddress = this._getShippingAddressFromCartLines() || this._getDefaultAddress();\r\n if (defaultAddress && !this.addressCommon.isEmpty(defaultAddress)) {\r\n this._updateCurrentOperation(AddressOperation.Show, defaultAddress);\r\n this._setShippingAddress(defaultAddress);\r\n this._updateModuleState();\r\n } else {\r\n this._updateCurrentOperation(AddressOperation.Add);\r\n }\r\n }\r\n };\r\n\r\n private onSubmit = (): void => {\r\n switch (this.currentOperation) {\r\n case AddressOperation.Add:\r\n case AddressOperation.Update:\r\n this._onAddressAddUpdateSubmit();\r\n break;\r\n case AddressOperation.List:\r\n this._onSelectAddress();\r\n break;\r\n default:\r\n this.props.telemetry.error('Invalid operation');\r\n }\r\n };\r\n\r\n private onCancel = (): void => {\r\n switch (this.currentOperation) {\r\n case AddressOperation.Add:\r\n case AddressOperation.Update:\r\n this._clearAddressFields();\r\n if (!(!this.selectedAddress && !this.addressCommon.isAuthenticatedFlow())) {\r\n this._resetView();\r\n }\r\n\r\n break;\r\n case AddressOperation.List:\r\n if (this.selectedAddress) {\r\n this._resetView();\r\n }\r\n break;\r\n default:\r\n this.props.telemetry.error('Invalid operation');\r\n }\r\n };\r\n\r\n private onEdit = (): void => {\r\n if (this.addressCommon.isAuthenticatedFlow() && this.shippingAddress) {\r\n this._updateCurrentOperation(AddressOperation.List, this.shippingAddress);\r\n } else if (this.shippingAddress) {\r\n this._updateCurrentOperation(AddressOperation.Update, this.shippingAddress);\r\n }\r\n\r\n this._updateModuleState();\r\n };\r\n\r\n private _getShippingAddressFromCartLines = (): Address | undefined => {\r\n const { request } = this.props.context;\r\n const { channelDeliveryOptionConfig } = this.props.data;\r\n const pickupDeliveryModeCode = request && request.channel && request.channel.PickupDeliveryModeCode;\r\n const emailDeliveryModeCode = request && request.channel && request.channel.EmailDeliveryModeCode;\r\n\r\n const cartLines = this.retailMultiplePickUpOptionEnabled\r\n ? ((this.props.data.checkout.result && this.props.data.checkout.result.checkoutCart.cart.CartLines) || []).filter(cartLine =>\r\n cartLine.DeliveryMode && cartLine.DeliveryMode !== ''\r\n ? cartLine.DeliveryMode !==\r\n channelDeliveryOptionConfig.result?.PickupDeliveryModeCodes?.find(\r\n deliveryMode => deliveryMode === cartLine.DeliveryMode\r\n ) && cartLine.DeliveryMode !== emailDeliveryModeCode\r\n : cartLine\r\n )\r\n : ((this.props.data.checkout.result && this.props.data.checkout.result.checkoutCart.cart.CartLines) || []).filter(cartLine =>\r\n cartLine.DeliveryMode && cartLine.DeliveryMode !== ''\r\n ? cartLine.DeliveryMode !== pickupDeliveryModeCode && cartLine.DeliveryMode !== emailDeliveryModeCode\r\n : cartLine\r\n );\r\n\r\n if (cartLines && cartLines.length > 0) {\r\n return cartLines[0].ShippingAddress;\r\n }\r\n\r\n return undefined;\r\n };\r\n\r\n private _canShip = (): boolean => {\r\n const { checkout, channelDeliveryOptionConfig } = this.props.data;\r\n const { request } = this.props.context;\r\n const pickupDeliveryModeCode = request && request.channel && request.channel.PickupDeliveryModeCode;\r\n const emailDeliveryModeCode = request && request.channel && request.channel.EmailDeliveryModeCode;\r\n if (!checkout.result || !request.channel || checkout.result.checkoutCart.isEmpty || checkout.result.checkoutCart.hasInvoiceLine) {\r\n return false;\r\n }\r\n\r\n // @ts-ignore: Type-checker not realizing above request.channel check\r\n return this.retailMultiplePickUpOptionEnabled\r\n ? checkout?.result?.checkoutCart?.cart?.CartLines?.some(cartLine =>\r\n cartLine.DeliveryMode && cartLine.DeliveryMode !== ''\r\n ? cartLine.DeliveryMode !==\r\n channelDeliveryOptionConfig.result?.PickupDeliveryModeCodes?.find(\r\n deliveryMode => deliveryMode === cartLine.DeliveryMode\r\n ) && cartLine.DeliveryMode !== emailDeliveryModeCode\r\n : cartLine\r\n )\r\n : checkout?.result?.checkoutCart?.cart?.CartLines?.some(cartLine =>\r\n cartLine.DeliveryMode && cartLine.DeliveryMode !== ''\r\n ? cartLine.DeliveryMode !== pickupDeliveryModeCode && cartLine.DeliveryMode !== emailDeliveryModeCode\r\n : cartLine\r\n );\r\n };\r\n\r\n private _onSelectAddress = () => {\r\n this._updateCurrentOperation(AddressOperation.Show, this.addressListSelectedAddress);\r\n this._setShippingAddress(this.addressListSelectedAddress);\r\n this._updateModuleState();\r\n };\r\n\r\n private _goToAddAddress = () => {\r\n this._setDefaultCountryRegionId();\r\n this._updateCurrentOperation(AddressOperation.Add);\r\n };\r\n\r\n private _onAddOrUpdateSuccess = (response: IAddressResponse) => {\r\n if (response.customerAddresses) {\r\n this.customerAddresses = response.customerAddresses;\r\n }\r\n\r\n if (response.address) {\r\n this._updateCurrentOperation(AddressOperation.Show, response.address);\r\n this._setShippingAddress(response.address);\r\n this._updateModuleState();\r\n }\r\n };\r\n\r\n private _setShippingAddress = (address: Address): void => {\r\n if (this.props.data.checkout.result) {\r\n const newShippingAddress = { ...address };\r\n\r\n if (address.ThreeLetterISORegionName && !newShippingAddress.TwoLetterISORegionName) {\r\n newShippingAddress.TwoLetterISORegionName = this.addressFormat.getTwoLetterISORegionName(address.ThreeLetterISORegionName);\r\n }\r\n\r\n // tslint:disable-next-line:no-floating-promises\r\n this.props.data.checkout.result.updateShippingAddress({\r\n newShippingAddress\r\n });\r\n }\r\n };\r\n\r\n @computed get shippingAddress(): Address | undefined {\r\n return this.props.data.checkout.result && this.props.data.checkout.result.shippingAddress;\r\n }\r\n\r\n private _resetView = (): void => {\r\n switch (this.currentOperation) {\r\n case AddressOperation.Add:\r\n case AddressOperation.Update:\r\n this._updateCurrentOperation(\r\n this.addressCommon.isAuthenticatedFlow() ? AddressOperation.List : AddressOperation.Show,\r\n this.shippingAddress\r\n );\r\n break;\r\n default:\r\n this._updateCurrentOperation(AddressOperation.Show, this.shippingAddress);\r\n }\r\n this._updateModuleState();\r\n };\r\n\r\n private _updateCurrentOperation = (operation: AddressOperation, selectedAddress?: Address) => {\r\n this.currentOperation = operation;\r\n this.selectedAddress = selectedAddress;\r\n\r\n if (this.currentOperation === AddressOperation.Add || this.currentOperation === AddressOperation.Update) {\r\n this.addUpdateAddress = { ...this.selectedAddress } || {};\r\n set(this.addUpdateAddress, {\r\n ['ThreeLetterISORegionName']: this.addUpdateAddress.ThreeLetterISORegionName || this.countryRegionId\r\n });\r\n set(this.addUpdateAddress, {\r\n ['AddressTypeValue']: this.addUpdateAddress.AddressTypeValue || this.defaultAddressType\r\n });\r\n } else if (this.currentOperation === AddressOperation.List) {\r\n this.addressListSelectedAddress = { ...this.selectedAddress } || {};\r\n }\r\n };\r\n\r\n private _updateModuleState = () => {\r\n if (this.currentOperation === AddressOperation.Show) {\r\n this.props.moduleState.onReady();\r\n } else if (this.isUpdating) {\r\n this.props.moduleState.onPending();\r\n } else {\r\n this.props.moduleState.onUpdating();\r\n }\r\n };\r\n}\r\n\r\nexport default CheckoutShippingAddress;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport * as React from 'react';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport {\r\n IAddressAddItem,\r\n IAddressAddUpdateProps,\r\n IAddressSelectItem,\r\n IAddressSelectProps,\r\n IAddressShowItem,\r\n IAddressShowProps\r\n} from '@msdyn365-commerce-modules/address';\r\nimport { ICheckoutShippingAddressViewProps } from './custom-checkout-shipping-address';\r\nimport { convert_a2_to_a3 } from '../../themes/venchi/utils/convert_a2_a3';\r\n\r\nconst AddressShow: React.FC = ({ AddressDetail, items }) => {\r\n return (\r\n \r\n {items &&\r\n items.map((item: IAddressShowItem) => {\r\n return <>{item.description};\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst AddressSelect: React.FC = ({\r\n SelectAddress,\r\n addButton,\r\n items,\r\n isShowSaveButton,\r\n saveButton,\r\n isShowCancelButton,\r\n cancelButton\r\n}) => {\r\n return (\r\n \r\n {addButton}\r\n {items &&\r\n items.map((item: IAddressSelectItem) => {\r\n const SelectItem = item.SelectItem;\r\n return (\r\n \r\n {item.input}\r\n \r\n \r\n );\r\n })}\r\n {isShowSaveButton && saveButton}\r\n {isShowCancelButton && cancelButton}\r\n \r\n );\r\n};\r\n\r\n// tslint:disable-next-line:max-func-body-length\r\nconst AddressAddUpdate: React.FC = ({\r\n AddressForm,\r\n heading,\r\n items,\r\n hasError,\r\n error,\r\n isShowSaveButton,\r\n saveButton,\r\n isShowCancelButton,\r\n cancelButton,\r\n ...other\r\n}) => {\r\n // @ts-ignore\r\n const [hasHomeNumber, setHasHomeNumber] = React.useState(false);\r\n const addressContainerRef = React.useRef(null);\r\n // @ts-ignore\r\n const resources = other?.moduleProps?.resources;\r\n // @ts-ignore\r\n const localeString = other?.moduleProps?.context?.request?.locale;\r\n // @ts-ignore\r\n const sitePath = other?.moduleProps?.context?.request?.sitePath;\r\n const europe = ['/fr', '/de'];\r\n // @ts-ignore\r\n const currency = other?.moduleProps?.context?.request?.channel?.Currency;\r\n const locale =\r\n sitePath && europe.includes(sitePath)\r\n ? 'eu'\r\n : currency === 'EUR' && localeString === 'en-GB'\r\n ? 'eu'\r\n : localeString.replace('-', '');\r\n\r\n const countriesAvail = {\r\n enGB: {\r\n autocomplete: ['gb'],\r\n select: ['GBR']\r\n },\r\n it: {\r\n autocomplete: ['it'],\r\n select: ['ITA']\r\n },\r\n enUS: {\r\n autocomplete: ['us'],\r\n // autocomplete: ['us', 'ca'],\r\n //select: ['USA', 'CAN']\r\n select: ['USA']\r\n },\r\n eu: {\r\n // removed componentRestrictions for country as there is limit of 5 in google maps\r\n // autocomplete:['at','be','bg','ch','cz','de','dk','es','ee','fi','fr','gr','hr','hu','ie','li','lt','lu','lv','mc','nl','no','pl','pt','ro','sk','si','se'],\r\n autocomplete: [],\r\n select: [\r\n 'AUT',\r\n 'BEL',\r\n 'BGR',\r\n 'CHE',\r\n 'CZE',\r\n 'DEU',\r\n 'DNK',\r\n 'ESP',\r\n 'EST',\r\n 'FIN',\r\n 'FRA',\r\n 'GRC',\r\n 'HRV',\r\n 'HUN',\r\n 'IRL',\r\n 'LIE',\r\n 'LTU',\r\n 'LUX',\r\n 'LVA',\r\n 'MCO',\r\n 'NLD',\r\n 'NOR',\r\n 'POL',\r\n 'PRT',\r\n 'ROU',\r\n 'SVK',\r\n 'SVN',\r\n 'SWE'\r\n ]\r\n },\r\n enSG: {\r\n autocomplete: ['sg'],\r\n select: ['SGP']\r\n }\r\n };\r\n // @ts-ignore\r\n const nativeInputValueSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value').set;\r\n // tslint:disable-next-line:typedef\r\n function gMapsAutocomplete() {\r\n const googleComponents = [\r\n { googleComponent: 'sublocality_level_1', id: 'shipping_addresscity' },\r\n { googleComponent: 'locality', id: 'shipping_addresscity' },\r\n { googleComponent: 'postal_town', id: 'shipping_addresscity' },\r\n {\r\n googleComponent: 'administrative_area_level_3',\r\n id: 'shipping_addresscity'\r\n },\r\n {\r\n googleComponent: 'administrative_area_level_1',\r\n id: 'shipping_addressstate'\r\n },\r\n { googleComponent: 'postal_code_prefix', id: 'shipping_addresszipcode' },\r\n { googleComponent: 'postal_code', id: 'shipping_addresszipcode' },\r\n {\r\n googleComponent: 'country',\r\n id: 'shipping_addressthreeletterisoregionname'\r\n },\r\n {\r\n googleComponent: 'administrative_area_level_2',\r\n id: 'shipping_addresscounty'\r\n }\r\n ];\r\n\r\n const autocompleteFormField = document.getElementById('shipping_addressstreet');\r\n const addressErrorField = addressContainerRef?.current?.querySelector('.msc-address-form__alert');\r\n const saveAddressButton = document.querySelector('.ms-checkout__guided-card-btn-save.msc-btn') as HTMLButtonElement;\r\n\r\n // @ts-ignore\r\n const autocomplete = new window.google.maps.places.Autocomplete(autocompleteFormField, {\r\n types: ['address'],\r\n componentRestrictions: {\r\n country: countriesAvail[locale] && countriesAvail[locale].autocomplete\r\n }\r\n });\r\n if (autocompleteFormField === null) {\r\n return;\r\n }\r\n autocompleteFormField.setAttribute('placeholder', resources.startTypingYourAddress);\r\n // @ts-ignore\r\n window.google.maps.event.clearInstanceListeners(autocompleteFormField);\r\n // @ts-ignore\r\n window.google.maps.event.addListener(autocomplete, `place_changed`, () => {\r\n let homeNumberPresent = false;\r\n setHasHomeNumber(false);\r\n\r\n const place = autocomplete.getPlace();\r\n if (nativeInputValueSetter === undefined) {\r\n return;\r\n }\r\n nativeInputValueSetter.call(autocompleteFormField, place.name);\r\n const eCustom = new Event('change', { bubbles: true });\r\n autocompleteFormField.dispatchEvent(eCustom);\r\n\r\n for (const googleComponent of googleComponents) {\r\n const addressComponents = place.address_components;\r\n if (addressComponents && addressComponents.length > 0) {\r\n // @ts-ignore\r\n addressComponents.forEach(addressComponent => {\r\n if (addressComponent.types.includes('street_number')) {\r\n homeNumberPresent = true;\r\n setHasHomeNumber(true);\r\n }\r\n populateFormElements(addressComponent, googleComponent);\r\n });\r\n\r\n if (!homeNumberPresent) {\r\n addressContainerRef?.current?.classList.add('address-form__item-invalid');\r\n addressErrorField!.innerHTML = resources.addressHomeNumberRequiredErrorMessage;\r\n saveAddressButton.setAttribute('disabled', 'true');\r\n setHasHomeNumber(true);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n // tslint:disable-next-line:typedef no-any\r\n function populateFormElements(\r\n addressComponent: { types: any[]; short_name: string; long_name: string },\r\n formMap: { googleComponent: any; id: string }\r\n ) {\r\n const addressType = addressComponent.types[0];\r\n\r\n if (document.getElementById(formMap.id) === undefined || document.getElementById(formMap.id) === null) {\r\n return;\r\n }\r\n\r\n if (formMap.googleComponent === addressType) {\r\n if (formMap.id === 'shipping_addressthreeletterisoregionname' || formMap.id === 'shipping_addressstate') {\r\n const input = document.getElementById(formMap.id) as HTMLSelectElement;\r\n if (input !== null) {\r\n const formValue = locale === 'it' && formMap.id === 'shipping_addressstate' ? 'DEF' : addressComponent.short_name;\r\n const selectedValue = selectItemByValue(input, formValue, addressType === 'country' ? true : false);\r\n if (selectedValue !== undefined) {\r\n input.value = selectedValue;\r\n const event = new Event('change', { bubbles: true });\r\n input.dispatchEvent(event);\r\n }\r\n }\r\n } else {\r\n const formValue = formMap.id === 'shipping_addresscounty' ? addressComponent.short_name : addressComponent.long_name;\r\n const input = document.getElementById(formMap.id);\r\n if (input !== undefined) {\r\n if (nativeInputValueSetter === undefined) {\r\n return;\r\n }\r\n nativeInputValueSetter.call(input, formValue);\r\n const eCustom = new Event('input', { bubbles: true });\r\n if (input !== null) {\r\n input.dispatchEvent(eCustom);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n // @ts-ignore\r\n // tslint:disable-next-line:typedef\r\n function selectItemByValue(elmnt: HTMLSelectElement, value: string, is_convert_a2_to_a3: boolean) {\r\n for (let i = 0; i < elmnt.options.length; i++) {\r\n const eValue = elmnt.options[i].value;\r\n if ((is_convert_a2_to_a3 && eValue === convert_a2_to_a3[value]) || (!is_convert_a2_to_a3 && eValue === value)) {\r\n return elmnt.options[i].value;\r\n }\r\n }\r\n }\r\n const checkPhone = () => {\r\n const saveAddressButton = document.querySelector('.ms-checkout__guided-card-btn-save.msc-btn') as HTMLButtonElement;\r\n const phone = document.getElementById('shipping_addressphone') as HTMLInputElement;\r\n if (phone) {\r\n const phoneCtn = phone.closest('.msc-address-form__item') as HTMLElement;\r\n const phoneAlert = phoneCtn.getElementsByClassName('msc-address-form__alert')[0];\r\n const pattern = /^[0-9]*$/;\r\n const pattern2 = /^\\+?\\d+$/;\r\n phone.setAttribute('aria-required', 'true');\r\n phone.setAttribute('type', 'tel');\r\n phone.setAttribute('maxlength', '15');\r\n if (phone.value.length === 0) {\r\n saveAddressButton.setAttribute('disabled', 'true');\r\n }\r\n phone.onkeyup = () => {\r\n if (!phone.value.match(pattern) && !phone.value.match(pattern2)) {\r\n phoneCtn.classList.add('address-form__item-invalid');\r\n phoneAlert.textContent = resources.addressPhoneRequiredErrorMessage;\r\n saveAddressButton.setAttribute('disabled', 'true');\r\n } else if (phone.value.length < 6) {\r\n phoneCtn.classList.add('address-form__item-invalid');\r\n phoneAlert.textContent = resources.addressPhoneRequiredErrorMessage;\r\n saveAddressButton.setAttribute('disabled', 'true');\r\n } else {\r\n phoneCtn.classList.remove('address-form__item-invalid');\r\n phoneAlert.textContent = '';\r\n saveAddressButton.removeAttribute('disabled');\r\n }\r\n };\r\n }\r\n };\r\n function phoneValidation(): void {\r\n const addressForm = document.getElementsByClassName('msc-address-form')[0];\r\n const saveAddressButton = addressForm\r\n .closest('.ms-checkout__guided-card')\r\n ?.getElementsByClassName('ms-checkout__guided-card-btn-save')[0] as HTMLElement;\r\n const county = document.getElementById('shipping_addresscounty') as HTMLInputElement;\r\n const countyCtn = county && county !== null ? (county.closest('.msc-address-form__item') as HTMLInputElement) : undefined;\r\n const countyAlert = countyCtn?.getElementsByClassName('msc-address-form__alert')[0];\r\n\r\n if (countyCtn !== undefined) {\r\n countyCtn.onkeyup = () => {\r\n countyCtn?.classList.remove('address-form__item-invalid');\r\n if (countyAlert) {\r\n countyAlert.textContent = '';\r\n }\r\n };\r\n }\r\n if (saveAddressButton !== undefined) {\r\n saveAddressButton.onclick = e => {\r\n const countyValid = locale === 'it' && (county.value === '' || county.value.length > 2) ? false : true;\r\n if (!countyValid) {\r\n countyCtn?.classList.add('address-form__item-invalid');\r\n if (countyAlert) {\r\n countyAlert.textContent = 'Inserire Codice ISO a 2 lettere';\r\n }\r\n const elements = addressForm.querySelectorAll('input');\r\n let fieldInALL = true;\r\n elements.forEach(fieldInControl);\r\n function fieldInControl(element: HTMLInputElement): void {\r\n if (element.value === '' && element.name !== 'County') {\r\n fieldInALL = false;\r\n }\r\n }\r\n if (fieldInALL) {\r\n e.stopPropagation();\r\n }\r\n }\r\n };\r\n }\r\n }\r\n React.useEffect(() => {\r\n gMapsAutocomplete();\r\n const options = document.querySelectorAll('#shipping_addressthreeletterisoregionname option');\r\n options.forEach(o => {\r\n const optionV = (o as HTMLOptionElement).value;\r\n if (countriesAvail[locale] && !countriesAvail[locale].select.includes(optionV)) {\r\n o.remove();\r\n }\r\n });\r\n const countrySelect = document.getElementById('shipping_addressthreeletterisoregionname') as HTMLSelectElement;\r\n if (locale === 'enUS') {\r\n countrySelect.value = 'USA';\r\n }\r\n const event = new Event('change', { bubbles: true });\r\n countrySelect.dispatchEvent(event);\r\n const stateSelect = document.getElementById('shipping_addressstate') as HTMLSelectElement;\r\n if (locale === 'it') {\r\n stateSelect.value = 'DEF';\r\n stateSelect.dispatchEvent(event);\r\n stateSelect.disabled = Boolean('true');\r\n }\r\n phoneValidation();\r\n }, []);\r\n // Phone Verifications\r\n React.useEffect(() => {\r\n checkPhone();\r\n }, [(document?.getElementById('shipping_addressphone') as HTMLInputElement)?.value]);\r\n React.useEffect(() => {\r\n phoneValidation();\r\n }, [document.getElementById('shipping_addressphone')]);\r\n\r\n React.useEffect(() => {\r\n const addressStreetField = document?.getElementById('shipping_addressstreet') as HTMLInputElement;\r\n const addressErrorField = addressContainerRef?.current?.querySelector('.msc-address-form__alert');\r\n const saveAddressButton = document.querySelector('.ms-checkout__guided-card-btn-save.msc-btn') as HTMLButtonElement;\r\n\r\n if (addressErrorField && addressStreetField!.value) {\r\n addressErrorField.innerHTML = '';\r\n saveAddressButton.setAttribute('disabled', 'false');\r\n addressContainerRef?.current?.classList.remove('address-form__item-invalid');\r\n }\r\n }, [(document?.getElementById('shipping_addressstreet') as HTMLInputElement)?.value]);\r\n\r\n React.useEffect(() => {\r\n const saveAddressButton = document.querySelector('.ms-checkout__guided-card-btn-save.msc-btn') as HTMLButtonElement;\r\n\r\n if (hasHomeNumber) {\r\n saveAddressButton.removeAttribute('disabled');\r\n } else {\r\n saveAddressButton.setAttribute('disabled', 'true');\r\n }\r\n });\r\n\r\n return (\r\n \r\n {heading}\r\n {items &&\r\n items.map((item: IAddressAddItem) => {\r\n const { AddressItem, key, label, alert, input } = item;\r\n if (key === 'Name' && input) {\r\n // @ts-ignore\r\n input.props.maxLength = 34;\r\n }\r\n return (\r\n \r\n {label}\r\n {alert}\r\n {input}\r\n \r\n );\r\n })}\r\n {hasError && (\r\n \r\n {error.title}\r\n {error.message}\r\n \r\n )}\r\n {isShowSaveButton && saveButton}\r\n {isShowCancelButton && cancelButton}\r\n \r\n );\r\n};\r\n\r\nconst CheckoutShippingAddressView: React.FC = props => {\r\n const { CheckoutShippingAddress, viewState, showAddress, showAddressSelect, showAddOrUpdateAddress } = props;\r\n\r\n return (\r\n \r\n {viewState.isShowAddress && }\r\n {viewState.isShowAddresList && }\r\n {viewState.isShowAddOrUpdateAddress && }\r\n \r\n );\r\n};\r\n\r\nexport default CheckoutShippingAddressView;\r\n","import { ICookieContext } from '@msdyn365-commerce/core-internal/dist/types';\r\nconst FEATURE_COOKIE_KEY = 'features';\r\n\r\nexport const getFeatureToggleService = (cookieContext: ICookieContext, serverFeatures: string[]) => {\r\n const getFeaturesCookie = (cookieContext: ICookieContext) => cookieContext.get(FEATURE_COOKIE_KEY);\r\n\r\n const getEnabledFeatures = (): string[] => {\r\n const featuresCookie = getFeaturesCookie(cookieContext).value;\r\n const clientFeatures = featuresCookie ? featuresCookie.split(',').map(feature => feature.trim()) : [];\r\n return clientFeatures.concat(serverFeatures);\r\n };\r\n\r\n const isFeatureEnabled = (featureName: string): boolean => getEnabledFeatures().includes(featureName);\r\n return {\r\n getEnabledFeatures,\r\n isFeatureEnabled\r\n };\r\n};\r\n","// tslint:disable-next-line:variable-name\r\nexport const convert_a2_to_a3 = {\r\n AF: 'AFG',\r\n AX: 'ALA',\r\n AL: 'ALB',\r\n DZ: 'DZA',\r\n AS: 'ASM',\r\n AD: 'AND',\r\n AO: 'AGO',\r\n AI: 'AIA',\r\n AQ: 'ATA',\r\n AG: 'ATG',\r\n AR: 'ARG',\r\n AM: 'ARM',\r\n AW: 'ABW',\r\n AU: 'AUS',\r\n AT: 'AUT',\r\n AZ: 'AZE',\r\n BS: 'BHS',\r\n BH: 'BHR',\r\n BD: 'BGD',\r\n BB: 'BRB',\r\n BY: 'BLR',\r\n BE: 'BEL',\r\n BZ: 'BLZ',\r\n BJ: 'BEN',\r\n BM: 'BMU',\r\n BT: 'BTN',\r\n BO: 'BOL',\r\n BA: 'BIH',\r\n BW: 'BWA',\r\n BV: 'BVT',\r\n BR: 'BRA',\r\n IO: 'IOT',\r\n BN: 'BRN',\r\n BG: 'BGR',\r\n BF: 'BFA',\r\n BI: 'BDI',\r\n KH: 'KHM',\r\n CM: 'CMR',\r\n CA: 'CAN',\r\n CV: 'CPV',\r\n KY: 'CYM',\r\n CF: 'CAF',\r\n TD: 'TCD',\r\n CL: 'CHL',\r\n CN: 'CHN',\r\n CX: 'CXR',\r\n CC: 'CCK',\r\n CO: 'COL',\r\n KM: 'COM',\r\n CG: 'COG',\r\n CD: 'COD',\r\n CK: 'COK',\r\n CR: 'CRI',\r\n CI: 'CIV',\r\n HR: 'HRV',\r\n CU: 'CUB',\r\n CY: 'CYP',\r\n CZ: 'CZE',\r\n DK: 'DNK',\r\n DJ: 'DJI',\r\n DM: 'DMA',\r\n DO: 'DOM',\r\n EC: 'ECU',\r\n EG: 'EGY',\r\n SV: 'SLV',\r\n GQ: 'GNQ',\r\n ER: 'ERI',\r\n EE: 'EST',\r\n ET: 'ETH',\r\n FK: 'FLK',\r\n FO: 'FRO',\r\n FJ: 'FJI',\r\n FI: 'FIN',\r\n FR: 'FRA',\r\n GF: 'GUF',\r\n PF: 'PYF',\r\n TF: 'ATF',\r\n GA: 'GAB',\r\n GM: 'GMB',\r\n GE: 'GEO',\r\n DE: 'DEU',\r\n GH: 'GHA',\r\n GI: 'GIB',\r\n GR: 'GRC',\r\n GL: 'GRL',\r\n GD: 'GRD',\r\n GP: 'GLP',\r\n GU: 'GUM',\r\n GT: 'GTM',\r\n GG: 'GGY',\r\n GN: 'GIN',\r\n GW: 'GNB',\r\n GY: 'GUY',\r\n HT: 'HTI',\r\n HM: 'HMD',\r\n VA: 'VAT',\r\n HN: 'HND',\r\n HK: 'HKG',\r\n HU: 'HUN',\r\n IS: 'ISL',\r\n IN: 'IND',\r\n ID: 'IDN',\r\n IR: 'IRN',\r\n IQ: 'IRQ',\r\n IE: 'IRL',\r\n IM: 'IMN',\r\n IL: 'ISR',\r\n IT: 'ITA',\r\n JM: 'JAM',\r\n JP: 'JPN',\r\n JE: 'JEY',\r\n JO: 'JOR',\r\n KZ: 'KAZ',\r\n KE: 'KEN',\r\n KI: 'KIR',\r\n KP: 'PRK',\r\n KR: 'KOR',\r\n KW: 'KWT',\r\n KG: 'KGZ',\r\n LA: 'LAO',\r\n LV: 'LVA',\r\n LB: 'LBN',\r\n LS: 'LSO',\r\n LR: 'LBR',\r\n LY: 'LBY',\r\n LI: 'LIE',\r\n LT: 'LTU',\r\n LU: 'LUX',\r\n MO: 'MAC',\r\n MK: 'MKD',\r\n MG: 'MDG',\r\n MW: 'MWI',\r\n MY: 'MYS',\r\n MV: 'MDV',\r\n ML: 'MLI',\r\n MT: 'MLT',\r\n MH: 'MHL',\r\n MQ: 'MTQ',\r\n MR: 'MRT',\r\n MU: 'MUS',\r\n YT: 'MYT',\r\n MX: 'MEX',\r\n FM: 'FSM',\r\n MD: 'MDA',\r\n MC: 'MCO',\r\n MN: 'MNG',\r\n ME: 'MNE',\r\n MS: 'MSR',\r\n MA: 'MAR',\r\n MZ: 'MOZ',\r\n MM: 'MMR',\r\n NA: 'NAM',\r\n NR: 'NRU',\r\n NP: 'NPL',\r\n NL: 'NLD',\r\n AN: 'ANT',\r\n NC: 'NCL',\r\n NZ: 'NZL',\r\n NI: 'NIC',\r\n NE: 'NER',\r\n NG: 'NGA',\r\n NU: 'NIU',\r\n NF: 'NFK',\r\n MP: 'MNP',\r\n NO: 'NOR',\r\n OM: 'OMN',\r\n PK: 'PAK',\r\n PW: 'PLW',\r\n PS: 'PSE',\r\n PA: 'PAN',\r\n PG: 'PNG',\r\n PY: 'PRY',\r\n PE: 'PER',\r\n PH: 'PHL',\r\n PN: 'PCN',\r\n PL: 'POL',\r\n PT: 'PRT',\r\n PR: 'PRI',\r\n QA: 'QAT',\r\n RE: 'REU',\r\n RO: 'ROU',\r\n RU: 'RUS',\r\n RW: 'RWA',\r\n BL: 'BLM',\r\n SH: 'SHN',\r\n KN: 'KNA',\r\n LC: 'LCA',\r\n MF: 'MAF',\r\n PM: 'SPM',\r\n VC: 'VCT',\r\n WS: 'WSM',\r\n SM: 'SMR',\r\n ST: 'STP',\r\n SA: 'SAU',\r\n SN: 'SEN',\r\n RS: 'SRB',\r\n SC: 'SYC',\r\n SL: 'SLE',\r\n SG: 'SGP',\r\n SK: 'SVK',\r\n SI: 'SVN',\r\n SB: 'SLB',\r\n SO: 'SOM',\r\n ZA: 'ZAF',\r\n GS: 'SGS',\r\n ES: 'ESP',\r\n LK: 'LKA',\r\n SD: 'SDN',\r\n SR: 'SUR',\r\n SJ: 'SJM',\r\n SZ: 'SWZ',\r\n SE: 'SWE',\r\n CH: 'CHE',\r\n SY: 'SYR',\r\n TW: 'TWN',\r\n TJ: 'TJK',\r\n TZ: 'TZA',\r\n TH: 'THA',\r\n TL: 'TLS',\r\n TG: 'TGO',\r\n TK: 'TKL',\r\n TO: 'TON',\r\n TT: 'TTO',\r\n TN: 'TUN',\r\n TR: 'TUR',\r\n TM: 'TKM',\r\n TC: 'TCA',\r\n TV: 'TUV',\r\n UG: 'UGA',\r\n UA: 'UKR',\r\n AE: 'ARE',\r\n GB: 'GBR',\r\n US: 'USA',\r\n UM: 'UMI',\r\n UY: 'URY',\r\n UZ: 'UZB',\r\n VU: 'VUT',\r\n VE: 'VEN',\r\n VN: 'VNM',\r\n VG: 'VGB',\r\n VI: 'VIR',\r\n WF: 'WLF',\r\n EH: 'ESH',\r\n YE: 'YEM',\r\n ZM: 'ZMB',\r\n ZW: 'ZWE'\r\n};\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { IContentBlockViewProps } from '@msdyn365-commerce-modules/content-block';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { Image, IViewPort } from '@msdyn365-commerce/core';\r\nimport { getFeatureToggleService } from '../../../services/featureToggleService';\r\nimport { IContentBlockConfig, IContentBlockProps } from '../definition-extensions/content-block.ext.props.autogenerated';\r\n\r\nconst DEFAULT_IMAGE_MODE = 2;\r\n\r\nconst DEFAULT_VIEWPORTS: IViewPort = {\r\n xs: { w: 800, h: 600 }, // max-width: 767px\r\n sm: { w: 1200, h: 900 }, // min-width: 768px and max-width: 991px\r\n md: { w: 1600, h: 900 }, // min-width: 992px and max-width: 1199px\r\n lg: { w: 1600, h: 700 }, // min-width: 1200px and max-width: 1599px\r\n xl: { w: 1600, h: 700 } // min-width: 1600px\r\n};\r\n\r\ntype IContentBlockFullConfig = IContentBlockConfig & {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- This field comes from SDK.\r\n msdyn365__moduleLayout?: string;\r\n};\r\n\r\nconst ContentBlockView: React.FC> = props => {\r\n const { contentBlockContainer, imageContainer, detailsContainer, title, text, links, image: imageProp } = props;\r\n const { image } = props.config;\r\n const imageProps = {\r\n gridSettings: props.context.request.gridSettings ?? {},\r\n imageSettings: {\r\n ...(image?.imageSettings ?? {}),\r\n mode: image?.imageSettings?.mode || DEFAULT_IMAGE_MODE,\r\n viewports: image?.imageSettings?.viewports || DEFAULT_VIEWPORTS // Use || instead of ?? here\r\n }\r\n };\r\n\r\n const isLcpImage = props.config.preload;\r\n\r\n const htmlImage = imageProp && (\r\n {imageProp.props.altText}\r\n );\r\n\r\n //@ts-ignore\r\n const msdynImage = (\r\n \r\n );\r\n const { isFeatureEnabled } = getFeatureToggleService(props.context.request.cookies, props.context.app.config.features);\r\n\r\n const contentBlockImage = isFeatureEnabled('msdyn-image') ? msdynImage : htmlImage;\r\n\r\n const entireLink = contentBlockContainer.className.includes('linkplacement__entirebanner');\r\n // @ts-ignore\r\n const link = links && 'props' in links ? links.props.links[0].linkUrl.destinationUrl : '';\r\n return (\r\n \r\n {entireLink ? (\r\n \r\n {contentBlockImage}\r\n \r\n {title}\r\n {text}\r\n \r\n \r\n ) : (\r\n <>\r\n {image && {contentBlockImage}}\r\n \r\n {title}\r\n {text}\r\n {links}\r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default ContentBlockView;\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\nimport * as React from 'react';\r\n\r\nimport { IOrderTemplateListViewProps, ISingleOrderTemplateViewProps } from '@msdyn365-commerce-modules/order-template';\r\nimport { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\n\r\nexport const OrderTemplateListView: React.FC = props => {\r\n const {\r\n OrderTemplateList,\r\n status,\r\n statusMessage,\r\n heading,\r\n OrderTemplates,\r\n orderTemplates,\r\n OrderTemplate,\r\n createOrderTemplateButton,\r\n templateHeaderStatusMessage\r\n } = props;\r\n\r\n return (\r\n \r\n {heading}\r\n {status !== 'SUCCESS' && statusMessage}\r\n \r\n {createOrderTemplateButton}\r\n {templateHeaderStatusMessage}\r\n \r\n {OrderTemplates && orderTemplates && orderTemplates.length > 0 && (\r\n \r\n {orderTemplates &&\r\n orderTemplates.map(orderTemplate => {\r\n return _renderOrderTemplate(orderTemplate, OrderTemplate);\r\n })}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nconst _renderOrderTemplate = (orderTemplate: ISingleOrderTemplateViewProps, OrderTemplate?: INodeProps): JSX.Element | null => {\r\n const { key, addToCartButton, orderTemplateImage, orderTemplateStatusMessage, removeButton, orderTemplateName } = orderTemplate;\r\n return (\r\n \r\n {orderTemplateName}\r\n {orderTemplateImage}\r\n {addToCartButton}\r\n {removeButton}\r\n {orderTemplateStatusMessage}\r\n \r\n );\r\n};\r\n\r\nexport default OrderTemplateListView;\r\n","/**\r\n * Copyright (c) Microsoft Corporation\r\n * All rights reserved. See License.txt in the project root for license information.\r\n * IVideoPlayer contentModule Interface Properties\r\n * THIS FILE IS AUTO-GENERATED - MANUAL MODIFICATIONS WILL BE LOST\r\n */\r\n\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\n\r\nexport const enum layout {\r\n column = 'column',\r\n row = 'row'\r\n}\r\n\r\nexport const enum mobileVideoQuality {\r\n hdx = 'hdx',\r\n hq = 'hq',\r\n sd = 'sd',\r\n lo = 'lo'\r\n}\r\n\r\nexport interface IVideoPlayerConfig extends Msdyn365.IModuleConfig {\r\n video: Msdyn365.IVideoData;\r\n heading?: IHeadingData;\r\n paragraph?: Msdyn365.RichText;\r\n links?: ILinksData[];\r\n additionalContent?: IAdditionalContentData;\r\n autoplay?: boolean;\r\n mute?: boolean;\r\n loop?: boolean;\r\n autoCaptions?: string;\r\n playPauseTrigger?: boolean;\r\n controls?: boolean;\r\n playFullScreen?: boolean;\r\n hidePosterFrame?: boolean;\r\n maskLevel?: number;\r\n thumbnailFullWidth?: boolean;\r\n lazyLoad?: boolean;\r\n clientRender?: boolean;\r\n layout: layout;\r\n cta?: ICtaData;\r\n mobileVideoQuality?: mobileVideoQuality;\r\n shouldDisableAutoPlayOnMobile?: boolean;\r\n}\r\n\r\nexport interface IVideoPlayerResources {\r\n playLabel: string;\r\n pauseLabel: string;\r\n pausedLabel: string;\r\n playingLabel: string;\r\n unMuteLabel: string;\r\n muteLabel: string;\r\n fullScreenLabel: string;\r\n exitFullScreenLabel: string;\r\n seekBarLabel: string;\r\n videoTimeDurationLabel: string;\r\n closedCaptionLabel: string;\r\n optionButtonLabel: string;\r\n sliderThumbLabel: string;\r\n volumeThumbLabel: string;\r\n}\r\n\r\nexport const enum HeadingTag {\r\n h1 = 'h1',\r\n h2 = 'h2',\r\n h3 = 'h3',\r\n h4 = 'h4',\r\n h5 = 'h5',\r\n h6 = 'h6'\r\n}\r\n\r\nexport interface IHeadingData {\r\n text: string;\r\n tag?: HeadingTag;\r\n}\r\n\r\nexport interface ILinksData {\r\n linkText?: string;\r\n linkUrl: Msdyn365.ILinkData;\r\n ariaLabel?: string;\r\n openInNewTab?: boolean;\r\n}\r\n\r\nexport interface IAdditionalContentData {\r\n heading?: string;\r\n subtext?: string;\r\n links?: ILinksData[];\r\n}\r\n\r\nexport interface ICtaData {\r\n label?: string;\r\n link?: string;\r\n}\r\n\r\nexport interface ILinksData {\r\n linkText?: string;\r\n linkUrl: Msdyn365.ILinkData;\r\n ariaLabel?: string;\r\n openInNewTab?: boolean;\r\n}\r\n\r\nexport interface IVideoPlayerProps extends Msdyn365.IModule {\r\n resources: IVideoPlayerResources;\r\n config: IVideoPlayerConfig;\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\nimport * as React from 'react';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\n\r\nimport { IVideoPlayerViewProps } from '@msdyn365-commerce-modules/video-player';\r\nimport { IVideoPlayerProps, layout } from '../definition-extensions/video-player.ext.props.autogenerated';\r\nimport { isMobile, VariantType } from '@msdyn365-commerce-modules/utilities';\r\nimport { getFeatureToggleService } from '../../../services/featureToggleService';\r\n\r\n/**\r\n * Render Additional Content.\r\n * @param additionalContent - Additional content view props.\r\n * @returns JSX Element.\r\n */\r\n\r\nconst VideoPlayerView: React.FC> = props => {\r\n const { isFeatureEnabled } = getFeatureToggleService(props.context.request.cookies, props.context.app.config.features);\r\n const isAccessibleVideoPlayerEnabled = isFeatureEnabled('accessible-video');\r\n\r\n const getAutoplayValue = React.useCallback((): boolean => {\r\n const isMobileDevice = isMobile({ variant: VariantType.Viewport, context: props.context.request }) === 'xs';\r\n\r\n if (!props.config.autoplay) return false;\r\n\r\n if (isMobileDevice && props.config.shouldDisableAutoPlayOnMobile) return false;\r\n\r\n return true;\r\n }, []);\r\n\r\n const getPlayer = (video_src?: string) =>\r\n isAccessibleVideoPlayerEnabled ? (\r\n props.player\r\n ) : (\r\n