{"version":3,"file":"static/js/11.c1d4bf854b21a3012f3c.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._onSelectMultiAddress();\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 this._setShippingAddress(this.addressListSelectedAddress);\n this._updateModuleState();\n };\n\n /**\n * Method get called on select address.\n */\n private readonly _onSelectMultiAddress = () => {\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