{"version":3,"file":"static/js/3f25d965a700160577ff.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 } 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 const deliveryOptions = 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 useLegacySalesAgreementHTMLFeature={\n props.data.featureState.result?.find(featureState => featureState.Name === 'UseLegacySalesAgreementHTMLFeature')\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): 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 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)) {\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';\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