{"version":3,"file":"static/js/8.2ac1723ba468ef38d277.chunk.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/modules/b2b-account-management-address/b2b-account-management-address.tsx?e47d","webpack://Msdyn365.Commerce.Online/./src/modules/b2b-account-management-address/b2b-account-management-address.view.tsx?187b","webpack://Msdyn365.Commerce.Online/./src/modules/b2b-checkout-billing-address/b2b-checkout-billing-address.tsx?57b6","webpack://Msdyn365.Commerce.Online/./src/modules/b2b-checkout-billing-address/b2b-checkout-billing-address.view.tsx?c8d4","webpack://Msdyn365.Commerce.Online/./src/modules/eve-checkout-shipping-address/components/checkout-shipping-cartlines-images.tsx?bf60","webpack://Msdyn365.Commerce.Online/./src/modules/eve-checkout-shipping-address/eve-checkout-shipping-address.tsx?fa80","webpack://Msdyn365.Commerce.Online/./src/modules/eve-checkout-shipping-address/eve-checkout-shipping-address.view.tsx?21bf","webpack://Msdyn365.Commerce.Online/./src/themes/gardner-theme-b2c/views/components/buybox-add-to-order-template.tsx?c57b","webpack://Msdyn365.Commerce.Online/./src/themes/gardner-theme-b2c/views/buybox.view.tsx?6f3d","webpack://Msdyn365.Commerce.Online/./src/themes/gardner-theme-b2c/views/header.view.tsx?956f","webpack://Msdyn365.Commerce.Online/./src/themes/gardner-theme-b2c/views/quickview.view.tsx?efa8","webpack://Msdyn365.Commerce.Online/./src/themes/gardner-theme-b2c/views/ratings-histogram.view.tsx?d36f","webpack://Msdyn365.Commerce.Online/./src/themes/gardner-theme/models/SupersessionKey.ts?818f","webpack://Msdyn365.Commerce.Online/./src/themes/gardner-theme/views/components/buybox-add-to-order-template.tsx?7592","webpack://Msdyn365.Commerce.Online/./src/themes/gardner-theme/views/buybox.view.tsx?abca","webpack://Msdyn365.Commerce.Online/./src/themes/gardner-theme/views/header.view.tsx?6b29","webpack://Msdyn365.Commerce.Online/./src/themes/gardner-theme/views/quickview.view.tsx?5429","webpack://Msdyn365.Commerce.Online/./src/themes/gardner-theme/views/ratings-histogram.view.tsx?6aaa","webpack://Msdyn365.Commerce.Online/./src/checkout-errors/checkout-errors.ts?a9e0","webpack://Msdyn365.Commerce.Online/./src/common/components/address-billing-checkbox.tsx?4008","webpack://Msdyn365.Commerce.Online/./src/common/components/address-billing-heading.tsx?7bbd","webpack://Msdyn365.Commerce.Online/./src/common/components/address-error-alert.tsx?bcde","webpack://Msdyn365.Commerce.Online/./src/common/components/address-select.tsx?c1df","webpack://Msdyn365.Commerce.Online/./src/common/components/address-ship-multiple-heading.tsx?5d65","webpack://Msdyn365.Commerce.Online/./src/common/components/address-ship-multiple-lines.tsx?ce68","webpack://Msdyn365.Commerce.Online/./src/common/components/address-ship-multiple.tsx?136d","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-billing-address/checkout-billing-address.tsx?2aa0","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-billing-address/checkout-billing-address.view.tsx?b194","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-shipping-address/components/checkout-shipping-cartlines-images.tsx?c635","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-shipping-address/checkout-shipping-address.tsx?de3a","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-shipping-address/checkout-shipping-address.view.tsx?3386","webpack://Msdyn365.Commerce.Online/./src/modules/bulk-purchase/bulk-purchase.tsx?9fd5","webpack://Msdyn365.Commerce.Online/./src/common/buybox-components.tsx?42b4","webpack://Msdyn365.Commerce.Online/./src/common/buybox-product-configure.tsx?139c","webpack://Msdyn365.Commerce.Online/./src/common/buyboxInterface.ts?9d60","webpack://Msdyn365.Commerce.Online/./src/common/dropdown/dropdown.tsx?f1d3","webpack://Msdyn365.Commerce.Online/./src/common/dropdown/dropdown.props.ts?7676","webpack://Msdyn365.Commerce.Online/./src/common/utilities/error-utilities.ts?bb69","webpack://Msdyn365.Commerce.Online/./src/modules/buybox/components/buybox-find-in-store.tsx?3ef8","webpack://Msdyn365.Commerce.Online/./src/modules/buybox/buybox.tsx?e22d","webpack://Msdyn365.Commerce.Online/./src/modules/buybox/buybox.view.tsx?376b","webpack://Msdyn365.Commerce.Online/./src/modules/quickview/utilities/helper.ts?f31d","webpack://Msdyn365.Commerce.Online/./src/modules/quickview/utilities/get-valid-product-images.ts?78b7","webpack://Msdyn365.Commerce.Online/./src/modules/quickview/quickview.tsx?4080","webpack://Msdyn365.Commerce.Online/./src/modules/quickview/utilities/get-product-details.ts?5cc2","webpack://Msdyn365.Commerce.Online/./src/modules/quickview/quickview.view.tsx?ee5b","webpack://Msdyn365.Commerce.Online/./src/modules/recently-viewed/base/recently-viewed-product-item.ts?4982","webpack://Msdyn365.Commerce.Online/./src/modules/recently-viewed/base/recently-viewed-item.ts?54c9","webpack://Msdyn365.Commerce.Online/./src/modules/recently-viewed/recently-viewed-state.ts?c73b","webpack://Msdyn365.Commerce.Online/./src/modules/recently-viewed/recently-viewed-manager.ts?a2a8","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-delivery-options/components/checkout-delivery-options.description.tsx?840c","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-delivery-options/components/checkout-delivery-options.error-message.tsx?8ca3","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-delivery-options/components/checkout-delivery-options.error-title.tsx?f7e7","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-delivery-options/components/checkout-delivery-options.radio-button.tsx?9df9","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-delivery-options/components/address-detail-item.tsx?d9a2","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-delivery-options/components/checkout-cartLine-delivery-date.tsx?bd12","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-delivery-options/components/checkout-cartLine-delivery-options-grp.tsx?3a15","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-delivery-options/components/checkout-cartLine-delivery-options-radio.tsx?045f","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-delivery-options/components/get-line-items.tsx?e389","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-delivery-options/checkout-delivery-options.tsx?6764","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-delivery-options/checkout-delivery-options.view.tsx?1e75","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-gift-card/components/get-form.tsx?4540","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-gift-card/components/get-item.tsx?d186","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-gift-card/components/get-list.tsx?a3f3","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-gift-card/components/title.tsx?3b2f","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-gift-card/checkout-gift-card.tsx?8fc3","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-gift-card/checkout-gift-card.view.tsx?d99f","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-loyalty/components/checkout-loyalty-input.tsx?cadb","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-loyalty/components/checkout-loyalty-label.tsx?e02b","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-loyalty/components/checkout-loyalty-text.tsx?895a","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-loyalty/checkout-loyalty.tsx?8b4b","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-loyalty/checkout-loyalty.view.tsx?b79f","webpack://Msdyn365.Commerce.Online/./src/modules/checkout/checkout.tsx?6737","webpack://Msdyn365.Commerce.Online/./src/modules/checkout/checkout.view.tsx?e4cc","webpack://Msdyn365.Commerce.Online/./src/modules/checkout/components/alert.tsx?cb1e","webpack://Msdyn365.Commerce.Online/./src/modules/checkout/components/get-invoice-payment-summary.tsx?9549","webpack://Msdyn365.Commerce.Online/./src/modules/checkout/components/get-line-items.tsx?92f8","webpack://Msdyn365.Commerce.Online/./src/modules/checkout/components/get-order-summary.tsx?4a81","webpack://Msdyn365.Commerce.Online/./src/modules/checkout/components/guided-card.tsx?58e0","webpack://Msdyn365.Commerce.Online/./src/modules/checkout/components/guided-form.tsx?f018","webpack://Msdyn365.Commerce.Online/./src/modules/checkout/components/place-order-button.tsx?9b41","webpack://Msdyn365.Commerce.Online/./src/modules/checkout/methods/checkout.ts?7b6b","webpack://Msdyn365.Commerce.Online/./src/modules/checkout/methods/place-order.ts?5aa0","webpack://Msdyn365.Commerce.Online/./src/modules/gift-card-balance-check/components/get-form.tsx?e249","webpack://Msdyn365.Commerce.Online/./src/modules/gift-card-balance-check/components/get-item.tsx?4862","webpack://Msdyn365.Commerce.Online/./src/modules/gift-card-balance-check/gift-card-balance-check.tsx?d1f8","webpack://Msdyn365.Commerce.Online/./src/modules/gift-card-balance-check/gift-card-balance-check.view.tsx?a0c9","webpack://Msdyn365.Commerce.Online/./src/modules/header/utilities/mock-utilities.ts?d017","webpack://Msdyn365.Commerce.Online/./src/modules/header/components/header-preferred-store.tsx?ee9c","webpack://Msdyn365.Commerce.Online/./src/modules/header/components/logo.tsx?f27e","webpack://Msdyn365.Commerce.Online/./src/modules/header/components/nav-icon.tsx?2475","webpack://Msdyn365.Commerce.Online/./src/modules/header/header.tsx?e91a","webpack://Msdyn365.Commerce.Online/./src/modules/header/header.view.tsx?cf0f","webpack://Msdyn365.Commerce.Online/./src/invoice-summary-lineitem.tsx?5f61","webpack://Msdyn365.Commerce.Online/./src/order-summary-lineitem.tsx?8a98","webpack://Msdyn365.Commerce.Online/./src/modules/product-collection/product-collection.tsx?4008","webpack://Msdyn365.Commerce.Online/./src/modules/product-collection/product-collection.view.tsx?5d36","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/buybox-add-to-order-template.tsx?ceb4","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/buybox.view.tsx?98cf","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/cart-icon.view.tsx?7ec9","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/product-v2.component.tsx?d155","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/header.view.tsx?9bd3","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/quickview.view.tsx?8e29","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/search-result-container-v2.view.tsx?6eaa"],"sourcesContent":["/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport { Address, AddressPurpose, CountryRegionInfo, StateProvinceInfo } from '@msdyn365-commerce/retail-proxy';\r\nimport { format as formatNotification, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport { action, observable, reaction, set } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\n\r\nimport { AutoSuggest } from '@msdyn365-commerce-modules/address';\r\nimport { IAutoSuggestOptions } from '@msdyn365-commerce-modules/address';\r\nimport { AddressCommon } from '@msdyn365-commerce-modules/address';\r\nimport { AddressFormat } from '@msdyn365-commerce-modules/address';\r\nimport { AddressItemType } from '@msdyn365-commerce-modules/address';\r\nimport { AddressMetaData } from '@msdyn365-commerce-modules/address';\r\nimport { AddressOperation, AddressType, IAddressResource, IAddressResponse } from '@msdyn365-commerce-modules/address';\r\nimport { AddressAddUpdate, IAddressAddUpdateProps } from '@msdyn365-commerce-modules/address';\r\nimport { AddressList, IAddressListProps } from '@msdyn365-commerce-modules/address';\r\nimport { IB2bAccountManagementAddressData } from './b2b-account-management-address.data';\r\nimport { IB2bAccountManagementAddressProps } from './b2b-account-management-address.props.autogenerated';\r\n\r\n/**\r\n * Account management address view state interface.\r\n */\r\nexport interface IAccountManagementAddressViewState {\r\n isShowAddresList: boolean;\r\n isShowAddOrUpdateAddress: boolean;\r\n}\r\n\r\n/**\r\n * Account management address view state interface.\r\n */\r\nexport interface IAccountManagementAddressViewProps\r\n extends React.Component> {\r\n className: string;\r\n currentOperation: AddressOperation;\r\n selectedAddress?: Address;\r\n addUpdateAddress: Address;\r\n countryRegionId: string;\r\n stateProvinceInfo?: StateProvinceInfo[];\r\n customerAddresses: Address[];\r\n validationError: object;\r\n addressActionResponse?: IAddressResponse;\r\n viewState: IAccountManagementAddressViewState;\r\n AccountAddressManagement: IModuleProps;\r\n isUpdating: boolean;\r\n showAddressList: IAddressListProps;\r\n showAddOrUpdateAddress: IAddressAddUpdateProps;\r\n screenReaderNotification: React.ReactNode;\r\n}\r\n\r\n/**\r\n *\r\n * Address component.\r\n * @extends {React.Component>}\r\n */\r\n@observer\r\nclass AccountManagementAddress extends React.Component> {\r\n @observable private currentOperation: AddressOperation;\r\n\r\n @observable private selectedAddress?: Address;\r\n\r\n @observable private countryRegionId: string = 'USA';\r\n\r\n @observable private stateProvinceInfo?: StateProvinceInfo[];\r\n\r\n @observable private customerAddresses: Address[];\r\n\r\n @observable private addUpdateAddress: Address;\r\n\r\n @observable private validationError: object;\r\n\r\n @observable private addressActionResponse?: IAddressResponse;\r\n\r\n @observable private isUpdating?: boolean;\r\n\r\n @observable private hasError?: boolean;\r\n\r\n @observable private removeAddressData?: Address;\r\n\r\n private readonly addressCommon: AddressCommon;\r\n\r\n private addressFormat: AddressFormat;\r\n\r\n private countryRegions: CountryRegionInfo[] = [];\r\n\r\n private addressPurposes: AddressPurpose[] = [];\r\n\r\n private readonly resources: IAddressResource;\r\n\r\n private readonly defaultAddressType: number = 6; // Default to Home\r\n\r\n private readonly telemetryContent: ITelemetryContent;\r\n\r\n private autoSuggest?: AutoSuggest;\r\n\r\n public constructor(props: IB2bAccountManagementAddressProps) {\r\n super(props);\r\n const { context, data, resources, telemetry } = this.props;\r\n\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.addUpdateAddress = {};\r\n this.validationError = {};\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 // Filter out the Invoice address for the add/update form\r\n this.addressPurposes.filter((address: AddressPurpose) => address.AddressType !== 1)\r\n );\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 /**\r\n * On Suggestion Selected Function.\r\n * @param result - Microsoft.Maps.ISuggestionResult.\r\n */\r\n @action\r\n private readonly _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\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 /**\r\n * Clear Address Fields.\r\n */\r\n @action\r\n private readonly _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 /**\r\n * Clear Validation Function.\r\n */\r\n @action\r\n private readonly _clearValidation = (): void => {\r\n this.validationError = {};\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 // Initializing data props\r\n this._dataInitialize(this.props);\r\n\r\n void this.props.data.countryRegions.then(() => {\r\n this._setDefaultCountryRegionId();\r\n });\r\n\r\n reaction(\r\n () => this.countryRegionId,\r\n () => {\r\n this._getStateProvinces();\r\n }\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 reaction(\r\n () =>\r\n this.props.data.storeSelectorStateManager.result?.loadMapApi !== undefined &&\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 () => {\r\n this.props.data.storeSelectorStateManager.result?.isMapApiLoaded;\r\n },\r\n async () => {\r\n if (this.currentOperation === AddressOperation.Add || this.currentOperation === AddressOperation.Update) {\r\n await this._attachMapAutoSuggest();\r\n }\r\n }\r\n );\r\n }\r\n }\r\n\r\n /**\r\n * Component did mount function.\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 /**\r\n * Should component update function.\r\n * @param nextProps - Account management address props.\r\n * @param nextState - Next state.\r\n * @returns - True if component should update, false otherwise.\r\n */\r\n public shouldComponentUpdate(\r\n nextProps: IB2bAccountManagementAddressProps,\r\n nextState: IAccountManagementAddressViewState\r\n ): boolean {\r\n if (this.state === nextState && this.props.data === nextProps.data) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n public render(): JSX.Element {\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 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 isShowAddresList: this.currentOperation === AddressOperation.List,\r\n isShowAddOrUpdateAddress: this.currentOperation !== AddressOperation.List\r\n },\r\n AccountAddressManagement: {\r\n moduleProps: this.props,\r\n className: classnames('ms-account-management-address', config.className)\r\n },\r\n showAddressList: this._renderListAddress(),\r\n showAddOrUpdateAddress: this._renderAddOrUpdateAddress(),\r\n screenReaderNotification: this.removeAddressData ? this._renderScreenReaderRemoveText(this.removeAddressData) : null\r\n };\r\n\r\n return renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n /**\r\n * Method data initialization.\r\n * @param props -The account management props.\r\n */\r\n private readonly _dataInitialize = (props: IB2bAccountManagementAddressProps): void => {\r\n const { data } = props;\r\n\r\n reaction(\r\n () => data.countryRegions.result,\r\n () => {\r\n this.countryRegions = data.countryRegions.result ?? [];\r\n }\r\n );\r\n\r\n reaction(\r\n () => data.addressPurposes.result,\r\n () => {\r\n this.addressPurposes = data.addressPurposes.result ?? [];\r\n }\r\n );\r\n\r\n reaction(\r\n () => data.address.result,\r\n () => {\r\n this.customerAddresses = data.address.result ?? [];\r\n }\r\n );\r\n };\r\n\r\n /**\r\n * Render Add Or Update Address Function.\r\n * @returns - AddressAddUpdate.\r\n */\r\n private readonly _renderAddOrUpdateAddress = (): IAddressAddUpdateProps => {\r\n return AddressAddUpdate({\r\n isUpdating: this.isUpdating,\r\n resources: this.resources,\r\n addressType: AddressType.Shipping,\r\n addressFormat: this.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 addressActionResponse: this.addressActionResponse,\r\n dropdownDisplayData: this.addressFormat.getPrefilledAddressDropdownData(\r\n this.resources.addressStateDefaultSelectionText,\r\n this.stateProvinceInfo\r\n ),\r\n telemetryContent: this.telemetryContent,\r\n onInputChange: this._onAddressAddUpdateInputChange,\r\n onDropdownChange: this._onAddressAddUpdateDropdownChange,\r\n onSave: this._onAddressAddUpdateSubmit,\r\n onCancel: this._resetView\r\n });\r\n };\r\n\r\n /**\r\n * Render List Address Function.\r\n * @returns - AddressList.\r\n */\r\n private readonly _renderListAddress = (): IAddressListProps => {\r\n const { config } = this.props;\r\n\r\n /**\r\n * Render Address ttitle.\r\n * @param event - Msdyn365.ContentEditableEvent.\r\n */\r\n const handleLineItemHeadingChange = (event: Msdyn365.ContentEditableEvent) => {\r\n config.heading!.text = event.target.value;\r\n };\r\n const heading = config.heading && {\r\n text: config.heading.text,\r\n headingTag: config.heading.tag\r\n };\r\n\r\n return AddressList({\r\n isUpdating: this.isUpdating,\r\n selectedAddress: this.selectedAddress,\r\n addressFormat: this.addressFormat,\r\n addresses: this.customerAddresses,\r\n addressPurposes: this.addressPurposes,\r\n resources: this.resources,\r\n heading,\r\n primaryAddressSectionHeading: config.primaryAddressSectionHeading,\r\n otherAddressSectionHeading: config.otherAddressSectionHeading,\r\n contextRequest: this.props.context.request,\r\n telemetryContent: this.telemetryContent,\r\n handleLineItemHeadingChange,\r\n onEditAddress: this._goToEditAddress,\r\n onRemoveAddress: this._onRemoveAddress,\r\n onAddAddress: this._goToAddAddress,\r\n onUpdatePrimaryAddress: this._onSubmitUpdatePrimaryAddress\r\n });\r\n };\r\n\r\n /**\r\n * Attach Map Auto Suggest Function.\r\n */\r\n private readonly _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 /**\r\n * On Address Add Update Function.\r\n * @param name - String.\r\n * @param value - String | Boolean | Number.\r\n */\r\n private readonly onAddressAddUpdate = (name: string, value: string | boolean | number) => {\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 /**\r\n * On Address Add Update Input Change.\r\n * @param event - Input Change Event.\r\n */\r\n private readonly _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 /**\r\n * On Address Add Update Dropdown Change.\r\n * @param event - Dropdown Change Event.\r\n */\r\n private readonly _onAddressAddUpdateDropdownChange = (event: React.ChangeEvent): void => {\r\n if (event.target.name === AddressItemType[AddressItemType.AddressTypeValue]) {\r\n this.onAddressAddUpdate(event.target.name, +event.target.value);\r\n } else {\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 /**\r\n * On Address Update Function.\r\n * @param response - Promise.\r\n * @param onSuccess - IAddressResponse.\r\n */\r\n private readonly _onAddressUpdate = (response: Promise, onSuccess: (response: IAddressResponse) => void): void => {\r\n this.isUpdating = true;\r\n response.then(\r\n (result: IAddressResponse) => {\r\n if (result.address) {\r\n this.hasError = false;\r\n onSuccess(result);\r\n } else {\r\n this.hasError = true;\r\n this.addressActionResponse = result;\r\n }\r\n this.isUpdating = false;\r\n },\r\n () => {\r\n this.hasError = true;\r\n this.isUpdating = false;\r\n }\r\n );\r\n };\r\n\r\n /**\r\n * On Address Add Update Submit Function.\r\n */\r\n private readonly _onAddressAddUpdateSubmit = (): void => {\r\n if (!this.addressFormat.validateAddressFormat(this.addUpdateAddress, this.validationError, this.countryRegionId)) {\r\n return;\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 : this.addressCommon.addCustomerAddress(this.addUpdateAddress);\r\n } else {\r\n response = Promise.resolve({ address: this.addUpdateAddress });\r\n }\r\n\r\n this._onAddressUpdate(response, this._onAddOrUpdateSuccess);\r\n };\r\n\r\n /**\r\n * On Country Change Function.\r\n * @param countryRegionId - String.\r\n */\r\n private readonly _onCountryChange = (countryRegionId: string) => {\r\n this.countryRegionId = countryRegionId;\r\n const twoLetterISORegionName = this.addressFormat.getTwoLetterISORegionName(countryRegionId);\r\n set(this.addUpdateAddress, { ThreeLetterISORegionName: countryRegionId });\r\n set(this.addUpdateAddress, { TwoLetterISORegionName: twoLetterISORegionName });\r\n this.autoSuggest?.changeAutoSuggestionCountryCode(twoLetterISORegionName);\r\n this._clearAddressFields();\r\n };\r\n\r\n /**\r\n * Get Address Format Exclude List Function.\r\n * @returns - Address Format Exclude List.\r\n */\r\n private readonly _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 /**\r\n * Get State Provinces Function.\r\n */\r\n private readonly _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 void this.addressCommon.getStateProvinces(this.countryRegionId).then((result: StateProvinceInfo[]) => {\r\n const stateInfo = result.some(state => state.StateId === this.addUpdateAddress.State);\r\n\r\n // Reset state if selected state not found in the list.\r\n if (!stateInfo) {\r\n set(this.addUpdateAddress, { State: '' });\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\r\n this.countryRegionId = this.addressCommon.getDefaultCountryRegionId(this.countryRegionId, this.countryRegions, market);\r\n }\r\n\r\n /**\r\n * Update CurrentOperation Function.\r\n * @param operation - AddressOperation.\r\n */\r\n private readonly _updateCurrentOperation = (operation: AddressOperation) => {\r\n this.currentOperation = operation;\r\n this._clearAddressFields();\r\n };\r\n\r\n /**\r\n * On Submit Update Primary Address Function.\r\n * @param address - Address.\r\n */\r\n private readonly _onSubmitUpdatePrimaryAddress = (address: Address): void => {\r\n this.selectedAddress = address;\r\n const response = this.addressCommon.updateCustomerPrimaryAddress(address);\r\n this._onAddressUpdate(response, this._onUpdatePrimaryAddressSuccess);\r\n };\r\n\r\n /**\r\n * Go To Edit Address Function.\r\n * @param address - Address.\r\n */\r\n private readonly _goToEditAddress = (address: Address): void => {\r\n this.addUpdateAddress = { ...address };\r\n this.countryRegionId = this.addUpdateAddress.ThreeLetterISORegionName || 'USA';\r\n this._updateCurrentOperation(AddressOperation.Update);\r\n };\r\n\r\n /**\r\n * On Remove Address Function.\r\n * @param address - Address.\r\n */\r\n private readonly _onRemoveAddress = (address: Address): void => {\r\n address.Deactivate = true;\r\n this.removeAddressData = address;\r\n const response = this.addressCommon.updateCustomerAddress(address);\r\n this._onAddressUpdate(response, this._onAddOrUpdateSuccess);\r\n };\r\n\r\n /**\r\n * Renders Notification screen reader text for removed address.\r\n * @param address - Address input.\r\n * @returns Notification for removed address.\r\n */\r\n private readonly _renderScreenReaderRemoveText = (address: Address): React.ReactNode => {\r\n const notification = formatNotification(this.resources.removeAddressNotification!, `${address.Name!}`);\r\n return (\r\n
\r\n {notification}\r\n
\r\n );\r\n };\r\n\r\n /**\r\n * Go To Add Address Function.\r\n */\r\n private readonly _goToAddAddress = (): void => {\r\n this.addUpdateAddress = {};\r\n this._setDefaultCountryRegionId();\r\n set(this.addUpdateAddress, { ThreeLetterISORegionName: this.countryRegionId });\r\n set(this.addUpdateAddress, { AddressTypeValue: this.defaultAddressType });\r\n this._setDefaultCountryRegionId();\r\n this._updateCurrentOperation(AddressOperation.Add);\r\n };\r\n\r\n /**\r\n * On Add Or Update Success Function.\r\n * @param response - IAddressResponse.\r\n */\r\n private readonly _onAddOrUpdateSuccess = (response: IAddressResponse): void => {\r\n if (response.customerAddresses) {\r\n this.customerAddresses = response.customerAddresses;\r\n }\r\n this._resetView();\r\n };\r\n\r\n /**\r\n * On Update Primary Address Success Function.\r\n * @param response - IAddressResponse.\r\n */\r\n private readonly _onUpdatePrimaryAddressSuccess = (response: IAddressResponse): void => {\r\n if (response.customerAddresses) {\r\n this.customerAddresses = response.customerAddresses;\r\n }\r\n };\r\n\r\n /**\r\n * Reset view function.\r\n */\r\n private readonly _resetView = (): void => {\r\n this.selectedAddress = undefined;\r\n this._updateCurrentOperation(AddressOperation.List);\r\n };\r\n}\r\n\r\nexport default AccountManagementAddress;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport {\r\n IAddressAddItem,\r\n IAddressAddUpdateProps\r\n} from '@msdyn365-commerce-modules/address/src/modules/account-management-address/../../common/components/address-add';\r\nimport {\r\n IAddressList,\r\n IAddressListItem,\r\n IAddressListProps\r\n} from '@msdyn365-commerce-modules/address/src/modules/account-management-address/../../common/components/address-list';\r\nimport {\r\n IAddressShowItem,\r\n IAddressShowProps\r\n} from '@msdyn365-commerce-modules/address/src/modules/account-management-address/../../common/components/address-show';\r\nimport { IAccountManagementAddressViewProps } from '@msdyn365-commerce-modules/address/src/modules/account-management-address/./account-management-address';\r\n// import { AddressDetailItemComponent } from '@msdyn365-commerce-modules/address/src/common/components/address-detail-item';\r\n\r\n/**\r\n * Address show component.\r\n * @param param0 - Root param.\r\n * @param param0.AddressDetail - Address detail.\r\n * @param param0.items - IAddressShowItem[].\r\n * @returns - Address Node.\r\n */\r\nconst AddressShow: React.FC = ({ AddressDetail, items }) => {\r\n return (\r\n \r\n {items.map((item: IAddressShowItem) => {\r\n return <>{item.description};\r\n })}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Address List Component.\r\n * @param param0 - Root param.\r\n * @param param0.List - Address list.\r\n * @param param0.isShowList - Boolean.\r\n * @param param0.heading - Address heading.\r\n * @param param0.items - IAddressListItem[].\r\n * @returns - AddressListComponent Node.\r\n */\r\nconst AddressList: React.FC = ({ List, isShowList, heading, items }) => {\r\n if (!isShowList) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {heading}\r\n {items.map((item: IAddressListItem) => {\r\n const { Item, key, error, showItems, isShowPrimaryButton, primaryButton, editButton, removeButton } = item;\r\n const { Error, isShowError, title, message } = error;\r\n\r\n // const component = showItems.items.find(address => address.key === \"AddressTypeValue\")?.description;\r\n\r\n return (\r\n \r\n \r\n {isShowError && (\r\n \r\n {title}\r\n {message}\r\n \r\n )}\r\n {isShowPrimaryButton && primaryButton}\r\n {editButton}\r\n {removeButton}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Address Lists Component.\r\n * @param param0 - Root param.\r\n * @param param0.ListAddress - List address.\r\n * @param param0.heading - List heading.\r\n * @param param0.isShowEmptyListMessage - Boolean.\r\n * @param param0.emptyListMessage - Empty list message.\r\n * @param param0.addButton - Add button.\r\n * @param param0.primaryAddressList - Primary address.\r\n * @param param0.otherAddressList - Other address.\r\n * @returns Address Lists Component Node.\r\n */\r\nconst AddressLists: React.FC = ({\r\n ListAddress,\r\n heading,\r\n isShowEmptyListMessage,\r\n emptyListMessage,\r\n addButton,\r\n primaryAddressList,\r\n otherAddressList\r\n}) => {\r\n return (\r\n \r\n {heading}\r\n {isShowEmptyListMessage && emptyListMessage}\r\n {addButton}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\n/**\r\n * AddressAddUpdateComponent.\r\n * @param param0 - Root param.\r\n * @param param0.AddressForm - Address form.\r\n * @param param0.heading - Address heading.\r\n * @param param0.items - IAddressAddItem[].\r\n * @param param0.hasError - Boolean.\r\n * @param param0.error - Error message.\r\n * @param param0.isShowSaveButton - Boolean.\r\n * @param param0.saveButton - Save button.\r\n * @param param0.isShowCancelButton - Boolean.\r\n * @param param0.cancelButton - Cancel button.\r\n * @returns Address add update component node.\r\n */\r\nconst AddressAddUpdate: React.FC = ({\r\n AddressForm,\r\n heading,\r\n items,\r\n hasError,\r\n error,\r\n isShowSaveButton,\r\n saveButton,\r\n isShowCancelButton,\r\n cancelButton\r\n}) => {\r\n return (\r\n \r\n {heading}\r\n {items.map((item: IAddressAddItem) => {\r\n const { AddressItem, key, label, alert, input } = item;\r\n return (\r\n \r\n {label}\r\n {alert}\r\n {input}\r\n \r\n );\r\n })}\r\n {hasError && (\r\n \r\n {error.title}\r\n {error.message}\r\n \r\n )}\r\n {isShowSaveButton && saveButton}\r\n {isShowCancelButton && cancelButton}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Account Management Address View Component.\r\n * @param props - Props.\r\n * @returns - AccountAddressManagement Module.\r\n */\r\nconst AccountManagementAddressView: React.FC = props => {\r\n const { AccountAddressManagement, viewState, showAddressList, showAddOrUpdateAddress, screenReaderNotification } = props;\r\n\r\n // Remove buttons from Invoice address\r\n const invoiceAddressId = 1;\r\n const addressId = props.customerAddresses.slice().find(address => address.AddressTypeValue === invoiceAddressId)?.RecordId;\r\n const invoiceAddress = showAddressList.otherAddressList.items.find(address => address.key === addressId);\r\n if (invoiceAddress) {\r\n invoiceAddress.editButton = undefined;\r\n invoiceAddress.primaryButton = undefined;\r\n invoiceAddress.removeButton = undefined;\r\n }\r\n\r\n return (\r\n \r\n {viewState.isShowAddresList && }\r\n {viewState.isShowAddOrUpdateAddress && }\r\n {screenReaderNotification}\r\n \r\n );\r\n};\r\n\r\nexport default AccountManagementAddressView;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { IGiftCardExtend } from '@msdyn365-commerce/global-state';\r\nimport { Address, AddressPurpose, CountryRegionInfo, StateProvinceInfo } from '@msdyn365-commerce/retail-proxy';\r\nimport { IModuleStateProps, withModuleState } from '@msdyn365-commerce-modules/checkout-utilities';\r\nimport { IModuleProps } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport { computed, observable, reaction, set } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\n\r\nimport {\r\n AddressBillingHeading,\r\n AddressCommon,\r\n AddressFormat,\r\n AddressItemType,\r\n AddressMetaData,\r\n AddressOperation,\r\n AddressShow,\r\n IAddressAddUpdateProps,\r\n IAddressResponse,\r\n IAddressShowProps\r\n} from '@msdyn365-commerce-modules/address';\r\nimport { IB2bCheckoutBillingAddressData } from './b2b-checkout-billing-address.data';\r\nimport { IB2bCheckoutBillingAddressProps } from './b2b-checkout-billing-address.props.autogenerated';\r\n\r\n/**\r\n * Props interface.\r\n */\r\nexport interface IProps extends IB2bCheckoutBillingAddressProps, IModuleStateProps {}\r\n\r\nexport interface ICheckoutState {\r\n errorMessage: string | undefined;\r\n}\r\n\r\n/**\r\n * Checkout billing address view state interface.\r\n */\r\nexport interface ICheckoutBillingAddressViewState {\r\n isShowAddress: boolean;\r\n isError: boolean;\r\n}\r\n\r\n/**\r\n * Checkout billing address view props interface.\r\n */\r\nexport interface ICheckoutBillingAddressViewProps extends IProps {\r\n className: string;\r\n currentOperation: AddressOperation;\r\n selectedAddress?: Address;\r\n addUpdateAddress: Address;\r\n countryRegionId: string;\r\n stateProvinceInfo?: StateProvinceInfo[];\r\n validationError: object;\r\n addressActionResponse?: IAddressResponse;\r\n viewState: ICheckoutBillingAddressViewState;\r\n CheckoutBillingAddress: IModuleProps;\r\n sameAsShippingCheckbox: React.ReactNode;\r\n heading: React.ReactNode;\r\n showAddress: IAddressShowProps;\r\n showAddOrUpdateAddress: IAddressAddUpdateProps;\r\n error: React.ReactNode;\r\n}\r\n\r\n/**\r\n *\r\n * CheckoutBillingAddress component.\r\n * @extends {React.PureComponent>}\r\n */\r\n// @ts-expect-error\r\n@withModuleState\r\n@observer\r\nclass CheckoutBillingAddress extends React.Component {\r\n @observable private currentOperation: AddressOperation;\r\n\r\n @observable private isBillingAddressSameAsShipping: boolean;\r\n\r\n @observable private selectedAddress?: Address;\r\n\r\n @observable private addUpdateAddress: Address;\r\n\r\n @observable private countryRegionId: string = 'USA';\r\n\r\n @observable private stateProvinceInfo?: StateProvinceInfo[];\r\n\r\n @observable private validationError: object;\r\n\r\n @observable private readonly addressActionResponse?: IAddressResponse;\r\n\r\n private readonly addressCommon: AddressCommon;\r\n\r\n private addressFormat: AddressFormat;\r\n\r\n private countryRegions: CountryRegionInfo[] = [];\r\n\r\n private addressPurposes: AddressPurpose[] = [];\r\n\r\n private addresses: Address[];\r\n\r\n private readonly defaultAddressType: number = 6; // Default to Home\r\n\r\n public constructor(props: IProps) {\r\n super(props);\r\n this.state = { errorMessage: undefined };\r\n const { context, data, resources, telemetry } = this.props;\r\n\r\n this.addUpdateAddress = {};\r\n this.validationError = {};\r\n this.isBillingAddressSameAsShipping = false;\r\n this.currentOperation = AddressOperation.List;\r\n this.addressPurposes = data.addressPurposes.result || [];\r\n this.addresses = data.address.result || [];\r\n this.countryRegions = data.countryRegions.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 }\r\n\r\n public async componentDidMount(): Promise {\r\n // Initializing data props\r\n\r\n this._dataInitialize(this.props);\r\n\r\n void 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 () => {\r\n this._getStateProvinces();\r\n }\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 reaction(\r\n () => this.props.data.checkout.result && this.props.data.checkout.result.shippingAddress,\r\n shippingAddress => {\r\n if (this.props.moduleState.isUpdating) {\r\n if (shippingAddress && this.isBillingAddressSameAsShipping) {\r\n this._updateCurrentOperation(AddressOperation.Show, shippingAddress);\r\n } else if (shippingAddress && this.isBillingAddressSameAsShipping) {\r\n this._updateCurrentOperation(AddressOperation.Show, shippingAddress);\r\n }\r\n }\r\n }\r\n );\r\n\r\n reaction(\r\n () => this.isBillingAddressRequried,\r\n isBillingAddressRequried => {\r\n if (!isBillingAddressRequried) {\r\n this.props.data.checkout.result?.removeBillingAddress({});\r\n this.props.moduleState.onDisable();\r\n }\r\n }\r\n );\r\n }\r\n\r\n public shouldComponentUpdate(nextProps: IProps, nextState: ICheckoutState): boolean {\r\n if (this.state === nextState && this.props.data === nextProps.data) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n if (!this.isBillingAddressRequried) {\r\n return null;\r\n }\r\n\r\n const { resources } = this.props;\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.props.moduleState.hasError ? undefined : this.selectedAddress,\r\n addUpdateAddress: this.props.moduleState.hasError ? undefined : this.addUpdateAddress,\r\n countryRegionId: this.countryRegionId,\r\n stateProvinceInfo: this.stateProvinceInfo,\r\n validationError: this.validationError,\r\n addressActionResponse: this.addressActionResponse,\r\n className: config.className,\r\n viewState: {\r\n isShowAddress: this.selectedAddress && this.currentOperation === AddressOperation.Show && !this.props.moduleState.hasError,\r\n isError: this.props.moduleState.hasError\r\n },\r\n CheckoutBillingAddress: {\r\n moduleProps: this.props,\r\n className: classnames('ms-checkout-billing-address', config.className)\r\n },\r\n heading: ,\r\n showAddress: this._renderShowAddress(),\r\n error: this.renderErrorMessage()\r\n };\r\n\r\n return renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n /**\r\n * Method data initialization.\r\n * @param props -The checkout address properties.\r\n */\r\n private readonly _dataInitialize = (props: IProps): void => {\r\n const { data } = props;\r\n\r\n reaction(\r\n () => data.countryRegions.result,\r\n () => {\r\n this.countryRegions = data.countryRegions.result ?? [];\r\n }\r\n );\r\n\r\n reaction(\r\n () => data.addressPurposes.result,\r\n () => {\r\n this.addressPurposes = data.addressPurposes.result ?? [];\r\n }\r\n );\r\n\r\n reaction(\r\n () => data.countryStates.result,\r\n () => {\r\n this.stateProvinceInfo = data.countryStates.result ?? [];\r\n }\r\n );\r\n\r\n reaction(\r\n () => data.address.result,\r\n () => {\r\n this.addresses = data.address.result ?? [];\r\n }\r\n );\r\n\r\n this._setBillingAddress();\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 /**\r\n * Gets address format for exclude list.\r\n * @returns - Address item type.\r\n */\r\n private readonly _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 /**\r\n * Gets state provinces.\r\n */\r\n private readonly _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 void this.addressCommon.getStateProvinces(this.countryRegionId).then((result: StateProvinceInfo[]) => {\r\n const stateInfo = result.some(state => state.StateId === this.addUpdateAddress.State);\r\n\r\n // Reset state if selected state not found in the list.\r\n if (!stateInfo) {\r\n set(this.addUpdateAddress, { State: '' });\r\n }\r\n this.stateProvinceInfo = result;\r\n });\r\n };\r\n\r\n /**\r\n * Initialize module state.\r\n */\r\n private readonly _initModuleState = (): void => {\r\n this.props.moduleState.init({\r\n status: this.isBillingAddressRequried ? 'updating' : 'disabled'\r\n });\r\n\r\n const { billingAddress, isBillingAddressSameAsShippingAddress } = this.props.data.checkout.result ?? {};\r\n\r\n if (this.isBillingAddressRequried) {\r\n if (billingAddress) {\r\n this.isBillingAddressSameAsShipping = isBillingAddressSameAsShippingAddress ?? false;\r\n this._updateCurrentOperation(AddressOperation.Show, billingAddress);\r\n this._updateModuleState();\r\n } else if (this.isCartContainsItemsForShipping) {\r\n this.isBillingAddressSameAsShipping = false;\r\n this._updateCurrentOperation(AddressOperation.Show, undefined);\r\n\r\n const {\r\n resources: { noBillingErrorMessage }\r\n } = this.props;\r\n\r\n this.setError(noBillingErrorMessage, true);\r\n } else {\r\n this.isBillingAddressSameAsShipping = false;\r\n this._updateCurrentOperation(AddressOperation.Add);\r\n }\r\n }\r\n };\r\n\r\n /**\r\n * Sets default country region Id.\r\n */\r\n private _setDefaultCountryRegionId(): void {\r\n const { request } = this.props.context;\r\n const market = request.channel?.ChannelCountryRegionISOCode;\r\n\r\n this.countryRegionId = this.addressCommon.getDefaultCountryRegionId(this.countryRegionId, this.countryRegions, market);\r\n }\r\n\r\n @computed private get isCartContainsItemsForShipping(): boolean {\r\n const { request } = this.props.context;\r\n const multiplePickupStoreSwitchName = 'Dynamics.AX.Application.RetailMultiplePickupDeliveryModeFeature';\r\n const { channelDeliveryOptionConfig, featureState } = this.props.data;\r\n const retailMultiplePickUpOptionEnabled = featureState.result?.find(feature => feature.Name === multiplePickupStoreSwitchName)\r\n ?.IsEnabled;\r\n\r\n const pickupDeliveryModeCode = request.channel?.PickupDeliveryModeCode;\r\n const emailDeliveryModeCode = request.channel?.EmailDeliveryModeCode;\r\n\r\n // If hasInvoiceLine is true, there are only invoices no items in cart and return false here\r\n return this.props.data.checkout.result?.checkoutCart.hasInvoiceLine\r\n ? false\r\n : retailMultiplePickUpOptionEnabled\r\n ? ((this.props.data.checkout.result && this.props.data.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 : ((this.props.data.checkout.result && this.props.data.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 @computed private get getLoyaltyAmount(): number {\r\n const checkoutState = this.props.data.checkout.result;\r\n return checkoutState?.loyaltyAmount ? checkoutState.loyaltyAmount : 0;\r\n }\r\n\r\n @computed private get getGiftCardTotalAmount(): number {\r\n const checkoutState = this.props.data.checkout.result;\r\n if (!checkoutState || !checkoutState.giftCardExtends) {\r\n return 0;\r\n }\r\n return checkoutState.giftCardExtends.reduce((count: number, giftCard: IGiftCardExtend) => {\r\n return count + (giftCard.Balance || 0);\r\n }, 0);\r\n }\r\n\r\n @computed private get getCustomerAccountAmount(): number {\r\n const checkoutState = this.props.data.checkout.result;\r\n const defaultAmount = 0;\r\n\r\n return checkoutState?.customerAccountAmount ?? defaultAmount;\r\n }\r\n\r\n @computed private get shouldPaidByCard(): boolean {\r\n const {\r\n data: { checkout },\r\n config\r\n } = this.props;\r\n if (!checkout.result) {\r\n return false;\r\n }\r\n\r\n const checkoutResult = checkout.result;\r\n const cart = checkoutResult.checkoutCart.cart;\r\n if (!cart || !cart.CartLines || cart.CartLines.length === 0) {\r\n return false;\r\n }\r\n\r\n const { paymentTenderType, tokenizedPaymentCard } = checkoutResult;\r\n const isPaidByOtherPaymentSource = config.paymenTenderType !== paymentTenderType && tokenizedPaymentCard;\r\n\r\n // Use payment card when it is not free or gift card balance + Loyalty amount can not cover the total amount\r\n const amountDue = (cart.TotalAmount || 0) - this.getGiftCardTotalAmount - this.getLoyaltyAmount - this.getCustomerAccountAmount;\r\n\r\n return amountDue > 0 && !isPaidByOtherPaymentSource;\r\n }\r\n\r\n @computed private get isBillingAddressRequried(): boolean {\r\n return this.shouldPaidByCard;\r\n }\r\n\r\n private readonly setError = (errorMessage: string | undefined, hasError: boolean): void => {\r\n this.props.moduleState.setHasError(hasError);\r\n this.setState({ errorMessage });\r\n };\r\n\r\n private renderErrorMessage = (): React.ReactNode => (\r\n
\r\n

{this.state.errorMessage}

\r\n
\r\n );\r\n\r\n /**\r\n * Sets billing address.\r\n * @param address - The address.\r\n */\r\n private readonly _setBillingAddress = (): void => {\r\n if (this.props.data.checkout.result) {\r\n const addressTypeId = 1;\r\n const addressCount = this.addresses.filter((address: Address) => address.AddressTypeValue === addressTypeId).length;\r\n\r\n // Only set billing address if there is one Invoice address\r\n if (addressCount === 1) {\r\n const address = this.addresses.find(address => address.AddressTypeValue === addressTypeId);\r\n this.selectedAddress = address ? address : this.selectedAddress;\r\n\r\n const newBillingAddress: Address = { ...address };\r\n\r\n if (address?.ThreeLetterISORegionName && !newBillingAddress.TwoLetterISORegionName) {\r\n newBillingAddress.TwoLetterISORegionName = this.addressFormat.getTwoLetterISORegionName(\r\n address?.ThreeLetterISORegionName\r\n );\r\n }\r\n\r\n void this.props.data.checkout.result.updateBillingAddress({\r\n newBillingAddress,\r\n additionalProperties: {\r\n isBillingAddressSameAsShippingAddress: this.isBillingAddressSameAsShipping\r\n }\r\n });\r\n\r\n this.setError(undefined, false);\r\n } else {\r\n // Remove the billing address and set appropriate error message\r\n this.selectedAddress = undefined;\r\n void this.props.data.checkout.result.removeBillingAddress({\r\n additionalProperties: {\r\n isBillingAddressSameAsShippingAddress: false\r\n }\r\n });\r\n\r\n const {\r\n resources: { noBillingErrorMessage, multipleBillingErrorMessage }\r\n } = this.props;\r\n\r\n this.setError(addressCount === 0 ? noBillingErrorMessage : multipleBillingErrorMessage, true);\r\n }\r\n }\r\n };\r\n\r\n /**\r\n * Update current operation.\r\n * @param operation - Address operation\r\n * @param selectedAddress - The selected address.\r\n */\r\n private readonly _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, { AddressTypeValue: this.addUpdateAddress.AddressTypeValue || this.defaultAddressType });\r\n }\r\n };\r\n\r\n /**\r\n * Updates the module state.\r\n */\r\n private readonly _updateModuleState = () => {\r\n if (this.currentOperation === AddressOperation.Show) {\r\n this.props.moduleState.onReady();\r\n } else {\r\n this.props.moduleState.onUpdating();\r\n }\r\n };\r\n}\r\n\r\nexport default CheckoutBillingAddress;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport {\r\n IAddressShowItem,\r\n IAddressShowProps\r\n} from '@msdyn365-commerce-modules/address/src/modules/checkout-billing-address/../../common/components/address-show';\r\nimport { ICheckoutBillingAddressViewProps } from './b2b-checkout-billing-address';\r\n\r\n/**\r\n * Address show component.\r\n * @param param0 - Root param.\r\n * @param param0.AddressDetail - Address detail.\r\n * @param param0.items - IAddressShowItem[].\r\n * @returns - Address Node.\r\n */\r\nconst AddressShow: React.FC = ({ AddressDetail, items }) => {\r\n return (\r\n \r\n {items.map((item: IAddressShowItem) => {\r\n return <>{item.description};\r\n })}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Checkout Billing Address View Component.\r\n * @param props - Props.\r\n * @returns - CheckoutBillingAddress Module.\r\n */\r\nconst CheckoutBillingAddressView: React.FC = props => {\r\n const { CheckoutBillingAddress, viewState, showAddress, error } = props;\r\n\r\n return (\r\n \r\n {viewState.isShowAddress && }\r\n {viewState.isError && error}\r\n \r\n );\r\n};\r\n\r\nexport default CheckoutBillingAddressView;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { IImageProps, IImageSettings, Image, IRequestContext } from '@msdyn365-commerce/core';\r\nimport { CartLine, SimpleProduct } from '@msdyn365-commerce/retail-proxy';\r\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { format, isMobile, VariantType } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nimport { IEveCheckoutShippingAddressResources } from '../eve-checkout-shipping-address.props.autogenerated';\r\n\r\n/**\r\n * The cartline product interface.\r\n */\r\nexport interface ICartLineWithProduct {\r\n cartLine: CartLine;\r\n product?: SimpleProduct;\r\n}\r\n\r\n/**\r\n * The checkout shipping cartline interface.\r\n */\r\nexport interface ICheckoutShippingCartLineInfo {\r\n lineId: string;\r\n imageProps: IImageProps;\r\n quantity: number;\r\n}\r\n\r\n/**\r\n * The checkout shipping cartline props.\r\n */\r\nexport interface ICheckoutShippingCartLinesProps {\r\n moduleClassName: string;\r\n cartLines: ICheckoutShippingCartLineInfo[];\r\n title: string;\r\n itemTitle: string;\r\n resources: IEveCheckoutShippingAddressResources;\r\n}\r\n\r\n// eslint-disable-next-line @typescript-eslint/naming-convention -- Following as per module\r\nexport const CheckoutPickupCartLines: React.FC = ({\r\n moduleClassName,\r\n cartLines,\r\n title,\r\n itemTitle,\r\n resources\r\n}) => {\r\n const context = ({\r\n gridSettings: {\r\n xs: { w: 767 },\r\n sm: { w: 991 },\r\n md: { w: 1199 },\r\n lg: { w: 1599 },\r\n xl: { w: 1600 }\r\n }\r\n } as unknown) as IRequestContext;\r\n const isMobileCheck = isMobile({ variant: VariantType.Browser, context });\r\n const isMobileView = isMobileCheck === 'xs' || isMobileCheck === 'sm';\r\n\r\n if (!ArrayExtensions.hasElements(cartLines)) {\r\n return null;\r\n }\r\n const quantity = 1;\r\n return (\r\n
\r\n
\r\n
{title}
\r\n
{itemTitle}
\r\n
\r\n
\r\n {cartLines.map((cartLine: ICheckoutShippingCartLineInfo) => {\r\n const isShowQty = cartLine.quantity > quantity;\r\n let className = `${moduleClassName}__group-images-lines-product`;\r\n const role = 'text';\r\n if (isShowQty) {\r\n className = classnames(className, ' product-image-wide');\r\n }\r\n return (\r\n
\r\n \r\n {isMobileView\r\n ? isShowQty && (\r\n \r\n {cartLine.quantity}\r\n
\r\n )\r\n : isShowQty && (\r\n
\r\n )}\r\n {!isMobileView && isShowQty && (\r\n \r\n {format(resources.productQuantityInfo, cartLine.quantity, cartLine.imageProps.altText)}\r\n \r\n )}\r\n
\r\n );\r\n })}\r\n \r\n \r\n );\r\n};\r\n\r\n/**\r\n * The checkout shipping cartline image settings.\r\n */\r\nexport const defaultImageSettings: IImageSettings = {\r\n viewports: {\r\n xs: { q: 'w=108&h=108&q=80&m=6&f=jpg', w: 108, h: 108 },\r\n lg: { q: 'w=108&h=108&q=80&m=6&f=jpg', w: 108, h: 108 },\r\n xl: { q: 'w=108&h=108&q=80&m=6&f=jpg', w: 108, h: 108 }\r\n },\r\n lazyload: true,\r\n quality: 80\r\n};\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport {\r\n Address,\r\n AddressPurpose,\r\n CartLine,\r\n CountryRegionInfo,\r\n SimpleProduct,\r\n StateProvinceInfo,\r\n TenderLine,\r\n TokenizedPaymentCard\r\n} from '@msdyn365-commerce/retail-proxy';\r\nimport { IModuleStateProps, withModuleState } from '@msdyn365-commerce-modules/checkout-utilities';\r\nimport { getFallbackImageUrl, getSimpleProducts, ObjectExtensions, ProductInput } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\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 { AutoSuggest } from '@msdyn365-commerce-modules/address';\r\nimport { IAutoSuggestOptions } from '@msdyn365-commerce-modules/address';\r\nimport { AddressCommon } from '@msdyn365-commerce-modules/address';\r\nimport { AddressFormat } from '@msdyn365-commerce-modules/address';\r\nimport { AddressItemType } from '@msdyn365-commerce-modules/address';\r\nimport { AddressMetaData } from '@msdyn365-commerce-modules/address';\r\nimport { AddressOperation, AddressType, IAddressResource, IAddressResponse } from '@msdyn365-commerce-modules/address';\r\nimport { AddressAddUpdate, IAddressAddUpdateProps } from '@msdyn365-commerce-modules/address';\r\nimport { AddressSelect, IAddressSelectProps } from '@msdyn365-commerce-modules/address';\r\nimport { AddressShow, IAddressShowProps } from '@msdyn365-commerce-modules/address';\r\nimport { IEveCheckoutShippingAddressData } from './eve-checkout-shipping-address.data';\r\nimport { IEveCheckoutShippingAddressProps } from './eve-checkout-shipping-address.props.autogenerated';\r\nimport {\r\n CheckoutPickupCartLines,\r\n defaultImageSettings,\r\n ICartLineWithProduct,\r\n ICheckoutShippingCartLineInfo,\r\n ICheckoutShippingCartLinesProps\r\n} from './components/checkout-shipping-cartlines-images';\r\n\r\n/**\r\n * The checkout address props interface.\r\n */\r\nexport interface ICheckoutAddressProps extends IEveCheckoutShippingAddressProps, IModuleStateProps {}\r\n\r\n/**\r\n * The checkout shipping address view state.\r\n */\r\nexport interface ICheckoutShippingAddressViewState {\r\n isShowAddress: boolean;\r\n isShowAddresList: boolean;\r\n isShowAddOrUpdateAddress: boolean;\r\n}\r\n\r\n/**\r\n * The checkout shipping address state.\r\n */\r\nexport interface ICheckoutAddresState {\r\n shippingGroups: ICartLineWithProduct[];\r\n}\r\n\r\n/**\r\n * The checkout shipping address view props.\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 showAddOrUpdateAddress: IAddressAddUpdateProps;\r\n cartLineImages?: React.ReactNode;\r\n showAddressSelect: IAddressSelectProps;\r\n showAddOrUpdateAddressHandler?(onSaveHandler?: () => void, onCancelHandler?: () => void): IAddressAddUpdateProps;\r\n showAddressSelectHandler?(\r\n onAddAddressHandler?: () => void,\r\n onSaveHandler?: () => void,\r\n onCancelHandler?: () => void\r\n ): IAddressSelectProps;\r\n}\r\n\r\n/**\r\n * IExpressPaymentDetail interface.\r\n */\r\ninterface IExpressPaymentDetails {\r\n email?: string;\r\n tenderLine?: TenderLine;\r\n tokenizedPaymentCard?: TokenizedPaymentCard;\r\n paymentTenderType?: string;\r\n address?: Address;\r\n isExpressCheckoutAppliedInCartPage: boolean;\r\n isExpressAddressAppliedInCartPage?: boolean;\r\n}\r\n\r\n/**\r\n *\r\n * Address component.\r\n * @extends {React.Component>}\r\n */\r\n// @ts-expect-error\r\n@withModuleState\r\n@observer\r\nclass CheckoutShippingAddress extends React.Component {\r\n @observable private currentOperation: AddressOperation;\r\n\r\n @observable private selectedAddress?: Address;\r\n\r\n @observable private addUpdateAddress: Address;\r\n\r\n @observable private countryRegionId: string = 'USA';\r\n\r\n @observable private stateProvinceInfo?: StateProvinceInfo[];\r\n\r\n @observable private customerAddresses: Address[] = [];\r\n\r\n @observable private validationError: object;\r\n\r\n @observable private addressActionResponse?: IAddressResponse;\r\n\r\n @observable private isUpdating?: boolean;\r\n\r\n @observable private hasError?: boolean;\r\n\r\n @observable private addressListSelectedAddress: Address = {};\r\n\r\n private readonly addressCommon: AddressCommon;\r\n\r\n private addressFormat!: AddressFormat;\r\n\r\n private countryRegions: CountryRegionInfo[] = [];\r\n\r\n private addressPurposes: AddressPurpose[] = [];\r\n\r\n private readonly resources: IAddressResource;\r\n\r\n private readonly defaultAddressType: number = 6; // Default to Home\r\n\r\n private readonly telemetryContent?: ITelemetryContent;\r\n\r\n private autoSuggest?: AutoSuggest;\r\n\r\n private readonly multiplePickupStoreSwitchName: string = 'Dynamics.AX.Application.RetailMultiplePickupDeliveryModeFeature';\r\n\r\n private retailMultiplePickUpOptionEnabled?: boolean = false;\r\n\r\n public constructor(props: ICheckoutAddressProps) {\r\n super(props);\r\n this.state = { shippingGroups: [] };\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 /**\r\n * Initialize pickup group.\r\n */\r\n @action\r\n private readonly _initPickupGroup = async (): Promise => {\r\n const pickupCartLines: CartLine[] = this._getCartLinesforDelivery();\r\n const cartLines: ICartLineWithProduct[] = [];\r\n\r\n try {\r\n const products = await this._getProductsByCartLines(\r\n this.props.data.checkout.result?.checkoutCart.cart.ChannelId || 0,\r\n pickupCartLines\r\n );\r\n for (const line of pickupCartLines) {\r\n const product: SimpleProduct | undefined = products.find(x => x.RecordId === line.ProductId);\r\n cartLines.push({ cartLine: line, product });\r\n }\r\n this.setState({ shippingGroups: cartLines });\r\n } catch (error) {\r\n this.props.telemetry.error(error as string);\r\n this.setState({ shippingGroups: [] });\r\n }\r\n };\r\n\r\n /**\r\n * On suggestion selected.\r\n * @param result - Suggestion result interface.\r\n */\r\n @action\r\n private readonly _onSuggestionSelected = async (result: Microsoft.Maps.ISuggestionResult): Promise => {\r\n this._clearAddressFields();\r\n const address = this.addressFormat.getTranformedAddress(result, this.stateProvinceInfo);\r\n const timeout = 0;\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\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 }, timeout);\r\n };\r\n\r\n /**\r\n * Method to clear address fields.\r\n */\r\n @action\r\n private readonly _clearAddressFields = (): void => {\r\n const addressFormatItem = this.addressFormat.getAddressFormat(\r\n this.addUpdateAddress.ThreeLetterISORegionName || this.countryRegionId\r\n );\r\n for (const formatAddress of addressFormatItem) {\r\n if (\r\n this.addUpdateAddress[formatAddress.name] !== undefined &&\r\n !this.autoSuggest?.excludedAddressFields.includes(formatAddress.name)\r\n ) {\r\n this.addressFormat[formatAddress.name] = '';\r\n }\r\n }\r\n this._clearValidation();\r\n };\r\n\r\n /**\r\n * Method to clear validation.\r\n */\r\n @action\r\n private readonly _clearValidation = (): void => {\r\n this.validationError = {};\r\n };\r\n\r\n public get expressPaymentDetailsFromCartPage(): IExpressPaymentDetails | null {\r\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Explicitly check for null/undefined.\r\n const properties =\r\n this.props.data.cart?.result?.cart?.ExtensionProperties?.find(property => property.Key === 'expressPaymentDetails')?.Value\r\n ?.StringValue ?? '';\r\n\r\n return properties ? (JSON.parse(properties) as IExpressPaymentDetails) : null;\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 resources\r\n } = this.props;\r\n\r\n // Initializing data props\r\n this._dataInitialize(this.props);\r\n\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\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 () => {\r\n this._getStateProvinces();\r\n }\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 reaction(\r\n () => this.props.data.checkout.result?.shippingAddressFromExpressCheckout,\r\n () => {\r\n if (!this.expressPaymentDetailsFromCartPage && this._canShip()) {\r\n let address = this.props.data.checkout.result?.shippingAddressFromExpressCheckout;\r\n\r\n if (address?.TwoLetterISORegionName) {\r\n const threeLetterIsoRegionName = this.getThreeLetterIsoRegionName(address.TwoLetterISORegionName);\r\n\r\n address = { ...address, ThreeLetterISORegionName: threeLetterIsoRegionName };\r\n\r\n if (threeLetterIsoRegionName && threeLetterIsoRegionName !== this.countryRegionId) {\r\n this._onCountryChange(threeLetterIsoRegionName);\r\n }\r\n }\r\n\r\n this._updateCurrentOperation(AddressOperation.Add, address);\r\n this._onAddressAddUpdateSubmit();\r\n }\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 await this._initPickupGroup();\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 shouldComponentUpdate(nextProps: ICheckoutAddressProps, nextState: ICheckoutAddresState): boolean {\r\n if (this.state === nextState && this.props.data === nextProps.data) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n if (!this._canShip()) {\r\n return null;\r\n }\r\n\r\n const { config, context, renderView, resources } = this.props;\r\n const { headingImages, itemsText, singleItemText } = resources;\r\n const { imageSettings } = config;\r\n\r\n // Line images\r\n const cartlines: ICheckoutShippingCartLineInfo[] = this.state.shippingGroups\r\n .filter(x => !ObjectExtensions.isNullOrUndefined(x.product))\r\n .map(line => ({\r\n lineId: line.cartLine.LineId ?? '',\r\n imageProps: {\r\n requestContext: context.actionContext.requestContext,\r\n className: 'ms-checkout-shipping-address__group-images-lines-line-image',\r\n altText: line.product?.Name,\r\n src: line.product?.PrimaryImageUrl ?? '',\r\n fallBackSrc: getFallbackImageUrl(line.product?.ItemId, context.actionContext.requestContext.apiSettings),\r\n gridSettings: context.request.gridSettings!,\r\n imageSettings: imageSettings ?? defaultImageSettings,\r\n loadFailureBehavior: 'empty'\r\n },\r\n quantity: line.cartLine.Quantity ?? 0\r\n }));\r\n\r\n const quantity = 1;\r\n const itemText = cartlines.length > quantity ? itemsText : singleItemText;\r\n\r\n const lineImageProps: ICheckoutShippingCartLinesProps = {\r\n moduleClassName: 'ms-checkout-shipping-address',\r\n cartLines: cartlines.filter(x => !ObjectExtensions.isNullOrUndefined(x)),\r\n itemTitle: `(${format(itemText, cartlines.length)})`,\r\n title: headingImages,\r\n resources: this.props.resources\r\n };\r\n\r\n const cartLineImages: React.ReactNode = ;\r\n const multiplePickupStoreSwitchName = 'Dynamics.AX.Application.RetailMultiplePickupDeliveryModeFeature';\r\n const { featureState } = this.props.data;\r\n const isRetailMultiplePickUpOptionEnabled = featureState.result?.find(feature => feature.Name === multiplePickupStoreSwitchName)\r\n ?.IsEnabled;\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\r\n /**\r\n * Show address select.\r\n * @param onAddAddressHandler - On add address click function.\r\n * @param onSaveHandler - On save click function.\r\n * @param onCancelHandler - On cancel click function.\r\n * @returns - Renders select address.\r\n */\r\n showAddressSelectHandler: (onAddAddressHandler?: () => void, onSaveHandler?: () => void, onCancelHandler?: () => void) =>\r\n this._renderSelectAddress(onAddAddressHandler, onSaveHandler, onCancelHandler),\r\n\r\n /**\r\n * Show add/update address.\r\n * @param onSaveHandler - On save click function.\r\n * @param onCancelHandler - On cancel click function.\r\n * @returns - Renders select address.\r\n */\r\n showAddOrUpdateAddressHandler: (onSaveHandler?: () => void, onCancelHandler?: () => void) =>\r\n this._renderAddOrUpdateAddress(onSaveHandler, onCancelHandler),\r\n showAddOrUpdateAddress: this._renderAddOrUpdateAddress(),\r\n cartLineImages: isRetailMultiplePickUpOptionEnabled ? cartLineImages : undefined,\r\n showAddressSelect: this._renderSelectAddress()\r\n };\r\n\r\n return renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n /**\r\n * Method data initialization.\r\n * @param props -The checkout address properties.\r\n */\r\n private readonly _dataInitialize = (props: ICheckoutAddressProps): void => {\r\n const { data } = props;\r\n\r\n reaction(\r\n () => data.countryRegions.result,\r\n () => {\r\n this.countryRegions = data.countryRegions.result ?? [];\r\n }\r\n );\r\n\r\n reaction(\r\n () => data.addressPurposes.result,\r\n () => {\r\n this.addressPurposes = data.addressPurposes.result ?? [];\r\n }\r\n );\r\n\r\n reaction(\r\n () => data.address.result,\r\n () => {\r\n this.customerAddresses = data.address.result ?? [];\r\n }\r\n );\r\n\r\n reaction(\r\n () => data.countryStates.result,\r\n () => {\r\n this.stateProvinceInfo = data.countryStates.result ?? [];\r\n }\r\n );\r\n\r\n reaction(\r\n () => data.featureState.result,\r\n () => {\r\n this.retailMultiplePickUpOptionEnabled = data.featureState.result?.find(\r\n feature => feature.Name === this.multiplePickupStoreSwitchName\r\n )?.IsEnabled;\r\n }\r\n );\r\n };\r\n\r\n /**\r\n * Method to get cart lines for delivery.\r\n * @returns The cart line collection.\r\n */\r\n private readonly _getCartLinesforDelivery = (): CartLine[] => {\r\n return this.props.data.checkout.result?.checkoutCart.cart.CartLines?.filter(line => this._isDelivery(line)) ?? [];\r\n };\r\n\r\n /**\r\n * Method to check cart line for delivery.\r\n * @param line -The cart line.\r\n * @returns True/false as per cart line delivery mode.\r\n */\r\n private readonly _isDelivery = (line: CartLine): boolean => {\r\n return this._isNotPickupMode(line.DeliveryMode) && (line.FulfillmentStoreId === undefined || line.FulfillmentStoreId === '');\r\n };\r\n\r\n /**\r\n * Method to check cart line for delivery.\r\n * @param deliveryMode -The delivery mode.\r\n * @returns True/false as per cart line delivery mode.\r\n */\r\n private readonly _isNotPickupMode = (deliveryMode: string | undefined): boolean => {\r\n const pickupDeliveryModeCode = this.props.context.request.channel?.PickupDeliveryModeCode;\r\n const multiplePickupStoreSwitchName = 'Dynamics.AX.Application.RetailMultiplePickupDeliveryModeFeature';\r\n const { channelDeliveryOptionConfig, featureState } = this.props.data;\r\n const retailMultiplePickUpOptionEnabled = featureState.result?.find(feature => feature.Name === multiplePickupStoreSwitchName)\r\n ?.IsEnabled;\r\n if (retailMultiplePickUpOptionEnabled && deliveryMode !== undefined) {\r\n const pickupDeliveryMode = channelDeliveryOptionConfig.result?.PickupDeliveryModeCodes?.some(\r\n pickupMode => pickupMode !== deliveryMode\r\n );\r\n return pickupDeliveryMode !== undefined ? pickupDeliveryMode : false;\r\n }\r\n return deliveryMode !== undefined && pickupDeliveryModeCode !== undefined && deliveryMode !== pickupDeliveryModeCode;\r\n };\r\n\r\n /**\r\n * Method to check cart line for delivery.\r\n * @param channelId - The channelId.\r\n * @param cartLines - Cart line collections.\r\n * @returns Collection of SimpleProduct.\r\n */\r\n private readonly _getProductsByCartLines = async (channelId: number, cartLines: CartLine[]): Promise => {\r\n const actionContext = this.props.context.actionContext;\r\n const productInputs = cartLines\r\n .filter(line => !ObjectExtensions.isNullOrUndefined(line.ProductId))\r\n .map(\r\n line =>\r\n new ProductInput(\r\n line.ProductId || 0,\r\n actionContext.requestContext.apiSettings,\r\n channelId,\r\n undefined,\r\n actionContext.requestContext\r\n )\r\n );\r\n return getSimpleProducts(productInputs, actionContext);\r\n };\r\n\r\n /**\r\n * Method to render add/update address.\r\n * @param onSaveHandler -- Handles onsave functionality.\r\n * @param onCancelHandler -- Handles oncancel functionality.\r\n * @returns Address app/update props.\r\n */\r\n private readonly _renderAddOrUpdateAddress = (onSaveHandler?: () => void, onCancelHandler?: () => void): IAddressAddUpdateProps => {\r\n const addressFormat =\r\n this.currentOperation === AddressOperation.Add && this.addressCommon.isAuthenticatedFlow()\r\n ? this.addressFormat\r\n : this.addressFormat;\r\n\r\n /**\r\n * On Cancel Button Function.\r\n */\r\n const onCancelButtonHandler = () => {\r\n this._resetView();\r\n onCancelHandler?.();\r\n };\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\r\n /**\r\n * On Save Function.\r\n */\r\n onSave: () => {\r\n this.onSubmit();\r\n onSaveHandler?.();\r\n },\r\n\r\n onCancel: !this.selectedAddress && !this.addressCommon.isAuthenticatedFlow() ? () => {} : onCancelButtonHandler\r\n });\r\n };\r\n\r\n /**\r\n * Method to render select address.\r\n * @param onAddAddressHandler - To handle add address button click.\r\n * @param onSaveHandler - To handle save button click.\r\n * @param onCancelHandler - To handle cancel button click.\r\n * @returns Select address props.\r\n */\r\n private readonly _renderSelectAddress = (\r\n onAddAddressHandler?: () => void,\r\n onSaveHandler?: () => void,\r\n onCancelHandler?: () => void\r\n ): IAddressSelectProps => {\r\n /**\r\n * On Cancel Button Function.\r\n */\r\n const onCancelButtonHandler = () => {\r\n this._resetView();\r\n onCancelHandler?.();\r\n };\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\r\n /**\r\n * On Add Address Function.\r\n */\r\n onAddAddress: () => {\r\n this._goToAddAddress();\r\n onAddAddressHandler?.();\r\n },\r\n\r\n /**\r\n * On Save Function.\r\n */\r\n onSave: () => {\r\n this._onSelectAddress();\r\n onSaveHandler?.();\r\n },\r\n\r\n onCancel: !this.selectedAddress ? () => {} : onCancelButtonHandler\r\n });\r\n };\r\n\r\n /**\r\n * Method to render show address.\r\n * @returns Show address props.\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 /**\r\n * Method to render map auto suggest.\r\n */\r\n private readonly _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 /**\r\n * Method gets called on address option change.\r\n * @param event - To get current option.\r\n */\r\n private readonly _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 /**\r\n * Method to render map auto suggest.\r\n * @param name - Address name field.\r\n * @param value - Address name value field.\r\n */\r\n private readonly 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 /**\r\n * Method to get called on address update change.\r\n * @param event - Input element.\r\n */\r\n private readonly _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 /**\r\n * Method to get called on address update dropdown change.\r\n * @param event - Select element.\r\n */\r\n private readonly _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 /**\r\n * Method to get called on address update submit.\r\n */\r\n private readonly _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() && this._isNewAddress(this.addUpdateAddress)) {\r\n response =\r\n this.currentOperation === AddressOperation.Update\r\n ? this.addressCommon.updateCustomerAddress(this.addUpdateAddress)\r\n : this.addressCommon.addCustomerAddress(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 let newAddress = (result.customerAddresses || []).find(\r\n add =>\r\n this.addUpdateAddress.Name === add.Name &&\r\n this.addUpdateAddress.Street === add.Street &&\r\n this.addUpdateAddress.State === add.State &&\r\n this.addUpdateAddress.City === add.City &&\r\n this.addUpdateAddress.ZipCode === add.ZipCode\r\n );\r\n if (!newAddress) {\r\n newAddress = result.address;\r\n newAddress = { ...newAddress, ...this.addUpdateAddress };\r\n }\r\n\r\n if (result.address) {\r\n this.hasError = false;\r\n if (result.customerAddresses) {\r\n this._onAddOrUpdateSuccess({ customerAddresses: result.customerAddresses, address: newAddress });\r\n } else {\r\n this._onAddOrUpdateSuccess({ address: newAddress });\r\n }\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 /**\r\n * Method to get called on country change.\r\n * @param countryRegionId - Country region id.\r\n */\r\n private readonly _onCountryChange = (countryRegionId: string) => {\r\n this.countryRegionId = countryRegionId;\r\n const twoLetterIsoRegionName = this.addressFormat.getTwoLetterISORegionName(countryRegionId);\r\n set(this.addUpdateAddress, { ThreeLetterISORegionName: countryRegionId });\r\n set(this.addUpdateAddress, { TwoLetterISORegionName: twoLetterIsoRegionName });\r\n this.autoSuggest?.changeAutoSuggestionCountryCode(twoLetterIsoRegionName);\r\n this._clearAddressFields();\r\n };\r\n\r\n /**\r\n * Method to get all address format exclude list.\r\n * @returns Collection of address items.\r\n */\r\n private readonly _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 /**\r\n * Method to get all state/provinces.\r\n */\r\n private readonly _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 this.addressCommon.getStateProvinces(this.countryRegionId).then((result: StateProvinceInfo[]) => {\r\n const stateInfo = result.some(state => state.StateId === this.addUpdateAddress.State);\r\n\r\n // Reset state if selected state not found in the list.\r\n if (!stateInfo) {\r\n set(this.addUpdateAddress, { State: '' });\r\n }\r\n\r\n this.stateProvinceInfo = result;\r\n });\r\n };\r\n\r\n /**\r\n * Method to set default country region id.\r\n */\r\n private _setDefaultCountryRegionId(): void {\r\n const { request } = this.props.context;\r\n const market = request.channel?.ChannelCountryRegionISOCode;\r\n this.countryRegionId = this.addressCommon.getDefaultCountryRegionId(this.countryRegionId, this.countryRegions, market);\r\n }\r\n\r\n /**\r\n * Method to get default address region id.\r\n * @returns - Address object from existing addresses.\r\n */\r\n private readonly _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 /**\r\n * Method to get address from express payment details from cart page.\r\n * @returns - Address.\r\n */\r\n private readonly _getAddressFromCartExpressPaymentDetails = (): Address | undefined => {\r\n if (this.expressPaymentDetailsFromCartPage) {\r\n const { tokenizedPaymentCard, address, isExpressAddressAppliedInCartPage } = this.expressPaymentDetailsFromCartPage;\r\n\r\n let addressFromCartExpress: Address | undefined;\r\n\r\n if (isExpressAddressAppliedInCartPage) {\r\n addressFromCartExpress = address ? this.getExpressAddress(address) : undefined;\r\n } else {\r\n addressFromCartExpress = tokenizedPaymentCard ? this.getAddressFromTokenizedPaymentCard(tokenizedPaymentCard) : undefined;\r\n }\r\n\r\n return addressFromCartExpress;\r\n }\r\n return undefined;\r\n };\r\n\r\n /**\r\n * Get address from tokenizedPaymentCard.\r\n * @param tokenizedPaymentCard -- The tokenizedPaymentCard from the payment.\r\n * @returns The address.\r\n */\r\n private readonly getAddressFromTokenizedPaymentCard = (tokenizedPaymentCard: TokenizedPaymentCard): Address => {\r\n const twoLetterIsoRegionName = tokenizedPaymentCard.Country;\r\n\r\n const threeLetterIsoRegionName = twoLetterIsoRegionName ? this.getThreeLetterIsoRegionName(twoLetterIsoRegionName) : undefined;\r\n\r\n if (threeLetterIsoRegionName && threeLetterIsoRegionName !== this.countryRegionId) {\r\n this._onCountryChange(threeLetterIsoRegionName);\r\n }\r\n\r\n const address: Address = {\r\n TwoLetterISORegionName: twoLetterIsoRegionName,\r\n Name: tokenizedPaymentCard.NameOnCard,\r\n Street: tokenizedPaymentCard.Address1,\r\n StreetNumber: tokenizedPaymentCard.Address2,\r\n City: tokenizedPaymentCard.City,\r\n State: tokenizedPaymentCard.State,\r\n ZipCode: tokenizedPaymentCard.Zip,\r\n Phone: tokenizedPaymentCard.Phone,\r\n ThreeLetterISORegionName: threeLetterIsoRegionName,\r\n AddressTypeValue: this.defaultAddressType\r\n };\r\n\r\n return address;\r\n };\r\n\r\n /**\r\n * Get address from expressAddress.\r\n * @param expressAddress -- The expressAddress.\r\n * @returns The address.\r\n */\r\n private readonly getExpressAddress = (expressAddress: Address): Address => {\r\n const twoLetterIsoRegionName = expressAddress.TwoLetterISORegionName;\r\n\r\n const threeLetterIsoRegionName = twoLetterIsoRegionName ? this.getThreeLetterIsoRegionName(twoLetterIsoRegionName) : undefined;\r\n\r\n if (threeLetterIsoRegionName && threeLetterIsoRegionName !== this.countryRegionId) {\r\n this._onCountryChange(threeLetterIsoRegionName);\r\n }\r\n\r\n const address: Address = {\r\n ...expressAddress,\r\n ThreeLetterISORegionName: threeLetterIsoRegionName,\r\n AddressTypeValue: this.defaultAddressType\r\n };\r\n\r\n return address;\r\n };\r\n\r\n /**\r\n * Get three letter ISO region name from two letter ISO region name.\r\n * @param twoLetterIsoRegionName -- The three letter ISO region name.\r\n * @returns The three letter ISO region name.\r\n */\r\n private readonly getThreeLetterIsoRegionName = (twoLetterIsoRegionName: string): string | undefined => {\r\n const countryRegion = this.countryRegions.find(country => {\r\n return country.ISOCode?.toLowerCase() === twoLetterIsoRegionName.toLowerCase();\r\n });\r\n\r\n return countryRegion?.CountryRegionId;\r\n };\r\n\r\n /**\r\n * Method to initialize all module state.\r\n */\r\n private readonly _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 const checkoutState = this.props.data.checkout.result;\r\n\r\n if (this._canShip()) {\r\n let defaultAddress;\r\n\r\n if (checkoutState?.checkoutCart.cart.ShippingAddress) {\r\n defaultAddress = checkoutState.checkoutCart.cart.ShippingAddress;\r\n } else if (this._getAddressFromCartExpressPaymentDetails()) {\r\n defaultAddress = this._getAddressFromCartExpressPaymentDetails();\r\n } else if (this._getDefaultAddress()) {\r\n defaultAddress = this._getDefaultAddress();\r\n } else {\r\n defaultAddress = checkoutState?.isExpressCheckoutApplied ? checkoutState.shippingAddressFromExpressCheckout : undefined;\r\n }\r\n\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 checkoutState?.updateHasShippingAddress({ newHasShippingAddress: true });\r\n } else {\r\n this._updateCurrentOperation(AddressOperation.Add);\r\n checkoutState?.updateHasShippingAddress({ newHasShippingAddress: false });\r\n }\r\n }\r\n };\r\n\r\n /**\r\n * Method get called on submit address.\r\n */\r\n private readonly 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 /**\r\n * Method get called on cancel.\r\n */\r\n private readonly 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 /**\r\n * Method get called on edit address.\r\n */\r\n private readonly 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 /**\r\n * Method to check if checkout cartlines are available fro shipping.\r\n * @returns - True/false as per the delivery mode.\r\n */\r\n private readonly _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-expect-error: 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 /**\r\n * Method get called on select address.\r\n */\r\n private readonly _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 /**\r\n * Method get called on goto add address.\r\n */\r\n private readonly _goToAddAddress = () => {\r\n this._setDefaultCountryRegionId();\r\n this._updateCurrentOperation(AddressOperation.Add);\r\n };\r\n\r\n /**\r\n * Method get called on add/update success.\r\n * @param response - Retail api response.\r\n */\r\n private readonly _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 /**\r\n * Method get called on set Shipping Address.\r\n * @param address - Retail Api address result.\r\n */\r\n private readonly _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 this.props.data.checkout.result.updateShippingAddress({ newShippingAddress });\r\n this.props.data.checkout.result.checkoutCart.updateShippingAddress({ newShippingAddress }).catch(error => {\r\n this.props.telemetry.error(error);\r\n });\r\n }\r\n };\r\n\r\n @computed private get shippingAddress(): Address | undefined {\r\n return this.props.data.checkout.result?.shippingAddress;\r\n }\r\n\r\n /**\r\n * Method get called on reset view.\r\n */\r\n private readonly _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 /**\r\n * Update current operation.\r\n * @param operation - The address operation.\r\n * @param selectedAddress - The selected address.\r\n */\r\n private readonly _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 /**\r\n * Update module state.\r\n */\r\n private readonly _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\n * Method to check if the customer already has the address.\r\n * @param address - The address.\r\n */\r\n private readonly _isNewAddress = (address: Address): boolean => {\r\n for (const existingAddress of this.customerAddresses) {\r\n if (\r\n (address.Name ?? '') === existingAddress.Name &&\r\n (address.Street ?? '') === existingAddress.Street &&\r\n (address.StreetNumber ?? '') === existingAddress.StreetNumber &&\r\n (address.City ?? '') === existingAddress.City &&\r\n (address.State ?? '') === existingAddress.State &&\r\n (address.ZipCode ?? '') === existingAddress.ZipCode &&\r\n (address.Phone ?? '') === existingAddress.Phone &&\r\n (address.ThreeLetterISORegionName ?? '') === existingAddress.ThreeLetterISORegionName &&\r\n (address.AddressTypeValue ?? '') === existingAddress.AddressTypeValue\r\n ) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n };\r\n}\r\n\r\nexport default CheckoutShippingAddress;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IAddressAddItem, IAddressAddUpdateProps } from '@msdyn365-commerce-modules/address';\r\nimport { IAddressSelectItem, IAddressSelectProps } from '@msdyn365-commerce-modules/address';\r\nimport { IAddressShowItem, IAddressShowProps } from '@msdyn365-commerce-modules/address';\r\nimport { ICheckoutShippingAddressViewProps } from './eve-checkout-shipping-address';\r\n\r\n/**\r\n * Address show component.\r\n * @param param0 - Root param.\r\n * @param param0.AddressDetail - Address detail.\r\n * @param param0.items - IAddressShowItem[].\r\n * @returns - Address Node.\r\n */\r\nconst AddressShow: React.FC = ({ AddressDetail, items }) => {\r\n return (\r\n \r\n {items.map((item: IAddressShowItem) => {\r\n return <>{item.description};\r\n })}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Address Select Component.\r\n * @param param0 - Root param.\r\n * @param param0.SelectAddress - Select address.\r\n * @param param0.addButton - Add button.\r\n * @param param0.items - IAddressSelectItem[].\r\n * @param param0.isShowSaveButton - Boolean.\r\n * @param param0.saveButton - Save button.\r\n * @param param0.isShowCancelButton - Boolean.\r\n * @param param0.cancelButton - Cancel button.\r\n * @returns - SelectAddress Node.\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.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/**\r\n * Address Add Update Component.\r\n * @param param0 - Root param.\r\n * @param param0.AddressForm - Address form.\r\n * @param param0.heading - Address heading.\r\n * @param param0.items - IAddressAddItem[].\r\n * @param param0.hasError - Boolean.\r\n * @param param0.error - Error message.\r\n * @param param0.isShowSaveButton - Boolean.\r\n * @param param0.saveButton - Save button.\r\n * @param param0.isShowCancelButton - Boolean.\r\n * @param param0.cancelButton - Cancel button.\r\n * @returns Address add update component node.\r\n */\r\nconst AddressAddUpdate: React.FC = ({\r\n AddressForm,\r\n heading,\r\n items,\r\n hasError,\r\n error,\r\n isShowSaveButton,\r\n saveButton,\r\n isShowCancelButton,\r\n cancelButton\r\n}) => {\r\n return (\r\n \r\n {heading}\r\n {items.map((item: IAddressAddItem) => {\r\n const { AddressItem, key, label, alert, input } = item;\r\n return (\r\n \r\n {label}\r\n {alert}\r\n {input}\r\n \r\n );\r\n })}\r\n {hasError && (\r\n \r\n {error.title}\r\n {error.message}\r\n \r\n )}\r\n {isShowSaveButton && saveButton}\r\n {isShowCancelButton && cancelButton}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Checkout Shipping Address View Component.\r\n * @param props - Props.\r\n * @returns - CheckoutShippingAddress Module.\r\n */\r\nconst CheckoutShippingAddressView: React.FC = props => {\r\n const { CheckoutShippingAddress, viewState, showAddress, showAddressSelect, showAddOrUpdateAddress, cartLineImages } = props;\r\n\r\n return (\r\n \r\n {cartLineImages}\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","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport {\r\n AddToOrderTemplateComponent,\r\n IAddToOrderTemplateDialogResources,\r\n IDuplicateItemsWhenAddingToOrderTemplateDialogResources,\r\n IItemAddedToOrderTemplateDialogResources,\r\n IOrderTemplateActionErrorResult,\r\n IOrderTemplateNameDialogResources } from '@msdyn365-commerce/components';\r\nimport { SimpleProduct } from '@msdyn365-commerce/retail-proxy';\r\nimport {\r\n getConfigureErrors,\r\n IBuyboxCallbacks,\r\n IBuyboxCommonResources,\r\n IBuyboxData,\r\n IBuyboxState,\r\n IBuyboxViewProps } from '@msdyn365-commerce-modules/buybox';\r\nimport * as React from 'react';\r\n\r\nimport { IBuyboxProps as IBuyboxExtentionProps } from '../../definition-extensions/buybox.ext.props.autogenerated';\r\n\r\n/**\r\n * To generate AddToOrderTemplateDialog resources.\r\n * @param resources - The resources.\r\n * @returns -- Returns the list of AddToOrderTemplateDialog resources..\r\n */\r\nfunction generateAddToOrderTemplateDialogResources(resources: IBuyboxCommonResources): IAddToOrderTemplateDialogResources {\r\n return {\r\n addToOrderTemplateHeader: resources.addToOrderTemplateHeader,\r\n\r\n noOrderTemplatesMessage: resources.noOrderTemplatesMessage,\r\n noOrderTemplatesDescription: resources.noOrderTemplatesDescription,\r\n\r\n createAnOrderTemplateButtonText: resources.createAnOrderTemplateButtonText,\r\n createNewOrderTemplateButtonText: resources.createNewOrderTemplateButtonText,\r\n cancelOrderTemplateCreationButtonText: resources.cancelOrderTemplateCreationButtonText,\r\n\r\n selectTemplatesText: resources.selectTemplatesText,\r\n addToTemplateButtonText: resources.addToTemplateButtonText,\r\n lineItemsText: resources.lineItemsText\r\n };\r\n}\r\n\r\n/**\r\n * To generate OrderTemplateNameDialog resources.\r\n * @param resources - The resources.\r\n * @returns -- Returns the list of OrderTemplateNameDialog resources..\r\n */\r\nfunction generateOrderTemplateNameDialogResources(resources: IBuyboxCommonResources): IOrderTemplateNameDialogResources {\r\n return {\r\n orderTemplateHeaderLabel: resources.createOrderTemplateHeader,\r\n orderTemplateTitleLabel: resources.orderTemplateTitle,\r\n orderTemplateNameAriaLabel: resources.orderTemplateNameAriaLabel,\r\n orderTemplateDescription: resources.createOrderTemplateDescription,\r\n\r\n defaultOrderTemplateName: resources.defaultOrderTemplateName,\r\n\r\n orderTemplateButtonLabel: resources.createOrderTemplateButtonText,\r\n orderTemplateCancelButtonLabel: resources.cancelNewOrderTemplateCreationButtonText\r\n };\r\n}\r\n\r\n/**\r\n * To generate ItemAddedToOrderTemplateDialog resources.\r\n * @param resources - The resources.\r\n * @returns -- Returns the list of ItemAddedToOrderTemplateDialog resources..\r\n */\r\nfunction generateItemAddedToOrderTemplateDialogResources(resources: IBuyboxCommonResources): IItemAddedToOrderTemplateDialogResources {\r\n return {\r\n viewOrderTemplateButtonText: resources.viewOrderTemplateButtonText,\r\n continueShoppingButtonText: resources.continueShoppingButtonText,\r\n itemAddedToOrderTemplateHeaderItemOneText: resources.itemAddedToOrderTemplateHeaderItemOneText,\r\n itemAddedToOrderTemplateHeaderItemFormatText: resources.itemAddedToOrderTemplateHeaderItemFormatText,\r\n itemAddedToOrderTemplateHeaderMessageText: resources.itemAddedToOrderTemplateHeaderMessageText,\r\n freePriceText: resources.priceFree,\r\n originalPriceText: resources.originalPriceText,\r\n currentPriceText: resources.currentPriceText\r\n };\r\n}\r\n\r\n/**\r\n * To generate DuplicateItemsWhenAddingToOrderTemplateDialog resources.\r\n * @param resources - The resources.\r\n * @returns -- Returns the list of DuplicateItemsWhenAddingToOrderTemplateDialog resources..\r\n */\r\nfunction generateDuplicateItemsWhenAddingToOrderTemplateDialogResources(resources: IBuyboxCommonResources):\r\nIDuplicateItemsWhenAddingToOrderTemplateDialogResources {\r\n return {\r\n duplicatedProductsHeader: resources.duplicatedProductsHeader,\r\n duplicatedProductsDescription: resources.duplicatedProductsDescription,\r\n updateQuantityButtonText: resources.updateQuantityButtonText,\r\n cancelDuplicateItemsButtonText: resources.cancelDuplicateItemsButtonText\r\n };\r\n}\r\n\r\n/**\r\n * Add to wishlist failed function.\r\n * @param callbacks -Buybox callbacks.\r\n * @param resources -Buybox resources.\r\n * @param product -Simple product.\r\n * @returns Update error state.\r\n */\r\nconst onAddToOrderTemplateFailed = (callbacks: IBuyboxCallbacks,\r\n resources: IBuyboxCommonResources, product: SimpleProduct | undefined) => (result: IOrderTemplateActionErrorResult) => {\r\n callbacks.updateErrorState({\r\n errorHost: 'ORDER_TEMPLATE',\r\n configureErrors: result.status === 'MISSING_DIMENSION' ? getConfigureErrors(result.missingDimensions, resources, product?.IsGiftCard) : {}\r\n });\r\n};\r\n\r\n/**\r\n * RenderAddToOrderTemplateButton.\r\n * @param props - Buybox view props.\r\n * @param state - Buybox state.\r\n * @param callbacks - Buybox callbacks.\r\n * @param product - Product data.\r\n * @returns -- Returns JSX element.\r\n */\r\nexport const renderAddToOrderTemplateButton = (props: IBuyboxViewProps & IBuyboxExtentionProps,\r\n state: IBuyboxState, callbacks: IBuyboxCallbacks, product: SimpleProduct): React.ReactNode => {\r\n\r\n const {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\r\n id,\r\n typeName,\r\n context,\r\n data: {\r\n orderTemplates: { result: orderTemplates },\r\n customerInformation: { result: customerInformation }\r\n },\r\n resources\r\n } = props;\r\n\r\n const\r\n {\r\n quantity\r\n } = state;\r\n\r\n const isShowButtonText = true;\r\n\r\n return orderTemplates && (\r\n \r\n );\r\n};\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport {\r\n AddToWishlistComponent,\r\n IWishlistActionErrorResult\r\n} from \"@msdyn365-commerce/components\";\r\nimport { format, ItemAvailability, SimpleProduct } from \"@msdyn365-commerce/retail-proxy\";\r\nimport { IStoreInfo } from \"@msdyn365-commerce-modules/bopis-utilities\";\r\nimport {\r\n getConfigureErrors,\r\n IBuyboxAddToCartViewProps,\r\n IBuyboxCallbacks,\r\n IBuyboxCommonResources,\r\n IBuyboxData,\r\n IBuyboxFindInStoreViewProps,\r\n IBuyboxKeyInPriceViewProps,\r\n IBuyboxProductConfigureDropdownViewProps,\r\n IBuyboxProductConfigureViewProps,\r\n IBuyboxProductQuantityViewProps,\r\n IBuyboxResources as IBuyboxExtentionResources,\r\n IBuyboxShopSimilarLookViewProps,\r\n IBuyboxState,\r\n IBuyboxViewProps\r\n} from \"@msdyn365-commerce-modules/buybox\";\r\nimport {\r\n ArrayExtensions, getFullAvailableInventoryNearby, GetFullAvailableInventoryNearbyInput,\r\n IFullOrgUnitAvailability\r\n} from \"@msdyn365-commerce-modules/retail-actions\";\r\nimport { IncrementalQuantity, INodeProps, ITelemetryContent, Module, Node } from \"@msdyn365-commerce-modules/utilities\";\r\nimport { reaction } from \"mobx\";\r\nimport * as React from \"react\";\r\nimport { getInventoryLevelRangesAsync } from \"../../../actions/DataActionExtension.g\";\r\nimport { SupersessionKey } from \"../../gardner-theme/models/SupersessionKey\";\r\nimport getExtensionPropertyValueByKey, { CommercePropertyValueEnum } from \"../../../utils/getExtensionPropertyValueByKey\";\r\nimport { IItemInventoryLevelProfileEntity, IProfileDataMap } from \"../../../actions/DataServiceEntities.g\";\r\n\r\nimport {\r\n IBuyboxProps as IBuyboxExtentionProps,\r\n IBuyboxProps\r\n} from \"../definition-extensions/buybox.ext.props.autogenerated\";\r\nimport { renderAddToOrderTemplateButton } from \"./components/buybox-add-to-order-template\";\r\n\r\n/**\r\n * BuyBoxConstants enum.\r\n */\r\nexport enum BuyBoxConstants {\r\n zero = 0\r\n}\r\n\r\n/**\r\n * On Change function.\r\n * @param callbacks -Callbacks.\r\n * @returns Update quantity.\r\n */\r\nconst onChangeHandler = (callbacks: IBuyboxCallbacks) => (newValue: number): boolean => {\r\n if (callbacks.updateQuantity) {\r\n return callbacks.updateQuantity(newValue);\r\n }\r\n return true;\r\n};\r\n\r\nconst _renderLoginURL = (url?: string, text?: string): JSX.Element => {\r\n return (\r\n

\r\n {text}\r\n

\r\n );\r\n};\r\n\r\n\r\n/**\r\n * RenderQuantity.\r\n * @param quantityComponent - QuantityComponent.\r\n * @param callbacks - Callbacks.\r\n * @param props - Props.\r\n * @param state - State.\r\n * @param extentionResources - ExtentionResources.\r\n * @param quantityLimitsMessages - QuantityLimitsMessages.\r\n * @param max - Max.\r\n * @param telemetryContent - TelemetryContent.\r\n * @param unitOfMeasure - Unit Of Measure.\r\n * @returns -- Returns.\r\n */\r\nconst renderQuantity = (\r\n quantityComponent: IBuyboxProductQuantityViewProps,\r\n callbacks: IBuyboxCallbacks,\r\n props: IBuyboxProps,\r\n state: IBuyboxState,\r\n extentionResources: IBuyboxExtentionResources,\r\n quantityLimitsMessages: React.ReactNode,\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Buybox.tsx file\r\n max: number | undefined,\r\n telemetryContent?: ITelemetryContent,\r\n unitOfMeasure?: React.ReactNode): JSX.Element => {\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Buybox.tsx file\r\n const { ContainerProps, LabelContainerProps, heading, errors } = quantityComponent;\r\n\r\n const {\r\n resources\r\n } = props;\r\n\r\n const\r\n {\r\n quantity\r\n } = state;\r\n\r\n return (\r\n \r\n \r\n {heading}\r\n {errors}\r\n \r\n\r\n \r\n {unitOfMeasure}\r\n {quantityLimitsMessages}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render key in price function.\r\n * @param keyInPrice - KeyInPrice.\r\n * @returns -- Returns.\r\n */\r\nconst renderKeyInPrice = (keyInPrice: IBuyboxKeyInPriceViewProps): JSX.Element => {\r\n const { ContainerProps, LabelContainerProps, heading, input } = keyInPrice;\r\n\r\n return (\r\n \r\n \r\n {heading}\r\n \r\n {input}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * RenderAddToCart.\r\n * @param addToCart - AddToCart.\r\n * @returns -- Returns.\r\n */\r\nconst renderAddToCart = (addToCart: IBuyboxAddToCartViewProps, product: SimpleProduct | undefined, inventoryRangesList: IProfileDataMap[], unavailableText: string): JSX.Element => {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Buybox.tsx file\r\n const { ContainerProps, errorBlock, button } = addToCart;\r\n\r\n if (product) {\r\n const invPropertyValue = getExtensionPropertyValueByKey(product.ExtensionProperties, SupersessionKey.Inventory, CommercePropertyValueEnum.string)\r\n const currentInvString = invPropertyValue ? invPropertyValue.toString() : '0';\r\n const currentInventory = parseInt(currentInvString, 10);\r\n let invProfOos: IItemInventoryLevelProfileEntity | undefined;\r\n inventoryRangesList.map(ir => {\r\n const tempInvRange = ir.Profile?.find(p => p.ItemId === product.ItemId && p.Code === 'OOS');\r\n if (tempInvRange) {\r\n invProfOos = tempInvRange;\r\n }\r\n });\r\n \r\n const OosUpperBound = invProfOos?.hasOwnProperty('UpperBoundInclusive') && invProfOos?.UpperBoundInclusive !== undefined ? invProfOos.UpperBoundInclusive : 0;\r\n const isOutOfStock = currentInventory <= OosUpperBound;\r\n \r\n \r\n return (\r\n \r\n {errorBlock}\r\n {!isOutOfStock ? button : (\r\n
{unavailableText}
\r\n )}\r\n
\r\n );\r\n }\r\n return <>;\r\n};\r\n\r\n/**\r\n * RenderFindInStore.\r\n * @param findInStore - FindInStore.\r\n * @returns -- Returns.\r\n */\r\nconst renderFindInStore = (findInStore: IBuyboxFindInStoreViewProps): JSX.Element => {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Buybox.tsx file\r\n const {\r\n ContainerProps,\r\n storeSelector,\r\n heading,\r\n description,\r\n errors,\r\n button,\r\n modal,\r\n productPickupOptionList\r\n } = findInStore;\r\n\r\n return (\r\n \r\n {storeSelector}\r\n {heading}\r\n {productPickupOptionList}\r\n {description}\r\n {errors}\r\n {button}\r\n {modal}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * RenderAddToOrderTemplate.\r\n * @param props - Buybox view props.\r\n * @param state - Buybox state.\r\n * @param callbacks - Buybox callbacks.\r\n * @returns -- Returns.\r\n */\r\nconst renderAddToOrderTemplate = (props: IBuyboxViewProps & IBuyboxExtentionProps,\r\n state: IBuyboxState, callbacks: IBuyboxCallbacks): JSX.Element | null => {\r\n const product = props.data.product.result;\r\n if (!props.addToOrderTemplate || !product) {\r\n return null;\r\n }\r\n\r\n const orderTemplateButton = renderAddToOrderTemplateButton(props, state, callbacks, product);\r\n\r\n return (\r\n \r\n {props.addToOrderTemplate.errorBlock}\r\n {orderTemplateButton}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Add to wishlist failed function.\r\n * @param callbacks -Buybox callbacks.\r\n * @param resources -Buybox resources.\r\n * @param product -Simple product.\r\n * @returns Update error state.\r\n */\r\nconst onAddToWishlistFailed = (callbacks: IBuyboxCallbacks,\r\n resources: IBuyboxCommonResources, product: SimpleProduct | undefined) => (result: IWishlistActionErrorResult) => {\r\n callbacks.updateErrorState({\r\n errorHost: \"WISHLIST\",\r\n configureErrors: result.status === \"MISSINGDIMENSION\" ? getConfigureErrors(result.missingDimensions, resources, product?.IsGiftCard) : {}\r\n });\r\n};\r\n\r\n/**\r\n * RenderAddToWishlist.\r\n * @param props - Buybox view props.\r\n * @param state - Buybox state.\r\n * @param callbacks - Buybox callbacks.\r\n * @param product - Product data.\r\n * @returns -- Returns.\r\n */\r\nconst renderAddtoWishlistButton = (props: IBuyboxViewProps & IBuyboxExtentionProps,\r\n state: IBuyboxState, callbacks: IBuyboxCallbacks, product: SimpleProduct): React.ReactNode => {\r\n const { context, resources } = props;\r\n const wishlists = props.data.wishlists.result;\r\n const isShowWishlitButtonText = true;\r\n return (\r\n \r\n );\r\n};\r\n\r\n/**\r\n * RenderAddToWishlist.\r\n * @param props - Buybox viewprops.\r\n * @param state - Buybox state.\r\n * @param callbacks - Buybox callbacks.\r\n * @returns -- Returns.\r\n */\r\nconst renderAddToWishlist = (props: IBuyboxViewProps & IBuyboxExtentionProps,\r\n state: IBuyboxState, callbacks: IBuyboxCallbacks): JSX.Element | null => {\r\n const product = props.data.product.result;\r\n if (!props.addToWishlist || !product) {\r\n return null;\r\n }\r\n\r\n const wishlistButton = renderAddtoWishlistButton(props, state, callbacks, product);\r\n return (\r\n \r\n {props.addToWishlist.errorBlock}\r\n {wishlistButton}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * RRenderShopSimilarItem.\r\n * @param shopSimilarItem - ShopSimilarItem.\r\n * @returns -- Returns.\r\n */\r\nconst renderShopSimilarItem = (shopSimilarItem: IBuyboxShopSimilarLookViewProps): JSX.Element => {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Buybox.tsx file\r\n const { ContainerProps, errors, input } = shopSimilarItem;\r\n\r\n return (\r\n \r\n {errors}\r\n {input}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * RenderSocialShare.\r\n * @param socialShare - Social share react node array.\r\n * @returns -- Returns.\r\n */\r\nconst _renderSocialShare = (socialShare: React.ReactNode[]): JSX.Element | undefined => {\r\n if (!socialShare || socialShare.length === 0) {\r\n return undefined;\r\n }\r\n\r\n return (\r\n <>\r\n {socialShare[0]}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * RenderConfigureDropdown.\r\n * @param dropdown - Buybox product configure dropdown view props.\r\n * @returns -- Returns JSX.Element.\r\n */\r\nconst renderConfigureDropdown = (dropdown: IBuyboxProductConfigureDropdownViewProps): JSX.Element => {\r\n const { ContainerProps, LabelContainerProps, heading, errors, select } = dropdown;\r\n\r\n return (\r\n \r\n \r\n {heading}\r\n \r\n {select}\r\n {errors}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * RenderConfigure.\r\n * @param configure - Buybox product configure view props.\r\n * @returns -- Returns JSX.Element.\r\n */\r\nconst renderConfigure = (configure: IBuyboxProductConfigureViewProps): JSX.Element => {\r\n const { ContainerProps, dropdowns } = configure;\r\n\r\n return (\r\n \r\n {dropdowns.map(renderConfigureDropdown)}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * BuyboxView.\r\n * @param props - Props.\r\n * @returns -- Returns.\r\n */\r\nconst BuyboxView: React.FC> = props => {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Buybox.tsx file\r\n const {\r\n ModuleProps,\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Buybox.tsx file\r\n MediaGalleryContainerProps,\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Buybox.tsx file\r\n ProductInfoContainerProps,\r\n addToCart,\r\n addToOrderTemplate,\r\n addToWishlist,\r\n configure,\r\n description,\r\n findInStore,\r\n quantity,\r\n price,\r\n title,\r\n rating,\r\n inventoryLabel,\r\n shopSimilarLook,\r\n keyInPrice,\r\n shopSimilarDescription,\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Buybox.tsx file\r\n max,\r\n unitOfMeasure,\r\n callbacks,\r\n state,\r\n resources,\r\n resources: {\r\n loginToViewPricing,\r\n productUnavailableText\r\n },\r\n quantityLimitsMessages,\r\n telemetryContent,\r\n config: {\r\n onlyShowPriceWhenAuthenticated,\r\n enableShopSimilarDescription,\r\n enableShopSimilarLooks\r\n },\r\n context: {\r\n request: {\r\n user: { signInUrl, isAuthenticated }\r\n }\r\n },\r\n app: {\r\n config: appConfig\r\n }\r\n } = props;\r\n\r\n let skuText: string = props.resources.skuText;\r\n skuText += props.data.product.result?.ItemId;\r\n const preferredStoreInfo: IStoreInfo | undefined = props.data.storeSelectorStateManager.result?.preferredStore;\r\n const preferredStoreId = preferredStoreInfo?.StoreId ? preferredStoreInfo.StoreId : \"\";\r\n const preferredStoreName = preferredStoreInfo?.StoreName ? preferredStoreInfo.StoreName : \"\";\r\n const product = props.data.product.result;\r\n\r\n const [availability, setAvailability] = React.useState(\"\");\r\n const [isStoreChange, setIsStoreChange] = React.useState(false);\r\n const [areInventoryRangesChecked, setAreInventoryRangesChecked] = React.useState(false);\r\n const [inventoryRangesList, setInventoryRangesList] = React.useState([]);\r\n\r\n const getInvProfs = async (): Promise => {\r\n if (areInventoryRangesChecked) {\r\n return;\r\n }\r\n const itemId = props.data.product.result?.ItemId || '';\r\n const resp = await getInventoryLevelRangesAsync({ callerContext: props.context.actionContext }, [itemId]);\r\n console.log(resp);\r\n setAreInventoryRangesChecked(true);\r\n setInventoryRangesList(resp);\r\n }\r\n\r\n React.useEffect(() => {\r\n void getInvProfs();\r\n }, [props.data.product]);\r\n\r\n const shouldShowShopOptions = enableShopSimilarDescription || enableShopSimilarLooks;\r\n /**\r\n * GetStockInventoryLabel.\r\n * @param availabilityWithHours - Stock availability with hours.\r\n * @returns -- Returns.\r\n */\r\n const getStockInventoryLabel = (availabilityWithHours: IFullOrgUnitAvailability | undefined): string | undefined => {\r\n if (availabilityWithHours && ArrayExtensions.hasElements(availabilityWithHours.ProductInventoryInformation)) {\r\n for (const productInventoryInformation of availabilityWithHours.ProductInventoryInformation) {\r\n if (availabilityWithHours.OrgUnitAvailability?.OrgUnitLocation?.InventoryLocationId ===\r\n productInventoryInformation.InventLocationId) {\r\n return productInventoryInformation.StockLevelLabel;\r\n }\r\n }\r\n }\r\n\r\n return undefined;\r\n };\r\n\r\n const getInventory = React.useCallback(async () => {\r\n const input = new GetFullAvailableInventoryNearbyInput(props.data.product.result?.RecordId, BuyBoxConstants.zero,\r\n BuyBoxConstants.zero, BuyBoxConstants.zero, BuyBoxConstants.zero, true);\r\n\r\n /**\r\n * IsProductInStock.\r\n * @param itemAvailabilities - Item availability array.\r\n * @returns -- Returns.\r\n */\r\n const isProductInStock = (itemAvailabilities: ItemAvailability[] | undefined): boolean => {\r\n if (!appConfig.enableStockCheck) {\r\n return true;\r\n }\r\n\r\n if (ArrayExtensions.hasElements(itemAvailabilities)) {\r\n return itemAvailabilities[BuyBoxConstants.zero].AvailableQuantity! > BuyBoxConstants.zero;\r\n }\r\n\r\n return false;\r\n };\r\n\r\n await getFullAvailableInventoryNearby(input, props.context.actionContext).catch((error: Error) => {\r\n props.telemetry.error(error.message);\r\n }).then(response => {\r\n if (response && ArrayExtensions.hasElements(response)) {\r\n const isPreferredStore = (value: IFullOrgUnitAvailability) => value.OrgUnitAvailability?.OrgUnitLocation?.OrgUnitNumber === preferredStoreId;\r\n const filteredFullOrgUnitAvailability = response.filter(isPreferredStore);\r\n const preferredStoreAvailability = ArrayExtensions.hasElements(filteredFullOrgUnitAvailability) ? (\r\n filteredFullOrgUnitAvailability[BuyBoxConstants.zero]) : undefined;\r\n const stockStatusLabel: string | undefined = getStockInventoryLabel(preferredStoreAvailability);\r\n const isInStock = isProductInStock(preferredStoreAvailability?.OrgUnitAvailability?.ItemAvailabilities);\r\n const resourceLabel = isInStock ? props.resources.inStockText : props.resources.outOfStockText;\r\n const stockText: string | undefined = stockStatusLabel ? stockStatusLabel : resourceLabel;\r\n const preferredStoreAvailabilityText = `${format(props.resources.availabilityAtPreferredStoreText, preferredStoreName)} ${stockText}`;\r\n setAvailability(preferredStoreAvailabilityText);\r\n }\r\n });\r\n\r\n setIsStoreChange(false);\r\n }, [\r\n props.data.product.result?.RecordId, appConfig.enableStockCheck, preferredStoreId, preferredStoreName, props.context.actionContext,\r\n props.resources.availabilityAtPreferredStoreText, props.resources.inStockText, props.resources.outOfStockText, props.telemetry\r\n ]);\r\n\r\n React.useEffect(() => {\r\n if (props.config.displayStockAvailability) {\r\n getInventory().catch((error: Error) => {\r\n props.telemetry.error(error.message);\r\n });\r\n }\r\n }, [getInventory, isStoreChange, props.telemetry, props.config.displayStockAvailability]);\r\n\r\n reaction(\r\n () => props.data.storeSelectorStateManager.result?.selectedStoreLocationId,\r\n () => {\r\n setIsStoreChange(true);\r\n }\r\n );\r\n\r\n console.log(props);\r\n\r\n /**\r\n * RenderAvailabiltyAtPreferredStore.\r\n * @returns -- Returns.\r\n */\r\n const renderAvailabilityAtPreferredStore = (): JSX.Element | undefined => {\r\n const hasProductDimensions = ArrayExtensions.hasElements(props.data.product.result?.Dimensions);\r\n if (hasProductDimensions && props.data.product.result?.MasterProductId === undefined) {\r\n return undefined;\r\n }\r\n const containerProps: INodeProps = {\r\n className: \"ms-buybox__preferred-store-availability\",\r\n tag: \"span\"\r\n };\r\n\r\n return (\r\n \r\n {availability}\r\n \r\n );\r\n };\r\n return (\r\n \r\n \r\n {props.mediaGallery}\r\n \r\n \r\n {title}\r\n \r\n
\r\n {skuText}\r\n
\r\n {rating}\r\n
\r\n {(isAuthenticated || !onlyShowPriceWhenAuthenticated) ? (\r\n \r\n
\r\n {props.resources.priceText}\r\n
\r\n {price}\r\n
\r\n ) : _renderLoginURL(signInUrl, loginToViewPricing)}\r\n\r\n {configure && renderConfigure(configure)}\r\n {keyInPrice && renderKeyInPrice(keyInPrice)}\r\n \r\n
\r\n {quantity && renderQuantity(quantity, callbacks, props, state, resources, quantityLimitsMessages, max, telemetryContent, unitOfMeasure)}\r\n {props.bulkPurchaseLink}\r\n
\r\n
\r\n {props.config.displayStockAvailability && preferredStoreId && renderAvailabilityAtPreferredStore()}\r\n {inventoryLabel}\r\n {renderAddToCart(addToCart, product, inventoryRangesList, productUnavailableText)}\r\n {findInStore && renderFindInStore(findInStore)}\r\n {addToWishlist && renderAddToWishlist(props, state, callbacks)}\r\n {addToOrderTemplate && renderAddToOrderTemplate(props, state, callbacks)}\r\n {findInStore?.productPickupOptionList ?
\r\n {findInStore.productPickupOptionList}\r\n
: null}\r\n {_renderSocialShare(props.slots && props.slots.socialShare)}\r\n {shouldShowShopOptions ? (\r\n \r\n
\r\n {props.resources.shopText}\r\n
\r\n \r\n {shopSimilarLook && renderShopSimilarItem(shopSimilarLook)}\r\n {shopSimilarDescription && renderShopSimilarItem(shopSimilarDescription)}\r\n \r\n
\r\n ) : null}\r\n\r\n \r\n
\r\n {props.resources.descriptionText}\r\n
\r\n {description}\r\n
\r\n {ArrayExtensions.hasElements(props.slots.productSpecification) ?\r\n \r\n {props.slots.productSpecification[0]}\r\n : null}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default BuyboxView;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport MsDyn365, { getUrlSync } from \"@msdyn365-commerce/core\";\r\nimport { IHeaderViewProps, Logo } from '@msdyn365-commerce-modules/header';\r\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nimport { IHeaderProps } from '../definition-extensions/header.ext.props.autogenerated';\r\n\r\n\r\n/**\r\n * GridSizes.\r\n */\r\nexport type GridSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\r\n\r\n/**\r\n *\r\n * HeaderView component.\r\n * @extends {React.PureComponent}\r\n */\r\nexport class HeaderView extends React.PureComponent> {\r\n private readonly menuNode: React.RefObject;\r\n\r\n public constructor(props: IHeaderViewProps & IHeaderProps<{}>) {\r\n\r\n super(props);\r\n this.menuNode = React.createRef();\r\n }\r\n\r\n public componentDidMount(): void {\r\n if (this.props.config.useStickyHeader) {\r\n // Set header update methods to trigger on scroll\r\n if (MsDyn365.isBrowser) {\r\n window.addEventListener('scroll', () => {\r\n this._configureStickyHeader();\r\n });\r\n }\r\n this._configureStickyHeader();\r\n }\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Cannot change the prop names as props are from business logic.\r\n const { HeaderTag, HeaderContainer, HeaderTopBarContainer, Divider, MobileMenuContainer, MobileMenuBodyContainer, MobileMenuLinksContainer\r\n , config: { showQuickOrderLink, showPhoneNumber, phoneNumber }\r\n } = this.props;\r\n \r\n const quickOrderUrl = getUrlSync('quickorder', this.props.context.actionContext);\r\n return (\r\n \r\n \r\n \r\n\r\n
\r\n {this.props.navIcon}\r\n
\r\n
\r\n {this.props.logo}\r\n {showPhoneNumber == \"yes\" && phoneNumber ? this._renderPhoneNumber(this.props) : null}\r\n
\r\n
\r\n
\r\n {this._renderReactFragment(this.props.menuBar)}\r\n
\r\n {this._renderMobileLogo()}\r\n {this._renderReactFragment(this.props.search)}\r\n {this.props.preferredStore}\r\n {this._renderAccountBlock(this.props)}\r\n \r\n {showQuickOrderLink ? this._renderQuickViewIcon(quickOrderUrl || '#') : null}\r\n {this.props.cartIcon}\r\n {this._renderReactFragment(this.props.siteOptions)}\r\n
\r\n\r\n
\r\n \r\n \r\n { this.props.MobileMenuHeader }\r\n {this._renderReactFragment(this.props.menuBar)}\r\n \r\n { this.props.accountLinks ? this.props.accountLinks.map(link => link) : false }\r\n { this.props.siteOptions }\r\n { this.props.wishListIconMobile }\r\n { this.props.signInLink }\r\n { this.props.signOutLink }\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n /**\r\n * Function to render phone number beside the logo.\r\n * @param props - IHeaderProps.\r\n * @returns Returns JSX.Element | null.\r\n */\r\n private _renderPhoneNumber(props: IHeaderProps<{}>): JSX.Element | null {\r\n const { config: { phoneNumber } } = props;\r\n const telephoneLink: string = `tel:+1-${phoneNumber}`;\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _renderQuickViewIcon = (quickOrderLink: string) => (\r\n \r\n )\r\n\r\n /**\r\n * Function to update header.\r\n */\r\n private readonly _configureStickyHeader = (): void => {\r\n // Get heights of cookie and promotion banners\r\n const defaultValue = 0;\r\n const headerAlertsContainer: HTMLElement | null = document.querySelector('.ms-promo-banner');\r\n const bannerHeights = headerAlertsContainer ? headerAlertsContainer.offsetHeight : defaultValue;\r\n\r\n // Triggers opacity change of header\r\n const headerElement = document.querySelector('header .default-container');\r\n if (headerElement) {\r\n if (MsDyn365.isBrowser && document.documentElement.scrollTop > defaultValue) {\r\n headerElement.classList.add('lock-opaque');\r\n headerElement.classList.add('fixed');\r\n } else {\r\n headerElement.classList.remove('lock-opaque');\r\n headerElement.classList.remove('fixed');\r\n }\r\n }\r\n\r\n // Update sticky header position and opacity\r\n const stickyHeader: HTMLElement | null = document.querySelector('.desktop-navicon-container');\r\n const headerLogo: HTMLElement | null = document.querySelector('.ms-header__logo');\r\n\r\n if (stickyHeader && headerLogo) {\r\n // Fix center sticky header\r\n const navStickyPos = headerLogo.offsetHeight + bannerHeights;\r\n if (MsDyn365.isBrowser && document.documentElement.scrollTop > navStickyPos) {\r\n stickyHeader.classList.add('fixed');\r\n } else {\r\n stickyHeader.classList.remove('fixed');\r\n }\r\n }\r\n };\r\n\r\n private _renderMobileLogo(): JSX.Element | null {\r\n const { config, context, typeName } = this.props;\r\n return (\r\n \r\n );\r\n }\r\n\r\n /**\r\n * Function to render account block.\r\n * @param props - IHeaderViewProps.\r\n * @returns Returns JSX.Element | null.\r\n */\r\n private readonly _renderAccountBlock = (props: IHeaderViewProps): JSX.Element | null => {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Cannot change the prop names as props are from business logic.\r\n const { AccountInfoDropdownParentContainer, AccountInfoDropdownPopoverConentContainer,\r\n accountInfoDropdownButton,\r\n signOutLink,\r\n signInLink,\r\n accountLinks\r\n } = props;\r\n if (AccountInfoDropdownParentContainer) {\r\n const accountClassName = classnames(AccountInfoDropdownParentContainer.className, 'account-desktop');\r\n if (AccountInfoDropdownPopoverConentContainer) {\r\n return (\r\n \r\n {accountInfoDropdownButton}\r\n \r\n { accountLinks ? accountLinks.map((link: React.ReactNode) => link) : false }\r\n {signOutLink}\r\n \r\n \r\n );\r\n } else if (signInLink) {\r\n return (\r\n \r\n {signInLink}\r\n \r\n );\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Function to render react fragment.\r\n * @param items - React nodes.\r\n * @returns Returns JSX.Element | null.\r\n */\r\n private readonly _renderReactFragment = (items: React.ReactNode[]): JSX.Element | null => {\r\n return (\r\n <>\r\n {ArrayExtensions.hasElements(items) ? items.map((slot: React.ReactNode) => {\r\n return (<>\r\n {slot}\r\n );\r\n }) : null}\r\n \r\n );\r\n };\r\n}\r\n\r\nexport default HeaderView;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { AddToWishlistComponent, IWishlistActionErrorResult } from '@msdyn365-commerce/components';\r\nimport { SimpleProduct } from '@msdyn365-commerce/retail-proxy';\r\nimport { getConfigureErrors, IBuyboxAddToCartViewProps,\r\n IBuyboxCallbacks,\r\n IBuyboxCommonResources,\r\n IBuyboxKeyInPriceViewProps,\r\n IBuyboxProductConfigureDropdownViewProps,\r\n IBuyboxProductConfigureViewProps,\r\n IBuyboxProductQuantityViewProps,\r\n IBuyboxState,\r\n IQuickviewViewProps } from '@msdyn365-commerce-modules/buybox';\r\nimport { StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { IModuleProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IQuickviewProps as IQuickviewPropsExtend } from '../definition-extensions/quickview.ext.props.autogenerated';\r\n\r\n/**\r\n * RenderAddToCart.\r\n * @param addToCart - AddToCart.\r\n * @returns -- Returns.\r\n */\r\nconst renderAddToCart = (addToCart: IBuyboxAddToCartViewProps): JSX.Element => {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Quickview.tsx file\r\n const { ContainerProps, errorBlock, button } = addToCart;\r\n\r\n return (\r\n \r\n {errorBlock}\r\n {button}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Add to wishlist failed function.\r\n * @param callbacks -Buybox callbacks.\r\n * @param resources -Buybox resources.\r\n * @param product -Simple product.\r\n * @returns Update error state.\r\n */\r\nconst onAddToWishlistFailed = (callbacks: IBuyboxCallbacks | undefined,\r\n resources: IBuyboxCommonResources, product: SimpleProduct | undefined) => (result: IWishlistActionErrorResult) => {\r\n callbacks?.updateErrorState({\r\n errorHost: 'WISHLIST',\r\n configureErrors: result.status === 'MISSINGDIMENSION' ? getConfigureErrors(result.missingDimensions, resources, product?.IsGiftCard) : {}\r\n });\r\n};\r\n\r\n/**\r\n * RenderAddToWishlist.\r\n * @param props - Buybox viewprops.\r\n * @param state - Buybox state.\r\n * @param callbacks - Buybox callbacks.\r\n * @param product - Product data.\r\n * @returns -- Returns.\r\n */\r\nconst renderAddtoWishlistButton = (props: IQuickviewViewProps,\r\n state: IBuyboxState, callbacks: IBuyboxCallbacks | undefined, product: SimpleProduct): React.ReactNode => {\r\n const { context, resources } = props;\r\n const wishlists = props.data.wishlists.result;\r\n const isShowWishlitButtonText = true;\r\n return (\r\n \r\n );\r\n};\r\n\r\n/**\r\n * RenderAddToWishlist.\r\n * @param props - Buybox viewprops.\r\n * @param state - Buybox state.\r\n * @param callbacks - Buybox callbacks.\r\n * @returns -- Returns.\r\n */\r\nconst renderAddToWishlist = (props: IQuickviewViewProps,\r\n state: IBuyboxState, callbacks: IBuyboxCallbacks | undefined): JSX.Element | null => {\r\n const product = props.productDetails?.product;\r\n if (!props.addToWishlist || !product) {\r\n return null;\r\n }\r\n\r\n const wishlistButton = renderAddtoWishlistButton(props, state, callbacks, product);\r\n return (\r\n \r\n {props.addToWishlist.errorBlock}\r\n {wishlistButton}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * RenderQuantity.\r\n * @param quantity - Quantity.\r\n * @param quantityLimitsMessages - QuantityLimitsMessages.\r\n * @param props - Props.\r\n * @returns -- Returns.\r\n */\r\nconst renderQuantity = (quantity: IBuyboxProductQuantityViewProps, quantityLimitsMessages: React.ReactNode, props: IQuickviewViewProps): JSX.Element => {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Quickview.tsx file\r\n const { ContainerProps, LabelContainerProps, heading, input, errors } = quantity;\r\n const { unitOfMeasure } = props;\r\n\r\n return (\r\n \r\n \r\n {heading}\r\n \r\n {input}\r\n {unitOfMeasure}\r\n {quantityLimitsMessages}\r\n {errors}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * KenderKeyInPrice.\r\n * @param keyInPrice - KeyInPrice.\r\n * @returns -- Returns.\r\n */\r\nconst renderKeyInPrice = (keyInPrice: IBuyboxKeyInPriceViewProps): JSX.Element => {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Quickview.tsx file\r\n const { ContainerProps, LabelContainerProps, heading, input } = keyInPrice;\r\n\r\n return (\r\n \r\n \r\n {heading}\r\n \r\n {input}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * RenderConfigureDropdown.\r\n * @param dropdown - Buybox product configure dropdown view props.\r\n * @returns -- Returns JSX.Element.\r\n */\r\nconst renderConfigureDropdown = (dropdown: IBuyboxProductConfigureDropdownViewProps): JSX.Element => {\r\n const { ContainerProps, LabelContainerProps, heading, errors, select } = dropdown;\r\n\r\n return (\r\n \r\n \r\n {heading}\r\n \r\n {select}\r\n {errors}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * RenderConfigure.\r\n * @param configure - Buybox product configure view props.\r\n * @returns -- Returns JSX.Element.\r\n */\r\nconst renderConfigure = (configure: IBuyboxProductConfigureViewProps): JSX.Element => {\r\n const { ContainerProps, dropdowns } = configure;\r\n\r\n return (\r\n \r\n {dropdowns.map(renderConfigureDropdown)}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * RenderBodyContent.\r\n * @param props - Props.\r\n * @returns -- Returns.\r\n */\r\nconst renderBodyContent = (props: IQuickviewViewProps & IQuickviewPropsExtend<{}>): JSX.Element => {\r\n const { price, keyInPrice, quantity, inventoryLabel, quantityLimitsMessages, loading,\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Quickview.tsx file\r\n ProductInfoContainerProps, MediaGalleryContainerProps, CarouselProps, addToWishlist, configure, callbacks, state } = props;\r\n if (loading) {\r\n return (\r\n <>\r\n {loading}\r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.resources.priceText}\r\n {price}\r\n \r\n {addToWishlist && renderAddToWishlist(props, state, callbacks)}\r\n \r\n {configure && renderConfigure(configure)}\r\n {keyInPrice && renderKeyInPrice(keyInPrice)}\r\n {quantity && renderQuantity(quantity, quantityLimitsMessages, props)}\r\n {inventoryLabel}\r\n \r\n \r\n );\r\n\r\n};\r\n\r\n/**\r\n * RenderQuickViewPopup.\r\n * @param props - Props.\r\n * @returns -- Returns.\r\n */\r\nconst renderQuickViewPopup = (props: IQuickviewViewProps & IQuickviewPropsExtend<{}>): JSX.Element => {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Quickview.tsx file\r\n const { ModalContainer, ModalHeaderContainer, ModalFooterContainer, ModalHeaderContent, ModalBodyContainer, addToCart,\r\n cartContainerProps, seeDetailsbutton } = props;\r\n\r\n return (\r\n \r\n \r\n {ModalHeaderContent}\r\n \r\n {props.title}\r\n {!props.loading && !StringExtensions.isNullOrEmpty(props.state.productPrice?.ItemId) ? \r\n {props.resources.skuText}\r\n {props.state.productPrice?.ItemId}\r\n : ''}\r\n {props.rating}\r\n \r\n \r\n \r\n {renderBodyContent(props)}\r\n \r\n \r\n \r\n {addToCart && seeDetailsbutton}\r\n {addToCart && renderAddToCart(addToCart)}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\n/**\r\n * Functional component which renders quick view button and popup based by the given props file.\r\n * @param props - Configuration for the quick view component.\r\n * @returns - Functional component of the quick view.\r\n */\r\nexport const QuickViewFunctionalComponent:\r\nReact.FC> = (props: IQuickviewViewProps & IQuickviewPropsExtend<{}>) => {\r\n const { quickView, quickViewButton, isModalOpen } = props;\r\n const quickViewUpdatedProps: IModuleProps = { ...quickView, title: props.resources.quickViewbuttonText };\r\n return (\r\n \r\n {quickViewButton}\r\n {isModalOpen && renderQuickViewPopup(props)}\r\n \r\n );\r\n};\r\n\r\nexport default QuickViewFunctionalComponent;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { RatingComponent } from '@msdyn365-commerce/components';\r\nimport { ICoreContext } from '@msdyn365-commerce/core';\r\nimport { IHistogramItemViewProps,\r\n IRatingsHistogramData,\r\n IRatingsHistogramViewProps } from '@msdyn365-commerce-modules/ratings-reviews';\r\nimport { format, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IRatingsHistogramProps, IRatingsHistogramResources } from '../definition-extensions/ratings-histogram.ext.props.autogenerated';\r\n\r\n/**\r\n * Histogram item.\r\n * @param props - Histogram Item ViewProps.\r\n * @returns Histogram Item node.\r\n */\r\nconst histogramItem = (props: IHistogramItemViewProps) => {\r\n return (\r\n \r\n {props.starLabel}\r\n {props.bar}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Average ratings.\r\n * @param data - Props data.\r\n * @param context - Histogram Item ViewProps.\r\n * @param typeName - Histogram Item ViewProps.\r\n * @param componentId - Histogram Item ViewProps.\r\n * @param resources - Module resource strings.\r\n * @returns Average ratings.\r\n */\r\nconst averageRating = (data: IRatingsHistogramData, context: ICoreContext, typeName: string, componentId: string, resources: IRatingsHistogramResources) => {\r\n const defaultAverageRating: number = 0;\r\n const reviewsCount = data.ratingsSummary.result?.reviewsCount ?? defaultAverageRating;\r\n const reviewsCountString = resources.numberOfReviewsString ? format(resources.numberOfReviewsString, reviewsCount) : `${reviewsCount} reviews`;\r\n\r\n return (\r\n
\r\n
\r\n {data.ratingsSummary.result?.averageRating}\r\n
\r\n
\r\n \r\n
\r\n
\r\n {reviewsCountString}\r\n
\r\n
\r\n );\r\n};\r\n\r\n/**\r\n * Histogram view.\r\n * @param props - Ratings HistogramV iewProps.\r\n * @returns Histogram view module.\r\n */\r\nconst RatingsHistogramView: React.FC> = props => {\r\n const { heading, histogramItems, histogramProps, moduleProps, data, resources } = props;\r\n const context = props.context;\r\n const typeName = props.typeName;\r\n const moduleId = props.id;\r\n\r\n return (\r\n \r\n {heading}\r\n
\r\n {averageRating(data, context, typeName, moduleId, resources)}\r\n \r\n {histogramItems.map(item => {\r\n return histogramItem(item);\r\n })}\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default RatingsHistogramView;\r\n","export enum SupersessionKey {\r\n SupersededId = 'superseded-from-id',\r\n SupersededName = 'superseded-from-name',\r\n Inventory = 'inventory'\r\n}\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport {\r\n AddToOrderTemplateComponent,\r\n IAddToOrderTemplateDialogResources,\r\n IDuplicateItemsWhenAddingToOrderTemplateDialogResources,\r\n IItemAddedToOrderTemplateDialogResources,\r\n IOrderTemplateActionErrorResult,\r\n IOrderTemplateNameDialogResources } from '@msdyn365-commerce/components';\r\nimport { SimpleProduct } from '@msdyn365-commerce/retail-proxy';\r\nimport {\r\n getConfigureErrors,\r\n IBuyboxCallbacks,\r\n IBuyboxCommonResources,\r\n IBuyboxData,\r\n IBuyboxState,\r\n IBuyboxViewProps } from '@msdyn365-commerce-modules/buybox';\r\nimport * as React from 'react';\r\n\r\nimport { IBuyboxProps as IBuyboxExtentionProps } from '../../definition-extensions/buybox.ext.props.autogenerated';\r\n\r\n/**\r\n * To generate AddToOrderTemplateDialog resources.\r\n * @param resources - The resources.\r\n * @returns -- Returns the list of AddToOrderTemplateDialog resources..\r\n */\r\nfunction generateAddToOrderTemplateDialogResources(resources: IBuyboxCommonResources): IAddToOrderTemplateDialogResources {\r\n return {\r\n addToOrderTemplateHeader: resources.addToOrderTemplateHeader,\r\n\r\n noOrderTemplatesMessage: resources.noOrderTemplatesMessage,\r\n noOrderTemplatesDescription: resources.noOrderTemplatesDescription,\r\n\r\n createAnOrderTemplateButtonText: resources.createAnOrderTemplateButtonText,\r\n createNewOrderTemplateButtonText: resources.createNewOrderTemplateButtonText,\r\n cancelOrderTemplateCreationButtonText: resources.cancelOrderTemplateCreationButtonText,\r\n\r\n selectTemplatesText: resources.selectTemplatesText,\r\n addToTemplateButtonText: resources.addToTemplateButtonText,\r\n lineItemsText: resources.lineItemsText\r\n };\r\n}\r\n\r\n/**\r\n * To generate OrderTemplateNameDialog resources.\r\n * @param resources - The resources.\r\n * @returns -- Returns the list of OrderTemplateNameDialog resources..\r\n */\r\nfunction generateOrderTemplateNameDialogResources(resources: IBuyboxCommonResources): IOrderTemplateNameDialogResources {\r\n return {\r\n orderTemplateHeaderLabel: resources.createOrderTemplateHeader,\r\n orderTemplateTitleLabel: resources.orderTemplateTitle,\r\n orderTemplateNameAriaLabel: resources.orderTemplateNameAriaLabel,\r\n orderTemplateDescription: resources.createOrderTemplateDescription,\r\n\r\n defaultOrderTemplateName: resources.defaultOrderTemplateName,\r\n\r\n orderTemplateButtonLabel: resources.createOrderTemplateButtonText,\r\n orderTemplateCancelButtonLabel: resources.cancelNewOrderTemplateCreationButtonText\r\n };\r\n}\r\n\r\n/**\r\n * To generate ItemAddedToOrderTemplateDialog resources.\r\n * @param resources - The resources.\r\n * @returns -- Returns the list of ItemAddedToOrderTemplateDialog resources..\r\n */\r\nfunction generateItemAddedToOrderTemplateDialogResources(resources: IBuyboxCommonResources): IItemAddedToOrderTemplateDialogResources {\r\n return {\r\n viewOrderTemplateButtonText: resources.viewOrderTemplateButtonText,\r\n continueShoppingButtonText: resources.continueShoppingButtonText,\r\n itemAddedToOrderTemplateHeaderItemOneText: resources.itemAddedToOrderTemplateHeaderItemOneText,\r\n itemAddedToOrderTemplateHeaderItemFormatText: resources.itemAddedToOrderTemplateHeaderItemFormatText,\r\n itemAddedToOrderTemplateHeaderMessageText: resources.itemAddedToOrderTemplateHeaderMessageText,\r\n freePriceText: resources.priceFree,\r\n originalPriceText: resources.originalPriceText,\r\n currentPriceText: resources.currentPriceText\r\n };\r\n}\r\n\r\n/**\r\n * To generate DuplicateItemsWhenAddingToOrderTemplateDialog resources.\r\n * @param resources - The resources.\r\n * @returns -- Returns the list of DuplicateItemsWhenAddingToOrderTemplateDialog resources..\r\n */\r\nfunction generateDuplicateItemsWhenAddingToOrderTemplateDialogResources(resources: IBuyboxCommonResources):\r\nIDuplicateItemsWhenAddingToOrderTemplateDialogResources {\r\n return {\r\n duplicatedProductsHeader: resources.duplicatedProductsHeader,\r\n duplicatedProductsDescription: resources.duplicatedProductsDescription,\r\n updateQuantityButtonText: resources.updateQuantityButtonText,\r\n cancelDuplicateItemsButtonText: resources.cancelDuplicateItemsButtonText\r\n };\r\n}\r\n\r\n/**\r\n * Add to wishlist failed function.\r\n * @param callbacks -Buybox callbacks.\r\n * @param resources -Buybox resources.\r\n * @param product -Simple product.\r\n * @returns Update error state.\r\n */\r\nconst onAddToOrderTemplateFailed = (callbacks: IBuyboxCallbacks,\r\n resources: IBuyboxCommonResources, product: SimpleProduct | undefined) => (result: IOrderTemplateActionErrorResult) => {\r\n callbacks.updateErrorState({\r\n errorHost: 'ORDER_TEMPLATE',\r\n configureErrors: result.status === 'MISSING_DIMENSION' ? getConfigureErrors(result.missingDimensions, resources, product?.IsGiftCard) : {}\r\n });\r\n};\r\n\r\n/**\r\n * RenderAddToOrderTemplateButton.\r\n * @param props - Buybox view props.\r\n * @param state - Buybox state.\r\n * @param callbacks - Buybox callbacks.\r\n * @param product - Product data.\r\n * @returns -- Returns JSX element.\r\n */\r\nexport const renderAddToOrderTemplateButton = (props: IBuyboxViewProps & IBuyboxExtentionProps,\r\n state: IBuyboxState, callbacks: IBuyboxCallbacks, product: SimpleProduct): React.ReactNode => {\r\n\r\n const {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\r\n id,\r\n typeName,\r\n context,\r\n data: {\r\n orderTemplates: { result: orderTemplates },\r\n customerInformation: { result: customerInformation }\r\n },\r\n resources\r\n } = props;\r\n\r\n const\r\n {\r\n quantity\r\n } = state;\r\n\r\n const isShowButtonText = true;\r\n\r\n return orderTemplates && (\r\n \r\n );\r\n};\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport {\r\n AddToWishlistComponent,\r\n IWishlistActionErrorResult\r\n} from \"@msdyn365-commerce/components\";\r\nimport { CommerceProperty, format, ItemAvailability, SimpleProduct } from \"@msdyn365-commerce/retail-proxy\";\r\nimport { IStoreInfo } from \"@msdyn365-commerce-modules/bopis-utilities\";\r\nimport {\r\n getConfigureErrors,\r\n IBuyboxAddToCartViewProps,\r\n IBuyboxCallbacks,\r\n IBuyboxCommonResources,\r\n IBuyboxData,\r\n IBuyboxFindInStoreViewProps,\r\n IBuyboxKeyInPriceViewProps,\r\n IBuyboxProductConfigureDropdownViewProps,\r\n IBuyboxProductConfigureViewProps,\r\n IBuyboxProductQuantityViewProps,\r\n IBuyboxResources as IBuyboxExtentionResources,\r\n IBuyboxShopSimilarLookViewProps,\r\n IBuyboxState,\r\n IBuyboxViewProps\r\n} from \"@msdyn365-commerce-modules/buybox\";\r\nimport {\r\n ArrayExtensions, getFullAvailableInventoryNearby, GetFullAvailableInventoryNearbyInput,\r\n IFullOrgUnitAvailability\r\n} from \"@msdyn365-commerce-modules/retail-actions\";\r\nimport { IncrementalQuantity, INodeProps, ITelemetryContent, Module, Node } from \"@msdyn365-commerce-modules/utilities\";\r\nimport { reaction } from \"mobx\";\r\nimport * as React from \"react\";\r\n\r\nimport {\r\n IBuyboxProps as IBuyboxExtentionProps,\r\n IBuyboxProps\r\n} from \"../definition-extensions/buybox.ext.props.autogenerated\";\r\nimport { renderAddToOrderTemplateButton } from \"./components/buybox-add-to-order-template\";\r\nimport { SupersessionKey } from \"../models/SupersessionKey\";\r\nimport { CommercePropertyValueEnum } from \"../../../modules/allowable-freight/utils/CommercePropertyValueEnum\";\r\nimport GetProductEligibilityAction, {\r\n GetProductEligibilityInput\r\n} from \"../../../actions/get-product-eligibility.action\";\r\nimport { IBuyBoxDataExtended } from \"../definition-extensions/buybox.data\";\r\nimport { RichTextComponent } from \"@msdyn365-commerce/core\";\r\n\r\n\r\n/**\r\n * BuyBoxConstants enum.\r\n */\r\nexport enum BuyBoxConstants {\r\n zero = 0\r\n}\r\n\r\ninterface EligibleItem {\r\n ItemId: string;\r\n IsEligible: boolean;\r\n}\r\n\r\n\r\n/**\r\n * On Change function.\r\n * @param callbacks -Callbacks.\r\n * @returns Update quantity.\r\n */\r\nconst onChangeHandler = (callbacks: IBuyboxCallbacks) => (newValue: number): boolean => {\r\n if (callbacks.updateQuantity) {\r\n return callbacks.updateQuantity(newValue);\r\n }\r\n return true;\r\n};\r\n\r\nconst _renderLoginURL = (url?: string, text?: string): JSX.Element => {\r\n return (\r\n

\r\n {text}\r\n

\r\n );\r\n};\r\n\r\n\r\n/**\r\n * RenderQuantity.\r\n * @param quantityComponent - QuantityComponent.\r\n * @param callbacks - Callbacks.\r\n * @param props - Props.\r\n * @param state - State.\r\n * @param extentionResources - ExtentionResources.\r\n * @param quantityLimitsMessages - QuantityLimitsMessages.\r\n * @param max - Max.\r\n * @param telemetryContent - TelemetryContent.\r\n * @param unitOfMeasure - Unit Of Measure.\r\n * @returns -- Returns.\r\n */\r\nconst renderQuantity = (\r\n quantityComponent: IBuyboxProductQuantityViewProps,\r\n callbacks: IBuyboxCallbacks,\r\n props: IBuyboxProps,\r\n state: IBuyboxState,\r\n extentionResources: IBuyboxExtentionResources,\r\n quantityLimitsMessages: React.ReactNode,\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Buybox.tsx file\r\n max: number | undefined,\r\n telemetryContent?: ITelemetryContent,\r\n unitOfMeasure?: React.ReactNode): JSX.Element => {\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Buybox.tsx file\r\n const { ContainerProps, LabelContainerProps, heading, errors } = quantityComponent;\r\n\r\n\r\n const {\r\n resources\r\n } = props;\r\n\r\n const\r\n {\r\n quantity\r\n } = state;\r\n\r\n return (\r\n \r\n \r\n {heading}\r\n {errors}\r\n \r\n\r\n \r\n {unitOfMeasure}\r\n {quantityLimitsMessages}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render key in price function.\r\n * @param keyInPrice - KeyInPrice.\r\n * @returns -- Returns.\r\n */\r\nconst renderKeyInPrice = (keyInPrice: IBuyboxKeyInPriceViewProps): JSX.Element => {\r\n const { ContainerProps, LabelContainerProps, heading, input } = keyInPrice;\r\n\r\n return (\r\n \r\n \r\n {heading}\r\n \r\n {input}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * RenderAddToCart.\r\n * @param addToCart - AddToCart.\r\n * @returns -- Returns.\r\n */\r\n// const renderAddToCart = (addToCart: IBuyboxAddToCartViewProps, eligbility: EligibleItem, eligibilityText: string): JSX.Element => {\r\nconst renderAddToCart = (addToCart: IBuyboxAddToCartViewProps, eligbility: EligibleItem, isProductAvailable: boolean): JSX.Element => {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Buybox.tsx file\r\n const { ContainerProps, errorBlock, button } = addToCart;\r\n return (\r\n \r\n {errorBlock}\r\n {eligbility?.IsEligible && isProductAvailable ? button : ''}\r\n {/* {eligbility?.IsEligible ? button : eligbility?.ItemId ? eligibilityText : ''} */}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * RenderFindInStore.\r\n * @param findInStore - FindInStore.\r\n * @returns -- Returns.\r\n */\r\nconst renderFindInStore = (findInStore: IBuyboxFindInStoreViewProps): JSX.Element => {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Buybox.tsx file\r\n const {\r\n ContainerProps,\r\n storeSelector,\r\n heading,\r\n description,\r\n errors,\r\n button,\r\n modal,\r\n productPickupOptionList\r\n } = findInStore;\r\n\r\n return (\r\n \r\n {storeSelector}\r\n {heading}\r\n {productPickupOptionList}\r\n {description}\r\n {errors}\r\n {button}\r\n {modal}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * RenderAddToOrderTemplate.\r\n * @param props - Buybox view props.\r\n * @param state - Buybox state.\r\n * @param callbacks - Buybox callbacks.\r\n * @returns -- Returns.\r\n */\r\nconst renderAddToOrderTemplate = (props: IBuyboxViewProps & IBuyboxExtentionProps,\r\n state: IBuyboxState, callbacks: IBuyboxCallbacks): JSX.Element | null => {\r\n const product = props.data.product.result;\r\n if (!props.addToOrderTemplate || !product) {\r\n return null;\r\n }\r\n\r\n const orderTemplateButton = renderAddToOrderTemplateButton(props, state, callbacks, product);\r\n\r\n return (\r\n \r\n {props.addToOrderTemplate.errorBlock}\r\n {orderTemplateButton}\r\n \r\n );\r\n};\r\n\r\n\r\n/**\r\n * Add to wishlist failed function.\r\n * @param callbacks -Buybox callbacks.\r\n * @param resources -Buybox resources.\r\n * @param product -Simple product.\r\n * @returns Update error state.\r\n */\r\nconst onAddToWishlistFailed = (callbacks: IBuyboxCallbacks,\r\n resources: IBuyboxCommonResources, product: SimpleProduct | undefined) => (result: IWishlistActionErrorResult) => {\r\n callbacks.updateErrorState({\r\n errorHost: \"WISHLIST\",\r\n configureErrors: result.status === \"MISSINGDIMENSION\" ? getConfigureErrors(result.missingDimensions, resources, product?.IsGiftCard) : {}\r\n });\r\n };\r\n\r\n/**\r\n * RenderAddToWishlist.\r\n * @param props - Buybox view props.\r\n * @param state - Buybox state.\r\n * @param callbacks - Buybox callbacks.\r\n * @param product - Product data.\r\n * @returns -- Returns.\r\n */\r\nconst renderAddtoWishlistButton = (props: IBuyboxViewProps & IBuyboxExtentionProps,\r\n state: IBuyboxState, callbacks: IBuyboxCallbacks, product: SimpleProduct): React.ReactNode => {\r\n const { context, resources } = props;\r\n const wishlists = props.data.wishlists.result;\r\n const isShowWishlitButtonText = true;\r\n return (\r\n \r\n );\r\n};\r\n\r\n/**\r\n * RenderAddToWishlist.\r\n * @param props - Buybox viewprops.\r\n * @param state - Buybox state.\r\n * @param callbacks - Buybox callbacks.\r\n * @returns -- Returns.\r\n */\r\nconst renderAddToWishlist = (props: IBuyboxViewProps & IBuyboxExtentionProps,\r\n state: IBuyboxState, callbacks: IBuyboxCallbacks): JSX.Element | null => {\r\n const product = props.data.product.result;\r\n if (!props.addToWishlist || !product) {\r\n return null;\r\n }\r\n\r\n const wishlistButton = renderAddtoWishlistButton(props, state, callbacks, product);\r\n return (\r\n \r\n {props.addToWishlist.errorBlock}\r\n {wishlistButton}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * RRenderShopSimilarItem.\r\n * @param shopSimilarItem - ShopSimilarItem.\r\n * @returns -- Returns.\r\n */\r\nconst renderShopSimilarItem = (shopSimilarItem: IBuyboxShopSimilarLookViewProps): JSX.Element => {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Buybox.tsx file\r\n const { ContainerProps, errors, input } = shopSimilarItem;\r\n\r\n return (\r\n \r\n {errors}\r\n {input}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * RenderSocialShare.\r\n * @param socialShare - Social share react node array.\r\n * @returns -- Returns.\r\n */\r\nconst _renderSocialShare = (socialShare: React.ReactNode[]): JSX.Element | undefined => {\r\n if (!socialShare || socialShare.length === 0) {\r\n return undefined;\r\n }\r\n\r\n return (\r\n <>\r\n {socialShare[0]}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * RenderConfigureDropdown.\r\n * @param dropdown - Buybox product configure dropdown view props.\r\n * @returns -- Returns JSX.Element.\r\n */\r\nconst renderConfigureDropdown = (dropdown: IBuyboxProductConfigureDropdownViewProps): JSX.Element => {\r\n const { ContainerProps, LabelContainerProps, heading, errors, select } = dropdown;\r\n\r\n return (\r\n \r\n \r\n {heading}\r\n \r\n {select}\r\n {errors}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * RenderConfigure.\r\n * @param configure - Buybox product configure view props.\r\n * @returns -- Returns JSX.Element.\r\n */\r\nconst renderConfigure = (configure: IBuyboxProductConfigureViewProps): JSX.Element => {\r\n const { ContainerProps, dropdowns } = configure;\r\n\r\n return (\r\n \r\n {dropdowns.map(renderConfigureDropdown)}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * BuyboxView.\r\n * @param props - Props.\r\n * @returns -- Returns.\r\n */\r\nconst BuyboxView: React.FC> = props => {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Buybox.tsx file\r\n const {\r\n ModuleProps,\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Buybox.tsx file\r\n MediaGalleryContainerProps,\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Buybox.tsx file\r\n ProductInfoContainerProps,\r\n addToCart,\r\n addToOrderTemplate,\r\n addToWishlist,\r\n configure,\r\n // description,\r\n findInStore,\r\n quantity,\r\n price,\r\n title,\r\n rating,\r\n // inventoryLabel,\r\n shopSimilarLook,\r\n keyInPrice,\r\n shopSimilarDescription,\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Buybox.tsx file\r\n max,\r\n unitOfMeasure,\r\n callbacks,\r\n state,\r\n resources,\r\n resources: {\r\n loginToViewPricing,\r\n supersessionLabel,\r\n productEligibilityText\r\n },\r\n data: {\r\n product,\r\n enhancedDescription\r\n },\r\n quantityLimitsMessages,\r\n telemetryContent,\r\n config: {\r\n onlyShowPriceWhenAuthenticated,\r\n enableShopSimilarDescription,\r\n enableShopSimilarLooks\r\n },\r\n context: {\r\n request: {\r\n user: { signInUrl, isAuthenticated }\r\n }\r\n },\r\n app: {\r\n config: appConfig\r\n }\r\n } = props;\r\n let skuText: string = props.resources.skuText;\r\n skuText += props.data.product.result?.ItemId;\r\n const preferredStoreInfo: IStoreInfo | undefined = props.data.storeSelectorStateManager.result?.preferredStore;\r\n const preferredStoreId = preferredStoreInfo?.StoreId ? preferredStoreInfo.StoreId : \"\";\r\n const preferredStoreName = preferredStoreInfo?.StoreName ? preferredStoreInfo.StoreName : \"\";\r\n\r\n const [availability, setAvailability] = React.useState(\"\");\r\n const [isStoreChange, setIsStoreChange] = React.useState(false);\r\n\r\n const shouldShowShopOptions = enableShopSimilarDescription || enableShopSimilarLooks;\r\n\r\n const [eligbility, setEligbility] = React.useState();\r\n const [isProductAvailable, setIsProductAvailable] = React.useState(false);\r\n\r\n const getProductEligibility = async (): Promise => {\r\n\r\n const itemId = (await product).ItemId;\r\n\r\n if (!itemId) {\r\n return;\r\n }\r\n const cart = props.data.cart;\r\n const input = new GetProductEligibilityInput([itemId], false, cart?.result?.cart?.Id || '', null, null, null);\r\n const eligibilityData = await GetProductEligibilityAction(input, props.context.actionContext);\r\n\r\n eligibilityData.forEach((i: any) => {\r\n const id = getExtensionPropertyValueByKey(i.ExtensionProperties, \"ItemId\", CommercePropertyValueEnum.string);\r\n if (String(id) === itemId) {\r\n const item: EligibleItem = {\r\n ItemId: String(id),\r\n IsEligible: i.IsEligible\r\n }\r\n setEligbility(item);\r\n getProductAvailability();\r\n }\r\n });\r\n }\r\n\r\n React.useEffect(() => {\r\n if (isAuthenticated) {\r\n void getProductEligibility();\r\n }\r\n }, [props.data]);\r\n\r\n const getProductAvailability = (): void => {\r\n const availableQuantities = props.data.productAvailableQuantity.result;\r\n let isStockAvailable = false\r\n\r\n if (availableQuantities && availableQuantities.length > 0) {\r\n isStockAvailable = availableQuantities[0].IsProductAvailable;\r\n }\r\n setIsProductAvailable(isStockAvailable);\r\n }\r\n\r\n /**\r\n * GetStockInventoryLabel.\r\n * @param availabilityWithHours - Stock availability with hours.\r\n * @returns -- Returns.\r\n */\r\n const getStockInventoryLabel = (availabilityWithHours: IFullOrgUnitAvailability | undefined): string | undefined => {\r\n\r\n if (availabilityWithHours && ArrayExtensions.hasElements(availabilityWithHours.ProductInventoryInformation)) {\r\n for (const productInventoryInformation of availabilityWithHours.ProductInventoryInformation) {\r\n if (availabilityWithHours.OrgUnitAvailability?.OrgUnitLocation?.InventoryLocationId ===\r\n productInventoryInformation.InventLocationId) {\r\n return productInventoryInformation.StockLevelLabel;\r\n }\r\n }\r\n }\r\n\r\n return undefined;\r\n };\r\n\r\n const getInventory = React.useCallback(async () => {\r\n const input = new GetFullAvailableInventoryNearbyInput(props.data.product.result?.RecordId, BuyBoxConstants.zero,\r\n BuyBoxConstants.zero, BuyBoxConstants.zero, BuyBoxConstants.zero, true);\r\n\r\n /**\r\n * IsProductInStock.\r\n * @param itemAvailabilities - Item availability array.\r\n * @returns -- Returns.\r\n */\r\n const isProductInStock = (itemAvailabilities: ItemAvailability[] | undefined): boolean => {\r\n if (!appConfig.enableStockCheck) {\r\n return true;\r\n }\r\n\r\n if (ArrayExtensions.hasElements(itemAvailabilities)) {\r\n return itemAvailabilities[BuyBoxConstants.zero].AvailableQuantity! > BuyBoxConstants.zero;\r\n }\r\n\r\n return false;\r\n };\r\n\r\n await getFullAvailableInventoryNearby(input, props.context.actionContext).catch((error: Error) => {\r\n props.telemetry.error(error.message);\r\n }).then(response => {\r\n if (response && ArrayExtensions.hasElements(response)) {\r\n const isPreferredStore = (value: IFullOrgUnitAvailability) => value.OrgUnitAvailability?.OrgUnitLocation?.OrgUnitNumber === preferredStoreId;\r\n const filteredFullOrgUnitAvailability = response.filter(isPreferredStore);\r\n const preferredStoreAvailability = ArrayExtensions.hasElements(filteredFullOrgUnitAvailability) ? (\r\n filteredFullOrgUnitAvailability[BuyBoxConstants.zero]) : undefined;\r\n const stockStatusLabel: string | undefined = getStockInventoryLabel(preferredStoreAvailability);\r\n const isInStock = isProductInStock(preferredStoreAvailability?.OrgUnitAvailability?.ItemAvailabilities);\r\n const resourceLabel = isInStock ? props.resources.inStockText : props.resources.outOfStockText;\r\n const stockText: string | undefined = stockStatusLabel ? stockStatusLabel : resourceLabel;\r\n const preferredStoreAvailabilityText = `${format(props.resources.availabilityAtPreferredStoreText, preferredStoreName)} ${stockText}`;\r\n setAvailability(preferredStoreAvailabilityText);\r\n }\r\n });\r\n\r\n setIsStoreChange(false);\r\n }, [\r\n props.data.product.result?.RecordId, appConfig.enableStockCheck, preferredStoreId, preferredStoreName, props.context.actionContext,\r\n props.resources.availabilityAtPreferredStoreText, props.resources.inStockText, props.resources.outOfStockText, props.telemetry\r\n ]);\r\n\r\n React.useEffect(() => {\r\n if (props.config.displayStockAvailability) {\r\n getInventory().catch((error: Error) => {\r\n props.telemetry.error(error.message);\r\n });\r\n }\r\n }, [getInventory, isStoreChange, props.telemetry, props.config.displayStockAvailability]);\r\n\r\n reaction(\r\n () => props.data.storeSelectorStateManager.result?.selectedStoreLocationId,\r\n () => {\r\n setIsStoreChange(true);\r\n }\r\n );\r\n\r\n const _renderSupersessionData = () => {\r\n const productExtensionProperties = product.result?.ExtensionProperties;\r\n let supersededName: string | undefined;\r\n let supersededId: string | undefined;\r\n if (productExtensionProperties) {\r\n productExtensionProperties.forEach(ep => {\r\n const key = ep.Key || '';\r\n\r\n switch (key) {\r\n case SupersessionKey.SupersededName:\r\n supersededName = ep.Value?.StringValue;\r\n\r\n if (supersededName && supersededName === product.result?.Name) {\r\n supersededName = undefined;\r\n }\r\n break;\r\n case SupersessionKey.SupersededId:\r\n supersededId = ep.Value?.StringValue;\r\n if (supersededId && supersededId === product.result?.ItemId) {\r\n supersededId = undefined;\r\n }\r\n break;\r\n }\r\n })\r\n }\r\n\r\n if (!supersededName && !supersededId) {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n

{supersessionLabel} {supersededName} ({supersededId})

\r\n
\r\n )\r\n }\r\n\r\n /**\r\n * RenderAvailabiltyAtPreferredStore.\r\n * @returns -- Returns.\r\n */\r\n const renderAvailabilityAtPreferredStore = (): JSX.Element | undefined => {\r\n const hasProductDimensions = ArrayExtensions.hasElements(props.data.product.result?.Dimensions);\r\n if (hasProductDimensions && props.data.product.result?.MasterProductId === undefined) {\r\n return undefined;\r\n }\r\n\r\n const containerProps: INodeProps = {\r\n className: \"ms-buybox__preferred-store-availability\",\r\n tag: \"span\"\r\n };\r\n\r\n return (\r\n \r\n {availability}\r\n \r\n );\r\n };\r\n\r\n const getBuyBoxInventoryLabel = (): React.ReactNode | React.ReactElement | undefined => {\r\n const product = props.data.product.result;\r\n const availableQuantities = props.data.productAvailableQuantity.result;\r\n if (!product && !availableQuantities) {\r\n return undefined;\r\n }\r\n const className = 'ms-buybox';\r\n let stockLevelLabel = '';\r\n let inventoryClassName: string = `${className}__inventory-label`;\r\n if (!eligbility?.IsEligible) {\r\n stockLevelLabel = productEligibilityText;\r\n }\r\n // } else if (isProductAvailable) {\r\n // stockLevelLabel = resources.availableLabelText;\r\n // } else {\r\n // stockLevelLabel = resources.outOfStockLabelText;\r\n // }\r\n return (\r\n eligbility?.IsEligible ? props.inventoryLabel : (\r\n
\r\n \r\n {stockLevelLabel}\r\n \r\n
\r\n )\r\n );\r\n }\r\n\r\n\r\n // No quantity selector if cart has course\r\n let cart = props.data.cart.result;\r\n let cartLines = cart?.cart.CartLines\r\n let hasCourse = false;\r\n let hasInvoice = cart?.hasInvoiceLine;\r\n cartLines?.forEach(c => {\r\n const courseId = getExtensionPropertyValueByKey(c.ExtensionProperties, \"CourseId\", CommercePropertyValueEnum.string);\r\n if (courseId) {\r\n hasCourse = true;\r\n }\r\n });\r\n let hasCourseErr =
{props.resources.courseErr}
;\r\n let invoiceErr =
{props.resources.invoiceErr}
;\r\n return (\r\n \r\n \r\n {props.mediaGallery}\r\n \r\n \r\n {title}\r\n\r\n\r\n \r\n
\r\n {skuText}\r\n
\r\n {_renderSupersessionData()}\r\n {rating}\r\n
\r\n {(isAuthenticated || !onlyShowPriceWhenAuthenticated) ? (\r\n \r\n
\r\n {props.resources.priceText}\r\n
\r\n {price}\r\n
\r\n ) : _renderLoginURL(signInUrl, loginToViewPricing)}\r\n\r\n {configure && renderConfigure(configure)}\r\n {hasCourse && hasCourseErr}\r\n {hasInvoice && invoiceErr}\r\n {keyInPrice && renderKeyInPrice(keyInPrice)}\r\n\r\n \r\n
\r\n {quantity && !hasCourse && !hasInvoice && renderQuantity(quantity, callbacks, props, state, resources, quantityLimitsMessages, max, telemetryContent, unitOfMeasure)}\r\n {props.bulkPurchaseLink}\r\n
\r\n
\r\n {props.config.displayStockAvailability && preferredStoreId && renderAvailabilityAtPreferredStore()}\r\n {/* {inventoryLabel} */}\r\n {getBuyBoxInventoryLabel()}\r\n {!hasCourse && !hasInvoice && eligbility && renderAddToCart(addToCart, eligbility, isProductAvailable)}\r\n {findInStore && renderFindInStore(findInStore)}\r\n {addToWishlist && renderAddToWishlist(props, state, callbacks)}\r\n {addToOrderTemplate && renderAddToOrderTemplate(props, state, callbacks)}\r\n {findInStore?.productPickupOptionList ?
\r\n {findInStore.productPickupOptionList}\r\n
: null}\r\n {_renderSocialShare(props.slots && props.slots.socialShare)}\r\n {shouldShowShopOptions ? (\r\n \r\n
\r\n {props.resources.shopText}\r\n
\r\n \r\n {shopSimilarLook && renderShopSimilarItem(shopSimilarLook)}\r\n {shopSimilarDescription && renderShopSimilarItem(shopSimilarDescription)}\r\n \r\n
\r\n ) : null}\r\n\r\n \r\n
\r\n {props.resources.descriptionText}\r\n
\r\n {/* 6704 - Remove the original desription and replace with the enhanced description */}\r\n {/* {description} */}\r\n \r\n
\r\n {ArrayExtensions.hasElements(props.slots.productSpecification) ?\r\n \r\n {props.slots.productSpecification[0]}\r\n : null}\r\n
\r\n
\r\n );\r\n};\r\n\r\n\r\nconst getExtensionPropertyValueByKey = (\r\n properties: CommerceProperty[] | undefined,\r\n key: string,\r\n valueType: CommercePropertyValueEnum\r\n) => {\r\n const property = properties?.find(p => p.Key === key)?.Value;\r\n\r\n // eslint-disable-next-line security/detect-object-injection\r\n const val = property ? property[valueType] : null;\r\n return val;\r\n};\r\n\r\nexport default BuyboxView;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport MsDyn365, { getUrlSync } from \"@msdyn365-commerce/core\";\r\nimport { IHeaderViewProps, Logo } from '@msdyn365-commerce-modules/header';\r\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\nimport { get } from 'lodash';\r\n\r\nimport { IHeaderProps } from '../definition-extensions/header.ext.props.autogenerated';\r\n\r\n\r\n/**\r\n * GridSizes.\r\n */\r\nexport type GridSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\r\n\r\n/**\r\n *\r\n * HeaderView component.\r\n * @extends {React.PureComponent}\r\n */\r\nexport class HeaderView extends React.PureComponent> {\r\n private readonly menuNode: React.RefObject;\r\n public constructor(props: IHeaderViewProps & IHeaderProps<{}>) {\r\n\r\n super(props);\r\n this.menuNode = React.createRef();\r\n }\r\n\r\n public componentDidMount(): void {\r\n if (this.props.config.useStickyHeader) {\r\n // Set header update methods to trigger on scroll\r\n if (MsDyn365.isBrowser) {\r\n window.addEventListener('scroll', () => {\r\n this._configureStickyHeader();\r\n });\r\n }\r\n this._configureStickyHeader();\r\n }\r\n this.handleLoginRedirect();\r\n }\r\n\r\n private handleLoginRedirect() {\r\n const { context : {\r\n actionContext,\r\n request: {\r\n user: {\r\n isAuthenticated,\r\n isOBORequest\r\n }\r\n }\r\n }} = this.props;\r\n const isHomePage = actionContext.requestContext.url.requestUrl.pathname === '/';\r\n const customer = this.props.data.accountInformation?.result;\r\n if (isAuthenticated) {\r\n if (isHomePage) {\r\n if (isOBORequest && !customer) {\r\n window.location.href = getUrlSync('businesses', this.props.context.actionContext) || '/businesses';\r\n } else {\r\n window.location.href = getUrlSync('account', this.props.context.actionContext) || '/myaccount';\r\n }\r\n } else {\r\n const accountUrl = getUrlSync('account', this.props.context.actionContext);\r\n const logoAnchorTag = document.querySelector('.ms-header__logo>a');\r\n if (logoAnchorTag && accountUrl) {\r\n logoAnchorTag.href = accountUrl;\r\n }\r\n }\r\n }\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Cannot change the prop names as props are from business logic.\r\n const { HeaderTag, HeaderContainer, HeaderTopBarContainer, Divider, MobileMenuContainer, MobileMenuBodyContainer, MobileMenuLinksContainer\r\n , config: { showQuickOrderLink, showPhoneNumber, phoneNumber }\r\n } = this.props;\r\n const quickOrderUrl = getUrlSync('quickorder', this.props.context.actionContext);\r\n return (\r\n \r\n \r\n \r\n\r\n
\r\n {this.props.navIcon}\r\n
\r\n
\r\n {this.props.logo}\r\n {showPhoneNumber == \"yes\" && phoneNumber ? this._renderPhoneNumber(this.props) : null}\r\n
\r\n
\r\n
\r\n {this._renderReactFragment(this.props.menuBar)}\r\n
\r\n {this._renderMobileLogo()}\r\n {this._renderReactFragment(this.props.search)}\r\n {this.props.preferredStore}\r\n {this._renderAccountBlock(this.props)}\r\n \r\n {showQuickOrderLink ? this._renderQuickViewIcon(quickOrderUrl || '#') : null}\r\n {this.props.cartIcon}\r\n {this._renderReactFragment(this.props.siteOptions)}\r\n
\r\n\r\n
\r\n \r\n \r\n { this.props.MobileMenuHeader }\r\n {this._renderReactFragment(this.props.menuBar)}\r\n \r\n { this.props.accountLinks ? this.props.accountLinks.map(link => link) : false }\r\n { this.props.siteOptions }\r\n { this.props.wishListIconMobile }\r\n { this.props.signInLink }\r\n { this.props.signOutLink }\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n /**\r\n * Function to render phone number beside the logo.\r\n * @param props - IHeaderProps.\r\n * @returns Returns JSX.Element | null.\r\n */\r\n private _renderPhoneNumber(props: IHeaderProps<{}>): JSX.Element | null {\r\n const { config: { phoneNumber } } = props;\r\n const telephoneLink: string = `tel:+1-${phoneNumber}`;\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _renderQuickViewIcon = (quickOrderLink: string) => (\r\n \r\n )\r\n\r\n /**\r\n * Function to update header.\r\n */\r\n private readonly _configureStickyHeader = (): void => {\r\n // Get heights of cookie and promotion banners\r\n const defaultValue = 0;\r\n const headerAlertsContainer: HTMLElement | null = document.querySelector('.ms-promo-banner');\r\n const bannerHeights = headerAlertsContainer ? headerAlertsContainer.offsetHeight : defaultValue;\r\n\r\n // Triggers opacity change of header\r\n const headerElement = document.querySelector('header .default-container');\r\n if (headerElement) {\r\n if (MsDyn365.isBrowser && document.documentElement.scrollTop > defaultValue) {\r\n headerElement.classList.add('lock-opaque');\r\n headerElement.classList.add('fixed');\r\n } else {\r\n headerElement.classList.remove('lock-opaque');\r\n headerElement.classList.remove('fixed');\r\n }\r\n }\r\n\r\n // Update sticky header position and opacity\r\n const stickyHeader: HTMLElement | null = document.querySelector('.desktop-navicon-container');\r\n const headerLogo: HTMLElement | null = document.querySelector('.ms-header__logo');\r\n\r\n if (stickyHeader && headerLogo) {\r\n // Fix center sticky header\r\n const navStickyPos = headerLogo.offsetHeight + bannerHeights;\r\n if (MsDyn365.isBrowser && document.documentElement.scrollTop > navStickyPos) {\r\n stickyHeader.classList.add('fixed');\r\n } else {\r\n stickyHeader.classList.remove('fixed');\r\n }\r\n }\r\n };\r\n\r\n private _renderMobileLogo(): JSX.Element | null {\r\n const { config, context, typeName } = this.props;\r\n return (\r\n \r\n );\r\n }\r\n\r\n /**\r\n * Function to render account block.\r\n * @param props - IHeaderViewProps.\r\n * @returns Returns JSX.Element | null.\r\n */\r\n private readonly _renderAccountBlock = (props: IHeaderViewProps): JSX.Element | null => {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Cannot change the prop names as props are from business logic.\r\n const { AccountInfoDropdownParentContainer, AccountInfoDropdownPopoverConentContainer,\r\n accountInfoDropdownButton,\r\n signOutLink,\r\n signInLink,\r\n accountLinks,\r\n context: { request: { user : { isOBORequest }} }\r\n } = props;\r\n if (AccountInfoDropdownParentContainer) {\r\n const changeUserSlug = 'Change User'; // Change user page\r\n let accountLinksFiltered: React.ReactNode[] = [];\r\n if (isOBORequest) { // If we're mocking a user, show the change user button, if we are not, remove it before render.\r\n accountLinksFiltered = accountLinks || [];\r\n } else if (accountLinks) {\r\n accountLinks.forEach(node => {\r\n const linkUrl = get(node, 'props.link.linkText');\r\n if (linkUrl && (linkUrl as string) !== changeUserSlug) {\r\n accountLinksFiltered.push(node);\r\n }\r\n })\r\n }\r\n const accountClassName = classnames(AccountInfoDropdownParentContainer.className, 'account-desktop');\r\n if (AccountInfoDropdownPopoverConentContainer) {\r\n return (\r\n \r\n {accountInfoDropdownButton}\r\n \r\n { accountLinksFiltered.map((link: React.ReactNode) => link) }\r\n {signOutLink}\r\n \r\n \r\n );\r\n } else if (signInLink) {\r\n return (\r\n \r\n {signInLink}\r\n \r\n );\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Function to render react fragment.\r\n * @param items - React nodes.\r\n * @returns Returns JSX.Element | null.\r\n */\r\n private readonly _renderReactFragment = (items: React.ReactNode[]): JSX.Element | null => {\r\n return (\r\n <>\r\n {ArrayExtensions.hasElements(items) ? items.map((slot: React.ReactNode) => {\r\n return (<>\r\n {slot}\r\n );\r\n }) : null}\r\n \r\n );\r\n };\r\n}\r\n\r\nexport default HeaderView;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { AddToWishlistComponent, IWishlistActionErrorResult } from '@msdyn365-commerce/components';\r\nimport { SimpleProduct } from '@msdyn365-commerce/retail-proxy';\r\nimport { getConfigureErrors, IBuyboxAddToCartViewProps,\r\n IBuyboxCallbacks,\r\n IBuyboxCommonResources,\r\n IBuyboxKeyInPriceViewProps,\r\n IBuyboxProductConfigureDropdownViewProps,\r\n IBuyboxProductConfigureViewProps,\r\n IBuyboxProductQuantityViewProps,\r\n IBuyboxState,\r\n IQuickviewViewProps } from '@msdyn365-commerce-modules/buybox';\r\nimport { StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { IModuleProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IQuickviewProps as IQuickviewPropsExtend } from '../definition-extensions/quickview.ext.props.autogenerated';\r\n\r\n/**\r\n * RenderAddToCart.\r\n * @param addToCart - AddToCart.\r\n * @returns -- Returns.\r\n */\r\nconst renderAddToCart = (addToCart: IBuyboxAddToCartViewProps): JSX.Element => {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Quickview.tsx file\r\n const { ContainerProps, errorBlock, button } = addToCart;\r\n\r\n return (\r\n \r\n {errorBlock}\r\n {button}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Add to wishlist failed function.\r\n * @param callbacks -Buybox callbacks.\r\n * @param resources -Buybox resources.\r\n * @param product -Simple product.\r\n * @returns Update error state.\r\n */\r\nconst onAddToWishlistFailed = (callbacks: IBuyboxCallbacks | undefined,\r\n resources: IBuyboxCommonResources, product: SimpleProduct | undefined) => (result: IWishlistActionErrorResult) => {\r\n callbacks?.updateErrorState({\r\n errorHost: 'WISHLIST',\r\n configureErrors: result.status === 'MISSINGDIMENSION' ? getConfigureErrors(result.missingDimensions, resources, product?.IsGiftCard) : {}\r\n });\r\n};\r\n\r\n/**\r\n * RenderAddToWishlist.\r\n * @param props - Buybox viewprops.\r\n * @param state - Buybox state.\r\n * @param callbacks - Buybox callbacks.\r\n * @param product - Product data.\r\n * @returns -- Returns.\r\n */\r\nconst renderAddtoWishlistButton = (props: IQuickviewViewProps,\r\n state: IBuyboxState, callbacks: IBuyboxCallbacks | undefined, product: SimpleProduct): React.ReactNode => {\r\n const { context, resources } = props;\r\n const wishlists = props.data.wishlists.result;\r\n const isShowWishlitButtonText = true;\r\n return (\r\n \r\n );\r\n};\r\n\r\n/**\r\n * RenderAddToWishlist.\r\n * @param props - Buybox viewprops.\r\n * @param state - Buybox state.\r\n * @param callbacks - Buybox callbacks.\r\n * @returns -- Returns.\r\n */\r\nconst renderAddToWishlist = (props: IQuickviewViewProps,\r\n state: IBuyboxState, callbacks: IBuyboxCallbacks | undefined): JSX.Element | null => {\r\n const product = props.productDetails?.product;\r\n if (!props.addToWishlist || !product) {\r\n return null;\r\n }\r\n\r\n const wishlistButton = renderAddtoWishlistButton(props, state, callbacks, product);\r\n return (\r\n \r\n {props.addToWishlist.errorBlock}\r\n {wishlistButton}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * RenderQuantity.\r\n * @param quantity - Quantity.\r\n * @param quantityLimitsMessages - QuantityLimitsMessages.\r\n * @param props - Props.\r\n * @returns -- Returns.\r\n */\r\nconst renderQuantity = (quantity: IBuyboxProductQuantityViewProps, quantityLimitsMessages: React.ReactNode, props: IQuickviewViewProps): JSX.Element => {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Quickview.tsx file\r\n const { ContainerProps, LabelContainerProps, heading, input, errors } = quantity;\r\n const { unitOfMeasure } = props;\r\n\r\n return (\r\n \r\n \r\n {heading}\r\n \r\n {input}\r\n {unitOfMeasure}\r\n {quantityLimitsMessages}\r\n {errors}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * KenderKeyInPrice.\r\n * @param keyInPrice - KeyInPrice.\r\n * @returns -- Returns.\r\n */\r\nconst renderKeyInPrice = (keyInPrice: IBuyboxKeyInPriceViewProps): JSX.Element => {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Quickview.tsx file\r\n const { ContainerProps, LabelContainerProps, heading, input } = keyInPrice;\r\n\r\n return (\r\n \r\n \r\n {heading}\r\n \r\n {input}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * RenderConfigureDropdown.\r\n * @param dropdown - Buybox product configure dropdown view props.\r\n * @returns -- Returns JSX.Element.\r\n */\r\nconst renderConfigureDropdown = (dropdown: IBuyboxProductConfigureDropdownViewProps): JSX.Element => {\r\n const { ContainerProps, LabelContainerProps, heading, errors, select } = dropdown;\r\n\r\n return (\r\n \r\n \r\n {heading}\r\n \r\n {select}\r\n {errors}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * RenderConfigure.\r\n * @param configure - Buybox product configure view props.\r\n * @returns -- Returns JSX.Element.\r\n */\r\nconst renderConfigure = (configure: IBuyboxProductConfigureViewProps): JSX.Element => {\r\n const { ContainerProps, dropdowns } = configure;\r\n\r\n return (\r\n \r\n {dropdowns.map(renderConfigureDropdown)}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * RenderBodyContent.\r\n * @param props - Props.\r\n * @returns -- Returns.\r\n */\r\nconst renderBodyContent = (props: IQuickviewViewProps & IQuickviewPropsExtend<{}>): JSX.Element => {\r\n const { price, keyInPrice, quantity, inventoryLabel, quantityLimitsMessages, loading,\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Quickview.tsx file\r\n ProductInfoContainerProps, MediaGalleryContainerProps, CarouselProps, addToWishlist, configure, callbacks, state } = props;\r\n if (loading) {\r\n return (\r\n <>\r\n {loading}\r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.resources.priceText}\r\n {price}\r\n \r\n {addToWishlist && renderAddToWishlist(props, state, callbacks)}\r\n \r\n {configure && renderConfigure(configure)}\r\n {keyInPrice && renderKeyInPrice(keyInPrice)}\r\n {quantity && renderQuantity(quantity, quantityLimitsMessages, props)}\r\n {inventoryLabel}\r\n \r\n \r\n );\r\n\r\n};\r\n\r\n/**\r\n * RenderQuickViewPopup.\r\n * @param props - Props.\r\n * @returns -- Returns.\r\n */\r\nconst renderQuickViewPopup = (props: IQuickviewViewProps & IQuickviewPropsExtend<{}>): JSX.Element => {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from Quickview.tsx file\r\n const { ModalContainer, ModalHeaderContainer, ModalFooterContainer, ModalHeaderContent, ModalBodyContainer, addToCart,\r\n cartContainerProps, seeDetailsbutton } = props;\r\n\r\n return (\r\n \r\n \r\n {ModalHeaderContent}\r\n \r\n {props.title}\r\n {!props.loading && !StringExtensions.isNullOrEmpty(props.state.productPrice?.ItemId) ? \r\n {props.resources.skuText}\r\n {props.state.productPrice?.ItemId}\r\n : ''}\r\n {props.rating}\r\n \r\n \r\n \r\n {renderBodyContent(props)}\r\n \r\n \r\n \r\n {addToCart && seeDetailsbutton}\r\n {addToCart && renderAddToCart(addToCart)}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\n/**\r\n * Functional component which renders quick view button and popup based by the given props file.\r\n * @param props - Configuration for the quick view component.\r\n * @returns - Functional component of the quick view.\r\n */\r\nexport const QuickViewFunctionalComponent:\r\nReact.FC> = (props: IQuickviewViewProps & IQuickviewPropsExtend<{}>) => {\r\n const { quickView, quickViewButton, isModalOpen } = props;\r\n const quickViewUpdatedProps: IModuleProps = { ...quickView, title: props.resources.quickViewbuttonText };\r\n return (\r\n \r\n {quickViewButton}\r\n {isModalOpen && renderQuickViewPopup(props)}\r\n \r\n );\r\n};\r\n\r\nexport default QuickViewFunctionalComponent;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { RatingComponent } from '@msdyn365-commerce/components';\r\nimport { ICoreContext } from '@msdyn365-commerce/core';\r\nimport { IHistogramItemViewProps,\r\n IRatingsHistogramData,\r\n IRatingsHistogramViewProps } from '@msdyn365-commerce-modules/ratings-reviews';\r\nimport { format, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IRatingsHistogramProps, IRatingsHistogramResources } from '../definition-extensions/ratings-histogram.ext.props.autogenerated';\r\n\r\n/**\r\n * Histogram item.\r\n * @param props - Histogram Item ViewProps.\r\n * @returns Histogram Item node.\r\n */\r\nconst histogramItem = (props: IHistogramItemViewProps) => {\r\n return (\r\n \r\n {props.starLabel}\r\n {props.bar}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Average ratings.\r\n * @param data - Props data.\r\n * @param context - Histogram Item ViewProps.\r\n * @param typeName - Histogram Item ViewProps.\r\n * @param componentId - Histogram Item ViewProps.\r\n * @param resources - Module resource strings.\r\n * @returns Average ratings.\r\n */\r\nconst averageRating = (data: IRatingsHistogramData, context: ICoreContext, typeName: string, componentId: string, resources: IRatingsHistogramResources) => {\r\n const defaultAverageRating: number = 0;\r\n const reviewsCount = data.ratingsSummary.result?.reviewsCount ?? defaultAverageRating;\r\n const reviewsCountString = resources.numberOfReviewsString ? format(resources.numberOfReviewsString, reviewsCount) : `${reviewsCount} reviews`;\r\n\r\n return (\r\n
\r\n
\r\n {data.ratingsSummary.result?.averageRating}\r\n
\r\n
\r\n \r\n
\r\n
\r\n {reviewsCountString}\r\n
\r\n
\r\n );\r\n};\r\n\r\n/**\r\n * Histogram view.\r\n * @param props - Ratings HistogramV iewProps.\r\n * @returns Histogram view module.\r\n */\r\nconst RatingsHistogramView: React.FC> = props => {\r\n const { heading, histogramItems, histogramProps, moduleProps, data, resources } = props;\r\n const context = props.context;\r\n const typeName = props.typeName;\r\n const moduleId = props.id;\r\n\r\n return (\r\n \r\n {heading}\r\n
\r\n {averageRating(data, context, typeName, moduleId, resources)}\r\n \r\n {histogramItems.map(item => {\r\n return histogramItem(item);\r\n })}\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default RatingsHistogramView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IActionContext } from '@msdyn365-commerce/core';\nimport { CheckoutModule, getCheckoutState, ICheckoutState } from '@msdyn365-commerce/global-state/';\n\nexport async function focusOnCheckoutError(checkoutErrorRef: React.RefObject, ctx: IActionContext): Promise {\n const checkoutState: ICheckoutState = await getCheckoutState(ctx).catch((error: Error) => {\n ctx.telemetry.exception(error);\n throw error;\n });\n\n checkoutErrorRef.current && checkoutErrorRef.current.scrollIntoView();\n await checkoutState.updateCheckoutErrorFocus({ newCheckoutErrorFocus: CheckoutModule.None });\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport AddressInputComponent from './address-input';\n\nexport interface IAddressBillingCheckbox {\n isChecked: boolean;\n value: string;\n ariaLabel: string;\n text: string;\n telemetryContent?: ITelemetryContent;\n onChange(event: React.ChangeEvent): void;\n}\n\nexport const AddressBillingCheckbox: React.FC = ({\n isChecked,\n value,\n ariaLabel,\n text,\n telemetryContent,\n onChange\n}) => {\n const additionalAttributes = {\n checked: isChecked,\n 'aria-checked': isChecked\n };\n\n return (\n \n );\n};\nexport default AddressBillingCheckbox;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IAddressBillingHeading {\n text: string;\n}\n\nexport const AddressBillingHeading: React.FC = ({ text }) => (\n

{text}

\n);\n\nexport default IAddressBillingHeading;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\n/**\n * The payment error.\n */\nexport interface IPaymentError {\n title: string;\n message: string;\n className?: string;\n}\n\n/**\n * The payment error.\n * @param param0 - First param.\n * @param param0.title - Title.\n * @param param0.message - Message.\n * @param param0.className - ClassName.\n * @returns React node.\n */\nexport const ErrorComponent: React.FC = ({ title, message, className = 'ms-checkout-payment-instrument' }) => (\n
\n

{title}

\n

{message}

\n
\n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Address, AddressPurpose } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { format, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { AddressFormat } from '../address-format';\nimport { IAddressResource } from '../address-module.data';\nimport AddressButtonComponent from './address-button';\nimport AddressInputComponent from './address-input';\nimport { AddressShow, IAddressShowProps } from './address-show';\n\nexport interface IAddressSelectInputProps {\n hasExternalSubmitGroup?: boolean;\n addressFormat: AddressFormat;\n addresses: Address[];\n addressPurposes: AddressPurpose[];\n resources: IAddressResource;\n selectedAddress: Address;\n telemetryContent?: ITelemetryContent;\n onAddressOptionChange(event: React.ChangeEvent): void;\n onShipMultipleAddresses?(): void;\n onAddAddress(): void;\n onSave(): void;\n onCancel(): void;\n multipleAddressShippingEnabled?: boolean;\n}\n\nexport interface IAddressSelectItem {\n key: number;\n SelectItem: INodeProps;\n input: React.ReactNode;\n showItems: IAddressShowProps;\n}\n\nexport interface IAddressSelectProps {\n SelectAddress: INodeProps;\n shipMultipleAddressesButton?: React.ReactNode;\n addButton: React.ReactNode;\n items: IAddressSelectItem[];\n isShowSaveButton: boolean;\n saveButton: React.ReactNode;\n isShowCancelButton: boolean;\n cancelButton: React.ReactNode;\n}\n\nconst getInput = (index: number, address: Address, props: IAddressSelectInputProps): React.ReactNode => {\n const { addresses, onAddressOptionChange, selectedAddress, resources, addressPurposes } = props;\n const addressTypeDescription = address.AddressTypeValue\n ? addressPurposes.find(purpose => purpose.AddressType === address.AddressTypeValue)?.Description || ''\n : '';\n const ichecked = address.RecordId === selectedAddress.RecordId;\n const additionalAttributes = {\n checked: ichecked,\n 'aria-checked': ichecked,\n 'aria-setsize': addresses.length,\n 'aria-posinset': index + 1,\n 'aria-label': format(resources.addressChangeCheckboxAriaLabel, addressTypeDescription)\n };\n\n return (\n \n );\n};\n\nconst getAddressSelectItems = (props: IAddressSelectInputProps): IAddressSelectItem[] => {\n const { addresses, addressFormat, addressPurposes } = props;\n\n return addresses.map((address, index) => {\n return {\n key: address.RecordId || 0,\n SelectItem: { className: 'msc-address-select__item' },\n input: getInput(index, address, props),\n showItems: AddressShow({\n addressFormat: addressFormat.getAddressFormat(address.ThreeLetterISORegionName || ''),\n address,\n addressPurposes\n })\n };\n });\n};\n\nexport const AddressSelect = (props: IAddressSelectInputProps): IAddressSelectProps => {\n const {\n resources,\n onCancel,\n onSave,\n onAddAddress,\n onShipMultipleAddresses,\n hasExternalSubmitGroup,\n multipleAddressShippingEnabled\n } = props;\n\n return {\n SelectAddress: { className: 'msc-address-select' },\n addButton: (\n
\n \n
\n ),\n shipMultipleAddressesButton: multipleAddressShippingEnabled && onShipMultipleAddresses && (\n \n ),\n isShowSaveButton: !hasExternalSubmitGroup,\n saveButton: (\n \n ),\n isShowCancelButton: !hasExternalSubmitGroup,\n cancelButton: (\n \n ),\n items: getAddressSelectItems(props)\n };\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IShipMultipleAddressesTableHeadingProps {\n selectAllRowsText?: string;\n productNumber: string;\n productName: string;\n productUnitPrice: string;\n productQuantity: string;\n clickHandler(isChecked: boolean): void;\n productImage?: string;\n productAddress?: string;\n isAllSelected: boolean;\n isMobile: boolean;\n clearSelectionButton: React.ReactNode;\n}\n\nexport interface IShipMultipleAddressesTableHeadingState {\n isChecked: boolean;\n}\n\nexport interface IShipMultipleAddressesTableShortHeading {\n productNumber: string;\n productActions: string;\n}\n\n/**\n * Ship multiple addresses table heading.\n */\nexport class ShipMultipleAddressesTableHeading extends React.PureComponent {\n public state: IShipMultipleAddressesTableHeadingState = {\n isChecked: false\n };\n\n private readonly componentClassName: string = 'ms-table';\n\n public getOnChange = () => (event: React.ChangeEvent) => {\n this.setState(\n {\n isChecked: !this.state.isChecked\n },\n () => {\n this.props.clickHandler(this.state.isChecked);\n }\n );\n };\n\n public render(): JSX.Element {\n if (!this.props.isMobile) {\n return (\n \n \n \n \n \n {this.props.productNumber}\n {{this.props.productName}}\n {\n \n {this.props.productUnitPrice}\n \n }\n {\n \n {this.props.productQuantity}\n \n }\n {{this.props.productAddress}}\n \n \n );\n } else {\n return (\n \n \n \n \n\n {/* Clear Selection Button */}\n
\n {this.props.clearSelectionButton}\n
\n \n \n \n );\n }\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport React from 'react';\nimport { PriceComponent } from '@msdyn365-commerce/components';\nimport { Address, CartLine, SimpleProduct } from '@msdyn365-commerce/retail-proxy';\nimport { ICoreContext, IImageSettings, Image } from '@msdyn365-commerce/core';\nimport { IShipMultipleAddressesLineViewModel } from '../../modules/checkout-shipping-address';\nimport { ICheckoutShippingCartLineInfo } from '../../modules/checkout-shipping-address/components';\n\nexport interface IShipMultipleAddressesLineProps extends CartLine {\n shipMultipleAddressesLine: IShipMultipleAddressesLineViewModel;\n shippingLineImage: ICheckoutShippingCartLineInfo;\n price?: number;\n context: ICoreContext;\n product?: SimpleProduct;\n imageSettings?: IImageSettings;\n quantity: number;\n moduleId: string;\n moduleTypeName: string;\n currencyCode: string | undefined;\n customerAddresses: Address[];\n error?: string;\n isMobile: boolean;\n onSelect(line: IShipMultipleAddressesLineViewModel, isChecked: boolean): void;\n onShippingAddressChange(shippingLine: CartLine, event: React.ChangeEvent): void;\n resources: {\n unavailableProductErrorMessage?: string;\n outOfStockProductErrorMessage?: string;\n };\n}\n\nexport interface IShipMultipleAddressesLineViewProps {\n key?: string;\n productImage?: React.ReactNode;\n productPrice?: React.ReactNode;\n productCurrencyCode?: React.ReactNode;\n productName?: string;\n productNumber?: React.ReactNode;\n productInfo?: React.ReactNode;\n productLabel?: React.ReactNode;\n productUnitOfMeasure?: React.ReactNode;\n productQuantity?: number;\n productListId?: string;\n productAddress?: React.ReactNode;\n selectLine?: React.ReactNode;\n popUp?: JSX.Element;\n productAddressPopup?: JSX.Element | null | undefined;\n isMobile?: boolean;\n}\n\n/**\n * On Select line function.\n * @param shipMultipleAddressesLine - Ship multiple addresses line.\n * @param input - Ship multiple addresses line props.\n * @returns Set on select shipping line.\n */\nconst onSelectLineHandler = (shipMultipleAddressesLine: IShipMultipleAddressesLineViewModel, input: IShipMultipleAddressesLineProps) => (\n event: React.ChangeEvent\n) => {\n shipMultipleAddressesLine.isChecked = !shipMultipleAddressesLine.isChecked;\n\n input.onSelect(shipMultipleAddressesLine, event.target.checked);\n};\n\nexport const ShipMultipleAddressesLineView = (input: IShipMultipleAddressesLineProps): IShipMultipleAddressesLineViewProps | null => {\n const { customerAddresses, shipMultipleAddressesLine, shippingLineImage, product, context, onShippingAddressChange } = input;\n\n console.log('ShipMultipleAddressesLineView rendering');\n\n if (!product) {\n return null;\n }\n\n const { ItemId } = product;\n const { Quantity, ShippingAddress } = shipMultipleAddressesLine.cartLine;\n\n return {\n selectLine: (\n \n ),\n productImage: renderProductImage(\n '',\n context,\n product.Name!,\n shippingLineImage.imageProps.fallBackSrc,\n shippingLineImage.imageProps.src\n ),\n productInfo: renderProductInfo(input),\n productPrice: renderProductPrice(input),\n productNumber: product && (\n <>\n
{ItemId}
\n {input.error !== 'NONE' ?
{renderProductError(input)}
: undefined}\n \n ),\n productQuantity: Quantity,\n productAddress: (\n onShippingAddressChange(shipMultipleAddressesLine.cartLine, e)}\n value={ShippingAddress?.RecordId}\n >\n {customerAddresses?.map((address: Address, index: number) => (\n \n {address.FullAddress}\n \n ))}\n \n )\n };\n};\n\nconst renderProductImage = (\n className: string,\n context: ICoreContext,\n heading: string,\n image?: string,\n fallbackImage?: string\n): JSX.Element | null => {\n const defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=64&h=64&m=6', w: 0, h: 0 },\n lg: { q: 'w=64&h=64&m=6', w: 0, h: 0 },\n xl: { q: 'w=64&h=64&m=6', w: 0, h: 0 }\n },\n lazyload: true\n };\n\n return (\n \n );\n};\n\nconst renderProductDimensions = (props: IShipMultipleAddressesLineProps): (string | undefined)[] => {\n const { product } = props;\n if (!product || !product.Dimensions) {\n return [];\n }\n return product.Dimensions.map(dimension => {\n if (!dimension.DimensionValue || !dimension.DimensionValue.Value) {\n return undefined;\n }\n return dimension.DimensionValue.Value;\n });\n};\n\nconst renderProductInfo = (props: IShipMultipleAddressesLineProps): React.ReactNode | undefined => {\n const { product } = props;\n const name = product?.Name;\n const dimensions = renderProductDimensions(props);\n if (!product) {\n return [];\n }\n const productName =
{name}
;\n const dimensionsLine: string = dimensions.join(', ');\n return (\n
\n
{productName}
\n
{dimensionsLine}
\n
\n );\n};\n\nconst renderProductPrice = (props: IShipMultipleAddressesLineProps): React.ReactNode | undefined => {\n const { product } = props;\n\n if (!product?.Price) {\n return null;\n }\n\n return (\n \n \n \n );\n};\n\nconst renderProductError = (props: IShipMultipleAddressesLineProps) => {\n const { error, resources } = props;\n\n if (!error) {\n return '';\n }\n\n const errorMessages = {\n OOS: resources.outOfStockProductErrorMessage,\n UNASSORTED: resources.unavailableProductErrorMessage,\n NONE: ''\n };\n\n return errorMessages[error];\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\nimport { INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport { ICoreContext } from '@msdyn365-commerce/core';\nimport { Address, CartLine } from '@msdyn365-commerce/retail-proxy';\nimport AddressButtonComponent from './address-button';\nimport { IShipMultipleAddressesTableHeadingProps, ShipMultipleAddressesTableHeading } from './address-ship-multiple-heading';\nimport { IAddressResource } from '../address-module.data';\nimport {\n IShipMultipleAddressesLineProps,\n IShipMultipleAddressesLineViewProps,\n ShipMultipleAddressesLineView\n} from './address-ship-multiple-lines';\nimport { IShipMultipleAddressesLineViewModel } from '../../modules/checkout-shipping-address';\nimport { ICartLineWithProduct, ICheckoutShippingCartLineInfo } from '../../modules/checkout-shipping-address/components';\n\nexport interface IAddressShipMultipleInputProps {\n context: ICoreContext;\n hasExternalSubmitGroup?: boolean;\n moduleId: string;\n moduleTypeName: string;\n currencyCode: string | undefined;\n resources: IAddressResource;\n shippingLines: ICartLineWithProduct[];\n shippingLineImages: ICheckoutShippingCartLineInfo[];\n selectedShippingLines: IShipMultipleAddressesLineViewModel[];\n customerAddresses: Address[];\n onSelect(line: IShipMultipleAddressesLineViewModel, isChecked: boolean): void;\n onSelectAll(isChecked: boolean): void;\n onClear(): void;\n onShippingAddressChange(shippingLine: CartLine, event: React.ChangeEvent): void;\n onBulkShippingAddressChange(event: React.ChangeEvent): void;\n onShipSingleAddress(): void;\n onSave(): void;\n onCancel(): void;\n isMobile: boolean;\n telemetryContent?: ITelemetryContent;\n}\n\nexport interface IShipMultipleAddressesViewProps {\n ShipMultipleAddress?: INodeProps;\n shipSingleAddressButton?: React.ReactNode;\n clearSelectionButton?: React.ReactNode;\n addressDropdown?: React.ReactNode;\n ProductsTable?: INodeProps;\n ProductsTableHeading?: React.ReactNode;\n ProductsTableRow?: INodeProps;\n shipMultipleAddressLines?: IShipMultipleAddressesLineViewProps[];\n isShowSaveButton?: boolean;\n saveButton?: React.ReactNode;\n isShowCancelButton?: boolean;\n cancelButton?: React.ReactNode;\n isMobile?: boolean;\n}\n\nexport const AddressShipMultiple = (props: IAddressShipMultipleInputProps): IShipMultipleAddressesViewProps => {\n const {\n context,\n currencyCode,\n hasExternalSubmitGroup,\n moduleId,\n moduleTypeName,\n shippingLines,\n shippingLineImages,\n selectedShippingLines,\n customerAddresses,\n isMobile,\n onSelect,\n onSelectAll,\n onClear,\n onShippingAddressChange,\n onBulkShippingAddressChange,\n onShipSingleAddress,\n onSave,\n onCancel,\n resources\n } = props;\n\n const { unavailableProductErrorMessage, outOfStockProductErrorMessage } = props.resources;\n\n const shipMultipleAddressLines: IShipMultipleAddressesLineViewModel[] = [];\n\n for (const line of shippingLines) {\n shipMultipleAddressLines.push({\n isChecked: false,\n cartLine: line.cartLine\n });\n }\n\n function _renderProductListHeader(): React.ReactNode {\n const headers: IShipMultipleAddressesTableHeadingProps = {\n selectAllRowsText: resources.addressSelectAllRowsText,\n productNumber: resources.addressProductNumberText!,\n productName: resources.addressProductText!,\n productUnitPrice: resources.addressProductUnitPriceText!,\n productQuantity: resources.addressProductQuantityText!,\n productAddress: resources.addressProductAddressText,\n clickHandler: (isChecked: boolean) => {\n onSelectAll(isChecked);\n },\n isAllSelected: selectedShippingLines && selectedShippingLines.every(line => line.isChecked),\n isMobile: isMobile,\n clearSelectionButton: (\n !line.isChecked)\n }}\n />\n )\n };\n\n return ;\n }\n\n function _renderShipMultipleAddressLines(): IShipMultipleAddressesLineViewProps[] {\n return shippingLines.map((line, index) => {\n const currentLineProps: IShipMultipleAddressesLineProps = {\n shipMultipleAddressesLine: {\n isChecked: (selectedShippingLines && selectedShippingLines[index] && selectedShippingLines[index].isChecked) || false,\n cartLine: line.cartLine\n },\n shippingLineImage: shippingLineImages[index],\n product: line.product ? line.product : undefined,\n price: line.product?.Price,\n context,\n quantity: line.cartLine?.Quantity!,\n moduleId: moduleId,\n moduleTypeName: moduleTypeName,\n currencyCode: currencyCode,\n customerAddresses: customerAddresses,\n isMobile: isMobile,\n onSelect: onSelect,\n onShippingAddressChange: onShippingAddressChange,\n resources: {\n unavailableProductErrorMessage,\n outOfStockProductErrorMessage\n }\n };\n\n return ShipMultipleAddressesLineView({ ...currentLineProps })!;\n });\n }\n\n return {\n ShipMultipleAddress: { className: 'msc-address-select' },\n shipSingleAddressButton: (\n \n ),\n clearSelectionButton: (\n !line.isChecked)\n }}\n />\n ),\n addressDropdown: (\n onBulkShippingAddressChange(e)}\n defaultValue={''}\n disabled={selectedShippingLines.every(line => !line.isChecked)}\n >\n \n {customerAddresses?.map((address: Address, index: number) => (\n \n ))}\n \n ),\n ProductsTable: {\n className: `ms-address-select__table`,\n tag: 'table',\n role: 'grid'\n },\n ProductsTableRow: {\n className: `ms-address-select-table-line`,\n tag: 'tr'\n },\n ProductsTableHeading: _renderProductListHeader(),\n shipMultipleAddressLines: _renderShipMultipleAddressLines(),\n isShowSaveButton: !hasExternalSubmitGroup,\n saveButton: (\n \n ),\n isShowCancelButton: !hasExternalSubmitGroup,\n cancelButton: (\n \n ),\n isMobile: isMobile\n };\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\n/// \n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { CheckoutModule, ErrorLocation, IGiftCardExtend } from '@msdyn365-commerce/global-state';\nimport { Address, AddressPurpose, CountryRegionInfo, StateProvinceInfo } from '@msdyn365-commerce/retail-proxy';\nimport { IModuleStateProps, withModuleState, EnabledPaymentsForOBO } from '@msdyn365-commerce-modules/checkout-utilities';\nimport { getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { action, computed, observable, reaction, set } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { AutoSuggest } from '../../common/address-autosuggest';\nimport { IAutoSuggestOptions } from '../../common/address-autosuggest.data';\nimport { AddressCommon } from '../../common/address-common';\nimport { AddressFormat } from '../../common/address-format';\nimport { AddressItemType } from '../../common/address-format.data';\nimport { AddressMetaData } from '../../common/address-meta-data';\nimport { AddressOperation, AddressType, IAddressResource, IAddressResponse } from '../../common/address-module.data';\nimport { AddressAddUpdate, IAddressAddUpdateProps } from '../../common/components/address-add';\nimport { AddressBillingCheckbox } from '../../common/components/address-billing-checkbox';\nimport { AddressBillingHeading } from '../../common/components/address-billing-heading';\nimport { AddressShow, IAddressShowProps } from '../../common/components/address-show';\nimport { ICheckoutBillingAddressData } from './checkout-billing-address.data';\nimport { ICheckoutBillingAddressProps } from './checkout-billing-address.props.autogenerated';\nimport { ErrorComponent } from '../../common';\nimport { focusOnCheckoutError } from '../../checkout-errors/checkout-errors';\n\n/**\n * Props interface.\n */\nexport interface IProps extends ICheckoutBillingAddressProps, IModuleStateProps {}\n\n/**\n * Checkout billing address view state interface.\n */\nexport interface ICheckoutBillingAddressViewState {\n isShowAddress: boolean;\n isShowAddOrUpdateAddress: boolean;\n isShowSameAsShippingCheckbox: boolean;\n errorMessage?: string;\n}\n\n/**\n * Checkout billing address view props interface.\n */\nexport interface ICheckoutBillingAddressViewProps extends IProps {\n className: string;\n currentOperation: AddressOperation;\n selectedAddress?: Address;\n addUpdateAddress: Address;\n countryRegionId: string;\n stateProvinceInfo?: StateProvinceInfo[];\n validationError: object;\n addressActionResponse?: IAddressResponse;\n viewState: ICheckoutBillingAddressViewState;\n CheckoutBillingAddress: IModuleProps;\n sameAsShippingCheckbox: React.ReactNode;\n heading: React.ReactNode;\n showAddress: IAddressShowProps;\n showAddOrUpdateAddress: IAddressAddUpdateProps;\n alert?: React.ReactNode;\n checkoutErrorRef?: React.RefObject;\n}\n\n/**\n *\n * CheckoutBillingAddress component.\n * @extends {React.PureComponent>}\n */\n// @ts-expect-error\n@withModuleState\n@observer\nclass CheckoutBillingAddress extends React.Component {\n @observable private currentOperation: AddressOperation;\n\n @observable private isBillingAddressSameAsShipping: boolean;\n\n @observable private selectedAddress?: Address;\n\n @observable private addUpdateAddress: Address;\n\n @observable private countryRegionId: string = 'USA';\n\n @observable private stateProvinceInfo?: StateProvinceInfo[];\n\n @observable private validationError: object;\n\n @observable private readonly addressActionResponse?: IAddressResponse;\n\n private readonly addressCommon: AddressCommon;\n\n private addressFormat: AddressFormat;\n\n private countryRegions: CountryRegionInfo[] = [];\n\n private addressPurposes: AddressPurpose[] = [];\n\n private readonly resources: IAddressResource;\n\n private readonly defaultAddressType: number = 6; // Default to Home\n\n // private addRenderRef: React.RefObject;\n private readonly telemetryContent?: ITelemetryContent;\n\n private autoSuggest?: AutoSuggest;\n\n private readonly checkoutErrorRef: React.RefObject = React.createRef();\n\n public constructor(props: IProps) {\n super(props);\n const { context, data, resources, telemetry } = this.props;\n\n this.addUpdateAddress = {};\n this.validationError = {};\n this.isBillingAddressSameAsShipping = false;\n this.resources = resources;\n this.currentOperation = AddressOperation.List;\n this.addressPurposes = data.addressPurposes.result || [];\n this.countryRegions = data.countryRegions.result || [];\n this.stateProvinceInfo = data.countryStates.result || [];\n this.addressCommon = new AddressCommon(context, resources, telemetry);\n this.addressFormat = new AddressFormat(\n this.countryRegions,\n new AddressMetaData({ ...resources }, this._getAddressFormatExcludeList()),\n this.addressPurposes\n );\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n this.state = {\n isShowAddress: false,\n isShowAddOrUpdateAddress: false,\n isShowSameAsShippingCheckbox: false,\n errorMessage: ''\n };\n\n // This.addRenderRef = React.createRef();\n }\n\n public async componentDidMount(): Promise {\n const {\n context: {\n telemetry,\n actionContext: {\n requestContext: { channel }\n }\n },\n config: { autoSuggestionEnabled, autoSuggestOptions }\n } = this.props;\n\n // Initializing data props\n this._dataInitialize(this.props);\n\n this.props.data.checkout.then(() => {\n this._setDefaultCountryRegionId();\n this._initModuleState();\n });\n\n reaction(\n () => this.countryRegionId,\n () => {\n this._getStateProvinces();\n }\n );\n\n reaction(\n () => this.currentOperation,\n () => {\n this._getStateProvinces();\n }\n );\n\n reaction(\n () => this.props.data.checkout.result && this.props.data.checkout.result.shippingAddress,\n shippingAddress => {\n if (this.props.moduleState.isUpdating) {\n if (shippingAddress && this.isBillingAddressSameAsShipping) {\n this.isBillingAddressSameAsShipping = true;\n this._updateCurrentOperation(AddressOperation.Show, shippingAddress);\n } else if (shippingAddress && this.isBillingAddressSameAsShipping) {\n this._updateCurrentOperation(AddressOperation.Show, shippingAddress);\n }\n }\n }\n );\n\n reaction(\n () => this.isBillingAddressRequried,\n isBillingAddressRequried => {\n if (isBillingAddressRequried) {\n if (this.props.moduleState.isDisabled) {\n this.onEdit();\n }\n } else {\n this.props.data.checkout.result?.removeBillingAddress({});\n this.props.moduleState.onDisable();\n }\n }\n );\n\n if (autoSuggestionEnabled) {\n if (channel && !channel.BingMapsApiKey) {\n telemetry.error('BingMapsApiKey is missing.');\n return;\n }\n\n if (channel && !channel.BingMapsEnabled) {\n telemetry.error('Map is disabled from HQ.');\n return;\n }\n\n const options: IAutoSuggestOptions = { ...autoSuggestOptions };\n this.autoSuggest = new AutoSuggest(\n telemetry,\n options,\n channel?.BingMapsApiKey,\n channel?.ChannelCountryRegionISOCode,\n channel?.DefaultLanguageId\n );\n\n // Customer doesn't have any address. Then add view will be loaded directly. Code for the same to handle that\n if (\n this.props.data.storeSelectorStateManager.result &&\n (this.currentOperation === AddressOperation.Add || this.currentOperation === AddressOperation.Update)\n ) {\n await this.autoSuggest._loadMapAPI(await this.props.data.storeSelectorStateManager);\n }\n\n reaction(\n () =>\n this.props.data.storeSelectorStateManager.result?.loadMapApi &&\n (this.currentOperation === AddressOperation.Add || this.currentOperation === AddressOperation.Update),\n async () => {\n await this.autoSuggest?._loadMapAPI(await this.props.data.storeSelectorStateManager);\n }\n );\n\n reaction(\n () => this.props.data.storeSelectorStateManager.result?.isMapApiLoaded,\n async () => {\n await this._attachMapAutoSuggest();\n }\n );\n }\n\n if (this.props.data.checkout.result?.shouldEnableCheckoutErrorDisplayMessaging) {\n reaction(\n () => this.props.data.checkout.result?.checkoutError,\n checkoutError => {\n if (\n checkoutError &&\n checkoutError.errorLocation === ErrorLocation.CheckoutBillingAddress &&\n checkoutError.errorMessage\n ) {\n this._setErrorMessage(checkoutError.errorMessage);\n }\n }\n );\n\n reaction(\n () => this.props.data.checkout.result?.checkoutErrorFocus,\n checkoutErrorFocus => {\n if (checkoutErrorFocus === CheckoutModule.CheckoutBillingAddress) {\n focusOnCheckoutError(this.checkoutErrorRef, this.props.context.actionContext);\n }\n }\n );\n }\n }\n\n public async componentDidUpdate(): Promise {\n if (this.currentOperation === AddressOperation.Add || this.currentOperation === AddressOperation.Update) {\n if (this.props.data.storeSelectorStateManager.result?.isMapApiLoaded) {\n await this._attachMapAutoSuggest();\n }\n } else {\n this.autoSuggest?.disposeAutoSuggest();\n }\n }\n\n public shouldComponentUpdate(\n nextProps: ICheckoutBillingAddressProps,\n nextState: ICheckoutBillingAddressViewState\n ): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | null {\n if (!this.isBillingAddressRequried || this._shouldHideBillingAddressForOBO) {\n return null;\n }\n\n const {\n resources,\n moduleState: { hasError }\n } = this.props;\n\n const { renderView, config } = this.props;\n\n const errorMessage = this.state.errorMessage;\n\n const viewProps = {\n ...this.props,\n currentOperation: this.currentOperation,\n selectedAddress: this.selectedAddress,\n addUpdateAddress: this.addUpdateAddress,\n countryRegionId: this.countryRegionId,\n stateProvinceInfo: this.stateProvinceInfo,\n validationError: this.validationError,\n addressActionResponse: this.addressActionResponse,\n className: config.className,\n viewState: {\n isShowAddress: this.selectedAddress && this.currentOperation === AddressOperation.Show,\n isShowAddOrUpdateAddress: this.currentOperation !== AddressOperation.Show,\n isShowSameAsShippingCheckbox: this.isCartContainsItemsForShipping && this.props.moduleState.isUpdating\n },\n CheckoutBillingAddress: {\n moduleProps: this.props,\n className: classnames('ms-checkout-billing-address', config.className)\n },\n heading: ,\n alert: hasError && errorMessage && ,\n checkoutErrorRef: this.checkoutErrorRef,\n\n sameAsShippingCheckbox: (\n \n ),\n showAddress: this._renderShowAddress(),\n showAddOrUpdateAddress: this._renderAddOrUpdateAddress()\n };\n\n return renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * On suggestion selected.\n * @param result - The suggestion result.\n */\n @action\n private readonly _onSuggestionSelected = async (result: Microsoft.Maps.ISuggestionResult): Promise => {\n this._clearAddressFields();\n const address = this.addressFormat.getTranformedAddress(result, this.stateProvinceInfo);\n set(this.addUpdateAddress, { Street: '' });\n set(this.addUpdateAddress, { ZipCode: address.ZipCode });\n set(this.addUpdateAddress, { CountyName: address.CountyName });\n set(this.addUpdateAddress, { City: address.City });\n set(this.addUpdateAddress, { State: address.State });\n set(this.addUpdateAddress, { DistrictName: address.DistrictName });\n set(this.addUpdateAddress, { FullAddress: address.FullAddress });\n\n // Bing autosuggest put the complete address in the Street input box. Updating the street input box to show only street address.\n setTimeout(() => {\n set(this.addUpdateAddress, { Street: address.Street });\n }, 0);\n };\n\n /**\n * Clear address fields.\n */\n @action\n private readonly _clearAddressFields = (): void => {\n const addressFormatItem = this.addressFormat.getAddressFormat(\n this.addUpdateAddress.ThreeLetterISORegionName || this.countryRegionId\n );\n addressFormatItem.forEach(format => {\n if (this.addUpdateAddress[format.name] !== undefined && !this.autoSuggest?.excludedAddressFields.includes(format.name)) {\n this.addressFormat[format.name] = '';\n }\n });\n this._clearValidation();\n };\n\n /**\n * Clear validation.\n */\n @action\n private readonly _clearValidation = (): void => {\n this.validationError = {};\n };\n\n /**\n * On address update.\n * @param name - Name.\n * @param value - Value.\n */\n private readonly onAddressAddUpdate = (name: string, value: string) => {\n set(this.addUpdateAddress, { [name]: value });\n this.addressFormat.validateAddressFormat(this.addUpdateAddress, this.validationError, this.countryRegionId, name);\n };\n\n /**\n * Method data initialization.\n * @param props -The checkout address properties.\n */\n private readonly _dataInitialize = (props: IProps): void => {\n const { data } = props;\n\n reaction(\n () => data.countryRegions.result,\n () => {\n this.countryRegions = data.countryRegions.result ?? [];\n }\n );\n\n reaction(\n () => data.addressPurposes.result,\n () => {\n this.addressPurposes = data.addressPurposes.result ?? [];\n }\n );\n\n reaction(\n () => data.countryStates.result,\n () => {\n this.stateProvinceInfo = data.countryStates.result ?? [];\n }\n );\n };\n\n /**\n * Render add or update address function.\n * @returns - Address add update props.\n */\n private readonly _renderAddOrUpdateAddress = (): IAddressAddUpdateProps => {\n return AddressAddUpdate({\n resources: this.resources,\n addressType: AddressType.Billing,\n addressFormat: this.addressFormat.getAddressFormat(this.addUpdateAddress.ThreeLetterISORegionName ?? this.countryRegionId),\n defaultCountryRegionId: this.countryRegionId,\n defaultAddressType: this.defaultAddressType,\n selectedAddress: this.addUpdateAddress,\n validationError: this.validationError,\n addressActionResponse: this.addressActionResponse,\n dropdownDisplayData: this.addressFormat.getPrefilledAddressDropdownData(\n this.resources.addressStateDefaultSelectionText,\n this.stateProvinceInfo\n ),\n telemetryContent: this.telemetryContent,\n onInputChange: this._onAddressAddUpdateInputChange,\n onDropdownChange: this._onAddressAddUpdateDropdownChange,\n hasExternalSubmitGroup: this.props.moduleState.hasExternalSubmitGroup,\n onSave: this._onSubmitAddress,\n onCancel: this._resetView\n });\n };\n\n private _renderShowAddress(): IAddressShowProps | null {\n if (this.selectedAddress) {\n return AddressShow({\n address: this.selectedAddress,\n addressFormat: this.addressFormat.getAddressFormat(this.selectedAddress.ThreeLetterISORegionName ?? ''),\n addressPurposes: this.addressPurposes\n });\n }\n\n return null;\n }\n\n /**\n * On country region change function.\n * @param countryRegionId - Country region Id.\n */\n private readonly _onCountryChange = (countryRegionId: string) => {\n this.countryRegionId = countryRegionId;\n const twoLetterIsoRegionName = this.addressFormat.getTwoLetterISORegionName(countryRegionId);\n set(this.addUpdateAddress, { ThreeLetterISORegionName: countryRegionId });\n set(this.addUpdateAddress, { TwoLetterISORegionName: twoLetterIsoRegionName });\n this.autoSuggest?.changeAutoSuggestionCountryCode(twoLetterIsoRegionName);\n this._clearAddressFields();\n };\n\n /**\n * Gets address format for exclude list.\n * @returns - Address item type.\n */\n private readonly _getAddressFormatExcludeList = (): AddressItemType[] => {\n const { config } = this.props;\n const addressFormatExcludeList: AddressItemType[] = [];\n\n if (!config.showAddressType) {\n addressFormatExcludeList.push(AddressItemType.AddressTypeValue);\n }\n\n addressFormatExcludeList.push(AddressItemType.IsPrimary);\n\n return addressFormatExcludeList;\n };\n\n /**\n * Attach map auto suggest.\n */\n private readonly _attachMapAutoSuggest = async (): Promise => {\n const {\n data: {\n storeSelectorStateManager: { result: storeSelectorStateManager }\n }\n } = this.props;\n\n if (storeSelectorStateManager?.isMapApiLoaded) {\n this.autoSuggest?.attachAutoSuggest('#billing_addressstreet', '#billing_addressstreet_container', this._onSuggestionSelected);\n }\n };\n\n /**\n * On address add update input change.\n * @param event - The event.\n */\n private readonly _onAddressAddUpdateInputChange = (event: React.ChangeEvent): void => {\n const value = (event.target.value || '').replace(new RegExp('[<>]', 'gi'), '');\n this.onAddressAddUpdate(event.target.name, value);\n };\n\n /**\n * On address add update dropdown change.\n * @param event - The event.\n */\n private readonly _onAddressAddUpdateDropdownChange = (event: React.ChangeEvent): void => {\n this.onAddressAddUpdate(event.target.name, event.target.value);\n\n if (event.target.name === AddressItemType[AddressItemType.ThreeLetterISORegionName]) {\n this._onCountryChange(event.target.value);\n }\n };\n\n /**\n * Gets state provinces.\n */\n private readonly _getStateProvinces = (): void => {\n if (\n !this.countryRegionId ||\n !(this.currentOperation === AddressOperation.Add || this.currentOperation === AddressOperation.Update)\n ) {\n return;\n }\n\n this.addressCommon.getStateProvinces(this.countryRegionId).then((result: StateProvinceInfo[]) => {\n const stateInfo = result.some(state => state.StateId === this.addUpdateAddress.State);\n\n // Reset state if selected state not found in the list.\n if (!stateInfo) {\n set(this.addUpdateAddress, { State: '' });\n }\n this.stateProvinceInfo = result;\n });\n };\n\n /**\n * Initialize module state.\n */\n private readonly _initModuleState = (): void => {\n this.props.moduleState.init({\n status: this.isBillingAddressRequried ? 'updating' : 'disabled',\n onEdit: this.onEdit,\n onCancel: this.onCancel,\n onSubmit: this.onSubmit\n });\n\n const { billingAddress, isBillingAddressSameAsShippingAddress } = this.props.data.checkout.result ?? {};\n\n if (this.isBillingAddressRequried) {\n if (billingAddress) {\n this.isBillingAddressSameAsShipping = isBillingAddressSameAsShippingAddress ?? false;\n this._updateCurrentOperation(AddressOperation.Show, billingAddress);\n this._updateModuleState();\n } else if (this.isCartContainsItemsForShipping) {\n this.isBillingAddressSameAsShipping = true;\n this._updateCurrentOperation(AddressOperation.Show, this.shippingAddress);\n } else {\n this.isBillingAddressSameAsShipping = false;\n this._updateCurrentOperation(AddressOperation.Add);\n }\n }\n };\n\n /**\n * Sets default country region Id.\n */\n private _setDefaultCountryRegionId(): void {\n const { request } = this.props.context;\n const market = request.channel?.ChannelCountryRegionISOCode;\n\n this.countryRegionId = this.addressCommon.getDefaultCountryRegionId(this.countryRegionId, this.countryRegions, market);\n }\n\n /**\n * On change - Billing address same as shipping.\n * @param event - The event.\n */\n private readonly _onBillingAddressSameAsShippingChange = (event: React.ChangeEvent) => {\n this.isBillingAddressSameAsShipping = event.currentTarget.checked;\n\n if (this.isBillingAddressSameAsShipping && this.shippingAddress) {\n this._updateCurrentOperation(AddressOperation.Show, this.shippingAddress);\n } else {\n this._updateCurrentOperation(AddressOperation.Add, this.billingAddress);\n }\n };\n\n @computed private get isCartContainsItemsForShipping(): boolean {\n const { request } = this.props.context;\n const multiplePickupStoreSwitchName = 'Dynamics.AX.Application.RetailMultiplePickupDeliveryModeFeature';\n const { channelDeliveryOptionConfig, featureState } = this.props.data;\n const retailMultiplePickUpOptionEnabled = featureState.result?.find(feature => feature.Name === multiplePickupStoreSwitchName)\n ?.IsEnabled;\n\n const pickupDeliveryModeCode = request.channel?.PickupDeliveryModeCode;\n const emailDeliveryModeCode = request.channel?.EmailDeliveryModeCode;\n\n // If hasInvoiceLine is true, there are only invoices no items in cart and return false here\n return this.props.data.checkout.result?.checkoutCart.hasInvoiceLine\n ? false\n : retailMultiplePickUpOptionEnabled\n ? ((this.props.data.checkout.result && this.props.data.checkout.result.checkoutCart.cart.CartLines) || []).some(cartLine =>\n cartLine.DeliveryMode && cartLine.DeliveryMode !== ''\n ? cartLine.DeliveryMode !==\n channelDeliveryOptionConfig.result?.PickupDeliveryModeCodes?.find(\n deliveryMode => deliveryMode === cartLine.DeliveryMode\n ) && cartLine.DeliveryMode !== emailDeliveryModeCode\n : cartLine\n )\n : ((this.props.data.checkout.result && this.props.data.checkout.result.checkoutCart.cart.CartLines) || []).some(cartLine =>\n cartLine.DeliveryMode && cartLine.DeliveryMode !== ''\n ? cartLine.DeliveryMode !== pickupDeliveryModeCode && cartLine.DeliveryMode !== emailDeliveryModeCode\n : cartLine\n );\n }\n\n @computed private get billingAddress(): Address | undefined {\n return this.props.data.checkout.result?.billingAddress;\n }\n\n @computed private get shippingAddress(): Address | undefined {\n return this.props.data.checkout.result?.shippingAddress;\n }\n\n @computed private get getLoyaltyAmount(): number {\n const checkoutState = this.props.data.checkout.result;\n return checkoutState?.loyaltyAmount ? checkoutState.loyaltyAmount : 0;\n }\n\n @computed private get getGiftCardTotalAmount(): number {\n const checkoutState = this.props.data.checkout.result;\n if (!checkoutState || !checkoutState.giftCardExtends) {\n return 0;\n }\n return checkoutState.giftCardExtends.reduce((count: number, giftCard: IGiftCardExtend) => {\n return count + (giftCard.Balance || 0);\n }, 0);\n }\n\n @computed private get getCustomerAccountAmount(): number {\n const checkoutState = this.props.data.checkout.result;\n const defaultAmount = 0;\n\n return checkoutState?.customerAccountAmount ?? defaultAmount;\n }\n\n @computed private get shouldPaidByCard(): boolean {\n const {\n data: { checkout },\n config\n } = this.props;\n if (!checkout.result) {\n return false;\n }\n\n const checkoutResult = checkout.result;\n const cart = checkoutResult.checkoutCart.cart;\n if (!cart || !cart.CartLines || cart.CartLines.length === 0) {\n return false;\n }\n\n const { paymentTenderType, tokenizedPaymentCard } = checkoutResult;\n const isPaidByOtherPaymentSource = config.paymenTenderType !== paymentTenderType && tokenizedPaymentCard;\n\n // Use payment card when it is not free or gift card balance + Loyalty amount can not cover the total amount\n const amountDue = (cart.TotalAmount || 0) - this.getGiftCardTotalAmount - this.getLoyaltyAmount - this.getCustomerAccountAmount;\n\n return amountDue > 0 && !isPaidByOtherPaymentSource;\n }\n\n @computed private get isBillingAddressRequried(): boolean {\n return (\n this.shouldPaidByCard &&\n (!this.props.data.checkout?.result?.isPaymentVerificationRedirection ||\n !!this.props.data.checkout?.result?.isCheckoutCallFailed)\n );\n }\n\n @computed private get _shouldHideBillingAddressForOBO(): boolean {\n return Msdyn365.isOboRequest(this.props.context.request) && EnabledPaymentsForOBO.PaymentInstrument === 0;\n }\n\n /**\n * On submit address.\n */\n private readonly _onSubmitAddress = (): void => {\n if (!this.addressFormat.validateAddressFormat(this.addUpdateAddress, this.validationError, this.countryRegionId)) {\n this.props.moduleState.setHasError(true);\n\n if (\n this.props.data.checkout.result?.shouldEnableSinglePaymentAuthorizationCheckout &&\n this.props.data.checkout.result?.isPaymentSectionContainerHasError\n ) {\n this.props.data.checkout.result.updateIsBillingAddressHasError({ newIsBillingAddressHasError: true });\n }\n\n return;\n }\n\n this._setBillingAddress(this.addUpdateAddress);\n this._updateCurrentOperation(AddressOperation.Show, this.addUpdateAddress);\n this._updateModuleState();\n };\n\n /**\n * On submit.\n */\n private readonly onSubmit = (): void => {\n switch (this.currentOperation) {\n case AddressOperation.Add:\n case AddressOperation.Update:\n this.props.telemetry.information('Billing address submit for Add or Update operation.');\n this._onSubmitAddress();\n break;\n case AddressOperation.Show:\n this.props.telemetry.information('Billing address submit for Show operation.');\n if (this.selectedAddress) {\n this._setBillingAddress(this.selectedAddress);\n this._updateCurrentOperation(AddressOperation.Show, this.selectedAddress);\n this._updateModuleState();\n }\n break;\n default:\n this.props.telemetry.error('Invalid operation');\n }\n };\n\n /**\n * On cancel.\n */\n private readonly onCancel = (): void => {\n switch (this.currentOperation) {\n case AddressOperation.Add:\n case AddressOperation.Update:\n this.props.telemetry.information('Billing address cancel for Add or Update operation.');\n this._resetView();\n this._clearAddressFields();\n break;\n case AddressOperation.Show:\n this.props.telemetry.information('Billing address cancel for Show operation.');\n this._resetView();\n break;\n default:\n this.props.telemetry.error('Invalid operation');\n }\n };\n\n /**\n * On edit.\n */\n private readonly onEdit = (): void => {\n this.props.telemetry.information('Billing address onEdit is called.');\n\n if (this.isBillingAddressSameAsShipping && this.shippingAddress && this.isCartContainsItemsForShipping) {\n this._updateCurrentOperation(AddressOperation.Show, this.shippingAddress);\n } else {\n this._updateCurrentOperation(AddressOperation.Add, this.billingAddress);\n }\n this.props.moduleState.onUpdating();\n };\n\n /**\n * Sets billing address.\n * @param address - The address.\n */\n private readonly _setBillingAddress = (address: Address): void => {\n if (this.props.data.checkout.result) {\n const newBillingAddress = { ...address };\n\n if (address.ThreeLetterISORegionName && !newBillingAddress.TwoLetterISORegionName) {\n newBillingAddress.TwoLetterISORegionName = this.addressFormat.getTwoLetterISORegionName(address.ThreeLetterISORegionName);\n }\n\n this.props.data.checkout.result.updateBillingAddress({\n newBillingAddress,\n additionalProperties: {\n isBillingAddressSameAsShippingAddress: this.isBillingAddressSameAsShipping\n }\n });\n }\n };\n\n /**\n * Reset view.\n */\n private readonly _resetView = () => {\n this._updateCurrentOperation(AddressOperation.Show, this.billingAddress);\n this._updateModuleState();\n };\n\n /**\n * Update current operation.\n * @param operation - Address operation\n * @param selectedAddress - The selected address.\n */\n private readonly _updateCurrentOperation = (operation: AddressOperation, selectedAddress?: Address) => {\n this.currentOperation = operation;\n this.selectedAddress = selectedAddress;\n\n if (this.currentOperation === AddressOperation.Add || this.currentOperation === AddressOperation.Update) {\n this.addUpdateAddress = { ...this.selectedAddress } || {};\n set(this.addUpdateAddress, {\n ThreeLetterISORegionName: this.addUpdateAddress.ThreeLetterISORegionName || this.countryRegionId\n });\n set(this.addUpdateAddress, { AddressTypeValue: this.addUpdateAddress.AddressTypeValue || this.defaultAddressType });\n }\n };\n\n /**\n * Updates the module state.\n */\n private readonly _updateModuleState = () => {\n if (this.currentOperation === AddressOperation.Show) {\n this.props.moduleState.onReady();\n } else {\n this.props.moduleState.onUpdating();\n }\n };\n\n @action\n private readonly _setErrorMessage = (errorMessage: string): void => {\n this.props.telemetry.error(errorMessage);\n this.props.moduleState.setHasError(true);\n this.props.moduleState.onUpdating();\n this.setState({\n errorMessage\n });\n };\n}\n\nexport default CheckoutBillingAddress;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAddressAddItem, IAddressAddUpdateProps } from '../../common/components/address-add';\nimport { IAddressShowItem, IAddressShowProps } from '../../common/components/address-show';\nimport { ICheckoutBillingAddressViewProps } from './checkout-billing-address';\n\n/**\n * Address show component.\n * @param param0 - Root param.\n * @param param0.AddressDetail - Address detail.\n * @param param0.items - IAddressShowItem[].\n * @returns - Address Node.\n */\nconst AddressShow: React.FC = ({ AddressDetail, items }) => {\n return (\n \n {items.map((item: IAddressShowItem) => {\n return <>{item.description};\n })}\n \n );\n};\n\n/**\n * Address Add Update Component.\n * @param param0 - Root param.\n * @param param0.AddressForm - Address form.\n * @param param0.heading - Address Heading.\n * @param param0.items - IAddressAddItem[].\n * @param param0.hasError - Boolean.\n * @param param0.error - IAddressError.\n * @param param0.isShowSaveButton - Boolean.\n * @param param0.saveButton - Save button.\n * @param param0.isShowCancelButton - Boolean.\n * @param param0.cancelButton - Cancel button.\n * @returns - AddressForm Node.\n */\nconst AddressAddUpdate: React.FC = ({\n AddressForm,\n heading,\n items,\n hasError,\n error,\n isShowSaveButton,\n saveButton,\n isShowCancelButton,\n cancelButton\n}) => {\n return (\n \n {heading}\n {items.map((item: IAddressAddItem) => {\n const { AddressItem, key, label, alert, input } = item;\n return (\n \n {label}\n {alert}\n {input}\n \n );\n })}\n {hasError && (\n \n {error.title}\n {error.message}\n \n )}\n {isShowSaveButton && saveButton}\n {isShowCancelButton && cancelButton}\n \n );\n};\n\n/**\n * Checkout Billing Address View Component.\n * @param props - Props.\n * @returns - CheckoutBillingAddress Module.\n */\nconst CheckoutBillingAddressView: React.FC = props => {\n const {\n CheckoutBillingAddress,\n checkoutErrorRef,\n alert,\n viewState,\n heading,\n sameAsShippingCheckbox,\n showAddress,\n showAddOrUpdateAddress\n } = props;\n\n return (\n \n {heading}\n {alert}\n {viewState.isShowSameAsShippingCheckbox && sameAsShippingCheckbox}\n {viewState.isShowAddress && }\n {viewState.isShowAddOrUpdateAddress && }\n \n );\n};\n\nexport default CheckoutBillingAddressView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IImageProps, IImageSettings, Image, IRequestContext } from '@msdyn365-commerce/core';\nimport { CartLine, SimpleProduct } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { format, isMobile, VariantType } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\nimport groupBy from 'lodash/groupBy';\n\nimport { ICheckoutShippingAddressResources } from '../checkout-shipping-address.props.autogenerated';\n\n/**\n * The cartline product interface.\n */\nexport interface ICartLineWithProduct {\n cartLine: CartLine;\n product?: SimpleProduct;\n}\n\n/**\n * The checkout shipping cartline interface.\n */\nexport interface ICheckoutShippingCartLineInfo {\n lineId: string;\n imageProps: IImageProps;\n quantity: number;\n shippingAddressId?: number;\n}\n\n/**\n * The checkout shipping cartline props.\n */\nexport interface ICheckoutShippingCartLinesProps {\n moduleClassName: string;\n cartLines: ICheckoutShippingCartLineInfo[];\n title: string;\n itemTitle: string;\n resources: ICheckoutShippingAddressResources;\n isMultipleAddressShippingEnabled?: boolean;\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention -- Following as per module\nexport const CheckoutPickupCartLines: React.FC = ({\n moduleClassName,\n cartLines,\n title,\n itemTitle,\n resources,\n isMultipleAddressShippingEnabled = false\n}) => {\n const context = ({\n gridSettings: {\n xs: { w: 767 },\n sm: { w: 991 },\n md: { w: 1199 },\n lg: { w: 1599 },\n xl: { w: 1600 }\n }\n } as unknown) as IRequestContext;\n const isMobileCheck = isMobile({ variant: VariantType.Browser, context });\n const isMobileView = isMobileCheck === 'xs' || isMobileCheck === 'sm';\n\n if (!ArrayExtensions.hasElements(cartLines)) {\n return null;\n }\n const cartLinesForShipping: CartLine[] = [];\n if (cartLines.length > 0) {\n const getGroupByDelivery = (items: ICheckoutShippingCartLineInfo[]) => groupBy(items, item => item.shippingAddressId);\n cartLinesForShipping.push(getGroupByDelivery(cartLines));\n }\n const renderShipMultiAddressView = isMultipleAddressShippingEnabled && cartLinesForShipping.length > 1;\n const quantity = 1;\n return renderShipMultiAddressView ? (\n
{resources.headingAfterMultiSelectAddressSelect}
\n ) : (\n
\n
\n
{title}
\n
{itemTitle}
\n
\n
\n {cartLines.map((cartLine: ICheckoutShippingCartLineInfo) => {\n const isShowQty = cartLine.quantity > quantity;\n let className = `${moduleClassName}__group-images-lines-product`;\n const role = 'text';\n if (isShowQty) {\n className = classnames(className, ' product-image-wide');\n }\n return (\n
\n \n {isMobileView\n ? isShowQty && (\n \n {cartLine.quantity}\n
\n )\n : isShowQty && (\n
\n )}\n {!isMobileView && isShowQty && (\n \n {format(resources.productQuantityInfo, cartLine.quantity, cartLine.imageProps.altText)}\n \n )}\n
\n );\n })}\n \n \n );\n};\n\n/**\n * The checkout shipping cartline image settings.\n */\nexport const defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=108&h=108&q=80&m=6&f=jpg', w: 108, h: 108 },\n lg: { q: 'w=108&h=108&q=80&m=6&f=jpg', w: 108, h: 108 },\n xl: { q: 'w=108&h=108&q=80&m=6&f=jpg', w: 108, h: 108 }\n },\n lazyload: true,\n quality: 80\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\n/// \n\nimport {\n Address,\n AddressPurpose,\n CartLine,\n CountryRegionInfo,\n SimpleProduct,\n StateProvinceInfo,\n TenderLine,\n TokenizedPaymentCard\n} from '@msdyn365-commerce/retail-proxy';\nimport MsDyn365 from '@msdyn365-commerce/core';\nimport { IModuleStateProps, withModuleState } from '@msdyn365-commerce-modules/checkout-utilities';\nimport {\n ArrayExtensions,\n getFallbackImageUrl,\n getSimpleProducts,\n ObjectExtensions,\n ProductInput\n} from '@msdyn365-commerce-modules/retail-actions';\nimport { format, getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { action, computed, observable, reaction, set } from 'mobx';\nimport { observer } from 'mobx-react';\nimport get from 'lodash/get';\nimport * as React from 'react';\n\nimport { CheckoutModule, ErrorLocation } from '@msdyn365-commerce/global-state';\nimport { AutoSuggest } from '../../common/address-autosuggest';\nimport { IAutoSuggestOptions } from '../../common/address-autosuggest.data';\nimport { AddressCommon } from '../../common/address-common';\nimport { AddressFormat } from '../../common/address-format';\nimport { AddressItemType } from '../../common/address-format.data';\nimport { AddressMetaData } from '../../common/address-meta-data';\nimport { AddressOperation, AddressType, IAddressResource, IAddressResponse } from '../../common/address-module.data';\nimport { AddressAddUpdate, IAddressAddUpdateProps } from '../../common/components/address-add';\nimport { AddressSelect, IAddressSelectProps } from '../../common/components/address-select';\nimport { AddressShow, IAddressShowProps } from '../../common/components/address-show';\nimport { ICheckoutShippingAddressData } from './checkout-shipping-address.data';\nimport { ICheckoutShippingAddressProps } from './checkout-shipping-address.props.autogenerated';\nimport {\n CheckoutPickupCartLines,\n defaultImageSettings,\n ICartLineWithProduct,\n ICheckoutShippingCartLineInfo,\n ICheckoutShippingCartLinesProps\n} from './components/checkout-shipping-cartlines-images';\nimport { ErrorComponent } from '../../common/components/address-error-alert';\nimport { focusOnCheckoutError } from '../../checkout-errors/checkout-errors';\nimport { AddressShipMultiple, IShipMultipleAddressesViewProps } from '../../common/components/address-ship-multiple';\nimport { IShipMultipleAddressesLineViewProps } from '../../common/components/address-ship-multiple-lines';\n\n/**\n * The checkout address props interface.\n */\nexport interface ICheckoutAddressProps extends ICheckoutShippingAddressProps, IModuleStateProps {}\n\n/**\n * The checkout shipping address view state.\n */\nexport interface ICheckoutShippingAddressViewState {\n isShowAddress: boolean;\n isShowAddresList: boolean;\n isShowAddOrUpdateAddress: boolean;\n isShowShipMultipleAddress?: boolean;\n}\n\n/**\n * The checkout shipping address state.\n */\nexport interface ICheckoutAddresState {\n shippingGroups: ICartLineWithProduct[];\n shippingGroupsBuffer: ICartLineWithProduct[];\n selectedShippingLines: IShipMultipleAddressesLineViewModel[];\n errorMessage?: string;\n}\n\n/**\n * The checkout shipping address view props.\n */\nexport interface ICheckoutShippingAddressViewProps extends ICheckoutAddressProps {\n className: string;\n currentOperation: AddressOperation;\n selectedAddress?: Address;\n addUpdateAddress: Address;\n addressListSelectedAddress: Address;\n countryRegionId: string;\n stateProvinceInfo?: StateProvinceInfo[];\n customerAddresses: Address[];\n validationError: object;\n addressActionResponse?: IAddressResponse;\n viewState: ICheckoutShippingAddressViewState;\n CheckoutShippingAddress: IModuleProps;\n isUpdating: boolean;\n hasError: boolean;\n showAddress: IAddressShowProps;\n showAddOrUpdateAddress: IAddressAddUpdateProps;\n cartLineImages?: React.ReactNode;\n showAddressSelect: IAddressSelectProps;\n alert?: React.ReactNode;\n checkoutErrorRef?: React.RefObject;\n showShipMultipleAddresses?: IShipMultipleAddressesViewProps;\n ProductsTable?: INodeProps;\n ProductsTableRow?: INodeProps;\n ProductsTableHeading?: React.ReactNode;\n orderLines?: IShipMultipleAddressesLineViewProps[];\n showAddOrUpdateAddressHandler?(onSaveHandler?: () => void, onCancelHandler?: () => void): IAddressAddUpdateProps;\n showAddressSelectHandler?(\n onShipMultipleAddressesHandler?: () => void,\n onAddAddressHandler?: () => void,\n onSaveHandler?: () => void,\n onCancelHandler?: () => void\n ): IAddressSelectProps;\n}\n\nexport interface IShipMultipleAddressesLineViewModel {\n isChecked: boolean;\n cartLine: CartLine;\n}\n\n/**\n * IExpressPaymentDetail interface.\n */\ninterface IExpressPaymentDetails {\n email?: string;\n tenderLine?: TenderLine;\n tokenizedPaymentCard?: TokenizedPaymentCard;\n paymentTenderType?: string;\n address?: Address;\n isExpressCheckoutAppliedInCartPage: boolean;\n isExpressAddressAppliedInCartPage?: boolean;\n}\n\ntype GridSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\n/**\n *\n * Address component.\n * @extends {React.Component>}\n */\n// @ts-expect-error\n@withModuleState\n@observer\nclass CheckoutShippingAddress extends React.Component {\n @observable private currentOperation: AddressOperation;\n\n @observable private selectedAddress?: Address;\n\n @observable private addUpdateAddress: Address;\n\n @observable private countryRegionId: string = 'USA';\n\n @observable private stateProvinceInfo?: StateProvinceInfo[];\n\n @observable private customerAddresses: Address[] = [];\n\n @observable private validationError: object;\n\n @observable private addressActionResponse?: IAddressResponse;\n\n @observable private isUpdating?: boolean;\n\n @observable private hasError?: boolean;\n\n @observable private addressListSelectedAddress: Address = {};\n\n @observable\n private _viewport: GridSize;\n\n @computed get isMobile(): boolean {\n return this._viewport === 'xs' || this._viewport === 'sm';\n }\n\n private readonly addressCommon: AddressCommon;\n\n private addressFormat!: AddressFormat;\n\n private countryRegions: CountryRegionInfo[] = [];\n\n private addressPurposes: AddressPurpose[] = [];\n\n private readonly resources: IAddressResource;\n\n private readonly defaultAddressType: number = 6; // Default to Home\n\n private readonly telemetryContent?: ITelemetryContent;\n\n private autoSuggest?: AutoSuggest;\n\n private readonly multiplePickupStoreSwitchName: string = 'Dynamics.AX.Application.RetailMultiplePickupDeliveryModeFeature';\n\n private retailMultiplePickUpOptionEnabled?: boolean = false;\n\n private readonly checkoutErrorRef: React.RefObject = React.createRef();\n\n public constructor(props: ICheckoutAddressProps) {\n super(props);\n this._viewport =\n props.context.request && props.context.request.device && props.context.request.device.Type === 'Mobile' ? 'xs' : 'lg';\n this._updateViewport = this._updateViewport.bind(this);\n this.state = { shippingGroups: [], shippingGroupsBuffer: [], selectedShippingLines: [] };\n const { context, data, resources, telemetry } = this.props;\n\n this.addUpdateAddress = {};\n this.resources = resources;\n this.currentOperation = AddressOperation.List;\n this.countryRegions = data.countryRegions.result || [];\n this.addressPurposes = data.addressPurposes.result || [];\n this.customerAddresses = data.address.result || [];\n this.stateProvinceInfo = data.countryStates.result || [];\n this.addressCommon = new AddressCommon(context, resources, telemetry);\n this.addressFormat = new AddressFormat(\n this.countryRegions,\n new AddressMetaData({ ...resources }, this._getAddressFormatExcludeList()),\n this.addressPurposes\n );\n this.validationError = {};\n this.retailMultiplePickUpOptionEnabled = data.featureState.result?.find(\n feature => feature.Name === this.multiplePickupStoreSwitchName\n )?.IsEnabled;\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n this._updateViewport();\n }\n\n public async componentDidMount(): Promise {\n const {\n context: {\n telemetry,\n actionContext: {\n requestContext: { channel }\n }\n },\n config: { autoSuggestionEnabled, autoSuggestOptions },\n resources\n } = this.props;\n\n // Initializing data props\n this._dataInitialize(this.props);\n\n this.addressFormat = new AddressFormat(\n this.countryRegions,\n new AddressMetaData({ ...resources }, this._getAddressFormatExcludeList()),\n this.addressPurposes\n );\n\n this.props.data.checkout.then(() => {\n this._setDefaultCountryRegionId();\n this._initModuleState();\n });\n\n reaction(\n () => this.countryRegionId,\n () => {\n this._getStateProvinces();\n }\n );\n\n reaction(\n () => this.currentOperation,\n () => {\n this._getStateProvinces();\n }\n );\n\n reaction(\n () => this.props.data.checkout.result?.shippingAddressFromExpressCheckout,\n () => {\n if (!this.expressPaymentDetailsFromCartPage && this._canShip()) {\n let address = this.props.data.checkout.result?.shippingAddressFromExpressCheckout;\n\n if (address?.TwoLetterISORegionName) {\n const threeLetterIsoRegionName = this.getThreeLetterIsoRegionName(address.TwoLetterISORegionName);\n\n address = { ...address, ThreeLetterISORegionName: threeLetterIsoRegionName };\n\n if (threeLetterIsoRegionName && threeLetterIsoRegionName !== this.countryRegionId) {\n this._onCountryChange(threeLetterIsoRegionName);\n }\n }\n\n this._updateCurrentOperation(AddressOperation.Add, address);\n this._onAddressAddUpdateSubmit();\n }\n }\n );\n\n if (autoSuggestionEnabled) {\n if (channel && !channel.BingMapsApiKey) {\n telemetry.error('BingMapsApiKey is missing.');\n return;\n }\n\n if (channel && !channel.BingMapsEnabled) {\n telemetry.error('Map is disabled from HQ.');\n return;\n }\n\n const options: IAutoSuggestOptions = { ...autoSuggestOptions };\n this.autoSuggest = new AutoSuggest(\n telemetry,\n options,\n channel?.BingMapsApiKey,\n channel?.ChannelCountryRegionISOCode,\n channel?.DefaultLanguageId\n );\n\n // Customer doesn't have any address. Then add view will be loaded directly. Code for the same to handle that\n if (\n this.props.data.storeSelectorStateManager.result &&\n (this.currentOperation === AddressOperation.Add || this.currentOperation === AddressOperation.Update)\n ) {\n await this.autoSuggest._loadMapAPI(await this.props.data.storeSelectorStateManager);\n }\n\n reaction(\n () =>\n this.props.data.storeSelectorStateManager.result?.loadMapApi &&\n (this.currentOperation === AddressOperation.Add || this.currentOperation === AddressOperation.Update),\n async () => {\n await this.autoSuggest?._loadMapAPI(await this.props.data.storeSelectorStateManager);\n }\n );\n\n reaction(\n () => this.props.data.storeSelectorStateManager.result?.isMapApiLoaded,\n async () => {\n await this._attachMapAutoSuggest();\n }\n );\n }\n\n if (this.props.data.checkout.result?.shouldEnableCheckoutErrorDisplayMessaging) {\n reaction(\n () => this.props.data.checkout.result?.checkoutError,\n checkoutError => {\n if (\n checkoutError &&\n checkoutError.errorLocation === ErrorLocation.CheckoutShippingAddress &&\n checkoutError.errorMessage\n ) {\n this._setErrorMessage(checkoutError.errorMessage);\n }\n }\n );\n\n reaction(\n () => this.props.data.checkout.result?.checkoutErrorFocus,\n checkoutErrorFocus => {\n if (checkoutErrorFocus === CheckoutModule.CheckoutShippingAddress) {\n focusOnCheckoutError(this.checkoutErrorRef, this.props.context.actionContext);\n }\n }\n );\n }\n\n if (MsDyn365.isBrowser) {\n window.addEventListener('resize', this._updateViewport);\n this._updateViewport();\n }\n\n await this._initPickupGroup();\n }\n\n public async componentDidUpdate(): Promise {\n if (this.currentOperation === AddressOperation.Add || this.currentOperation === AddressOperation.Update) {\n if (this.props.data.storeSelectorStateManager.result?.isMapApiLoaded) {\n await this._attachMapAutoSuggest();\n }\n } else {\n this.autoSuggest?.disposeAutoSuggest();\n }\n }\n\n public componentWillUnmount(): void {\n if (MsDyn365.isBrowser) {\n window.removeEventListener('resize', this._updateViewport);\n }\n }\n\n public shouldComponentUpdate(nextProps: ICheckoutAddressProps, nextState: ICheckoutAddresState): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | null {\n if (!this._canShip()) {\n return null;\n }\n\n const {\n config,\n context,\n renderView,\n resources,\n moduleState: { hasError }\n } = this.props;\n const { headingImages, itemsText, singleItemText, errorMessageTitle } = resources;\n const { imageSettings } = config;\n\n // Line images\n const cartLines: ICheckoutShippingCartLineInfo[] = this.state.shippingGroups\n .filter(x => !ObjectExtensions.isNullOrUndefined(x.product))\n .map(line => ({\n lineId: line.cartLine.LineId ?? '',\n imageProps: {\n requestContext: context.actionContext.requestContext,\n className: 'ms-checkout-shipping-address__group-images-lines-line-image',\n altText: line.product?.Name,\n src: line.product?.PrimaryImageUrl ?? '',\n fallBackSrc: getFallbackImageUrl(\n line.product?.ItemId,\n context.actionContext.requestContext.apiSettings,\n context.request.app?.config?.OmniChannelMedia\n ),\n gridSettings: context.request.gridSettings!,\n imageSettings: imageSettings ?? defaultImageSettings,\n loadFailureBehavior: 'empty'\n },\n quantity: line.cartLine.Quantity ?? 0,\n shippingAddressId: line.cartLine.ShippingAddress?.RecordId ?? 0\n }));\n\n const numberOfCartLines = this._countItems(cartLines);\n const itemText = numberOfCartLines > 1 ? itemsText : singleItemText;\n const itemTitle = `(${format(itemText, numberOfCartLines)})`;\n\n const lineImageProps: ICheckoutShippingCartLinesProps = {\n moduleClassName: 'ms-checkout-shipping-address',\n cartLines: cartLines.filter(x => !ObjectExtensions.isNullOrUndefined(x)),\n itemTitle: itemTitle,\n title: headingImages,\n resources: this.props.resources,\n isMultipleAddressShippingEnabled: config.multipleAddressShippingEnabled\n };\n\n const cartLineImages: React.ReactNode = ;\n const multiplePickupStoreSwitchName = 'Dynamics.AX.Application.RetailMultiplePickupDeliveryModeFeature';\n const { featureState } = this.props.data;\n const isRetailMultiplePickUpOptionEnabled = featureState.result?.find(feature => feature.Name === multiplePickupStoreSwitchName)\n ?.IsEnabled;\n\n const errorMessage = this.state.errorMessage;\n\n const viewProps = {\n ...this.props,\n currentOperation: this.currentOperation,\n selectedAddress: this.selectedAddress,\n addUpdateAddress: this.addUpdateAddress,\n addressListSelectedAddress: this.addressListSelectedAddress,\n countryRegionId: this.countryRegionId,\n stateProvinceInfo: this.stateProvinceInfo,\n customerAddresses: this.customerAddresses,\n validationError: this.validationError,\n addressActionResponse: this.addressActionResponse,\n isUpdating: this.isUpdating,\n hasError: this.hasError,\n className: config.className,\n viewState: {\n isShowAddress: this.currentOperation === AddressOperation.Show && this.selectedAddress,\n isShowAddresList: this.currentOperation === AddressOperation.List && this.customerAddresses.length > 0,\n isShowAddOrUpdateAddress:\n this.currentOperation === AddressOperation.Add || this.currentOperation === AddressOperation.Update,\n isShowShipMultipleAddress: this.currentOperation === AddressOperation.Multiple\n },\n CheckoutShippingAddress: {\n moduleProps: this.props,\n className: classnames('ms-checkout-shipping-address', config.className)\n },\n showAddress: this._renderShowAddress(),\n alert: hasError && errorMessage && ,\n checkoutErrorRef: this.checkoutErrorRef,\n\n /**\n * Show address select.\n * @param onShipMultipleAddressesHandler - On ship to multiple addresses click function.\n * @param onAddAddressHandler - On add address click function.\n * @param onSaveHandler - On save click function.\n * @param onCancelHandler - On cancel click function.\n * @returns - Renders select address.\n */\n showAddressSelectHandler: (\n onShipMultipleAddressesHandler?: () => void,\n onAddAddressHandler?: () => void,\n onSaveHandler?: () => void,\n onCancelHandler?: () => void\n ) => this._renderSelectAddress(onShipMultipleAddressesHandler, onAddAddressHandler, onSaveHandler, onCancelHandler),\n\n /**\n * Show ship multiple addresses.\n * @param onSaveHandler - On save click function.\n * @param onCancelHandler - On cancel click function.\n * @returns - Renders ship multiple addresses.\n */\n showShipMultipleAddressesHandler: (onSaveHandler?: () => void, onCancelHandler?: () => void) =>\n this._renderShipMultipleAddresses(onSaveHandler, onCancelHandler),\n showShipMultipleAddresses: this._renderShipMultipleAddresses(),\n\n /**\n * Show add/update address.\n * @param onSaveHandler - On save click function.\n * @param onCancelHandler - On cancel click function.\n * @returns - Renders add/update address.\n */\n showAddOrUpdateAddressHandler: (onSaveHandler?: () => void, onCancelHandler?: () => void) =>\n this._renderAddOrUpdateAddress(onSaveHandler, onCancelHandler),\n showAddOrUpdateAddress: this._renderAddOrUpdateAddress(),\n cartLineImages: isRetailMultiplePickUpOptionEnabled ? cartLineImages : undefined,\n showAddressSelect: this._renderSelectAddress()\n };\n\n return renderView(viewProps) as React.ReactElement;\n }\n\n public onSelect = (line: IShipMultipleAddressesLineViewModel, isChecked: boolean): void => {\n line.isChecked = isChecked;\n\n if (this.state.selectedShippingLines) {\n const updated =\n this.state.selectedShippingLines.map(shippingLine => {\n // @ts-ignore\n if (shippingLine.cartLine?.cartLine?.LineId === line.cartLine.LineId) {\n shippingLine.isChecked = isChecked;\n }\n return shippingLine;\n }) || [];\n\n this.setState({\n selectedShippingLines: updated\n });\n } else {\n console.error(`Shipping lines are invalid.`);\n }\n };\n\n public onSelectAll(isChecked: boolean): void {\n if (this.state.selectedShippingLines) {\n const updated =\n this.state.selectedShippingLines.map(shippingLine => {\n shippingLine.isChecked = isChecked;\n return shippingLine;\n }) || [];\n\n this.setState({\n selectedShippingLines: updated\n });\n } else {\n console.error(`Shipping lines are undefined.`);\n }\n }\n\n public onShippingAddressChange = (shippingLine: CartLine, event: React.ChangeEvent): void => {\n const addressRecordId = event.currentTarget.value;\n const selectedAddress = this.customerAddresses.find(address => (address.RecordId || '').toString() === addressRecordId);\n if (this.state.shippingGroups) {\n const updated = this.state.shippingGroups.map(line => {\n if (line.cartLine.LineId === shippingLine.LineId) {\n const updatedCartLine = {\n ...line.cartLine,\n ShippingAddress: selectedAddress\n };\n return {\n ...line,\n cartLine: updatedCartLine\n };\n }\n return line;\n });\n\n this.setState({\n shippingGroups: updated\n });\n }\n };\n\n public updateIndividualAddresses = (shippingLine: CartLine, event: React.ChangeEvent): void => {\n const addressRecordId = event.currentTarget.value;\n const selectedAddress = this.customerAddresses.find(address => (address.RecordId || '').toString() === addressRecordId);\n if (this.state.shippingGroups) {\n this.setState(prevState => {\n const updated = prevState.shippingGroups.map(line => {\n if (line.cartLine.LineId === shippingLine.LineId) {\n const updatedCartLine = {\n ...line.cartLine,\n ShippingAddress: selectedAddress\n };\n return {\n ...line,\n cartLine: updatedCartLine\n };\n }\n return line;\n });\n\n return {\n shippingGroups: updated\n };\n });\n }\n };\n\n public onBulkShippingAddressChange = (event: React.ChangeEvent): void => {\n if (this.state.selectedShippingLines && this.state.shippingGroups) {\n this.state.selectedShippingLines.forEach((shippingLine, index) => {\n if (shippingLine.isChecked) {\n const cartline = this.state.shippingGroups.find(\n // @ts-ignore\n line => line.cartLine.LineId === shippingLine.cartLine?.cartLine?.LineId\n );\n\n if (cartline) {\n this.updateIndividualAddresses(cartline.cartLine, event);\n }\n }\n });\n } else {\n console.error(`Shipping lines are undefined.`);\n }\n };\n\n /**\n * Initialize pickup group.\n */\n @action\n private readonly _initPickupGroup = async (): Promise => {\n const pickupCartLines: CartLine[] = this._getCartLinesforDelivery();\n const cartLines: ICartLineWithProduct[] = [];\n\n try {\n const products = await this._getProductsByCartLines(\n this.props.data.checkout.result?.checkoutCart.cart.ChannelId || 0,\n pickupCartLines\n );\n for (const line of pickupCartLines) {\n const product: SimpleProduct | undefined = products.find(x => x.RecordId === line.ProductId);\n cartLines.push({ cartLine: line, product });\n }\n this.setState({ shippingGroups: cartLines });\n this.setState({ shippingGroupsBuffer: cartLines });\n\n const initialShippingLineSelection = cartLines.map(cartLine => ({\n isChecked: false,\n cartLine: cartLine as CartLine\n }));\n this.setState({ selectedShippingLines: initialShippingLineSelection });\n } catch (error) {\n // @ts-ignore\n this.props.telemetry.error(error);\n this.setState({ shippingGroups: [] });\n this.setState({ shippingGroupsBuffer: [] });\n this.setState({ selectedShippingLines: [] });\n }\n };\n\n /**\n * On suggestion selected.\n * @param result - Suggestion result interface.\n */\n @action\n private readonly _onSuggestionSelected = async (result: Microsoft.Maps.ISuggestionResult): Promise => {\n this._clearAddressFields();\n const address = this.addressFormat.getTranformedAddress(result, this.stateProvinceInfo);\n const timeout = 0;\n set(this.addUpdateAddress, { Street: '' });\n set(this.addUpdateAddress, { ZipCode: address.ZipCode });\n set(this.addUpdateAddress, { CountyName: address.CountyName });\n set(this.addUpdateAddress, { City: address.City });\n set(this.addUpdateAddress, { State: address.State });\n set(this.addUpdateAddress, { DistrictName: address.DistrictName });\n set(this.addUpdateAddress, { FullAddress: address.FullAddress });\n\n // Bing autosuggest put the complete address in the Street input box. Updating the street input box to show only street address.\n setTimeout(() => {\n set(this.addUpdateAddress, { Street: address.Street });\n }, timeout);\n };\n\n /**\n * Method to clear address fields.\n */\n @action\n private readonly _clearAddressFields = (): void => {\n const addressFormatItem = this.addressFormat.getAddressFormat(\n this.addUpdateAddress.ThreeLetterISORegionName || this.countryRegionId\n );\n for (const formatAddress of addressFormatItem) {\n if (\n this.addUpdateAddress[formatAddress.name] !== undefined &&\n !this.autoSuggest?.excludedAddressFields.includes(formatAddress.name)\n ) {\n this.addressFormat[formatAddress.name] = '';\n }\n }\n this._clearValidation();\n };\n\n /**\n * Method to clear validation.\n */\n @action\n private readonly _clearValidation = (): void => {\n this.validationError = {};\n };\n\n public get expressPaymentDetailsFromCartPage(): IExpressPaymentDetails | null {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Explicitly check for null/undefined.\n const properties =\n this.props.data.cart?.result?.cart?.ExtensionProperties?.find(property => property.Key === 'expressPaymentDetails')?.Value\n ?.StringValue ?? '';\n\n return properties ? (JSON.parse(properties) as IExpressPaymentDetails) : null;\n }\n\n /**\n * Method data initialization.\n * @param props -The checkout address properties.\n */\n private readonly _dataInitialize = (props: ICheckoutAddressProps): void => {\n const { data } = props;\n\n reaction(\n () => data.countryRegions.result,\n () => {\n this.countryRegions = data.countryRegions.result ?? [];\n }\n );\n\n reaction(\n () => data.addressPurposes.result,\n () => {\n this.addressPurposes = data.addressPurposes.result ?? [];\n }\n );\n\n reaction(\n () => data.address.result,\n () => {\n this.customerAddresses = data.address.result ?? [];\n }\n );\n\n reaction(\n () => data.countryStates.result,\n () => {\n this.stateProvinceInfo = data.countryStates.result ?? [];\n }\n );\n\n reaction(\n () => data.featureState.result,\n () => {\n this.retailMultiplePickUpOptionEnabled = data.featureState.result?.find(\n feature => feature.Name === this.multiplePickupStoreSwitchName\n )?.IsEnabled;\n }\n );\n };\n\n /**\n * Method to get cart lines for delivery.\n * @returns The cart line collection.\n */\n private readonly _getCartLinesforDelivery = (): CartLine[] => {\n return this.props.data.checkout.result?.checkoutCart.cart.CartLines?.filter(line => this._isDelivery(line)) ?? [];\n };\n\n /**\n * Method to check cart line for delivery.\n * @param line -The cart line.\n * @returns True/false as per cart line delivery mode.\n */\n private readonly _isDelivery = (line: CartLine): boolean => {\n return this._isNotPickupMode(line.DeliveryMode) && (line.FulfillmentStoreId === undefined || line.FulfillmentStoreId === '');\n };\n\n /**\n * Method to check cart line for delivery.\n * @param deliveryMode -The delivery mode.\n * @returns True/false as per cart line delivery mode.\n */\n private readonly _isNotPickupMode = (deliveryMode: string | undefined): boolean => {\n const pickupDeliveryModeCode = this.props.context.request.channel?.PickupDeliveryModeCode;\n const multiplePickupStoreSwitchName = 'Dynamics.AX.Application.RetailMultiplePickupDeliveryModeFeature';\n const { channelDeliveryOptionConfig, featureState } = this.props.data;\n const retailMultiplePickUpOptionEnabled = featureState.result?.find(feature => feature.Name === multiplePickupStoreSwitchName)\n ?.IsEnabled;\n if (retailMultiplePickUpOptionEnabled && deliveryMode !== undefined) {\n const pickupDeliveryMode = channelDeliveryOptionConfig.result?.PickupDeliveryModeCodes?.some(\n pickupMode => pickupMode !== deliveryMode\n );\n return pickupDeliveryMode !== undefined ? pickupDeliveryMode : false;\n }\n return deliveryMode !== undefined && pickupDeliveryModeCode !== undefined && deliveryMode !== pickupDeliveryModeCode;\n };\n\n /**\n * Method to check cart line for delivery.\n * @param channelId - The channelId.\n * @param cartLines - Cart line collections.\n * @returns Collection of SimpleProduct.\n */\n private readonly _getProductsByCartLines = async (channelId: number, cartLines: CartLine[]): Promise => {\n const actionContext = this.props.context.actionContext;\n const productInputs = cartLines\n .filter(line => !ObjectExtensions.isNullOrUndefined(line.ProductId))\n .map(\n line =>\n new ProductInput(\n line.ProductId || 0,\n actionContext.requestContext.apiSettings,\n channelId,\n undefined,\n actionContext.requestContext,\n line.CatalogId || 0\n )\n );\n return getSimpleProducts(productInputs, actionContext);\n };\n\n /**\n * Method to render ship multiple addresses.\n * @param onSaveHandler -- Handles onsave functionality.\n * @param onCancelHandler -- Handles oncancel functionality.\n */\n private readonly _renderShipMultipleAddresses = (onSaveHandler?: () => void, onCancelHandler?: () => void) => {\n const { config, context } = this.props;\n const { imageSettings } = config;\n\n // Line images\n const cartlineImages: ICheckoutShippingCartLineInfo[] = this.state.shippingGroups\n .filter(x => !ObjectExtensions.isNullOrUndefined(x.product))\n .map(line => ({\n lineId: line.cartLine.LineId ?? '',\n imageProps: {\n requestContext: context.actionContext.requestContext,\n className: 'ms-checkout-shipping-address__group-images-lines-line-image',\n altText: line.product?.Name,\n src: line.product?.PrimaryImageUrl ?? '',\n fallBackSrc: getFallbackImageUrl(\n line.product?.ItemId,\n context.actionContext.requestContext.apiSettings,\n context.request.app?.config?.OmniChannelMedia\n ),\n gridSettings: context.request.gridSettings!,\n imageSettings: imageSettings ?? defaultImageSettings,\n loadFailureBehavior: 'empty'\n },\n quantity: line.cartLine.Quantity ?? 0\n }));\n\n /**\n * On Cancel Button Function.\n */\n const onCancelButtonHandler = () => {\n this._resetView();\n onCancelHandler?.();\n };\n\n return AddressShipMultiple({\n /**\n * On Save Function.\n */\n onSave: () => {\n this.onSubmit();\n onSaveHandler?.();\n },\n\n onCancel: !this.selectedAddress && !this.addressCommon.isAuthenticatedFlow() ? () => {} : onCancelButtonHandler,\n\n onSelect: this.onSelect.bind(this),\n\n onSelectAll: this.onSelectAll.bind(this),\n\n onClear: () => {\n this.onSelectAll(false);\n },\n\n onShippingAddressChange: this.onShippingAddressChange.bind(this),\n\n onBulkShippingAddressChange: this.onBulkShippingAddressChange.bind(this),\n\n /**\n * On Ship to Single Address Function.\n */\n onShipSingleAddress: () => {\n const resetSelectedShippingLines = this.state.selectedShippingLines\n ? this.state.selectedShippingLines.map(shippingLine => ({\n isChecked: false,\n cartLine: shippingLine.cartLine\n }))\n : [];\n this.setState({\n selectedShippingLines: resetSelectedShippingLines,\n shippingGroups: this.state.shippingGroupsBuffer\n });\n this._updateCurrentOperation(AddressOperation.Show, this.addressListSelectedAddress);\n this._updateModuleState();\n },\n\n hasExternalSubmitGroup: this.props.moduleState.hasExternalSubmitGroup,\n\n shippingLines: this.state.shippingGroups,\n\n shippingLineImages: cartlineImages,\n\n selectedShippingLines: this.state.selectedShippingLines ? this.state.selectedShippingLines : [],\n\n customerAddresses: this.customerAddresses,\n\n context: this.props.context,\n\n currencyCode: this.currencyCode,\n\n moduleId: this.props.id,\n\n moduleTypeName: this.props.typeName,\n\n resources: this.resources,\n\n telemetryContent: this.telemetryContent,\n\n isMobile: this.isMobile\n });\n };\n\n /**\n * Method to render add/update address.\n * @param onSaveHandler -- Handles onsave functionality.\n * @param onCancelHandler -- Handles oncancel functionality.\n * @returns Address app/update props.\n */\n private readonly _renderAddOrUpdateAddress = (onSaveHandler?: () => void, onCancelHandler?: () => void): IAddressAddUpdateProps => {\n const addressFormat =\n this.currentOperation === AddressOperation.Add && this.addressCommon.isAuthenticatedFlow()\n ? this.addressFormat\n : this.addressFormat;\n\n /**\n * On Cancel Button Function.\n */\n const onCancelButtonHandler = () => {\n this._resetView();\n onCancelHandler?.();\n };\n return AddressAddUpdate({\n isUpdating: this.isUpdating,\n resources: this.resources,\n addressType: AddressType.Shipping,\n addressFormat: addressFormat.getAddressFormat(this.addUpdateAddress.ThreeLetterISORegionName || this.countryRegionId),\n defaultCountryRegionId: this.countryRegionId,\n defaultAddressType: this.defaultAddressType,\n selectedAddress: this.addUpdateAddress,\n validationError: this.validationError,\n hasError: this.hasError,\n addressActionResponse: this.addressActionResponse,\n telemetryContent: this.telemetryContent,\n dropdownDisplayData: addressFormat.getPrefilledAddressDropdownData(\n this.resources.addressStateDefaultSelectionText,\n this.stateProvinceInfo\n ),\n onInputChange: this._onAddressAddUpdateInputChange,\n onDropdownChange: this._onAddressAddUpdateDropdownChange,\n hasExternalSubmitGroup: this.props.moduleState.hasExternalSubmitGroup,\n\n /**\n * On Save Function.\n */\n onSave: () => {\n this.onSubmit();\n onSaveHandler?.();\n },\n\n onCancel: !this.selectedAddress && !this.addressCommon.isAuthenticatedFlow() ? () => {} : onCancelButtonHandler\n });\n };\n\n /**\n * Method to render select address.\n * @param onShipMultipleAddressesHandler - To handle ship to multiple addresses button click.\n * @param onAddAddressHandler - To handle add address button click.\n * @param onSaveHandler - To handle save button click.\n * @param onCancelHandler - To handle cancel button click.\n * @returns Select address props.\n */\n private readonly _renderSelectAddress = (\n onShipMultipleAddressesHandler?: () => void,\n onAddAddressHandler?: () => void,\n onSaveHandler?: () => void,\n onCancelHandler?: () => void\n ): IAddressSelectProps => {\n /**\n * On Cancel Button Function.\n */\n const onCancelButtonHandler = () => {\n this._resetView();\n onCancelHandler?.();\n };\n return AddressSelect({\n addressFormat: this.addressFormat,\n addresses: this.customerAddresses,\n resources: this.resources,\n addressPurposes: this.addressPurposes,\n selectedAddress: this.addressListSelectedAddress,\n onAddressOptionChange: this._onAddressOptionChange,\n hasExternalSubmitGroup: this.props.moduleState.hasExternalSubmitGroup,\n telemetryContent: this.telemetryContent,\n\n /**\n * On Ship to Multiple Addresses Function.\n */\n onShipMultipleAddresses: () => {\n this._goToShipMultipleAddresses();\n onShipMultipleAddressesHandler?.();\n },\n\n /**\n * On Add Address Function.\n */\n onAddAddress: () => {\n this._goToAddAddress();\n onAddAddressHandler?.();\n },\n\n /**\n * On Save Function.\n */\n onSave: () => {\n this._onSelectAddress();\n onSaveHandler?.();\n },\n\n onCancel: !this.selectedAddress ? () => {} : onCancelButtonHandler,\n\n multipleAddressShippingEnabled: this.props.config.multipleAddressShippingEnabled\n });\n };\n\n /**\n * Method to render show address.\n * @returns Show address props.\n */\n private _renderShowAddress(): IAddressShowProps | null {\n if (this.selectedAddress) {\n return AddressShow({\n address: this.selectedAddress,\n addressFormat: this.addressFormat.getAddressFormat(this.selectedAddress.ThreeLetterISORegionName || ''),\n addressPurposes: this.addressPurposes\n });\n }\n\n return null;\n }\n\n /**\n * Method to render map auto suggest.\n */\n private readonly _attachMapAutoSuggest = async (): Promise => {\n const {\n data: {\n storeSelectorStateManager: { result: storeSelectorStateManager }\n }\n } = this.props;\n\n if (storeSelectorStateManager?.isMapApiLoaded) {\n this.autoSuggest?.attachAutoSuggest('#shipping_addressstreet', '#shipping_addressstreet_container', this._onSuggestionSelected);\n }\n };\n\n /**\n * Method gets called on address option change.\n * @param event - To get current option.\n */\n private readonly _onAddressOptionChange = (event: React.ChangeEvent) => {\n const addressRecordId = event.currentTarget.value;\n const selectedAddress = this.customerAddresses.find(address => (address.RecordId || '').toString() === addressRecordId);\n if (selectedAddress) {\n this.addressListSelectedAddress = selectedAddress;\n }\n };\n\n /**\n * Method to render map auto suggest.\n * @param name - Address name field.\n * @param value - Address name value field.\n */\n private readonly onAddressAddUpdate = (name: string, value: string | boolean) => {\n set(this.addUpdateAddress, { [name]: value });\n this.addressFormat.validateAddressFormat(this.addUpdateAddress, this.validationError, this.countryRegionId, name);\n };\n\n /**\n * Method to get called on address update change.\n * @param event - Input element.\n */\n private readonly _onAddressAddUpdateInputChange = (event: React.ChangeEvent): void => {\n if (event.target.type === 'checkbox') {\n this.onAddressAddUpdate(event.target.name, event.target.checked);\n } else {\n const value = (event.target.value || '').replace(new RegExp('[<>]', 'gi'), '');\n this.onAddressAddUpdate(event.target.name, value);\n }\n };\n\n /**\n * Method to get called on address update dropdown change.\n * @param event - Select element.\n */\n private readonly _onAddressAddUpdateDropdownChange = (event: React.ChangeEvent): void => {\n this.onAddressAddUpdate(event.target.name, event.target.value);\n\n if (event.target.name === AddressItemType[AddressItemType.ThreeLetterISORegionName]) {\n this._onCountryChange(event.target.value);\n }\n };\n\n /**\n * Method to get called on address update submit.\n */\n private readonly _onAddressAddUpdateSubmit = (): void => {\n if (!this.addressFormat.validateAddressFormat(this.addUpdateAddress, this.validationError, this.countryRegionId)) {\n return;\n }\n\n let response: Promise;\n if (this.addressCommon.isAuthenticatedFlow() && this._isNewAddress(this.addUpdateAddress)) {\n response =\n this.currentOperation === AddressOperation.Update\n ? this.addressCommon.updateCustomerAddress(this.addUpdateAddress)\n : this.addressCommon.addCustomerAddress(this.addUpdateAddress);\n } else {\n response = Promise.resolve({ address: this.addUpdateAddress });\n }\n\n this.isUpdating = true;\n this._updateModuleState();\n\n response.then(\n (result: IAddressResponse) => {\n this.isUpdating = false;\n\n if (result.address) {\n this.hasError = false;\n this._clearError();\n if (result.customerAddresses) {\n this._onAddOrUpdateSuccess({ customerAddresses: result.customerAddresses, address: result.address });\n } else {\n this._onAddOrUpdateSuccess({ address: result.address });\n }\n } else {\n this.hasError = true;\n this.addressActionResponse = result;\n this._updateModuleState();\n }\n },\n () => {\n this.hasError = true;\n this.isUpdating = false;\n this._updateModuleState();\n }\n );\n };\n\n /**\n * Method to get called on country change.\n * @param countryRegionId - Country region id.\n */\n private readonly _onCountryChange = (countryRegionId: string) => {\n this.countryRegionId = countryRegionId;\n const twoLetterIsoRegionName = this.addressFormat.getTwoLetterISORegionName(countryRegionId);\n set(this.addUpdateAddress, { ThreeLetterISORegionName: countryRegionId });\n set(this.addUpdateAddress, { TwoLetterISORegionName: twoLetterIsoRegionName });\n this.autoSuggest?.changeAutoSuggestionCountryCode(twoLetterIsoRegionName);\n this._clearAddressFields();\n };\n\n /**\n * Method to get all address format exclude list.\n * @returns Collection of address items.\n */\n private readonly _getAddressFormatExcludeList = (): AddressItemType[] => {\n const { config } = this.props;\n const addressFormatExcludeList: AddressItemType[] = [];\n\n if (!config.showAddressType) {\n addressFormatExcludeList.push(AddressItemType.AddressTypeValue);\n }\n\n addressFormatExcludeList.push(AddressItemType.IsPrimary);\n\n return addressFormatExcludeList;\n };\n\n /**\n * Method to get all state/provinces.\n */\n private readonly _getStateProvinces = (): void => {\n if (\n !this.countryRegionId ||\n !(this.currentOperation === AddressOperation.Add || this.currentOperation === AddressOperation.Update)\n ) {\n return;\n }\n\n this.addressCommon.getStateProvinces(this.countryRegionId).then((result: StateProvinceInfo[]) => {\n const stateInfo = result.some(state => state.StateId === this.addUpdateAddress.State);\n\n // Reset state if selected state not found in the list.\n if (!stateInfo) {\n set(this.addUpdateAddress, { State: '' });\n }\n\n this.stateProvinceInfo = result;\n });\n };\n\n /**\n * Method to set default country region id.\n */\n private _setDefaultCountryRegionId(): void {\n const { request } = this.props.context;\n const market = request.channel?.ChannelCountryRegionISOCode;\n this.countryRegionId = this.addressCommon.getDefaultCountryRegionId(this.countryRegionId, this.countryRegions, market);\n }\n\n /**\n * Method to get default address region id.\n * @returns - Address object from existing addresses.\n */\n private readonly _getDefaultAddress = (): Address | undefined => {\n if (this.customerAddresses) {\n const primaryAddress = this.customerAddresses.find((address: Address) => address.IsPrimary);\n return primaryAddress || (this.customerAddresses.length > 0 ? this.customerAddresses[0] : undefined);\n }\n return undefined;\n };\n\n /**\n * Method to get address from express payment details from cart page.\n * @returns - Address.\n */\n private readonly _getAddressFromCartExpressPaymentDetails = (): Address | undefined => {\n if (this.expressPaymentDetailsFromCartPage) {\n const { tokenizedPaymentCard, address, isExpressAddressAppliedInCartPage } = this.expressPaymentDetailsFromCartPage;\n\n let addressFromCartExpress: Address | undefined;\n\n if (isExpressAddressAppliedInCartPage) {\n addressFromCartExpress = address ? this.getExpressAddress(address) : undefined;\n } else {\n addressFromCartExpress = tokenizedPaymentCard ? this.getAddressFromTokenizedPaymentCard(tokenizedPaymentCard) : undefined;\n }\n\n return addressFromCartExpress;\n }\n return undefined;\n };\n\n /**\n * Get address from tokenizedPaymentCard.\n * @param tokenizedPaymentCard -- The tokenizedPaymentCard from the payment.\n * @returns The address.\n */\n private readonly getAddressFromTokenizedPaymentCard = (tokenizedPaymentCard: TokenizedPaymentCard): Address => {\n const twoLetterIsoRegionName = tokenizedPaymentCard.Country;\n\n const threeLetterIsoRegionName = twoLetterIsoRegionName ? this.getThreeLetterIsoRegionName(twoLetterIsoRegionName) : undefined;\n\n if (threeLetterIsoRegionName && threeLetterIsoRegionName !== this.countryRegionId) {\n this._onCountryChange(threeLetterIsoRegionName);\n }\n\n const address: Address = {\n TwoLetterISORegionName: twoLetterIsoRegionName,\n Name: tokenizedPaymentCard.NameOnCard,\n Street: tokenizedPaymentCard.Address1,\n StreetNumber: tokenizedPaymentCard.Address2,\n City: tokenizedPaymentCard.City,\n State: tokenizedPaymentCard.State,\n ZipCode: tokenizedPaymentCard.Zip,\n Phone: tokenizedPaymentCard.Phone,\n ThreeLetterISORegionName: threeLetterIsoRegionName,\n AddressTypeValue: this.defaultAddressType\n };\n\n return address;\n };\n\n /**\n * Get address from expressAddress.\n * @param expressAddress -- The expressAddress.\n * @returns The address.\n */\n private readonly getExpressAddress = (expressAddress: Address): Address => {\n const twoLetterIsoRegionName = expressAddress.TwoLetterISORegionName;\n\n const threeLetterIsoRegionName = twoLetterIsoRegionName ? this.getThreeLetterIsoRegionName(twoLetterIsoRegionName) : undefined;\n\n if (threeLetterIsoRegionName && threeLetterIsoRegionName !== this.countryRegionId) {\n this._onCountryChange(threeLetterIsoRegionName);\n }\n\n const address: Address = {\n ...expressAddress,\n ThreeLetterISORegionName: threeLetterIsoRegionName,\n AddressTypeValue: this.defaultAddressType\n };\n\n return address;\n };\n\n /**\n * Get three letter ISO region name from two letter ISO region name.\n * @param twoLetterIsoRegionName -- The three letter ISO region name.\n * @returns The three letter ISO region name.\n */\n private readonly getThreeLetterIsoRegionName = (twoLetterIsoRegionName: string): string | undefined => {\n const countryRegion = this.countryRegions.find(country => {\n return country.ISOCode?.toLowerCase() === twoLetterIsoRegionName.toLowerCase();\n });\n\n return countryRegion?.CountryRegionId;\n };\n\n /**\n * Method to initialize all module state.\n */\n private readonly _initModuleState = (): void => {\n this.props.moduleState.init({\n status: this._canShip() ? 'updating' : 'disabled',\n onEdit: this.onEdit,\n onCancel: this.onCancel,\n onSubmit: this.onSubmit\n });\n\n const checkoutState = this.props.data.checkout.result;\n\n if (this._canShip()) {\n let defaultAddress;\n const shippingCartLines: CartLine[] = this._getCartLinesforDelivery();\n\n if (checkoutState?.checkoutCart.cart.ShippingAddress) {\n defaultAddress = checkoutState.checkoutCart.cart.ShippingAddress;\n } else if (\n ArrayExtensions.hasElements(shippingCartLines) &&\n shippingCartLines[0].ShippingAddress !== undefined &&\n shippingCartLines[0].ShippingAddress.FullAddress !== ''\n ) {\n defaultAddress = shippingCartLines[0].ShippingAddress;\n } else if (this._getAddressFromCartExpressPaymentDetails()) {\n defaultAddress = this._getAddressFromCartExpressPaymentDetails();\n } else if (this._getDefaultAddress()) {\n defaultAddress = this._getDefaultAddress();\n } else {\n defaultAddress = checkoutState?.isExpressCheckoutApplied ? checkoutState.shippingAddressFromExpressCheckout : undefined;\n }\n\n if (defaultAddress && !this.addressCommon.isEmpty(defaultAddress)) {\n this._updateCurrentOperation(AddressOperation.Show, defaultAddress);\n this._setShippingAddress(defaultAddress);\n this._updateModuleState();\n checkoutState?.updateHasShippingAddress({ newHasShippingAddress: true });\n } else {\n this._updateCurrentOperation(AddressOperation.Add);\n checkoutState?.updateHasShippingAddress({ newHasShippingAddress: false });\n }\n }\n };\n\n /**\n * Method get called on submit address.\n */\n private readonly onSubmit = (): void => {\n switch (this.currentOperation) {\n case AddressOperation.Add:\n case AddressOperation.Update:\n this.props.telemetry.information('Shipping address submit for Add or Update operation.');\n this._onAddressAddUpdateSubmit();\n break;\n case AddressOperation.List:\n this.props.telemetry.information('Shipping address submit for List operation.');\n this._onSelectAddress();\n break;\n case AddressOperation.Multiple:\n this.setState({ shippingGroupsBuffer: this.state.shippingGroups });\n this._onSelectAddress();\n const resetSelectedShippingLines = this.state.selectedShippingLines\n ? this.state.selectedShippingLines.map(shippingLine => ({\n isChecked: false,\n cartLine: shippingLine.cartLine\n }))\n : [];\n this.setState({ selectedShippingLines: resetSelectedShippingLines });\n break;\n default:\n this.props.telemetry.error('Invalid operation');\n }\n };\n\n /**\n * Method get called on cancel.\n */\n private readonly onCancel = (): void => {\n switch (this.currentOperation) {\n case AddressOperation.Add:\n case AddressOperation.Update:\n this.props.telemetry.information('Shipping address cancel for Add or Update operation.');\n this._clearAddressFields();\n if (!(!this.selectedAddress && !this.addressCommon.isAuthenticatedFlow())) {\n this._resetView();\n }\n\n break;\n case AddressOperation.List:\n this.props.telemetry.information('Shipping address cancel for List operation.');\n if (this.selectedAddress) {\n this._resetView();\n }\n break;\n case AddressOperation.Multiple:\n this.props.telemetry.information('Shipping address cancel for Multiple operation.');\n const resetSelectedShippingLines = this.state.selectedShippingLines\n ? this.state.selectedShippingLines.map(shippingLine => ({\n isChecked: false,\n cartLine: shippingLine.cartLine\n }))\n : [];\n this.setState({\n selectedShippingLines: resetSelectedShippingLines,\n shippingGroups: this.state.shippingGroupsBuffer\n });\n this._updateCurrentOperation(AddressOperation.Show, this.addressListSelectedAddress);\n this._updateModuleState();\n break;\n default:\n this.props.telemetry.error('Invalid operation');\n }\n };\n\n /**\n * Method get called on edit address.\n */\n private readonly onEdit = (): void => {\n this.props.telemetry.information('Shipping address onEdit is called.');\n\n if (this.addressCommon.isAuthenticatedFlow() && this.shippingAddress) {\n this._updateCurrentOperation(AddressOperation.List, this.shippingAddress);\n } else if (this.shippingAddress) {\n this._updateCurrentOperation(AddressOperation.Update, this.shippingAddress);\n }\n\n this._updateModuleState();\n };\n\n /**\n * Method to check if checkout cartlines are available fro shipping.\n * @returns - True/false as per the delivery mode.\n */\n private readonly _canShip = (): boolean => {\n const { checkout, channelDeliveryOptionConfig } = this.props.data;\n const { request } = this.props.context;\n const pickupDeliveryModeCode = request && request.channel && request.channel.PickupDeliveryModeCode;\n const emailDeliveryModeCode = request && request.channel && request.channel.EmailDeliveryModeCode;\n if (!checkout.result || !request.channel || checkout.result.checkoutCart.isEmpty || checkout.result.checkoutCart.hasInvoiceLine) {\n return false;\n }\n\n // @ts-expect-error: Type-checker not realizing above request.channel check\n return this.retailMultiplePickUpOptionEnabled\n ? checkout.result.checkoutCart.cart.CartLines?.some(cartLine =>\n cartLine.DeliveryMode && cartLine.DeliveryMode !== ''\n ? cartLine.DeliveryMode !==\n channelDeliveryOptionConfig.result?.PickupDeliveryModeCodes?.find(\n deliveryMode => deliveryMode === cartLine.DeliveryMode\n ) && cartLine.DeliveryMode !== emailDeliveryModeCode\n : cartLine\n )\n : checkout.result.checkoutCart.cart.CartLines?.some(cartLine =>\n cartLine.DeliveryMode && cartLine.DeliveryMode !== ''\n ? cartLine.DeliveryMode !== pickupDeliveryModeCode && cartLine.DeliveryMode !== emailDeliveryModeCode\n : cartLine\n );\n };\n\n /**\n * Method get called on select address.\n */\n private readonly _onSelectAddress = () => {\n this._updateCurrentOperation(AddressOperation.Show, this.addressListSelectedAddress);\n if (this.props.config.multipleAddressShippingEnabled) {\n this._setCartLinesShippingAddress(this.addressListSelectedAddress);\n } else {\n this._setShippingAddress(this.addressListSelectedAddress);\n }\n\n this._updateModuleState();\n };\n\n /**\n * Method get called on ship to multiple addresses.\n */\n private readonly _goToShipMultipleAddresses = () => {\n this._setDefaultCountryRegionId();\n this.setState({ shippingGroupsBuffer: this.state.shippingGroups });\n this._updateCurrentOperation(AddressOperation.Multiple);\n };\n\n /**\n * Method get called on goto add address.\n */\n private readonly _goToAddAddress = () => {\n this._setDefaultCountryRegionId();\n this._updateCurrentOperation(AddressOperation.Add);\n };\n\n /**\n * Method get called on add/update success.\n * @param response - Retail api response.\n */\n private readonly _onAddOrUpdateSuccess = (response: IAddressResponse) => {\n if (response.customerAddresses) {\n this.customerAddresses = response.customerAddresses;\n }\n\n if (response.address) {\n this._updateCurrentOperation(AddressOperation.Show, response.address);\n this._setShippingAddress(response.address);\n this._updateModuleState();\n }\n };\n\n /**\n * Method get called on set Shipping Address.\n * @param address - Retail Api address result.\n */\n private readonly _setShippingAddress = (address: Address): void => {\n if (this.props.data.checkout.result) {\n const newShippingAddress = { ...address };\n\n if (address.ThreeLetterISORegionName && !newShippingAddress.TwoLetterISORegionName) {\n newShippingAddress.TwoLetterISORegionName = this.addressFormat.getTwoLetterISORegionName(address.ThreeLetterISORegionName);\n }\n\n this.props.data.checkout.result.updateShippingAddress({ newShippingAddress });\n this.props.data.checkout.result.checkoutCart.updateShippingAddress({ newShippingAddress }).catch(error => {\n this.props.telemetry.error(error);\n });\n }\n };\n\n /**\n * Method get called on set Shipping Address.\n * @param address - Retail Api address result.\n */\n private readonly _setCartLinesShippingAddress = (address: Address): void => {\n if (this.props.data.checkout.result) {\n const newCartLinesWithShippingAddress = this.state.shippingGroups.map(shippingGroup => shippingGroup.cartLine);\n this.props.data.checkout.result.updateCartLinesShippingAddress({ newCartLinesWithShippingAddress });\n this.props.data.checkout.result.checkoutCart\n .updateCartLineShippingAddress({ updatedCartLinesObject: newCartLinesWithShippingAddress })\n .catch(error => {\n this.props.telemetry.error(error);\n });\n }\n };\n\n @computed private get shippingAddress(): Address | undefined {\n return this.props.data.checkout.result?.shippingAddress;\n }\n\n @computed get currencyCode(): string | undefined {\n return get(this.props, 'context.request.channel.Currency');\n }\n\n private _updateViewport(): void {\n this._viewport = this._getViewport();\n }\n\n private readonly _getViewport = (): GridSize => {\n const { context } = this.props;\n\n // Always render in mobile viewport on a mobile device\n if (context.request && context.request.device && context.request.device.Type === 'Mobile') {\n return 'xs';\n }\n\n if (MsDyn365.isBrowser && window.innerWidth) {\n const gridSettings = context.request.gridSettings;\n if (gridSettings) {\n if (gridSettings.xs && window.innerWidth <= gridSettings.xs.w) {\n return 'xs';\n } else if (gridSettings.sm && window.innerWidth <= gridSettings.sm.w) {\n return 'sm';\n } else if (gridSettings.md && window.innerWidth <= gridSettings.md.w) {\n return 'md';\n } else if (gridSettings.lg && window.innerWidth <= gridSettings.lg.w) {\n return 'lg';\n }\n return 'xl';\n }\n }\n\n return 'xs';\n };\n\n /**\n * Method get called on reset view.\n */\n private readonly _resetView = (): void => {\n switch (this.currentOperation) {\n case AddressOperation.Add:\n case AddressOperation.Update:\n this._updateCurrentOperation(\n this.addressCommon.isAuthenticatedFlow() ? AddressOperation.List : AddressOperation.Show,\n this.shippingAddress\n );\n break;\n case AddressOperation.Multiple:\n const resetSelectedShippingLines = this.state.selectedShippingLines\n ? this.state.selectedShippingLines.map(shippingLine => ({\n isChecked: false,\n cartLine: shippingLine.cartLine\n }))\n : [];\n this.setState({\n selectedShippingLines: resetSelectedShippingLines,\n shippingGroups: this.state.shippingGroupsBuffer\n });\n this._updateCurrentOperation(AddressOperation.Show, this.shippingAddress);\n break;\n default:\n this._updateCurrentOperation(AddressOperation.Show, this.shippingAddress);\n }\n this._updateModuleState();\n };\n\n /**\n * Update current operation.\n * @param operation - The address operation.\n * @param selectedAddress - The selected address.\n */\n private readonly _updateCurrentOperation = (operation: AddressOperation, selectedAddress?: Address) => {\n this.currentOperation = operation;\n this.selectedAddress = selectedAddress;\n\n if (this.currentOperation === AddressOperation.Add || this.currentOperation === AddressOperation.Update) {\n this.addUpdateAddress = { ...this.selectedAddress } || {};\n set(this.addUpdateAddress, {\n ThreeLetterISORegionName: this.addUpdateAddress.ThreeLetterISORegionName || this.countryRegionId\n });\n set(this.addUpdateAddress, {\n AddressTypeValue: this.addUpdateAddress.AddressTypeValue || this.defaultAddressType\n });\n } else if (this.currentOperation === AddressOperation.List) {\n this.addressListSelectedAddress = { ...this.selectedAddress } || {};\n }\n };\n\n /**\n * Update module state.\n */\n private readonly _updateModuleState = () => {\n if (this.currentOperation === AddressOperation.Show) {\n this.props.moduleState.onReady();\n } else if (this.isUpdating) {\n this.props.moduleState.onPending();\n } else {\n this.props.moduleState.onUpdating();\n }\n };\n\n /**\n * Method to check if the customer already has the address.\n * @param address - The address.\n */\n private readonly _isNewAddress = (address: Address): boolean => {\n for (const existingAddress of this.customerAddresses) {\n if (\n (address.Name ?? '') === existingAddress.Name &&\n (address.Street ?? '') === existingAddress.Street &&\n (address.StreetNumber ?? '') === existingAddress.StreetNumber &&\n (address.City ?? '') === existingAddress.City &&\n (address.State ?? '') === existingAddress.State &&\n (address.ZipCode ?? '') === existingAddress.ZipCode &&\n (address.Phone ?? '') === existingAddress.Phone &&\n (address.ThreeLetterISORegionName ?? '') === existingAddress.ThreeLetterISORegionName &&\n (address.AddressTypeValue ?? '') === existingAddress.AddressTypeValue\n ) {\n return false;\n }\n }\n\n return true;\n };\n\n @action\n private readonly _setErrorMessage = (errorMessage: string): void => {\n this.props.telemetry.error(errorMessage);\n this.props.moduleState.setHasError(true);\n this.props.moduleState.onUpdating();\n this.setState({\n errorMessage\n });\n };\n\n private readonly _clearError = (): void => {\n this.props.moduleState.setHasError(false);\n this.setState({\n errorMessage: ''\n });\n };\n\n /**\n * Returns count of products.\n * @param cartLine - The checkout shipping cart line info props.\n * @returns Number of products.\n */\n private readonly _countItems = (cartlines: ICheckoutShippingCartLineInfo[]): number => {\n return cartlines.reduce((count, line) => {\n return count + (line.quantity || 0);\n }, 0);\n };\n}\n\nexport default CheckoutShippingAddress;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { IAddressAddItem, IAddressAddUpdateProps } from '../../common/components/address-add';\nimport { IAddressSelectItem, IAddressSelectProps } from '../../common/components/address-select';\nimport { IAddressShowItem, IAddressShowProps } from '../../common/components/address-show';\nimport { ICheckoutShippingAddressViewProps } from './checkout-shipping-address';\nimport { IShipMultipleAddressesViewProps } from '../../common/components/address-ship-multiple';\nimport { IShipMultipleAddressesLineViewProps } from '../../common/components/address-ship-multiple-lines';\n\n/**\n * Address show component.\n * @param param0 - Root param.\n * @param param0.AddressDetail - Address detail.\n * @param param0.items - IAddressShowItem[].\n * @returns - Address Node.\n */\nconst AddressShow: React.FC = ({ AddressDetail, items }) => {\n return (\n \n {items.map((item: IAddressShowItem) => {\n return <>{item.description};\n })}\n \n );\n};\n\n/**\n * Address Select Component.\n * @param param0 - Root param.\n * @param param0.SelectAddress - Select address.\n * @param param0.shipMultipleAddressesButton - Ship to multiple addresses button.\n * @param param0.addButton - Add button.\n * @param param0.items - IAddressSelectItem[].\n * @param param0.isShowSaveButton - Boolean.\n * @param param0.saveButton - Save button.\n * @param param0.isShowCancelButton - Boolean.\n * @param param0.cancelButton - Cancel button.\n * @returns - SelectAddress Node.\n */\nconst AddressSelect: React.FC = ({\n SelectAddress,\n shipMultipleAddressesButton,\n addButton,\n items,\n isShowSaveButton,\n saveButton,\n isShowCancelButton,\n cancelButton\n}) => {\n return (\n \n \n {addButton}\n {shipMultipleAddressesButton}\n \n {items.map((item: IAddressSelectItem) => {\n const SelectItem = item.SelectItem;\n return (\n \n {item.input}\n \n \n );\n })}\n {isShowSaveButton && saveButton}\n {isShowCancelButton && cancelButton}\n \n );\n};\n\n/**\n * Address Ship Multiple Component.\n * @param param0 - Root param.\n * @param param0.ShipMultipleAddress - Ship multiple address form.\n * @param param0.shipSingleAddressButton - Ship single address button.\n * @param param0.clearSelectionButton - Clear selection button.\n * @param param0.addressDropdown - Address dropdown button.\n * @param param0.ProductsTable - Products table component.\n * @param param0.ProductsTableHeading - Products table heading component.\n * @param param0.ProductsTableRow - Products table row component.\n * @param param0.shipMultipleAddressLines - Ship multiple address lines.\n * @param param0.hasError - Boolean.\n * @param param0.error - Error message.\n * @returns Address ship multiple component node.\n */\nconst AddressShipMultiple: React.FC = ({\n ShipMultipleAddress,\n shipSingleAddressButton,\n clearSelectionButton,\n addressDropdown,\n ProductsTable,\n ProductsTableHeading,\n ProductsTableRow,\n shipMultipleAddressLines,\n isShowSaveButton,\n saveButton,\n isShowCancelButton,\n cancelButton,\n isMobile\n}) => {\n if (ShipMultipleAddress && isMobile !== undefined) {\n if (!isMobile) {\n return (\n \n {shipSingleAddressButton}\n \n {clearSelectionButton}\n\n {addressDropdown}\n \n {ProductsTable && shipMultipleAddressLines && shipMultipleAddressLines.length > 0 && (\n \n {ProductsTableHeading}\n \n {shipMultipleAddressLines &&\n shipMultipleAddressLines.map((line: IShipMultipleAddressesLineViewProps) => {\n return _renderShipMultipleAddressLine(line, isMobile, ProductsTableRow);\n })}\n \n \n )}\n {isShowSaveButton && saveButton}\n {isShowCancelButton && cancelButton}\n \n );\n } else {\n return (\n \n {shipSingleAddressButton}\n {addressDropdown}\n {ProductsTable && shipMultipleAddressLines && shipMultipleAddressLines.length > 0 && (\n \n {ProductsTableHeading}\n \n {shipMultipleAddressLines &&\n shipMultipleAddressLines.map((line: IShipMultipleAddressesLineViewProps) => {\n return _renderShipMultipleAddressLine(line, isMobile, ProductsTableRow);\n })}\n \n \n )}\n {isShowSaveButton && saveButton}\n {isShowCancelButton && cancelButton}\n \n );\n }\n } else {\n return null;\n }\n};\n\n/**\n * Address Add Update Component.\n * @param param0 - Root param.\n * @param param0.AddressForm - Address form.\n * @param param0.heading - Address heading.\n * @param param0.items - IAddressAddItem[].\n * @param param0.hasError - Boolean.\n * @param param0.error - Error message.\n * @param param0.isShowSaveButton - Boolean.\n * @param param0.saveButton - Save button.\n * @param param0.isShowCancelButton - Boolean.\n * @param param0.cancelButton - Cancel button.\n * @returns Address add update component node.\n */\nconst AddressAddUpdate: React.FC = ({\n AddressForm,\n heading,\n items,\n hasError,\n error,\n isShowSaveButton,\n saveButton,\n isShowCancelButton,\n cancelButton\n}) => {\n return (\n \n {heading}\n {items.map((item: IAddressAddItem) => {\n const { AddressItem, key, label, alert, input } = item;\n return (\n \n {label}\n {alert}\n {input}\n \n );\n })}\n {hasError && (\n \n {error.title}\n {error.message}\n \n )}\n {isShowSaveButton && saveButton}\n {isShowCancelButton && cancelButton}\n \n );\n};\n\nconst _renderShipMultipleAddressLine = (\n shipMultipleAddressesLine: IShipMultipleAddressesLineViewProps,\n isMobile: boolean,\n ProductsTableRow?: INodeProps\n): JSX.Element | null => {\n if (!shipMultipleAddressesLine) {\n return null;\n }\n\n const {\n selectLine,\n productImage,\n productNumber,\n productInfo,\n productPrice,\n productQuantity,\n productAddress\n } = shipMultipleAddressesLine;\n\n if (!isMobile) {\n return (\n \n {selectLine}\n \n
{productImage}
\n
{productNumber}
\n \n {productInfo}\n {productPrice}\n {productQuantity}\n {productAddress}\n
\n );\n } else {\n return (\n \n \n {selectLine}\n \n {productImage}\n {productInfo}\n {`QTY: ${productQuantity}`}\n \n {productPrice}\n \n \n {productAddress}\n \n \n );\n }\n};\n\n/**\n * Checkout Shipping Address View Component.\n * @param props - Props.\n * @returns - CheckoutShippingAddress Module.\n */\nconst CheckoutShippingAddressView: React.FC = props => {\n const {\n CheckoutShippingAddress,\n checkoutErrorRef,\n alert,\n viewState,\n showAddress,\n showAddressSelect,\n showAddOrUpdateAddress,\n showShipMultipleAddresses,\n cartLineImages\n } = props;\n\n return (\n \n {alert}\n {!viewState.isShowShipMultipleAddress && cartLineImages}\n {viewState.isShowAddress && }\n {viewState.isShowAddresList && }\n {viewState.isShowAddOrUpdateAddress && }\n {viewState.isShowShipMultipleAddress && (\n \n )}\n \n );\n};\n\nexport default CheckoutShippingAddressView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IProductDimensionsWithAvailabilitiesFull } from '@msdyn365-commerce/commerce-entities';\nimport { ProductDimensionsMatrix } from '@msdyn365-commerce/components';\nimport { RichTextComponent } from '@msdyn365-commerce/core';\nimport { ICoreContext, getCatalogId } from '@msdyn365-commerce/core-internal';\nimport { ArrayExtensions, IDimensionsApp, validateCatalogId } from '@msdyn365-commerce-modules/retail-actions';\nimport { Alert, Button, Collapse, IModuleProps, isMobile, VariantType } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { FeatureState } from '@msdyn365-commerce/retail-proxy';\nimport { IBulkPurchaseData } from './bulk-purchase.data';\nimport { IBulkPurchaseProps } from './bulk-purchase.props.autogenerated';\n\n/**\n * Additional optional props for the bulk purchase.\n */\nexport interface IBulkPurchaseExtendedProps extends IBulkPurchaseProps {\n productDimensions?: IProductDimensionsWithAvailabilitiesFull[];\n}\n\n/**\n * View for the bulk purchase module.\n */\nexport interface IBulkPurchaseViewProps extends IBulkPurchaseProps {\n container: IModuleProps;\n content: React.ReactElement;\n}\n\n/**\n * BulkPurchase state message Interface.\n */\nexport interface IBulkPurchaseStateMessage {\n isOpen: boolean;\n messageGlyph: string;\n messageText: string;\n statusCssString: string;\n}\n\n/**\n * View for the bulk purchase module.\n */\nexport interface IBulkPurchaseState {\n isExpanded: boolean;\n stateMessage?: IBulkPurchaseStateMessage;\n}\n\n/**\n * Bulk-purchase module.\n */\nexport class BulkPurchase extends React.PureComponent {\n public static readonly className = 'ms-bulk-purchase';\n private readonly _errorCssClass: string = 'danger';\n private readonly _errorCssGlyphClass: string = 'fas fa-exclamation-triangle';\n private readonly collapseRef: React.RefObject = React.createRef();\n\n public constructor(props: IBulkPurchaseExtendedProps) {\n super(props);\n\n this.state = {\n isExpanded: false\n };\n }\n\n public render(): React.ReactElement | null {\n const hasDimensionsInProps = ArrayExtensions.hasElements(this.props.productDimensions);\n const hasDimensionsInData = ArrayExtensions.hasElements(this.props.data.productDimensions?.result);\n if (!hasDimensionsInProps && !hasDimensionsInData) {\n return null;\n }\n\n const viewProps: IBulkPurchaseViewProps = {\n ...this.props,\n container: {\n moduleProps: this.props,\n className: classnames(BulkPurchase.className, this.props.config.className)\n },\n content: this._renderCollapseContent(`${BulkPurchase.className}__content`)\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n private _renderCollapseContent(className: string): React.ReactElement {\n return (\n
\n {this._renderCollapseButton(`${className}__collapse-button`)}\n {this._renderCollapse(`${className}__collapse`)}\n
\n );\n }\n\n private _renderCollapseButton(className: string): React.ReactElement {\n return (\n \n {this.props.resources.bulkPurchaseHeaderTitle}\n \n );\n }\n\n /**\n *This function is being used to handel variant change dropdown.\n */\n private _dimensionDropDownChange = () => {\n this.collapseRef.current?.reEvaluateHeight();\n };\n\n private _renderCollapse(className: string): React.ReactElement {\n return (\n \n {this._renderMainContent(`${className}__main-content`)}\n \n );\n }\n\n private _renderMainContent(className: string): React.ReactElement {\n const isMobileDevice = isMobile({ variant: VariantType.Viewport, context: this.props.context.request }) === 'xs';\n\n const userMessageNode = this.state.stateMessage ? (\n \n \n {this.state.stateMessage.messageText}\n \n ) : (\n undefined\n );\n\n return (\n
\n {!isMobileDevice && (\n
\n \n
\n )}\n {userMessageNode}\n {this._renderMatrix(`${className}__matrix-container`)}\n
\n );\n }\n\n private _renderMatrix(className: string): React.ReactElement {\n const hasDimensionsInProps = ArrayExtensions.hasElements(this.props.productDimensions);\n const channelMultipleCatalogsFeature = 'Dynamics.AX.Application.ChannelMultipleCatalogsFeature';\n const { featureState } = this.props.data;\n const isMultipleCatalogsFeatureEnabled =\n featureState?.result?.find((item: FeatureState) => item.Name === channelMultipleCatalogsFeature)?.IsEnabled || false;\n const catalogId = getCatalogId(this.props.context.request);\n validateCatalogId(catalogId);\n return (\n }\n data={{\n dimensions: hasDimensionsInProps ? this.props.productDimensions! : this.props.data.productDimensions!.result!,\n orderTemplates: this.props.data.orderTemplates?.result,\n customerInformation: this.props.data.customerInformation?.result\n }}\n resources={this.props.resources}\n dimensionOnChange={this._dimensionDropDownChange}\n onErrorMessage={this._onErrorMessage}\n isMultipleCatalogFeatureEnabledInHq={isMultipleCatalogsFeatureEnabled}\n catalogId={catalogId}\n />\n );\n }\n\n private _onErrorMessage = (errorMessage: string) => {\n this.setState({\n stateMessage: {\n messageText: errorMessage,\n statusCssString: this._errorCssClass,\n messageGlyph: this._errorCssGlyphClass,\n isOpen: true\n }\n });\n };\n\n /**\n * Callback which toggles collapse mode.\n */\n private readonly _toggleCollapse = () => {\n this.setState(state => ({\n isExpanded: !state.isExpanded\n }));\n };\n}\n\nexport default BulkPurchase;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n AddToCartComponent,\n AddToOrderTemplateComponent,\n AddToWishlistComponent,\n IAddToCartFailureResult,\n IAddToCartResources,\n IAddToOrderTemplateDialogResources,\n IDuplicateItemsWhenAddingToOrderTemplateDialogResources,\n IItemAddedToOrderTemplateDialogResources,\n IOrderTemplateActionErrorResult,\n IOrderTemplateNameDialogResources,\n IWishlistActionErrorResult,\n PriceComponent,\n RatingComponent\n} from '@msdyn365-commerce/components';\nimport { getUrlSync, IImageSettings } from '@msdyn365-commerce/core';\nimport { ICartActionResult, ICartState } from '@msdyn365-commerce/global-state';\nimport { ProductAvailableQuantity, SimpleProduct } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, DeliveryMode, validateCatalogId } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n Alert,\n Button,\n format,\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n Heading,\n ITelemetryContent,\n Node,\n Quantity,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport {\n IBuyboxAddToCartViewProps,\n IBuyboxAddToOrderTemplateViewProps,\n IBuyboxAddToWishlistViewProps,\n IBuyboxCallbacks,\n IBuyboxCommonData,\n IBuyboxCommonResources,\n IBuyboxErrorBlockProps,\n IBuyboxExtentedProps,\n IBuyboxKeyInPriceViewProps,\n IBuyboxProductQuantityViewProps,\n IBuyboxShopSimilarLookViewProps,\n IBuyboxState,\n IProductDetails,\n ShopSimiliarButtonType\n} from './buyboxInterface';\nimport { getConfigureErrors, getGenericError, getQuantityError } from './utilities/error-utilities';\n\nconst _getClassNamePrefix = (typeName: string): string => {\n return typeName.toLocaleLowerCase() === 'quickview' ? 'ms-quickView' : 'ms-buybox';\n};\n\nexport function getBuyBoxInventoryLabel(\n props: IBuyboxExtentedProps,\n productDetails?: IProductDetails\n): React.ReactElement | undefined {\n const { typeName } = props;\n\n // Since the data action can return no value, and the type is non-nullable due to backward compatibility reasons, the null check is required.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Explicitly check for null/undefined.\n const productAvailableQuantity = props.data.productAvailableQuantity?.result ?? productDetails?.productAvailableQuantity;\n\n const className = _getClassNamePrefix(typeName);\n if (!productAvailableQuantity || !ArrayExtensions.hasElements(productAvailableQuantity)) {\n return undefined;\n }\n const shippingInventory = productAvailableQuantity.find(shipping => shipping.deliveryType === DeliveryMode.shipping);\n\n if (shippingInventory) {\n let inventoryClassName: string;\n if (shippingInventory.StockLevelCode) {\n inventoryClassName = `${className}__inventory-label ${className}__inventory-code-${shippingInventory.StockLevelCode.toLowerCase()}`;\n } else {\n inventoryClassName = `${className}__inventory-label`;\n }\n return (\n
\n {shippingInventory.StockLevelLabel}\n
\n );\n }\n\n return undefined;\n}\n\nexport function getBuyboxProductTitle(\n props: IBuyboxExtentedProps,\n productDetails?: IProductDetails\n): React.ReactElement | undefined {\n const {\n config: { titleHeadingTag = 'h1' },\n typeName\n } = props;\n const className = _getClassNamePrefix(typeName);\n\n // Since the data action can return no value, and the type is non-nullable due to backward compatibility reasons, the null check is required.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Explicitly check for null/undefined.\n const product = props.data.product?.result ?? productDetails?.product ?? undefined;\n\n return product && ;\n}\n\nexport function getBuyboxProductDescription(\n props: IBuyboxExtentedProps,\n productDetails?: IProductDetails\n): React.ReactElement | undefined {\n const { typeName } = props;\n const className = _getClassNamePrefix(typeName);\n\n // Since the data action can return no value, and the type is non-nullable due to backward compatibility reasons, the null check is required.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Explicitly check for null/undefined.\n const product = props.data.product?.result ?? productDetails?.product ?? undefined;\n\n return product &&

{product.Description}

;\n}\n\n/**\n * Gets the react node for product unit of measure display.\n * @param {IBuyboxExtentedProps} props The buybox module props.\n * @param {IProductDetails} productDetails The product details to be displyed in buybox.\n * @returns {React.ReactElement} The node representing markup for unit of measure component.\n */\nexport function getBuyboxProductUnitOfMeasure(\n props: IBuyboxExtentedProps,\n productDetails?: IProductDetails\n): React.ReactElement | undefined {\n const { typeName } = props;\n const className = _getClassNamePrefix(typeName);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -- Do not need type check for appsettings\n if (\n props.context.app.config &&\n (!props.context.app.config.unitOfMeasureDisplayType || props.context.app.config.unitOfMeasureDisplayType === 'none')\n ) {\n return undefined;\n }\n\n // Since the data action can return no value, and the type is non-nullable due to backward compatibility reasons, the null check is required.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Explicitly check for null/undefined.\n const product = props.data.product?.result ?? productDetails?.product;\n if (!product || !product.DefaultUnitOfMeasure) {\n props.telemetry.warning('Missing defult unit of measureor theproduct');\n return undefined;\n }\n\n return (\n
\n {product.DefaultUnitOfMeasure}\n
\n );\n}\n\nlet telemetryContent: ITelemetryContent;\n\n/**\n * On add to cart failed function.\n * @param props -The buybox module props.\n * @param state -The buybox module state.\n * @param callbacks -The buybox module callbacks.\n * @param defaultMinimumKeyInPrice -The default minimum key in price.\n * @param defaultMaximumKeyInPrice -The default maximum key in price.\n * @param cart -The cart state.\n * @param product -The simple product.\n * @param productAvailability -The product available quantity.\n * @returns Update error state.\n */\nconst onAddToCartFailed = (\n props: IBuyboxExtentedProps,\n state: IBuyboxState,\n callbacks: IBuyboxCallbacks,\n defaultMinimumKeyInPrice: number,\n defaultMaximumKeyInPrice: number,\n cart: ICartState,\n product: SimpleProduct,\n productAvailability: ProductAvailableQuantity | undefined\n) => (result: IAddToCartFailureResult) => {\n let quantityErrorForState: string | undefined;\n let customAmountErrorForState: string | undefined;\n let otherErrorForState: string | undefined = getGenericError(\n result,\n cart,\n props.resources,\n props.context,\n product,\n productAvailability,\n undefined\n );\n\n if (result.failureReason === 'OUTOFSTOCK') {\n quantityErrorForState = result.failureReason === 'OUTOFSTOCK' ? getQuantityError(result.stockLeft, props.resources) : undefined;\n } else if (\n result.failureReason === 'CARTACTIONFAILED' &&\n result.cartActionResult &&\n (result.cartActionResult.substatus === 'MAXQUANTITY' || result.cartActionResult.substatus === 'QUANTITYLIMITS')\n ) {\n quantityErrorForState = getGenericError(result, cart, props.resources, props.context, product, productAvailability, undefined);\n otherErrorForState = undefined; // Prevent error duplication in otherError and quantityError\n }\n\n if (result.failureReason === 'INVALIDCUSTOMAMOUNT') {\n if (state.keyInPriceAmount === undefined || state.keyInPriceAmount < (props.config.minimumKeyInPrice || defaultMinimumKeyInPrice)) {\n const formatedAmountLimit = props.context.cultureFormatter.formatCurrency(\n props.config.minimumKeyInPrice || defaultMinimumKeyInPrice\n );\n customAmountErrorForState = props.resources.invalidSmallCustomAmountText.replace('{minAmount}', formatedAmountLimit);\n } else if (state.keyInPriceAmount > (props.config.maximumKeyInPrice || defaultMaximumKeyInPrice)) {\n const formatedAmountLimit = props.context.cultureFormatter.formatCurrency(\n props.config.maximumKeyInPrice || defaultMaximumKeyInPrice\n );\n customAmountErrorForState = props.resources.invalidLargeCustomAmountText.replace('{maxAmount}', formatedAmountLimit);\n }\n }\n\n callbacks.updateErrorState({\n errorHost: 'ADDTOCART',\n quantityError: quantityErrorForState,\n configureErrors:\n result.failureReason === 'MISSINGDIMENSION'\n ? getConfigureErrors(result.missingDimensions, props.resources, product?.IsGiftCard)\n : {},\n customAmountError: customAmountErrorForState,\n otherError: otherErrorForState\n });\n};\n\n/**\n * On Item Add To Cart function.\n * @param typeName -Type name.\n * @param callbacks -Buybox Callbacks.\n * @returns Change modal open.\n */\nconst onItemAddedToCart = (typeName: string, callbacks: IBuyboxCallbacks) => (result: ICartActionResult) => {\n if (typeName === 'quickview') {\n callbacks.changeModalOpen(false);\n }\n};\n\nexport function getBuyboxAddToCart(\n props: IBuyboxExtentedProps,\n state: IBuyboxState,\n callbacks: IBuyboxCallbacks,\n defaultMinimumKeyInPrice: number,\n defaultMaximumKeyInPrice: number,\n productDetails?: IProductDetails,\n hasAvailableProducts?: boolean\n): IBuyboxAddToCartViewProps {\n const { id, typeName, context, resources } = props;\n\n // Since the data action can return no value, and the type is non-nullable due to backward compatibility reasons, the null check is required.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Explicitly check for null/undefined.\n const product = props.data.product?.result ?? productDetails?.product;\n\n // Since the data action can return no value, and the type is non-nullable due to backward compatibility reasons, the null check is required.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Explicitly check for null/undefined.\n const cart = props.data.cart?.result ?? productDetails?.cart;\n\n // Since the data action can return no value, and the type is non-nullable due to backward compatibility reasons, the null check is required.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Explicitly check for null/undefined.\n const productAvailableQuantity = props.data.productAvailableQuantity?.result ?? productDetails?.productAvailableQuantity;\n\n const {\n quantity,\n errorState: { configureErrors, quantityError, customAmountError, otherError, errorHost },\n selectedProduct,\n isUpdatingDimension,\n isUpdatingDeliveryOptions,\n isServiceItem\n } = state;\n\n const productAvailability = state.productAvailableQuantity\n ? state.productAvailableQuantity.ProductAvailableQuantity\n : productAvailableQuantity && productAvailableQuantity.length > 0\n ? productAvailableQuantity[0].ProductAvailableQuantity\n : undefined;\n\n const dialogStrings: IAddToCartResources = {\n goToCartText: resources.buyBoxGoToCartText,\n continueShoppingText: resources.buyBoxContinueShoppingText,\n closeNotificationLabel: resources.closeNotificationLabel,\n headerItemOneText: resources.buyBoxSingleItemText,\n headerItemFormatText: resources.buyBoxMultiLineItemFormatText,\n headerMessageText: resources.buyBoxHeaderMessageText,\n freePriceText: resources.priceFree,\n originalPriceText: resources.originalPriceText,\n currentPriceText: resources.currentPriceText,\n addedQuantityText: resources.addedQuantityText\n };\n\n const defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=240&h=240&m=6', w: 0, h: 0 },\n lg: { q: 'w=240&h=240&m=6', w: 0, h: 0 },\n xl: { q: 'w=240&h=240&m=6', w: 0, h: 0 }\n },\n lazyload: true\n };\n\n const isProductQuantityLoading = typeName !== 'quickview' && props.data.productAvailableQuantity.status === 'LOADING';\n if (isProductQuantityLoading) {\n callbacks.changeUpdatingDimension(false);\n }\n\n const isLoadingDeliveryOptions = typeName !== 'quickview' && props.data.deliveryOptions?.status === 'LOADING';\n if (isLoadingDeliveryOptions && callbacks.changeUpdatingDeliveryOptions) {\n callbacks.changeUpdatingDeliveryOptions(false);\n }\n\n telemetryContent = getTelemetryObject(props.context.request.telemetryPageName!, props.typeName, props.telemetry);\n\n // Check if the product delivery mode is electronic\n const emailDeliveryModeCode = props.context.actionContext.requestContext.channel?.EmailDeliveryModeCode;\n // from quickview we are not getting deliveryoptions in props.data hence getting it from quickview state\n const deliveryOptions = typeName === 'quickview' ? state.productDeliveryOptions : props.data.deliveryOptions?.result;\n const isEmailDelivery =\n ArrayExtensions.hasElements(deliveryOptions?.DeliveryOptions) && deliveryOptions!.DeliveryOptions[0].Code === emailDeliveryModeCode;\n const className = _getClassNamePrefix(typeName);\n const isDisabled = isUpdatingDimension && typeName === 'quickview';\n const { enableHidePdpRepeatingErrors } = props.context.request.features;\n return {\n ContainerProps: {\n className: `${className}__add-to-cart-container`\n },\n button: product && (\n \n ),\n errorBlock: (\n \n )\n };\n}\n\n/**\n * Get the React.ReactElement contains price.\n * @param props - The IBuyboxExtentedProps.\n * @param state - The buybox state.\n * @returns The React.ReactElement.\n */\nexport function getBuyboxProductPrice(props: IBuyboxExtentedProps, state: IBuyboxState): React.ReactElement | undefined {\n const { id, typeName, context, resources } = props;\n\n return (\n state.productPrice && (\n featureState.Name === 'Dynamics.AX.Application.RetailSearchPriceRangeFeature'\n )?.IsEnabled\n }\n isSalesAgreementPriceFeatureEnabled={\n props.data.featureState.result?.find(\n featureState => featureState.Name === 'Dynamics.AX.Application.RetailSalesAgreementPriceSupportFeature'\n )?.IsEnabled\n }\n priceResources={{\n priceRangeSeparator: resources.priceRangeSeparator,\n salesAgreementPricePrompt: resources.salesAgreementPricePrompt,\n salesAgreementExpirationDatePrompt: resources.salesAgreementExpirationDatePrompt,\n salesAgreementCommittedQuantityPrompt: resources.salesAgreementCommittedQuantityPrompt,\n salesAgreementRemainingQuantityPrompt: resources.salesAgreementRemainingQuantityPrompt\n }}\n freePriceText={resources.priceFree}\n originalPriceText={resources.originalPriceText}\n currentPriceText={resources.currentPriceText}\n />\n )\n );\n}\n\nexport function getBuyboxProductRating(\n props: IBuyboxExtentedProps,\n productDetails?: IProductDetails\n): React.ReactElement | undefined {\n const { id, typeName, context, resources } = props;\n\n // Since the data action can return no value, and the type is non-nullable due to backward compatibility reasons, the null check is required.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Explicitly check for null/undefined.\n const ratingsSummary = props.data.ratingsSummary?.result ?? productDetails?.ratingsSummary;\n if (!ratingsSummary || !ratingsSummary.averageRating) {\n return
;\n }\n const ratingComponent = (\n \n );\n\n return ratingComponent;\n}\n\nfunction generateAddToOrderTemplateDialogResources(resources: IBuyboxCommonResources): IAddToOrderTemplateDialogResources {\n return {\n addToOrderTemplateHeader: resources.addToOrderTemplateHeader,\n\n noOrderTemplatesMessage: resources.noOrderTemplatesMessage,\n noOrderTemplatesDescription: resources.noOrderTemplatesDescription,\n\n createAnOrderTemplateButtonText: resources.createAnOrderTemplateButtonText,\n createNewOrderTemplateButtonText: resources.createNewOrderTemplateButtonText,\n cancelOrderTemplateCreationButtonText: resources.cancelOrderTemplateCreationButtonText,\n\n selectTemplatesText: resources.selectTemplatesText,\n addToTemplateButtonText: resources.addToTemplateButtonText,\n lineItemsText: resources.lineItemsText\n };\n}\n\nfunction generateOrderTemplateNameDialogResources(resources: IBuyboxCommonResources): IOrderTemplateNameDialogResources {\n return {\n orderTemplateHeaderLabel: resources.createOrderTemplateHeader,\n orderTemplateTitleLabel: resources.orderTemplateTitle,\n orderTemplateNameAriaLabel: resources.orderTemplateNameAriaLabel,\n orderTemplateDescription: resources.createOrderTemplateDescription,\n\n defaultOrderTemplateName: resources.defaultOrderTemplateName,\n\n orderTemplateButtonLabel: resources.createOrderTemplateButtonText,\n orderTemplateCancelButtonLabel: resources.cancelNewOrderTemplateCreationButtonText\n };\n}\n\nfunction generateItemAddedToOrderTemplateDialogResources(resources: IBuyboxCommonResources): IItemAddedToOrderTemplateDialogResources {\n return {\n viewOrderTemplateButtonText: resources.viewOrderTemplateButtonText,\n continueShoppingButtonText: resources.continueShoppingButtonText,\n itemAddedToOrderTemplateHeaderItemOneText: resources.itemAddedToOrderTemplateHeaderItemOneText,\n itemAddedToOrderTemplateHeaderItemFormatText: resources.itemAddedToOrderTemplateHeaderItemFormatText,\n itemAddedToOrderTemplateHeaderMessageText: resources.itemAddedToOrderTemplateHeaderMessageText,\n freePriceText: resources.priceFree,\n originalPriceText: resources.originalPriceText,\n currentPriceText: resources.currentPriceText\n };\n}\n\nfunction generateDuplicateItemsWhenAddingToOrderTemplateDialogResources(\n resources: IBuyboxCommonResources\n): IDuplicateItemsWhenAddingToOrderTemplateDialogResources {\n return {\n duplicatedProductsHeader: resources.duplicatedProductsHeader,\n duplicatedProductsDescription: resources.duplicatedProductsDescription,\n updateQuantityButtonText: resources.updateQuantityButtonText,\n cancelDuplicateItemsButtonText: resources.cancelDuplicateItemsButtonText\n };\n}\n\n/**\n * Add to order template failed function.\n * @param callbacks -Buybox callbacks.\n * @param resources -Buybox common resources.\n * @param product -Simple product.\n * @returns Update error state.\n */\nconst onAddToOrderTemplateFailed = (callbacks: IBuyboxCallbacks, resources: IBuyboxCommonResources, product: SimpleProduct | undefined) => (\n result: IOrderTemplateActionErrorResult\n) => {\n callbacks.updateErrorState({\n errorHost: 'ORDER_TEMPLATE',\n configureErrors:\n result.status === 'MISSING_DIMENSION' ? getConfigureErrors(result.missingDimensions, resources, product?.IsGiftCard) : {}\n });\n};\n\nexport function getBuyboxProductAddToOrderTemplate(\n props: IBuyboxExtentedProps,\n state: IBuyboxState,\n callbacks: IBuyboxCallbacks,\n isMultipleCatalogsFeatureEnabled?: boolean,\n catalogId?: number\n): IBuyboxAddToOrderTemplateViewProps | undefined {\n const {\n id,\n typeName,\n context,\n data: {\n orderTemplates: { result: orderTemplates },\n customerInformation: { result: customerInformation }\n },\n resources\n } = props;\n\n const product = props.data.product?.result;\n\n const {\n errorState: { configureErrors, quantityError, customAmountError, otherError, errorHost },\n quantity\n } = state;\n\n // If custom amount is selected, add-to-orderTemplate is disabled\n if (state.isCustomPriceSelected) {\n return undefined;\n }\n const className = _getClassNamePrefix(typeName);\n const { enableHidePdpRepeatingErrors } = props.context.request.features;\n\n return {\n ContainerProps: {\n className: `${className}__add-to-order-template-container`\n },\n button: product && orderTemplates && (\n \n ),\n errorBlock: (\n \n )\n };\n}\n\n/**\n * Renders add to comparison button for the given product.\n * @param productComparisonButton - React element of the button.\n * @param product - Product information.\n * @param catalogId - Current catalog.\n * @param state - Buybox state.\n * @returns React element of the button.\n */\nexport function getBuyboxProductComparisonButton(\n productComparisonButton: React.ReactNode,\n product: SimpleProduct,\n catalogId: number,\n state: IBuyboxState\n): JSX.Element | undefined {\n if (state.isCustomPriceSelected) {\n return undefined;\n }\n\n validateCatalogId(catalogId);\n return React.cloneElement(productComparisonButton as React.ReactElement, { product, catalogId });\n}\n\n/**\n * Add to wishlist failed function.\n * @param callbacks -Buybox callbacks.\n * @param resources -Buybox resources.\n * @param product -Simple product.\n * @returns Update error state.\n */\nconst onAddToWishlistFailed = (callbacks: IBuyboxCallbacks, resources: IBuyboxCommonResources, product: SimpleProduct | undefined) => (\n result: IWishlistActionErrorResult\n) => {\n callbacks.updateErrorState({\n errorHost: 'WISHLIST',\n configureErrors:\n result.status === 'MISSINGDIMENSION' ? getConfigureErrors(result.missingDimensions, resources, product?.IsGiftCard) : {}\n });\n};\n\nexport function getBuyboxProductAddToWishlist(\n props: IBuyboxExtentedProps,\n state: IBuyboxState,\n callbacks: IBuyboxCallbacks,\n productDetails?: IProductDetails\n): IBuyboxAddToWishlistViewProps | undefined {\n const {\n id,\n typeName,\n context,\n data: {\n wishlists: { result: wishlists }\n },\n resources\n } = props;\n\n const product = props.data.product?.result ? props.data.product.result : productDetails?.product;\n\n const {\n errorState: { configureErrors, quantityError, customAmountError, otherError, errorHost },\n selectedProduct\n } = state;\n\n // If custom amount is selected, add-to-wishlist is disabled\n if (state.isCustomPriceSelected) {\n return undefined;\n }\n\n const className = _getClassNamePrefix(typeName);\n const { enableHidePdpRepeatingErrors } = props.context.request.features;\n return {\n ContainerProps: {\n className: `${className}__add-to-wishlist-container`\n },\n button: product && (\n \n ),\n errorBlock: (\n \n )\n };\n}\n\n/**\n * On quantity change function.\n * @param callbacks -Buybox callbacks.\n * @returns Update quantity.\n */\nconst onQuantityChangeHandler = (callbacks: IBuyboxCallbacks) => (newValue: number) => {\n if (callbacks.updateQuantity) {\n callbacks.updateQuantity(newValue);\n }\n};\n\nexport function getBuyboxProductQuantity(\n props: IBuyboxExtentedProps,\n state: IBuyboxState,\n callbacks: IBuyboxCallbacks\n): IBuyboxProductQuantityViewProps {\n const { resources, typeName } = props;\n\n const {\n quantity,\n min,\n max,\n errorState: { quantityError }\n } = state;\n\n const className = _getClassNamePrefix(typeName);\n\n return {\n ContainerProps: {\n className: `${className}__quantity`\n },\n LabelContainerProps: {\n tag: 'label',\n className: `${className}__product-quantity-label`,\n htmlFor: `${className}__product-quantity-input`\n },\n heading:
{resources.productQuantityHeading}
,\n errors: quantityError && (\n \n \n ),\n input: (\n \n )\n };\n}\n\nexport function getBuyboxShopSimilarButton(\n props: IBuyboxExtentedProps,\n buttonType: ShopSimiliarButtonType\n): IBuyboxShopSimilarLookViewProps {\n const { resources, context, typeName } = props;\n const product = props.data.product?.result;\n\n const className = _getClassNamePrefix(typeName);\n const navigationUrl = (shopSimiliarButtonType: ShopSimiliarButtonType) => () => {\n const searchURL = getUrlSync('search', context && context.actionContext);\n const separator = searchURL!.includes('?') ? '&' : '?';\n document.location.href = `${searchURL}${separator}productId=${product &&\n product.RecordId}&recommendation=${shopSimiliarButtonType}`;\n };\n const telemetryText =\n buttonType === ShopSimiliarButtonType.Looks ? TelemetryConstant.ShopSimliarLooks : TelemetryConstant.ShopSimliarDescription;\n const payLoad = getPayloadObject('click', telemetryContent, telemetryText);\n const attribute = getTelemetryAttributes(telemetryContent, payLoad);\n const text = buttonType === ShopSimiliarButtonType.Looks ? resources.shopSimilarLooksText : resources.shopSimilarDescriptionText;\n\n return {\n ContainerProps: {\n className: `${className}__shopsimilar${buttonType}`\n },\n input: (\n \n {text}\n \n )\n };\n}\n\n/**\n * On price change function.\n * @param callbacks -Buybox callbacks.\n * @returns Update key in price.\n */\nconst onPriceChangeHandler = (callbacks: IBuyboxCallbacks) => (event: React.ChangeEvent) => {\n const value = event.currentTarget.value;\n callbacks.updateKeyInPrice(value.length > 0 ? Number(value) : Number.parseFloat(value));\n};\n\nexport function getBuyboxKeyInPrice(\n props: IBuyboxExtentedProps,\n state: IBuyboxState,\n callbacks: IBuyboxCallbacks\n): IBuyboxKeyInPriceViewProps {\n const { config, resources } = props;\n\n const {\n errorState: {}\n } = state;\n\n const className = _getClassNamePrefix(props.typeName);\n\n return {\n ContainerProps: {\n className: `${className}__key_in_price`\n },\n LabelContainerProps: {\n tag: 'label',\n className: `${className}__key_in_price-label`,\n htmlFor: `${className}__key_in_price`\n },\n heading:
{resources.buyboxKeyInPriceLabelHeading}
,\n input: (\n \n )\n };\n}\n\nexport const BuyboxErrorBlock: React.FC = ({\n showError,\n configureErrors,\n quantityError,\n customAmountError,\n otherError,\n resources,\n enableHidePdpRepeatingErrors\n}) => {\n let errorMessages: (string | undefined)[] = [];\n\n // skip configuration repeating errors when flight is enabled\n if (!enableHidePdpRepeatingErrors) {\n errorMessages = Object.values(configureErrors).filter(message => message !== undefined);\n }\n\n // skip quantity repeating errors when flight is enabled\n if (quantityError && !enableHidePdpRepeatingErrors) {\n errorMessages.push(quantityError);\n }\n\n if (customAmountError) {\n errorMessages.push(customAmountError);\n }\n\n if (otherError) {\n errorMessages.push(otherError);\n }\n\n return (\n 0} color='danger' assertive aria-label={resources.buyboxErrorMessageHeader}>\n \n {errorMessages.map((message, index) => {\n return (\n
\n {message}\n
\n );\n })}\n
\n );\n};\n\nexport function getQuantityLimitsMessages(\n props: IBuyboxExtentedProps,\n state: IBuyboxState\n): React.ReactElement | undefined {\n const { resources } = props;\n\n const { min, max } = state;\n\n if (!_isOrderQuantityLimitsFeatureEnabled(props) && !_isChannelLimitsFeatureEnabled(props)) {\n return undefined;\n }\n\n return (\n \n {_renderMaxLabel(props, max, resources.maxQuantityText)}\n {_renderMinLabel(props, min, resources.minQuantityText)}\n \n );\n}\n\nexport const RetailDefaultOrderQuantityLimitsFeatureName: string = 'Dynamics.AX.Application.RetailDefaultOrderQuantityLimitsFeature';\nexport const EcommerceQuantityLimitConfigurationsFeatureName: string =\n 'Dynamics.AX.Application.EcommerceQuantityLimitConfigurationsFeature';\nexport const RevertToSiteBuilderOrderQuantityLimitsSettingsCRTFeatureName: string = 'RevertToSiteBuilderOrderQuantityLimitsSettings';\n\nconst _renderMaxLabel = (\n props: IBuyboxExtentedProps,\n max: number | undefined,\n maxQuantityText: string\n): React.ReactElement | undefined => {\n const { resources, typeName } = props;\n const className = _getClassNamePrefix(typeName);\n if (max && max !== 0 && max !== Number.MAX_VALUE) {\n return (\n

\n {resources.informationIconText}\n