{"version":3,"file":"static/js/9.e644cfc4ebd165152401.chunk.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/modules/aaa_b2c_cart/aaa_b2c_cart.tsx?6912","webpack://Msdyn365.Commerce.Online/./src/modules/aaa_b2c_cart/components/order-summary.tsx?7877","webpack://Msdyn365.Commerce.Online/./src/modules/aaa_b2c_cart/aaa_b2c_cart.view.tsx?eb6b","webpack://Msdyn365.Commerce.Online/./src/themes/pallionlivadi/views/cart-icon.view.tsx?cd35","webpack://Msdyn365.Commerce.Online/./src/themes/pallionlivadi/views/components/cartlineitem.component.tsx?a970","webpack://Msdyn365.Commerce.Online/./src/themes/pallionlivadi/views/components/product.component.tsx?9f53","webpack://Msdyn365.Commerce.Online/./src/themes/pallionlivadi/views/header.view.tsx?0275","webpack://Msdyn365.Commerce.Online/./src/themes/pallionlivadi/views/search-result-container.view.tsx?1683","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/modules/carousel/carousel.tsx?80d4","webpack://Msdyn365.Commerce.Online/./src/modules/carousel/carousel.view.tsx?d82f","webpack://Msdyn365.Commerce.Online/./src/modules/fabrikam/views/components/promocode.component.tsx?d9d6","webpack://Msdyn365.Commerce.Online/./src/modules/header/utilities/mock-utilities.ts?d017","webpack://Msdyn365.Commerce.Online/./src/modules/header/components/header-preferred-store.tsx?ee9c","webpack://Msdyn365.Commerce.Online/./src/modules/header/components/logo.tsx?f27e","webpack://Msdyn365.Commerce.Online/./src/modules/header/components/nav-icon.tsx?2475","webpack://Msdyn365.Commerce.Online/./src/modules/header/header.tsx?e91a","webpack://Msdyn365.Commerce.Online/./src/modules/header/header.view.tsx?cf0f","webpack://Msdyn365.Commerce.Online/./src/modules/order-template-list/components/order-template-list.tsx?86c4","webpack://Msdyn365.Commerce.Online/./src/modules/order-template-list/components/orderTemplateList-status-message.tsx?183c","webpack://Msdyn365.Commerce.Online/./src/modules/order-template-list/components/create-order-template.tsx?ea38","webpack://Msdyn365.Commerce.Online/./src/modules/order-template-list/order-template-list.tsx?18d0","webpack://Msdyn365.Commerce.Online/./src/modules/order-template-list/order-template-list.view.tsx?103b","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/components/add-line/spinner.tsx?b423","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/components/add-line/add-line.tsx?5f8a","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/components/add-line/dropdown.tsx?1cba","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/components/add-line/not-found.tsx?392d","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/components/common/order-template-quantity.tsx?99a1","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/components/add-line/product-configuration.tsx?b256","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/components/add-line/product-list.tsx?4284","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/components/bulk-actions.tsx?dbe8","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/components/order-template-actions.tsx?8136","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/components/order-template-lines.tsx?3703","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/components/order-template-lines-status-message.tsx?2986","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/components/order-template-table-heading.tsx?665c","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/order-template.tsx?4ecb","webpack://Msdyn365.Commerce.Online/./src/modules/order-template/order-template.view.tsx?a45e","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/product-comparison-preview/product-comparison-preview.tsx?39f6","webpack://Msdyn365.Commerce.Online/./src/modules/product-comparison-preview/product-comparison-preview.view.tsx?28cb","webpack://Msdyn365.Commerce.Online/./src/modules/product-comparison/base/product-specification.tsx?75ed","webpack://Msdyn365.Commerce.Online/./src/modules/product-comparison/base/remove-from-comparison-button.tsx?1d8c","webpack://Msdyn365.Commerce.Online/./src/modules/product-comparison/product-comparison.tsx?4f74","webpack://Msdyn365.Commerce.Online/./src/modules/product-comparison/product-comparison.view.tsx?a0a9","webpack://Msdyn365.Commerce.Online/./src/modules/promo-banner/components/close-button.tsx?063b","webpack://Msdyn365.Commerce.Online/./src/modules/promo-banner/components/links.tsx?2587","webpack://Msdyn365.Commerce.Online/./src/modules/promo-banner/components/text.tsx?782b","webpack://Msdyn365.Commerce.Online/./src/modules/promo-banner/promo-banner.tsx?9ee9","webpack://Msdyn365.Commerce.Online/./src/modules/promo-banner/promo-banner.view.tsx?7f77","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/modules/search-result-container/components/utilities.ts?8569","webpack://Msdyn365.Commerce.Online/./src/modules/search-result-container/components/choice-summary.tsx?3f71","webpack://Msdyn365.Commerce.Online/./src/modules/search-result-container/components/error-message.tsx?6302","webpack://Msdyn365.Commerce.Online/./src/modules/search-result-container/components/feature-search-result-item.tsx?71fa","webpack://Msdyn365.Commerce.Online/./src/modules/search-result-container/components/link.tsx?52c2","webpack://Msdyn365.Commerce.Online/./src/modules/search-result-container/components/modal.tsx?d78e","webpack://Msdyn365.Commerce.Online/./src/modules/search-result-container/components/product-search-result-items.tsx?5174","webpack://Msdyn365.Commerce.Online/./src/modules/search-result-container/components/range-refine-item.tsx?6288","webpack://Msdyn365.Commerce.Online/./src/modules/search-result-container/components/refine-item.tsx?a594","webpack://Msdyn365.Commerce.Online/./src/modules/search-result-container/components/refine-submenu.tsx?1292","webpack://Msdyn365.Commerce.Online/./src/modules/search-result-container/components/separator.tsx?4ea6","webpack://Msdyn365.Commerce.Online/./src/modules/search-result-container/components/title.tsx?c269","webpack://Msdyn365.Commerce.Online/./src/modules/search-result-container/search-result-container.tsx?7500","webpack://Msdyn365.Commerce.Online/./src/modules/search-result-container/search-result-container.view.tsx?b779","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/social-share-item/social-share-item.tsx?bbcb","webpack://Msdyn365.Commerce.Online/./src/modules/social-share-item/social-share-item.view.tsx?2d3e","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","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/cart-icon.view.tsx?7ec9","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/cartlineitem.component.tsx?ccc2","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/header.view.tsx?9bd3","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/ratings-histogram.view.tsx?bb5b"],"sourcesContent":["/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\n\r\nimport { IAaaB2CCartData } from './aaa_b2c_cart.data';\r\nimport { IAaa_b2c_cartProps } from './aaa_b2c_cart.props.autogenerated';\r\nimport {\r\n createRequestOrderAsync,\r\n deleteB2CCartByBMASnapshotIdAsync,\r\n getB2BCustomerIdAsync,\r\n getB2CCartServiceAsync\r\n} from '../../dataActions/DataActionExtension.g';\r\nimport {\r\n FullProductInput,\r\n getFallbackImageUrl,\r\n getFullProducts,\r\n getProductDetailsCriteriaFromActionInput\r\n} from '@msdyn365-commerce-modules/retail-actions';\r\nimport axios from 'axios';\r\nexport interface IAaa_b2c_cartViewProps extends IAaa_b2c_cartProps {\r\n cartItems: any;\r\n removeFromCart: any;\r\n cartTotalPrice: any;\r\n submitOrder: any;\r\n isLoading: boolean;\r\n jwellerInfo: any;\r\n}\r\n\r\n/**\r\n *\r\n * Aaa_b2c_cart component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass Aaa_b2c_cart extends React.PureComponent, any> {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n cartItems: [],\r\n cartTotalPrice: undefined,\r\n isLoading: true,\r\n jwellerInfo: undefined,\r\n translationInfo: undefined\r\n };\r\n }\r\n\r\n public async componentDidMount(): Promise {\r\n await this.getCartItemList();\r\n }\r\n\r\n public getCartItemList = async () => {\r\n const cartResult: any = await getB2CCartServiceAsync({ callerContext: this.props.context.actionContext, queryResultSettings: {} });\r\n if (cartResult.B2CCart) {\r\n if (cartResult.B2CCart.length > 0) {\r\n await this.getTranslationInfo();\r\n }\r\n const productInputs: any = [];\r\n const customerInfo = this.props.context.actionContext.requestContext.user;\r\n cartResult.B2CCart.map((cartItem: any) => {\r\n if (cartItem.ProductId && cartItem.BMASnapshotId) {\r\n productInputs.push(\r\n new FullProductInput(\r\n cartItem.ProductId,\r\n this.props.context.actionContext.requestContext.apiSettings,\r\n getProductDetailsCriteriaFromActionInput(this.props.context.actionContext)\r\n )\r\n );\r\n }\r\n });\r\n if (productInputs.length > 0) {\r\n return getFullProducts(productInputs, this.props.context.actionContext).then(async products => {\r\n if (products) {\r\n await this.mappedCartItems(cartResult.B2CCart, products, customerInfo);\r\n } else {\r\n this.setState({ cartItems: [], isLoading: false, cartTotalPrice: undefined, jwellerInfo: undefined });\r\n }\r\n });\r\n } else {\r\n this.setState({ cartItems: [], isLoading: false, cartTotalPrice: undefined, jwellerInfo: undefined });\r\n }\r\n }\r\n };\r\n\r\n public getTranslationInfo = async () => {\r\n let translationInfo = await axios.get(`${this.props.app.config.bmaBaseUrl}${this.props.app.config.bmaTranslationMessageEndPoint}`);\r\n translationInfo = translationInfo.data;\r\n this.setState({ translationInfo });\r\n };\r\n\r\n public removeFromCart = async (snapshotId: string, recId: number) => {\r\n await deleteB2CCartByBMASnapshotIdAsync(\r\n { callerContext: this.props.context.actionContext, queryResultSettings: {} },\r\n snapshotId,\r\n recId\r\n ).then(response => {\r\n window.location.reload();\r\n });\r\n };\r\n public submitOrder = async () => {\r\n const { context } = this.props;\r\n const customerInfo: any = context.actionContext.requestContext.user;\r\n\r\n const b2bCustomer: any = await getB2BCustomerIdAsync(\r\n { callerContext: this.props.context.actionContext, queryResultSettings: {} },\r\n customerInfo ? customerInfo.customerAccountNumber : ''\r\n );\r\n const addProductsOrderRequest: any = [];\r\n this.state.cartItems.forEach((item: any) => {\r\n const addProductToOrderRequest: any = {\r\n B2CCustomerId:\r\n customerInfo && !customerInfo.isB2b && customerInfo.customerAccountNumber ? customerInfo.customerAccountNumber : '',\r\n B2BCustomerId: b2bCustomer.B2BCustomerId,\r\n Quantity: 1,\r\n ProductId: item.ProductDetails.RecordId,\r\n UnitOfMeasure: item.ProductDetails.DefaultUnitOfMeasure,\r\n Snapshotid: item.snapShotId ? item.snapShotId : '',\r\n ExtensionProperties: item.ProductDetails.ExtensionProperties,\r\n B2BPrice: customerInfo && customerInfo.isB2b && item.price.AdjustedPrice ? item.price.AdjustedPrice : 0,\r\n B2CPrice: customerInfo && !customerInfo.isB2b && item.price.AdjustedPrice ? item.price.AdjustedPrice : 0,\r\n ItemId: item.ProductDetails.ItemId\r\n };\r\n addProductsOrderRequest.push(addProductToOrderRequest);\r\n });\r\n\r\n if (context && addProductsOrderRequest.length > 0) {\r\n const requestOrderResponse = await createRequestOrderAsync(\r\n { callerContext: this.props.context.actionContext },\r\n addProductsOrderRequest\r\n );\r\n if (requestOrderResponse) {\r\n const request = this.props.context.request;\r\n let orderConfirmUrl = request.url.requestUrl.origin;\r\n if (request.sitePath) {\r\n orderConfirmUrl = orderConfirmUrl + request.sitePath;\r\n }\r\n window.location.href = `${orderConfirmUrl}${this.props.config.redirectToOrderConfirmUrl}?requestOrderId=${requestOrderResponse.RequestOrderId}`;\r\n }\r\n }\r\n console.log(addProductsOrderRequest);\r\n };\r\n\r\n public async mappedCartItems(items: any, products: any, customerInfo: any) {\r\n const cartItems: any = [];\r\n const jwellerInfo = await getB2BCustomerIdAsync(\r\n { callerContext: this.props.context.actionContext },\r\n customerInfo.customerAccountNumber\r\n );\r\n let cartTotalPriceAmount = 0;\r\n const cartTotalPrice: any = {};\r\n for (const [index, cartItem] of items.entries()) {\r\n const product: any = products.find((p: any) => {\r\n return cartItem.ProductId === p.ProductDetails.RecordId;\r\n });\r\n if (product && cartItem.ProductId && cartItem.BMASnapshotId && this.state.translationInfo) {\r\n if (!cartItem.BMASnapshotId) {\r\n product.key = `Non BMA Product ${index}`;\r\n cartItems.push(product);\r\n } else {\r\n const bmaReviewEndPoint = this.props.app.config.bmaReviewEndPoint.replace('#snapshotId', cartItem.BMASnapshotId);\r\n const review = await axios.get(`${this.props.app.config.bmaBaseUrl}${bmaReviewEndPoint}`);\r\n\r\n let bmaPriceEndPoint = this.props.app.config.bmaPriceEndPoint.replace('#snapshotId', cartItem.BMASnapshotId);\r\n bmaPriceEndPoint = bmaPriceEndPoint.replace('#jewellerId', jwellerInfo.BMARetailStockist);\r\n const price = await axios.get(`${this.props.app.config.bmaBaseUrl}${bmaPriceEndPoint}`);\r\n\r\n const bmaImageEndPoint = this.props.app.config.bmaImageEndPoint.replace('#snapshotId', cartItem.BMASnapshotId);\r\n const ringImage: any = await axios.get(`${this.props.app.config.bmaBaseUrl}${bmaImageEndPoint}`);\r\n\r\n const ringsInfo = price.data.rings;\r\n const productInfo: any = { ...product };\r\n const productDetails: any = { ...product.ProductDetails };\r\n productDetails.PrimaryImageUrl = ringImage.data[0];\r\n productInfo.ProductDetails = productDetails;\r\n productInfo.snapShotId = cartItem.BMASnapshotId;\r\n productInfo.key = cartItem.BMASnapshotId;\r\n productInfo.review = review.data;\r\n productInfo.recId = cartItem.RecId;\r\n productInfo.fallbackImage = getFallbackImageUrl(\r\n product.ProductDetails.ItemId,\r\n this.props.context.actionContext.requestContext.apiSettings\r\n );\r\n productInfo.rings = [];\r\n productInfo.totalPrice = price.data.sum.vk;\r\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\r\n cartTotalPriceAmount = cartTotalPriceAmount + price.data.sum.vk;\r\n const productTotalPrice = { ...product.ProductPrice };\r\n productTotalPrice.AdjustedPrice = productInfo.totalPrice;\r\n productTotalPrice.BasePrice = productInfo.totalPrice;\r\n productTotalPrice.CustomerContextualPrice = productInfo.totalPrice;\r\n productTotalPrice.TradeAgreementPrice = productInfo.totalPrice;\r\n productInfo.price = productTotalPrice;\r\n for (const ring of ringsInfo) {\r\n const ringReview = productInfo.review.find((r: any) => {\r\n return r.ringId === ring.id;\r\n });\r\n let height = '5mm';\r\n let width = '1.4mm';\r\n if (ringReview.properties && ringReview.properties.profile) {\r\n if (ringReview.properties.profile.width) {\r\n width = `${ringReview.properties.profile.width.value} ${ringReview.properties.profile.width.type}`;\r\n }\r\n if (ringReview.properties.profile.height) {\r\n height = `${ringReview.properties.profile.height.value} ${ringReview.properties.profile.height.type}`;\r\n }\r\n }\r\n let diamondCount = null;\r\n diamondCount =\r\n ringReview.properties.stone.preset.length > 0 &&\r\n ringReview.properties.stone.preset[0].id !== 'none' &&\r\n ringReview.properties.stone.quantity.reduce(function(sum: any, current: any) {\r\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\r\n return sum + current.count;\r\n }, 0);\r\n const ringSizePi = ringReview.properties.ring.size.value / 3.14159265;\r\n const ringInfo: any = {\r\n ringId: ring.id,\r\n ringName: ringReview.name,\r\n alloy: `${this.state.translationInfo[ringReview.properties.disc.fineness[0].label]}\r\n ${''}${this.state.translationInfo[ringReview.properties.disc.color[0].label]}`,\r\n sizeLabel: ringReview.properties.ring.size.label,\r\n sizeValue:\r\n Math.round(\r\n // eslint-disable-next-line @typescript-eslint/restrict-plus-operands\r\n (ringSizePi + Number.EPSILON) * 100\r\n ) / 100,\r\n specifications: diamondCount\r\n ? `${diamondCount} Diamonds, ${width} Wide, ${height} thick`\r\n : `${width} Wide, ${height} thick`\r\n };\r\n const productPrice = { ...product.ProductPrice };\r\n productPrice.AdjustedPrice = ring.vk;\r\n productPrice.BasePrice = ring.vk;\r\n productPrice.CustomerContextualPrice = ring.vk;\r\n productPrice.TradeAgreementPrice = ring.vk;\r\n ringInfo.price = productPrice;\r\n productInfo.rings.push(ringInfo);\r\n const totalPrice = { ...product.ProductPrice };\r\n totalPrice.AdjustedPrice = cartTotalPriceAmount;\r\n totalPrice.BasePrice = cartTotalPriceAmount;\r\n totalPrice.CustomerContextualPrice = cartTotalPriceAmount;\r\n totalPrice.TradeAgreementPrice = cartTotalPriceAmount;\r\n cartTotalPrice.price = totalPrice;\r\n }\r\n cartItems.push(productInfo);\r\n }\r\n }\r\n }\r\n\r\n this.setState({ cartItems, cartTotalPrice, isLoading: false, jwellerInfo: jwellerInfo });\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const viewProps: IAaa_b2c_cartViewProps = {\r\n ...(this.props as IAaa_b2c_cartProps),\r\n cartItems: this.state.cartItems,\r\n removeFromCart: this.removeFromCart,\r\n cartTotalPrice: this.state.cartTotalPrice,\r\n submitOrder: this.submitOrder,\r\n isLoading: this.state.isLoading,\r\n jwellerInfo: this.state.jwellerInfo\r\n };\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n}\r\n\r\nexport default Aaa_b2c_cart;\r\n","import * as React from 'react';\r\nimport { PriceComponent } from '@msdyn365-commerce/components';\r\n\r\nexport default class OrderSummary extends React.Component {\r\n private _renderPrice = (props: any, data: any): JSX.Element | null => {\r\n const { context } = props;\r\n if (data.price) {\r\n return (\r\n \r\n );\r\n }\r\n return null;\r\n };\r\n\r\n public render(): JSX.Element | null {\r\n return (\r\n
\r\n

Order Summary

\r\n {this.props.cartItems.map((cartItem: any) => {\r\n return (\r\n <>\r\n
\r\n
{cartItem.ProductDetails.Name}
\r\n {cartItem.rings &&\r\n cartItem.rings.map((ring: any, index: number) => {\r\n return (\r\n <>\r\n
\r\n \r\n {ring.ringName} {''} - {''} {ring.alloy}\r\n \r\n {cartItem.rings.length - 1 === index && (\r\n \r\n {this._renderPrice(this.props, cartItem)}\r\n \r\n )}\r\n
\r\n \r\n );\r\n })}\r\n
\r\n \r\n );\r\n })}\r\n
this.props.submitOrder()}>\r\n {this._renderPrice(this.props, this.props.cartTotalPrice)}\r\n Submit Order \r\n
\r\n
\r\n );\r\n }\r\n}\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\nimport { IAaa_b2c_cartViewProps } from './aaa_b2c_cart';\r\nimport { PriceComponent } from '@msdyn365-commerce/components';\r\nimport { IImageSettings, Image } from '@msdyn365-commerce/core';\r\nimport OrderSummary from './components/order-summary';\r\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { Button, Node } from '@msdyn365-commerce-modules/utilities';\r\n\r\nexport default (props: IAaa_b2c_cartViewProps) => {\r\n const _renderPrice = (props: any, ring: any): JSX.Element | null => {\r\n const { context } = props;\r\n if (ring.price) {\r\n return (\r\n \r\n );\r\n }\r\n return null;\r\n };\r\n const rounded = (ringSize?: number) => {\r\n if (ringSize) {\r\n return ringSize.toFixed(2);\r\n }\r\n return '';\r\n };\r\n const defaultImageSettings: IImageSettings = {\r\n viewports: {\r\n xs: { q: 'w=100&h=100&m=6', w: 100, h: 100 },\r\n lg: { q: 'w=100&h=100&m=6', w: 100, h: 100 },\r\n xl: { q: 'w=100&h=100&m=6', w: 100, h: 100 }\r\n },\r\n lazyload: true,\r\n cropFocalRegion: true\r\n };\r\n let continueShoppingUrl = props.context.request.url.requestUrl.origin;\r\n if (props.context.request.sitePath) {\r\n continueShoppingUrl = continueShoppingUrl + props.context.request.sitePath;\r\n }\r\n return (\r\n <>\r\n \r\n {props.config.continueShoppingButtonText ? props.config.continueShoppingButtonText : 'Continue Shopping'}\r\n \r\n {props.cartItems.length > 0 && !props.isLoading ? (\r\n
\r\n
\r\n {props.cartItems.map((cartItem: any, index: number) => {\r\n return (\r\n <>\r\n
\r\n
\r\n props.removeFromCart(cartItem.snapShotId, cartItem.recId)}\r\n />\r\n \r\n
\r\n
\r\n
{cartItem.ProductDetails.Name}
\r\n {cartItem.rings &&\r\n cartItem.rings.map((ring: any) => {\r\n return (\r\n
\r\n \r\n {ring.ringName}\r\n {ring.alloy}\r\n \r\n \r\n {'Size'}\r\n \r\n Size {ring.sizeLabel} ( Ø {rounded(ring.sizeValue)}mm)\r\n \r\n \r\n \r\n {'Specification'}\r\n {ring.specifications}\r\n \r\n \r\n {'Price'}\r\n \r\n {_renderPrice(props, ring)}\r\n \r\n \r\n
\r\n );\r\n })}\r\n
{_renderPrice(props, cartItem)}
\r\n
\r\n
\r\n \r\n );\r\n })}\r\n
\r\n
\r\n {props.cartItems.length > 0 && (\r\n \r\n )}\r\n
\r\n
\r\n {ArrayExtensions.hasElements(props.slots.nextSteps) ? (\r\n {props.slots.nextSteps[0]}\r\n ) : null}\r\n Selected Stockist\r\n {props.jwellerInfo && (\r\n \r\n {props.jwellerInfo.B2BCustomerName}\r\n
\r\n {props.jwellerInfo.Address}\r\n
\r\n {'p. '}\r\n {props.jwellerInfo.Phone}\r\n
\r\n {'e. '}\r\n {props.jwellerInfo.Email}\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n {ArrayExtensions.hasElements(props.slots.needHelp) ? (\r\n {props.slots.needHelp[0]}\r\n ) : null}\r\n
\r\n
\r\n
\r\n ) : props.cartItems.length === 0 && !props.isLoading ? (\r\n
\r\n
\r\n

{'You currently do not have any orders to view.'}

\r\n
\r\n
\r\n ) : (\r\n
Loading...
\r\n )}\r\n \r\n );\r\n};\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { AddToCartBehavior } from '@msdyn365-commerce/components';\r\nimport MsDyn365, { getUrlSync } from '@msdyn365-commerce/core';\r\nimport { ICartIconViewProps, ICartViewProps, IFlyoutCartLineItemViewProps } from '@msdyn365-commerce-modules/cart';\r\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { Button, getPayloadObject, INodeProps, KeyCodes, Modal, Node, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport React from 'react';\r\n\r\nimport { ICartIconProps as ICartIconExtensionProps } from '../definition-extensions/cart-icon.ext.props.autogenerated';\r\n\r\n/**\r\n * ICartIconViewState: Interface for Cart Icon View State.\r\n */\r\ninterface ICartIconViewState {\r\n isModalOpen: boolean;\r\n}\r\n\r\n/**\r\n * Render Cart lines.\r\n * @param cartLines - Flyout cart line view props.\r\n * @param props - Cart icon view props.\r\n * @returns JSX Element.\r\n */\r\nconst renderCartlines = (cartLines: IFlyoutCartLineItemViewProps[] | undefined, props: ICartIconViewProps): JSX.Element[] | null => {\r\n if (!cartLines) {\r\n props.context.telemetry.error('Cartlines content is empty, module wont render');\r\n return null;\r\n }\r\n return cartLines.map((cartLine, index) => {\r\n const cartLineIndex = index;\r\n return (\r\n \r\n \r\n {cartLine.cartline}\r\n \r\n {cartLine.remove}\r\n {cartLine.storeLocation}\r\n \r\n );\r\n });\r\n};\r\n\r\n/**\r\n * Initiate total price.\r\n * @param props - Cart icon view props.\r\n * @returns JSX Element.\r\n */\r\nconst renderTotalPrice = (props: ICartIconViewProps & ICartIconExtensionProps<{}>): JSX.Element | null => {\r\n const cart = props.data.cart.result ?? undefined;\r\n const price = cart && !cart.hasInvoiceLine && (cart.cart.TotalAmount || undefined);\r\n const totalPrice = price ? props.context.cultureFormatter.formatCurrency(price) : props.context.cultureFormatter.formatCurrency(props.resources.emptyPrice);\r\n return (\r\n
\r\n \r\n {props.resources.totalPriceFormatString}\r\n \r\n {totalPrice}\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\n/**\r\n *\r\n * CartIconView component.\r\n * @extends {React.PureComponent}\r\n */\r\nexport class CartIconView extends React.PureComponent, ICartIconViewState> {\r\n\r\n private isAutoDisplayTriggered: boolean;\r\n\r\n public constructor(props: ICartViewProps & ICartIconViewState & ICartIconViewProps & ICartIconExtensionProps<{}>) {\r\n super(props);\r\n this.isAutoDisplayTriggered = false;\r\n this.state = {\r\n isModalOpen: false\r\n };\r\n }\r\n\r\n public componentDidMount(): void {\r\n if (MsDyn365.isBrowser) {\r\n window.addEventListener('keydown', this._escFunction, false);\r\n }\r\n }\r\n\r\n public componentWillUnmount(): void {\r\n if (MsDyn365.isBrowser) {\r\n window.removeEventListener('keydown', this._escFunction, false);\r\n }\r\n }\r\n\r\n /**\r\n * Render Cart Item count.\r\n * @returns JSX Element.\r\n */\r\n public render(): JSX.Element | null {\r\n const cart = this.props.data.cart.result ?? undefined;\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -- check config.\r\n const shouldShowMiniCart = cart?.isProductAddedToCart && this.props.context.app.config.addToCartBehavior === AddToCartBehavior.showMiniCart;\r\n if (shouldShowMiniCart) {\r\n if (!this.isAutoDisplayTriggered) {\r\n // First time trigger auto mini cart.\r\n this.setState({ isModalOpen: true });\r\n this.isAutoDisplayTriggered = true;\r\n } else if (!this.state.isModalOpen) {\r\n // If modal is closed, reset the flag.\r\n this.isAutoDisplayTriggered = false;\r\n }\r\n }\r\n return (\r\n \r\n \r\n {this.props.cartIcon}\r\n \r\n \r\n \r\n {this.props.flyoutTitle}\r\n {this._renderCartItemCount(this.props)}\r\n {this._renderCartCloseIcon()}\r\n \r\n \r\n {this.props.data.cart.result?.isEmpty ? this.props.slots.emptyCart : null}\r\n \r\n {renderCartlines(this.props.cartlines, this.props)}\r\n \r\n \r\n \r\n {this.props.slots.promoContentItem}\r\n {renderTotalPrice(this.props)}\r\n

\r\n {this.props.resources.subTotalMessage}\r\n

\r\n {this.props.checkoutAsSignInUserButton}\r\n {this.props.checkoutAsGuestButton}\r\n {this.props.data.cart.result?.isEmpty ? null : this.props.goToCartButton}\r\n \r\n {\r\n this.props.data.cart.result?.isEmpty ? \r\n {this.props.resources.continueShoppingButtonTitle}\r\n : null\r\n }\r\n \r\n
\r\n \r\n \r\n );\r\n }\r\n\r\n /**\r\n * Initiate modal container.\r\n * @returns Inode props.\r\n */\r\n private readonly _modalContainer = (): INodeProps => {\r\n return {\r\n tag: Modal,\r\n placement: 'bottom-end',\r\n hideArrow: true,\r\n className: 'ms-cart-icon__minicartmodal-container',\r\n wrapClassName: 'ms-cart-icon__minicartmodal',\r\n isOpen: this.state.isModalOpen,\r\n toggle: this.closeModal\r\n };\r\n };\r\n\r\n /**\r\n * Initiate open modal.\r\n */\r\n private readonly _openModal = (): void => {\r\n const payLoad = getPayloadObject('click', this.props.telemetryContent!, 'cart-icon', '');\r\n onTelemetryClick(this.props.telemetryContent!, payLoad, 'cart-icon');\r\n this.setState({\r\n isModalOpen: true\r\n });\r\n };\r\n\r\n /**\r\n * Initiate close modal.\r\n */\r\n private readonly closeModal = (): void => {\r\n this.setState({\r\n isModalOpen: false\r\n });\r\n\r\n };\r\n\r\n /**\r\n * Initiate cart close Icon.\r\n * @returns JSX Element.\r\n */\r\n private readonly _renderCartCloseIcon = (): JSX.Element | null => {\r\n return (\r\n \r\n );\r\n };\r\n\r\n /**\r\n * Render Cart Item count.\r\n * @param props - Cart icon view props.\r\n * @returns JSX Element.\r\n */\r\n private readonly _renderCartItemCount = (props: ICartIconViewProps & ICartIconExtensionProps<{}>): JSX.Element | null => {\r\n let cartItemCount;\r\n const defaultCartItemCount: number = 0;\r\n const defaultCartItemCountOne: number = 1;\r\n\r\n if (ArrayExtensions.hasElements(props.cartlines)) {\r\n if (props.cartlines.length === defaultCartItemCountOne) {\r\n cartItemCount = `${defaultCartItemCountOne} ${props.resources.item}`;\r\n } else {\r\n cartItemCount = `${props.cartlines.length} ${props.resources.items}`;\r\n }\r\n } else {\r\n cartItemCount = `${defaultCartItemCount} ${props.resources.items}`;\r\n }\r\n return (\r\n \r\n {cartItemCount}\r\n \r\n );\r\n };\r\n\r\n /**\r\n * Handle escape click to close modal.\r\n * @param event - On press of any key.\r\n */\r\n private readonly _escFunction = (event: KeyboardEvent) => {\r\n if (event.keyCode === KeyCodes.Escape && this.state.isModalOpen) {\r\n this.closeModal();\r\n }\r\n };\r\n\r\n}\r\n\r\nexport default CartIconView;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { CartLinePriceEditor, ICartLinePriceEditorResources, PriceComponent } from '@msdyn365-commerce/components';\r\nimport { IComponentProps, IGridSettings, IImageSettings, Image } from '@msdyn365-commerce/core';\r\nimport { ICartState } from '@msdyn365-commerce/global-state';\r\nimport { ChannelDeliveryOptionConfiguration, ProductDimensionType, SimpleProduct } from '@msdyn365-commerce/retail-proxy';\r\nimport { CartLine, DiscountLine, DiscountLineType, SalesLine } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\r\nimport { ArrayExtensions, getFallbackImageUrl } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { getPayloadObject, getTelemetryAttributes, IncrementalQuantity, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\r\nimport classNames from 'classnames';\r\nimport * as React from 'react';\r\n\r\n/**\r\n * ICartlineResourceString: Interface for specifying the\r\n * resource strings that the component needs.\r\n */\r\nexport interface ICartlineResourceString {\r\n\r\n /** Display string for discount label. */\r\n discountStringText: string;\r\n\r\n /** String for size key. */\r\n sizeString: string;\r\n\r\n /** String for color key. */\r\n colorString: string;\r\n\r\n /** String associated with the configuration product dimension. */\r\n configString: string;\r\n\r\n /** String for style key. */\r\n styleString: string;\r\n\r\n /** String for amount key. */\r\n amountString?: string;\r\n\r\n /** Display string for quantity label. */\r\n quantityDisplayString: string;\r\n\r\n /** Display string for quantity label. */\r\n inputQuantityAriaLabel: string;\r\n\r\n /** Aria label for the decrement button in quantity component. */\r\n decrementButtonAriaLabel: string;\r\n\r\n /** Aria label for the increment button in quantity component. */\r\n incrementButtonAriaLabel: string;\r\n\r\n /** Original text screenreader. */\r\n originalPriceText: string;\r\n\r\n /** Current text screenreader. */\r\n currentPriceText: string;\r\n\r\n /** Shipping Charges Text. */\r\n shippingChargesText: string;\r\n\r\n /** Price Editor Charges Text. */\r\n priceEditorResources?: ICartLinePriceEditorResources;\r\n}\r\n\r\n/**\r\n * Represents cart line data interface.\r\n */\r\ninterface ICartLineData {\r\n cartLine: CartLine | SalesLine;\r\n cartState?: ICartState;\r\n product?: SimpleProduct;\r\n}\r\n\r\n/**\r\n * ICartLineProps: The props required to render cartLineitem.\r\n */\r\nexport interface ICartLineProps extends IComponentProps {\r\n\r\n /** The flag to change the quantity component from interactible to static. */\r\n disableQuantityInteractivity?: boolean;\r\n\r\n /** The primary image url. */\r\n primaryImageUrl?: string;\r\n\r\n /** The product url. */\r\n productUrl?: string;\r\n\r\n /** GridSettings for the product image in cartLine. */\r\n gridSettings: IGridSettings;\r\n\r\n /** ImageSettings for the product image in cartLine. */\r\n imageSettings: IImageSettings;\r\n\r\n /** Boolean flag to indicate if the item is out of stock. */\r\n isOutOfStock?: boolean;\r\n\r\n /** Flag to make quantity section editable. */\r\n isQuantityEditable?: boolean;\r\n\r\n /** Max quantity for line item. */\r\n maxQuantity?: number;\r\n\r\n /** Current quantity for line item. */\r\n currentQuantity?: number;\r\n\r\n /** Resource string for the component. */\r\n resources: ICartlineResourceString;\r\n\r\n /** SalesLine flag. */\r\n isSalesLine?: boolean;\r\n\r\n /** Error message to show in place of quantity. */\r\n errorMessage?: string;\r\n\r\n /** Inventory information label. */\r\n inventoryInformationLabel?: string;\r\n\r\n /** Inventory information class name. */\r\n inventoryLabelClassName?: string;\r\n\r\n /** Flag to show/hide shipping charges for line items. */\r\n showShippingChargesForLineItems?: boolean;\r\n\r\n /** Boolean flag to indicate if cart state status is ready. */\r\n isCartStateReady?: boolean;\r\n\r\n /** Chanel Delivery Option configuration is from api. */\r\n channelDeliveryOptionConfig?: ChannelDeliveryOptionConfiguration;\r\n\r\n /** The telemetry content. */\r\n telemetryContent?: ITelemetryContent;\r\n\r\n /** Quantity onChange callback. */\r\n quantityOnChange?(cartLine: CartLine, newQuantity: number): boolean;\r\n}\r\n\r\n/**\r\n * Represents dimensions strings.\r\n */\r\ninterface IDimensionStrings {\r\n\r\n /** String for size key. */\r\n sizeString: string;\r\n\r\n /** String for color key. */\r\n colorString: string;\r\n\r\n /** String associated with the configuration product dimension. */\r\n configString: string;\r\n\r\n /** String for style key. */\r\n styleString: string;\r\n\r\n /** String for amount key. */\r\n amountString?: string;\r\n}\r\n\r\nconst cartLineItemFunctions = {\r\n\r\n /**\r\n * Render product dimensions.\r\n * @param product - Product data.\r\n * @param dimensionStrings - Dimension strings interface.\r\n * @returns JSX Element.\r\n */\r\n renderProductDimensions: (product: SimpleProduct, dimensionStrings: IDimensionStrings) => {\r\n if (!product.Dimensions) {\r\n return [];\r\n }\r\n\r\n return product.Dimensions.map(productDimension => {\r\n\r\n if (productDimension.DimensionTypeValue === ProductDimensionType.Color) {\r\n return (\r\n
\r\n \r\n {dimensionStrings.colorString}\r\n {': '}\r\n \r\n {productDimension.DimensionValue?.Value}\r\n \r\n \r\n
\r\n );\r\n }\r\n\r\n if (productDimension.DimensionTypeValue === ProductDimensionType.Configuration) {\r\n return (\r\n
\r\n \r\n {dimensionStrings.configString}\r\n {': '}\r\n \r\n {productDimension.DimensionValue?.Value}\r\n \r\n \r\n
\r\n );\r\n }\r\n\r\n if (productDimension.DimensionTypeValue === ProductDimensionType.Size) {\r\n return (\r\n
\r\n \r\n {dimensionStrings.sizeString}\r\n {': '}\r\n \r\n {productDimension.DimensionValue?.Value}\r\n \r\n \r\n
\r\n );\r\n }\r\n\r\n if (productDimension.DimensionTypeValue === ProductDimensionType.Style) {\r\n return (\r\n
\r\n \r\n {product.IsGiftCard ? dimensionStrings.amountString : dimensionStrings.styleString}\r\n {': '}\r\n \r\n {productDimension.DimensionValue?.Value}\r\n \r\n \r\n
\r\n );\r\n }\r\n return null;\r\n });\r\n },\r\n\r\n /**\r\n * Gets the react node for product unit of price display.\r\n * @param props - The cart line props.\r\n * @returns The node representing markup for unit of measure component.\r\n */\r\n renderProductUnitPrice: (props: ICartLineProps) => {\r\n if (!props.data.cartLine.Price) {\r\n return null;\r\n }\r\n const zeroQuantity: number = 0;\r\n return (\r\n
\r\n \r\n zeroQuantity ? {\r\n price: {\r\n CustomerContextualPrice: props.data.cartLine.Price\r\n }\r\n } : {\r\n price: {\r\n CustomerContextualPrice: props.data.cartLine.Price\r\n }\r\n }}\r\n context={props.context}\r\n id={props.id}\r\n typeName={props.typeName}\r\n />\r\n \r\n
\r\n );\r\n },\r\n\r\n /**\r\n * Render discount lines.\r\n * @param props - The cart line props.\r\n * @returns JSX element.\r\n */\r\n renderDiscountLines: (props: ICartLineProps) => {\r\n\r\n if (!props.data.cartLine.DiscountLines || !ArrayExtensions.hasElements(props.data.cartLine.DiscountLines)) {\r\n return null;\r\n }\r\n\r\n /**\r\n * Get the updated discount percentage.\r\n * @param discountLine - The discount line.\r\n * @param cartLine - The cart line.\r\n * @returns The updated discount percentage.\r\n */\r\n const discountPercent = (discountLine: DiscountLine, cartLine: CartLine): number => {\r\n const numberZero = 0;\r\n const decimalPrecision = 2;\r\n const fullPercentage = 100;\r\n let updatedPercent: number = discountLine.Percentage ?? numberZero;\r\n\r\n if ((discountLine.Percentage === numberZero ||\r\n (discountLine.DiscountLineTypeValue && discountLine.DiscountLineTypeValue === DiscountLineType.TenderTypeDiscount)) &&\r\n cartLine.Price && cartLine.Price > numberZero && cartLine.Quantity && cartLine.Quantity !== numberZero) {\r\n const effectiveAmount = discountLine.EffectiveAmount ?? numberZero;\r\n updatedPercent = Number(((effectiveAmount / (cartLine.Price * cartLine.Quantity)) * fullPercentage).toFixed(decimalPrecision));\r\n }\r\n\r\n return updatedPercent;\r\n };\r\n\r\n return props.data.cartLine.DiscountLines.map((discountLine, index) => {\r\n return (\r\n
\r\n \r\n {discountLine.OfferName ? discountLine.OfferName : ''}\r\n \r\n \r\n \r\n \r\n \r\n {` (${discountLine.Percentage !== undefined ? discountPercent(discountLine, props.data.cartLine) : ''}%)`}\r\n \r\n
\r\n );\r\n });\r\n },\r\n\r\n /**\r\n * Render inventory label.\r\n * @param props - The cart line props.\r\n * @returns JSX element.\r\n */\r\n renderInventoryLabel: (props: ICartLineProps) => {\r\n const inventoryCssName = props.inventoryLabelClassName ? (\r\n `msc-cart-line__product-inventory-label ${props.inventoryLabelClassName}`) : 'msc-cart-line__product-inventory-label';\r\n\r\n return (\r\n

\r\n {props.inventoryInformationLabel}\r\n

\r\n );\r\n },\r\n\r\n /**\r\n * Render shipping label.\r\n * @param props - The cart line props.\r\n * @returns JSX element.\r\n */\r\n renderShippingLabel: (props: ICartLineProps) => {\r\n const pickupDeliveryModeCode = props.context.request.channel?.PickupDeliveryModeCode;\r\n const channelDeliveryOptionConfig = props.channelDeliveryOptionConfig;\r\n const cartline = props.data.cartLine;\r\n let hasShippingMethod = false;\r\n if (channelDeliveryOptionConfig !== undefined) {\r\n hasShippingMethod = !!(cartline.DeliveryMode && channelDeliveryOptionConfig.PickupDeliveryModeCodes?.some(\r\n deliveryMode => deliveryMode !== cartline.DeliveryMode));\r\n } else {\r\n hasShippingMethod = !!(cartline.DeliveryMode && cartline.DeliveryMode !== pickupDeliveryModeCode);\r\n }\r\n if (!hasShippingMethod) {\r\n return undefined;\r\n }\r\n\r\n const shippingChargeLines = (cartline.ChargeLines ?? []).filter(chargeLine => chargeLine.IsShipping);\r\n\r\n if (!ArrayExtensions.hasElements(shippingChargeLines)) {\r\n return undefined;\r\n }\r\n\r\n const defaultCharge: number = 0;\r\n const freightFee = shippingChargeLines.reduce((chargeTotal, chargeLine) => {\r\n return chargeTotal + (chargeLine.CalculatedAmount ?? defaultCharge);\r\n }, defaultCharge);\r\n\r\n const priceComponent = (\r\n \r\n );\r\n return (\r\n <>\r\n \r\n \r\n {priceComponent}\r\n \r\n \r\n );\r\n },\r\n\r\n /**\r\n * Render other charges.\r\n * @param props - The cart line props.\r\n * @returns JSX element.\r\n */\r\n renderOtherCharges: (props: ICartLineProps) => {\r\n const cartline = props.data.cartLine;\r\n const otherCharges = cartline.ChargeLines?.filter((chargeline) => !chargeline.IsShipping);\r\n\r\n return otherCharges?.map((otherCharge, index) => {\r\n const itemIndex = index;\r\n return otherCharge.CalculatedAmount ? (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n ) : '';\r\n }) ?? undefined;\r\n }\r\n};\r\n\r\n/**\r\n * Render cartline component.\r\n * @param props - The cart line props.\r\n * @returns JSX element.\r\n */\r\nconst CartLine: React.FC = (props: ICartLineProps) => {\r\n const { isSalesLine, productUrl, resources } = props;\r\n const { product, cartLine } = props.data;\r\n\r\n const destructDimensionStrings = {\r\n sizeString: resources.sizeString,\r\n colorString: resources.colorString,\r\n styleString: resources.styleString,\r\n configString: resources.configString,\r\n amountString: resources.amountString\r\n };\r\n\r\n const fallbackImageUrl = product && getFallbackImageUrl(product.ItemId, props.context.actionContext.requestContext.apiSettings);\r\n const productDimensions = product && cartLineItemFunctions.renderProductDimensions(product, destructDimensionStrings);\r\n const renderProductUnitPrice = cartLineItemFunctions.renderProductUnitPrice(props);\r\n const imageSettings = props.imageSettings;\r\n if (imageSettings) {\r\n imageSettings.cropFocalRegion = true;\r\n }\r\n const renderDiscountLines = cartLineItemFunctions.renderDiscountLines(props);\r\n const renderInventoryLabel = cartLineItemFunctions.renderInventoryLabel(props);\r\n const renderShippingLabel = cartLineItemFunctions.renderShippingLabel(props);\r\n const renderOtherCharges = cartLineItemFunctions.renderOtherCharges(props);\r\n const payLoad = getPayloadObject('click', props.telemetryContent!, '', product?.RecordId.toString());\r\n const productAttribute = getTelemetryAttributes(props.telemetryContent!, payLoad);\r\n const productName = product?.Name ?? cartLine.Description;\r\n const imgeClassName = props.data.cartLine.IsInvoiceLine ? 'msc-cart-line__invoice-image' : 'msc-cart-line__product-image';\r\n const cartLineContentClassName = props.data.cartLine.IsInvoiceLine ? 'msc-cart-line__invoice-content' : 'msc-cart-line__content';\r\n\r\n /**\r\n * Render other charges.\r\n * @param newValue - The cart line props.\r\n * @returns Boolean.\r\n */\r\n const onChange = (newValue: number): boolean => {\r\n if (props.quantityOnChange) {\r\n return props.quantityOnChange(props.data.cartLine, newValue);\r\n }\r\n return true;\r\n };\r\n\r\n /**\r\n * Generate error message.\r\n * @returns JSX element.\r\n */\r\n const generateErrorMessage = (): JSX.Element | null => {\r\n if (props.errorMessage) {\r\n return (\r\n
\r\n \r\n \r\n {props.errorMessage}\r\n \r\n
\r\n );\r\n }\r\n\r\n return null;\r\n };\r\n\r\n /**\r\n * Render Saving component.\r\n * @returns JSX element.\r\n */\r\n const renderSaving = (): JSX.Element | null => {\r\n\r\n if (!props.data.cartLine.DiscountAmount) {\r\n return null;\r\n }\r\n const discountAmountZero: number = 0;\r\n\r\n if (props.data.cartLine.DiscountAmount > discountAmountZero) {\r\n return (\r\n <>\r\n \r\n {`${props.resources.discountStringText || 'Discount'}`}\r\n \r\n \r\n \r\n );\r\n }\r\n return null;\r\n };\r\n\r\n /**\r\n * Gets the react node for product unit of measure display.\r\n * @returns The node representing markup for unit of measure component.\r\n */\r\n const renderUnitOfMeasure = () => {\r\n\r\n if (props.data.cartLine.IsInvoiceLine) {\r\n return null;\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -- Do not need type check for appsettings\r\n if (!props.context.app.config.unitOfMeasureDisplayType || props.context.app.config.unitOfMeasureDisplayType === 'none') {\r\n return undefined;\r\n }\r\n\r\n if (!product || !product.DefaultUnitOfMeasure) {\r\n return undefined;\r\n }\r\n\r\n return (\r\n
\r\n \r\n {product.DefaultUnitOfMeasure}\r\n \r\n
\r\n );\r\n };\r\n\r\n /**\r\n * Generate quantity and price component.\r\n * @returns JSX element.\r\n */\r\n const generateQuantityAndPrice = (): JSX.Element[] | null => {\r\n const nodes = [];\r\n const defaultMaxQuantity: number = 10;\r\n const singleQuantity: number = 1;\r\n const unitOfMeasure = renderUnitOfMeasure();\r\n\r\n // No quantity selector for invoice line\r\n if (!props.data.cartLine.IsInvoiceLine) {\r\n if (props.data.product && props.isQuantityEditable) {\r\n nodes.push(\r\n
\r\n
\r\n {resources.quantityDisplayString}\r\n
\r\n\r\n {generateErrorMessage()}\r\n\r\n \r\n {unitOfMeasure}\r\n
\r\n );\r\n } else {\r\n nodes.push(\r\n
\r\n {unitOfMeasure}\r\n \r\n\r\n {generateErrorMessage()}\r\n\r\n \r\n {props.data.cartLine.Quantity}\r\n \r\n
\r\n );\r\n }\r\n }\r\n\r\n nodes.push(\r\n
\r\n \r\n {\r\n renderSaving()\r\n }\r\n {props.isOutOfStock ? renderInventoryLabel : null}\r\n
\r\n );\r\n\r\n return nodes;\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n {productName}\r\n \r\n {ArrayExtensions.hasElements(productDimensions) ?
\r\n {productDimensions}\r\n
: ''}\r\n
\r\n \r\n {renderUnitOfMeasure()}\r\n
\r\n {renderProductUnitPrice}\r\n {renderInventoryLabel}\r\n {renderDiscountLines}\r\n {props.showShippingChargesForLineItems &&
\r\n {renderShippingLabel}\r\n
}\r\n {renderOtherCharges}\r\n
\r\n {\r\n generateQuantityAndPrice()\r\n }\r\n {\r\n props.data.cartLine.IsInvoiceLine && props.data.cartState && props.resources.priceEditorResources && \r\n }\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default CartLine;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { IProductsDimensionsAvailabilities } from '@msdyn365-commerce/commerce-entities';\r\nimport { IPriceComponentResources, ISwatchItem, PriceComponent, ProductComponentSwatchComponent, RatingComponent } from '@msdyn365-commerce/components';\r\nimport { IComponent, IComponentProps, ICoreContext, IGridSettings, IImageData, IImageSettings, Image, msdyn365Commerce } from '@msdyn365-commerce/core';\r\nimport { AttributeSwatch, AttributeValue, ProductDimension, ProductPrice, ProductSearchResult } from '@msdyn365-commerce/retail-proxy';\r\nimport {\r\n ArrayExtensions, convertDimensionTypeToProductDimensionType, Dictionary, DimensionTypes, generateImageUrl,\r\n getProductPageUrlSync, IDimensionsApp, StringExtensions\r\n} from '@msdyn365-commerce-modules/retail-actions';\r\nimport { format, getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\r\nimport React, { useState } from 'react';\r\n\r\nexport interface IProductComponentProps extends IComponentProps<{ product?: ProductSearchResult }> {\r\n className?: string;\r\n imageSettings?: IImageSettings;\r\n savingsText?: string;\r\n freePriceText?: string;\r\n originalPriceText?: string;\r\n currentPriceText?: string;\r\n ratingAriaLabel?: string;\r\n ratingCountAriaLabel?: string;\r\n allowBack?: boolean;\r\n telemetryContent?: ITelemetryContent;\r\n quickViewButton?: React.ReactNode;\r\n isEnabledProductDescription?: boolean;\r\n isPriceMinMaxEnabled?: boolean;\r\n priceResources?: IPriceComponentResources;\r\n inventoryLabel?: string;\r\n dimensionAvailabilities?: IProductsDimensionsAvailabilities[];\r\n}\r\n\r\nexport interface IProductComponent extends IComponent { }\r\n\r\nconst PriceComponentActions = {};\r\n\r\n/**\r\n * Gets the product page url from the default swatch selected.\r\n * @param productData - Product card to be rendered.\r\n * @returns The default color swatch selected if any.\r\n */\r\nfunction getDefaultColorSwatchSelected(productData?: ProductSearchResult): AttributeSwatch | null {\r\n if (!productData || !productData.AttributeValues) {\r\n return null;\r\n }\r\n\r\n const colorAttribute = productData.AttributeValues.find(attributeValue => attributeValue.KeyName?.toLocaleLowerCase() === DimensionTypes.color);\r\n if (!colorAttribute) {\r\n return null;\r\n }\r\n\r\n const defaultSwatch = colorAttribute.Swatches?.find(item => item.IsDefault === true) ?? colorAttribute.Swatches?.[0];\r\n return defaultSwatch ?? null;\r\n}\r\n\r\n/**\r\n * Gets the product image from the default swatch selected.\r\n * @param coreContext - Context of the module using the component.\r\n * @param productData - Product card to be rendered.\r\n * @returns The product card image url.\r\n */\r\nfunction getProductImageUrlFromDefaultColorSwatch(coreContext: ICoreContext, productData?: ProductSearchResult): string | undefined {\r\n const siteContext = coreContext as ICoreContext;\r\n const dimensionToPreSelectInProductCard = siteContext.app.config.dimensionToPreSelectInProductCard;\r\n if (dimensionToPreSelectInProductCard === DimensionTypes.none) {\r\n return productData?.PrimaryImageUrl;\r\n }\r\n const defaultSwatch = getDefaultColorSwatchSelected(productData);\r\n return defaultSwatch && ArrayExtensions.hasElements(defaultSwatch.ProductImageUrls) ? generateImageUrl(\r\n defaultSwatch.ProductImageUrls[0], coreContext.request.apiSettings) : productData?.PrimaryImageUrl;\r\n}\r\n\r\n/**\r\n * Updates the product url link to product details page.\r\n * @param productDetailsPageUrl - Product page url.\r\n * @param coreContext - Context of the module using the component.\r\n * @param queryString - Querystring to be added to the URL.\r\n * @returns The update product page url.\r\n */\r\nfunction updateProductUrl(productDetailsPageUrl: string, coreContext: ICoreContext, queryString: string): string {\r\n const sourceUrl = new URL(productDetailsPageUrl, coreContext.request.apiSettings.baseUrl);\r\n if (sourceUrl.search) {\r\n sourceUrl.search += `&${queryString}`;\r\n } else {\r\n sourceUrl.search += queryString;\r\n }\r\n\r\n const updatedUrl = new URL(sourceUrl.href);\r\n return updatedUrl.pathname + sourceUrl.search;\r\n}\r\n\r\n/**\r\n * Gets the react node for product unit of measure display.\r\n * @param unitOfMeasure - DefaultUnitOfMeasure property from product.\r\n * @returns The node representing markup for unit of measure component.\r\n */\r\nfunction renderProductUnitOfMeasure(unitOfMeasure?: string): JSX.Element | null {\r\n if (!unitOfMeasure) {\r\n return null;\r\n }\r\n return (\r\n
\r\n \r\n {unitOfMeasure}\r\n \r\n
\r\n );\r\n}\r\n\r\n/**\r\n * Gets the react node for product availability.\r\n * @param inventoryAvailabilityLabel - The product information.\r\n * @returns The node representing markup for product availability.\r\n */\r\nfunction renderProductAvailability(inventoryAvailabilityLabel: string | undefined): JSX.Element | null {\r\n if (!inventoryAvailabilityLabel || inventoryAvailabilityLabel === '') {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n \r\n {inventoryAvailabilityLabel}\r\n \r\n
\r\n );\r\n}\r\n\r\n/**\r\n * Gets the product page url from the default swatch selected.\r\n * @param coreContext - Context of the module using the component.\r\n * @param productUrl - Product page url for the product card.\r\n * @param productData - Product card to be rendered.\r\n * @returns The product card image url.\r\n */\r\nfunction getProductPageUrlFromDefaultSwatch(coreContext: ICoreContext, productUrl: string, productData?: ProductSearchResult): string | undefined {\r\n const siteContext = coreContext as ICoreContext;\r\n const dimensionToPreSelectInProductCard = siteContext.app.config.dimensionToPreSelectInProductCard;\r\n if (dimensionToPreSelectInProductCard === DimensionTypes.none) {\r\n return productUrl;\r\n }\r\n\r\n const defaultSwatch = getDefaultColorSwatchSelected(productData);\r\n if (!defaultSwatch || !defaultSwatch.SwatchValue) {\r\n return productUrl;\r\n }\r\n\r\n const queryString = `color=${defaultSwatch.SwatchValue}`;\r\n return updateProductUrl(productUrl, coreContext, queryString);\r\n}\r\n\r\nconst ProductCard: React.FC = ({\r\n data,\r\n context,\r\n imageSettings,\r\n savingsText,\r\n freePriceText,\r\n originalPriceText,\r\n currentPriceText,\r\n ratingAriaLabel,\r\n ratingCountAriaLabel,\r\n allowBack,\r\n typeName,\r\n id,\r\n telemetryContent,\r\n quickViewButton,\r\n isEnabledProductDescription,\r\n isPriceMinMaxEnabled,\r\n priceResources,\r\n inventoryLabel,\r\n dimensionAvailabilities\r\n}) => {\r\n const product = data.product;\r\n\r\n let productUrl = getProductPageUrlSync(product?.Name ?? '', product?.RecordId ?? Number.MIN_VALUE, context.actionContext, undefined);\r\n if (allowBack) {\r\n productUrl = updateProductUrl(productUrl, context, 'back=true');\r\n }\r\n const productImageUrlFromSwatch = getProductImageUrlFromDefaultColorSwatch(context, product) ?? product?.PrimaryImageUrl;\r\n const productPageUrlFromSwatch = getProductPageUrlFromDefaultSwatch(context, productUrl, product) ?? productUrl;\r\n const [productPageUrl = productPageUrlFromSwatch, setProductPageUrl] = useState();\r\n const [productImageUrl = productImageUrlFromSwatch, setProductImageUrl] = useState();\r\n const [selectedSwatchItems] = useState(new Dictionary());\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-member-access -- app context is generic\r\n const enableStockCheck = context.app.config.enableStockCheck;\r\n\r\n /**\r\n * Updates the product page and Image url based on swatch selected.\r\n * @param coreContext - Context of the caller.\r\n * @param swatchItem - Dimension swatch selected.\r\n */\r\n const updatePageAndImageUrl = React.useCallback((coreContext: ICoreContext, swatchItem: ISwatchItem) => {\r\n const dimensionType = swatchItem.dimensionType;\r\n selectedSwatchItems.setValue(dimensionType, swatchItem);\r\n if (StringExtensions.isNullOrWhitespace(swatchItem.value)) {\r\n return;\r\n }\r\n const queryString = `${dimensionType}=${swatchItem.value}`;\r\n let productPageUrlWithSwatch = '';\r\n if (productPageUrl.includes(dimensionType)) {\r\n const newUrl = new URL(productPageUrl, coreContext.request.apiSettings.baseUrl);\r\n newUrl.searchParams.delete(dimensionType);\r\n productPageUrlWithSwatch = updateProductUrl(newUrl.toString(), context, queryString);\r\n } else {\r\n productPageUrlWithSwatch = updateProductUrl(productPageUrl, context, queryString);\r\n }\r\n setProductPageUrl(productPageUrlWithSwatch);\r\n if (dimensionType === DimensionTypes.color) {\r\n const swatchProductImageUrl = ArrayExtensions.hasElements(swatchItem.productImageUrls) ? swatchItem.productImageUrls[0] : undefined;\r\n const newImageUrl = generateImageUrl(swatchProductImageUrl, coreContext.request.apiSettings);\r\n setProductImageUrl(newImageUrl);\r\n }\r\n }, [selectedSwatchItems, context, productPageUrl]);\r\n\r\n if (!product) {\r\n return null;\r\n }\r\n\r\n /**\r\n * Checks if rendering the particular dimensions is allowed for product card.\r\n * @param dimensionType - Dimension to be displayed.\r\n * @returns Updates the state with new product page url.\r\n */\r\n function shouldDisplayDimension(dimensionType: string): boolean {\r\n const dimensionsContext = context as ICoreContext;\r\n const dimensionsToDisplayOnProductCard = dimensionsContext.app.config.dimensionsInProductCard;\r\n return ArrayExtensions.hasElements(dimensionsToDisplayOnProductCard) &&\r\n !dimensionsToDisplayOnProductCard.includes(DimensionTypes.none) &&\r\n dimensionsToDisplayOnProductCard.includes(dimensionType.toLocaleLowerCase() as DimensionTypes);\r\n }\r\n\r\n /**\r\n * Gets the react node for product dimension as swatch.\r\n * @param attributeValues - Attribute value property from product.\r\n * @returns The node representing markup for unit of measure component.\r\n */\r\n function renderProductDimensions(attributeValues?: AttributeValue[]): JSX.Element | null {\r\n if (!attributeValues) {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n {\r\n attributeValues.map((item: AttributeValue) => {\r\n const dimensionTypeValue = item.KeyName?.toLocaleLowerCase() ?? '';\r\n if (!shouldDisplayDimension(dimensionTypeValue)) {\r\n return null;\r\n }\r\n\r\n const siteContext = context as ICoreContext;\r\n const dimensionToPreSelectInProductCard = siteContext.app.config.dimensionToPreSelectInProductCard;\r\n const dimensionType = dimensionTypeValue as DimensionTypes;\r\n const swatches = item.Swatches?.map(swatchItem => {\r\n return {\r\n itemId: `${item.RecordId ?? ''}-${dimensionTypeValue}-${swatchItem.SwatchValue ?? ''}`,\r\n value: swatchItem.SwatchValue ?? '',\r\n dimensionType,\r\n colorHexCode: swatchItem.SwatchColorHexCode,\r\n imageUrl: swatchItem.SwatchImageUrl,\r\n productImageUrls: swatchItem.ProductImageUrls,\r\n isDefault: swatchItem.IsDefault,\r\n isDisabled: enableStockCheck && dimensionAvailabilities?.find(\r\n dimensionAvailability => dimensionAvailability.value === (swatchItem.SwatchValue ?? ''))?.isDisabled\r\n };\r\n }) ?? [];\r\n if (dimensionToPreSelectInProductCard !== DimensionTypes.none && ArrayExtensions.hasElements(swatches) &&\r\n !swatches.some(swatch => swatch.isDefault) && dimensionType === DimensionTypes.color) {\r\n swatches[0].isDefault = true;\r\n }\r\n return (\r\n \r\n );\r\n })\r\n }\r\n
\r\n );\r\n }\r\n\r\n function renderQuickView(quickview: React.ReactNode, item?: number): JSX.Element | undefined {\r\n if (quickview === null) {\r\n return undefined;\r\n }\r\n const selectedDimensions: ProductDimension[] = selectedSwatchItems.getValues().map(swatches => {\r\n return {\r\n DimensionTypeValue: convertDimensionTypeToProductDimensionType(swatches.dimensionType),\r\n DimensionValue: {\r\n RecordId: 0,\r\n Value: swatches.value\r\n }\r\n };\r\n });\r\n return React.cloneElement(quickview as React.ReactElement, { selectedProductId: item, selectedDimensions });\r\n }\r\n\r\n // Construct telemetry attribute to render\r\n const payLoad = getPayloadObject('click', telemetryContent!, '', product.RecordId.toString());\r\n\r\n const attribute = getTelemetryAttributes(telemetryContent!, payLoad);\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -- -- Do not need type check for appsettings\r\n const isUnitOfMeasureEnabled = context.app.config && context.app.config.unitOfMeasureDisplayType === 'buyboxAndBrowse';\r\n\r\n return (\r\n <>\r\n {isEnabledProductDescription ? \r\n
\r\n
\r\n {renderProductPlacementImage(imageSettings, context.request.gridSettings, productImageUrl,\r\n product.PrimaryImageUrl, product.Name, context)}\r\n
\r\n
\r\n
\r\n {product.Name}\r\n
\r\n {renderPrice(context, typeName, id, product.BasePrice, product.Price, savingsText, freePriceText, originalPriceText, currentPriceText, isPriceMinMaxEnabled, priceResources)}\r\n {isUnitOfMeasureEnabled && renderProductUnitOfMeasure(product.DefaultUnitOfMeasure)}\r\n {renderDescription(product.Description)}\r\n
\r\n
\r\n : \r\n
\r\n {renderProductPlacementImage(imageSettings, context.request.gridSettings, productImageUrl, product.PrimaryImageUrl, product.Name, context)}\r\n
\r\n
\r\n
\r\n {product.Name}\r\n
\r\n {renderPrice(context, typeName, id, product.BasePrice, product.Price, savingsText, freePriceText, originalPriceText, currentPriceText)}\r\n {isUnitOfMeasureEnabled && renderProductUnitOfMeasure(product.DefaultUnitOfMeasure)}\r\n
\r\n }\r\n {renderProductDimensions(product.AttributeValues)}\r\n {!context.app.config.hideRating && renderRating(context, typeName, id, product.AverageRating, product.TotalRatings, ratingAriaLabel, ratingCountAriaLabel)}\r\n {renderProductAvailability(inventoryLabel)}\r\n {quickViewButton && renderQuickView(quickViewButton, product.RecordId)}\r\n \r\n );\r\n};\r\n\r\nfunction renderLabel(\r\n name?: string,\r\n price?: string,\r\n rating?: number,\r\n ratingAriaLabelText?: string,\r\n reviewCount?: number,\r\n ratingCountAriaLabelText?: string): string {\r\n const reviewCountArialableText = getReviewAriaLabel(reviewCount, ratingCountAriaLabelText ?? '');\r\n return (\r\n `${name ?? ''} ${price ?? ''} ${getRatingAriaLabel(rating, ratingAriaLabelText)}${reviewCountArialableText ? ` ${reviewCountArialableText}` : ''}`\r\n );\r\n}\r\n\r\nfunction renderDescription(description?: string): JSX.Element | null {\r\n return (

\r\n {description}\r\n

);\r\n}\r\n\r\nfunction getRatingAriaLabel(rating?: number, ratingAriaLabel?: string): string {\r\n if (rating && ratingAriaLabel) {\r\n const roundedRating = rating.toFixed(2);\r\n return format(ratingAriaLabel || '', roundedRating, '5');\r\n }\r\n return '';\r\n}\r\n\r\nfunction getReviewAriaLabel(reviewCount?: number, ratingCountAriaLabelText?: string): string {\r\n if (reviewCount && ratingCountAriaLabelText) {\r\n return format(ratingCountAriaLabelText || '', reviewCount);\r\n }\r\n return '';\r\n}\r\n\r\nfunction renderRating(coreContext: ICoreContext, moduleTypeName: string, moduleId: string, avgRating?: number,\r\n totalRatings?: number, ariaLabel?: string, ratingCountAriaLabel?: string): JSX.Element | null {\r\n if (!avgRating) {\r\n return null;\r\n }\r\n\r\n const numberRatings = totalRatings?.toString() || undefined;\r\n const ratingAriaLabelText = getRatingAriaLabel(avgRating, ariaLabel);\r\n const ratingCountAriaLabelText = getReviewAriaLabel(Number(numberRatings), ratingCountAriaLabel);\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nfunction renderPrice(context: ICoreContext, typeName: string, id: string, basePrice?: number, adjustedPrice?: number, savingsText?: string, freePriceText?: string, originalPriceText?: string, currentPriceText?: string, isPriceMinMaxEnabled?: boolean, priceResources?: IPriceComponentResources): JSX.Element | null {\r\n const price: ProductPrice = {\r\n BasePrice: basePrice,\r\n AdjustedPrice: adjustedPrice,\r\n CustomerContextualPrice: adjustedPrice\r\n };\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nfunction renderProductPlacementImage(imageSettings?: IImageSettings, gridSettings?: IGridSettings,\r\n imageUrl?: string, fallbackImageUrl?: string, altText?: string,\r\n context?: ICoreContext): JSX.Element | null {\r\n if (!imageUrl || !gridSettings || !imageSettings) {\r\n return null;\r\n }\r\n const img: IImageData = {\r\n src: imageUrl,\r\n altText: altText ? altText : '',\r\n fallBackSrc: fallbackImageUrl\r\n };\r\n const imageProps = {\r\n gridSettings,\r\n imageSettings\r\n };\r\n imageProps.imageSettings.cropFocalRegion = true;\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport const ProductComponent: React.FunctionComponent = msdyn365Commerce.createComponentOverride(\r\n 'Product',\r\n { component: ProductCard, ...PriceComponentActions }\r\n);\r\n\r\nexport default ProductComponent;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport MsDyn365, { getUrlSync } from '@msdyn365-commerce/core';\r\nimport { IHeaderViewProps, Logo } from '@msdyn365-commerce-modules/header';\r\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\nimport { IHeaderProps } from '../definition-extensions/header.ext.props.autogenerated';\r\nimport { getB2CCartServiceAsync } from '../../../dataActions/DataActionExtension.g';\r\n\r\n/**\r\n * GridSizes.\r\n */\r\nexport type GridSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\r\n\r\n/**\r\n *\r\n * HeaderView component.\r\n * @extends {React.PureComponent}\r\n */\r\nexport class HeaderView extends React.PureComponent, any> {\r\n private readonly menuNode: React.RefObject;\r\n private signInEvent = new Event('signInEvent', { bubbles: true, cancelable: true, composed: false });\r\n public constructor(props: IHeaderViewProps & IHeaderProps<{}>) {\r\n super(props);\r\n this.menuNode = React.createRef();\r\n this.state = {\r\n cartCount: 0\r\n };\r\n }\r\n\r\n public componentDidMount(): void {\r\n if (this.props.config.useStickyHeader) {\r\n // Set header update methods to trigger on scroll\r\n if (MsDyn365.isBrowser) {\r\n window.addEventListener('scroll', () => {\r\n this._configureStickyHeader();\r\n });\r\n }\r\n this._configureStickyHeader();\r\n }\r\n if (this.props.data.accountInformation.result && !this.props.data.accountInformation.result.IsB2b) {\r\n void this.getB2cCartCount();\r\n }\r\n window.addEventListener('addEvent', event => {\r\n this.setState({ cartCount: this.state.cartCount + 1 });\r\n });\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Cannot change the prop names as props are from business logic.\r\n const {\r\n HeaderTag,\r\n HeaderContainer,\r\n HeaderTopBarContainer,\r\n Divider,\r\n MobileMenuContainer,\r\n MobileMenuBodyContainer,\r\n MobileMenuLinksContainer\r\n } = this.props;\r\n\r\n const isAuth = this.props.data.accountInformation.result;\r\n const isB2B = this.props.data.accountInformation.result && this.props.data.accountInformation.result.IsB2b;\r\n const cartLink = getUrlSync('cart', this.props.context.actionContext);\r\n console.log('Cart Link Get Url Sync', cartLink);\r\n\r\n return (\r\n \r\n \r\n \r\n {/*
*/}\r\n {/* {this._renderReactFragment(this.props.menuBar)}*/}\r\n {/*
*/}\r\n
{this.props.navIcon}
\r\n {this._renderReactFragment(this.props.search)}\r\n {this._renderDesktopLogo()}\r\n {this._renderMobileLogo()}\r\n\r\n {this.props.preferredStore}\r\n {this._renderAccountBlock(this.props)}\r\n \r\n {/*{this.props.cartIcon}*/}\r\n {this.props.wishListIconDesktop}\r\n {isAuth && !isB2B && (\r\n \r\n \r\n {/*My Orders*/}\r\n ({this.state.cartCount})\r\n \r\n \r\n )}\r\n {isAuth && isB2B && (\r\n \r\n \r\n {this.props.cartIcon}\r\n {/*My Orders*/}\r\n \r\n \r\n )}\r\n
\r\n {this._renderReactFragment(this.props.menuBar)}\r\n
\r\n {this._renderReactFragment(this.props.siteOptions)}\r\n
\r\n \r\n \r\n {this.props.MobileMenuHeader}\r\n {this._renderReactFragment(this.props.menuBar)}\r\n \r\n {this.props.accountLinks ? this.props.accountLinks.map(link => link) : false}\r\n {this.props.siteOptions}\r\n {this.props.wishListIconMobile}\r\n {this.props.signInLink}\r\n {this.props.signOutLink}\r\n {isAuth && !isB2B && (\r\n \r\n ({this.state.cartCount})\r\n \r\n )}\r\n {isAuth && isB2B && (\r\n \r\n {this.state.cartCount}\r\n \r\n )}\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n /**\r\n * Function to update header.\r\n */\r\n private readonly _configureStickyHeader = (): void => {\r\n // Get heights of cookie and promotion banners\r\n const defaultValue = 0;\r\n const headerAlertsContainer: HTMLElement | null = document.querySelector('.ms-promo-banner');\r\n const bannerHeights = headerAlertsContainer ? headerAlertsContainer.offsetHeight : defaultValue;\r\n\r\n // Triggers opacity change of header\r\n const headerElement = document.querySelector('header .default-container');\r\n if (headerElement) {\r\n if (MsDyn365.isBrowser && document.documentElement.scrollTop > defaultValue) {\r\n headerElement.classList.add('lock-opaque');\r\n headerElement.classList.add('fixed');\r\n } else {\r\n headerElement.classList.remove('lock-opaque');\r\n headerElement.classList.remove('fixed');\r\n }\r\n }\r\n\r\n // Update sticky header position and opacity\r\n const stickyHeader: HTMLElement | null = document.querySelector('.desktop-navicon-container');\r\n const headerLogo: HTMLElement | null = document.querySelector('.ms-header__logo');\r\n\r\n if (stickyHeader && headerLogo) {\r\n // Fix center sticky header\r\n const navStickyPos = headerLogo.offsetHeight + bannerHeights;\r\n if (MsDyn365.isBrowser && document.documentElement.scrollTop > navStickyPos) {\r\n stickyHeader.classList.add('fixed');\r\n } else {\r\n stickyHeader.classList.remove('fixed');\r\n }\r\n }\r\n };\r\n\r\n private readonly getB2cCartCount = async () => {\r\n const cartResult: any = await getB2CCartServiceAsync({ callerContext: this.props.context.actionContext, queryResultSettings: {} });\r\n if (cartResult.B2CCart && cartResult.B2CCart.length > 0) {\r\n this.setState({ cartCount: cartResult.B2CCart.length });\r\n }\r\n };\r\n\r\n private _renderMobileLogo(): JSX.Element | null {\r\n const { config, context, typeName } = this.props;\r\n const newImage: any = { ...config.mobileLogoImage };\r\n newImage.src = config.logoSvgUrl;\r\n return (\r\n \r\n );\r\n }\r\n private _renderDesktopLogo(): JSX.Element | null {\r\n const { config, context, typeName } = this.props;\r\n const newImage = { ...config.logoImage };\r\n newImage.src = config.logoSvgUrl;\r\n return (\r\n \r\n );\r\n }\r\n\r\n /**\r\n * Function to render account block.\r\n * @param props - IHeaderViewProps.\r\n * @returns Returns JSX.Element | null.\r\n */\r\n private readonly _renderAccountBlock = (props: IHeaderViewProps): JSX.Element | null => {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Cannot change the prop names as props are from business logic.\r\n const {\r\n AccountInfoDropdownParentContainer,\r\n AccountInfoDropdownPopoverConentContainer,\r\n accountInfoDropdownButton,\r\n signOutLink,\r\n signInLink,\r\n accountLinks\r\n } = props;\r\n if (AccountInfoDropdownParentContainer) {\r\n const accountClassName = classnames(AccountInfoDropdownParentContainer.className, 'account-desktop');\r\n if (AccountInfoDropdownPopoverConentContainer) {\r\n return (\r\n \r\n {accountInfoDropdownButton}\r\n \r\n {accountLinks ? accountLinks.map((link: React.ReactNode) => link) : false}\r\n {signOutLink}\r\n \r\n \r\n );\r\n } else if (signInLink) {\r\n return (\r\n \r\n {signInLink}\r\n \r\n );\r\n }\r\n }\r\n return null;\r\n };\r\n private readonly signInClicked = (event: any) => {\r\n console.log('signInClicked');\r\n if (window['bootstrapMetrixModule']) {\r\n event.preventDefault();\r\n }\r\n window.dispatchEvent(this.signInEvent);\r\n };\r\n /**\r\n * Function to render react fragment.\r\n * @param items - React nodes.\r\n * @returns Returns JSX.Element | null.\r\n */\r\n private readonly _renderReactFragment = (items: React.ReactNode[]): JSX.Element | null => {\r\n return (\r\n <>\r\n {ArrayExtensions.hasElements(items)\r\n ? items.map((slot: React.ReactNode) => {\r\n return <>{slot};\r\n })\r\n : null}\r\n \r\n );\r\n };\r\n}\r\n\r\nexport default HeaderView;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { IPriceComponentResources } from '@msdyn365-commerce/components';\r\nimport { ProductSearchResult } from '@msdyn365-commerce/retail-proxy';\r\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport {\r\n ICategoryHierarchyViewProps,\r\n IRefineMenuViewProps,\r\n ISearchResultContainerViewProps,\r\n ISearchResultModalViewProps,\r\n ISortByViewProps,\r\n ITitleViewProps\r\n} from '@msdyn365-commerce-modules/search-result-container';\r\nimport { Button, getTelemetryObject, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport React, { useState } from 'react';\r\n\r\nimport { ISearchResultContainerProps } from '../definition-extensions/search-result-container.ext.props.autogenerated';\r\nimport { ProductComponent } from './components/product.component';\r\n\r\n/**\r\n * DescriptionInterval.\r\n */\r\nenum DescriptionInterval {\r\n productDescriptionInterval = 14,\r\n productDescriptionIntervalRemainder0 = 0,\r\n productDescriptionIntervalRemainder9 = 9\r\n}\r\n\r\n/**\r\n * Render Clear button for mobile viewport.\r\n * @param props - The view props.\r\n * @returns The JSX Element.\r\n */\r\nconst renderProductCards = (props: ISearchResultContainerViewProps & ISearchResultContainerProps<{}>): JSX.Element | null => {\r\n return (\r\n \r\n {props.errorMessage}\r\n {props.products}\r\n \r\n );\r\n\r\n};\r\n\r\n/**\r\n * Returns the product inventory label.\r\n * @param channelInventoryConfigurationId - The channel configuration Id.\r\n * @param product - The product.\r\n * @returns The inventory label.\r\n */\r\nfunction getInventoryLabel(channelInventoryConfigurationId: number | undefined, product: ProductSearchResult): string | undefined {\r\n if (!channelInventoryConfigurationId || !ArrayExtensions.hasElements(product.AttributeValues)) {\r\n return undefined;\r\n }\r\n const inventoryAttribute = product.AttributeValues.find(attribute => attribute.RecordId === channelInventoryConfigurationId);\r\n if (inventoryAttribute) {\r\n return inventoryAttribute.TextValue;\r\n }\r\n return undefined;\r\n}\r\n\r\n/**\r\n * Render Clear button for mobile viewport.\r\n * @param props - The view props.\r\n * @param product - The product item data.\r\n * @param index - The index of each product item.\r\n * @param isEnabledProductDescription - The flag for showing Product desription tile.\r\n * @returns The JSX Element.\r\n */\r\nconst renderProductCardsDescription = (\r\n props: ISearchResultContainerViewProps & ISearchResultContainerProps<{}>,\r\n product: ProductSearchResult,\r\n index: number,\r\n isEnabledProductDescription?: boolean): JSX.Element | null => {\r\n const { config, context, resources } = props;\r\n const telemetryContent = getTelemetryObject(props.context.request.telemetryPageName!, props.friendlyName, props.telemetry);\r\n const breadCrumbType = props.context.app.config.breadcrumbType;\r\n const isAllowBack = props.config.allowBackNavigation && (breadCrumbType === 'back' || breadCrumbType === 'categoryAndBack');\r\n const classname = isEnabledProductDescription ? 'ms-product-search-result__item product__description' : 'ms-product-search-result__item';\r\n const quickviewslot = ArrayExtensions.hasElements(props.slots.quickview) ? props.slots.quickview[0] : undefined;\r\n const channelInventoryConfigurationId = props.data.products.result?.channelInventoryConfigurationId;\r\n const isPriceMinMaxFeatureState = props.data.featureState.result?.find(\r\n featureState => featureState.Name === 'Dynamics.AX.Application.RetailSearchPriceRangeFeature');\r\n const priceResources: IPriceComponentResources = {\r\n priceRangeSeparator: resources.priceRangeSeparator\r\n };\r\n return (\r\n
  • \r\n \r\n
  • \r\n );\r\n};\r\n\r\n/**\r\n * Render Clear button for mobile viewport.\r\n * @param props - The view props.\r\n * @returns The JSX Element.\r\n */\r\nconst renderProducts = (props: ISearchResultContainerViewProps & ISearchResultContainerProps<{}>): JSX.Element | null => {\r\n const products = props.data.listPageState.result?.activeProducts;\r\n if (!products || !ArrayExtensions.hasElements(products)) {\r\n return null;\r\n }\r\n const productDescriptionInterval: number = DescriptionInterval.productDescriptionInterval;\r\n const productDescriptionIntervalRemainder0: number = DescriptionInterval.productDescriptionIntervalRemainder0;\r\n const productDescriptionIntervalRemainder9: number = DescriptionInterval.productDescriptionIntervalRemainder9;\r\n return (\r\n \r\n {props.errorMessage}\r\n
      \r\n {products.map((product: ProductSearchResult, index: number) => (\r\n (index % productDescriptionInterval === productDescriptionIntervalRemainder0) ||\r\n (index % productDescriptionInterval === productDescriptionIntervalRemainder9) ? renderProductCardsDescription(props, product,\r\n index, true) : renderProductCardsDescription(props, product, index, false)\r\n ))}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\n/**\r\n * Render Title Count.\r\n * @param props - The title view props.\r\n * @returns The JSX Element.\r\n */\r\nconst renderTitleCount = (props: ITitleViewProps): JSX.Element | null => {\r\n const { title, TitleContainer } = props;\r\n return (\r\n \r\n {title.titleCount}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Render Category Hierarchy.\r\n * @param props - The category hierarchy view props.\r\n * @returns The JSX Element.\r\n */\r\nconst renderCategoryHierarchy = (props: ICategoryHierarchyViewProps): JSX.Element | null => {\r\n const { CategoryHierarchyContainer, categoryHierarchyList, categoryHierarchySeparator } = props;\r\n if (categoryHierarchyList) {\r\n return (\r\n \r\n {categoryHierarchyList.map((category, index) => (\r\n \r\n {category}\r\n {categoryHierarchyList[index + 1] && categoryHierarchySeparator}\r\n \r\n ))}\r\n \r\n );\r\n }\r\n\r\n return null;\r\n};\r\n\r\n/**\r\n * Render the category page items.\r\n * @param props - The view props.\r\n * @returns The search Result container module view.\r\n */\r\nconst SearchResultContainerView: React.FC> = props => {\r\n const { SearchResultContainer, pagination, ProductSectionContainer, choiceSummary, isMobile, modalToggle, searchResultModal, TitleViewProps,\r\n refineMenu, categoryHierarchy, sortByOptions, CategoryNavContainer, RefineAndProductSectionContainer, FeatureSearchContainer,\r\n similarLookProduct, errorMessage, resources } = props;\r\n const [isExpanded, setIsExpanded] = useState(false);\r\n const toggle = () => {\r\n setIsExpanded(!isExpanded);\r\n };\r\n const isRecoSearchPage = props.context.actionContext.requestContext.query?.recommendation;\r\n if (isMobile) {\r\n return (\r\n \r\n {similarLookProduct ? null : \r\n {renderCategoryHierarchy(categoryHierarchy)}\r\n {renderTitle(TitleViewProps)}\r\n {renderTitleCount(TitleViewProps)}\r\n }\r\n {choiceSummary}\r\n \r\n {modalToggle}\r\n \r\n {createSearchResultModal(searchResultModal, refineMenu, sortByOptions, isRecoSearchPage)}\r\n \r\n {similarLookProduct}\r\n \r\n {errorMessage}\r\n {props.config.enableProdutDescription ? renderProducts(props) : renderProductCards(props)}\r\n {pagination}\r\n \r\n );\r\n }\r\n return (\r\n \r\n {similarLookProduct ? null : \r\n {categoryHierarchy && renderCategoryHierarchy(categoryHierarchy)}\r\n {TitleViewProps && renderTitle(TitleViewProps)}\r\n {TitleViewProps && renderTitleCount(TitleViewProps)}\r\n }\r\n \r\n {similarLookProduct}\r\n \r\n \r\n \r\n \r\n \r\n {resources.filterText}\r\n \r\n
    \r\n {choiceSummary}\r\n
    \r\n
    \r\n {sortByOptions && !isRecoSearchPage && renderSort(sortByOptions)}\r\n
    \r\n
    \r\n {refineMenu && isExpanded && renderRefiner(refineMenu)}\r\n
    \r\n \r\n {errorMessage}\r\n {props.config.enableProdutDescription ? renderProducts(props) : renderProductCards(props)}\r\n {pagination}\r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\n/**\r\n * Render Search result Modal.\r\n * @param modalProps - The Search Result Modal view props.\r\n * @param refineMenu - The Refine Menu view props.\r\n * @param sortByDropDown - The Sort by view props.\r\n * @param isRecoSearchPage - The recomandation search page flag.\r\n * @returns The JSX Element.\r\n */\r\nconst createSearchResultModal = (modalProps: ISearchResultModalViewProps, refineMenu: IRefineMenuViewProps, sortByDropDown: ISortByViewProps,\r\n isRecoSearchPage?: string): JSX.Element => {\r\n return React.cloneElement(modalProps.modal, {}, modalProps.modalHeader, createModalBody(modalProps, refineMenu, sortByDropDown,\r\n isRecoSearchPage), modalProps.modalFooter);\r\n};\r\n\r\n/**\r\n * Render Refiner Mobile.\r\n * @param props - The Refine Menu view props.\r\n * @returns The JSX Element.\r\n */\r\nconst renderRefinerMobile = (props: IRefineMenuViewProps): JSX.Element | null => {\r\n const { refiners, RefineMenuContainer, RefinerSectionContainer } = props;\r\n if (refiners) {\r\n return (\r\n \r\n \r\n {refiners.map((submenu, index) => (\r\n \r\n {submenu}\r\n \r\n ))}\r\n \r\n \r\n );\r\n }\r\n return null;\r\n};\r\n\r\n/**\r\n * Render Search result Body.\r\n * @param props - The Search Result Modal view props.\r\n * @param refineMenu - The Refine Menu view props.\r\n * @param sortByDropDown - The Sort by view props.\r\n * @param isRecoSearchPage - The recomandation search page flag.\r\n * @returns The JSX Element.\r\n */\r\nconst createModalBody = (props: ISearchResultModalViewProps, refineMenu: IRefineMenuViewProps,\r\n sortByDropDown: ISortByViewProps, isRecoSearchPage?: string): JSX.Element | null => {\r\n if (sortByDropDown) {\r\n return React.cloneElement(props.modalBody, {}, renderSort(sortByDropDown, isRecoSearchPage), renderRefinerMobile(refineMenu));\r\n }\r\n return null;\r\n};\r\n\r\n/**\r\n * Render Refiner.\r\n * @param props - The Refine Menu view props.\r\n * @returns The JSX Element.\r\n */\r\nconst renderRefiner = (props: IRefineMenuViewProps): JSX.Element | null => {\r\n const { refiners, RefineMenuContainer, RefinerSectionContainer } = props;\r\n if (refiners) {\r\n return (\r\n \r\n \r\n {refiners.map((submenu, index) => (\r\n \r\n {submenu}\r\n \r\n ))}\r\n \r\n \r\n );\r\n }\r\n return null;\r\n};\r\n\r\n/**\r\n * Render sort by drop down.\r\n * @param props - The sort by view props.\r\n * @param isRecoSearchPage - The recomandation search page flag.\r\n * @returns The JSX Element.\r\n */\r\nconst renderSort = (props: ISortByViewProps, isRecoSearchPage?: string): JSX.Element | null => {\r\n const { SortingContainer, sortByDropDown } = props;\r\n if (sortByDropDown && !isRecoSearchPage) {\r\n return (\r\n \r\n {sortByDropDown}\r\n \r\n );\r\n }\r\n return null;\r\n};\r\n\r\n/**\r\n * Render Title.\r\n * @param props - The title view props.\r\n * @returns The JSX Element.\r\n */\r\nconst renderTitle = (props: ITitleViewProps): JSX.Element | null => {\r\n const { title, TitleContainer } = props;\r\n if (title) {\r\n return (\r\n \r\n \r\n {title.titlePrefix}\r\n {title.titleText}\r\n \r\n \r\n );\r\n }\r\n return null;\r\n};\r\n\r\nexport default SearchResultContainerView;\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 { getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { ICarouselData } from './carousel.data';\nimport { ICarouselProps } from './carousel.props.autogenerated';\nimport { ICarouselState } from './carousel.state';\n\nexport interface ICarouselViewProps extends ICarouselProps<{}>, ICarouselState {\n closeAnimation: string;\n carouselContainer: IModuleProps;\n telemetryContent: ITelemetryContent;\n next(): void;\n previous(): void;\n onIndicatorsClickHandler(): void;\n handleDismissCarousel(): void;\n handleOnExited(): void;\n handleOnExiting(): void;\n}\n\n/**\n *\n * CarouselModule component.\n * @extends {React.PureComponent>}\n */\nclass CarouselModule extends React.PureComponent, ICarouselState> {\n private animating: boolean;\n\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: ICarouselProps, state: ICarouselState) {\n super(props);\n this.state = { activeIndex: 0, closeNow: false, dismissCarousel: false };\n this.animating = false;\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public componentDidMount(): void {\n if (this.props.context && this.props.context.request && this.props.context.request.cookies) {\n if (this.props.context.request.cookies.get(`CarouselDismiss_${this.props.id}`) === undefined) {\n this.props.context.request.cookies.set(`CarouselDismiss_${this.props.id}`, 'false');\n this.setState({ dismissCarousel: false });\n }\n }\n }\n\n public render(): JSX.Element | null {\n if (this.state.dismissCarousel) {\n return null;\n }\n\n const { className } = this.props.config;\n\n const viewProps = {\n // Context for telemetry and raw data for C1 to do customization\n // Including computed data, state data and methods\n ...this.props,\n ...this.state,\n telemetryContent: this.telemetryContent,\n carouselContainer: {\n moduleProps: this.props,\n className: classnames('ms-carousel', className)\n },\n closeAnimation: this.state.closeNow ? 'close-now' : '',\n next: this._next,\n previous: this._previous,\n onIndicatorsClickHandler: this._goToIndex,\n handleDismissCarousel: this._handleDismissCarousel,\n handleOnExited: this._onExited,\n handleOnExiting: this._onExiting\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Function implementation to dismiss the Carousel.\n */\n private readonly _handleDismissCarousel = (): void => {\n if (this.props.context && this.props.context.request && this.props.context.request.cookies) {\n this.props.context.request.cookies.set(`CarouselDismiss_${this.props.id}`, 'true');\n this.setState({ dismissCarousel: true });\n }\n };\n\n /**\n * Function implementation to move to next slide.\n */\n private readonly _next = (): void => {\n const { slots } = this.props;\n const nextIndex = this.state.activeIndex === (slots && slots.content && slots.content.length - 1) ? 0 : this.state.activeIndex + 1;\n\n if (this.animating) {\n this.setState({ closeNow: true, activeIndex: nextIndex });\n } else {\n this.setState({ activeIndex: nextIndex });\n }\n };\n\n /**\n * Function implementation to move to previous slide.\n */\n private readonly _previous = (): void => {\n const slots = this.props.slots && this.props.slots.content;\n const nextIndex = this.state.activeIndex === 0 ? (slots ? slots.length - 1 : 0) : this.state.activeIndex - 1;\n\n if (this.animating) {\n this.setState({ closeNow: true, activeIndex: nextIndex });\n } else {\n this.setState({ activeIndex: nextIndex });\n }\n };\n\n private readonly _onExiting = (): void => {\n this.animating = true;\n };\n\n private readonly _onExited = (): void => {\n this.animating = false;\n this.setState({ closeNow: false });\n };\n\n /**\n * Function implementation to move to a given slide.\n * @param newIndex\n */\n private readonly _goToIndex = (newIndex: number): void => {\n if (this.animating) {\n return;\n }\n this.setState({ activeIndex: newIndex });\n };\n}\n\nexport default CarouselModule;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Carousel } from '@msdyn365-commerce/components';\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { ICarouselViewProps } from './carousel';\n\n/**\n * Returns item slots.\n * @returns Array of item slots.\n * @param props -Props.\n */\nconst retrieveItems = (props: ICarouselViewProps): React.ReactNode[] => {\n let items = [];\n items = props.slots && props.slots.content && props.slots.content.length > 0 ? props.slots.content : [];\n return items;\n};\nconst CarouselView: React.FC = props => (\n \n \n \n);\n\nexport default CarouselView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { PriceComponent } from '@msdyn365-commerce/components';\nimport { IComponentProps } from '@msdyn365-commerce/core';\nimport { ICartState } from '@msdyn365-commerce/global-state';\nimport { Coupon } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport {\n Button,\n format,\n getPayloadObject,\n getTelemetryAttributes,\n IPayLoad,\n ITelemetryContent,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IPromoCodeProps extends IComponentProps<{}> {\n cart: ICartState | undefined;\n promoCodeHeadingText: string;\n appliedPromoCodeHeadingText: string;\n removePromoAriaLabelFormat: string;\n promoPlaceholderText: string;\n promoCodeApplyButtonText: string;\n collapseTimeOut: number;\n removePromoText: string;\n invalidPromoCodeErrorText: string;\n failedToAddPromoCodeErrorText: string;\n duplicatePromoCodeErrorText: string;\n failedToRemovePromoCodeErrorText: string;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n promoCodeApplyCallback?(): void;\n}\n\ninterface IPromoCodeState {\n isCollapseOpen: boolean;\n promoCodeInputValue: string;\n error: string;\n canApply: boolean;\n}\n\n/**\n *\n * The PromoCode component renders the promocode section.\n * @extends {React.PureComponent}\n */\nclass PromoCode extends React.Component {\n private readonly payLoad: IPayLoad;\n\n constructor(props: IPromoCodeProps, state: IPromoCodeState) {\n super(props);\n this.payLoad = getPayloadObject('click', this.props.telemetryContent!, TelemetryConstant.ApplyPromoCode);\n this.state = {\n isCollapseOpen: false,\n promoCodeInputValue: '',\n error: '',\n canApply: false\n };\n }\n\n public shouldComponentUpdate(nextProps: IPromoCodeProps, nextState: IPromoCodeState): 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 {\n return (\n
    \n
    {this.props.promoCodeHeadingText}
    \n {this._renderForm(this.props.promoPlaceholderText, this.props.promoCodeApplyButtonText, this.props.cart)}\n

    \n {this.state.error}\n

    \n {this._renderAppliedPromoCode(this.props)}\n
    \n );\n }\n\n private readonly _onInputChangeHandler = (e: React.ChangeEvent) => {\n const error = e.target.value === '' ? '' : this.state.error;\n this.setState({\n promoCodeInputValue: e.target.value.trim(),\n error,\n canApply: !!e.target.value\n });\n };\n\n private readonly _applyPromotion = (cartState: ICartState | undefined) => {\n if (!cartState || !cartState.cart) {\n return;\n }\n const appliedPromo = this.state.promoCodeInputValue;\n\n cartState\n .addPromoCode({ promoCode: appliedPromo })\n .then(result => {\n if (result.status === 'SUCCESS') {\n // Show success text\n this.setState({ promoCodeInputValue: '', error: '', canApply: false });\n } else if (result.substatus === 'ALREADYADDED') {\n this.setState({ error: this.props.duplicatePromoCodeErrorText });\n } else {\n this.setState({ error: this.props.invalidPromoCodeErrorText });\n }\n })\n .catch(error => {\n this.setState({ error: this.props.failedToAddPromoCodeErrorText });\n });\n };\n\n /**\n * On Submit function.\n * @param cartState -Cartstate.\n * @returns Apply promotion.\n */\n private readonly _onSubmitHandler = (cartState: ICartState | undefined) => (event: React.FormEvent) => {\n event.preventDefault();\n this._applyPromotionHandler(cartState);\n };\n\n /**\n * On apply promotion function.\n * @param cartState -Cartstate.\n * @returns Apply promotion.\n */\n private readonly _applyPromotionHandler = (cartState: ICartState | undefined) => () => {\n this._applyPromotion(cartState);\n };\n\n private readonly _renderForm = (promoPlaceholderText: string, promoCodeApplyButtonText: string, cartState: ICartState | undefined) => {\n const attributes = getTelemetryAttributes(this.props.telemetryContent!, this.payLoad);\n\n return (\n
    \n
    \n \n \n {promoCodeApplyButtonText}\n \n
    \n
    \n );\n };\n\n private readonly _removePromotion = (cartState: ICartState | undefined, event: React.MouseEvent) => {\n if (!cartState) {\n return;\n }\n const code = event.currentTarget.getAttribute('data-value') || '';\n cartState\n .removePromoCodes({\n promoCodes: [code]\n })\n .then(result => {\n if (result.status === 'SUCCESS') {\n this.setState({ error: '' });\n }\n })\n .catch(() => {\n this.setState({ error: this.props.failedToRemovePromoCodeErrorText });\n });\n };\n\n private readonly _calculateDiscount = (code: string, cartState: ICartState | undefined) => {\n if (!cartState || !cartState.cart || !cartState.cart.CartLines || cartState.cart.CartLines.length === 0 || !code) {\n return;\n }\n let discountAmount = 0;\n for (const line of cartState.cart.CartLines) {\n if (line.DiscountLines) {\n for (const discountLine of line.DiscountLines) {\n if (discountLine.DiscountCode === code) {\n discountAmount += discountLine.DiscountCost!;\n }\n }\n }\n }\n return discountAmount * -1;\n };\n\n private readonly _renderAppliedPromoCode = (props: IPromoCodeProps) => {\n if (!props.cart || !props.cart.cart || !props.cart.cart.Coupons || props.cart.cart.Coupons.length === 0) {\n return;\n }\n\n const removePromotionHandler = (event: React.MouseEvent) => {\n this._removePromotion(props.cart, event);\n };\n\n const promoCodTotalDiscount = props.cart.cart.Coupons.reduce((count: number, coupon: Coupon) => {\n return count + (this._calculateDiscount(coupon.Code || '', props.cart) || 0);\n }, 0);\n\n return (\n <>\n
    \n
    {this.props.appliedPromoCodeHeadingText}
    \n \n
    \n {props.cart.cart.Coupons.map((coupon: Coupon) => {\n const ariaLabel = props.removePromoAriaLabelFormat\n ? format(props.removePromoAriaLabelFormat, props.removePromoText, coupon.Code)\n : '';\n\n return (\n
    \n
    \n {coupon.Code}{' '}\n \n
    \n \n {props.removePromoText}\n \n
    \n );\n })}\n \n );\n };\n}\n\nexport default PromoCode;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { buildHydratedMockActionContext, buildMockRequest, ICoreContext, IRequestContext } from '@msdyn365-commerce/core';\nimport { ICartState } from '@msdyn365-commerce/global-state';\nimport { AsyncResult, Customer } from '@msdyn365-commerce/retail-proxy';\nimport { IStoreSelectorStateManager } from '@msdyn365-commerce-modules/bopis-utilities';\n\nimport { IHeaderData } from '../header.data';\nimport { IHeaderConfig, IHeaderResources } from '../header.props.autogenerated';\n\nconst mockRequest: IRequestContext = buildMockRequest();\nmockRequest.gridSettings = {\n xs: { w: 767, h: 0 },\n sm: { w: 991, h: 0 },\n md: { w: 1199, h: 0 },\n lg: { w: 1599, h: 0 },\n xl: { w: 1600, h: 0 }\n};\nmockRequest.user.isAuthenticated = true;\nmockRequest.user.signInUrl = '/signin';\nmockRequest.user.signOutUrl = '/signout';\nmockRequest.user.signUpUrl = '/signup';\n\nconst mockAnonRequest = buildMockRequest();\nmockAnonRequest.user.isAuthenticated = false;\nmockAnonRequest.user.signInUrl = '/signin';\nmockAnonRequest.user.signOutUrl = '/signout';\nmockAnonRequest.user.signUpUrl = '/signup';\n\nconst mockSigninErrorRequest = buildMockRequest();\nmockSigninErrorRequest.user.isAuthenticated = false;\nmockSigninErrorRequest.user.retailServerErrorCode = 'Microsoft_Dynamics_Commerce_Runtime_CustomerNotFound_WhenAutoLinking';\nmockSigninErrorRequest.user.signInUrl = '/signin';\nmockSigninErrorRequest.user.signOutUrl = '/signout';\nmockSigninErrorRequest.user.signUpUrl = '/signup';\n\nconst mockActionContext = buildHydratedMockActionContext();\n\n/**\n * Method to mock auth context.\n */\n// @ts-expect-error\nexport const mockAuthContext: ICoreContext = {\n actionContext: mockActionContext,\n request: mockRequest,\n app: {\n config: {\n disableTooltip: true\n },\n routes: {\n wishlist: '/wishlist'\n }\n }\n};\n\n// @ts-expect-error\nexport const mockAnonContext: ICoreContext = {\n actionContext: mockActionContext,\n request: mockAnonRequest,\n app: {\n config: {\n disableTooltip: true\n },\n routes: {\n wishlist: '/wishlist'\n }\n }\n};\n\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment -- Due to partial mock.\n// @ts-expect-error\nexport const mockSigninContext: ICoreContext = {\n actionContext: mockActionContext,\n request: mockSigninErrorRequest,\n app: {\n config: {\n disableTooltip: true\n },\n routes: {\n wishlist: '/wishlist'\n }\n }\n};\n\nexport const mockHeaderConfig: IHeaderConfig = {\n logoLink: {\n linkUrl: {\n destinationUrl: 'https://ppe.fabrikam.com/fe'\n },\n ariaLabel: 'fabrikam'\n },\n logoImage: {\n src: 'https://img-prod-cms-mr-microsoft-com.akamaized.net/cms/api/fabrikam/imageFileData/MA1G3L'\n }\n};\n\nexport const mockResources: IHeaderResources = {\n mobileHamburgerAriaLabel: 'Mobile view hamburger aria label',\n wishlistTooltipText: 'My wishlist',\n cartLabel: 'Shopping bag, ({0}) items',\n cartQtyLabel: '({0})',\n signInLinkText: 'Sign In',\n signInLinkAriaText: 'Sign In',\n signOutLinkText: 'Sign Out',\n signOutLinkAriaText: 'Sign Out',\n shoppingAsText: 'Shopping as {0}',\n switchCustomerLinkText: 'Switch customer',\n switchCustomerLinkAriaText: 'Switch customer',\n headerPreferredStoreText: 'Select store',\n headerPreferredStoreAriaLabel: 'select preferred store',\n signUpCustomerNotFoundTitle: 'Error message if cutsomer not found',\n signUpMultipleCustomerFoundTitle: 'Multiple customer found error msg',\n closeNotificationLabel: 'Close',\n wishlistCountLabel: '({0})',\n headerAriaLabel: 'Header'\n};\n\nexport const getMockData = (totalItemsInCart: number = 0, accountNumber: string = '2', firstName: string = ''): IHeaderData => {\n return {\n cart: >{\n status: 'SUCCESS',\n result: {\n totalItemsInCart\n }\n },\n accountInformation: >{\n status: 'SUCCESS',\n result: {\n AccountNumber: accountNumber,\n FirstName: firstName\n }\n },\n storeSelectorStateManager: >{\n status: 'SUCCESS',\n result: {}\n }\n };\n};\n\nexport const getMockErrorData = (): IHeaderData => {\n return {\n cart: >{\n status: 'FAILED',\n result: undefined\n },\n accountInformation: >{\n status: 'FAILED',\n result: undefined\n },\n storeSelectorStateManager: >{\n status: 'FAILED',\n result: undefined\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 { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { IHeaderData } from '../header.data';\nimport { IHeaderProps } from '../header.props.autogenerated';\n\n/**\n * The header preferred store component.\n */\n@observer\nexport class HeaderPreferredStore extends React.PureComponent> {\n private readonly modalCloseButtonRef: React.RefObject = React.createRef();\n\n /**\n * Handle click on the store selector.\n * @returns : Promise void.\n */\n public handleClick = () => {\n return this._findPreferredStoreOnClick(this.props);\n };\n\n public render(): JSX.Element | undefined {\n const {\n data: {\n storeSelectorStateManager: { result: storeSelectorStateManager }\n },\n slots,\n resources\n } = this.props;\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- slots can be undefined.\n if (ArrayExtensions.hasElements(slots?.storeSelector)) {\n const storeName =\n storeSelectorStateManager?.preferredStore && storeSelectorStateManager.preferredStore.StoreName\n ? storeSelectorStateManager.preferredStore.StoreName\n : resources.headerPreferredStoreText;\n\n return (\n
    \n \n {storeName}\n \n {slots.storeSelector}\n
    \n );\n }\n\n return undefined;\n }\n\n private async _findPreferredStoreOnClick(props: IHeaderProps): Promise {\n const {\n data: {\n storeSelectorStateManager: { result: storeSelectorStateManager }\n },\n modules\n } = props;\n if (!storeSelectorStateManager) {\n return;\n }\n let storeSelectorId: string = '';\n if (modules && Object.keys(modules).length > 0 && ArrayExtensions.hasElements(modules.storeSelector)) {\n storeSelectorId = modules.storeSelector[0].id;\n }\n await storeSelectorStateManager\n .openDialog({\n id: storeSelectorId,\n showMapViewLink: true,\n parentElementRef: this.modalCloseButtonRef,\n onLocationSelected: orgUnitLocation => {\n return Promise.resolve();\n }\n })\n .catch((error: Error) => {\n if (props.telemetry) {\n props.telemetry.error(error.message);\n props.telemetry.debug('Unable to set preferred store');\n }\n });\n }\n}\n\nexport default HeaderPreferredStore;\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 { getPayloadObject, getTelemetryAttributes, ITelemetryContent, TelemetryConstant } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface ILogoProps {\n image: Msdyn365.IImageData;\n gridSettings?: Msdyn365.IGridSettings;\n link?: ILinkData;\n className?: string;\n telemetryContent?: ITelemetryContent;\n requestContext: Msdyn365.IRequestContext;\n typeName?: string;\n}\n\nexport interface ILinkData {\n linkUrl: Msdyn365.ILinkData;\n ariaLabel?: string;\n openInNewTab?: boolean;\n linkText?: string;\n}\n\n/**\n *\n * Logo component.\n * @extends {React.PureComponent}\n */\nexport class Logo extends React.PureComponent {\n private readonly attributes?: Msdyn365.IDictionary;\n\n constructor(props: ILogoProps) {\n super(props);\n const payLoad = getPayloadObject('click', props.telemetryContent!, TelemetryConstant.Logo);\n this.attributes = getTelemetryAttributes(props.telemetryContent!, payLoad);\n }\n\n public render(): JSX.Element {\n return
    {this._renderLogo(this.props)}
    ;\n }\n\n private _renderLogo(config: ILogoProps): JSX.Element {\n if (config.link && config.link.linkUrl.destinationUrl) {\n return (\n \n {this._renderImage(config)}\n \n );\n }\n return this._renderImage(config);\n }\n\n private _renderImage(config: ILogoProps): JSX.Element {\n const defaultImageSettings: Msdyn365.IImageSettings = {\n viewports: {\n xs: { q: 'w=132&h=28&m=6', w: 0, h: 0 },\n lg: { q: 'w=160&h=48&m=6', w: 0, h: 0 }\n },\n lazyload: true\n };\n\n return (\n \n );\n }\n}\n\nexport default Logo;\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 {\n Button,\n getPayloadObject,\n getTelemetryAttributes,\n ITelemetryContent,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { IHeaderResources } from '../header.props.autogenerated';\n\nexport interface INavIconProps {\n resources: IHeaderResources;\n isExpanded: boolean;\n targetId: string;\n telemetryContent?: ITelemetryContent;\n toggleNavBar(): void;\n}\n\n/**\n *\n * NavIcon component.\n * @extends {React.PureComponent}\n */\n\n@observer\nexport class NavIcon extends React.PureComponent {\n private readonly attributes?: Msdyn365.IDictionary;\n\n constructor(props: INavIconProps) {\n super(props);\n const payLoad = getPayloadObject('click', props.telemetryContent!, TelemetryConstant.NavIcon);\n this.attributes = getTelemetryAttributes(props.telemetryContent!, payLoad);\n }\n\n public render(): JSX.Element {\n return (\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 { CartIconComponent, WishListIconComponent } from '@msdyn365-commerce/components';\nimport * as MsDyn365 from '@msdyn365-commerce/core';\nimport { ICartState } from '@msdyn365-commerce/global-state';\nimport { Customer } from '@msdyn365-commerce/retail-proxy';\nimport { ErrorNotification, NotificationsManager } from '@msdyn365-commerce-modules/notifications-core';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n Button,\n format,\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n INodeProps,\n ITelemetryContent,\n KeyCodes,\n Modal,\n ModalBody,\n ModalHeader,\n onTelemetryClick,\n Popover,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { computed, reaction } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { HeaderPreferredStore, Logo, NavIcon } from './components';\nimport { IHeaderData } from './header.data';\nimport { IHeaderProps, IHeaderResources, IMyAccountLinksData } from './header.props.autogenerated';\n\nexport interface IHeaderState {\n mobileMenuCollapsed: boolean;\n signinPopoverOpen: boolean;\n hasSigninerror?: boolean;\n}\n\nexport interface IHeaderViewProps extends IHeaderProps, IHeaderState {\n logo: React.ReactNode;\n wishListIconDesktop: React.ReactNode;\n wishListIconMobile: React.ReactNode;\n cartIcon: React.ReactNode;\n navIcon: React.ReactNode;\n className: string;\n menuBar: React.ReactNode[];\n search: React.ReactNode[];\n siteOptions: React.ReactNode[];\n HeaderTag: IModuleProps;\n HeaderContainer: INodeProps;\n MobileMenuContainer: INodeProps;\n MobileMenuHeader: React.ReactNode;\n MobileMenuBodyContainer: INodeProps;\n MobileMenuLinksContainer: INodeProps;\n HeaderTopBarContainer: INodeProps;\n Divider: INodeProps;\n\n AccountInfoDropdownParentContainer?: INodeProps;\n AccountInfoDropdownPopoverConentContainer?: INodeProps;\n accountInfoDropdownButton?: React.ReactNode;\n\n signOutLink?: React.ReactNode;\n signInLink?: React.ReactNode;\n switchCustomerLink?: React.ReactNode;\n isOBORequest?: boolean;\n accountLinks?: React.ReactNode[];\n preferredStore?: React.ReactNode;\n}\n\n/**\n *\n * Header component.\n * @extends {React.PureComponent>}\n */\n@observer\nclass Header extends React.PureComponent, IHeaderState> {\n private readonly popOverRef: React.RefObject;\n\n private readonly telemetryContent: ITelemetryContent;\n\n private cart: ICartState | undefined;\n\n /**\n * The signed-in user name displayed in the header bar\n */\n @computed public get displayName(): Readonly {\n const user = this.props.context.request.user;\n return user?.isOBORequest ? this.workerName : this.customerName;\n }\n\n /**\n * OBO scenario. The name of worker who shops on behalf of customer.\n */\n @computed public get workerName(): Readonly {\n const user = this.props.context.request.user;\n return user?.firstName || user?.name;\n }\n\n @computed public get customerName(): Readonly {\n const user = this.props.context.request.user;\n const customer = this.props.data.accountInformation?.result;\n if (user?.isOBORequest) {\n // For OBO scenario, display full customer name because multiple customers may have the same first name.\n return customer ? customer.Name : undefined;\n } else {\n return customer ? customer.FirstName || customer.Name : undefined;\n }\n }\n\n public constructor(props: IHeaderProps) {\n super(props);\n this.popOverRef = React.createRef();\n this._toggleNavbar = this._toggleNavbar.bind(this);\n this._togglePopover = this._togglePopover.bind(this);\n this._keydown = this._keydown.bind(this);\n this.state = {\n mobileMenuCollapsed: true,\n signinPopoverOpen: false,\n hasSigninerror: false\n };\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public componentDidMount(): void {\n if (MsDyn365.msdyn365Commerce.isBrowser) {\n window.addEventListener('keydown', this._keydown);\n }\n reaction(\n () => this.props.data.cart.result,\n () => {\n this.cart = this.props.data.cart.result;\n }\n );\n\n const {\n context: {\n request: { user }\n },\n resources: { signUpCustomerNotFoundTitle, signUpMultipleCustomerFoundTitle, closeNotificationLabel }\n } = this.props;\n\n const signinNotificationError = this._getSigninNotification(user, signUpMultipleCustomerFoundTitle, signUpCustomerNotFoundTitle);\n if (signinNotificationError !== undefined && this.state.hasSigninerror === false) {\n // For signup show simple error notification.\n NotificationsManager.instance().addNotification(new ErrorNotification(signinNotificationError, closeNotificationLabel));\n }\n }\n\n public componentWillUnmount(): void {\n if (MsDyn365.msdyn365Commerce.isBrowser) {\n window.removeEventListener('keydown', this._keydown, false);\n }\n }\n\n public render(): JSX.Element | null {\n const {\n id,\n typeName,\n data: { accountInformation, wishlists },\n context: {\n request: { user }\n },\n context,\n resources: { cartLabel, cartQtyLabel }\n } = this.props;\n const { logoLink, logoImage, shouldShowWishlistCount } = this.props.config;\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access -- app config is generic\n const disableTooltip = this.props.context.app.config.disableTooltip || false;\n const headerToggleClass = this.state.mobileMenuCollapsed ? '' : 'ms-header-open';\n const headerClassName = classnames('ms-header', this.props.config.className, headerToggleClass);\n const navbarKey = 'header-nav-mobile';\n const customer = accountInformation && accountInformation.result;\n const cartIconSlot = this._getSlot('cartIcon');\n const menuBarSlot = this._getSlot('menuBar');\n const searchSlot = this._getSlot('search');\n let wishlistCount = 0;\n const siteOptionsSlot = this._getSlot('siteOptions');\n const preferredStoreSlot = this._getSlot('storeSelector');\n if (wishlists !== undefined) {\n if (\n !wishlists.result ||\n !ArrayExtensions.hasElements(wishlists.result) ||\n !wishlists.result[0].CommerceListLines ||\n !ArrayExtensions.hasElements(wishlists.result[0].CommerceListLines)\n ) {\n wishlistCount = 0;\n } else {\n wishlistCount = wishlists.result[0].CommerceListLines.length;\n }\n }\n const viewProps: IHeaderViewProps = {\n ...(this.props as IHeaderProps),\n ...this.state,\n logo: (\n \n ),\n wishListIconDesktop: (\n \n ),\n wishListIconMobile: (\n \n ),\n cartIcon: ArrayExtensions.hasElements(cartIconSlot) ? (\n cartIconSlot[0]\n ) : (\n \n ),\n navIcon: (\n \n ),\n menuBar: ArrayExtensions.hasElements(menuBarSlot) ? menuBarSlot : [],\n search: ArrayExtensions.hasElements(searchSlot) ? searchSlot : [],\n siteOptions: ArrayExtensions.hasElements(siteOptionsSlot) ? siteOptionsSlot : [],\n className: headerClassName,\n HeaderTag: {\n moduleProps: this.props,\n className: classnames(headerClassName),\n 'aria-label': this.props.resources.headerAriaLabel,\n tag: 'header'\n },\n HeaderContainer: {\n className: classnames('ms-header__container')\n },\n HeaderTopBarContainer: {\n className: classnames('ms-header__topbar')\n },\n Divider: {\n className: classnames('ms-header__divider')\n },\n MobileMenuContainer: {\n tag: Modal,\n id: navbarKey,\n className: 'ms-header__mobile-hamburger',\n isOpen: !this.state.mobileMenuCollapsed,\n wrapClassName: 'ms-header__modal',\n toggle: this._toggleNavbar\n },\n MobileMenuHeader: ,\n MobileMenuBodyContainer: {\n tag: ModalBody,\n className: 'ms-header__mobile-hamburger-menu-body'\n },\n MobileMenuLinksContainer: {\n className: 'ms-header__mobile-hamburger-menu-links'\n },\n AccountInfoDropdownParentContainer: {\n className: 'ms-header__account-info'\n },\n AccountInfoDropdownPopoverConentContainer: this.displayName\n ? {\n tag: Popover,\n id: 'myprofilePopover',\n className: 'ms-header__account-info-content',\n placement: 'bottom',\n isOpen: this.state.signinPopoverOpen,\n target: this.popOverRef,\n toggle: this._togglePopover\n }\n : undefined,\n signInLink: this._getSigninButton(user, this.props.resources),\n signOutLink: this._getSignOutButton(user, this.props.resources),\n isOBORequest: user?.isOBORequest,\n switchCustomerLink: this._getSwitchCustomerButton(user, this.props.resources),\n accountInfoDropdownButton: this._getAccountInfoDropdownButton(user, this.props.resources),\n accountLinks: this._getAccountLinks(customer),\n preferredStore: ArrayExtensions.hasElements(preferredStoreSlot) && \n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Handle link text change.\n * @param linkIndex - Link Index.\n * @returns : Void.\n */\n public handleLinkTextChange = (linkIndex: number) => (event: MsDyn365.ContentEditableEvent): void => {\n if (this.props.config.myAccountLinks?.[linkIndex]) {\n this.props.config.myAccountLinks[linkIndex].linkText = event.target.value;\n }\n };\n\n /**\n * Get the slot.\n * @param slotName - Name of the slot.\n * @returns The slot.\n */\n private _getSlot(slotName: string): React.ReactNode[] | null {\n const { slots } = this.props;\n return (slots && slots[slotName] && slots[slotName].length && slots[slotName]) || null;\n }\n\n /**\n * Renders the sign in button.\n * @param user - Request context user.\n * @param resources - Resources.\n * @returns React Node.\n */\n private _getSigninButton(user: MsDyn365.IRequestContextUser | undefined, resources: IHeaderResources): React.ReactNode | undefined {\n const payLoad = getPayloadObject('click', this.telemetryContent, TelemetryConstant.SignIn);\n const attributes = getTelemetryAttributes(this.telemetryContent, payLoad);\n return (\n !this.displayName && (\n \n \n {resources.signInLinkText}\n \n \n )\n );\n }\n\n /**\n * Renders the sign out button.\n * @param user - Request context user.\n * @param resources - Resources.\n * @returns React Node.\n */\n private _getSignOutButton(user: MsDyn365.IRequestContextUser | undefined, resources: IHeaderResources): React.ReactNode | undefined {\n const payLoad = getPayloadObject('click', this.telemetryContent, TelemetryConstant.SignOut);\n const attributes = getTelemetryAttributes(this.telemetryContent, payLoad);\n return (\n this.displayName && (\n \n \n {resources.signOutLinkText}\n \n \n )\n );\n }\n\n /**\n * Renders the sign out button.\n * @param user - Request context user.\n * @param resources - Resources.\n * @returns React Node.\n */\n private _getSwitchCustomerButton(\n user: MsDyn365.IRequestContextUser | undefined,\n resources: IHeaderResources\n ): React.ReactNode | undefined {\n const payLoad = getPayloadObject('click', this.telemetryContent, TelemetryConstant.SwitchCustomer);\n const attributes = getTelemetryAttributes(this.telemetryContent, payLoad);\n const isOBOAccountSelected = user?.isOBORequest && this.props.context.request.cookies.getAccountSelectionCookie();\n return (\n this.displayName &&\n isOBOAccountSelected && (\n this.props.context.request.cookies.removeAccountSelectionCookie()}\n {...attributes}\n >\n
    \n
    {format(resources.shoppingAsText, this.customerName)}
    \n
    {resources.switchCustomerLinkText}
    \n
    \n \n )\n );\n }\n\n private getBusinessPartnerSelectionUrl(): string | undefined {\n const route = MsDyn365.getUrlSync('businessPartnerSelection', this.props.context.actionContext);\n if (!route || !MsDyn365.msdyn365Commerce.isBrowser) {\n return undefined;\n }\n\n // MsDyn365.getUrlSync persists some params in the route and remove other params.\n // Among the persisted params, we need to remove catalogid.\n const persistedParamToRemove = ['catalogid'];\n const url = new URL(route, window.location.href);\n persistedParamToRemove.forEach(param => url.searchParams.delete(param));\n return url.href;\n }\n\n private _getSigninNotification(\n user: MsDyn365.IRequestContextUser | undefined,\n signUpMultipleCustomerFoundTitle: string,\n signUpCustomerNotFoundTitle: string\n ): string | undefined {\n const { signUpCustomerNotFound, signUpMultipleCustomerFound } = this.props.config;\n const notFoundError = 'Microsoft_Dynamics_Commerce_Runtime_CustomerNotFound_WhenAutoLinking';\n const multipleAccountError = 'Microsoft_Dynamics_Commerce_Runtime_MultipleCustomerAccountsFoundWithSameEmailAddress';\n\n if (user?.retailServerErrorCode === notFoundError) {\n return signUpCustomerNotFound !== undefined ? signUpCustomerNotFound : signUpCustomerNotFoundTitle;\n } else if (user?.retailServerErrorCode === multipleAccountError) {\n return signUpMultipleCustomerFound !== undefined ? signUpMultipleCustomerFound : signUpMultipleCustomerFoundTitle;\n }\n return undefined;\n }\n\n private _getAccountInfoDropdownButton(\n user: MsDyn365.IRequestContextUser | undefined,\n resources: IHeaderResources\n ): React.ReactNode | undefined {\n const payLoad = getPayloadObject('click', this.telemetryContent, TelemetryConstant.MyProfile);\n const attributes = getTelemetryAttributes(this.telemetryContent, payLoad);\n return (\n this.displayName && (\n \n
    \n
    {this.displayName}
    \n {user?.isOBORequest && this.customerName &&
    {format(resources.shoppingAsText, this.customerName)}
    }\n
    \n \n )\n );\n }\n\n private _getAccountLinks(customer: Customer | undefined): React.ReactNode[] | undefined {\n const { myAccountLinks } = this.props.config;\n const payLoad = getPayloadObject('click', this.telemetryContent, '');\n if (!customer || !this.displayName || !myAccountLinks || !ArrayExtensions.hasElements(myAccountLinks)) {\n return undefined;\n }\n return myAccountLinks.map((cta: IMyAccountLinksData, index: number) => {\n payLoad.contentAction.etext = cta.linkText;\n const attributes = getTelemetryAttributes(this.telemetryContent, payLoad);\n const editableLink: MsDyn365.ILinksData = {\n ariaLabel: cta.ariaLabel,\n className: 'ms-signin-info__account-link-button',\n linkText: cta.linkText,\n linkUrl: cta.linkUrl.destinationUrl,\n openInNewTab: cta.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n\n return (\n \n );\n });\n }\n\n private _toggleNavbar(): void {\n this.setState({\n mobileMenuCollapsed: !this.state.mobileMenuCollapsed\n });\n }\n\n private _togglePopover(): void {\n this.setState({\n signinPopoverOpen: !this.state.signinPopoverOpen\n });\n }\n\n private _keydown(event: KeyboardEvent): void {\n if (event.keyCode === KeyCodes.Escape) {\n this.setState({ mobileMenuCollapsed: true });\n }\n }\n}\n\nexport default Header;\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 { IHeaderViewProps } from './header';\n\nconst headerView: React.FC = props => {\n const {\n HeaderTag,\n HeaderContainer,\n HeaderTopBarContainer,\n MobileMenuContainer,\n MobileMenuBodyContainer,\n MobileMenuLinksContainer,\n Divider\n } = props;\n return (\n \n \n \n {props.navIcon}\n {props.logo}\n {_renderReactFragment(props.search)}\n {props.preferredStore}\n {_renderDesktopAccountBlock(props)}\n {props.wishListIconDesktop}\n \n {props.cartIcon}\n {_renderReactFragment(props.siteOptions)}\n \n \n \n {props.MobileMenuHeader}\n {_renderReactFragment(props.menuBar)}\n \n {props.accountLinks ? props.accountLinks.map(link => link) : false}\n {props.siteOptions}\n {props.wishListIconMobile}\n {props.signInLink}\n {props.signOutLink}\n \n \n \n {_renderReactFragment(props.menuBar)}\n \n \n );\n};\n\nfunction _renderDesktopAccountBlock(props: IHeaderViewProps): JSX.Element | null {\n const {\n AccountInfoDropdownParentContainer,\n AccountInfoDropdownPopoverConentContainer,\n accountInfoDropdownButton,\n signOutLink,\n signInLink,\n accountLinks\n } = props;\n\n if (AccountInfoDropdownParentContainer) {\n if (AccountInfoDropdownPopoverConentContainer) {\n return (\n \n {accountInfoDropdownButton}\n \n {accountLinks ? accountLinks.map(link => link) : false}\n {signOutLink}\n \n \n );\n } else if (signInLink) {\n return {signInLink};\n }\n }\n props.context.telemetry.error('Header content is empty, module wont render.');\n return null;\n}\n\nfunction _renderReactFragment(items: React.ReactNode[]): JSX.Element | null {\n return (\n <>\n {items && items.length > 0\n ? items.map((slot: React.ReactNode, index: number) => {\n return {slot};\n })\n : null}\n \n );\n}\n\nexport default headerView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { AddOrderTemplateToCartComponent, ILinesAddedToCartDialogResources } from '@msdyn365-commerce/components';\nimport { getUrlSync, ICoreContext, IImageSettings, Image, ITelemetry } from '@msdyn365-commerce/core';\nimport { ProductList } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { getFallbackImageUrl, getProductUrlSync, OrderTemplate, OrderTemplateLine } from '@msdyn365-commerce-modules/retail-actions';\nimport { Alert, Button, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IOrderTemplateActionMessageState } from '../order-template-list';\n\nexport interface ISingleOrderTemplateProps extends ProductList {\n orderTemplateState: IOrderTemplateActionMessageState;\n name?: string;\n orderTemplate: OrderTemplate;\n context: ICoreContext;\n imageSettings?: IImageSettings;\n enableImageProductLink?: boolean;\n removeFromOrderTemplateListText: string;\n addToBagText: string;\n index: number;\n itemKey: string;\n telemetry: ITelemetry;\n moduleId: string;\n moduleTypeName: string;\n handlers: {\n onRemoveOrderTemplate(id: string): void | undefined;\n onDismiss(): void;\n };\n resources: {\n closeWindowButtonText: string;\n addToCartFailureMessage: string;\n addToCartSuccessMessage: string;\n addToCartProcessMessage: string;\n orderTemplateErrorMessage: string;\n linesAddedToCartDialogResources: ILinesAddedToCartDialogResources;\n };\n telemetryContent?: ITelemetryContent;\n}\n\nexport interface ISingleOrderTemplateViewProps {\n key: string;\n orderTemplateImage: React.ReactNode;\n addToCartButton?: React.ReactNode;\n removeButton?: React.ReactNode;\n orderTemplateStatusMessage?: React.ReactNode;\n orderTemplateName?: React.ReactNode;\n orderTemplateAriaLabel?: string;\n orderTemplateHeaderDivider?: React.ReactNode;\n}\n\nconst _removeItemFromOrderTemplateList = (props: ISingleOrderTemplateProps): void => {\n const { onRemoveOrderTemplate } = props.handlers;\n const { itemKey } = props;\n\n onRemoveOrderTemplate && itemKey && onRemoveOrderTemplate(itemKey);\n};\n\nconst OrderTemplateActions = {\n removeOrderTemplate: _removeItemFromOrderTemplateList\n};\n\n/**\n * Remove order template action.\n * @param input -Single order template props.\n * @returns Set remove order template.\n */\nconst removeOrderTemplateActionHandler = (input: ISingleOrderTemplateProps) => () => {\n OrderTemplateActions.removeOrderTemplate(input);\n};\n\nexport const OrderTemplateRender = (input: ISingleOrderTemplateProps): ISingleOrderTemplateViewProps | null => {\n const {\n Id,\n orderTemplate,\n removeFromOrderTemplateListText,\n orderTemplateState,\n handlers,\n name,\n imageSettings,\n context,\n telemetryContent,\n enableImageProductLink\n } = input;\n\n if (!Id) {\n return null;\n }\n\n const _getOrderTemplatePageUrl = (): string => {\n const url = getUrlSync('ordertemplate', context.actionContext) ?? '';\n const separator = url.includes('?') ? '&' : '?';\n if (Id) {\n return `${url}${separator}id=${Id}`;\n }\n return '';\n };\n\n const { onDismiss } = handlers;\n\n return {\n key: `${Id}-template`,\n orderTemplateImage: _renderOrderTemplateImages(context, orderTemplate.orderTemplateLines, imageSettings, enableImageProductLink),\n orderTemplateAriaLabel: _renderAriaLabel(input),\n orderTemplateName: (\n
    \n \n
    \n {orderTemplate.totalLines}\n {` `}\n line items\n
    \n
    \n
    \n ),\n addToCartButton: (\n
    \n \n
    \n ),\n removeButton: (\n \n ),\n orderTemplateStatusMessage: orderTemplateState && orderTemplateState.isOpen && orderTemplateState.userMessage && (\n
    \n \n {orderTemplateState.userMessage}\n \n
    \n )\n };\n};\n\n/**\n * On image click handler.\n * @param productUrl -Product url value.\n * @returns Assign window location.\n */\nconst onClickHandler = (productUrl: string) => () => {\n window.location.assign(productUrl);\n};\n\nconst _renderOrderTemplateImages = (\n context: ICoreContext,\n orderTemplateLines?: OrderTemplateLine[],\n imageSettings?: IImageSettings,\n enableImageProductLink?: boolean\n): JSX.Element | null => {\n const defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=140&h=140&m=6', w: 0, h: 0 },\n lg: { q: 'w=140&h=140&m=6', w: 0, h: 0 },\n xl: { q: 'w=140&h=140&m=6', w: 0, h: 0 }\n },\n lazyload: true\n };\n\n if (orderTemplateLines) {\n const count = orderTemplateLines.length < 4 ? orderTemplateLines.length : 4;\n\n return (\n
    \n {orderTemplateLines?.slice(0, count).map(line => {\n const productUrl = line.fullProduct\n ? getProductUrlSync(line.fullProduct.ProductDetails, context.actionContext, undefined)\n : '';\n\n return (\n \n );\n })}\n
    \n );\n }\n return
    ;\n};\n\nconst _renderAriaLabel = (props: ISingleOrderTemplateProps): string => {\n const { name } = props;\n return `${name}`;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { orderTemplateListStatus } from '../order-template-list';\n\nexport interface IOrderTemplateListStatusMessageProps {\n className?: string;\n errorType: orderTemplateListStatus;\n text?: string;\n}\n\nexport const OrderTemplateListStatusMessage: React.FC = ({ className, errorType, text }) => {\n switch (errorType) {\n case 'EMPTY':\n return

    {text}

    ;\n case 'FAILED':\n return

    {text}

    ;\n case 'LOADING':\n default:\n return

    {text}

    ;\n }\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IOrderTemplateNameDialogResources, OrderTemplateNameDialog } from '@msdyn365-commerce/components';\nimport { IComponentProps } from '@msdyn365-commerce/core';\nimport React, { useState } from 'react';\n\nconst modalCloseButtonReference: React.RefObject = React.createRef();\n\n/**\n * The Create Order Template Button Props.\n */\nexport interface ICreateOrderTemplateButtonProps extends IComponentProps {\n /**\n * The label for create order template.\n */\n createOrderTemplateText: string;\n\n /**\n * The create order template dialog resources.\n */\n createOrderTemplateDialogResources: IOrderTemplateNameDialogResources;\n\n /**\n * The delegate to fire when dialog captured any user entry.\n */\n onOrderTemplateCreated(): Promise;\n}\n\nconst CreateOrderTemplateButton: React.FC = props => {\n const onCancelHandler = React.useCallback(() => {\n return;\n }, []);\n const [isCreateOrderTemplateDialogOpen, setOrderTemplateNameDialogOpen] = useState(false);\n const onCreateButtonClick = React.useCallback(() => {\n setOrderTemplateNameDialogOpen(true);\n }, []);\n\n return (\n <>\n \n {props.createOrderTemplateText}\n \n \n \n );\n};\n\nexport default CreateOrderTemplateButton;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IOrderTemplateNameDialogResources } from '@msdyn365-commerce/components';\nimport { deleteAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/ProductListsDataActions.g';\nimport { OrderTemplate } from '@msdyn365-commerce-modules/retail-actions';\nimport { Alert, Heading, IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport Spinner from '../order-template/components/add-line/spinner';\nimport {\n ISingleOrderTemplateProps,\n ISingleOrderTemplateViewProps,\n OrderTemplateListStatusMessage,\n OrderTemplateRender\n} from './components';\nimport CreateNewTemplateButtonComponent from './components/create-order-template';\nimport { IOrderTemplateListData } from './order-template-list.data';\nimport { HeadingTag, IOrderTemplateListProps, IOrderTemplateListResources } from './order-template-list.props.autogenerated';\n\nexport interface IOrderTemplateActionMessageState {\n itemKey: string;\n userMessage: string;\n statusCssString: string;\n messageGlyph: string;\n isOpen: boolean;\n headerStatusMessage: string;\n}\n\nexport type orderTemplateListStatus = 'LOADING' | 'SUCCESS' | 'FAILED' | 'EMPTY';\n\nexport interface IOrderTemplateListViewProps extends IOrderTemplateListProps {\n OrderTemplateList: IModuleProps;\n status?: orderTemplateListStatus;\n statusMessage?: React.ReactNode;\n heading?: React.ReactNode;\n OrderTemplates?: INodeProps;\n OrderTemplate?: INodeProps;\n orderTemplates?: ISingleOrderTemplateViewProps[];\n createOrderTemplateButton?: React.ReactNode;\n templateHeaderStatusMessage?: React.ReactNode;\n}\n\n/**\n *\n * OrderTemplateList component.\n * @extends {React.PureComponent, IOrderTemplateListActionMessageState>}\n */\n@observer\nclass OrderTemplateList extends React.Component, IOrderTemplateActionMessageState> {\n constructor(props: IOrderTemplateListProps) {\n super(props);\n this.state = {\n itemKey: '',\n userMessage: '',\n headerStatusMessage: '',\n statusCssString: 'success',\n messageGlyph: 'fas fa-check',\n isOpen: false\n };\n }\n\n public async componentDidMount(): Promise {\n this.setState({});\n }\n\n public shouldComponentUpdate(\n nextProps: IOrderTemplateListProps,\n nextState: IOrderTemplateActionMessageState\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 const { className, heading } = this.props.config;\n const { emptyOrderTemplateText, createNewTemplateButtonText } = this.props.resources;\n const { orderTemplates } = this.props.data;\n const orderTemplatesData = orderTemplates && orderTemplates.result;\n const orderTemplateListHeading = heading?.text ?? this.props.resources.orderTemplateListTitle;\n\n if (orderTemplates.status === 'LOADING') {\n const errorProps: IOrderTemplateListViewProps = {\n ...(this.props as IOrderTemplateListProps),\n OrderTemplateList: {\n moduleProps: this.props,\n className: classnames('ms-order-template', className)\n },\n status: 'LOADING',\n statusMessage: ,\n heading: (\n \n )\n };\n return this.props.renderView(errorProps);\n }\n\n if (orderTemplatesData && orderTemplatesData.length === 0) {\n // When no order templates are found for customer\n const emptyViewProps: IOrderTemplateListViewProps = {\n ...(this.props as IOrderTemplateListProps),\n OrderTemplateList: {\n moduleProps: this.props,\n className: classnames('ms-order-template', className)\n },\n status: 'EMPTY',\n statusMessage: ,\n createOrderTemplateButton: (\n \n ),\n heading: (\n \n )\n };\n\n return this.props.renderView(emptyViewProps);\n }\n\n const viewProps: IOrderTemplateListViewProps = {\n ...(this.props as IOrderTemplateListProps),\n OrderTemplateList: {\n moduleProps: this.props,\n className: classnames('ms-order-template', className)\n },\n status: 'SUCCESS',\n heading: ,\n createOrderTemplateButton: (\n \n ),\n templateHeaderStatusMessage: this.state.isOpen && this.state.headerStatusMessage && (\n
    \n \n {this.state.headerStatusMessage}\n \n
    \n ),\n OrderTemplates: {\n className: 'ms-order-template__list-item',\n tag: 'ul'\n },\n OrderTemplate: {\n className: 'ms-order-template__tile',\n tag: 'li'\n },\n orderTemplates: orderTemplatesData && this._renderOrderTemplateList(orderTemplatesData)\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n private _generateOrderTemplateNameDialogResources(resources: IOrderTemplateListResources): 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\n private _renderOrderTemplateList(orderTemplates: OrderTemplate[]): ISingleOrderTemplateViewProps[] {\n const { context, telemetry } = this.props;\n const { imageSettings, enableImageProductLink } = this.props.config;\n return orderTemplates.map((orderTemplate: OrderTemplate, index) => {\n const currentTemplateProps: ISingleOrderTemplateProps = {\n orderTemplateState: this.state,\n Id: orderTemplate.productList.Id,\n name: orderTemplate.productList.Name,\n orderTemplate,\n context,\n imageSettings,\n enableImageProductLink,\n removeFromOrderTemplateListText: 'remove',\n addToBagText: this.props.resources.addToBagButtonText,\n index,\n itemKey: orderTemplate.productList.Id,\n telemetry,\n moduleId: this.props.id,\n moduleTypeName: this.props.typeName,\n handlers: {\n onRemoveOrderTemplate: this._onRemoveFromOrderTemplateList,\n onDismiss: this._onDismiss\n },\n resources: {\n closeWindowButtonText: this.props.resources.closeWindowButtonText,\n addToCartFailureMessage: this.props.resources.addToCartFailureMessage,\n addToCartSuccessMessage: this.props.resources.addToCartSuccessMessage,\n addToCartProcessMessage: this.props.resources.addToCartProcessMessage,\n orderTemplateErrorMessage: this.props.resources.orderTemplateErrorMessage,\n linesAddedToCartDialogResources: {\n viewCartButtonText: this.props.resources.viewCartButtonText,\n orderTemplateCloseButtonText: this.props.resources.orderTemplateCloseButtonText,\n linesAddedToCartHeaderItemsOneText: this.props.resources.linesAddedToCartHeaderItemsOneText,\n linesAddedToCartHeaderLinesOneText: this.props.resources.linesAddedToCartHeaderLinesOneText,\n linesAddedToCartHeaderLinesFormatText: this.props.resources.linesAddedToCartHeaderLinesFormatText,\n linesAddedToCartHeaderMessageText: this.props.resources.linesAddedToCartHeaderMessageText\n }\n }\n };\n\n return OrderTemplateRender(currentTemplateProps)!;\n });\n }\n\n private readonly _onDismiss = () => {\n this.setState({\n isOpen: false\n });\n };\n\n private readonly _reloadPage = async () => {\n window.location.reload();\n };\n\n private readonly _onRemoveFromOrderTemplateList = (productListId: string): void | undefined => {\n const { context, data, telemetry, resources } = this.props;\n const { orderTemplates } = data;\n\n if (context && context.actionContext) {\n const userToken = context.request.user.isAuthenticated && context.request.user.token;\n if (userToken && orderTemplates.result && orderTemplates.result[0] && productListId) {\n const orderTemplate = orderTemplates.result.find(p => p.productList.Id === productListId);\n if (orderTemplate) {\n deleteAsync({ callerContext: context.actionContext }, orderTemplate.productList)\n .then()\n .catch((error: string) => {\n telemetry.warning('[order-template-list] Unable to delete order template.');\n telemetry.error(error);\n this.setState({\n itemKey: productListId,\n headerStatusMessage: resources.deleteOrderTemplateFailedText,\n statusCssString: 'danger',\n messageGlyph: 'fas fa-exclamation-triangle',\n isOpen: true\n });\n })\n .then(this._reloadPage)\n .catch((error: string) => {\n telemetry.warning('[order-template-list] Unable to delete order template.');\n telemetry.error(error);\n });\n } else {\n telemetry.warning('[order-template-list] Failed to delete order template. Order template was not found');\n }\n } else {\n telemetry.warning('[order-template-list] Failed to delete order template.');\n }\n }\n };\n}\n\nexport default OrderTemplateList;\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 * as React from 'react';\n\nimport { ISingleOrderTemplateViewProps } from './components';\nimport { IOrderTemplateListViewProps } from './order-template-list';\n\nexport const OrderTemplateListView: React.FC = props => {\n const {\n OrderTemplateList,\n status,\n statusMessage,\n heading,\n OrderTemplates,\n orderTemplates,\n OrderTemplate,\n createOrderTemplateButton,\n templateHeaderStatusMessage\n } = props;\n\n return (\n \n {heading}\n {status !== 'SUCCESS' && statusMessage}\n \n {createOrderTemplateButton}\n {templateHeaderStatusMessage}\n \n {OrderTemplates && orderTemplates && orderTemplates.length > 0 && (\n \n {orderTemplates &&\n orderTemplates.map(orderTemplate => {\n return _renderOrderTemplate(orderTemplate, OrderTemplate);\n })}\n \n )}\n \n );\n};\n\nconst _renderOrderTemplate = (orderTemplate: ISingleOrderTemplateViewProps, OrderTemplate?: INodeProps): JSX.Element | null => {\n const { key, addToCartButton, orderTemplateImage, orderTemplateStatusMessage, removeButton, orderTemplateName } = orderTemplate;\n return (\n \n {orderTemplateName}\n {orderTemplateImage}\n {addToCartButton}\n {removeButton}\n {orderTemplateStatusMessage}\n \n );\n};\n\nexport default OrderTemplateListView;\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 default (props: { className: string; msg?: string }) => (\n <>\n
    \n {props?.msg &&
    {props?.msg}
    }\n \n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ProductDimensionFull } from '@msdyn365-commerce/commerce-entities';\nimport { getCatalogId, ICoreContext, IImageSettings } from '@msdyn365-commerce/core';\nimport { ProductListLine, ProductSearchCriteria, ProductSearchResult } from '@msdyn365-commerce/retail-proxy';\nimport { searchByCriteriaAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/ProductsDataActions.g';\nimport { SimpleProduct } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport {\n addItemToOrderTemplate,\n AddItemToOrderTemplateInput,\n getDimensionsForSelectedVariant,\n GetDimensionsForSelectedVariantInput,\n getSelectedVariant,\n SelectedVariantInput\n} from '@msdyn365-commerce-modules/retail-actions';\nimport { Modal, ModalBody, ModalHeader } from '@msdyn365-commerce-modules/utilities';\nimport { get } from 'lodash';\nimport { computed } from 'mobx';\nimport React from 'react';\n\nimport { IProductConfigurationState, NotFoundComponent, ProductConfiguration, ProductList } from '.';\nimport Spinner from './spinner';\n\nexport interface IAddLineToTemplateProps {\n context: ICoreContext;\n resources: IAddLineToTemplateResources;\n orderTemplateId: string;\n imageSettings?: IImageSettings;\n}\n\nexport interface IAddLineToTemplateResources {\n addLineModalLinkText: string;\n searchButtonAriaLabel: string;\n searchInputAriaLabel: string;\n searchModalPlaceholderText: string;\n selectProductButtonText: string;\n addItemToTemplateText: string;\n addLineProductUnitPricePrefix: string;\n backButtonText: string;\n decrementButtonAriaLabel: string;\n incrementButtonAriaLabel: string;\n quantitySelectLabel: string;\n addLineProductUnitOfMeasurePrefix: string;\n notFoundSearchErrorNotice: string;\n notFoundSearchErrorRedediation: string;\n searchErrorMessage: string;\n productDimensionTypeColor: string;\n productDimensionTypeConfiguration: string;\n productDimensionTypeSize: string;\n productDimensionTypeStyle: string;\n searchResultsCountVerbage: string;\n searchResultsCountSubject: string;\n addToTemplateConfirmation: string;\n totalPriceLabel: string;\n progressNotificationText: string;\n addToTemplateDuplicateError: string;\n addToTemplateGenericError: string;\n dimensionMissingError: string;\n backToResultsText?: string;\n}\n\nenum CONTENT {\n Search,\n ProductList,\n ProductConfiguration,\n NotFound,\n Error,\n Loading\n}\n\ninterface IAddLineToTemplateState {\n isOpen: boolean;\n query: string;\n products: ProductSearchResult[];\n content: number;\n selectedProduct: SimpleProduct | null;\n selectedProductDimensions?: ProductDimensionFull[];\n selectedQuantity?: number;\n reloadPage?: boolean;\n}\n\n/**\n * Add Lines to order template.\n */\nexport class AddLineToTemplate extends React.Component {\n public state: IAddLineToTemplateState = {\n isOpen: false,\n query: '',\n products: [],\n content: CONTENT.Search,\n selectedProduct: null\n };\n\n public 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 public searchTextInput: React.RefObject = React.createRef(); // @TODO public/private\n\n private readonly addLineButtonRef: React.RefObject = React.createRef();\n\n constructor(props: IAddLineToTemplateProps) {\n super(props);\n }\n\n public onComponentDidMount(): void {\n this.searchTextInput.current?.focus();\n }\n\n public onComponentDidUpdate(): void {\n this.searchTextInput.current?.focus();\n }\n\n @computed get showBackArrow(): boolean {\n return this.state.content === CONTENT.ProductConfiguration;\n }\n\n public shouldComponentUpdate(nextProps: IAddLineToTemplateProps, nextState: IAddLineToTemplateState): boolean {\n if (this.state === nextState && this.props === nextProps) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n const {\n resources: { addLineModalLinkText, backToResultsText }\n } = this.props;\n\n const modalProps = {\n ...this.props,\n className: 'msc-add-line-to-template',\n toggle: this._toggleModalHandler,\n isOpen: this.state.isOpen,\n ariaLabel: addLineModalLinkText\n };\n\n return (\n <>\n \n \n {this.showBackArrow && (\n \n )}\n {addLineModalLinkText}\n \n {this._renderContent()}\n \n \n \n {addLineModalLinkText}\n \n \n );\n }\n\n private readonly _renderSearchForm = () => {\n const {\n resources: { searchButtonAriaLabel, searchModalPlaceholderText }\n } = this.props;\n\n return (\n \n \n \n \n \n \n \n
    \n );\n }\n\n private _onIncrementalChange(amount: number): void {\n const updatedQuantity = this.state.currentInput + amount;\n\n if (updatedQuantity >= 1 && updatedQuantity <= this.props.max) {\n this.props.onChange && this.props.onChange(updatedQuantity);\n }\n }\n\n private _handleChange(e: React.ChangeEvent): void {\n const currentValue = Number.parseInt(e.target.value, 10);\n const minValue = this.props.min === undefined ? 1 : this.props.min;\n const inputElement =\n this.inputRef && this.inputRef.current && this.inputRef.current instanceof HTMLInputElement && this.inputRef.current;\n\n if (currentValue > this.props.max) {\n this.setState({ currentInput: this.props.max });\n } else {\n this.setState({ currentInput: currentValue }, () => {\n debounce(() => {\n if (!isNaN(this.state.currentInput) && !(this.state.currentInput < minValue) && inputElement) {\n inputElement.setAttribute('aria-valuenow', currentValue.toString());\n inputElement.setAttribute('value', currentValue.toString());\n }\n }, 200)();\n });\n }\n }\n\n private readonly _validateMin = (): void => {\n const minValue = this.props.min === undefined ? 1 : this.props.min;\n\n if (isNaN(this.state.currentInput) || this.state.currentInput < minValue) {\n this.props.onChange && this.props.onChange(minValue);\n } else {\n this.props.onChange && this.props.onChange(this.state.currentInput);\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 { ProductDimensionFull } from '@msdyn365-commerce/commerce-entities';\nimport { IImageSettings, Image } from '@msdyn365-commerce/core';\nimport { ProductDimensionValue, ProductListLine } from '@msdyn365-commerce/retail-proxy';\nimport { SimpleProduct } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport {\n getDimensionsForSelectedVariant,\n GetDimensionsForSelectedVariantInput,\n getFallbackImageUrl,\n getPriceForSelectedVariant,\n getProductAvailabilitiesForSelectedVariant,\n getSelectedVariant,\n IProductInventoryInformation,\n PriceForSelectedVariantInput,\n ProductAvailabilitiesForSelectedVariantInput,\n SelectedVariantInput\n} from '@msdyn365-commerce-modules/retail-actions';\nimport { Alert, Button, ITelemetryContent, ModalBody, ModalFooter } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport React from 'react';\n\nimport OrderTemplateQuantity from '../common/order-template-quantity';\nimport { Dropdown, IAddLineToTemplateProps, IAddLineToTemplateResources, IDropdownItemProps, IDropdownOnSelection } from '.';\n\nexport interface IProductCnnfigurationProps extends IAddLineToTemplateProps {\n product: SimpleProduct;\n dimensions: ProductDimensionFull[];\n imageSettings: IImageSettings;\n telemetryContent?: ITelemetryContent;\n searchForm: React.ReactNode;\n addToTemplateHandler(params: IProductConfigurationState): Promise;\n highlightSearchTerm(name: string): React.ReactNode;\n}\n\nexport interface IProductConfigurationState {\n quantity: number;\n unitPrice: number;\n totalPrice: number;\n product: SimpleProduct;\n dimensions: ProductDimensionFull[];\n selectedDimensions: {};\n productAvailableQuantity?: IProductInventoryInformation;\n buttonDisabled: boolean;\n showAddConfirmation: boolean;\n errorMessage?: string;\n isBusy: boolean;\n errors: { dimension?: string[]; add?: string };\n}\n\n/**\n * Configure selected product for addition to order template.\n */\nexport class ProductConfiguration extends React.Component {\n private selectedDimensions: {} = {};\n\n constructor(props: IProductCnnfigurationProps) {\n super(props);\n\n this.state = {\n quantity: 1,\n unitPrice: props.product.Price,\n totalPrice: props.product.Price,\n product: props.product,\n dimensions: props.dimensions.sort((a, b) => a.DimensionTypeValue - b.DimensionTypeValue),\n selectedDimensions: {},\n buttonDisabled: false,\n showAddConfirmation: false\n } as IProductConfigurationState;\n }\n\n public shouldComponentUpdate(nextProps: IProductCnnfigurationProps, nextState: IProductConfigurationState): boolean {\n if (this.state === nextState && this.props === nextProps) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n const {\n context: {\n actionContext: {\n requestContext: { apiSettings }\n },\n request: { gridSettings }\n },\n resources: {\n addItemToTemplateText,\n addLineProductUnitPricePrefix,\n decrementButtonAriaLabel,\n incrementButtonAriaLabel,\n quantitySelectLabel,\n addLineProductUnitOfMeasurePrefix,\n totalPriceLabel\n },\n imageSettings,\n highlightSearchTerm\n } = this.props;\n const { buttonDisabled, product, quantity, unitPrice, totalPrice, showAddConfirmation, errors } = this.state;\n\n return (\n <>\n \n {this.props.searchForm}\n
    \n
    \n
    \n \n
    \n
    {product?.ItemId}
    \n {highlightSearchTerm(product?.Name ?? '')}\n
    \n {addLineProductUnitPricePrefix}\n {` `}\n {this._formatPrice(unitPrice)}\n
    \n
    \n {addLineProductUnitOfMeasurePrefix}\n {` `}\n {product?.DefaultUnitOfMeasure}\n
    \n
    \n
    \n
    {this._getDimensionsNodes()}
    \n
    \n
    \n
    {quantitySelectLabel}
    \n \n
    \n
    \n
    \n {totalPriceLabel}\n {` `}\n {this._formatPrice(totalPrice)}\n
    \n
    \n \n {showAddConfirmation && (\n \n
    \n )}\n {errors?.add && (\n
    \n
    \n )}\n \n {addItemToTemplateText}\n \n \n \n );\n }\n\n private _getConfirmationMessage(): string {\n const selectedDimensionNames = this.state.dimensions\n .map(dimension => {\n let variant = dimension.DimensionValues?.find(\n value => value.RecordId === this.selectedDimensions[dimension.DimensionTypeValue]\n )?.Value;\n if (dimension.DimensionTypeValue === 3) {\n variant = `size ${variant}`;\n }\n return variant;\n })\n .filter(value => value);\n\n return this.props.resources.addToTemplateConfirmation\n .replace('{count}', this.state.quantity.toString())\n .replace('{productAndDimensions}', `${this.state.product.Name}, ${Object.values(selectedDimensionNames).join(', ')}`);\n }\n\n private _getDimensionsNodes(): React.ReactElement[] {\n const { dimensions } = this.state;\n const { resources } = this.props;\n\n return dimensions?.map((dimension: ProductDimensionFull) => {\n const { DimensionValues, DimensionTypeValue } = dimension;\n const mapDimensions = (value: ProductDimensionValue): IDropdownItemProps => ({\n id: value.RecordId,\n value: value.Value || ''\n });\n const dimensionName = this._getDropdownName(DimensionTypeValue, resources);\n const dropdownList: IDropdownItemProps[] = DimensionValues ? DimensionValues.map(mapDimensions) : [];\n dropdownList.unshift({ id: 0, value: `Choose a ${dimensionName}` });\n\n return (\n
    \n
    {dimensionName}
    \n {this.state.errors?.dimension?.includes(DimensionTypeValue.toString()) && (\n \n \n \n )}\n \n
    \n );\n });\n }\n\n private readonly _getDimensionsError = (dimensionName: string) =>\n this.props.resources.dimensionMissingError.replace(/{dimensionName}/g, dimensionName);\n\n private readonly _addToTemplateHandler = async (event: React.MouseEvent) => {\n // Hide confirmation of previous addition when adding multiple items\n this.setState({\n isBusy: true,\n showAddConfirmation: false,\n errors: { ...this.state.errors, add: undefined }\n });\n\n const missingDimensions = this.state.dimensions\n .map(dimension => dimension.DimensionTypeValue.toString())\n .filter(type => !this.selectedDimensions[type]);\n\n this.setState({\n errors: { dimension: missingDimensions }\n });\n if (missingDimensions.length > 0) {\n this.setState({\n isBusy: false\n });\n return;\n }\n\n this.props\n .addToTemplateHandler({ ...this.state })\n .then(status => {\n // Validate against the existance of a ProductListId\n if (status.ProductListId) {\n this.setState({\n isBusy: false,\n showAddConfirmation: true\n });\n }\n })\n .catch(error => {\n const { addToTemplateDuplicateError, addToTemplateGenericError } = this.props.resources;\n let errorMessage;\n\n if (error.error.name === 'Microsoft_Dynamics_Commerce_Runtime_DuplicateObject') {\n errorMessage = addToTemplateDuplicateError;\n } else {\n errorMessage = addToTemplateGenericError;\n }\n\n this.setState({\n isBusy: false,\n errors: { ...this.state.errors, add: errorMessage }\n });\n this.props.context.telemetry.error('Error adding item to order template');\n });\n };\n\n private readonly _onQuantityChange = (newValue: number) => {\n this.setState({\n quantity: newValue,\n totalPrice: newValue * this.props.product.Price\n });\n };\n\n private readonly _updateDimensionValue = (\n productDimensionFull: ProductDimensionFull,\n newValueId: string | undefined\n ): ProductDimensionValue | undefined => {\n if (newValueId && productDimensionFull.DimensionValues) {\n return productDimensionFull.DimensionValues.find(dimension => dimension.RecordId === +newValueId);\n }\n\n return undefined;\n };\n\n // Rehydrate the selected variants price, available dimensions & sizes\n private readonly _onDimensionChanged = async (selection: IDropdownOnSelection): Promise => {\n const { product, dimensions, context } = this.props;\n const {\n actionContext,\n request: {\n apiSettings: { channelId }\n }\n } = context;\n\n // Remaining error notifications for missing dimensions\n const remainingDimensionsErrors = this.state.errors?.dimension?.filter(id => id !== selection.dropdownId.toString());\n\n this.setState({\n isBusy: false,\n showAddConfirmation: false,\n buttonDisabled: true,\n errors: { add: undefined, dimension: remainingDimensionsErrors }\n });\n\n // Update currently selected dimensions\n this.selectedDimensions[selection.dropdownId] = +selection.selectId;\n\n const mappedDimensions = dimensions\n ?.map(dimension => {\n return {\n DimensionTypeValue: dimension.DimensionTypeValue,\n DimensionValue:\n this._updateDimensionValue(dimension, this.selectedDimensions[dimension.DimensionTypeValue]) ||\n dimension.DimensionValue,\n ExtensionProperties: dimension.ExtensionProperties\n };\n })\n .filter(dimension => {\n return dimension && dimension.DimensionValue;\n });\n\n const variantProduct = await getSelectedVariant(\n new SelectedVariantInput(\n product.MasterProductId ? product.MasterProductId : product.RecordId,\n channelId,\n mappedDimensions,\n undefined,\n this.props.context.request\n ),\n actionContext\n );\n\n if (!variantProduct) {\n this.props.context.telemetry.error(\n `Error retrieving variant product for product ${product.MasterProductId ? product.MasterProductId : product.RecordId}`\n );\n return;\n }\n\n const dimensionInput = new GetDimensionsForSelectedVariantInput(\n variantProduct.RecordId,\n channelId,\n mappedDimensions,\n this.props.context.request\n );\n const variantDimensions = await getDimensionsForSelectedVariant(dimensionInput, actionContext);\n\n if (!variantDimensions) {\n this.props.context.telemetry.error('Error retrieving dimensions for reconfigured product variant');\n this.setState({\n buttonDisabled: false\n });\n return;\n }\n\n const availabilityInput = new ProductAvailabilitiesForSelectedVariantInput(\n product.MasterProductId ? product.MasterProductId : product.RecordId,\n channelId\n );\n\n // @TODO sync UX quantity w/ actual availability\n const newAvailableQuantity = await getProductAvailabilitiesForSelectedVariant(availabilityInput, actionContext);\n const priceInput = new PriceForSelectedVariantInput(product.RecordId, channelId);\n const productPrice = await getPriceForSelectedVariant(priceInput, actionContext);\n\n if (!productPrice) {\n this.props.context.telemetry.error('Error retrieving price for reconfigured product variant');\n this.setState({\n buttonDisabled: false\n });\n return;\n }\n\n this.setState({\n buttonDisabled: false,\n productAvailableQuantity: (newAvailableQuantity && newAvailableQuantity[0]) || undefined,\n unitPrice: +(productPrice.BasePrice || product.Price),\n dimensions: variantDimensions.sort((a, b) => a.DimensionTypeValue - b.DimensionTypeValue),\n product: variantProduct\n });\n };\n\n private readonly _getDropdownName = (dimensionType: number, resources: IAddLineToTemplateResources): string => {\n switch (dimensionType) {\n case 1: // Color\n return resources.productDimensionTypeColor;\n case 2: // Configuration\n return resources.productDimensionTypeConfiguration;\n case 3: // Size\n return resources.productDimensionTypeSize;\n case 4: // Style\n return resources.productDimensionTypeStyle;\n default:\n return '';\n }\n };\n\n private _formatPrice(price: number): string {\n const {\n context: {\n cultureFormatter: {\n formatCurrency,\n\n // @ts-expect-error\n currencyCode\n }\n }\n } = this.props;\n\n return formatCurrency(price.toFixed(2), currencyCode);\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ProductDimensionFull } from '@msdyn365-commerce/commerce-entities';\nimport { IImageSettings, Image } from '@msdyn365-commerce/core';\nimport { ProductSearchResult } from '@msdyn365-commerce/retail-proxy';\nimport { getFallbackImageUrl, generateImageUrl } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport React, { useState } from 'react';\n\nimport { IAddLineToTemplateProps } from '.';\n\nexport interface IProductListProps extends IAddLineToTemplateProps {\n products: ProductSearchResult[];\n imageSettings: IImageSettings;\n searchForm: React.ReactNode;\n clickHandler(product: ProductSearchResult): Promise;\n highlightSearchTerm(name: string): React.ReactNode;\n renderResultCountText(): string;\n}\n\nexport const ProductList = (props: IProductListProps) => {\n const {\n products,\n context: {\n actionContext: {\n requestContext: { apiSettings }\n },\n request: { gridSettings },\n cultureFormatter: {\n formatCurrency,\n\n // @ts-expect-error\n currencyCode\n }\n },\n clickHandler,\n highlightSearchTerm,\n renderResultCountText,\n resources: { selectProductButtonText },\n imageSettings\n } = props;\n\n return (\n <>\n

    \n {renderResultCountText()}\n

    \n {props.searchForm}\n
    \n {products.map((product: ProductSearchResult, index: number) => {\n const { Price, ItemId, Name, PrimaryImageUrl } = product;\n const price = formatCurrency(Price.toFixed(2), currencyCode);\n const primaryImageSource = generateImageUrl(PrimaryImageUrl ?? '', apiSettings) ?? '';\n const fallBackImg = getFallbackImageUrl(ItemId, apiSettings) ?? '';\n\n return (\n
    \n
    \n \n
    \n
    {ItemId}
    \n {highlightSearchTerm(Name ?? '')}\n
    \n
    \n
    \n {price}\n \n
    \n
    \n );\n })}\n
    \n \n );\n};\n\ninterface IProductSelectButton {\n product: ProductSearchResult;\n buttonText: string;\n clickHandler(product: ProductSearchResult): Promise;\n}\n\nconst ProductSelectButton = (props: IProductSelectButton) => {\n const [isBusy, setBusy] = useState(false);\n const { product, buttonText, clickHandler } = props;\n const getClickHandler = React.useCallback(async () => {\n setBusy(!isBusy);\n await clickHandler(product);\n setBusy(!isBusy);\n }, [clickHandler, isBusy, product]);\n\n return (\n \n {buttonText}\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 { Button } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IOrderTemplateLineViewModel } from '../order-template';\nimport { IOrderTemplateData } from '../order-template.data';\nimport { IOrderTemplateProps } from '../order-template.props.autogenerated';\nimport { AddLineToTemplate } from '.';\n\ninterface IOrderTemplateBulkActionsProps extends IOrderTemplateProps {\n orderTemplateId: string;\n selectedLines: IOrderTemplateLineViewModel[];\n isMinifiedView: boolean;\n onAddSelectionToBag(): void;\n onRemoveSelection(): void;\n}\n\ninterface IOrderTemplateBulkActionsState {\n isAddDisabled: boolean;\n isRemoveDisabled: boolean;\n}\n\n/**\n * Bulk Order Template line actions.\n */\nexport class OrderTemplateBulkActions extends React.PureComponent {\n public state: IOrderTemplateBulkActionsState = {\n isAddDisabled: true,\n isRemoveDisabled: true\n };\n\n public static getDerivedStateFromProps(\n props: IOrderTemplateBulkActionsProps,\n state: IOrderTemplateBulkActionsState\n ): IOrderTemplateBulkActionsState {\n const selectedLines = props.selectedLines.length;\n let nextState = { ...state };\n nextState = {\n isAddDisabled: selectedLines === 0,\n isRemoveDisabled: selectedLines === 0\n };\n return nextState;\n }\n\n public render(): JSX.Element {\n const {\n addLineModalLinkText,\n searchButtonAriaLabel,\n searchInputAriaLabel,\n searchModalPlaceholderText,\n selectProductButtonText,\n addItemToTemplateText,\n addLineProductUnitPricePrefix,\n backButtonText,\n decrementButtonAriaLabel,\n incrementButtonAriaLabel,\n quantitySelectLabel,\n addLineProductUnitOfMeasurePrefix,\n notFoundSearchErrorNotice,\n notFoundSearchErrorRedediation,\n searchErrorMessage,\n productDimensionTypeColor,\n productDimensionTypeConfiguration,\n productDimensionTypeSize,\n productDimensionTypeStyle,\n addSelectedToBagButtonText,\n removeSelectedToBagButtonText,\n searchResultsCountVerbage,\n searchResultsCountSubject,\n addToTemplateConfirmation,\n totalPriceLabel,\n progressNotificationText,\n addToTemplateDuplicateError,\n addToTemplateGenericError,\n dimensionMissingError\n } = this.props.resources;\n const addLineProps = {\n context: this.props.context,\n resources: {\n addLineModalLinkText,\n searchButtonAriaLabel,\n searchInputAriaLabel,\n searchModalPlaceholderText,\n selectProductButtonText,\n addItemToTemplateText,\n addLineProductUnitPricePrefix,\n backButtonText,\n decrementButtonAriaLabel,\n incrementButtonAriaLabel,\n quantitySelectLabel,\n addLineProductUnitOfMeasurePrefix,\n notFoundSearchErrorNotice,\n notFoundSearchErrorRedediation,\n searchErrorMessage,\n productDimensionTypeColor,\n productDimensionTypeConfiguration,\n productDimensionTypeSize,\n productDimensionTypeStyle,\n searchResultsCountVerbage,\n searchResultsCountSubject,\n addToTemplateConfirmation,\n totalPriceLabel,\n progressNotificationText,\n addToTemplateDuplicateError,\n addToTemplateGenericError,\n dimensionMissingError\n },\n imageSettings: this.props.config.imageSettings,\n orderTemplateId: this.props.orderTemplateId\n };\n\n return (\n <>\n \n \n \n {!this.props.isMinifiedView && addSelectedToBagButtonText}\n \n \n \n {!this.props.isMinifiedView && removeSelectedToBagButtonText}\n \n \n );\n }\n\n private readonly addHandler = (event: React.MouseEvent) => {\n this.setState({\n isAddDisabled: true\n });\n\n this.props.onAddSelectionToBag();\n\n this.setState({\n isAddDisabled: false\n });\n };\n\n private readonly removeHandler = (event: React.MouseEvent) => {\n this.setState({\n isRemoveDisabled: true\n });\n\n this.props.onRemoveSelection();\n };\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n AddOrderTemplateToCartComponent,\n ILinesAddedToCartDialogResources,\n IOrderTemplateNameDialogResources,\n RenameOrderTemplateComponent\n} from '@msdyn365-commerce/components';\nimport { IComponentProps, ICoreContext } from '@msdyn365-commerce/core';\nimport { ProductList } from '@msdyn365-commerce/retail-proxy';\nimport { OrderTemplate } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IOrderTemplateActionsData {\n orderTemplate: OrderTemplate;\n}\n\nexport interface IOrderTemplateActionsProps extends IComponentProps {\n context: ICoreContext;\n telemetryContent?: ITelemetryContent;\n handlers: {\n onRemoveTemplate(orderTemplateId: string): void;\n onRenameTemplate(orderTemplate: ProductList): Promise;\n };\n renameOrderTemplateDialogStrings: IOrderTemplateNameDialogResources;\n resources: {\n addTemplateToBagButtonText: string;\n renameTemplateButtonText: string;\n deleteTemplateButtonText: string;\n closeWindowButtonText: string;\n addToCartFailureMessage: string;\n addToCartSuccessMessage: string;\n addToCartProcessMessage: string;\n orderTemplateErrorMessage: string;\n linesAddedToCartDialogResources: ILinesAddedToCartDialogResources;\n };\n}\n\nexport interface IOrderTemplateActionsViewProps {\n addTemplateToBag: React.ReactNode;\n renameTemplate?: React.ReactNode;\n removeTemplate?: React.ReactNode;\n}\n\n/**\n * Remove Order Action.\n * @param props -Order template action props.\n * @returns Remove order template.\n */\nconst removeOrderActionHandler = (props: IOrderTemplateActionsProps) => () => {\n _removeOrderTemplate(props);\n};\n\nexport const OrderTemplateActionsView = (props: IOrderTemplateActionsProps): IOrderTemplateActionsViewProps => {\n const { resources } = props;\n const { deleteTemplateButtonText } = resources;\n\n return {\n addTemplateToBag: _getOrderTemplateAddToCartDialog(props),\n renameTemplate: _getOrderTemplateRenameControl(props),\n removeTemplate: (\n \n )\n };\n};\n\nconst _removeOrderTemplate = (props: IOrderTemplateActionsProps): void => {\n const {\n data: { orderTemplate },\n handlers\n } = props;\n const { onRemoveTemplate } = handlers;\n\n if (onRemoveTemplate) {\n onRemoveTemplate(orderTemplate.productList.Id);\n }\n};\n\nconst _getOrderTemplateAddToCartDialog = (props: IOrderTemplateActionsProps): React.ReactNode => {\n const {\n data: { orderTemplate },\n typeName,\n id,\n context,\n telemetryContent,\n resources\n } = props;\n const {\n addTemplateToBagButtonText,\n closeWindowButtonText,\n addToCartFailureMessage,\n addToCartSuccessMessage,\n addToCartProcessMessage,\n orderTemplateErrorMessage,\n linesAddedToCartDialogResources\n } = resources;\n\n const dialogStrings = {\n closeWindowButtonText,\n addToCartFailureMessage,\n addToCartSuccessMessage,\n addToCartProcessMessage,\n orderTemplateErrorMessage,\n linesAddedToCartDialogResources\n };\n\n return (\n \n );\n};\n\nconst _getOrderTemplateRenameControl = (props: IOrderTemplateActionsProps): React.ReactNode => {\n const { renameOrderTemplateDialogStrings, resources, context, handlers } = props;\n return (\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 { PriceComponent } from '@msdyn365-commerce/components';\nimport { ICoreContext, IImageSettings, Image, ITelemetry } from '@msdyn365-commerce/core';\nimport { ProductListLine } from '@msdyn365-commerce/retail-proxy';\nimport { ProductPrice, SimpleProduct } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { getFallbackImageUrl } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport React, { useState } from 'react';\n\nimport { IOrderTemplateLineViewModel } from '../order-template';\nimport OrderTemplateQuantity from './common/order-template-quantity';\n\nexport interface IOrderTemplateLineProps extends ProductListLine {\n orderTemplateLine: IOrderTemplateLineViewModel;\n productListLine: ProductListLine;\n price?: ProductPrice;\n context: ICoreContext;\n productUrl: string;\n imageSettings?: IImageSettings;\n telemetry: ITelemetry;\n moduleId: string;\n moduleTypeName: string;\n quantity: number;\n isQuantityDisabledForUpdate?: boolean;\n handlers: {\n onAddToBag(product: SimpleProduct, quantity: number, itemKey: string): void;\n onRemoveItem(line: IOrderTemplateLineViewModel): void | undefined;\n onChangeQuantity(orderTemplateLineId: string, quantity: number, props?: IOrderTemplateLineProps): void;\n onSelect(line: IOrderTemplateLineViewModel, isChecked: boolean): void;\n };\n resources: {\n selectOneRowText?: string;\n moreButtonText?: string;\n viewProductDetailsText?: string;\n productDimensionTypeColor: string;\n productDimensionTypeSize: string;\n productDimensionTypeStyle: string;\n originalPriceText: string;\n currentPriceText: string;\n freePriceText: string;\n inputQuantityAriaLabel: string;\n removeFromOrderTemplateLinesText: string;\n addToBagButtonText: string;\n deleteButtonText: string;\n incrementButtonAriaLabel?: string;\n decrementButtonAriaLabel?: string;\n editOrderTemplateLineQuantityError?: string;\n };\n index: number;\n isMobile: boolean;\n productQuantityView?: React.ReactNode;\n addToBagButton?: React.ReactNode;\n removeButton?: React.ReactNode;\n toggleDetailsDisplayed(props: IOrderTemplateLineProps): void;\n}\n\nexport interface IOrderTemplateLineViewProps {\n key?: string;\n productImage: React.ReactNode;\n productPrice?: React.ReactNode;\n addToBagButton?: React.ReactNode;\n removeButton?: 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 productQuantityView?: React.ReactNode;\n productListId?: string;\n selectLine?: React.ReactNode;\n popUp?: JSX.Element;\n isMobile?: boolean;\n}\n\ninterface IEventHandlerFactory {\n getAddToBag(): (event: React.MouseEvent) => void;\n getRemoveItem(): (event: React.MouseEvent) => void;\n}\n\nconst OrderTemplateLineActions = (props: IOrderTemplateLineProps): IEventHandlerFactory => {\n const { orderTemplateLine, productListLine, quantity, handlers } = props;\n const { LineId } = productListLine;\n const { onAddToBag, onRemoveItem } = handlers;\n\n return {\n getAddToBag: () => (event: React.MouseEvent) => {\n LineId && orderTemplateLine.fullProduct && onAddToBag(orderTemplateLine.fullProduct.ProductDetails, quantity, LineId);\n },\n getRemoveItem: () => (event: React.MouseEvent) => LineId && onRemoveItem(props.orderTemplateLine)\n };\n};\n\ninterface IPopupProps extends IOrderTemplateLineProps {\n addButtonClassName: string;\n removeButtonClassName: string;\n}\n\nconst PopUp = (props: IPopupProps): JSX.Element | null => {\n const { addToBagButtonText, removeFromOrderTemplateLinesText, moreButtonText, viewProductDetailsText } = props.resources;\n const [showMobile, setShowMobile] = useState(false);\n const componentClassName = 'ms-table';\n\n const getViewHandler = () => (event: React.MouseEvent) => {\n props.toggleDetailsDisplayed(props);\n };\n\n const toggle = React.useCallback(() => {\n setShowMobile(!showMobile);\n }, [showMobile]);\n\n return (\n
    \n \n {showMobile && (\n
    \n \n View\n \n {getActionButton(\n props.isMobile,\n props.removeButtonClassName,\n removeFromOrderTemplateLinesText,\n OrderTemplateLineActions(props).getRemoveItem()\n )}\n {getActionButton(\n props.isMobile,\n props.addButtonClassName,\n addToBagButtonText,\n OrderTemplateLineActions(props).getAddToBag()\n )}\n
    \n )}\n
    \n );\n};\n\nconst getActionButton = (\n isMobile: boolean,\n className: string,\n buttonText: string,\n clickHandler: (event: React.MouseEvent) => void\n): React.ReactNode => (\n \n);\n\n/**\n * On Select line function.\n * @param orderTemplateLine -Order template line.\n * @param input -Order template line props.\n * @returns Set on select order template.\n */\nconst onSelectLineHandler = (orderTemplateLine: IOrderTemplateLineViewModel, input: IOrderTemplateLineProps) => (\n event: React.ChangeEvent\n) => {\n orderTemplateLine.isChecked = !orderTemplateLine.isChecked;\n\n input.handlers.onSelect(orderTemplateLine, event.target.checked);\n};\n\nexport const OrderTemplateLineView = (input: IOrderTemplateLineProps): IOrderTemplateLineViewProps | null => {\n const { orderTemplateLine, productListLine, price, context, imageSettings, quantity, resources, isMobile } = input;\n const product = orderTemplateLine.fullProduct;\n const { LineId, UnitOfMeasure } = productListLine;\n const { removeFromOrderTemplateLinesText, addToBagButtonText, selectOneRowText } = resources;\n if (!product) {\n return null;\n }\n\n const { ItemId, Name, PrimaryImageUrl } = product.ProductDetails;\n const fallbackImage = getFallbackImageUrl(ItemId, context.actionContext.requestContext.apiSettings);\n const addButtonClassName = input.isMobile ? 'ms-table__row-links-add' : 'ms-order-template-table-line__product-add-button';\n const removeButtonClassName = input.isMobile ? 'ms-table__row-links-delete' : 'ms-order-template-table-line__product-remove-button';\n\n return {\n isMobile,\n selectLine: (\n \n ),\n key: LineId!,\n productImage:\n PrimaryImageUrl &&\n Name &&\n _renderProductImage(\n 'ms-order-template-table-line__product-image',\n context,\n product.ProductDetails.Name!,\n PrimaryImageUrl,\n fallbackImage,\n imageSettings\n ),\n productInfo: renderProductInfo(input),\n productPrice: price && _renderPrice(input),\n productNumber: product &&
    {ItemId}
    ,\n productUnitOfMeasure: price ? (\n
    {UnitOfMeasure || price.UnitOfMeasure}
    \n ) : (\n undefined\n ),\n productListId: LineId!,\n removeButton: getActionButton(\n input.isMobile,\n removeButtonClassName,\n removeFromOrderTemplateLinesText,\n OrderTemplateLineActions(input).getRemoveItem()\n ),\n productQuantityView:
    {_generateQuantity(input, LineId!)}
    ,\n productQuantity: quantity,\n addToBagButton: getActionButton(\n input.isMobile,\n addButtonClassName,\n addToBagButtonText,\n OrderTemplateLineActions(input).getAddToBag()\n ),\n popUp: \n };\n};\n\nexport const OrderTemplateMobileLineView = (input: IOrderTemplateLineProps): IOrderTemplateLineViewProps | undefined => {\n const { orderTemplateLine, productListLine, price, context, imageSettings } = input;\n const product = orderTemplateLine.fullProduct;\n const { LineId, UnitOfMeasure } = productListLine;\n if (!product) {\n return;\n }\n const { ItemId, Name, PrimaryImageUrl } = product.ProductDetails;\n const fallbackImage = getFallbackImageUrl(ItemId, context.actionContext.requestContext.apiSettings);\n\n return {\n productImage:\n PrimaryImageUrl &&\n Name &&\n _renderProductImage('thumbnail', context, product.ProductDetails.Name!, PrimaryImageUrl, fallbackImage, imageSettings),\n productInfo: renderProductInfo(input),\n productPrice: price && _renderPrice(input),\n productNumber: ItemId,\n productUnitOfMeasure: UnitOfMeasure || price?.UnitOfMeasure,\n productQuantityView: _generateQuantity(input, LineId!)\n };\n};\n\nexport interface IOrderTemplateProductQuantityViewProps {\n ContainerProps: INodeProps;\n input: React.ReactNode;\n}\n\n/**\n * On Change function.\n * @param onChangeQuantity -On change quantity function.\n * @param itemKey -String.\n * @param props -Order template line props.\n * @returns Set change quantity.\n */\nconst onChangeHandler = (\n onChangeQuantity: (orderTemplateLineId: string, quantity: number, props?: IOrderTemplateLineProps | undefined) => void,\n itemKey: string,\n props: IOrderTemplateLineProps\n) => (newValue: number) => {\n if (onChangeQuantity) {\n onChangeQuantity(itemKey, newValue, props);\n }\n};\n\nconst _generateQuantity = (props: IOrderTemplateLineProps, itemKey: string): React.ReactNode => {\n const { handlers, resources, quantity } = props;\n const { onChangeQuantity } = handlers;\n return (\n \n );\n};\n\nexport const _renderProductImage = (\n className: string,\n context: ICoreContext,\n heading: string,\n image?: string,\n fallbackImage?: string,\n imageSettings?: IImageSettings\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 if (image) {\n return (\n \n );\n }\n return null;\n};\n\nconst _renderPrice = (props: IOrderTemplateLineProps): JSX.Element | null => {\n const { price, context, moduleId, moduleTypeName, resources } = props;\n\n if (price) {\n return (\n \n );\n }\n return null;\n};\n\nconst _renderProductDimensions = (props: IOrderTemplateLineProps): (string | undefined)[] => {\n const { orderTemplateLine } = props;\n\n if (!orderTemplateLine.fullProduct || !orderTemplateLine.fullProduct.ProductDetails.Dimensions) {\n return [];\n }\n\n return orderTemplateLine.fullProduct.ProductDetails.Dimensions.map(dimension => {\n if (!dimension.DimensionValue || !dimension.DimensionValue.Value) {\n return undefined;\n }\n\n return dimension.DimensionValue.Value;\n });\n};\n\nexport const renderProductInfo = (props: IOrderTemplateLineProps): React.ReactNode | undefined => {\n const { orderTemplateLine, productUrl } = props;\n const name = orderTemplateLine.fullProduct?.ProductDetails.Name;\n\n const dimensions = _renderProductDimensions(props);\n if (!orderTemplateLine.fullProduct) {\n return [];\n }\n\n const productName = productUrl ? (\n \n {name}\n \n ) : (\n
    {name}
    \n );\n\n const dimensionsLine: string = dimensions.join(', ');\n\n return (\n
    \n
    {productName}
    \n
    {dimensionsLine}
    \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 classnames from 'classnames';\nimport * as React from 'react';\n\nimport { orderTemplateLinesStatus } from '../order-template';\n\nexport interface IOrderTemplateLinesStatusMessageProps {\n className?: string;\n errorType: orderTemplateLinesStatus;\n text?: string;\n}\n\nexport const OrderTemplateLinesStatusMessage: React.FC = ({ className, errorType, text }) => {\n switch (errorType) {\n case 'EMPTY':\n return

    {text}

    ;\n case 'FAILED':\n return

    {text}

    ;\n case 'LOADING':\n default:\n return

    {text}

    ;\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\nimport { IOrderTemplateLineViewModel } from '../order-template';\n\nexport interface IOrderTemplateTableHeadingProps {\n selectAllRowsText?: string;\n productNumber: string;\n productName: string;\n productUnitPrice: string;\n productUOM: string;\n productQuantity: string;\n productActions: string;\n lines: IOrderTemplateLineViewModel[];\n isMobile: boolean;\n clickHandler(isChecked: boolean): void;\n productImage?: string;\n}\n\n/**\n * Order Template's table state.\n */\nexport interface IOrderTemplateTableHeadingState {\n isChecked: boolean;\n}\n\nexport interface IOrderTemplateTableShortHeading {\n productNumber: string;\n productActions: string;\n}\n\n/**\n * Order Template's table heading.\n */\nexport class OrderTemplateTableHeading extends React.PureComponent {\n public state: IOrderTemplateTableHeadingState = {\n isChecked: false\n };\n\n private readonly componentClassName: string = 'ms-table';\n\n public static getDerivedStateFromProps(\n props: IOrderTemplateTableHeadingProps,\n state: IOrderTemplateTableHeadingState\n ): IOrderTemplateTableHeadingState {\n const checkedLines = props.lines.filter(line => !line.isChecked).length;\n let nextState = { ...state };\n nextState = { isChecked: checkedLines === 0 };\n return nextState;\n }\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 return (\n \n \n \n \n \n {!this.props.isMobile ? {this.props.productImage} : null}\n {this.props.productNumber}\n {!this.props.isMobile ? {this.props.productName} : null}\n {!this.props.isMobile ? {this.props.productUnitPrice} : null}\n {!this.props.isMobile ? {this.props.productUOM} : null}\n {!this.props.isMobile ? {this.props.productQuantity} : null}\n {!this.props.isMobile ? {this.props.productActions} : }\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 {\n IItemAddedToCartDialogData,\n IItemAddedToCartDialogResources,\n ILinesAddedToCartDialogResources,\n IOrderTemplateNameDialogResources,\n ItemAddedToCartDialog\n} from '@msdyn365-commerce/components';\nimport MsDyn365, { AsyncResult, getUrlSync, IRequestContext } from '@msdyn365-commerce/core';\nimport { ICartActionResult } from '@msdyn365-commerce/global-state';\nimport { ProductList, ProductListLine } from '@msdyn365-commerce/retail-proxy';\nimport {\n deleteAsync,\n removeProductListLinesAsync,\n updateProductListLinesAsync\n} from '@msdyn365-commerce/retail-proxy/dist/DataActions/ProductListsDataActions.g';\nimport { SimpleProduct } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport {\n getPriceForSelectedVariant,\n getProductUrlSync,\n ObjectExtensions,\n OrderTemplate,\n OrderTemplateLine,\n PriceForSelectedVariantInput\n} from '@msdyn365-commerce-modules/retail-actions';\nimport {\n Alert,\n getTelemetryObject,\n Heading,\n IModuleProps,\n INodeProps,\n ITelemetryContent,\n UncontrolledPagination\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport debounce from 'lodash/debounce';\nimport { action, computed, observable } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport {\n IOrderTemplateActionsProps,\n IOrderTemplateActionsViewProps,\n IOrderTemplateLineProps,\n IOrderTemplateLineViewProps,\n IOrderTemplateTableHeadingProps,\n OrderTemplateActionsView,\n OrderTemplateLinesStatusMessage,\n OrderTemplateLineView,\n OrderTemplateMobileLineView,\n OrderTemplateTableHeading\n} from '../..';\nimport { ActiveOrderTemplateLinesInput } from './actions/get-order-template';\nimport { OrderTemplateBulkActions } from './components/bulk-actions';\nimport { IOrderTemplateData } from './order-template.data';\nimport { IOrderTemplateProps, IOrderTemplateResources } from './order-template.props.autogenerated';\nimport Spinner from './components/add-line/spinner';\n\nexport interface IOrderTemplateLineActionMessageState {\n itemKey: string;\n userMessage: string;\n statusCssString: string;\n messageGlyph: string;\n isOpen: boolean;\n isItemAddedToOrderTemplateOpen: boolean;\n isConfirmAddSelectionToBagModalOpen: boolean;\n itemAddedToCartDialogData?: IItemAddedToCartDialogData;\n productSelection: IOrderTemplateLineViewModel[];\n isDetailsDisplayed: boolean;\n detailedProductView?: IOrderTemplateLineViewProps;\n isQuantityDisabledForUpdate?: boolean;\n}\n\nexport type orderTemplateLinesStatus = 'LOADING' | 'SUCCESS' | 'FAILED' | 'EMPTY';\ntype GridSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\nexport interface IOrderTemplateViewProps extends IOrderTemplateProps {\n OrderTemplateLines: IModuleProps;\n callbacks?: IOrderTemplateLinesCallbacks;\n status?: orderTemplateLinesStatus;\n statusMessage?: React.ReactNode;\n heading?: React.ReactNode;\n OrderTemplateActions?: INodeProps;\n ProductsTable?: INodeProps;\n ProductsTableRow?: INodeProps;\n ProductsTableHeading?: React.ReactNode;\n ProductDetails?: INodeProps;\n orderLines?: IOrderTemplateLineViewProps[];\n productListLines?: ProductListLine[];\n productsStatusMessage?: React.ReactNode;\n orderActions?: IOrderTemplateActionsViewProps | null;\n resources: IOrderTemplateResources;\n pagination?: React.ReactNode;\n itemAddedToCartDialog?: React.ReactNode;\n bulkOrderLineActions?: React.ReactNode;\n isDetailsDisplayed?: boolean;\n detailedProduct?: IOrderTemplateLineProps;\n detailedProductView?: IOrderTemplateLineViewProps;\n productQuantityView?: React.ReactNode;\n addButton?: React.ReactNode;\n isMobile?: boolean;\n toggleDetailsDisplayed?(props: IOrderTemplateLineProps | undefined): void;\n}\n\nexport interface IOrderTemplateLinesCallbacks {\n updateQuantity(itemKey: string, quantity: number): void;\n}\n\nexport interface IOrderTemplateLineViewModel extends OrderTemplateLine {\n isChecked: boolean;\n productQuantityView: React.ReactNode;\n}\n\n/**\n *\n * OrderTemplateLines component.\n * @extends {React.PureComponent, IOrderTemplateLineActionMessageState>}\n */\n@observer\nclass OrderTemplateLines extends React.Component, IOrderTemplateLineActionMessageState> {\n private readonly className: string;\n\n private readonly telemetryContent?: ITelemetryContent;\n\n @observable\n private _viewport: GridSize;\n\n @computed get isMobile(): boolean {\n return this._viewport === 'xs' || this._viewport === 'sm';\n }\n\n constructor(props: IOrderTemplateProps, state: IOrderTemplateLineActionMessageState) {\n super(props);\n this.className = 'ms-order-template';\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\n this.state = {\n itemKey: '',\n userMessage: '',\n statusCssString: 'success',\n messageGlyph: 'fas fa-check',\n isOpen: false,\n isItemAddedToOrderTemplateOpen: false,\n isConfirmAddSelectionToBagModalOpen: false,\n productSelection: [],\n isDetailsDisplayed: false,\n isQuantityDisabledForUpdate: false\n };\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n this._updateViewport();\n\n if (MsDyn365.isBrowser && !this.props.context.request.user.isAuthenticated && !this.props.context.request.params.isEditor) {\n window.location.assign(this.props.context.request.user.signInUrl || '/');\n }\n }\n\n @action\n public async componentDidMount(): Promise {\n this.setState({});\n const orderTemplate = await this.props.data.orderTemplate;\n this.props.config.heading!.text = orderTemplate?.productList.Name || '';\n this.setState({\n productSelection: orderTemplate?.orderTemplateLines as IOrderTemplateLineViewModel[]\n });\n\n if (MsDyn365.isBrowser) {\n window.addEventListener('resize', this._updateViewport);\n this._updateViewport();\n }\n }\n\n public componentWillUnmount(): void {\n if (MsDyn365.isBrowser) {\n window.removeEventListener('resize', this._updateViewport);\n }\n }\n\n public shouldComponentUpdate(\n nextProps: IOrderTemplateProps,\n nextState: IOrderTemplateLineActionMessageState\n ): boolean {\n if (this.state === nextState && this.props === nextProps) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | null {\n const { heading, className } = this.props.config;\n const { emptyOrderTemplateLinesText, errorGettingOrderTemplateLines } = this.props.resources;\n const { orderTemplate, cart } = this.props.data;\n\n if (cart.status === 'LOADING' || ObjectExtensions.isNullOrUndefined(orderTemplate) || orderTemplate.status === 'LOADING') {\n const errorProps: IOrderTemplateViewProps = {\n ...(this.props as IOrderTemplateProps),\n OrderTemplateLines: {\n moduleProps: this.props,\n className: classnames(this.className, className)\n },\n status: 'LOADING',\n statusMessage: ,\n heading: heading && ,\n resources: this.props.resources\n };\n return this.props.renderView(errorProps);\n }\n\n if (cart.status === 'FAILED' || orderTemplate.status === 'FAILED') {\n const errorProps: IOrderTemplateViewProps = {\n ...(this.props as IOrderTemplateProps),\n OrderTemplateLines: {\n moduleProps: this.props,\n className: classnames(`${this.className}`, className)\n },\n status: 'FAILED',\n statusMessage: ,\n heading: heading && ,\n resources: this.props.resources\n };\n\n return this.props.renderView(errorProps);\n }\n\n const orderTemplateResult = orderTemplate && orderTemplate.result;\n const orderTemplateLines = orderTemplateResult && orderTemplateResult.orderTemplateLines;\n\n if (!orderTemplateResult || !orderTemplateLines || orderTemplateLines.length === 0) {\n if (orderTemplateResult && !this._isFirstPage() && MsDyn365.isBrowser) {\n window.location.href = this._getOrderTemplatePageUrl();\n return null;\n }\n\n const emptyViewProps: IOrderTemplateViewProps = {\n ...(this.props as IOrderTemplateProps),\n OrderTemplateLines: {\n moduleProps: this.props,\n className: classnames(`${this.className}`, className)\n },\n status: 'EMPTY',\n statusMessage: ,\n heading: heading && ,\n resources: this.props.resources,\n orderActions: orderTemplateResult && this._renderOrderTemplateActions(orderTemplateResult),\n bulkOrderLineActions: orderTemplateResult && this._getOrderTemplateLineActions(orderTemplateResult.productList.Id),\n OrderTemplateActions: {\n className: `${this.className}-action-bar`,\n tag: 'div'\n }\n };\n\n return this.props.renderView(emptyViewProps);\n }\n\n const viewProps: IOrderTemplateViewProps = {\n ...(this.props as IOrderTemplateProps),\n OrderTemplateLines: {\n moduleProps: this.props,\n className: classnames(`${this.className}`, className)\n },\n status: 'SUCCESS',\n productsStatusMessage: this.state.isOpen && (\n
    \n \n {this.state.userMessage}\n \n
    \n ),\n heading: heading && ,\n OrderTemplateActions: {\n className: `${this.className}-action-bar`,\n tag: 'div'\n },\n ProductsTable: {\n className: `${this.className}__table`,\n tag: 'table',\n role: 'grid'\n },\n ProductsTableRow: {\n className: `${this.className}-table-line`,\n tag: 'tr'\n },\n ProductsTableHeading: this._renderProductListHeader(this.props.resources),\n ProductDetails: {\n className: `${this.className}-table-line__link`,\n tag: 'a'\n },\n orderLines: this._renderProductList(),\n callbacks: { updateQuantity: debounce(this._changeQuantity, 2000) },\n orderActions: this._renderOrderTemplateActions(orderTemplateResult),\n pagination: this._renderPagination(),\n itemAddedToCartDialog: this._renderItemAddedToCartDialog(),\n bulkOrderLineActions: this._getOrderTemplateLineActions(orderTemplateResult.productList.Id),\n isDetailsDisplayed: this.state.isDetailsDisplayed,\n toggleDetailsDisplayed: this._toggleDetailsDisplayed,\n detailedProductView: this.state.detailedProductView,\n isMobile: this.isMobile\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public onSelect(line: IOrderTemplateLineViewModel, isChecked: boolean): void {\n line.isChecked = isChecked;\n\n const updated =\n this.state.productSelection.map(product => {\n if (product.fullProduct?.ProductDetails.ItemId === line.fullProduct?.ProductDetails.ItemId) {\n line.isChecked = isChecked;\n }\n return product;\n }) || [];\n\n this.setState({\n productSelection: updated\n });\n }\n\n public onSelectAll(isChecked: boolean): void {\n const updated =\n this.state.productSelection.map(line => {\n line.isChecked = isChecked;\n return line;\n }) || [];\n\n this.setState({\n productSelection: updated\n });\n }\n\n private _renderProductListHeader(resources: IOrderTemplateResources): React.ReactNode {\n const {\n productImage,\n productNumberText,\n productText,\n productUnitPriceText,\n productUOMText,\n productQuantityText,\n productActionsText,\n selectAllRowsText\n } = resources;\n const headers: IOrderTemplateTableHeadingProps = {\n productImage: productImage,\n productNumber: productNumberText,\n productName: productText,\n productUnitPrice: productUnitPriceText,\n productUOM: productUOMText,\n productQuantity: productQuantityText,\n productActions: productActionsText,\n selectAllRowsText,\n lines: this.state.productSelection,\n isMobile: this.isMobile,\n clickHandler: (isChecked: boolean) => {\n this.onSelectAll(isChecked);\n }\n };\n\n return ;\n }\n\n private _getOrderTemplateLineActions(orderTemplateId: string): React.ReactNode {\n return (\n line.isChecked)}\n onAddSelectionToBag={this._onAddSelectionToBag}\n onRemoveSelection={this._onRemoveSelection}\n isMinifiedView={this.isMobile}\n />\n );\n }\n\n private _generateLinesAddedToCartDialogResources(): ILinesAddedToCartDialogResources {\n return {\n viewCartButtonText: this.props.resources.viewCartButtonText,\n orderTemplateCloseButtonText: this.props.resources.orderTemplateCloseButtonText,\n linesAddedToCartHeaderItemsOneText: this.props.resources.linesAddedToCartHeaderItemsOneText,\n linesAddedToCartHeaderLinesOneText: this.props.resources.linesAddedToCartHeaderLinesOneText,\n linesAddedToCartHeaderLinesFormatText: this.props.resources.linesAddedToCartHeaderLinesFormatText,\n linesAddedToCartHeaderMessageText: this.props.resources.linesAddedToCartHeaderMessageText\n };\n }\n\n private _generateItemAddedToCartDialogResources(): IItemAddedToCartDialogResources {\n return {\n viewCartButtonText: this.props.resources.viewCartButtonText,\n orderTemplateCloseButtonText: this.props.resources.orderTemplateCloseButtonText,\n itemAddedToCartHeaderItemOneText: this.props.resources.itemAddedToCartHeaderItemOneText,\n itemAddedToCartHeaderItemFormatText: this.props.resources.itemAddedToCartHeaderItemFormatText,\n itemAddedToCartHeaderMessageText: this.props.resources.itemAddedToCartHeaderMessageText,\n freePriceText: this.props.resources.freePriceText,\n originalPriceText: this.props.resources.originalPriceText,\n currentPriceText: this.props.resources.currentPriceText\n };\n }\n\n private readonly _onRemoveSelection = (): void => {\n const { context, resources } = this.props;\n const { telemetry } = context;\n const { removeSelectedFailureMessage, removeSelectedSuccessMessage } = resources;\n const lines = this.state.productSelection;\n const productListLines = lines && lines.length && lines.filter(line => line.isChecked).map(line => line.productListLine);\n\n if (productListLines && productListLines.length > 0) {\n const productListId = productListLines[0].ProductListId;\n\n const maxWaitTimeInMilliSeconds: number = 1000;\n removeProductListLinesAsync({ callerContext: context.actionContext }, productListId!, productListLines)\n .then(async () => {\n this.setState({\n userMessage: removeSelectedSuccessMessage,\n statusCssString: 'success',\n messageGlyph: 'fas fa-check',\n isOpen: true\n });\n // eslint-disable-next-line no-promise-executor-return -- fix\n await new Promise(resolve => setTimeout(resolve, maxWaitTimeInMilliSeconds));\n window.location.reload();\n })\n .catch(error => {\n telemetry.warning('[order-template-lines] Unable remove items from the order template lines');\n telemetry.error(error);\n this.setState({\n userMessage: removeSelectedFailureMessage,\n statusCssString: 'success',\n messageGlyph: 'fas fa-check',\n isOpen: true\n });\n });\n }\n };\n\n private readonly _getOrderTemplatePageUrl = (): string => {\n let url = getUrlSync('ordertemplate', this.props.context.actionContext) || '';\n url = url.includes('?') ? url.substr(0, url.indexOf('?')) : url;\n if (this.props.data.orderTemplate?.result?.productList.Id) {\n return `${url}?id=${this.props.data.orderTemplate.result.productList.Id}`;\n }\n return '';\n };\n\n private readonly _onAddSelectionToBag = async (): Promise => {\n const lines = this.state.productSelection;\n const selectedLines = lines.filter(line => line.isChecked);\n if (selectedLines.length > 0) {\n for (const productLine of selectedLines) {\n const itemKey = productLine.fullProduct?.ProductDetails.ItemId ?? '';\n const product = productLine.fullProduct?.ProductDetails ?? {\n RecordId: 0,\n ProductTypeValue: 0,\n BasePrice: 0,\n Price: 0,\n AdjustedPrice: 0\n };\n const quantity = productLine.productListLine.Quantity ?? 0;\n this._addItemToBag(product, quantity, itemKey);\n }\n }\n return Promise.resolve(void 0);\n };\n\n private _renderOrderTemplateActions(orderTemplate: OrderTemplate): IOrderTemplateActionsViewProps {\n const { id, typeName, context, resources } = this.props;\n const {\n addTemplateToBagButtonText,\n renameTemplateButtonText,\n deleteTemplateButtonText,\n closeWindowButtonText,\n addToCartFailureMessage,\n addToCartSuccessMessage,\n addToCartProcessMessage,\n orderTemplateErrorMessage\n } = resources;\n\n const orderTemplateActions: IOrderTemplateActionsProps = {\n data: { orderTemplate },\n id,\n typeName,\n context,\n telemetryContent: this.telemetryContent,\n handlers: {\n onRenameTemplate: this._renameTemplate,\n onRemoveTemplate: this._removeTemplate\n },\n renameOrderTemplateDialogStrings: this._generateOrderTemplateNameDialogResources(resources),\n resources: {\n addTemplateToBagButtonText,\n renameTemplateButtonText,\n deleteTemplateButtonText,\n addToCartFailureMessage,\n addToCartSuccessMessage,\n addToCartProcessMessage,\n closeWindowButtonText,\n orderTemplateErrorMessage,\n linesAddedToCartDialogResources: this._generateLinesAddedToCartDialogResources()\n }\n };\n\n return OrderTemplateActionsView(orderTemplateActions);\n }\n\n private _generateOrderTemplateNameDialogResources(resources: IOrderTemplateResources): IOrderTemplateNameDialogResources {\n return {\n orderTemplateHeaderLabel: resources.renameOrderTemplateTitleText,\n orderTemplateTitleLabel: resources.orderTemplateTitle,\n orderTemplateNameAriaLabel: resources.orderTemplateTitle,\n orderTemplateDescription: '',\n defaultOrderTemplateName: resources.defaultOrderTemplateName,\n orderTemplateButtonLabel: resources.renameOrderTemplateButtonText,\n orderTemplateCancelButtonLabel: resources.cancelBtnLabel\n };\n }\n\n private readonly _getCurrentUrl = (reqContext: IRequestContext): URL => {\n if (MsDyn365.isBrowser) {\n return new URL(window.location.href);\n }\n return new URL(reqContext.url.requestUrl.href);\n };\n\n /**\n * On close handler.\n */\n private readonly onCloseHandler = () => {\n this.setState({\n itemKey: this.state.itemKey,\n userMessage: this.state.userMessage,\n statusCssString: this.state.statusCssString,\n messageGlyph: this.state.messageGlyph,\n isOpen: this.state.isOpen,\n isItemAddedToOrderTemplateOpen: false\n });\n };\n\n private readonly _renderItemAddedToCartDialog = (): React.ReactNode | null => {\n if (!this.state.itemAddedToCartDialogData) {\n return null;\n }\n\n return (\n \n );\n };\n\n private _isFirstPage(): boolean {\n return this._getCurrentPageNumber() === 0;\n }\n\n private _getCurrentPageNumber(): number {\n const itemsPerPage = this.props.config.itemsPerPage || 50;\n return (this.props.context.request.query && +this.props.context.request.query.skip / itemsPerPage) || 0;\n }\n\n private readonly _renderPagination = (): React.ReactNode | null => {\n const { config, context, data, resources } = this.props;\n const orderTemplate = data && data.orderTemplate && data.orderTemplate.result;\n if (!orderTemplate) {\n return null;\n }\n\n const fullUrl = this._getCurrentUrl(context.request);\n const itemsPerPage = config.itemsPerPage || 50;\n const currentPageNumber = this._getCurrentPageNumber();\n const skipCount = currentPageNumber * itemsPerPage;\n const totalItems = orderTemplate && orderTemplate.totalLines;\n const previousText = resources.flipperPrevious;\n const nextText = resources.flipperNext;\n\n if (totalItems <= itemsPerPage) {\n return null;\n }\n\n return (\n \n );\n };\n\n private _renderProductList(): IOrderTemplateLineViewProps[] {\n const {\n selectOneRowText,\n moreButtonText,\n viewProductDetailsText,\n priceFree,\n originalPriceText,\n currentPriceText,\n addOrderTemplateItemToBagButtonText,\n removeItemFromOrderTemplateButtonText,\n productDimensionTypeColor,\n productDimensionTypeSize,\n productDimensionTypeStyle,\n inputQuantityAriaLabel,\n deleteButtonText,\n incrementButtonAriaLabel,\n decrementButtonAriaLabel\n } = this.props.resources;\n\n const { context, telemetry } = this.props;\n const { imageSettings } = this.props.config;\n\n return this.state.productSelection.map((line, index) => {\n const currentProductProps: IOrderTemplateLineProps = {\n orderTemplateLine: line,\n productListLine: line.productListLine,\n price: line.fullProduct?.ProductPrice,\n context,\n isQuantityDisabledForUpdate: this.state.isQuantityDisabledForUpdate,\n productUrl: line.fullProduct ? getProductUrlSync(line.fullProduct.ProductDetails, context.actionContext, undefined) : '',\n imageSettings,\n telemetry,\n moduleId: this.props.id,\n moduleTypeName: this.props.typeName,\n quantity: line.productListLine.Quantity!,\n handlers: {\n onAddToBag: this._addItemToBag,\n onRemoveItem: this._removeItemFromOrderTemplateLines,\n onChangeQuantity: this._changeQuantity,\n onSelect: this.onSelect.bind(this)\n },\n resources: {\n selectOneRowText,\n moreButtonText,\n viewProductDetailsText,\n productDimensionTypeColor,\n productDimensionTypeSize,\n productDimensionTypeStyle,\n freePriceText: priceFree,\n originalPriceText,\n currentPriceText,\n inputQuantityAriaLabel,\n removeFromOrderTemplateLinesText: removeItemFromOrderTemplateButtonText,\n addToBagButtonText: addOrderTemplateItemToBagButtonText,\n deleteButtonText,\n incrementButtonAriaLabel,\n decrementButtonAriaLabel\n },\n index,\n isMobile: this.isMobile,\n toggleDetailsDisplayed: this._toggleDetailsDisplayed\n };\n\n return OrderTemplateLineView(currentProductProps)!;\n });\n }\n\n private readonly _toggleDetailsDisplayed = (props: IOrderTemplateLineProps): void => {\n let state = {\n isDetailsDisplayed: !this.state.isDetailsDisplayed\n };\n if (props) {\n state = {\n ...state,\n ...{\n detailedProductView: OrderTemplateMobileLineView(props)\n }\n };\n }\n this.setState(state);\n };\n\n // Dismiss alert when addingToCart/removeItem\n private readonly _onDismiss = () => {\n this.setState({\n isOpen: false\n });\n };\n\n private readonly _changeQuantity = (itemKey: string, quantity: number, props?: IOrderTemplateLineProps) => {\n const { context, data, telemetry, config, resources } = this.props;\n const { orderTemplate } = data;\n\n if (context) {\n if (orderTemplate?.result) {\n const orderTemplateLinesData = orderTemplate.result.orderTemplateLines;\n if (orderTemplateLinesData) {\n const orderLineIndex = orderTemplateLinesData.findIndex(\n (lines: OrderTemplateLine) => lines.productListLine.LineId === itemKey\n );\n const newProductListLine = { ...orderTemplateLinesData[orderLineIndex] };\n if (orderTemplateLinesData[orderLineIndex].productListLine.Quantity === quantity) {\n return;\n }\n const prevQuantity = newProductListLine.productListLine.Quantity;\n newProductListLine.productListLine.Quantity = quantity;\n const { fullProduct, ...line } = newProductListLine;\n\n // Update mobile modal\n if (props) {\n props.quantity = quantity;\n this.setState({\n detailedProductView: OrderTemplateMobileLineView(props)\n });\n }\n\n this.setState({\n isQuantityDisabledForUpdate: true\n });\n\n updateProductListLinesAsync({ callerContext: context.actionContext }, orderTemplate.result.productList.Id, [\n line.productListLine\n ])\n .then(list => {\n this.setState({\n itemKey,\n userMessage: '',\n statusCssString: 'success',\n messageGlyph: 'fas fa-check',\n isQuantityDisabledForUpdate: false,\n isOpen: false\n });\n if (list) {\n const newLine = list.find(lines => lines.LineId === itemKey);\n orderTemplateLinesData[orderLineIndex].productListLine = newLine!;\n const updatedLines = [...orderTemplateLinesData];\n updatedLines[orderLineIndex] = { fullProduct, productListLine: newLine! };\n const updatedOrderTemplate = { ...orderTemplate.result, ProductListLines: updatedLines };\n context.actionContext.update(\n new ActiveOrderTemplateLinesInput(context.actionContext.requestContext, config),\n updatedOrderTemplate\n );\n }\n })\n .catch(error => {\n telemetry.warning('[order-template-lines] Unable to update product quantity.');\n telemetry.error(error);\n const userMessage = resources.editOrderTemplateLineQuantityError;\n if (props) {\n props && (props.productListLine.Quantity = prevQuantity);\n this.setState({\n itemKey,\n userMessage,\n statusCssString: 'danger',\n messageGlyph: 'fas fa-exclamation-triangle',\n isQuantityDisabledForUpdate: false,\n isOpen: true,\n detailedProductView: OrderTemplateMobileLineView(props)\n });\n } else {\n newProductListLine.productListLine.Quantity = prevQuantity;\n this.setState({\n itemKey,\n userMessage,\n statusCssString: 'danger',\n messageGlyph: 'fas fa-exclamation-triangle',\n isQuantityDisabledForUpdate: false,\n isOpen: true\n });\n }\n });\n }\n }\n }\n };\n\n private readonly _addItemToBag = (product: SimpleProduct, quantity: number, itemKey: string): void => {\n const { context, data, resources, telemetry } = this.props;\n const { cart } = data;\n const { maxQuantityLimitText, addedToCartFailureMessage } = resources;\n\n if (context) {\n if (cart.result) {\n const addProductToCartInput = {\n product,\n count: quantity\n };\n\n cart.result\n .addProductToCart(addProductToCartInput)\n .then((result: ICartActionResult) => {\n if (result.status === 'SUCCESS') {\n return getPriceForSelectedVariant(\n new PriceForSelectedVariantInput(\n product.RecordId,\n this.props.context.actionContext.requestContext.apiSettings.channelId,\n product\n ),\n this.props.context.actionContext\n ).then(priceResult => {\n if (!priceResult) {\n return AsyncResult.reject('Failed to retrieve product price');\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -- read config file.\n const isMiniCart = context.app.config.addToCartBehavior === 'showMiniCart';\n this.setState({\n itemKey,\n userMessage: '',\n statusCssString: 'success',\n messageGlyph: 'fas fa-check',\n isOpen: false,\n isItemAddedToOrderTemplateOpen: !isMiniCart,\n itemAddedToCartDialogData: {\n product,\n productPrice: priceResult,\n quantity\n },\n isDetailsDisplayed: false\n });\n return AsyncResult.resolve();\n });\n } else if (result.substatus === 'MAXQUANTITY') {\n const cartLineQuantity: number | undefined =\n cart.result?.cart.CartLines &&\n cart.result?.cart.CartLines.find(result => result.ProductId === product.RecordId)?.Quantity;\n const defaultMessage = `You can only add ${context.app.config.maxQuantityForCartLineItem} of this item to your shopping bag`;\n this.setState({\n itemKey,\n userMessage:\n cartLineQuantity !== undefined\n ? maxQuantityLimitText\n .replace('{curQuantity}', cartLineQuantity.toString())\n .replace('{maxQuantity}', context.app.config.maxQuantityForCartLineItem.toString()) ||\n defaultMessage\n : defaultMessage,\n statusCssString: 'danger',\n messageGlyph: 'fas fa-exclamation-triangle',\n isOpen: true\n });\n return AsyncResult.resolve();\n }\n telemetry.debug('[order-template-lines] Unable to Update Cart Line from the order template lines');\n this.setState({\n itemKey,\n userMessage: addedToCartFailureMessage,\n statusCssString: 'danger',\n messageGlyph: 'fas fa-exclamation-triangle',\n isOpen: true\n });\n return AsyncResult.resolve();\n })\n .catch((error: Error) => {\n telemetry.warning(error.message);\n telemetry.debug('[order-template-lines] Error trying to Update Cart Line from the order template lines');\n this.setState({\n itemKey,\n userMessage: addedToCartFailureMessage,\n statusCssString: 'danger',\n messageGlyph: 'fas fa-exclamation-triangle',\n isOpen: true\n });\n });\n }\n }\n };\n\n private readonly _removeItemFromOrderTemplateLines = (line: IOrderTemplateLineViewModel): void | undefined => {\n const { context, data, telemetry } = this.props;\n const { orderTemplate } = data;\n\n if (context && context.actionContext) {\n const maxWaitTimeInMilliSeconds: number = 1000;\n const userToken = context.request.user.isAuthenticated && context.request.user.token;\n if (userToken && orderTemplate?.result && line) {\n removeProductListLinesAsync({ callerContext: context.actionContext }, line.productListLine.ProductListId!, [\n line.productListLine\n ])\n .then(async () => {\n // eslint-disable-next-line no-promise-executor-return -- fix\n await new Promise(resolve => setTimeout(resolve, maxWaitTimeInMilliSeconds));\n window.location.reload();\n })\n .catch(error => {\n telemetry.warning('[order-template-lines] Unable remove items from the order template lines');\n telemetry.error(error);\n });\n } else {\n telemetry.warning(\n '[order-template-lines] Unable remove items from the order template lines user token or lineItemID was not found'\n );\n }\n }\n };\n\n private readonly _renameTemplate = async (_template: ProductList): Promise => {\n window.location.reload();\n return Promise.resolve();\n };\n\n private readonly _removeTemplate = () => {\n const { context, data, telemetry, resources } = this.props;\n const { orderTemplate } = data;\n\n if (context && context.actionContext) {\n const userToken = context.request.user.isAuthenticated && context.request.user.token;\n if (userToken && orderTemplate && orderTemplate.result) {\n deleteAsync({ callerContext: context.actionContext }, orderTemplate.result.productList)\n .then()\n .catch((error: string) => {\n telemetry.warning('[order-template] Unable to delete order template.');\n telemetry.error(error);\n this.setState({\n itemKey: orderTemplate.result?.productList.Id || '',\n userMessage: resources.deleteOrderTemplateFailedText,\n statusCssString: 'danger',\n messageGlyph: 'fas fa-exclamation-triangle',\n isOpen: true\n });\n });\n const newLink = getUrlSync('ordertemplatelist', this.props.context.actionContext);\n if (newLink) {\n window.location.assign(newLink);\n }\n } else {\n telemetry.warning('[order-template] Failed to delete order template. Order template was not found');\n }\n } else {\n telemetry.warning('[order-template] Failed to delete order template.');\n }\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 * Renders a Pagination previous text.\n * @param paginationPreviousText - Pagination previous text from resources.\n * @returns Previous text and flipper icon.\n */\n private readonly _renderPrev = (paginationPreviousText: string) => {\n return (\n
    \n
    \n );\n };\n\n /**\n * Renders a Pagination next text.\n * @param paginationNextText - Pagination next text from resources.\n * @returns Next text and flipper icon.\n */\n private readonly _renderNext = (paginationNextText: string) => {\n return (\n
    \n {paginationNextText}\n
    \n );\n };\n}\n\nexport default OrderTemplateLines;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Button, INodeProps, Modal, ModalBody, ModalFooter, ModalHeader, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IOrderTemplateLineViewProps } from './components';\nimport { IOrderTemplateViewProps } from './order-template';\n\nconst OrderTemplateLinesView: React.FC = (props: IOrderTemplateViewProps) => {\n const {\n OrderTemplateLines,\n status,\n statusMessage,\n heading,\n ProductsTable,\n ProductsTableHeading,\n orderLines,\n ProductsTableRow,\n productsStatusMessage,\n OrderTemplateActions,\n orderActions,\n pagination,\n itemAddedToCartDialog,\n bulkOrderLineActions,\n isDetailsDisplayed,\n detailedProductView,\n toggleDetailsDisplayed,\n resources: { cancelBtnLabel, productNumberText, productText, productUnitPriceText, productUOMText, productQuantityText }\n } = props;\n\n const toggleDetails = React.useCallback(() => {\n toggleDetailsDisplayed && toggleDetailsDisplayed(undefined);\n }, [toggleDetailsDisplayed]);\n\n return (\n \n {heading}\n {OrderTemplateActions && (\n \n {orderActions?.addTemplateToBag}\n {orderActions?.renameTemplate}\n {orderActions?.removeTemplate}\n {!isDetailsDisplayed && productsStatusMessage}\n \n )}\n {bulkOrderLineActions}\n {status !== 'SUCCESS' && statusMessage}\n {ProductsTable && orderLines && orderLines.length > 0 && (\n \n \n {ProductsTableHeading}\n \n {orderLines &&\n orderLines.map(product => {\n return _renderItem(product, productQuantityText, ProductsTableRow);\n })}\n \n \n {pagination}\n \n )}\n {itemAddedToCartDialog}\n \n Product Details\n \n
      \n
    • {detailedProductView?.productImage}
    • \n
    • \n {productText}:\n {detailedProductView?.productInfo}\n
    • \n
    • \n {productNumberText}:\n {detailedProductView?.productNumber}\n
    • \n
    • \n {productUnitPriceText}:\n {` `}\n {detailedProductView?.productPrice}\n
    • \n
    • \n {productUOMText}:\n {` `}\n {detailedProductView?.productUnitOfMeasure}\n
    • \n
    • \n {productQuantityText}:\n {detailedProductView?.productQuantityView}\n
    • \n {productsStatusMessage &&
    • {productsStatusMessage}
    • }\n
    \n
    \n \n \n \n \n
    \n );\n};\n\nconst _renderItem = (product: IOrderTemplateLineViewProps, quantityLabel: string, ProductsTableRow?: INodeProps): JSX.Element | null => {\n if (!product) {\n return null;\n }\n\n const {\n key,\n selectLine,\n productImage,\n productPrice,\n productNumber,\n addToBagButton,\n removeButton,\n productInfo,\n productUnitOfMeasure,\n productQuantityView,\n productQuantity,\n popUp,\n isMobile\n } = product;\n\n return (\n \n {selectLine}\n {productImage}\n {isMobile ? (\n \n
    {productNumber}
    \n
    \n {quantityLabel}:{` `}\n {productQuantity}\n
    \n \n ) : (\n {productNumber}\n )}\n {!isMobile && {productInfo}}\n {!isMobile && {productPrice}}\n {!isMobile && {productUnitOfMeasure}}\n {!isMobile && {productQuantityView}}\n {isMobile && {popUp}}\n {!isMobile && (\n \n {addToBagButton}\n {removeButton}\n \n )}\n
    \n );\n};\n\nexport default OrderTemplateLinesView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IProductsDimensionsAvailabilities } from '@msdyn365-commerce/commerce-entities';\nimport { IPriceComponentResources, ProductComponent } from '@msdyn365-commerce/components';\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getCatalogId, ICoreContext } from '@msdyn365-commerce/core';\nimport { ProductPrice, ProductSearchResult } from '@msdyn365-commerce/retail-proxy';\nimport {\n ArrayExtensions,\n DimensionAvailabilitiesForProductSearchResultInput,\n DimensionTypes,\n DimensionSwatchDisplayTypes,\n getDimensionAvailabilitiesForProductSearchResultAction,\n getPriceForProductSearchResult,\n IDimensionsApp,\n ObjectExtensions,\n PriceForProductSearchResultInput\n} from '@msdyn365-commerce-modules/retail-actions';\nimport {\n Button,\n getTelemetryObject,\n IComponentNodeProps,\n IModuleProps,\n INodeProps,\n ISingleSlideCarouselProps,\n ITelemetryContent,\n NodeTag,\n SingleSlideCarousel\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IProductCollectionData } from './product-collection.data';\nimport { IProductCollectionProps, layout } from './product-collection.props.autogenerated';\n\nexport interface IProductCollectionViewProps extends IProductCollectionProps {\n heading?: React.ReactNode;\n ProductCollectionContainer: IModuleProps;\n SingleSlideCarouselComponentProps: INodeProps;\n GridComponentProps: INodeProps;\n products: IProductComponentViewProps[];\n isCarousel: boolean;\n productPrices?: ProductPrice[];\n seeAllButton?: React.ReactNode;\n}\n\nexport interface IProductComponentViewProps {\n ProductContainer: INodeProps;\n productComponent: React.ReactNode;\n}\nexport interface IProductComponentState {\n products: ProductSearchResult[];\n productsDimensionAvailabilities?: IProductsDimensionsAvailabilities[][];\n}\n\n/**\n * ProductCollection component.\n */\nclass ProductCollection extends React.PureComponent, IProductComponentState> {\n private readonly telemetryContent: ITelemetryContent;\n\n private readonly productPrices: ProductPrice[];\n\n constructor(props: IProductCollectionProps) {\n super(props);\n this.productPrices = [];\n this.state = {\n products: this.props.config.productCollection.products || []\n };\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public async componentDidMount(): Promise {\n if (this.props.config.enableAffiliationBasedPricing && this.props.context.actionContext.requestContext.user.isAuthenticated) {\n await this._getActivePrice();\n }\n }\n\n public render(): JSX.Element | null {\n const { heading, className, shouldDisplaySeeAllButton } = this.props.config;\n const { resources } = this.props;\n const recommendation = this.props.config.productCollection.recommendationListId;\n\n // Initialize state in case if the products were not found during initial module render\n // eslint-disable-next-line @typescript-eslint/no-floating-promises -- Initialize data if not there.\n this.initProductState(this.props.config.productCollection);\n\n const products = this.state.products;\n const isCarousel = this.props.config.layout === layout.carousel;\n const headingLabel = heading ? heading.text : '';\n const headingComponent = heading && (\n \n );\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- product check for safety.\n const updatedProducts = products?.map((item: ProductSearchResult, index: number) => {\n const getProductData = this._getProduct(item, index);\n return !ObjectExtensions.isNullOrUndefined(getProductData) ? getProductData : undefined;\n });\n\n const productCollectionViewProps = {\n ...this.props,\n heading: headingComponent,\n SingleSlideCarouselComponentProps: {\n tag: SingleSlideCarousel,\n className: '',\n flipperPrevLabel: `${headingLabel} ${resources.flipperPrevious}`,\n flipperNextLabel: `${headingLabel} ${resources.flipperNext}`,\n parentId: this.props.id,\n telemetryContent: this.telemetryContent\n } as IComponentNodeProps,\n ProductCollectionContainer: {\n moduleProps: this.props,\n className: classnames('ms-product-collection', className)\n },\n GridComponentProps: {\n tag: 'ul' as NodeTag,\n className: 'ms-product-collection__items'\n },\n isCarousel,\n\n products:\n ArrayExtensions.hasElements(updatedProducts) &&\n updatedProducts.filter(item => {\n return item !== undefined;\n }),\n productPrices: this.productPrices,\n seeAllButton:\n recommendation && shouldDisplaySeeAllButton && ArrayExtensions.hasElements(updatedProducts)\n ? this._getSeeAllButton(recommendation, headingLabel)\n : undefined\n };\n return this.props.renderView(productCollectionViewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n /**\n * Get products dimension availabilities.\n * @param products - Products.\n * @returns Promise.\n */\n private readonly _getProductsDimensionsAvailabilities = async (products: ProductSearchResult[]): Promise => {\n const context = this.props.context as ICoreContext;\n const dimensionsToDisplayOnProductCard = context.app.config.dimensionsInProductCard;\n const dimensionsToDisplayAsSwatch = context.app.config.dimensionsAsSwatchType;\n const validProducts = ArrayExtensions.validValues(products);\n if (\n ArrayExtensions.hasElements(validProducts) &&\n ArrayExtensions.hasElements(dimensionsToDisplayOnProductCard) &&\n !dimensionsToDisplayOnProductCard.includes(DimensionTypes.none) &&\n ArrayExtensions.hasElements(dimensionsToDisplayAsSwatch) &&\n !dimensionsToDisplayAsSwatch.includes(DimensionTypes.none)\n ) {\n const productsDimensionAvailabilities = await getDimensionAvailabilitiesForProductSearchResultAction(\n new DimensionAvailabilitiesForProductSearchResultInput(\n validProducts,\n this.props.context as ICoreContext,\n DimensionSwatchDisplayTypes.productCard\n ),\n this.props.context.actionContext\n );\n\n if (ArrayExtensions.hasElements(productsDimensionAvailabilities)) {\n this.setState({ productsDimensionAvailabilities });\n }\n }\n };\n\n /**\n * Helper method to initialize products state.\n * @param productCollection - List of products.\n */\n private readonly initProductState = async (productCollection: Msdyn365.IProductList) => {\n let products = this.state.products;\n const productCollectionProducts = productCollection.products;\n if (!ArrayExtensions.hasElements(products) && ArrayExtensions.hasElements(productCollectionProducts)) {\n products = productCollectionProducts;\n this.setState({ products });\n } else if (\n ArrayExtensions.hasElements(products) &&\n ArrayExtensions.hasElements(productCollectionProducts) &&\n !ArrayExtensions.equals(products, productCollectionProducts)\n ) {\n products = productCollectionProducts;\n this.setState({ products });\n } else if (productCollectionProducts === undefined && ArrayExtensions.hasElements(this.state.products)) {\n products = [];\n this.setState({ products: products });\n }\n\n if (Msdyn365.msdyn365Commerce.isBrowser && !ArrayExtensions.hasElements(this.state.productsDimensionAvailabilities)) {\n await this._getProductsDimensionsAvailabilities(products);\n }\n };\n\n private readonly _getProduct = (product: ProductSearchResult, index: number): IProductComponentViewProps | null => {\n if (!product || !product.Name) {\n this.props.telemetry.trace('[product-collection] Product or product name is null');\n return null;\n }\n const telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n const { imageSettings, allowBackNavigation } = this.props.config;\n const resources = this.props.resources;\n const breaCrumbType = this.props.context.app.config.breadcrumbType;\n const allowBack = allowBackNavigation && (breaCrumbType === 'back' || breaCrumbType === 'categoryAndBack');\n const quickviewSlot =\n this.props.slots && this.props.slots.quickview && this.props.slots.quickview.length > 0 ? this.props.slots.quickview[0] : null;\n const productComparisonButtonSlot = ArrayExtensions.hasElements(this.props.slots.productComparisonButton)\n ? this.props.slots.productComparisonButton[0]\n : null;\n\n const reviewCount = 1;\n const reviewTotalRatings = Number(product.TotalRatings);\n const reviewCountAriaLabelValue =\n reviewTotalRatings > reviewCount ? resources.ratingCountAriaLabel : resources.ratingCountAriaLabelSingleUser;\n const isPriceMinMaxEnabled = this.props.data.featureState.result?.find(\n featureState => featureState.Name === 'Dynamics.AX.Application.RetailSearchPriceRangeFeature'\n );\n const priceResources: IPriceComponentResources = {\n priceRangeSeparator: resources.priceRangeSeparator\n };\n return {\n ProductContainer: {\n tag: 'li' as NodeTag,\n className: 'ms-product-collection__item',\n role: 'listitem',\n key: index\n },\n productComponent: (\n \n ArrayExtensions.hasElements(dimensionAvailability) &&\n dimensionAvailability[0].masterProductId === (product.MasterProductId ?? product.RecordId)\n )}\n />\n )\n };\n };\n\n /**\n * Get the active price for products.\n */\n private readonly _getActivePrice = async (): Promise => {\n const productsList = this.state.products;\n const products = await getPriceForProductSearchResult(\n new PriceForProductSearchResultInput(productsList),\n this.props.context.actionContext\n );\n if (Msdyn365.msdyn365Commerce.isBrowser) {\n await this._getProductsDimensionsAvailabilities(products);\n }\n\n this.setState({ products });\n };\n\n /**\n * Get the see all button.\n * @param recommendation - Recommendation.\n * @param headingLabel - Heading label.\n * @returns IProductComponentSeeAllViewProps - Product component see all view props.\n */\n private readonly _getSeeAllButton = (recommendation: string, headingLabel: string): React.ReactNode => {\n const catalogId = getCatalogId(this.props.context.request);\n const seeAllLink = `/search?recommendation=${recommendation}&title=${headingLabel}&catalogid=${catalogId}`;\n return (\n \n {this.props.resources.seeAllButtonText}\n \n );\n };\n}\n\nexport default ProductCollection;\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 * as React from 'react';\n\nimport { IProductCollectionViewProps, IProductComponentViewProps } from './product-collection';\n\nconst ProductCollectionView: React.FC = props => {\n const {\n heading,\n ProductCollectionContainer,\n products,\n SingleSlideCarouselComponentProps,\n GridComponentProps,\n isCarousel,\n seeAllButton\n } = props;\n\n if (products) {\n return (\n \n {heading}\n {seeAllButton}\n {isCarousel ? _renderCarousel(SingleSlideCarouselComponentProps, products) : _renderGrid(GridComponentProps, products)}\n \n );\n }\n props.context.telemetry.error('Product collection content is empty, module wont render.');\n return null;\n};\n\nconst _renderCarousel = (carouselContainer: INodeProps, items: IProductComponentViewProps[]): JSX.Element => {\n return {items && items.map(_renderProduct)};\n};\n\nconst _renderGrid = (gridContainer: INodeProps, items: IProductComponentViewProps[]): JSX.Element => {\n return {items && items.map(_renderProduct)};\n};\n\nconst _renderProduct = (product: IProductComponentViewProps): JSX.Element => {\n const { ProductContainer, productComponent } = product;\n\n return {productComponent};\n};\n\nexport default ProductCollectionView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport msdyn365Commerce, { getCatalogId, getUrlSync, IImageSettings, Image } from '@msdyn365-commerce/core';\nimport { SimpleProduct } from '@msdyn365-commerce/retail-proxy';\nimport {\n ArrayExtensions,\n convertProductDimensionTypeToDimensionTypes,\n getFallbackImageUrl,\n getProductUrlSync,\n ObjectExtensions,\n Random,\n StringExtensions\n} from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, IModuleProps, isMobile, VariantType, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport React from 'react';\n\nimport { RemoveFromComparisonButtonComponent } from '../product-comparison';\nimport { ProductComparisonState } from '../product-comparison-state';\nimport {\n getProductsInPreviewProductComparisonAction,\n GetProductsInPreviewProductComparisonInput,\n IProductComparisonProductData\n} from './actions';\nimport { IProductComparisonPreviewData } from './product-comparison-preview.data';\nimport { IProductComparisonPreviewProps } from './product-comparison-preview.props.autogenerated';\n\n/**\n * Represents product comparison view props for main product info.\n */\nexport interface IProductComparisonPreviewProductMainInfo {\n productData: IProductComparisonProductData;\n productNameLink?: string;\n\n removeFromComparisonButton: React.ReactNode;\n productImage: React.ReactNode;\n productLink: React.ReactNode;\n}\n\n/**\n * Represents product comparison view props.\n */\nexport interface IProductComparisonPreviewViewProps extends IProductComparisonPreviewProps<{}> {\n moduleProps: IModuleProps;\n collapseButton: INodeProps;\n isMainContentReady: boolean;\n\n hasUserInteractedWithComparison?: boolean;\n isExpanded?: boolean;\n subheaderText?: string;\n productsMainInfo?: IProductComparisonPreviewProductMainInfo[];\n previewGreyPlaceHolders?: React.ReactNode;\n\n productComparisonLink?: string;\n goToComparisonButton?: React.ReactNode;\n clearAllButton?: React.ReactNode;\n\n handleCollapseClick?(): void;\n clearAllProductsFromTheComparison?(): void;\n removeProductFromList?(itemId: string): void;\n}\n\n/**\n * Extended props for the module including info about the product.\n */\nexport interface IProductComparisonPreviewState {\n isExpanded?: boolean;\n productsData?: IProductComparisonProductData[];\n greyPlaceHoldersCount?: number;\n}\n\n/**\n * Extended props for the module including info about the product.\n */\nexport interface IProductComparisonPreviewFullProps extends IProductComparisonPreviewProps {}\n\n/**\n * Represents the component which renders product comparison table.\n */\nexport class ProductComparisonPreview extends React.PureComponent {\n public static readonly className = 'ms-product-comparison-preview';\n\n public static readonly containerClassName = `${ProductComparisonPreview.className}__container`;\n\n public static readonly mainContainerClassName = `${ProductComparisonPreview.containerClassName}__main-container`;\n\n public static readonly headerClassName = `${ProductComparisonPreview.mainContainerClassName}__header`;\n\n public static readonly headerLabelClassName = `${ProductComparisonPreview.headerClassName}__label`;\n\n public static readonly tableClassName = `${ProductComparisonPreview.mainContainerClassName}__table`;\n\n public static readonly tableRowClassName = `${ProductComparisonPreview.tableClassName}__product-row`;\n\n public static readonly footerClassName = `${ProductComparisonPreview.mainContainerClassName}__footer`;\n\n public static readonly collapseButtonClassName = `${ProductComparisonPreview.headerClassName}__collapse`;\n\n public static _displayedInstanceId?: string;\n\n private readonly _instanceId: string;\n\n private _hasUserInteractedWithComparison: boolean;\n\n public constructor(props: IProductComparisonPreviewFullProps) {\n super(props);\n\n this.state = {};\n\n this._instanceId = `${ProductComparisonPreview.className}-${this.props.id}-${Random.Guid.generateGuid()}`;\n ProductComparisonPreview._displayedInstanceId = this._instanceId;\n\n this._hasUserInteractedWithComparison = false;\n }\n\n public componentDidMount(): void {\n if (this._instanceId !== ProductComparisonPreview._displayedInstanceId) {\n return;\n }\n\n this._loadProducts();\n ProductComparisonState.instance(this.props.context.request).listModifiedEvent.subscribe({\n instanceId: this._instanceId,\n\n /**\n * Updates the state in case the state for the particular product was changed.\n */\n handler: () => {\n this._hasUserInteractedWithComparison = true;\n // eslint-disable-next-line @typescript-eslint/no-floating-promises -- Initialize data downloading.\n this._loadProducts();\n }\n });\n }\n\n public componentWillUnmount(): void {\n ProductComparisonState.instance(this.props.context.request).listModifiedEvent.unsubscribe(this._instanceId);\n }\n\n public render(): React.ReactNode {\n if (this._instanceId !== ProductComparisonPreview._displayedInstanceId) {\n return null;\n }\n\n const viewProps: IProductComparisonPreviewViewProps = {\n ...this.props,\n moduleProps: {\n moduleProps: this.props,\n className: ProductComparisonPreview.className,\n id: this._instanceId\n },\n collapseButton: this._renderCollapseButton(),\n isMainContentReady: false,\n hasUserInteractedWithComparison: this._hasUserInteractedWithComparison\n };\n\n const productData = this._getProdutComparisonDataByCatalogId(this.state.productsData ?? this.props.data.productsData?.result);\n\n if (!ArrayExtensions.hasElements(productData)) {\n return this.props.renderView(viewProps);\n }\n\n viewProps.isMainContentReady = true;\n\n const productsLimit = this._getProductsLimit();\n if (!ObjectExtensions.isNullOrUndefined(productsLimit)) {\n viewProps.subheaderText = this.props.resources.productComparisonPreviewHeaderTextWithLimit\n .replace('{0}', productData.length.toString())\n .replace('{1}', productsLimit.toString());\n }\n\n viewProps.isExpanded = this.state.isExpanded;\n viewProps.handleCollapseClick = this._handleCollapseClick;\n viewProps.productsMainInfo = this._getProductsMainInfo(productData);\n viewProps.previewGreyPlaceHolders = this._renderGreyPlaceHolders(productData);\n viewProps.productComparisonLink = getUrlSync('product-comparison', this.props.context.actionContext);\n viewProps.clearAllProductsFromTheComparison = this._clearAllProductsFromTheComparison;\n viewProps.removeProductFromList = this._removeProductFromList;\n viewProps.goToComparisonButton = this._renderGoToComparisonButton(viewProps.productComparisonLink);\n viewProps.clearAllButton = this._renderClearAllButton();\n\n return this.props.renderView(viewProps);\n }\n private _getProdutComparisonDataByCatalogId(productData: IProductComparisonProductData[] | undefined): IProductComparisonProductData[] {\n const catalogId = getCatalogId(this.props.context.request);\n const productByCatalogId = productData?.filter(product => product.catalogId === catalogId) ?? [];\n return productByCatalogId;\n }\n private async _loadProducts(): Promise {\n const items = ProductComparisonState.instance(this.props.context.request).items;\n const input = new GetProductsInPreviewProductComparisonInput(items);\n const productData = await getProductsInPreviewProductComparisonAction(input, this.props.context.actionContext);\n const productDataByCatalogId = this._getProdutComparisonDataByCatalogId(productData);\n this.setState({ productsData: productDataByCatalogId });\n this._getGreyPlaceHoldersCount(productDataByCatalogId);\n }\n\n private _getGreyPlaceHoldersCount(productData: IProductComparisonProductData[]): number | undefined {\n if (productData && ArrayExtensions.hasElements(productData)) {\n const limit = this._getProductsLimit();\n if (limit && this.props.context.app.config.displayGreyPlaceHolders) {\n const placeHolder = limit - productData.length;\n this.setState({ greyPlaceHoldersCount: placeHolder });\n return placeHolder;\n }\n }\n return;\n }\n\n private _getProductsMainInfo(products: IProductComparisonProductData[]): IProductComparisonPreviewProductMainInfo[] {\n const productImageContainerClassName = `${ProductComparisonPreview.tableRowClassName}__product-image-container`;\n const productImageClassName = `${productImageContainerClassName}__product-image`;\n const productNameClassName = `${ProductComparisonPreview.tableRowClassName}__product-name`;\n\n return products.map(productData => {\n const product = productData.product;\n\n let productNameLink: string | undefined;\n if (msdyn365Commerce.isBrowser) {\n const productUrl = getProductUrlSync(product, this.props.context.actionContext);\n const fullUrl = new URL(productUrl, window.location.href);\n if (this.props.context.request.user.isB2b) {\n fullUrl.searchParams.set('catalogid', `${productData.catalogId}`);\n }\n product.Dimensions?.map(dimension => {\n const dimensionValue = dimension.DimensionValue?.Value;\n if (!StringExtensions.isNullOrWhitespace(dimensionValue)) {\n const dimensionName = convertProductDimensionTypeToDimensionTypes(dimension.DimensionTypeValue);\n fullUrl.searchParams.set(dimensionName, dimensionValue!);\n }\n });\n productNameLink = fullUrl.href;\n }\n\n return {\n productNameLink,\n productData,\n removeFromComparisonButton: (\n \n ),\n productImage: (\n \n {this._renderProductImage(productImageClassName, productData.product)}\n \n ),\n productLink: (\n \n {productData.product.Name}\n \n )\n };\n });\n }\n\n /**\n * Represents product comparison preview view.\n * @returns Elements.\n */\n private _renderGreyPlaceHolders = (productData: IProductComparisonProductData[]): React.ReactNode[] | undefined => {\n const counts = this.state.greyPlaceHoldersCount;\n if (this.props.context.app.config.displayGreyPlaceHolders && counts! > 0) {\n const elements = [];\n for (let index = 0; index < counts!; index++) {\n elements.push(\n \n
    \n \n );\n }\n return elements;\n }\n return;\n };\n\n /**\n * Removes the product from a list.\n * @param itemId - The id of a product to remove.\n */\n private readonly _removeProductFromList = (itemId: string): void => {\n ProductComparisonState.instance(this.props.context.request).removeItemById(itemId);\n this.setState(previousState => {\n return {\n productsData: previousState.productsData?.filter(item => item.itemId !== itemId)\n };\n });\n };\n\n /**\n * Toggle collapsing.\n */\n private readonly _handleCollapseClick: () => void = () => {\n this.setState(previousState => {\n return {\n isExpanded: !(previousState.isExpanded ?? this._hasUserInteractedWithComparison)\n };\n });\n };\n\n /**\n * Removes all products from the comparison.\n */\n private readonly _clearAllProductsFromTheComparison = () => {\n ProductComparisonState.instance(this.props.context.request).clearAll();\n this.setState({ productsData: [] });\n };\n\n private _getProductsLimit(): number | undefined {\n const viewport = isMobile({ variant: VariantType.Browser, context: this.props.context.request });\n if (viewport === 'xs' || viewport === 'sm') {\n return this.props.context.app.config.productComparisonMobileProductsLimit;\n }\n return this.props.context.app.config.productComparisonDesktopProductsLimit;\n }\n\n /**\n * Retrieves product image react node.\n * @param className - Class name to use.\n * @param product - Product info.\n * @returns React node.\n */\n private _renderProductImage(className: string, product?: SimpleProduct): React.ReactNode | undefined {\n if (ObjectExtensions.isNullOrUndefined(product)) {\n return undefined;\n }\n\n const defaultImageSettingQ = 'w=140&h=140&m=6';\n const defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: defaultImageSettingQ, w: 0, h: 0 },\n lg: { q: defaultImageSettingQ, w: 0, h: 0 },\n xl: { q: defaultImageSettingQ, w: 0, h: 0 }\n },\n lazyload: true\n };\n\n return (\n \n );\n }\n\n private _renderCollapseButton(): INodeProps {\n const shouldBeExpanded = this.state.isExpanded ?? this._hasUserInteractedWithComparison;\n const headerContainerClassName = `${ProductComparisonPreview.mainContainerClassName}__header_button`;\n let collapseClassName = `${ProductComparisonPreview.collapseButtonClassName}__expanded`;\n if (!shouldBeExpanded) {\n collapseClassName = `${ProductComparisonPreview.collapseButtonClassName}__collapsed`;\n }\n\n return {\n className: classnames(headerContainerClassName, ProductComparisonPreview.collapseButtonClassName, collapseClassName),\n onClick: this._handleCollapseClick,\n role: 'button',\n tabIndex: 0\n };\n }\n\n private _renderGoToComparisonButton(productComparisonLink: string | undefined): React.ReactNode {\n return (\n \n {this.props.resources.productComparisonCompareProductsButtonText}\n \n );\n }\n\n private _renderClearAllButton(): React.ReactNode {\n return (\n \n {this.props.resources.productComparisonClearAllProductsButtonText}\n \n );\n }\n}\n\nexport default ProductComparisonPreview;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport msdyn365Commerce from '@msdyn365-commerce/core';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IProductComparisonPreviewViewProps, ProductComparisonPreview } from './product-comparison-preview';\n\n/**\n * Represents product comparison preview view.\n * @param props - View props for product comparison preview.\n * @returns Functional component of product comparison preview.\n */\nexport const ProductComparisonPreviewViewFunctionalComponent: React.FC = props => {\n if (!props.isMainContentReady) {\n return null;\n }\n\n const shouldBeExpanded = props.isExpanded ?? props.hasUserInteractedWithComparison;\n\n const containerClassName = classnames(\n ProductComparisonPreview.mainContainerClassName,\n shouldBeExpanded ? '' : `${ProductComparisonPreview.mainContainerClassName}__collapsed`\n );\n\n return (\n \n \n \n \n \n \n \n \n \n {props.resources.productComparisonPreviewHeaderText}\n \n \n {props.subheaderText}\n \n \n \n \n \n \n \n {props.productsMainInfo?.map(info => {\n return (\n \n {info.removeFromComparisonButton}\n {info.productImage}\n \n );\n })}\n {props.previewGreyPlaceHolders}\n \n \n {props.productsMainInfo?.map(info => {\n return (\n \n {msdyn365Commerce.isBrowser ? info.productLink : undefined}\n \n );\n })}\n \n \n \n \n \n {props.clearAllButton}\n {props.goToComparisonButton}\n \n \n \n \n );\n};\n\nexport default ProductComparisonPreviewViewFunctionalComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getRichTextHtml, ICoreContext, ITelemetry } from '@msdyn365-commerce/core';\nimport { AttributeValue } from '@msdyn365-commerce/retail-proxy';\nimport { ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport React from 'react';\n\n/**\n * Represents resources for the component.\n */\nexport interface IProductSpecificationResources {\n productComparisonProductItemSpecificationTrue: string;\n productComparisonProductItemSpecificationFalse: string;\n}\n\n/**\n * Represent configuration of the component.\n */\nexport interface IProductSpecificationProps {\n telemetry: ITelemetry;\n specification?: AttributeValue;\n context: ICoreContext;\n\n resources: IProductSpecificationResources;\n}\n\n/**\n * Represents the product specification values that comes from the server.\n */\nexport enum SpecificationDataTypeValues {\n none = 0,\n currency = 1,\n dateTime = 2,\n decimal = 3,\n integer = 4,\n text = 5,\n boolean = 6,\n video = 40,\n image = 41\n}\n\n/**\n * Represents the component which renders product comparison table.\n */\nexport class ProductSpecification extends React.PureComponent {\n private static _renderCurrencyCell(product: AttributeValue): React.ReactNode | null {\n if (ObjectExtensions.isNullOrUndefined(product.CurrencyValue)) {\n return null;\n }\n\n return (\n \n {product.CurrencyCode}\n {product.CurrencyValue}\n \n );\n }\n\n private static _renderDateTimeCell(product: AttributeValue): React.ReactNode | null {\n if (ObjectExtensions.isFunction(product.DateTimeOffsetValue?.toUTCString)) {\n return null;\n }\n\n return {product.DateTimeOffsetValue!.toUTCString()};\n }\n\n private static _renderIntegerCell(product: AttributeValue): React.ReactNode | null {\n if (ObjectExtensions.isNullOrUndefined(product.IntegerValue)) {\n return null;\n }\n\n return {product.IntegerValue};\n }\n\n private static _renderDecimalCell(product: AttributeValue): React.ReactNode | null {\n if (ObjectExtensions.isNullOrUndefined(product.FloatValue)) {\n return null;\n }\n\n return {product.FloatValue};\n }\n\n private static _renderTextCell(product: AttributeValue): React.ReactNode | null {\n if (ObjectExtensions.isNullOrUndefined(product.TextValue)) {\n return null;\n }\n\n // eslint-disable-next-line react/no-danger -- Implementation is a copy.\n return ;\n }\n\n public constructor(props: IProductSpecificationProps) {\n super(props);\n }\n\n public render(): React.ReactNode | null {\n const specification = this.props.specification;\n if (ObjectExtensions.isNullOrUndefined(specification)) {\n return null;\n }\n\n switch (specification.DataTypeValue) {\n case SpecificationDataTypeValues.none:\n // Return span here instead of null so the row still shows\n return ;\n case SpecificationDataTypeValues.currency:\n return ProductSpecification._renderCurrencyCell(specification);\n case SpecificationDataTypeValues.dateTime:\n return ProductSpecification._renderDateTimeCell(specification);\n case SpecificationDataTypeValues.decimal:\n return ProductSpecification._renderDecimalCell(specification);\n case SpecificationDataTypeValues.integer:\n return ProductSpecification._renderIntegerCell(specification);\n case SpecificationDataTypeValues.text:\n return ProductSpecification._renderTextCell(specification);\n case SpecificationDataTypeValues.boolean:\n return this._renderTrueFalseCell(specification);\n case SpecificationDataTypeValues.video:\n this.props.telemetry.warning('Got video specification type, not supported yet so skipping line');\n return null;\n case SpecificationDataTypeValues.image:\n this.props.telemetry.warning('Got image specification type, not supported yet so skipping line');\n return null;\n default:\n this.props.telemetry.warning(`Got unknown specification type ${specification.DataTypeValue ?? 'null'} so skipping line`);\n return null;\n }\n }\n\n private _renderTrueFalseCell(product: AttributeValue): React.ReactNode | null {\n if (product.BooleanValue) {\n return {this.props.resources.productComparisonProductItemSpecificationTrue};\n }\n return {this.props.resources.productComparisonProductItemSpecificationFalse};\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IComponentProps } from '@msdyn365-commerce/core';\nimport { Button } from '@msdyn365-commerce-modules/utilities';\nimport React, { useCallback } from 'react';\n\n/**\n * Resources for the remove from comparison button component.\n */\nexport interface IRemoveFromComparisonButtonResources {\n productComparisonRemoveProductFromListAriaLabel: string;\n}\n\n/**\n * The configuration of the remove from comparison button component.\n */\nexport interface IRemoveFromComparisonButtonComponentProps extends IComponentProps {\n className: string;\n itemId: string;\n\n resources: IRemoveFromComparisonButtonResources;\n\n onClickHandler(itemId: string): void;\n}\n\n/**\n * Represents a button which handles adding to product comparison.\n * @param props - Configuration of the component.\n * @returns React functional component.\n */\nconst RemoveFromComparisonButtonFunctionalComponent: React.FC = (\n props: IRemoveFromComparisonButtonComponentProps\n) => {\n const onClick = useCallback(() => {\n props.onClickHandler(props.itemId);\n }, [props]);\n\n const { className } = props;\n\n return \n );\n }\n\n private readonly _goBack = (): void => {\n const backToShoppingUrl = getUrlSync('home', this.props.context.actionContext) || '';\n if (document.referrer === '') {\n window.location.href = backToShoppingUrl;\n } else {\n window.history.back();\n }\n };\n\n /**\n * Retrieves localized text for dimension.\n * @param dimensionId - Dimension id.\n * @returns Localized text.\n */\n private _getDimensionName(dimensionId: number): string | undefined {\n if (dimensionId === ProductDimensionType.Color) {\n return this.props.resources.productComparisonProductItemColorDimension;\n }\n if (dimensionId === ProductDimensionType.Size) {\n return this.props.resources.productComparisonProductItemSizeDimension;\n }\n\n if (dimensionId === ProductDimensionType.Style) {\n return this.props.resources.productComparisonProductItemStyleDimension;\n }\n return undefined;\n }\n\n private getUpdatedDimensionsProps(dimensionId: number, products: IProductComparisonProductMainInfo[]) {\n const dimensionClassName = `${ProductComparison.dimensionsRowClassName}__dimension-${dimensionId}`;\n const dimensionDescription = this._getDimensionName(dimensionId);\n const dimensionName = convertProductDimensionTypeToDimensionTypes(dimensionId);\n let dimensionSelectionType = SelectionType.text;\n\n const dimensionsAsSwatchConfiguration: DimensionTypes[] | undefined = this.props.context.app.config.dimensionsAsSwatchType;\n if (\n ArrayExtensions.hasElements(dimensionsAsSwatchConfiguration) &&\n !dimensionsAsSwatchConfiguration?.includes(DimensionTypes.none) &&\n dimensionsAsSwatchConfiguration?.includes(dimensionName)\n ) {\n dimensionSelectionType = SelectionType.swatch;\n }\n\n const productDimensionValues = products.map(productMainInfo => {\n let dimension: IDimensionResult[] = [];\n let textValue: string = '';\n let renderSwatch: JSX.Element | undefined;\n this.props.data.productsData?.result?.map(productsDimension => {\n if (productsDimension.productInfo.RecordId === productMainInfo.product.productInfo.RecordId) {\n dimension = productsDimension.dimensions?.dimensions ?? [];\n }\n return dimension;\n });\n\n if (dimensionSelectionType === SelectionType.swatch) {\n renderSwatch = (\n
    \n {dimension.map(dimensionItems => {\n return (\n \n {dimensionItems.result.map(dimensionItem => {\n let currentDimensionId: number | undefined;\n const swatches =\n dimensionItem.map(swatchItem => {\n let isDefaultDimension: boolean = false;\n const selectedDimensions = productMainInfo.product.productInfo.Dimensions?.filter(\n item => item.DimensionTypeValue === swatchItem.DimensionTypeValue\n );\n selectedDimensions?.map(selectedDimension => {\n if (\n selectedDimension.DimensionValue !== undefined &&\n selectedDimension.DimensionValue.DimensionId ===\n swatchItem.DimensionValue?.DimensionId\n ) {\n isDefaultDimension = true;\n }\n return isDefaultDimension;\n });\n\n if (swatchItem.DimensionTypeValue === dimensionId) {\n currentDimensionId = swatchItem.DimensionTypeValue;\n }\n const dimensionType = dimensionName;\n return {\n itemId: `${swatchItem.DimensionValue?.RecordId ?? ''}-${swatchItem.DimensionValue\n ?.Value ?? ''}`,\n value: swatchItem.DimensionValue?.Value ?? '',\n dimensionType,\n colorHexCode: swatchItem.DimensionValue?.ColorHexCode,\n imageUrl: swatchItem.DimensionValue?.ImageUrl,\n isDefault: isDefaultDimension\n };\n }) ?? [];\n if (currentDimensionId && currentDimensionId === dimensionId) {\n return (\n \n );\n }\n return null;\n })}\n
    \n );\n })}\n
    \n );\n }\n\n if (dimensionSelectionType === SelectionType.text) {\n dimension.map(item => {\n return item.result.map(items => {\n return items.map(dimensionItem => {\n if (dimensionItem.DimensionTypeValue === dimensionId) {\n const productDimensionSeperatorValue =\n textValue !== ''\n ? this.props.resources.productDimensionSeparator\n : this.props.resources.productDimensionSeparator.replace('/', '');\n textValue = textValue + format(productDimensionSeperatorValue, dimensionItem.DimensionValue?.Value ?? '');\n }\n return textValue;\n });\n });\n });\n }\n\n const dimensionProps = {\n RecordId: productMainInfo.product.productInfo.RecordId,\n Value: textValue,\n DimensionId: dimensionId,\n ImageUrl: productMainInfo.product.productInfo.PrimaryImageUrl\n };\n\n return {\n dimensionProps,\n productMainInfo,\n node: (\n
    \n {dimensionSelectionType === SelectionType.swatch ? renderSwatch : dimensionProps.Value}\n
    \n )\n };\n });\n return {\n dimensionId,\n dimensionName: dimensionDescription,\n dimensionClassName,\n productDimensionValues\n };\n }\n private _getSpecificationProps(specifications: AttributeValue[], products: IProductComparisonProductMainInfo[]) {\n return specifications.map(specification => {\n const specificationClassName = `${ProductComparison.specificationsRowClassName}__specification-${specification.Name!}`;\n\n const specificationValues = products.map(productMainInfo => {\n const productSpecification = productMainInfo.product.specifications?.specificationsList.find(\n productSpecifications => productSpecifications.Name === specification.Name\n );\n\n return {\n productSpecification,\n productMainInfo,\n node: (\n
    \n \n
    \n )\n };\n });\n\n return {\n specification,\n specificationClassName,\n specificationValues\n };\n });\n }\n\n private _renderHeading(): React.ReactNode {\n return ;\n }\n\n private _renderLoading(): React.ReactNode {\n return
    {this.props.resources.productComparisonLoadingText}
    ;\n }\n\n private _renderClearAllButton(): React.ReactNode {\n return (\n \n {this.props.resources.productComparisonClearAllButtonText}\n \n );\n }\n\n /**\n * Retrieves unique dimension ids of product.\n * @param products - Product.\n * @returns Unique dimension ids.\n */\n private getProductsDimensionsIds(products: IProductComparisonItemData[]): number[] {\n const dimensions = products.map(product => product.productInfo.Dimensions);\n const allDimensions: ProductDimension[] = ArrayExtensions.flatten(dimensions);\n\n const dimensionIds = ArrayExtensions.validValues(allDimensions.map(dimension => dimension.DimensionTypeValue));\n const uniqueDimensionIds = ArrayExtensions.unique(dimensionIds);\n\n return uniqueDimensionIds;\n }\n\n private _renderPreviousClicker(): React.ReactNode {\n return (\n \n