{"version":3,"file":"static/js/8662ed8a052146bdef04.bundle.js","mappings":"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","sources":["webpack://united-malt/./src/common/buybox-components.tsx?42b4","webpack://united-malt/./src/common/buybox-product-configure.tsx?139c","webpack://united-malt/./src/common/buyboxInterface.ts?9d60","webpack://united-malt/./src/common/dropdown/dropdown.tsx?f1d3","webpack://united-malt/./src/common/dropdown/dropdown.props.ts?7676","webpack://united-malt/./src/common/utilities/error-utilities.ts?bb69","webpack://united-malt/./src/modules/recently-viewed/base/recently-viewed-product-item.ts?4982","webpack://united-malt/./src/modules/recently-viewed/base/recently-viewed-item.ts?54c9","webpack://united-malt/./src/modules/recently-viewed/recently-viewed-state.ts?c73b","webpack://united-malt/./src/modules/recently-viewed/recently-viewed-manager.ts?a2a8"],"sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n AddToCartComponent,\n AddToOrderTemplateComponent,\n AddToWishlistComponent,\n IAddToCartFailureResult,\n IAddToCartResources,\n IAddToOrderTemplateDialogResources,\n IDuplicateItemsWhenAddingToOrderTemplateDialogResources,\n IItemAddedToOrderTemplateDialogResources,\n IOrderTemplateActionErrorResult,\n IOrderTemplateNameDialogResources,\n IWishlistActionErrorResult,\n PriceComponent,\n RatingComponent\n} from '@msdyn365-commerce/components';\nimport { getUrlSync, IImageSettings } from '@msdyn365-commerce/core';\nimport { ICartActionResult, ICartState } from '@msdyn365-commerce/global-state';\nimport { ProductAvailableQuantity, SimpleProduct } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, DeliveryMode, validateCatalogId } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n Alert,\n Button,\n format,\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n Heading,\n ITelemetryContent,\n Node,\n Quantity,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport {\n IBuyboxAddToCartViewProps,\n IBuyboxAddToOrderTemplateViewProps,\n IBuyboxAddToWishlistViewProps,\n IBuyboxCallbacks,\n IBuyboxCommonData,\n IBuyboxCommonResources,\n IBuyboxErrorBlockProps,\n IBuyboxExtentedProps,\n IBuyboxKeyInPriceViewProps,\n IBuyboxProductQuantityViewProps,\n IBuyboxShopSimilarLookViewProps,\n IBuyboxState,\n IProductDetails,\n ShopSimiliarButtonType\n} from './buyboxInterface';\nimport { getConfigureErrors, getGenericError, getQuantityError } from './utilities/error-utilities';\n\nconst _getClassNamePrefix = (typeName: string): string => {\n return typeName.toLocaleLowerCase() === 'quickview' ? 'ms-quickView' : 'ms-buybox';\n};\n\nexport function getBuyBoxInventoryLabel(\n props: IBuyboxExtentedProps,\n productDetails?: IProductDetails\n): React.ReactElement | undefined {\n const { typeName } = props;\n\n // Since the data action can return no value, and the type is non-nullable due to backward compatibility reasons, the null check is required.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Explicitly check for null/undefined.\n const productAvailableQuantity = props.data.productAvailableQuantity?.result ?? productDetails?.productAvailableQuantity;\n\n const className = _getClassNamePrefix(typeName);\n if (!productAvailableQuantity || !ArrayExtensions.hasElements(productAvailableQuantity)) {\n return undefined;\n }\n const shippingInventory = productAvailableQuantity.find(shipping => shipping.deliveryType === DeliveryMode.shipping);\n\n if (shippingInventory) {\n let inventoryClassName: string;\n if (shippingInventory.StockLevelCode) {\n inventoryClassName = `${className}__inventory-label ${className}__inventory-code-${shippingInventory.StockLevelCode.toLowerCase()}`;\n } else {\n inventoryClassName = `${className}__inventory-label`;\n }\n return (\n
\n {shippingInventory.StockLevelLabel}\n
\n );\n }\n\n return undefined;\n}\n\nexport function getBuyboxProductTitle(\n props: IBuyboxExtentedProps,\n productDetails?: IProductDetails\n): React.ReactElement | undefined {\n const {\n config: { titleHeadingTag = 'h1' },\n typeName\n } = props;\n const className = _getClassNamePrefix(typeName);\n\n // Since the data action can return no value, and the type is non-nullable due to backward compatibility reasons, the null check is required.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Explicitly check for null/undefined.\n const product = props.data.product?.result ?? productDetails?.product ?? undefined;\n\n return product && ;\n}\n\nexport function getBuyboxProductDescription(\n props: IBuyboxExtentedProps,\n productDetails?: IProductDetails\n): React.ReactElement | undefined {\n const { typeName } = props;\n const className = _getClassNamePrefix(typeName);\n\n // Since the data action can return no value, and the type is non-nullable due to backward compatibility reasons, the null check is required.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Explicitly check for null/undefined.\n const product = props.data.product?.result ?? productDetails?.product ?? undefined;\n\n return product &&

{product.Description}

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

\n {resources.informationIconText}\n