{"version":3,"file":"static/js/11.5a1b48596b8013ad9b94.chunk.js","mappings":"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","sources":["webpack://msdyn365.commerce.online/./src/modules/smwe-media-gallery/utils/get-valid-product-images.ts?7349","webpack://msdyn365.commerce.online/./src/modules/smwe-media-gallery/smwe-media-gallery.tsx?d480","webpack://msdyn365.commerce.online/./src/modules/smwe-media-gallery/smwe-media-gallery.view.tsx?56c9","webpack://msdyn365.commerce.online/./src/modules/smwe-minicart/components/flyout-cart-line-items.tsx?3f9a","webpack://msdyn365.commerce.online/./src/modules/smwe-minicart/utils/get-products-in-mini-cart.ts?bc49","webpack://msdyn365.commerce.online/./src/modules/smwe-minicart/smwe-minicart.tsx?a11f","webpack://msdyn365.commerce.online/./src/modules/smwe-minicart/smwe-minicart.view.tsx?d984","webpack://msdyn365.commerce.online/./src/themes/emp/views/carousel.view.tsx?0665","webpack://msdyn365.commerce.online/./src/themes/fth/views/carousel.view.tsx?2705","webpack://msdyn365.commerce.online/./src/themes/stemichelle-new/views/carousel.view.tsx?a805","webpack://msdyn365.commerce.online/./src/themes/wine-estates/views/carousel.view.tsx?a040","webpack://msdyn365.commerce.online/./src/modules/active-image-utilities/active-product.tsx?69b2","webpack://msdyn365.commerce.online/./src/modules/active-image-utilities/additional-content.tsx?6946","webpack://msdyn365.commerce.online/./src/modules/active-image-utilities/image-mapper.tsx?dd86","webpack://msdyn365.commerce.online/./src/modules/active-image/active-image.tsx?00d3","webpack://msdyn365.commerce.online/./src/modules/active-image/active-image.view.tsx?a935","webpack://msdyn365.commerce.online/./src/checkout-errors/checkout-errors.ts?a9e0","webpack://msdyn365.commerce.online/./src/common/address-autosuggest.ts?f5a2","webpack://msdyn365.commerce.online/./src/common/address-common.ts?cf4b","webpack://msdyn365.commerce.online/./src/common/address-format.data.ts?6cbf","webpack://msdyn365.commerce.online/./src/common/address-format.ts?4f04","webpack://msdyn365.commerce.online/./src/common/address-meta-data.ts?c6e6","webpack://msdyn365.commerce.online/./src/common/address-module.data.ts?697a","webpack://msdyn365.commerce.online/./src/common/components/address-checkbox.tsx?eb1a","webpack://msdyn365.commerce.online/./src/common/components/address-add.tsx?e6a6","webpack://msdyn365.commerce.online/./src/common/components/address-alert.tsx?10d1","webpack://msdyn365.commerce.online/./src/common/components/address-button.tsx?7f7b","webpack://msdyn365.commerce.online/./src/common/components/address-detail-item.tsx?5209","webpack://msdyn365.commerce.online/./src/common/components/address-dropdown.tsx?f24b","webpack://msdyn365.commerce.online/./src/common/components/address-error-alert.tsx?bcde","webpack://msdyn365.commerce.online/./src/common/components/address-error-message.tsx?89ad","webpack://msdyn365.commerce.online/./src/common/components/address-error-title.tsx?3926","webpack://msdyn365.commerce.online/./src/common/components/address-input.tsx?8073","webpack://msdyn365.commerce.online/./src/common/components/address-label.tsx?6864","webpack://msdyn365.commerce.online/./src/common/components/address-list.tsx?a628","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/common/components/address-show.tsx?3f60","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/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/modules/bulk-purchase/bulk-purchase.view.tsx?feac","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/checkout-utilities.data.ts?b2cc","webpack://msdyn365.commerce.online/../../../src/module-state-manager/module-state.ts?7579","webpack://msdyn365.commerce.online/../../../src/module-state-manager/with-module-state.tsx?61ca","webpack://msdyn365.commerce.online/./src/modules/fabrikam/views/components/promocode.component.tsx?d9d6","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/modules/media-gallery/utils/helper.ts?b895","webpack://msdyn365.commerce.online/./src/modules/media-gallery/utils/get-valid-product-images.ts?a364","webpack://msdyn365.commerce.online/./src/modules/media-gallery/media-gallery.tsx?24d7","webpack://msdyn365.commerce.online/./src/modules/media-gallery/media-gallery.view.tsx?5061","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/quick-order/components/quick-order-drawer.tsx?f8b4","webpack://msdyn365.commerce.online/./src/modules/quick-order/components/quick-order-form.tsx?eb54","webpack://msdyn365.commerce.online/./src/modules/quick-order/components/quick-order-product.ts?7702","webpack://msdyn365.commerce.online/./src/modules/quick-order/components/quick-order-table/components/quick-order-table-header-component.tsx?49e7","webpack://msdyn365.commerce.online/./src/modules/quick-order/components/quick-order-table/components/quick-order-table-row-component.tsx?e487","webpack://msdyn365.commerce.online/./src/modules/quick-order/components/quick-order-table/quick-order-table-component.tsx?46c1","webpack://msdyn365.commerce.online/./src/modules/quick-order/quick-order.tsx?ef21","webpack://msdyn365.commerce.online/./src/modules/quick-order/quick-order.view.tsx?a96d","webpack://msdyn365.commerce.online/./src/actions/submit-user-review.ts?ac78","webpack://msdyn365.commerce.online/./src/actions/inputs/submit-user-review-input.ts?3afb","webpack://msdyn365.commerce.online/./src/common/review-modal.tsx?54a9","webpack://msdyn365.commerce.online/./src/common/rnrInterface.ts?f761","webpack://msdyn365.commerce.online/./src/modules/ratings-histogram/component/components.tsx?f324","webpack://msdyn365.commerce.online/./src/modules/ratings-histogram/ratings-histogram.tsx?f6bc","webpack://msdyn365.commerce.online/./src/modules/ratings-histogram/ratings-histogram.view.tsx?5bff","webpack://msdyn365.commerce.online/./src/actions/report-review-concern.ts?bf43","webpack://msdyn365.commerce.online/./src/actions/submit-helpfulness-vote.ts?a8ab","webpack://msdyn365.commerce.online/./src/actions/inputs/report-review-concern-input.ts?b071","webpack://msdyn365.commerce.online/./src/modules/reviews-list/components/components.tsx?033b","webpack://msdyn365.commerce.online/./src/modules/reviews-list/components/report-review-modal.tsx?53d3","webpack://msdyn365.commerce.online/./src/modules/reviews-list/components/review-card.tsx?6bbd","webpack://msdyn365.commerce.online/./src/actions/inputs/submit-helpfulness-vote-input.ts?07aa","webpack://msdyn365.commerce.online/./src/modules/reviews-list/reviews-list.tsx?37e8","webpack://msdyn365.commerce.online/./src/modules/reviews-list/reviews-list.view.tsx?0e4a","webpack://msdyn365.commerce.online/./src/modules/write-review/components/components.tsx?3575","webpack://msdyn365.commerce.online/./src/modules/write-review/write-review.tsx?9afc","webpack://msdyn365.commerce.online/./src/modules/write-review/write-review.view.tsx?b867","webpack://msdyn365.commerce.online/./src/search-state.ts?dd10","webpack://msdyn365.commerce.online/./src/modules/search/actions/get-auto-suggest-suggestions.ts?4735","webpack://msdyn365.commerce.online/./src/modules/search/components/search.categorysuggest.tsx?c65d","webpack://msdyn365.commerce.online/./src/modules/search/components/search.form.tsx?25a5","webpack://msdyn365.commerce.online/./src/modules/search/components/search.keywordsuggest.tsx?297c","webpack://msdyn365.commerce.online/./src/modules/search/components/search.label.tsx?0c17","webpack://msdyn365.commerce.online/./src/modules/search/components/search.productsuggest.tsx?2af9","webpack://msdyn365.commerce.online/./src/modules/search/search.tsx?72fb","webpack://msdyn365.commerce.online/./src/modules/search/search.view.tsx?1505","webpack://msdyn365.commerce.online/./src/modules/video-player/components/additional-content.tsx?b368","webpack://msdyn365.commerce.online/./src/modules/video-player/video-player.tsx?53e5","webpack://msdyn365.commerce.online/./src/modules/video-player/video-player.view.tsx?fedb"],"sourcesContent":["import { getMediaLocationsForSelectedVariant, MediaLocationsForSelectedVariantInput} from '@msdyn365-commerce-modules/retail-actions';\r\nimport { IActionContext, IImageData } from '@msdyn365-commerce/core';\r\nimport { MediaLocation } from '@msdyn365-commerce/retail-proxy';\r\n\r\nexport async function getValidProductImages(productId: number, channelId: number, actionContext: IActionContext): Promise {\r\n const actionInput = new MediaLocationsForSelectedVariantInput(\r\n productId,\r\n channelId,\r\n );\r\n\r\n return getMediaLocationsForSelectedVariant(actionInput, actionContext)\r\n .then(mediaLocations => {\r\n if (mediaLocations) {\r\n return Promise.all(mediaLocations.map(validateMediaLocaionAsync))\r\n .then(pairs => {\r\n return pairs.filter(pair => pair[1]).map(pair => pair[0]);\r\n });\r\n }\r\n\r\n return [];\r\n }).catch(error => {\r\n actionContext.telemetry.error(error);\r\n\r\n return [];\r\n });\r\n}\r\n\r\nasync function validateMediaLocaionAsync(mediaLocation: MediaLocation): Promise<[IImageData, boolean]> {\r\n const imageData = {\r\n src: mediaLocation.Uri || '',\r\n altText: mediaLocation.AltText || ''\r\n };\r\n\r\n if (imageData.src === '') {\r\n return [imageData, false];\r\n }\r\n\r\n return new Promise<[IImageData, boolean]>((resolve) => {\r\n try {\r\n const http = new XMLHttpRequest();\r\n http.open('HEAD', mediaLocation.Uri!, true);\r\n\r\n http.onload = () => {\r\n resolve([imageData, http.status === 200 || http.status === 201]);\r\n };\r\n\r\n http.onerror = () => {\r\n resolve([imageData, false]);\r\n };\r\n\r\n http.send();\r\n } catch (e) {\r\n resolve([imageData, false]);\r\n }\r\n });\r\n}","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { getProductUrlSync } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { Carousel, ICarouselProps } from '@msdyn365-commerce/components';\r\nimport classnames from 'classnames';\r\nimport { reaction } from 'mobx';\r\nimport * as React from 'react';\r\n\r\n// import {thumbnailsOrientation} from '@msdyn365-commerce-modules/media-gallery';\r\nimport { IComponentNodeProps, IModuleProps, INodeProps, ISingleSlideCarouselProps, KeyCodes, NodeTag, SingleSlideCarousel } from '@msdyn365-commerce-modules/utilities';\r\nimport { IImageData, IImageDimension, IImageSettings, Image } from '@msdyn365-commerce/core';\r\nimport { SimpleProduct } from '@msdyn365-commerce/retail-proxy';\r\nimport { ISmweMediaGalleryData } from './smwe-media-gallery.data';\r\nimport { ISmweMediaGalleryProps } from './smwe-media-gallery.props.autogenerated';\r\nimport { getValidProductImages } from './utils';\r\n\r\nexport interface IMediaGalleryState {\r\n animating: boolean;\r\n activeIndex: number;\r\n mediaGalleryItems: IImageData[] | undefined;\r\n}\r\n\r\nexport interface IMediaGalleryThumbnailsViewProps {\r\n ThumbnailsContainerProps: INodeProps;\r\n SingleSlideCarouselComponentProps: INodeProps;\r\n\r\n items?: IMediaGalleryThumbnailItemViewProps[];\r\n}\r\n\r\nexport interface IMediaGalleryThumbnailItemViewProps {\r\n ThumbnailItemContainerProps: INodeProps;\r\n\r\n Picture: React.ReactElement;\r\n}\r\n\r\nexport interface IMediaGalleryViewProps extends ISmweMediaGalleryProps {\r\n state: IMediaGalleryState;\r\n productUrl?: string;\r\n isProductLightBox?: boolean;\r\n MediaGallery: IModuleProps;\r\n CarouselProps: INodeProps;\r\n Thumbnails: IMediaGalleryThumbnailsViewProps;\r\n}\r\n\r\ninterface IImageSettingsViewports {\r\n xs: IImageDimension;\r\n sm?: IImageDimension | undefined;\r\n md?: IImageDimension | undefined;\r\n lg?: IImageDimension | undefined;\r\n xl?: IImageDimension | undefined;\r\n}\r\n\r\nconst SLRAppellation: string = 'SLR Appellation';\r\nconst TastingNotes: string = 'Tasting Notes';\r\n\r\n/**\r\n * Media gallery component\r\n */\r\nclass MediaGallery extends React.Component, IMediaGalleryState> {\r\n private readonly defaultGalleryImageSettings: IImageSettings = {\r\n viewports: {\r\n xs: { q: 'w=0&h=387&m=8', w: 0, h: 0 },\r\n sm: { q: 'w=0&h=387&m=8', w: 0, h: 0 },\r\n md: { q: 'w=0&h=772&m=8', w: 0, h: 0 },\r\n lg: { q: 'w=0&h=772&m=8', w: 0, h: 0 },\r\n },\r\n lazyload: true\r\n };\r\n\r\n private readonly defaultThumbnailImageSettings: IImageSettings = {\r\n viewports: {\r\n xs: { q: 'w=100&m=8', w: 100, h: 0 },\r\n lg: { q: 'w=100&m=8', w: 100, h: 0 },\r\n },\r\n lazyload: true\r\n };\r\n\r\n private noneWineProductImageSettings: IImageSettings = {\r\n viewports: {\r\n xs: { q: 'w=180&h=0&m=8', w: 0, h: 0 },\r\n sm: { q: 'w=180&h=0&m=8', w: 0, h: 0 },\r\n md: { q: 'w=260&h=0&m=8', w: 0, h: 0 },\r\n lg: { q: 'w=260&m=0', w: 0, h: 0 },\r\n xl: { q: 'w=260&m=0', w: 0, h: 0 },\r\n },\r\n lazyload: true\r\n };\r\n\r\n private isWineProduct: boolean = true;\r\n\r\n constructor(props: ISmweMediaGalleryProps) {\r\n super(props);\r\n this.state = { activeIndex: 0, animating: false, mediaGalleryItems: undefined };\r\n\r\n const modifiedImageSettings = props.config.galleryImageSettings;\r\n if(modifiedImageSettings) {\r\n if(modifiedImageSettings.viewports) {\r\n modifiedImageSettings.viewports = this.usePNGImageSetting(modifiedImageSettings.viewports);\r\n props.config.galleryImageSettings = modifiedImageSettings;\r\n }\r\n }\r\n }\r\n\r\n public usePNGImageSetting = (viewports: IImageSettingsViewports): IImageSettingsViewports => {\r\n const modifiedViewports = viewports;\r\n if(modifiedViewports?.xs?.q) {\r\n modifiedViewports.xs.q = modifiedViewports.xs.q.replace('f=jpg', 'f=png');\r\n }\r\n if(modifiedViewports?.sm?.q) {\r\n modifiedViewports.sm.q = modifiedViewports.sm.q.replace('f=jpg', 'f=png');\r\n }\r\n if(modifiedViewports?.md?.q) {\r\n modifiedViewports.md.q = modifiedViewports.md.q.replace('f=jpg', 'f=png');\r\n }\r\n if(modifiedViewports?.lg?.q) {\r\n modifiedViewports.lg.q = modifiedViewports.lg.q.replace('f=jpg', 'f=png');\r\n }\r\n if(modifiedViewports?.xl?.q) {\r\n modifiedViewports.xl.q = modifiedViewports.xl.q.replace('f=jpg', 'f=png');\r\n }\r\n\r\n return modifiedViewports;\r\n };\r\n\r\n public async componentDidMount(): Promise {\r\n const isGiftCard = this.props.data.product && this.props.data.product.result ? this.props.data.product.result.ItemId?.toLowerCase() === 'giftcard' : false;\r\n const giftCardImage: IImageData = {src: this.props.context.app.config.giftCardImage,altText:\"Gift Card\" || ''};\r\n reaction(\r\n () => this.props.data.product.result ? this.props.data.product.result.RecordId : null,\r\n async () => {\r\n if (this.props.data.product.result) {\r\n if (isGiftCard && this.props.context.app.config.giftCardImage) {\r\n this.setState({\r\n mediaGalleryItems: [giftCardImage]\r\n });\r\n } else {\r\n this.setState({\r\n mediaGalleryItems: await getValidProductImages(this.props.data.product.result.RecordId, +this.props.context.request.apiSettings.channelId, this.props.context.actionContext)\r\n });\r\n }\r\n } else {\r\n this.setState({\r\n mediaGalleryItems: []\r\n });\r\n }\r\n }\r\n );\r\n\r\n if (this.props.data.product.result) {\r\n if (isGiftCard && this.props.context.app.config.giftCardImage) {\r\n this.setState({\r\n mediaGalleryItems: [giftCardImage]\r\n });\r\n } else {\r\n this.setState({\r\n mediaGalleryItems: await getValidProductImages(this.props.data.product.result.RecordId, +this.props.context.request.apiSettings.channelId, this.props.context.actionContext)\r\n });\r\n }\r\n } else {\r\n this.setState({\r\n mediaGalleryItems: []\r\n });\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n const {\r\n data: {\r\n product: {\r\n result: product\r\n }\r\n },\r\n id,\r\n config,\r\n resources\r\n } = this.props;\r\n const data: ISmweMediaGalleryData = this.props.data;\r\n const wineAttributes = this.props.data.productSpecificationData.result && this.props.data.productSpecificationData.result.filter(\r\n attribute => attribute.Name && (attribute.Name.toUpperCase() === SLRAppellation.toUpperCase() || attribute.Name.toUpperCase() === TastingNotes.toUpperCase())\r\n );\r\n const isWineProduct = !!(wineAttributes && wineAttributes.map(attr => attr.TextValue).filter(value => value).length);\r\n this.isWineProduct = isWineProduct;\r\n\r\n if (!data) {\r\n throw new Error('[MediaGallery] Data items returned null or undefined');\r\n }\r\n\r\n let mediaGalleryItems = this.state.mediaGalleryItems;\r\n const { className, showPaginationTooltip } = config;\r\n\r\n if (!mediaGalleryItems && product) {\r\n mediaGalleryItems = [\r\n this._mapProductToImageData(product)\r\n ];\r\n }\r\n\r\n const isVertical: boolean = (config.thumbnailsOrientation === 'vertical');\r\n\r\n let productUrl;\r\n if (data.product && data.product.status === 'SUCCESS') {\r\n if (product) {\r\n productUrl = getProductUrlSync(product, this.props.context.actionContext, undefined);\r\n }\r\n }\r\n\r\n // tslint:disable-next-line: no-typeof-undefined\r\n const isProductLightbox = (typeof window !== 'undefined') && (window.location !== window.parent.location);\r\n\r\n const viewProps: IMediaGalleryViewProps = {\r\n ...(this.props as ISmweMediaGalleryProps),\r\n state: this.state,\r\n productUrl,\r\n isProductLightBox: isProductLightbox,\r\n MediaGallery: {\r\n moduleProps: this.props,\r\n className: classnames('ms-media-gallery', className, 'overflow-hidden',\r\n isVertical ? 'row' : 'col',\r\n isVertical ? 'media-gallery-vertical' : 'media-gallery-horizontal')\r\n },\r\n CarouselProps: {\r\n tag: Carousel,\r\n className: 'ms-media-gallery__carousel',\r\n items: mediaGalleryItems && mediaGalleryItems.map((item: IImageData, index: number) => this._getCarouselItem(item, index)),\r\n activeIndex: this.state.activeIndex,\r\n next: this.next,\r\n previous: this.previous,\r\n interval: false,\r\n directionTextPrev: resources.previousScreenshotFlipperText,\r\n directionTextNext: resources.nextScreenshotFlipperText,\r\n onIndicatorsClickHandler: this.goToIndex,\r\n showPaginationTooltip: showPaginationTooltip === true,\r\n handleOnExited: this.onExited,\r\n handleOnExiting: this.onExiting\r\n } as IComponentNodeProps,\r\n Thumbnails: {\r\n ThumbnailsContainerProps: {\r\n className: classnames('ms-media-gallery__thumbnails-container',\r\n isVertical ? 'h-100' : 'w-100',\r\n 'd-flex',\r\n 'justify-content-center',\r\n isVertical ? 'order-1' : 'row')\r\n },\r\n SingleSlideCarouselComponentProps: {\r\n tag: SingleSlideCarousel,\r\n className: 'ms-media-gallery__thumbnails',\r\n vertical: isVertical,\r\n flipperPrevLabel: resources.previousScreenshotFlipperText,\r\n flipperNextLabel: resources.nextScreenshotFlipperText,\r\n parentId: id,\r\n useTabList: true,\r\n } as IComponentNodeProps,\r\n items: mediaGalleryItems && mediaGalleryItems.map((item: IImageData, index: number) => this._getThumbnailItem(item, index, this.state.activeIndex)),\r\n }\r\n };\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n private onExiting = () => {\r\n this.setState({ animating: true });\r\n };\r\n\r\n private onExited = () => {\r\n this.setState({ animating: false });\r\n };\r\n\r\n private next = (): void => {\r\n const nextIndex = this.isLastItem() ? 0 : this.state.activeIndex + 1;\r\n this.goToIndex(nextIndex);\r\n };\r\n\r\n private previous = (): void => {\r\n const nextIndex = this.isFirstItem() ? (this.state.mediaGalleryItems ? this.state.mediaGalleryItems.length - 1 : 0) : this.state.activeIndex - 1;\r\n this.goToIndex(nextIndex);\r\n };\r\n\r\n private goToIndex = (index: number): void => {\r\n if (this.state.animating) {\r\n return;\r\n }\r\n this.setState({ activeIndex: index });\r\n };\r\n\r\n private _getCarouselItem = (image: IImageData, index: number): React.ReactNode => (\r\n \r\n );\r\n\r\n private _getThumbnailItem = (image: IImageData, index: number, modifiedActiveIndex: number): IMediaGalleryThumbnailItemViewProps => {\r\n const classes = classnames(\r\n 'ms-media-gallery__thumbnail-item',\r\n modifiedActiveIndex === index ? 'ms-media-gallery__thumbnail-item-active' : ''\r\n );\r\n\r\n return {\r\n ThumbnailItemContainerProps: {\r\n tag: 'li' as NodeTag,\r\n className: classes,\r\n role: 'tab',\r\n tabIndex: 0,\r\n key: index,\r\n 'aria-label': image.altText,\r\n 'aria-selected': modifiedActiveIndex === index,\r\n 'aria-controls': `${this.props.id}__carousel-item__${index}`,\r\n onClick: this._generateOnThumbnailClick(index),\r\n onKeyDown: this._generateOnThumbnailKeyDown(index)\r\n },\r\n Picture: (\r\n \r\n )\r\n };\r\n };\r\n\r\n private _generateOnThumbnailKeyDown = (index: number) => {\r\n return (event: React.KeyboardEvent) => {\r\n if (event.which === KeyCodes.Enter || event.which === KeyCodes.Space) {\r\n event.preventDefault();\r\n\r\n this.goToIndex(index);\r\n }\r\n };\r\n };\r\n\r\n private _generateOnThumbnailClick = (index: number) => {\r\n return (event: React.MouseEvent) => {\r\n event.preventDefault();\r\n\r\n this.goToIndex(index);\r\n };\r\n };\r\n\r\n private _mapProductToImageData(product: SimpleProduct): IImageData {\r\n return {\r\n src: product.PrimaryImageUrl || '',\r\n };\r\n }\r\n\r\n private isFirstItem = () => this.state.activeIndex === 0;\r\n\r\n private isLastItem = () => this.state.mediaGalleryItems && this.state.activeIndex === this.state.mediaGalleryItems.length - 1;\r\n}\r\n\r\nexport default MediaGallery;","import { IMediaGalleryThumbnailItemViewProps, IMediaGalleryThumbnailsViewProps, IMediaGalleryViewProps } from '@msdyn365-commerce-modules/media-gallery';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nconst _renderThumbnailItem = (thumbnail: IMediaGalleryThumbnailItemViewProps): JSX.Element => {\r\n const { ThumbnailItemContainerProps, Picture } = thumbnail;\r\n\r\n return (\r\n \r\n {Picture}\r\n \r\n );\r\n};\r\n\r\nconst _renderThumbnails = (thumbnails: IMediaGalleryThumbnailsViewProps): JSX.Element => {\r\n const { ThumbnailsContainerProps, SingleSlideCarouselComponentProps, items } = thumbnails;\r\n\r\n return (\r\n \r\n \r\n {items && items.map(_renderThumbnailItem)}\r\n \r\n \r\n );\r\n};\r\n\r\nconst MediaGalleryView: React.FC = props => {\r\n const {CarouselProps, Thumbnails, MediaGallery} = props;\r\n\r\n return (\r\n \r\n \r\n {_renderThumbnails(Thumbnails)}\r\n {props.slots && props.slots.productLink && props.slots.productLink.length > 0 ? props.slots.productLink : ''}\r\n \r\n );\r\n};\r\nexport default MediaGalleryView;","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n/* tslint:disable: no-duplicate-imports */\r\nimport { getProductUrlSync } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { Button } from '@msdyn365-commerce-modules/utilities';\r\nimport { CartLineItemComponent, ICartlineResourceString } from '@msdyn365-commerce/components';\r\nimport { ICoreContext, IGridSettings, IImageSettings, ITelemetry } from '@msdyn365-commerce/core';\r\nimport { ICartState } from '@msdyn365-commerce/global-state';\r\nimport { CartLine, OrgUnitLocation, ProductAvailableQuantity, ProductDeliveryOptions, SimpleProduct } from '@msdyn365-commerce/retail-proxy';\r\nimport * as React from 'react';\r\n\r\nexport interface IFlyoutCartLineItemsProps {\r\n cartlines: CartLine[];\r\n cartState: ICartState | undefined;\r\n orgUnitLocations: OrgUnitLocation[] | undefined;\r\n resources: ICartlineResourceString;\r\n productAvailabilites: ProductAvailableQuantity[] | undefined;\r\n products: SimpleProduct[] | undefined;\r\n productDeliveryOptions: ProductDeliveryOptions[] | undefined;\r\n pickupDeliveryModeCode?: string;\r\n /** GridSettings for the product image in cartline */\r\n gridSettings: IGridSettings;\r\n /** ImageSettings for the product image in cartline */\r\n imageSettings: IImageSettings;\r\n id: string;\r\n typeName:string;\r\n context: ICoreContext;\r\n telemetry: ITelemetry;\r\n removeButtonText: string;\r\n outOfStockText: string;\r\n outOfRangeOneText: string;\r\n outOfRangeFormatText: string;\r\n maxCartlineQuantity: number;\r\n\r\n outOfStockThreshold: number;\r\n isStockCheckEnabled: boolean;\r\n\r\n removeItemClickHandler(cartlineToRemove: CartLine): void;\r\n updateItemClickHandler(cartlineToUpdate: CartLine, newQuantity: number): void;\r\n}\r\n\r\nexport interface IFlyoutCartLineItemViewProps {\r\n cartline: React.ReactNode;\r\n remove: React.ReactNode;\r\n storeLocation: React.ReactNode;\r\n hasError: boolean;\r\n\r\n data: {\r\n product: SimpleProduct;\r\n cartline: CartLine;\r\n };\r\n}\r\n\r\nconst _getProduct = (productId: number | undefined, products: SimpleProduct[]): SimpleProduct | undefined => {\r\n if (productId !== undefined && products) {\r\n return products.find(product => {\r\n return productId === product.RecordId;\r\n });\r\n }\r\n return undefined;\r\n};\r\n\r\nconst _getCartItemMaxQuantity = (outOfStockThreshold: number, maxCartlineQuantity: number, isStockCheckEnabled: boolean, productAvailability?: ProductAvailableQuantity) => {\r\n if(isStockCheckEnabled) {\r\n if(!productAvailability || !productAvailability.AvailableQuantity || productAvailability.AvailableQuantity <= 0 || productAvailability.AvailableQuantity <= outOfStockThreshold) {\r\n return 0;\r\n }\r\n return productAvailability.AvailableQuantity - outOfStockThreshold;\r\n }\r\n\r\n return maxCartlineQuantity;\r\n};\r\n\r\nconst _assembleNode = (\r\n cartline: CartLine,\r\n product: SimpleProduct,\r\n props:IFlyoutCartLineItemsProps,\r\n index:number,\r\n foundProductAvailability?:ProductAvailableQuantity,\r\n foundProductDeliveryOptions?:ProductDeliveryOptions):IFlyoutCartLineItemViewProps => {\r\n const {\r\n imageSettings,\r\n gridSettings,\r\n id,\r\n typeName,\r\n context,\r\n resources,\r\n removeButtonText,\r\n removeItemClickHandler,\r\n updateItemClickHandler,\r\n } = props;\r\n\r\n const maxQuantity = _getCartItemMaxQuantity(props.outOfStockThreshold, props.maxCartlineQuantity, props.isStockCheckEnabled, foundProductAvailability);\r\n\r\n const onRemoveClickHandler = (event: React.MouseEvent) => { removeItemClickHandler(cartline); };\r\n\r\n return {\r\n data: {\r\n product: product,\r\n cartline: cartline\r\n },\r\n hasError: props.isStockCheckEnabled ? cartline.Quantity! > maxQuantity : false,\r\n cartline: (\r\n ),\r\n remove: (\r\n \r\n {removeButtonText}\r\n \r\n ),\r\n storeLocation: (\r\n _renderStoreLocation(cartline, props)\r\n )\r\n };\r\n};\r\n\r\nconst _renderStoreLocation = (cartLine: CartLine | null | undefined, props: IFlyoutCartLineItemsProps): JSX.Element | null => {\r\n if(cartLine && cartLine.FulfillmentStoreId) {\r\n const orgUnitName = _getOrgUnitName(cartLine.FulfillmentStoreId, props.orgUnitLocations);\r\n\r\n if(orgUnitName) {\r\n return (\r\n
\r\n {orgUnitName}\r\n
\r\n );\r\n }\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst _getOrgUnitName = (fulfillmentStoreId: string | undefined, orgUnitLocations: OrgUnitLocation[] | undefined) => {\r\n if(!orgUnitLocations || !fulfillmentStoreId || !(orgUnitLocations.length > 0)) {\r\n return '';\r\n }\r\n\r\n const foundLocation = orgUnitLocations.find(orgUnitLocation => {\r\n return orgUnitLocation.OrgUnitNumber === fulfillmentStoreId;\r\n });\r\n\r\n if(foundLocation) {\r\n return foundLocation.OrgUnitName;\r\n } else {\r\n return fulfillmentStoreId;\r\n }\r\n};\r\n\r\nconst _assembleCartlines = (\r\n cartlines: CartLine[],\r\n products: SimpleProduct[] | undefined,\r\n props: IFlyoutCartLineItemsProps):IFlyoutCartLineItemViewProps[] | null => {\r\n const reactNodes:IFlyoutCartLineItemViewProps[] = [];\r\n\r\n if(!products || products.length === 0) {\r\n return null;\r\n }\r\n\r\n cartlines.map((cartline, index) => {\r\n const product = _getProduct(cartline.ProductId, products);\r\n let foundProductAvailability;\r\n if(props.productAvailabilites && props.productAvailabilites.length > 0) {\r\n foundProductAvailability = props.productAvailabilites.find((productAvailability) => {\r\n return productAvailability.ProductId! === cartline.ProductId;\r\n });\r\n }\r\n let foundProductDeliveryOption;\r\n if(props.productDeliveryOptions && props.productDeliveryOptions.length > 0) {\r\n foundProductDeliveryOption = props.productDeliveryOptions.find((deliveryOption) => {\r\n return deliveryOption && deliveryOption.ProductId === cartline.ProductId;\r\n });\r\n }\r\n if(product) {\r\n reactNodes.push(_assembleNode(cartline, product, props, index, foundProductAvailability, foundProductDeliveryOption));\r\n }\r\n });\r\n\r\n return reactNodes;\r\n};\r\n\r\n/**\r\n * CartLineItems component\r\n */\r\n\r\nexport const FlyoutCartLineItems = (props: IFlyoutCartLineItemsProps) => {\r\n const { products, cartlines } = props;\r\n return (\r\n _assembleCartlines(cartlines, products, props)\r\n );\r\n};","/* tslint:disable: no-duplicate-imports */\r\nimport { ActiveCartProductsInput, getActiveCartProductsAction, getDeliveryOptionsForCartLineItems, ProductDeliveryOptionsForCartLineItems } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { IActionContext } from '@msdyn365-commerce/core';\r\nimport { getCartState } from '@msdyn365-commerce/global-state';\r\nimport { ProductAvailableQuantity, ProductDeliveryOptions, SimpleProduct } from '@msdyn365-commerce/retail-proxy';\r\nimport { getOrgUnitConfigurationAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/OrgUnitsDataActions.g';\r\nimport { getEstimatedAvailabilityAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/ProductsDataActions.g';\r\n/**\r\n * IMiniCartData entity interface.\r\n */\r\nexport interface IMiniCartData {\r\n products?: SimpleProduct[];\r\n productAvailabilites?: ProductAvailableQuantity[];\r\n deliveryOptions?: ProductDeliveryOptions[];\r\n}\r\n\r\nexport const createInput = () => {\r\n return new ActiveCartProductsInput();\r\n};\r\n\r\n/**\r\n * Calls the Retail API and returns a mini cart data\r\n */\r\nexport async function getMiniCartData(ctx: IActionContext): Promise {\r\n const miniCartData: IMiniCartData = {};\r\n\r\n const cartState = await getCartState(ctx);\r\n const cart = cartState.cart;\r\n const channelConfiguration = await getOrgUnitConfigurationAsync({ callerContext: ctx });\r\n const productItems = [];\r\n\r\n // If there are cart lines, make call to get products\r\n if (cart && cart.CartLines && cart.CartLines.length) {\r\n await getActiveCartProductsAction(\r\n new ActiveCartProductsInput(),\r\n ctx\r\n )\r\n .then(products => {\r\n if (products) {\r\n miniCartData.products = products;\r\n }\r\n })\r\n .catch(error => {\r\n ctx.telemetry.exception(error);\r\n throw new Error('[getActiveCartWithProdcuts]Unable to hydrate cart with product information');\r\n });\r\n\r\n if (cart.Id && channelConfiguration) {\r\n for (const cartLine of cart.CartLines) {\r\n if (cartLine.DeliveryMode !== channelConfiguration.PickupDeliveryModeCode) {\r\n productItems.push(cartLine);\r\n }\r\n }\r\n }\r\n if (productItems && productItems.length > 0) {\r\n const productAvailabilites = await getEstimatedAvailabilityAsync({ callerContext: ctx }, { ProductIds: productItems.map(x => x.ProductId || 0), DefaultWarehouseOnly: true });\r\n miniCartData.productAvailabilites = productAvailabilites.ProductWarehouseInventoryAvailabilities?.map((product) => { return { ProductId: product.ProductId, AvailableQuantity: product.PhysicalAvailable }; });\r\n } else {\r\n miniCartData.productAvailabilites = [];\r\n }\r\n\r\n await getDeliveryOptionsForCartLineItems(\r\n new ProductDeliveryOptionsForCartLineItems(ctx.requestContext.apiSettings),\r\n ctx\r\n )\r\n .then(deliveryOptions => {\r\n if (deliveryOptions) {\r\n miniCartData.deliveryOptions = deliveryOptions;\r\n }\r\n })\r\n .catch(error => {\r\n ctx.telemetry.exception(error);\r\n throw new Error('[getActiveCartWithProdcuts]Unable to hydrate cart with product information');\r\n });\r\n }\r\n\r\n return miniCartData;\r\n}","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\n/* tslint:disable: no-duplicate-imports */\r\nimport { Button, INodeProps, UncontrolledTooltip } from '@msdyn365-commerce-modules/utilities';\r\nimport { CartIconComponent } from '@msdyn365-commerce/components';\r\nimport { getUrlSync, IImageSettings } from '@msdyn365-commerce/core';\r\nimport { CartLine, OrgUnitLocation } from '@msdyn365-commerce/retail-proxy';\r\nimport classnames from 'classnames';\r\nimport {reaction } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport React from 'react';\r\nimport { FlyoutCartLineItems, IFlyoutCartLineItemViewProps } from './components/flyout-cart-line-items';\r\nimport { ISmweMinicartData } from './smwe-minicart.data';\r\nimport { ISmweMinicartProps } from './smwe-minicart.props.autogenerated';\r\nimport { getMiniCartData, IMiniCartData } from './utils/get-products-in-mini-cart';\r\n\r\nexport interface IMiniCartState {\r\n miniCartData: IMiniCartData;\r\n orgUnitLocations?: OrgUnitLocation[];\r\n}\r\n\r\nexport interface ICartIconViewProps extends ISmweMinicartProps {\r\n className: string;\r\n cartIcon: React.ReactNode;\r\n\r\n FlyoutContainer?: INodeProps;\r\n\r\n CartlinesWrapper: INodeProps;\r\n miniCartWrapper: INodeProps;\r\n miniCartItemWrapper: INodeProps;\r\n cartlines?: IFlyoutCartLineItemViewProps[];\r\n flyoutTitle: React.ReactNode;\r\n totalPrice: React.ReactNode;\r\n\r\n checkoutAsGuestButton?: React.ReactNode;\r\n checkoutAsSignInUserButton?: React.ReactNode;\r\n goToCartButton?: React.ReactNode;\r\n waitingComponent?: React.ReactNode;\r\n\r\n isCartLoading: boolean;\r\n\r\n removeItemClickHandler(cartlineToRemove: CartLine): void;\r\n updateItemClickHandler(cartlineToUpdate: CartLine, newQuantity: number): void;\r\n}\r\n\r\n/**\r\n *\r\n * Cart component\r\n * @extends {React.PureComponent>}\r\n */\r\n@observer\r\nclass MiniCart extends React.Component, IMiniCartState> {\r\n constructor(props: ISmweMinicartProps) {\r\n super(props);\r\n this.state = { miniCartData: {} };\r\n }\r\n\r\n public async componentDidMount(): Promise {\r\n const context = this.props.context.actionContext;\r\n this.setState({\r\n miniCartData: await getMiniCartData(context)\r\n });\r\n reaction(\r\n () => this.props.data.cart.result?.cart.CartLines,\r\n async () => {\r\n this.setState({\r\n miniCartData: await getMiniCartData(context)\r\n });\r\n }\r\n );\r\n\r\n this.setState({\r\n orgUnitLocations: this.props.data.orgUnitLocations.result\r\n });\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const {\r\n id,\r\n typeName,\r\n config: {\r\n enableHoverCart\r\n },\r\n context: {\r\n request: {\r\n user: {\r\n isAuthenticated,\r\n signInUrl\r\n }\r\n }\r\n },\r\n context,\r\n resources\r\n } = this.props;\r\n const cart = this.props.data?.cart?.result || undefined;\r\n\r\n const guestCheckoutUrl = getUrlSync('checkout', this.props.context.actionContext) || '';\r\n const cartUrl = getUrlSync('cart', this.props.context.actionContext) || '';\r\n const checkoutURL = this._getCheckoutURL(isAuthenticated, guestCheckoutUrl, signInUrl || '');\r\n const isCartEmpty = cart && cart.cart.CartLines && cart.cart.CartLines.length === 0;\r\n const cartLines = this._getCartLines();\r\n const hasErrors = cartLines ? cartLines.some(cartline => cartline.hasError) : false;\r\n const includeFlyout = this.props.data.cart && this.props.data.cart.status === 'SUCCESS' && enableHoverCart;\r\n const cartSize = cart && cart.cart.TotalItems || 0;\r\n const goToCartButtonText = resources.goToCartButtonTitle.replace('{count}', cartSize.toString());\r\n const flyoutTitle = resources.flyoutTitle;\r\n const price = cart && cart.cart.TotalAmount || undefined;\r\n const priceString = price ? resources.totalPriceFormatString.replace('{price}', context.cultureFormatter.formatCurrency(price)) : '';\r\n\r\n const viewProps = {\r\n ...this.props,\r\n cartIcon: cart && (\r\n \r\n ),\r\n cartlines: cartLines,\r\n FlyoutContainer: includeFlyout ? {\r\n tag: UncontrolledTooltip,\r\n placement: 'bottom-end',\r\n hideArrow: true,\r\n className: 'ms-cart-icon__flyout-container',\r\n trigger: 'hover focus',\r\n displayMode: 'FLYOUT',\r\n target: id\r\n } : undefined,\r\n CartlinesWrapper: {\r\n className: 'ms-cart-icon__cart-lines'\r\n },\r\n miniCartWrapper: {\r\n className: classnames('ms-cart-icon'),\r\n id: this.props.id\r\n },\r\n miniCartItemWrapper: {\r\n className: classnames('msc-cart-lines-item')\r\n },\r\n checkoutAsSignInUserButton: (!isCartEmpty) ?\r\n (\r\n \r\n ) : null,\r\n checkoutAsGuestButton: (!isCartEmpty && !isAuthenticated) ?\r\n (\r\n \r\n ) : null,\r\n goToCartButton:\r\n (\r\n \r\n ),\r\n flyoutTitle:\r\n (\r\n {flyoutTitle}\r\n ),\r\n totalPrice:\r\n (\r\n
{priceString}
\r\n )\r\n };\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n private _getCheckoutURL(isAuthenticated: boolean, guestCheckoutUrl: string, signInUrl: string): string {\r\n if (isAuthenticated) {\r\n return guestCheckoutUrl;\r\n }\r\n\r\n const absoluteUrlRegExp = new RegExp('^(?:[a-z]+:)?//', 'i');\r\n const isAbsoluteUrl = absoluteUrlRegExp.test(guestCheckoutUrl);\r\n let returnURL = guestCheckoutUrl;\r\n\r\n // tslint:disable-next-line:no-typeof-undefined\r\n if (typeof window !== 'undefined' && !isAbsoluteUrl) {\r\n returnURL = `${window.location.origin}${guestCheckoutUrl}`;\r\n }\r\n\r\n return `${signInUrl}${signInUrl.indexOf('?') === -1 ? '?' : '&'}ru=${returnURL}`;\r\n }\r\n\r\n private _getCartLines(): IFlyoutCartLineItemViewProps[] | null {\r\n const {\r\n context: {\r\n request: {\r\n channel: {\r\n PickupDeliveryModeCode\r\n } = { PickupDeliveryModeCode: undefined }\r\n }\r\n },\r\n config: config,\r\n telemetry,\r\n resources\r\n } = this.props;\r\n const cart = this.props.data?.cart?.result || undefined;\r\n\r\n const imageSettings = this._getImageSettings(config.imageSettings);\r\n\r\n return this.state.miniCartData.products && cart && cart.cart.CartLines && cart.cart.CartLines.length > 0 ?\r\n (\r\n FlyoutCartLineItems({\r\n cartlines: cart.cart.CartLines,\r\n products: this.state.miniCartData.products,\r\n productAvailabilites: this.state.miniCartData.productAvailabilites,\r\n productDeliveryOptions: this.state.miniCartData.deliveryOptions,\r\n imageSettings: imageSettings,\r\n outOfStockThreshold: this.props.context.app.config.outOfStockThreshold || 10,\r\n isStockCheckEnabled: true,\r\n maxCartlineQuantity: this.props.context.app.config.maxQuantityForCartLineItem,\r\n gridSettings: this.props.context.request.gridSettings!,\r\n context: this.props.context,\r\n typeName: this.props.typeName,\r\n id: this.props.id,\r\n resources: {\r\n sizeString: resources.productDimensionTypeSize,\r\n colorString: resources.productDimensionTypeColor,\r\n configString: resources.productDimensionTypeConfiguration,\r\n styleString: resources.productDimensionTypeStyle,\r\n quantityDisplayString: resources.quantityDisplayText,\r\n inputQuantityAriaLabel: '', // not used\r\n discountStringText: '', // not used\r\n\r\n originalPriceText: '',\r\n currentPriceText: '',\r\n shippingChargesText: ''\r\n },\r\n telemetry: telemetry,\r\n removeButtonText: resources.removeCartButtonText,\r\n outOfStockText: '', // not used\r\n outOfRangeOneText: '', // not used\r\n outOfRangeFormatText: '', // not used\r\n cartState: this.props.data.cart.result,\r\n orgUnitLocations: this.state.orgUnitLocations,\r\n removeItemClickHandler: this._removeItemFromCartHandler,\r\n updateItemClickHandler: this._updateItemFromCartHandler,\r\n pickupDeliveryModeCode: PickupDeliveryModeCode,\r\n })\r\n ) : null;\r\n }\r\n\r\n private _getImageSettings = (imageSettings: IImageSettings | undefined): IImageSettings => {\r\n return imageSettings || {\r\n viewports: {\r\n xs: { q: `w=80&h=94&m=6`, w: 0, h: 0 },\r\n sm: { q: `w=148&h=174&m=6`, w: 0, h: 0 },\r\n lg: { q: `w=148&h=174&m=6`, w: 0, h: 0 }\r\n },\r\n lazyload: true\r\n };\r\n };\r\n\r\n private _removeItemFromCartHandler = (cartlineToRemove: CartLine) => {\r\n if (this.props.data.cart.result) {\r\n const input = {\r\n cartLineIds: [cartlineToRemove.LineId!.toString()]\r\n };\r\n this.props.data.cart.result.removeCartLines(input)\r\n .catch((error) => {\r\n this.props.telemetry.warning(error);\r\n this.props.telemetry.debug('Unable to Remove Cart Line');\r\n });\r\n }\r\n };\r\n\r\n private _updateItemFromCartHandler = (cartlineToUpdate: CartLine, newQuantity: number) => {\r\n if (this.props.data.cart.result) {\r\n const input = {\r\n cartLineId: cartlineToUpdate.LineId!.toString(),\r\n newQuantity: newQuantity\r\n };\r\n this.props.data.cart.result.updateCartLineQuantity(input)\r\n .catch((error) => {\r\n this.props.telemetry.warning(error);\r\n this.props.telemetry.debug('Unable to update Cart Line');\r\n });\r\n }\r\n };\r\n}\r\n\r\nexport default MiniCart;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n/* tslint:disable: no-duplicate-imports */\r\nimport { Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { IFlyoutCartLineItemViewProps } from './components/flyout-cart-line-items';\r\nimport { ICartIconViewProps } from './smwe-minicart';\r\n\r\nconst ariaHiddenFunc=()=>{\r\n if(typeof window!=='undefined'){\r\n const ariaHidden=document.getElementsByClassName('msc-flyout-inner');\r\n for(var i=0;i {\r\n if (cartLines) {\r\n return cartLines.map((cartLine, index) => {\r\n return (\r\n \r\n {cartLine.cartline}\r\n {cartLine.storeLocation}\r\n {cartLine.remove}\r\n \r\n );\r\n });\r\n }\r\n\r\n return null;\r\n};\r\n\r\nconst CartIconView: React.FC = (props: ICartIconViewProps) => (\r\n
\r\n \r\n {props.cartIcon}\r\n {props.FlyoutContainer ? (\r\n \r\n {props.flyoutTitle}\r\n \r\n {_renderCartlines(props.cartlines, props)}\r\n \r\n {props.totalPrice}\r\n {props.checkoutAsSignInUserButton}\r\n {props.goToCartButton}\r\n \r\n ) : false }\r\n \r\n
\r\n);\r\n\r\nexport default CartIconView;","import { ICarouselViewProps } from '@msdyn365-commerce-modules/carousel/dist/types/modules/carousel/carousel';\r\nimport { Carousel } from '@msdyn365-commerce/components';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\nimport { ICarouselProps } from '../definition-extensions/carousel.ext.props.autogenerated';\r\n\r\nconst CarouselView: React.FC> = props => (\r\n \r\n \r\n \r\n);\r\n\r\nexport default CarouselView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport { ICarouselViewProps } from '@msdyn365-commerce-modules/carousel/src/modules/carousel/./carousel';\r\nimport { Carousel } from '@msdyn365-commerce/components';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nconst CarouselView: React.FC = props => (\r\n \r\n \r\n \r\n);\r\n\r\nexport default CarouselView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport { ICarouselViewProps } from '@msdyn365-commerce-modules/carousel/src/modules/carousel/./carousel';\r\nimport { Carousel } from '@msdyn365-commerce/components';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nconst CarouselView: React.FC = props => (\r\n \r\n \r\n \r\n);\r\n\r\nexport default CarouselView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport { ICarouselViewProps } from '@msdyn365-commerce-modules/carousel/src/modules/carousel/./carousel';\r\nimport { Carousel } from '@msdyn365-commerce/components';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\n\r\nconst CarouselView: React.FC = props => (\r\n \r\n \r\n \r\n);\r\n\r\nexport default CarouselView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { PriceComponent, RatingComponent } from '@msdyn365-commerce/components';\nimport {\n IComponent,\n IComponentProps,\n ICoreContext,\n IGridSettings,\n IImageData,\n IImageSettings,\n Image,\n IRequestContext\n} from '@msdyn365-commerce/core';\nimport { ProductPrice, ProductSearchResult } from '@msdyn365-commerce/retail-proxy';\nimport { format } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\n/**\n * IActiveProductProps interface.\n */\nexport interface IActiveProductProps extends IComponentProps<{ product?: ProductSearchResult }> {\n className?: string;\n imageSettings?: IImageSettings;\n savingsText?: string;\n freePriceText?: string;\n originalPriceText?: string;\n currentPriceText?: string;\n ratingAriaLabel?: string;\n}\n\n/**\n * IActiveProduct interface.\n */\nexport interface IActiveProduct extends IComponent {}\n\n/**\n * RenderDescription function.\n * @param description - Product description string.\n * @returns - Returns JSX.Element | null.\n */\nfunction renderDescription(description?: string): JSX.Element | null {\n return

{description}

;\n}\n\n/**\n * GetRatingAriaLabel function.\n * @param rating - Product rating number.\n * @param ratingAriaLabel - Product rating aria label.\n * @returns - Returns string.\n */\nfunction getRatingAriaLabel(rating?: number, ratingAriaLabel?: string): string {\n const numberTwo: number = 2;\n if (rating && ratingAriaLabel) {\n const roundedRating = rating.toFixed(numberTwo);\n return format(ratingAriaLabel || '', roundedRating, '5');\n }\n return '';\n}\n\n/**\n * RenderRating function.\n * @param context - The core context.\n * @param typeName - The type name of the module.\n * @param ratingId - The rating id.\n * @param avgRating - The average rating.\n * @param totalRatings - The total ratings.\n * @param ariaLabel - The rating aria label.\n * @returns - Returns JSX.Element | null.\n */\nfunction renderRating(\n context: ICoreContext,\n typeName: string,\n ratingId: string,\n avgRating?: number,\n totalRatings?: number,\n ariaLabel?: string\n): JSX.Element | null {\n if (!avgRating) {\n return null;\n }\n\n const numberRatings = totalRatings?.toString() ?? undefined;\n const ratingAriaLabel = getRatingAriaLabel(avgRating, ariaLabel);\n\n return (\n \n );\n}\n\n/**\n * RenderPrice function.\n * @param context - The core context.\n * @param typeName - The type name of the module.\n * @param productId - The product id.\n * @param basePrice - The base price of the product.\n * @param adjustedPrice - The adjusted price of the product.\n * @param savingsText - The savings text of the product.\n * @param freePriceText - The free price text.\n * @param originalPriceText - The original price text.\n * @returns - Returns JSX.Element | null.\n */\nfunction renderPrice(\n context: ICoreContext,\n typeName: string,\n productId: string,\n basePrice?: number,\n adjustedPrice?: number,\n savingsText?: string,\n freePriceText?: string,\n originalPriceText?: string\n): JSX.Element | null {\n const price: ProductPrice = {\n BasePrice: basePrice,\n AdjustedPrice: adjustedPrice,\n CustomerContextualPrice: adjustedPrice\n };\n\n return (\n \n );\n}\n\n/**\n * RenderProductPlacementImage function.\n * @param requestContext - RequestContext.\n * @param imageSettings - The product image settings.\n * @param gridSettings - The viewport gird settings.\n * @param imageUrl - The product image url.\n * @param altText - The product image alt text.\n * @returns - Returns JSX.Element | null.\n */\nfunction renderProductPlacementImage(\n requestContext: IRequestContext,\n imageSettings?: IImageSettings,\n gridSettings?: IGridSettings,\n imageUrl?: string,\n altText?: string\n): JSX.Element | null {\n if (!imageUrl || !gridSettings || !imageSettings) {\n return null;\n }\n const imgData: IImageData = {\n src: imageUrl,\n altText: altText ? altText : ''\n };\n const imageProps = {\n gridSettings,\n imageSettings\n };\n imageProps.imageSettings.cropFocalRegion = true;\n return ;\n}\n\n/**\n * ActiveProduct constant.\n * @param props - The active product props.\n * @param props.data - The product search result data.\n * @param props.context - The core context.\n * @param props.imageSettings - The prodcut image settings.\n * @param props.savingsText - The product savings text.\n * @param props.freePriceText - The free price text.\n * @param props.originalPriceText - The original price text.\n * @param props.ratingAriaLabel - The product rating aria label.\n * @param props.typeName - The type name of the module.\n * @param props.id - The id of the product.\n * @returns - Returns JSX.Element | null.\n */\nexport const ActiveProductComponent: React.FC = ({\n data,\n context,\n imageSettings,\n savingsText,\n freePriceText,\n originalPriceText,\n ratingAriaLabel,\n typeName,\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Do not need naming convention check for library prameters\n id\n}) => {\n const product = data.product;\n if (!product) {\n return null;\n }\n\n return (\n <>\n
\n
\n {renderProductPlacementImage(\n context.actionContext.requestContext,\n imageSettings,\n context.request.gridSettings,\n product.PrimaryImageUrl,\n product.Name\n )}\n
\n
\n

{product.Name}

\n {renderPrice(context, typeName, id, product.BasePrice, product.Price, savingsText, freePriceText, originalPriceText)}\n {renderDescription(product.Description)}\n {!context.app.config.hideRating &&\n renderRating(context, typeName, id, product.AverageRating, product.TotalRatings, ratingAriaLabel)}\n
\n
\n \n );\n};\n\nexport default ActiveProductComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\n/**\n * ILinksData: Interface for\n * Additional content.\n */\ninterface ILinksData {\n linkText?: string;\n linkUrl: Msdyn365.ILinkData;\n ariaLabel?: string;\n isOpenInNewTab?: boolean;\n}\n\n/**\n * IAdditionalContentData: Interface for\n * Active content.\n */\ninterface IAdditionalContentData {\n heading?: string;\n subtext?: string;\n links?: ILinksData[];\n}\n\n/**\n * IActiveImageAdditionalContentProps: Interface for\n * Active Image Additional Content Component props.\n */\nexport interface IActiveImageAdditionalContentProps {\n requestContext: Msdyn365.IRequestContext;\n additionalContent: IAdditionalContentData | undefined;\n handleAdditionalTextChange(event: Msdyn365.ContentEditableEvent): void;\n handleAdditionalParagraphChange(event: Msdyn365.ContentEditableEvent): void;\n handleAdditionalLinkTextChange(linkIndex: number, event: Msdyn365.ContentEditableEvent): void;\n}\n\n/**\n * IActiveImageAdditionalContentViewProps: Interface for\n * Active Image Additional Content view props.\n */\nexport interface IActiveImageAdditionalContentViewProps {\n additionalContentNode: INodeProps;\n heading: React.ReactNode;\n text: React.ReactNode;\n links: React.ReactNode;\n additionalContentContainer: INodeProps;\n additionalContentItemLinks: INodeProps;\n}\n\n/**\n * Renders additional content heading.\n * @param additionalContentHeading - Additional content heading.\n * @param props - Active Image Additional content component props.\n * @returns Heading Node.\n */\nconst renderHeading = (additionalContentHeading: string, props: IActiveImageAdditionalContentProps) => {\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalTextChange(event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Renders additional content heading.\n * @param additionalContentParagraphText - Additional content paragraph text.\n * @param props - Active Image Additional content component props.\n * @returns Paragraph Node.\n */\nconst renderParagraph = (additionalContentParagraphText: string, props: IActiveImageAdditionalContentProps) => {\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalTextChange(event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Renders additional content heading.\n * @param ctaLink - Additional content link.\n * @param props - Active Image Additional content component props.\n * @param linkIndex - Additional content link index.\n * @returns Link Node.\n */\nconst renderLinks = (ctaLink: ILinksData, props: IActiveImageAdditionalContentProps, linkIndex: number) => {\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: ctaLink.ariaLabel,\n className: 'msc-active-image__details__additional-content__cta__links',\n linkText: ctaLink.linkText,\n linkUrl: ctaLink.linkUrl.destinationUrl,\n openInNewTab: ctaLink.isOpenInNewTab,\n role: 'button'\n };\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalLinkTextChange(linkIndex, event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Create node for each additonal content item.\n * @param item - Active Image additonal content item props.\n * @param props - Active Image Additional content component props.\n * @returns IActiveImageAdditionalContentItemViewProps.\n */\nconst assembleNode = (item: IAdditionalContentData, props: IActiveImageAdditionalContentProps): IActiveImageAdditionalContentViewProps => {\n const headingNode = item.heading && renderHeading(item.heading, props);\n const paragraphNode = item.subtext && renderParagraph(item.subtext, props);\n const linksNode = item.links?.map((ctaLink: ILinksData, index: number) => {\n return renderLinks(ctaLink, props, index);\n });\n\n return {\n additionalContentNode: { className: 'msc-active-image__details__additional-content' },\n heading: headingNode,\n text: paragraphNode,\n links: linksNode,\n additionalContentContainer: { className: 'msc-active-image__details__additional-content__container' },\n additionalContentItemLinks: { className: 'msc-active-image__details__additional__content__cta' }\n };\n};\n\n/**\n * ActiveImageAdditionalContent component.\n * @param props - Active Image Additional content component props.\n * @returns Active Image Additional content view props.\n */\nexport const activeImageAdditionalContent = (\n props: IActiveImageAdditionalContentProps\n): IActiveImageAdditionalContentViewProps | undefined => {\n const { additionalContent } = props;\n if (!additionalContent) {\n return undefined;\n }\n\n return assembleNode(additionalContent, props);\n};\n\nexport default activeImageAdditionalContent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport MsDyn365, { IImageData, Image, IRequestContext } from '@msdyn365-commerce/core';\nimport { ProductSearchResult } from '@msdyn365-commerce/retail-proxy';\nimport React from 'react';\n\n/**\n * @type AreaEvent for active points\n */\ntype AreaEvent = Event | React.MouseEvent | React.FocusEvent;\n\n/**\n * @interface IRgbColor\n * @description - The IRgbColor interface contract.\n */\nexport interface IRgbColor {\n rValue: number;\n gValue: number;\n bValue: number;\n}\n\n/**\n * @interface IArea\n * @description - The IArea interface contract.\n */\nexport interface IArea {\n areaId: string;\n coords: number[];\n href?: string;\n center?: number[];\n primaryImageUrl?: string;\n productUrl: string;\n productSearchResult?: ProductSearchResult;\n}\n\n/**\n * @interface IArea\n * @description - The IArea interface contract.\n */\nexport interface IAreaMap {\n name: string;\n areas: IArea[];\n}\n\n/**\n * @enum CanvasCalculations\n * @description - The canvas calculations enum.\n */\nexport enum CanvasCalculations {\n defaultWidth = 0,\n defaultHeight = 0,\n defaultPositionX = 0,\n defaultPositionY = 0,\n defaultScale = 1,\n halfDivisor = 2,\n doubleMultiplier = 2,\n buttonHeight = 30,\n buttonPadding = 30,\n paddingAdjustment = 3,\n expandAnimationStartWidth = 10,\n expandAnimationEndWidth = 40,\n collapseAnimationStartWidth = 40,\n collapseAnimationEndWidth = 8,\n expandRadius = 12,\n collapseRadius = 8,\n rotation = 1.57,\n startAngle = 0,\n endAngle = 7,\n clearMargin = 50,\n clearHeight = 100,\n clearWidth = 100,\n textFadeInStartValue = 0,\n textFadeOutStartValue = 0.5,\n textFadeInterval = 0.01\n}\n\n/**\n * @enum CanvasStyles\n * @description - The canvas styles enum.\n */\nexport enum CanvasStyles {\n color = '#FFFFFF',\n buttonTextClor = '#000000'\n}\n\n/**\n * @enum\n * @description - The canvas styles enum.\n */\nexport interface IImageMapperResources {\n buttonText?: string;\n altText?: string;\n}\n\n/**\n * @interface IImageMapperProps\n * @description - The IImageMapperProps interface contract.\n */\nexport interface IImageMapperProps {\n imageData: IImageData;\n areaMap: IAreaMap;\n viewPort: string;\n requestContext: IRequestContext;\n color?: string;\n buttonTextClor?: string;\n width?: number;\n imgWidth?: number;\n activeImageRefs: React.RefObject;\n imageMapperResources?: IImageMapperResources;\n onLoad?(): void;\n onClick?(area: IArea, index: number, event: AreaEvent): void;\n onFocus?(area: IArea, index: number, event: AreaEvent): void;\n onMouseEnter?(area: IArea, index: number, event: AreaEvent): void;\n onMouseLeave?(area: IArea, index: number, event: AreaEvent): void;\n}\n\n/**\n * ImageMapper.\n */\nexport class ImageMapper extends React.Component {\n private readonly _backgroundImage: React.RefObject;\n\n private readonly _container: React.RefObject;\n\n private readonly _canvas: React.RefObject;\n\n private _isDesktopViewPort: boolean = false;\n\n private _context: CanvasRenderingContext2D | null | undefined = null;\n\n public constructor(props: IImageMapperProps) {\n super(props);\n this._backgroundImage = React.createRef();\n this._container = React.createRef();\n this._canvas = React.createRef();\n }\n\n /**\n * ComponentDidMount method.\n */\n public componentDidMount(): void {\n const { viewPort } = this.props;\n this.initCanvas();\n this._isDesktopViewPort = viewPort === 'lg' || viewPort === 'xl';\n this.renderAreas();\n this._context = null;\n }\n\n /**\n * ComponentDidUpdate method.\n */\n public componentDidUpdate(): void {\n const { viewPort } = this.props;\n this.initCanvas();\n this._isDesktopViewPort = viewPort === 'lg' || viewPort === 'xl';\n }\n\n /**\n * ShouldComponentUpdate method.\n * @param nextProps - Next props.\n * @returns Returns boolean.\n */\n public shouldComponentUpdate(nextProps: IImageMapperProps): boolean {\n let shouldRender = false;\n if (nextProps !== this.props) {\n shouldRender = true;\n }\n return shouldRender;\n }\n\n /**\n * GetActiveImageWidth method - Gets the active image width.\n * @returns Returns number | undefined.\n */\n public getActiveImageWidth = (): number | undefined => {\n if (MsDyn365.isBrowser) {\n const activeImageReferenceValue = this.props.activeImageRefs;\n if (activeImageReferenceValue.current !== null) {\n return activeImageReferenceValue.current.clientWidth;\n }\n }\n return undefined;\n };\n\n /**\n * GetActiveImageHeight method - Gets the active image height.\n * @returns Returns number | undefined.\n */\n public getActiveImageHeight = (): number | undefined => {\n if (MsDyn365.isBrowser) {\n const activeImageReferenceValue = this.props.activeImageRefs;\n if (activeImageReferenceValue.current !== null) {\n return activeImageReferenceValue.current.clientHeight;\n }\n }\n return undefined;\n };\n\n /**\n * ConvertHexToRgb method - This method takes color in HEX format and returns IRgbColor color object.\n * @param hexColor -The color hex value.\n * @returns -Returns IRgbColor object.\n */\n public convertHexToRgb = (hexColor: string): IRgbColor => {\n // RegEx used to execute the conversion of the hex color to rgb value.\n const regEx = new RegExp('^#?([a-f\\\\d]{2})([a-f\\\\d]{2})([a-f\\\\d]{2})$', 'u');\n\n // RegEx.exec method executes a search for a match in a specified string. Returns a result array, or null.\n const result = regEx.exec(hexColor);\n const defaultValue = 0;\n return result\n ? {\n rValue: Number.parseInt(result[1], 16),\n gValue: Number.parseInt(result[2], 16),\n bValue: Number.parseInt(result[3], 16)\n }\n : {\n rValue: defaultValue,\n gValue: defaultValue,\n bValue: defaultValue\n };\n };\n\n /**\n * ApplyFadingTransition method - Applys fading transition to button text.\n * @param text -The button text.\n * @param coords -The coordinates.\n * @param rgbColor -The RGB color object.\n * @param alpha -The alpha value of the button text.\n */\n public applyFadingTransition = (text: string, coords: number[], rgbColor: IRgbColor, alpha: number): void => {\n const halfDivisor: number = CanvasCalculations.halfDivisor;\n const context = this._canvas.current?.getContext('2d') ?? this._context;\n if (context && this._isDesktopViewPort) {\n const buttonPadding = CanvasCalculations.buttonPadding;\n const paddingAdjustment = CanvasCalculations.paddingAdjustment;\n const buttonWidth = context.measureText(text).width + buttonPadding;\n context.fillStyle = `rgba(${rgbColor.rValue}, ${rgbColor.gValue}, ${rgbColor.bValue}, ${alpha} )`;\n if (MsDyn365.isBrowser && document.body.parentElement && document.body.parentElement.getAttribute('dir') === 'rtl') {\n context.fillText(text, coords[0] + buttonWidth / halfDivisor - buttonPadding / halfDivisor, coords[1] + paddingAdjustment);\n } else {\n context.fillText(text, coords[0] - buttonWidth / halfDivisor + buttonPadding / halfDivisor, coords[1] + paddingAdjustment);\n }\n }\n };\n\n /**\n * Draw button method - Draws button and contains fixed hight, padding values.\n * @param text -The button text.\n * @param coords -The coordinates.\n */\n public drawButton = (text: string, coords: number[]): void => {\n const { color = CanvasStyles.color, buttonTextClor = CanvasStyles.buttonTextClor } = this.props;\n const halfDivisor: number = CanvasCalculations.halfDivisor;\n const context = this._canvas.current?.getContext('2d') ?? this._context;\n if (context && this._isDesktopViewPort) {\n const buttonHeight = CanvasCalculations.buttonHeight;\n const buttonPadding = CanvasCalculations.buttonPadding;\n const paddingAdjustment = CanvasCalculations.paddingAdjustment;\n const buttonWidth = context.measureText(text).width + buttonPadding;\n const buttonPositionX = coords[0] - buttonWidth / halfDivisor;\n const buttonPositionY = coords[1] - buttonHeight / halfDivisor;\n const arcsize = buttonHeight / halfDivisor;\n\n context.beginPath();\n context.moveTo(buttonPositionX + arcsize, buttonPositionY);\n context.lineTo(buttonPositionX + buttonWidth - arcsize, buttonPositionY);\n context.arcTo(\n buttonPositionX + buttonWidth,\n buttonPositionY,\n buttonPositionX + buttonWidth,\n buttonPositionY + arcsize,\n arcsize\n );\n context.lineTo(buttonPositionX + buttonWidth, buttonPositionY + buttonHeight - arcsize);\n context.arcTo(\n buttonPositionX + buttonWidth,\n buttonPositionY + buttonHeight,\n buttonPositionX + buttonWidth - arcsize,\n buttonPositionY + buttonHeight,\n arcsize\n );\n context.lineTo(buttonPositionX + arcsize, buttonPositionY + buttonHeight);\n context.arcTo(buttonPositionX, buttonPositionY + buttonHeight, buttonPositionX, buttonPositionY - arcsize, arcsize);\n context.lineTo(buttonPositionX, buttonPositionY + arcsize);\n context.arcTo(buttonPositionX, buttonPositionY, buttonPositionX + arcsize, buttonPositionY, arcsize);\n context.lineTo(buttonPositionX + arcsize, buttonPositionY);\n context.stroke();\n context.closePath();\n context.fillStyle = color;\n context.fill();\n context.fillStyle = buttonTextClor;\n if (MsDyn365.isBrowser && document.body.parentElement && document.body.parentElement.getAttribute('dir') === 'rtl') {\n context.fillText(text, coords[0] + buttonWidth / halfDivisor - buttonPadding / halfDivisor, coords[1] + paddingAdjustment);\n } else {\n context.fillText(text, coords[0] - buttonWidth / halfDivisor + buttonPadding / halfDivisor, coords[1] + paddingAdjustment);\n }\n }\n };\n\n /**\n * ExpandAnimation method - Shows expand animation and contains fixed values to draw the circle and ellipse shapes.\n * @param coords -Coordinates.\n */\n public expandAnimation = (coords: number[]): void => {\n const { color = CanvasStyles.color, buttonTextClor = CanvasStyles.buttonTextClor } = this.props;\n const buttonText = this.props.imageMapperResources?.buttonText;\n let animationStartWidth = CanvasCalculations.expandAnimationStartWidth;\n const pointPositionX = coords[0];\n const pointPositionY = coords[1];\n const animationEndWidth = CanvasCalculations.expandAnimationEndWidth;\n const radius = CanvasCalculations.expandRadius;\n const rotation = CanvasCalculations.rotation;\n const startAngle = CanvasCalculations.startAngle;\n const endAngle = CanvasCalculations.endAngle;\n let textFadeInValue = CanvasCalculations.textFadeInStartValue;\n const buttonTextClorInRgb = this.convertHexToRgb(buttonTextClor.toLocaleLowerCase());\n\n /**\n * Animate method - Reders expand animation.\n */\n const animate = () => {\n const context = this._canvas.current?.getContext('2d') ?? this._context;\n if (!context) {\n return;\n }\n context.beginPath();\n context.ellipse(pointPositionX, pointPositionY, radius, animationStartWidth, rotation, startAngle, endAngle);\n context.fillStyle = color;\n context.fill();\n context.fillStyle = color;\n if (buttonText) {\n if (animationStartWidth < animationEndWidth) {\n requestAnimationFrame(animate);\n this.applyFadingTransition(buttonText, coords, buttonTextClorInRgb, textFadeInValue);\n textFadeInValue += CanvasCalculations.textFadeInterval;\n animationStartWidth++;\n } else {\n this.drawButton(buttonText, [pointPositionX, pointPositionY]);\n }\n }\n };\n\n if (this._isDesktopViewPort) {\n animate();\n }\n };\n\n /**\n * CollapseAnimation method - Shows collapse animation and contains fixed values to draw the circle and ellipse shapes.\n * @param coords -Coordinates.\n */\n public collapseAnimation = (coords: number[]): void => {\n const { color = CanvasStyles.color, buttonTextClor = CanvasStyles.buttonTextClor } = this.props;\n const buttonText = this.props.imageMapperResources?.buttonText;\n let animationStartWidth = CanvasCalculations.collapseAnimationStartWidth;\n const pointPositionX = coords[0];\n const pointPositionY = coords[1];\n const animationEndWidth = CanvasCalculations.collapseAnimationEndWidth;\n const rotation = CanvasCalculations.rotation;\n const clearMargin = CanvasCalculations.clearMargin;\n const clearHeight = CanvasCalculations.clearHeight;\n const clearWidth = CanvasCalculations.clearWidth;\n const radius = CanvasCalculations.collapseRadius;\n const startAngle = CanvasCalculations.startAngle;\n const endAngle = CanvasCalculations.endAngle;\n let textFadeOutValue = CanvasCalculations.textFadeOutStartValue;\n const buttonTextClorInRgb = this.convertHexToRgb(buttonTextClor.toLocaleLowerCase());\n\n /**\n * Animate method - Renders collapse animation.\n */\n const animate = () => {\n const context = this._canvas.current?.getContext('2d') ?? this._context;\n if (!context) {\n return;\n }\n context.beginPath();\n context.clearRect(pointPositionX - clearMargin, pointPositionY - clearMargin, clearWidth, clearHeight);\n context.ellipse(pointPositionX, pointPositionY, radius, animationStartWidth, rotation, startAngle, endAngle);\n context.fillStyle = color;\n context.fill();\n if (animationEndWidth < animationStartWidth && buttonText) {\n requestAnimationFrame(animate);\n this.applyFadingTransition(buttonText, coords, buttonTextClorInRgb, textFadeOutValue);\n textFadeOutValue -= CanvasCalculations.textFadeInterval;\n animationStartWidth--;\n }\n };\n\n if (this._isDesktopViewPort) {\n animate();\n }\n };\n\n /**\n * DrawCircle method - Renders active points.\n * @param coords -Coordinates.\n */\n public drawCircle = (coords: number[]): void => {\n const { color = CanvasStyles.color, viewPort } = this.props;\n const doubleMultiplier: number = CanvasCalculations.doubleMultiplier;\n const startAngle: number = CanvasCalculations.startAngle;\n const context = this._canvas.current?.getContext('2d') ?? this._context;\n const radius = viewPort === 'xs' || viewPort === 'sm' ? coords[2] * doubleMultiplier : coords[2];\n if (!context) {\n return;\n }\n context.fillStyle = color;\n context.beginPath();\n context.strokeStyle = color;\n context.arc(coords[0], coords[1], radius, startAngle, Math.PI * doubleMultiplier);\n context.closePath();\n context.stroke();\n context.fill();\n };\n\n /**\n * ScaleCoords method - To scale the active point coordinates based on the window size.\n * @param coords -Coordinates.\n * @returns -Returns number[].\n */\n public scaleCoords = (coords: number[]): number[] => {\n const { imgWidth } = this.props;\n const defaultWidth: number = CanvasCalculations.defaultWidth;\n const defaultScale: number = CanvasCalculations.defaultScale;\n\n // Calculate scale based on current 'width' and the original 'imgWidth'\n const width = this.getActiveImageWidth();\n const scale = width && imgWidth && imgWidth > defaultWidth ? width / imgWidth : defaultScale;\n return coords.map(coord => coord * scale);\n };\n\n /**\n * RenderPrefilledAreas method - To render active points in case of events.\n */\n public renderPrefilledAreas = (): void => {\n const { areaMap } = this.props;\n areaMap.areas.map(area => {\n this.drawCircle(this.scaleCoords(area.coords));\n return null;\n });\n };\n\n /**\n * ComputeCenter method - To re-calculate the center of active point based on window size.\n * @param area -IArea.\n * @returns -Returns number[].\n */\n public computeCenter = (area: IArea): number[] => {\n const scaledCoords = this.scaleCoords(area.coords);\n return [scaledCoords[0], scaledCoords[1]];\n };\n\n /**\n * HandleHoverOn method - To handle mouse hover on event.\n * @param area -IArea.\n */\n public handleHoverOn = (area: IArea): void => {\n if (area.center && this._canvas.current) {\n this.drawCircle(this.scaleCoords(area.coords));\n this.expandAnimation(area.center);\n }\n };\n\n /**\n * HandleHoverOff method - To handle mouse hover off event.\n * @param area -IArea.\n */\n public handleHoverOff = (area: IArea): void => {\n if (this._canvas.current) {\n const context = this._canvas.current.getContext('2d') ?? this._context;\n const canvasPositionX: number = CanvasCalculations.defaultPositionX;\n const canvasPositionY: number = CanvasCalculations.defaultPositionY;\n\n if (!context) {\n return;\n }\n context.clearRect(canvasPositionX, canvasPositionY, this._canvas.current.width, this._canvas.current.height);\n this.renderPrefilledAreas();\n if (area.center) {\n this.collapseAnimation(area.center);\n }\n }\n };\n\n /**\n * Click method - Mouse click event.\n * @param area -IArea.\n * @param index - Number.\n * @returns - Void.\n */\n public click = (area: IArea, index: number) => (event: AreaEvent): void => {\n const { onClick } = this.props;\n if (onClick) {\n event.preventDefault();\n onClick(area, index, event);\n }\n };\n\n /**\n * HoverOn method - Mouse hover on event.\n * @param area -IArea.\n * @param index - Number.\n * @returns - Void.\n */\n public hoverOn = (area: IArea, index: number) => (event: AreaEvent): void => {\n const { onMouseEnter } = this.props;\n this.handleHoverOn(area);\n if (onMouseEnter) {\n onMouseEnter(area, index, event);\n }\n };\n\n /**\n * HoverOff method - Mouse hover off event.\n * @param area - IArea.\n * @param index - Number.\n * @returns - Void.\n */\n public hoverOff = (area: IArea, index: number) => (event: AreaEvent): void => {\n const { onMouseLeave } = this.props;\n\n this.handleHoverOff(area);\n\n if (onMouseLeave) {\n onMouseLeave(area, index, event);\n }\n };\n\n /**\n * RenderAreas method - Renders active points at given coordinates.\n * @returns -Returns JSX.Element[].\n */\n public renderAreas = (): JSX.Element[] => {\n const { areaMap, viewPort } = this.props;\n const buttonText = this.props.imageMapperResources?.buttonText ? this.props.imageMapperResources.buttonText : '';\n const altText = this.props.imageMapperResources?.altText ? this.props.imageMapperResources.altText : '';\n const doubleMultiplier: number = CanvasCalculations.doubleMultiplier;\n\n return areaMap.areas.map((area, index) => {\n const scaledCoords = this.scaleCoords(area.coords);\n const xsRadius = area.coords[2] * doubleMultiplier;\n if (viewPort === 'xs') {\n scaledCoords[2] = xsRadius;\n }\n const center = this.computeCenter(area);\n const extendedArea = { ...area, scaledCoords, center };\n const areaKey = `area-${index}`;\n const altTextWithProductName = altText\n .replace('{buttonText}', buttonText ? buttonText : '')\n .replace('{productName}', area.productSearchResult?.Name ? area.productSearchResult.Name : '');\n return (\n \n );\n });\n };\n\n /**\n * InitCanvas method - To render the canvas.\n */\n public initCanvas = (): void => {\n if (!this._canvas.current || !this._backgroundImage.current || !this._container.current) {\n return;\n }\n\n const { color, onLoad } = this.props;\n const defaultWidth: number = CanvasCalculations.defaultWidth;\n const defaultHeight: number = CanvasCalculations.defaultHeight;\n\n const canvasWidth = this.getActiveImageWidth() ?? defaultWidth;\n const canvasHeight = this.getActiveImageHeight() ?? defaultHeight;\n\n this._canvas.current.width = canvasWidth;\n this._canvas.current.height = canvasHeight;\n this._container.current.style.width = `${canvasWidth}px`;\n\n const context = this._canvas.current.getContext('2d') ?? this._context;\n if (!context) {\n return;\n }\n context.fillStyle = color ?? '';\n\n if (onLoad) {\n onLoad();\n }\n\n this.renderPrefilledAreas();\n };\n\n /**\n * Render method - To render the image mapper component with active image, canvas and active points.\n * @returns -Returns JSX.Element | null.\n */\n public render(): JSX.Element | null {\n const { imageData, areaMap, requestContext } = this.props;\n\n return (\n
\n \n \n \n {this.renderAreas()}\n \n
\n );\n }\n}\n\nexport default ImageMapper;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as MsDyn365 from '@msdyn365-commerce/core';\nimport { ProductSearchResult } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, getProductPageUrlSync } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n INodeProps,\n isMobile,\n ITelemetryContent,\n VariantType\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport {\n activeImageAdditionalContent,\n ActiveProductComponent,\n IActiveImageAdditionalContentViewProps,\n IArea,\n IAreaMap,\n IImageMapperProps,\n ImageMapper\n} from '../active-image-utilities';\nimport { IActiveImageData } from './active-image.data';\nimport { IActiveImageProps } from './active-image.props.autogenerated';\n\n/**\n * @type AreaEvent for active points\n */\ntype AreaEvent = Event | React.MouseEvent | React.FocusEvent;\n\n/**\n * @interface IActiveImageViewProps\n * @classdesc - The IActiveImageViewProps interface contract.\n */\nexport interface IActiveImageViewProps extends IActiveImageProps<{}>, IImageMapperProps {\n activePointContainer: IModuleProps;\n activePointDetailsContainer: INodeProps;\n imageMapper: React.ReactNode;\n overlay: React.ReactNode;\n productCard: React.ReactNode;\n title?: React.ReactNode;\n text?: React.ReactNode;\n links?: React.ReactNode;\n detailsContainer?: INodeProps;\n detailsContainerCta?: INodeProps;\n additionalContent?: IActiveImageAdditionalContentViewProps;\n productCardleftPosition: number;\n productCardtopPosition: number;\n handleAdditionalText?(event: MsDyn365.ContentEditableEvent): void;\n handleAdditionalParagraph?(event: MsDyn365.ContentEditableEvent): void;\n handleAdditionalLinkText?(event: MsDyn365.ContentEditableEvent): void;\n}\n\n/**\n * @interface IActiveImageLinksData\n * @classdesc - The IActiveImageLinksData interface contract.\n */\nexport interface IActiveImageLinksData {\n linkText?: string;\n linkUrl: MsDyn365.ILinkData;\n ariaLabel?: string;\n willOpenInNewTab?: boolean;\n}\n\n/**\n * @interface IActiveImageState\n * @classdesc - The IActiveImageState interface contract.\n */\ninterface IActiveImageState {\n clientWidth: number;\n area: IArea | null;\n viewport: string;\n overlayClass: string;\n}\n\n/**\n * @enum ActiveImageConstants\n * @description - The active image constants enum.\n */\nexport enum ActiveImageConstants {\n timeoutInterval = 200,\n enterKey = 'Enter',\n escKey = 'Escape'\n}\n\n/**\n *\n * ActiveImage class.\n * @extends {React.PureComponent & IImageMapperProps, IActiveImageState>}\n */\nexport class ActiveImage extends React.PureComponent & IImageMapperProps, IActiveImageState> {\n private readonly _telemetryContent: ITelemetryContent;\n\n private _isDesktopViewPort: boolean;\n\n private readonly _defaultProductCardWidth: number = 315;\n\n private readonly _defaultProdutCardHight: number = 490;\n\n private readonly _activePoints: IArea[] = [];\n\n private readonly _activeImageRefs: React.RefObject;\n\n private readonly _activeImageClass: string;\n\n private readonly _productCardDivRef: React.RefObject;\n\n public constructor(props: IActiveImageProps & IImageMapperProps) {\n super(props);\n this._telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n const viewport = isMobile({ variant: VariantType.Browser, context: this.props.context.request });\n this._activeImageClass = `msc-active-image-${this.getActiveImageId()}`;\n this.state = {\n clientWidth: 0,\n area: null,\n viewport,\n overlayClass: ''\n };\n this._isDesktopViewPort = viewport === 'lg' || viewport === 'xl';\n this._activeImageRefs = React.createRef();\n this._productCardDivRef = React.createRef();\n }\n\n public componentDidMount(): void {\n if (MsDyn365.msdyn365Commerce.isBrowser) {\n window.addEventListener('resize', this.updateClientWidth);\n document.addEventListener('keydown', this.keyDown, false);\n document.addEventListener('mousedown', this._handleOutsideClick);\n }\n setTimeout(() => {\n this.updateClientWidth();\n }, ActiveImageConstants.timeoutInterval);\n\n if (MsDyn365.msdyn365Commerce.isBrowser && this._activeImageRefs.current) {\n const images: HTMLCollectionOf = this._activeImageRefs.current.getElementsByClassName(\n 'msc-thumbnail_image msc-active-image-img'\n );\n if (ArrayExtensions.hasElements(Array.from(images))) {\n images[0].removeAttribute('usemap');\n }\n }\n }\n\n /**\n * AddActivePoints method - To handle add Active Points.\n * @param area - IArea.\n * @param product - ProductSearchResult.\n * @param coords - Coords.\n * @param productUrl - String.\n */\n public addActivePoints = (area: IArea | undefined, product: ProductSearchResult, coords: number[], productUrl: string): void => {\n if (!area) {\n this._activePoints.push({\n areaId: product.RecordId.toString(),\n coords,\n primaryImageUrl: product.PrimaryImageUrl ?? '',\n productUrl,\n productSearchResult: product\n });\n }\n };\n\n /**\n * ComponentWillUnmount method.\n */\n public componentWillUnmount(): void {\n if (MsDyn365.msdyn365Commerce.isBrowser) {\n window.removeEventListener('resize', this.updateClientWidth);\n document.removeEventListener('keydown', (this.keyDown as unknown) as EventListener, false);\n document.removeEventListener('mousedown', this._handleOutsideClick, false);\n }\n }\n\n /**\n * UpdateClientWidth method to update client width in state.\n */\n public updateClientWidth = (): void => {\n const viewport = isMobile({ variant: VariantType.Browser, context: this.props.context.request });\n this.setState({ clientWidth: this.getActiveImageWidth(), viewport });\n this._isDesktopViewPort = viewport === 'lg' || viewport === 'xl';\n };\n\n /**\n * Render method.\n * @returns - Returns JSX.Element | null.\n */\n public render(): JSX.Element | null {\n const viewProps: IActiveImageViewProps = {\n ...(this.props as IImageMapperProps & IActiveImageProps<{}>),\n activePointContainer: {\n moduleProps: this.props,\n className: classnames('msc-active-image', this._activeImageClass, this.props.config.className)\n },\n activePointDetailsContainer: {\n tag: 'div',\n className: classnames('msc-active-image-wrapper', this._activeImageClass, this.props.config.className),\n ref: this._activeImageRefs\n },\n imgWidth: this.props.config.canvasWidth,\n imageMapper: this.renderImageMapper(),\n overlay: this.renderOverlay(),\n productCard: this.renderProductCard(),\n productCardleftPosition: this.getProductCardPositionX(),\n productCardtopPosition: this.getProductCardPositionY(),\n title: this.renderActiveImageDetailsHeading(),\n text: this.renderActiveImageDetailsParagraph(),\n links: this.renderActiveImageDetailsLinks(),\n detailsContainer: { className: 'msc-active-image__details' },\n detailsContainerCta: { className: 'msc-active-image__details__cta' },\n additionalContent: activeImageAdditionalContent({\n requestContext: this.props.context.request,\n additionalContent: this.props.config.additionalContent,\n handleAdditionalTextChange: this.handleAdditionalTextChange,\n handleAdditionalParagraphChange: this.handleAdditionalParagraphChange,\n handleAdditionalLinkTextChange: this.handleAdditionalLinkTextChange\n }),\n handleAdditionalText: this.handleAdditionalTextChange,\n handleAdditionalParagraph: this.handleAdditionalParagraphChange,\n handleAdditionalLinkText: this.handleAdditionalTextChange\n };\n\n return this.props.renderView(viewProps);\n }\n\n /**\n * RenderImageMapper method - To render image mapper.\n * @returns - Returns React.ReactNode | null.\n */\n public renderImageMapper = (): React.ReactNode | null => {\n const { config, context } = this.props;\n const defaultPosition: number = 0;\n const defaultLength: number = 0;\n const productResults = this.props.data.products.result;\n if (config.activePoints && productResults) {\n for (const product of productResults) {\n for (const configProduct of config.activePoints) {\n if (product.ItemId === configProduct.itemId) {\n const productUrl = getProductPageUrlSync(product.Name ?? '', product.RecordId, context.actionContext, undefined);\n const coords = [\n configProduct.xPosition ?? defaultPosition,\n configProduct.yPosition ?? defaultPosition,\n configProduct.radius ?? defaultPosition\n ];\n const area = this._activePoints.find(activePoint => JSON.stringify(activePoint.coords) === JSON.stringify(coords));\n this.addActivePoints(area, product, coords, productUrl);\n }\n }\n }\n }\n const mappedArea: IAreaMap = {\n name: `map-${this._activeImageClass}`,\n areas: this._activePoints.length > defaultLength ? this._activePoints : []\n };\n\n // If image is null, we want to render the placeholder SVG - by passing image data with empty src\n return (\n \n );\n };\n\n /**\n * EnterArea method - To handle mouse enter event.\n * @param area - Active point area.\n * @param index - Active point index.\n * @param event - Active point AreaEvent.\n */\n public enterArea = (area: IArea, index: number, event: AreaEvent): void => {\n this.setState({ area, overlayClass: 'msc-active-image-overlay' });\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(area, index, event);\n }\n if (event.type.toLocaleLowerCase() === 'click' && this._isDesktopViewPort) {\n window.open(area.productUrl, '_self');\n }\n };\n\n /**\n * LeaveArea method - To handle mouse leave event.\n */\n public leaveArea = (): void => {\n if (this._isDesktopViewPort) {\n this.resetState();\n }\n };\n\n /**\n * ResetState method - To reset the state for area and overlayclass.\n */\n public resetState = (): void => {\n this.setState({ area: null, overlayClass: '' });\n };\n\n /**\n * RenderProductComponent method - To render the product card with product information.\n * @returns - Returns React.ReactNode.\n */\n public renderProductComponent = (): React.ReactNode => {\n if (this.state.area?.productSearchResult) {\n const baseImageUrl: string = this.props.context.request.apiSettings.baseImageUrl;\n const imageUrl: string = this.state.area.primaryImageUrl ?? '';\n const primaryImageUrl: string = `${baseImageUrl}${imageUrl}`;\n const product: ProductSearchResult = this.state.area.productSearchResult;\n product.PrimaryImageUrl = primaryImageUrl;\n\n return (\n \n );\n }\n return React.Fragment;\n };\n\n /**\n * RenderProductCard method - To render product cards.\n * @returns - Returns React.ReactNode.\n */\n public renderProductCard = (): React.ReactNode => {\n const { area } = this.state;\n\n return (\n <>\n {area?.center && (\n
\n
\n {!this._isDesktopViewPort &&
\n
\n )}\n \n );\n };\n\n /**\n * RenderOverlay method - To render overlay for non desktop viewports.\n * @returns - Returns React.ReactNode.\n */\n public renderOverlay = (): React.ReactNode => {\n return <>{!this._isDesktopViewPort &&
};\n };\n\n /**\n * GetProductCardPositionX method - Provides product card x position to the left or right of active point based on available space.\n * For xs, sm and md viewports it provides x position for the center alignment.\n * @returns - Returns number.\n */\n public getProductCardPositionX = (): number => {\n const defaultImageSettings = this.getDefaultImageSettings();\n const productImageSettingsWidth = this.props.config.productImageSettings?.viewports\n ? this.props.config.productImageSettings.viewports.lg?.w\n : defaultImageSettings.viewports.lg?.w;\n const defaultPositionX: number = 0;\n const halfDivisor: number = 2;\n const productCardWidth: number = productImageSettingsWidth ? productImageSettingsWidth : this._defaultProductCardWidth;\n const { area, clientWidth, viewport } = this.state;\n const pointPositionX = area?.center?.[0] ?? clientWidth / halfDivisor;\n const leftAllignPosition = pointPositionX - productCardWidth - productCardWidth / halfDivisor;\n const rightAllignPosition = pointPositionX + productCardWidth / halfDivisor;\n let position: number = (clientWidth - productCardWidth) / halfDivisor;\n if (viewport !== 'xs' && viewport !== 'sm' && viewport !== 'md') {\n if (leftAllignPosition < defaultPositionX) {\n position = rightAllignPosition;\n } else {\n position = leftAllignPosition;\n }\n }\n return position;\n };\n\n /**\n * GetProductCardPositionY method - Provides product card y position in center with respect to active point.\n * For xs, sm and md viewports it provides y position for the center alignment.\n * @returns - Returns number.\n */\n public getProductCardPositionY = (): number => {\n const defaultImageSettings = this.getDefaultImageSettings();\n const productImageSettingsHeight = this.props.config.productImageSettings?.viewports\n ? this.props.config.productImageSettings.viewports.lg?.h\n : defaultImageSettings.viewports.lg?.h;\n const halfDivisor: number = 2;\n const { area, viewport } = this.state;\n const produtCardHight: number = productImageSettingsHeight ? productImageSettingsHeight : this._defaultProdutCardHight;\n const pointPositionY = (this.getActiveImageHeight() - produtCardHight) / halfDivisor;\n let position: number = pointPositionY;\n if (viewport !== 'xs' && viewport !== 'sm' && viewport !== 'md') {\n position = (area?.center?.[1] ?? this.getActiveImageHeight() / halfDivisor) - produtCardHight / halfDivisor;\n }\n return position;\n };\n\n /**\n * GetDefaultImageSettings method.\n * @returns MsDyn365.IImageSettings.\n */\n public getDefaultImageSettings = (): MsDyn365.IImageSettings => {\n const defaultImageSettings: MsDyn365.IImageSettings = {\n viewports: {\n xs: { q: 'w=275&h=275&m=6', w: 275, h: 275 },\n lg: { q: 'w=275&h=275&m=6', w: 275, h: 275 },\n xl: { q: 'w=275&h=275&m=6', w: 275, h: 275 }\n },\n lazyload: true\n };\n\n return defaultImageSettings;\n };\n\n /**\n * KeyDown method - To handle keydown event.\n * @param event - KeyboardEvent.\n */\n public keyDown = (event: KeyboardEvent): void => {\n if (event.key === ActiveImageConstants.enterKey) {\n const target: HTMLElement = event.target as HTMLElement;\n if (target.nodeName === 'AREA') {\n const area: HTMLAreaElement = target as HTMLAreaElement;\n if (area.href) {\n window.open(area.href, '_self');\n }\n }\n }\n if (event.key === ActiveImageConstants.escKey) {\n this.resetState();\n }\n };\n\n /**\n * GetActiveImageWidth method - To get active image width.\n * @returns Returns number.\n */\n public getActiveImageWidth = (): number => {\n const defaultWidth: number = 0;\n if (MsDyn365.msdyn365Commerce.isBrowser) {\n const activeImageReferenceValue = this._activeImageRefs;\n if (activeImageReferenceValue.current !== null) {\n return activeImageReferenceValue.current.clientWidth;\n }\n }\n return defaultWidth;\n };\n\n /**\n * GetActiveImageHeight method - To get active image height.\n * @returns Returns number.\n */\n public getActiveImageHeight = (): number => {\n const defaultHeight: number = 0;\n if (MsDyn365.msdyn365Commerce.isBrowser) {\n const activeImageReferenceValue = this._activeImageRefs;\n if (activeImageReferenceValue.current !== null) {\n return activeImageReferenceValue.current.clientHeight;\n }\n }\n return defaultHeight;\n };\n\n /**\n * HandleLinkTextChange method - To handle link text change event.\n * @param linkIndex - The link index.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleLinkTextChange(linkIndex: number, event: MsDyn365.ContentEditableEvent): void {\n if (this.props.config.links && this.props.config.links[Number(linkIndex)]) {\n this.props.config.links[Number(linkIndex)].linkText = event.target.value;\n }\n }\n\n /**\n * HandleTextChange method - To handle text change event.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleTextChange = (event: MsDyn365.ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n /**\n * HandleParagraphChange method - To handle paragraph change event.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleParagraphChange = (event: MsDyn365.ContentEditableEvent): void => {\n this.props.config.paragraph = event.target.value;\n };\n\n /**\n * HandleAdditionalTextChange method - To handle additional text change event.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleAdditionalTextChange(event: MsDyn365.ContentEditableEvent): void {\n if (this.props.config.additionalContent) {\n this.props.config.additionalContent.heading = event.target.value;\n }\n }\n\n /**\n * HandleAdditionalLinkTextChange method - To handle additional link text change event.\n * @param linkIndex - The link index.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleAdditionalLinkTextChange(linkIndex: number, event: MsDyn365.ContentEditableEvent): void {\n const additionalContent = this.props.config.additionalContent ?? {};\n if (additionalContent.links) {\n additionalContent.links[Number(linkIndex)].linkText = event.target.value;\n }\n }\n\n /**\n * HandleAdditionalParagraphChange method - To handle additional paragraph change event.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleAdditionalParagraphChange(event: MsDyn365.ContentEditableEvent): void {\n if (this.props.config.additionalContent) {\n this.props.config.additionalContent.subtext = event.target.value;\n }\n }\n\n /**\n * RenderActiveImageDetailsLinks method - To render active image details links.\n * @returns - React node.\n */\n public renderActiveImageDetailsLinks = (): React.ReactNode[] | undefined => {\n const { links } = this.props.config;\n const payLoad = getPayloadObject('click', this._telemetryContent, '');\n\n return links?.map((linkData: IActiveImageLinksData, index: number) => {\n payLoad.contentAction.etext = linkData.linkText;\n const attributes = getTelemetryAttributes(this._telemetryContent, payLoad);\n const linkId = index;\n const editableLink: MsDyn365.ILinksData = {\n ariaLabel: linkData.ariaLabel,\n className: 'msc-active-image__details__cta__link',\n linkText: linkData.linkText,\n linkUrl: linkData.linkUrl.destinationUrl,\n openInNewTab: linkData.willOpenInNewTab,\n role: 'button',\n additionalProperties: attributes\n };\n\n return (\n {\n this.handleLinkTextChange(index, event);\n },\n requestContext: this.props.context.request\n }}\n />\n );\n });\n };\n\n /**\n * RenderActiveImageDetailsHeading method - To render active image details heading.\n * @returns - React.ReactNode | undefined.\n */\n public renderActiveImageDetailsHeading = (): React.ReactNode | undefined => {\n const { heading } = this.props.config;\n\n return (\n heading && (\n \n )\n );\n };\n\n /**\n * RenderActiveImageDetailsParagraph method - To render active image details paragraph.\n * @returns - React.ReactNode | undefined.\n */\n public renderActiveImageDetailsParagraph = (): React.ReactNode | undefined => {\n const { paragraph } = this.props.config;\n\n return (\n paragraph && (\n \n )\n );\n };\n\n /**\n * GetActiveImageId - To get active image id from src.\n * @returns - String.\n */\n public getActiveImageId = (): string => {\n const { activeImage } = this.props.config;\n let activeImageId: string = '';\n if (activeImage?.src) {\n const activeImageSource = activeImage.src.split('/');\n const decrementOne: number = 1;\n const activeImageIdPart = activeImageSource[activeImageSource.length - decrementOne].split('?');\n activeImageId = activeImageIdPart[0] ?? '';\n }\n return activeImageId;\n };\n\n /**\n * Handle outside click method - To handle outside click of the active image product.\n * @param event - Mouse event.\n */\n private readonly _handleOutsideClick = (event: MouseEvent) => {\n if (this._productCardDivRef.current?.contains(event.target as Node)) {\n return;\n }\n this.resetState();\n };\n}\nexport default ActiveImage;\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 { IActiveImageAdditionalContentViewProps } from '../active-image-utilities';\nimport { IActiveImageViewProps } from './active-image';\n\n/**\n * Render Additional Content.\n * @param additionalContent - Additional content view props.\n * @returns JSX Element.\n */\nconst renderAdditionalContent = (additionalContent: IActiveImageAdditionalContentViewProps) => {\n return (\n \n {additionalContent.heading}\n \n {additionalContent.text}\n {additionalContent.links}\n \n \n );\n};\n\n/**\n * Render View.\n * @param props - The view props.\n * @returns -The JSX Element.\n */\nexport const activeImageView: React.FC = props => {\n return (\n \n \n {props.imageMapper}\n \n {props.title}\n {props.text}\n {props.additionalContent && renderAdditionalContent(props.additionalContent)}\n \n {props.links}\n \n \n \n \n {props.overlay}\n {props.productCard}\n \n \n );\n};\n\nexport default activeImageView;\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 { ITelemetry } from '@msdyn365-commerce/core';\nimport { IStoreSelectorStateManager } from '@msdyn365-commerce-modules/bopis-utilities';\n\nimport { IAutoSuggestOptions } from './address-autosuggest.data';\n\n/**\n *\n * Auto Suggest.\n */\nexport class AutoSuggest {\n public readonly excludedAddressFields: string[] = ['ThreeLetterISORegionName', 'Name', 'AddressTypeValue', 'Phone'];\n\n private readonly telemetry: ITelemetry;\n\n private readonly countryCode?: string;\n\n private readonly bingMapsApiKey?: string;\n\n private readonly defaultLanguageId?: string;\n\n private autoSuggestManager: Microsoft.Maps.AutosuggestManager | undefined;\n\n private autoSuggestOptions: IAutoSuggestOptions;\n\n constructor(\n telemetry: ITelemetry,\n autoSuggestOptions: IAutoSuggestOptions,\n BingMapsApiKey?: string,\n countryCode?: string,\n defaultLanguageId?: string\n ) {\n this.telemetry = telemetry;\n this.autoSuggestOptions = autoSuggestOptions;\n this.bingMapsApiKey = BingMapsApiKey;\n this.countryCode = countryCode;\n this.defaultLanguageId = defaultLanguageId;\n }\n\n public attachAutoSuggest = (\n inputId: string,\n containerId: string,\n selectedSuggestionCallback: (result: Microsoft.Maps.ISuggestionResult) => void\n ): void => {\n if (!this.autoSuggestManager) {\n Microsoft.Maps.loadModule('Microsoft.Maps.AutoSuggest', {\n callback: () => {\n const options = { ...this.autoSuggestOptions, countryCode: this.countryCode };\n this.autoSuggestManager = new Microsoft.Maps.AutosuggestManager(options);\n this.autoSuggestManager.attachAutosuggest(inputId, containerId, selectedSuggestionCallback);\n document.querySelector(inputId)?.setAttribute('role', 'combobox');\n setTimeout(() => {\n document.querySelector(inputId)?.setAttribute('type', 'text');\n }, 0);\n },\n errorCallback: () => {\n if (this.telemetry) {\n this.telemetry.debug('Unable to attach map auto suggest.');\n }\n },\n credentials: this.bingMapsApiKey\n });\n }\n };\n\n public changeAutoSuggestionCountryCode = (countryCode?: string): void => {\n if (this.autoSuggestManager) {\n this.autoSuggestOptions.countryCode = countryCode;\n this.autoSuggestManager.setOptions(this.autoSuggestOptions);\n }\n };\n\n public disposeAutoSuggest = (): void => {\n this.autoSuggestManager?.detachAutosuggest();\n this.autoSuggestManager?.dispose();\n this.autoSuggestManager = undefined;\n };\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n public _loadMapAPI = async (storeSelectorStateManager: IStoreSelectorStateManager): Promise => {\n await storeSelectorStateManager.loadMapApi({\n key: this.bingMapsApiKey,\n lang: this.defaultLanguageId,\n market: this.countryCode\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 { IActionInput, ICoreContext, IObservableAction, ITelemetry } from '@msdyn365-commerce/core';\nimport {\n Address,\n AddressPurpose,\n CountryRegionInfo,\n StateProvinceInfo\n} from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport {\n addAddress,\n AddressManagementInput,\n ArrayExtensions,\n updateAddress,\n updatePrimaryAddress\n} from '@msdyn365-commerce-modules/retail-actions';\n\nimport { getAddressPurposesAction, GetAddressPurposesInput } from '../actions/get-address-purposes';\nimport { getStateProvinceAction, GetStateProvincesInput } from '../actions/get-state-provinces';\nimport { IAddressResource, IAddressResponse } from './address-module.data';\n\n/**\n *\n * Address common.\n */\nexport class AddressCommon {\n private readonly context: ICoreContext;\n\n private readonly resources: IAddressResource;\n\n private readonly telemetry: ITelemetry;\n\n constructor(context: ICoreContext, resources: IAddressResource, telemetry: ITelemetry) {\n this.context = context;\n this.resources = resources;\n this.telemetry = telemetry;\n }\n\n public getDefaultCountryRegionId = (countryRegionId: string, countryRegions: CountryRegionInfo[], market?: string): string => {\n const marketISOCode = market || 'US';\n const currentCountryRegion = countryRegions.find(countryRegion => (countryRegion.ISOCode || '') === marketISOCode);\n return (currentCountryRegion && currentCountryRegion.CountryRegionId) || countryRegionId;\n };\n\n public parseRetailException = (resources: IAddressResource): IAddressResponse => {\n return {\n errorTitle: resources.addressErrorMessageTitle,\n errorMessage: resources.addressGenericErrorMessage\n };\n };\n\n public isAuthenticatedFlow = (): boolean => {\n return this.context.request.user.isAuthenticated;\n };\n\n public getStateProvinces = async (countryRegionId: string): Promise => {\n let response: StateProvinceInfo[] = [];\n if (this.context && this.context.actionContext) {\n try {\n const input = new GetStateProvincesInput(countryRegionId, this.context.request.apiSettings);\n response = await getStateProvinceAction(input, this.context.actionContext);\n } catch (error) {\n if (this.telemetry) {\n this.telemetry.error(`Error encountered ${error}`);\n this.telemetry.debug('Unable to get state provinces');\n }\n }\n }\n return Promise.resolve(response);\n };\n\n // For any address, check for common requried field else treat it as invalid\\empty address.\n public isEmpty = (address: Address): boolean => {\n if (address && address.ThreeLetterISORegionName && (address.State || address.City)) {\n return false;\n }\n\n return true;\n };\n\n public addCustomerAddress = async (address: Address): Promise => {\n await this.updateLogisticsLocationRoleRecordId(address);\n return this.submitCustomerAddress(addAddress, address);\n };\n\n public updateCustomerAddress = async (address: Address): Promise => {\n await this.updateLogisticsLocationRoleRecordId(address);\n return this.submitCustomerAddress(updateAddress, address);\n };\n\n public updateCustomerPrimaryAddress = async (address: Address): Promise => {\n return this.submitCustomerAddress(updatePrimaryAddress, address);\n };\n\n private readonly submitCustomerAddress = async (\n addressAction: IObservableAction,\n address: Address\n ): Promise => {\n address.AddressTypeValue = address.AddressTypeValue || 7; // 7 sets it to HOME by default\n\n const input = new AddressManagementInput(address);\n return this.execAddressAction(addressAction, input, address);\n };\n\n private readonly execAddressAction = async (\n addressAction: IObservableAction,\n input: IActionInput | IActionInput[],\n address: Address\n ): Promise => {\n let response: IAddressResponse = {};\n\n if (this.context && this.context.actionContext) {\n try {\n const addresses = await addressAction(input, this.context.actionContext);\n if (addresses.length > 0) {\n response.address = address.RecordId ? address : addresses[addresses.length - 1];\n } else {\n response.address = address;\n }\n response.customerAddresses = addresses;\n } catch (error) {\n if (this.telemetry) {\n this.telemetry.error(`Error encountered ${error}`);\n this.telemetry.debug('Unable to exec address action');\n }\n response = this.parseRetailException(this.resources);\n }\n }\n return Promise.resolve(response);\n };\n\n /**\n * Function to get the address purposes and update the LogisticsLocationRoleRecordId to update the address type.\n * @param address - Address object.\n * @returns Returns void.\n */\n private readonly updateLogisticsLocationRoleRecordId = async (address: Address): Promise => {\n let addressPurposes: AddressPurpose[] = [];\n try {\n const input: GetAddressPurposesInput = new GetAddressPurposesInput(this.context.request.apiSettings);\n addressPurposes = await getAddressPurposesAction(input, this.context.actionContext);\n } catch (error) {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions -- Supparsing the any type for error.\n this.telemetry.error(`Error encountered ${error}`);\n this.telemetry.debug('Unable to get address purposes');\n }\n if (ArrayExtensions.hasElements(addressPurposes)) {\n const addressPurpose: AddressPurpose | undefined = addressPurposes.find(\n purpose => purpose.AddressType === address.AddressTypeValue\n );\n if (addressPurpose) {\n address.LogisticsLocationRoleRecordId = addressPurpose.RecordId;\n }\n }\n };\n}\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nexport enum AddressItemDisplayType {\n Input = 'Input',\n Dropdown = 'Dropdown',\n Checkbox = 'Checkbox'\n}\n\nexport enum AddressValidationRuleType {\n Required = 'Required',\n Format = 'Format',\n MaxLength = 'MaxLength'\n}\n\nexport enum AddressItemType {\n Name = 1001,\n Phone = 1002,\n IsPrimary = 1003,\n AddressTypeValue = 1004,\n ZipCode = 1,\n City = 2,\n County = 3,\n State = 4,\n ThreeLetterISORegionName = 5,\n Street = 6,\n DistrictName = 7,\n StreetNumber = 8,\n BuildingCompliment = 9,\n Postbox = 10,\n House_RU = 21,\n Flat_RU = 22,\n CountryOKSMCode_RU = 23\n}\n\nexport interface IAddressItem {\n name: string;\n type: AddressItemType;\n label: string;\n maxLength: number;\n displayType: AddressItemDisplayType;\n validationRules?: IAddressValidationRule[];\n isNewLine: boolean;\n}\n\nexport interface IAddressValidationRule {\n type: AddressValidationRuleType;\n regEx: string;\n message: string;\n}\n\nexport interface IAddressDropdownsData {\n [index: string]: { key?: string | number; value?: string }[];\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n Address,\n AddressPurpose,\n CountryRegionInfo,\n StateProvinceInfo\n} from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { get, set } from 'mobx';\n\nimport { AddressItemType, IAddressDropdownsData, IAddressItem, IAddressValidationRule } from './address-format.data';\nimport { AddressMetaData } from './address-meta-data';\n\n/**\n *\n * Retail Service Address format parser.\n */\nexport class AddressFormat {\n private readonly countryRegionsInfo?: CountryRegionInfo[];\n\n private readonly addressPurposes?: AddressPurpose[];\n\n private readonly addressMetaData: AddressMetaData;\n\n constructor(countryRegionsInfo: CountryRegionInfo[], addressMetaData: AddressMetaData, addressPurposes: AddressPurpose[]) {\n this.countryRegionsInfo = countryRegionsInfo;\n this.addressMetaData = addressMetaData;\n this.addressPurposes = addressPurposes;\n }\n\n public getAddressFormat(countryRegionId: string): IAddressItem[] {\n const countryRegionInfo = this._getCountryRegionInfo(countryRegionId);\n if (countryRegionInfo) {\n return this._getAddressDisplayFormat(countryRegionInfo);\n }\n return [];\n }\n\n public getCountryFormat(): { key?: string; value?: string }[] {\n return (this.countryRegionsInfo || []).map(countryRegion => {\n return {\n key: countryRegion.CountryRegionId,\n value: countryRegion.ShortName\n };\n });\n }\n\n public getStateFormat(stateProvinceInfo?: StateProvinceInfo[]): { key?: string; value?: string }[] {\n return (stateProvinceInfo || []).map(state => {\n return {\n key: state.StateId,\n value: state.StateName\n };\n });\n }\n\n public getAddressTypeFormat(): { key?: number; value?: string }[] {\n return (this.addressPurposes || []).map(addressPurpose => {\n return {\n key: addressPurpose.AddressType,\n value: addressPurpose.Description\n };\n });\n }\n\n public getPrefilledAddressDropdownData = (\n stateDefaultSelectionText: string,\n stateProvinceInfo?: StateProvinceInfo[]\n ): IAddressDropdownsData => {\n const defaultStateText = {\n key: '',\n value: stateDefaultSelectionText\n };\n const dropdownData: IAddressDropdownsData = {};\n\n dropdownData[AddressItemType[AddressItemType.ThreeLetterISORegionName]] = this.getCountryFormat();\n dropdownData[AddressItemType[AddressItemType.State]] = this.getStateFormat(stateProvinceInfo);\n dropdownData[AddressItemType[AddressItemType.State]].unshift(defaultStateText);\n dropdownData[AddressItemType[AddressItemType.AddressTypeValue]] = this.getAddressTypeFormat();\n\n return dropdownData;\n };\n\n public getTwoLetterISORegionName = (countryRegionId: string): string | undefined => {\n const countryRegionInfo = this._getCountryRegionInfo(countryRegionId);\n\n return countryRegionInfo!.ISOCode;\n };\n\n public validateAddressFormat = (\n address: Address,\n validationError: Address,\n countryRegionId: string,\n propertyName?: string\n ): boolean => {\n let isValid: boolean = true;\n let validationtor;\n const addressFormat = this.getAddressFormat(address.ThreeLetterISORegionName || countryRegionId);\n\n addressFormat.forEach(addressFormatItem => {\n if (!propertyName || (propertyName && addressFormatItem.name === propertyName)) {\n validationtor = this._inputValidation(addressFormatItem, validationError, address);\n if (validationtor !== undefined) {\n isValid = validationtor;\n }\n }\n });\n\n return isValid;\n };\n\n public getTranformedAddress = (result: Microsoft.Maps.ISuggestionResult, stateProvinceInfo?: StateProvinceInfo[]): Address => {\n const address: Address = {};\n\n // Zip Code\n if (result.address.postalCode !== undefined) {\n address.ZipCode = result.address.postalCode;\n } else {\n address.ZipCode = '';\n }\n\n // State\n if (stateProvinceInfo) {\n const selectedState = stateProvinceInfo.find(state => state.StateName === result.address.adminDistrict);\n if (!selectedState) {\n address.State = '';\n address.StateName = result.address.adminDistrict;\n } else {\n address.State = selectedState.StateId;\n address.StateName = selectedState.StateName;\n }\n }\n\n // Street\n if (result.address.addressLine !== undefined) {\n address.Street = result.address.addressLine;\n } else {\n address.Street = ' ';\n }\n\n // City\n if (result.address.locality !== undefined) {\n address.City = result.address.locality;\n } else {\n address.City = '';\n }\n\n // District\n if (result.address.district !== undefined) {\n address.DistrictName = result.address.district;\n address.CountyName = result.address.district;\n } else {\n address.DistrictName = '';\n }\n\n // Formatted Address\n address.FullAddress = result.address.formattedAddress;\n\n return address;\n };\n\n private _inputValidation(addressFormatItem: IAddressItem, validationError: Address, address: Address): boolean | undefined {\n set(validationError, { [addressFormatItem.name]: null });\n for (const validationRule of addressFormatItem.validationRules || []) {\n if (!this._validateRegEx(address, addressFormatItem.name, validationRule)) {\n set(validationError, { [addressFormatItem.name]: validationRule.message });\n return false;\n }\n }\n return undefined;\n }\n\n private readonly _validateRegEx = (address: Address, propertyName: string, validationRule: IAddressValidationRule): boolean => {\n if (validationRule.regEx && validationRule.regEx.length > 0) {\n const regex = new RegExp(validationRule.regEx);\n return regex.test((get(address, propertyName) as string) || '');\n }\n return true;\n };\n\n private _getCountryRegionInfo(countryRegionId: string): CountryRegionInfo | undefined {\n return (this.countryRegionsInfo || []).find(countryRegion => {\n return (countryRegion.CountryRegionId || '').toLowerCase() === countryRegionId.toLowerCase();\n });\n }\n\n private _getAddressDisplayFormat(countryRegionInfo: CountryRegionInfo): IAddressItem[] {\n const addressDisplayItem: IAddressItem[] = [];\n\n if (countryRegionInfo && countryRegionInfo.AddressFormatLines) {\n const AddressTypeItem = this._extendAddressDisplayFormat(AddressItemType.AddressTypeValue, true);\n if (AddressTypeItem) {\n addressDisplayItem.push(AddressTypeItem);\n }\n\n const nameDisplayItem = this._extendAddressDisplayFormat(AddressItemType.Name, true);\n if (nameDisplayItem) {\n addressDisplayItem.push(nameDisplayItem);\n }\n\n countryRegionInfo.AddressFormatLines.forEach(formatLine => {\n if (formatLine.AddressComponentNameValue) {\n const addressItem = this.addressMetaData.getItemFormat(formatLine.AddressComponentNameValue);\n if (addressItem) {\n addressItem.isNewLine = formatLine.NewLine || false;\n addressDisplayItem.push(addressItem);\n }\n }\n });\n\n const phoneDisplayItem = this._extendAddressDisplayFormat(AddressItemType.Phone, false);\n if (phoneDisplayItem) {\n addressDisplayItem.push(phoneDisplayItem);\n }\n\n const isPrimaryDisplayItem = this._extendAddressDisplayFormat(AddressItemType.IsPrimary, false);\n if (isPrimaryDisplayItem) {\n addressDisplayItem.push(isPrimaryDisplayItem);\n }\n }\n\n return addressDisplayItem;\n }\n\n private _extendAddressDisplayFormat(type: AddressItemType, isNewLine: boolean): IAddressItem | undefined {\n const addressItem = this.addressMetaData.getItemFormat(type);\n if (addressItem) {\n addressItem.isNewLine = isNewLine;\n }\n return addressItem;\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { PhoneRegex } from '@msdyn365-commerce-modules/retail-actions';\n\nimport {\n AddressItemDisplayType,\n AddressItemType,\n AddressValidationRuleType,\n IAddressItem,\n IAddressValidationRule\n} from './address-format.data';\nimport { IAddressResource } from './address-module.data';\n\n/**\n * Address meta data.\n */\nexport class AddressMetaData {\n private readonly metaData: IAddressItem[] = [];\n\n private readonly resources: IAddressResource;\n\n private readonly requiredFieldRegEx: string = '\\\\S';\n\n private readonly maxLengthRegEx: string = '^.{0,20}$';\n\n private readonly resourcesPrefix: string = 'address';\n\n private readonly maxLength: number = 64;\n\n private readonly requiredFields: AddressItemType[];\n\n private readonly excludedTypes: AddressItemType[];\n\n constructor(resources: IAddressResource, excluded?: AddressItemType[], required?: AddressItemType[]) {\n this.resources = resources || {};\n this.excludedTypes = excluded || [];\n this.requiredFields =\n required !== undefined\n ? required\n : [\n AddressItemType.AddressTypeValue,\n AddressItemType.Name,\n AddressItemType.ZipCode,\n AddressItemType.City,\n AddressItemType.State,\n AddressItemType.ThreeLetterISORegionName,\n AddressItemType.Street\n ];\n this._init();\n }\n\n public getItemFormat(id: number): IAddressItem | undefined {\n return this.metaData.find(item => {\n return item.type === id;\n });\n }\n\n private _init(): void {\n this._addItem(AddressItemType.Name, AddressItemDisplayType.Input);\n this._addItem(AddressItemType.Phone, AddressItemDisplayType.Input, PhoneRegex.defaultRegex);\n this._addItem(AddressItemType.ZipCode, AddressItemDisplayType.Input);\n this._addItem(AddressItemType.City, AddressItemDisplayType.Input);\n this._addItem(AddressItemType.County, AddressItemDisplayType.Input);\n this._addItem(AddressItemType.State, AddressItemDisplayType.Dropdown);\n this._addItem(AddressItemType.ThreeLetterISORegionName, AddressItemDisplayType.Dropdown);\n this._addItem(AddressItemType.Street, AddressItemDisplayType.Input);\n this._addItem(AddressItemType.DistrictName, AddressItemDisplayType.Input);\n this._addItem(AddressItemType.StreetNumber, AddressItemDisplayType.Input);\n this._addItem(AddressItemType.BuildingCompliment, AddressItemDisplayType.Input);\n this._addItem(AddressItemType.Postbox, AddressItemDisplayType.Input);\n this._addItem(AddressItemType.House_RU, AddressItemDisplayType.Input);\n this._addItem(AddressItemType.Flat_RU, AddressItemDisplayType.Input);\n this._addItem(AddressItemType.CountryOKSMCode_RU, AddressItemDisplayType.Input);\n this._addItem(AddressItemType.AddressTypeValue, AddressItemDisplayType.Dropdown);\n this._addItem(AddressItemType.IsPrimary, AddressItemDisplayType.Checkbox);\n }\n\n private _addItem(type: AddressItemType, displayType: AddressItemDisplayType, format?: string): void {\n if (this.excludedTypes.includes(type)) {\n return;\n }\n\n const nameKey = AddressItemType[type].replace('_', '');\n\n // Find out if currentItem is required field\n const validationRules = this._validationRules(type, nameKey, format);\n const isRequired = validationRules.some(rule => rule.type === AddressValidationRuleType.Required);\n\n // If no optional string is provided in resource file, use the original label text\n const optionalString =\n this.resources[`${this.resourcesPrefix}${nameKey}LabelOptional`] || this.resources[`${this.resourcesPrefix}${nameKey}Label`];\n const item: IAddressItem = {\n type,\n displayType,\n name: AddressItemType[type],\n label: isRequired ? this.resources[`${this.resourcesPrefix}${nameKey}Label`] : optionalString,\n maxLength: this.maxLength,\n validationRules,\n isNewLine: true\n };\n\n this.metaData.push(item);\n }\n\n private _validationRules(type: AddressItemType, name: string, format?: string): IAddressValidationRule[] {\n const validationRules: IAddressValidationRule[] = [];\n\n for (const ruleType of Object.keys(AddressValidationRuleType)) {\n const key = `${this.resourcesPrefix}${name}${ruleType}`;\n const message: string = this.resources[`${key}ErrorMessage`];\n switch (ruleType) {\n case AddressValidationRuleType.Required: {\n if (this.requiredFields.find((itemType: AddressItemType) => itemType === type)) {\n validationRules.push(this._validationRule(ruleType, this.requiredFieldRegEx, message));\n }\n break;\n }\n case AddressValidationRuleType.Format: {\n validationRules.push(this._validationRule(ruleType, format!, message));\n break;\n }\n case AddressValidationRuleType.MaxLength: {\n if (type === AddressItemType.Phone) {\n validationRules.push(this._validationRule(ruleType, this.maxLengthRegEx, message));\n }\n\n break;\n }\n default:\n }\n }\n return validationRules;\n }\n\n private _validationRule(type: AddressValidationRuleType, regEx: string, message: string): IAddressValidationRule {\n return {\n type,\n regEx,\n message\n };\n }\n}\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport { Address } from '@msdyn365-commerce/retail-proxy';\nimport { Heading } from '@msdyn365-commerce-modules/data-types';\n\nexport enum AddressOperation {\n Add = 'Add',\n Show = 'Show',\n Update = 'Update',\n List = 'List',\n Multiple = 'Multiple'\n}\n\nexport enum AddressType {\n Shipping = 'Shipping',\n Billing = 'Billing',\n Invoice = 'Invoice',\n Company = 'Company'\n}\n\nexport interface IDropdownDisplayData {\n [index: string]: { key?: string; value?: string }[];\n}\n\nexport interface IAddressResponse {\n errorTitle?: string;\n errorMessage?: string;\n customerAddresses?: Address[];\n address?: Address;\n}\n\nexport interface IAddressConfig {\n heading?: Heading;\n primaryAddressSectionHeading?: Heading;\n otherAddressSectionHeading?: Heading;\n addAddressHeading?: Heading;\n editAddressHeading?: Heading;\n}\n\nexport interface IAddressResource {\n addressChangeCheckboxAriaLabel: string;\n addressAddButtonText: string;\n addressAddButtonAriaLabel: string;\n addressAddNewButtonText?: string;\n addressAddNewButtonAriaLabel?: string;\n addressPrimaryButtonText: string;\n addressPrimaryButtonAriaLabel: string;\n addressEditButtonText: string;\n addressEditButtonAriaLabel: string;\n addressRemoveButtonText: string;\n addressRemoveButtonAriaLabel: string;\n addressSaveButtonText: string;\n addressSaveButtonAriaLabel: string;\n addressCancelButtonText: string;\n addressCancelButtonAriaLabel: string;\n addressStateDefaultSelectionText: string;\n addressNameLabel: string;\n addressNameLabelOptional?: string;\n addressNameRequiredErrorMessage: string;\n addressPhoneLabel: string;\n addressPhoneLabelOptional?: string;\n addressPhoneRequiredErrorMessage: string;\n addressPhoneMaxLengthErrorMessage?:string;\n addressZipCodeLabel: string;\n addressZipCodeLabelOptional?: string;\n addressZipCodeRequiredErrorMessage: string;\n addressCityLabel: string;\n addressCityLabelOptional?: string;\n addressCityRequiredErrorMessage: string;\n addressCountyLabel: string;\n addressCountyLabelOptional?: string;\n addressCountyRequiredErrorMessage: string;\n addressStateLabel: string;\n addressStateLabelOptional?: string;\n addressStateRequiredErrorMessage: string;\n addressThreeLetterISORegionNameLabel: string;\n addressThreeLetterISORegionNameLabelOptional?: string;\n addressThreeLetterISORegionNameRequiredErrorMessage: string;\n addressStreetRequiredErrorMessage: string;\n addressDistrictLabel: string;\n addressDistrictLabelOptional?: string;\n addressDistrictNameLabel: string;\n addressDistrictNameLabelOptional?: string;\n addressDistrictRequiredErrorMessage: string;\n addressStreetNumberLabel: string;\n addressStreetNumberLabelOptional?: string;\n addressStreetNumberRequiredErrorMessage: string;\n addressBuildingComplimentLabel: string;\n addressBuildingComplimentLabelOptional?: string;\n addressBuildingComplimentRequiredErrorMessage: string;\n addressPostboxLabel: string;\n addressPostboxLabelOptional?: string;\n addressPostboxRequiredErrorMessage: string;\n addressHouseRULabel: string;\n addressHouseRULabelOptional?: string;\n addressHouseRURequiredErrorMessage: string;\n addressFlatRULabel: string;\n addressFlatRULabelOptional?: string;\n addressFlatRURequiredErrorMessage: string;\n addressCountryOKSMCodeRULabel: string;\n addressCountryOKSMCodeRURequiredErrorMessage: string;\n addressErrorMessageTitle: string;\n addressGenericErrorMessage: string;\n addressEmptyListAddressMessage: string;\n removeAddressNotification?: string;\n addressProductImage?: string;\n addressProductNumberText?: string;\n addressProductText?: string;\n addressProductUnitPriceText?: string;\n addressProductUOMText?: string;\n addressProductQuantityText?: string;\n addressProductActionsText?: string;\n addressSelectAllRowsText?: string;\n addressProductAddressText?: string;\n addressShipMultipleText?: string;\n addressShipMultipleAriaLabel?: string;\n saveAndContinueBtnLabel?: string;\n addressShipSingleText?: string;\n addressShipSingleAriaLabel?: string;\n clearSelectionButtonText?: string;\n clearSelectionButtonAriaLabel?: string;\n chooseAddressForSelectedItemsText?: string;\n chooseAddressForSelectedItemsAriaLabel?: string;\n noAddressSelectedAriaLabel?: string;\n unavailableProductErrorMessage?: string;\n outOfStockProductErrorMessage?: string;\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IAdressCheckbox {\n id?: string;\n name?: string;\n className: string;\n type: string;\n isChecked: boolean;\n autoFocus?: boolean;\n additionalAddributes?: object;\n telemetryContent?: ITelemetryContent;\n onChange(event: React.ChangeEvent): void;\n}\n\n/**\n * Address checkbox.\n * @param props - Configuration of the functional component.\n * @returns React functional component.\n */\nexport const AddressCheckboxFunctionComponent: React.FC = (props: IAdressCheckbox) => {\n const {\n id: itemId,\n name,\n className,\n type,\n isChecked,\n additionalAddributes,\n telemetryContent,\n autoFocus: shouldBeAutoFocused,\n onChange\n } = props;\n\n const payLoad = getPayloadObject('click', telemetryContent!, name!);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n return (\n \n );\n};\n\nexport default AddressCheckboxFunctionComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Address } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { Heading as HeadingData } from '@msdyn365-commerce-modules/data-types';\nimport { Heading, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classname from 'classnames';\nimport { get } from 'mobx';\nimport * as React from 'react';\n\nimport {\n AddressItemDisplayType,\n AddressItemType,\n AddressValidationRuleType,\n IAddressDropdownsData,\n IAddressItem,\n IAddressValidationRule\n} from '../address-format.data';\nimport { AddressType, IAddressResource, IAddressResponse } from '../address-module.data';\nimport AddressAlertComponent from './address-alert';\nimport AddressButtonComponent from './address-button';\nimport AdressCheckboxComponent from './address-checkbox';\nimport AdressDropdownComponent from './address-dropdown';\nimport AddressErrorMessageComponent from './address-error-message';\nimport AddressErrorTitleComponent from './address-error-title';\nimport AddressInputComponent from './address-input';\nimport AddressLabelComponent from './address-label';\n\nexport interface IAddressAddInputProps {\n isUpdating?: boolean;\n hasError?: boolean;\n hasExternalSubmitGroup?: boolean;\n addressType: AddressType;\n addressFormat: IAddressItem[];\n defaultCountryRegionId: string;\n defaultAddressType: number;\n selectedAddress?: Address;\n dropdownDisplayData: IAddressDropdownsData;\n resources: IAddressResource;\n addressActionResponse?: IAddressResponse;\n addAddressHeading?: HeadingData;\n editAddressHeading?: HeadingData;\n validationError?: object;\n telemetryContent?: ITelemetryContent;\n shouldAutoFocus?: boolean;\n onInputChange(event: React.ChangeEvent): void;\n onDropdownChange(event: React.ChangeEvent): void;\n onSave?(): void;\n onCancel?(): void;\n}\n\nexport interface IAddressError {\n AddressError: INodeProps;\n title: React.ReactNode;\n message: React.ReactNode;\n}\n\nexport interface IAddressAddItem {\n key: string;\n AddressItem: INodeProps;\n label: React.ReactNode;\n alert: React.ReactNode;\n input: React.ReactNode;\n}\n\nexport interface IAddressAddUpdateProps {\n AddressForm: INodeProps;\n heading: React.ReactNode;\n items: IAddressAddItem[];\n hasError: boolean;\n error: IAddressError;\n isShowSaveButton: boolean;\n saveButton: React.ReactNode;\n isShowCancelButton: boolean;\n cancelButton: React.ReactNode;\n}\n\nconst getRequriedAttribute = (validationRules?: IAddressValidationRule[]): object => {\n const requriedRule = (validationRules || []).find(validationRule => {\n return validationRule.type === AddressValidationRuleType.Required;\n });\n\n return requriedRule ? { 'aria-required': true } : {};\n};\n\nconst getAddessItems = (selectedAddress: Address, props: IAddressAddInputProps): IAddressAddItem[] => {\n const {\n addressFormat,\n addressType,\n dropdownDisplayData,\n defaultCountryRegionId,\n defaultAddressType,\n validationError = {},\n onInputChange,\n onDropdownChange,\n shouldAutoFocus\n } = props;\n\n return addressFormat.map((addressFormatItem, index) => {\n const elementId = `${addressType.toLowerCase()}_address${addressFormatItem.name.toLowerCase()}`;\n const errorMessage = get(validationError, addressFormatItem.name);\n const className = classname('msc-address-form__item', `msc-address-form__item-${addressFormatItem.name.toLowerCase()}`, {\n 'msc-address-form__item-newline': addressFormatItem.isNewLine,\n 'address-form__item-invalid': errorMessage\n });\n let input;\n\n if (addressFormatItem.displayType === AddressItemDisplayType.Input) {\n input = (\n \n );\n } else if (addressFormatItem.displayType === AddressItemDisplayType.Checkbox) {\n input = (\n \n );\n } else {\n const displayData = dropdownDisplayData[addressFormatItem.name];\n let selectedValue = selectedAddress[addressFormatItem.name];\n\n if (addressFormatItem.type === AddressItemType.ThreeLetterISORegionName) {\n selectedValue = selectedValue || defaultCountryRegionId;\n }\n\n if (addressFormatItem.type === AddressItemType.AddressTypeValue) {\n selectedValue = selectedValue || defaultAddressType;\n }\n\n input = (\n \n );\n }\n\n return {\n key: addressFormatItem.name,\n AddressItem: { className, id: `${elementId}_container` },\n label: ,\n alert: ,\n input\n };\n });\n};\n\nexport const AddressAddUpdate = (props: IAddressAddInputProps): IAddressAddUpdateProps => {\n const {\n editAddressHeading,\n addAddressHeading,\n selectedAddress = {},\n resources,\n hasError,\n onCancel,\n onSave,\n hasExternalSubmitGroup,\n isUpdating,\n addressActionResponse,\n telemetryContent\n } = props;\n const heading = selectedAddress.RecordId ? editAddressHeading : addAddressHeading;\n\n return {\n AddressForm: { className: 'msc-address-form' },\n heading: heading && ,\n items: getAddessItems(selectedAddress, props),\n isShowSaveButton: !hasExternalSubmitGroup,\n saveButton: onSave && (\n \n ),\n isShowCancelButton: !hasExternalSubmitGroup,\n cancelButton: onCancel && (\n \n ),\n hasError: hasError || false,\n error: {\n AddressError: { className: 'msc-address-form__error' },\n title: addressActionResponse && addressActionResponse.errorTitle && (\n \n ),\n message: addressActionResponse && addressActionResponse.errorMessage && (\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 * as React from 'react';\n\nexport interface IAdressAlert {\n message?: string;\n}\n\n/**\n * Address alert.\n * @param props - Configuration of the functional component.\n * @returns React functional component.\n */\nexport const AddressAlertFunctionComponent: React.FC = (props: IAdressAlert) => {\n const message = props.message;\n return (\n \n {message && <>{message}}\n \n );\n};\n\nexport default AddressAlertFunctionComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IAddressButton {\n className: string;\n text: string;\n ariaLabel: string;\n disabled?: boolean;\n telemetryContent?: ITelemetryContent;\n role?: string;\n onClick(event: React.MouseEvent): void;\n}\n\n/**\n * Address button.\n * @param props - Configuration of the functional component.\n * @returns React functional component.\n */\nexport const AddressButtonFunctionComponent: React.FC = (props: IAddressButton) => {\n const { className, text, ariaLabel, disabled: isDisabled, telemetryContent, onClick, role } = props;\n const payLoad = getPayloadObject('click', telemetryContent!, text);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n return (\n \n );\n};\n\nexport default AddressButtonFunctionComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport classname from 'classnames';\nimport * as React from 'react';\n\nexport interface IAddressDetailItem {\n isNewLine: boolean;\n isShowLabel: boolean;\n labelText: string;\n name: string;\n value: string;\n}\n\n/**\n * Address details item.\n * @param props - Configuration of the functional component.\n * @returns React functional component.\n */\nexport const AddressDetailItemFunctionComponent: React.FC = (props: IAddressDetailItem) => {\n const { isNewLine, isShowLabel, labelText, name, value } = props;\n\n const className = `msc-address-detail__item msc-address-detail__item-${name.toLowerCase()}`;\n const isEmpty = !(value && value.length > 0);\n const mainClass = isShowLabel\n ? `msc-address-detail__item msc-address-detail__item-address-detail_${labelText}`\n : classname(className, { 'msc-address-detail__item-empty': isEmpty, 'msc-address-detail__item-newline': isNewLine });\n return (\n \n {isShowLabel && (\n <>\n {labelText}\n \n \n )}\n {value}\n \n );\n};\n\nexport default AddressDetailItemFunctionComponent;\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 IAdressDropdown {\n id: string;\n name: string;\n className: string;\n value: string | number;\n additionalAddributes?: object;\n recordId?: string;\n displayData: { key?: string | number; value?: string }[];\n onChange(event: React.ChangeEvent): void;\n}\n\nconst getDropdownItem = (key?: string | number, value?: string, selectedValue?: string | number): React.ReactNode => {\n let isSelected: boolean;\n if (typeof key === 'number') {\n isSelected = key === selectedValue;\n } else {\n isSelected = typeof selectedValue === 'string' && (key || '').toLowerCase() === (selectedValue || '').toLowerCase();\n }\n\n return (\n \n );\n};\n\n/**\n * Address dropdown.\n * @param props - Configuration of the functional component.\n * @returns React functional component.\n */\nexport const AddressDropdownFunctionComponent: React.FC = (props: IAdressDropdown) => {\n const { id: itemId, name, className, value, additionalAddributes, displayData, onChange, recordId } = props;\n\n return (\n \n {displayData && displayData.map(item => getDropdownItem(item.key, item.value, value))}\n \n );\n};\n\nexport default AddressDropdownFunctionComponent;\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 * as React from 'react';\n\nexport interface IAdressErrorMessage {\n message: string;\n}\n\n/**\n * Address error message.\n * @param props - Configuration of the functional component.\n * @returns React functional component.\n */\nexport const AddressErrorMessageFunctionComponent: React.FC = (props: IAdressErrorMessage) => {\n const { message } = props;\n\n return

{message}

;\n};\n\nexport default AddressErrorMessageFunctionComponent;\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 IAdressErrorTitle {\n title: string;\n}\n\n/**\n * Address error title.\n * @param props - Configuration of the functional component.\n * @returns React functional component.\n */\nexport const AddressErrorTitleFunctionComponent: React.FC = (props: IAdressErrorTitle) => {\n const { title } = props;\n\n return

{title}

;\n};\n\nexport default AddressErrorTitleFunctionComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IAdressInput {\n id?: string;\n name?: string;\n className: string;\n type: string;\n value: string;\n maxLength?: number;\n autoFocus?: boolean;\n additionalAddributes?: object;\n telemetryContent?: ITelemetryContent;\n onChange(event: React.ChangeEvent): void;\n}\n\n/**\n * Address input.\n * @param props - Configuration of the functional component.\n * @returns React functional component.\n */\nexport const AddressInputFunctionComponent: React.FC = (props: IAdressInput) => {\n const {\n id: itemId,\n name,\n className,\n type,\n value,\n maxLength,\n additionalAddributes,\n autoFocus: shouldUseAutoFocus,\n telemetryContent,\n onChange\n } = props;\n\n const payLoad = getPayloadObject('click', telemetryContent!, name!);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n return (\n \n );\n};\n\nexport default AddressInputFunctionComponent;\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 IAdressLabel {\n id: string;\n text: string;\n}\n\n/**\n * Address label.\n * @param props - Configuration of the functional component.\n * @returns React functional component.\n */\nexport const AddressLabelFunctionComponent: React.FC = (props: IAdressLabel) => {\n const { id: itemId, text } = props;\n\n return (\n \n );\n};\n\nexport default AddressLabelFunctionComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { Address, AddressPurpose } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { Heading as HeadingData } from '@msdyn365-commerce-modules/data-types';\nimport { Heading, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { AddressFormat } from '../address-format';\nimport { IAddressResource, IAddressResponse } from '../address-module.data';\nimport AddressButtonComponent from './address-button';\nimport AddressErrorMessageComponent from './address-error-message';\nimport AddressErrorTitleComponent from './address-error-title';\nimport { AddressShow, IAddressShowProps } from './address-show';\n\nexport interface IAddressListError {\n Error: INodeProps;\n isShowError: boolean;\n title: React.ReactNode;\n message: React.ReactNode;\n}\n\nexport interface IAddressListItem {\n Item: INodeProps;\n key: number;\n error: IAddressListError;\n showItems: IAddressShowProps;\n isShowPrimaryButton: boolean;\n primaryButton: React.ReactNode;\n editButton: React.ReactNode;\n removeButton: React.ReactNode;\n}\n\nexport interface IAddressList {\n List: INodeProps;\n isShowList: boolean;\n heading: React.ReactNode;\n items: IAddressListItem[];\n}\n\nexport interface IAddressListProps {\n ListAddress: INodeProps;\n heading: React.ReactNode;\n isShowEmptyListMessage: boolean;\n emptyListMessage: React.ReactNode;\n addButton: React.ReactNode;\n primaryAddressList: IAddressList;\n otherAddressList: IAddressList;\n}\n\nexport interface IAddressListInputProps {\n isUpdating?: boolean;\n selectedAddress?: Address;\n addressFormat: AddressFormat;\n addresses: Address[];\n addressPurposes: AddressPurpose[];\n heading?: HeadingData;\n primaryAddressSectionHeading?: HeadingData;\n otherAddressSectionHeading?: HeadingData;\n addressActionResponse?: IAddressResponse;\n resources: IAddressResource;\n contextRequest: Msdyn365.IRequestContext;\n telemetryContent?: ITelemetryContent;\n handleLineItemHeadingChange?(event: Msdyn365.ContentEditableEvent): void;\n onAddAddress(): void;\n onEditAddress(address?: Address): void;\n onRemoveAddress(address?: Address): void;\n onUpdatePrimaryAddress(address: Address): void;\n canRenderAsyncCustomerDataAsUnmodifiable?: boolean;\n isAsyncCustomer?: boolean;\n isAsyncCustomerAddressCreationFeatureEnabled?: boolean;\n isEditAsyncCustomerFeatureEnabled?: boolean;\n}\n\nconst getButtonAriaLabel = (ariaLabel: string, addressName?: string): string => {\n return ariaLabel.replace('{addressName}', addressName || '');\n};\n\nconst getAddressList = (\n className: string,\n addresses: Address[],\n showPrimaryButton: boolean,\n props: IAddressListInputProps,\n heading?: HeadingData\n): IAddressList => {\n const {\n resources,\n isUpdating,\n addressActionResponse,\n selectedAddress,\n addressFormat,\n onEditAddress,\n onRemoveAddress,\n onUpdatePrimaryAddress,\n addressPurposes,\n telemetryContent\n } = props;\n const { errorTitle = null, errorMessage = null } = addressActionResponse || {};\n\n return {\n List: { className },\n isShowList: addresses.length > 0,\n heading: heading && ,\n items: addresses.map(\n (address: Address): IAddressListItem => {\n const isSelectedAddress = selectedAddress && selectedAddress.RecordId === address.RecordId;\n const isShowError = isSelectedAddress && errorTitle && errorMessage;\n\n // Disable 'primary', 'edit', and 'remove' buttons if the customer IS EITHER async OR async address creation feature is enabled and edit async customer feature is disabled.\n // Conversely, these buttons can only be enabled when the customer is NOT async AND the address creation feature is disabled.\n const isInvalidAsyncState: boolean =\n props.isEditAsyncCustomerFeatureEnabled || false\n ? false\n : (props.canRenderAsyncCustomerDataAsUnmodifiable || false) &&\n (props.isAsyncCustomer || false || props.isAsyncCustomerAddressCreationFeatureEnabled || false);\n\n return {\n Item: { className: `${className}-list` },\n key: address.RecordId || 0,\n showItems: AddressShow({\n addressFormat: addressFormat.getAddressFormat(address.ThreeLetterISORegionName || ''),\n address,\n addressPurposes\n }),\n error: {\n Error: { className: `${className}-error` },\n isShowError: !!isShowError,\n title: ,\n message: \n },\n isShowPrimaryButton: showPrimaryButton,\n\n primaryButton: (\n {\n onUpdatePrimaryAddress(address);\n }\n }}\n />\n ),\n editButton: (\n {\n onEditAddress(address);\n },\n role: 'link'\n }}\n />\n ),\n removeButton: (\n {\n onRemoveAddress(address);\n },\n role: 'link'\n }}\n />\n )\n };\n }\n )\n };\n};\n\nconst getPrimaryAddressList = (props: IAddressListInputProps): IAddressList => {\n const { addresses, primaryAddressSectionHeading } = props;\n const primaryAddresses = addresses.filter((address: Address) => address.IsPrimary);\n return getAddressList('msc-address-list__primary', primaryAddresses, false, props, primaryAddressSectionHeading);\n};\n\nconst getOtherAddressList = (props: IAddressListInputProps): IAddressList => {\n const { addresses, otherAddressSectionHeading } = props;\n const otherAddresses = addresses.filter((address: Address) => !address.IsPrimary);\n return getAddressList('msc-address-list__primary', otherAddresses, true, props, otherAddressSectionHeading);\n};\n\nexport const AddressList = (props: IAddressListInputProps): IAddressListProps => {\n const { addresses, heading, resources, onAddAddress, telemetryContent, handleLineItemHeadingChange } = props;\n const headingComponent = heading?.text && (\n {\n // Required\n },\n requestContext: props.contextRequest\n }}\n />\n );\n\n // IF the 'Edit async customer' feature is enabled. we won't be disabling the button in this scenario.\n // ELSE disable the 'Add' button only when the customer is async AND the 'Async Address Creation' feature is disabled.\n const disableAddButton: boolean =\n props.isEditAsyncCustomerFeatureEnabled || false\n ? false\n : (props.canRenderAsyncCustomerDataAsUnmodifiable || false) &&\n (props.isAsyncCustomer || false) &&\n !(props.isAsyncCustomerAddressCreationFeatureEnabled || false);\n\n return {\n ListAddress: { className: 'ms-address-list' },\n heading: headingComponent,\n isShowEmptyListMessage: addresses.length === 0,\n emptyListMessage:

{resources.addressEmptyListAddressMessage}

,\n addButton: (\n \n ),\n primaryAddressList: getPrimaryAddressList(props),\n otherAddressList: getOtherAddressList(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 { 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\nimport { Address, AddressPurpose } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { AddressItemType, IAddressItem } from '../address-format.data';\nimport AddressDetailItemComponent from './address-detail-item';\n\nexport interface IAddressShowItem {\n key: string;\n description: React.ReactNode;\n}\n\nexport interface IAddressShowProps {\n AddressDetail: INodeProps;\n items: IAddressShowItem[];\n}\n\nexport interface IAddressShowInputProps {\n addressFormat: IAddressItem[];\n address: Address;\n addressPurposes: AddressPurpose[];\n}\n\nexport const AddressShow = (props: IAddressShowInputProps): IAddressShowProps => {\n const { addressFormat, addressPurposes, address } = props;\n\n return {\n AddressDetail: { className: 'msc-address-detail' },\n items: addressFormat.map(item => {\n if (item.name === AddressItemType[AddressItemType.AddressTypeValue]) {\n const addressType = addressPurposes.find(\n addressTypeValue => addressTypeValue.AddressType.toString() === (address[item.name] || '').toString()\n );\n if (addressType) {\n const addressTypeDescription = addressType.Description || '';\n return {\n key: item.name,\n description: (\n \n )\n };\n }\n }\n return {\n key: item.name,\n description: (\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 { 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\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';\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\n const renderShipMultiAddressView = isMultipleAddressShippingEnabled;\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 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 )\n : cartLine\n )\n : checkout.result.checkoutCart.cart.CartLines?.some(cartLine =>\n cartLine.DeliveryMode && cartLine.DeliveryMode !== '' ? cartLine.DeliveryMode !== pickupDeliveryModeCode : 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 { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IBulkPurchaseViewProps } from './bulk-purchase';\n\n/**\n * Bulk purchase view.\n * @param props - Bulk purchase view props.\n * @returns React node with a module.\n */\nexport const BulkPurchaseViewComponent: React.FC = props => {\n return {props.content};\n};\n\nexport default BulkPurchaseViewComponent;\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