{"version":3,"file":"static/js/015c195ab2474882dd9b.bundle.js","mappings":"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","sources":["webpack://mattressfirm/./src/common/buybox-components.tsx?42b4","webpack://mattressfirm/./src/common/buybox-product-configure.tsx?139c","webpack://mattressfirm/./src/common/buyboxInterface.ts?9d60","webpack://mattressfirm/./src/common/dropdown/dropdown.tsx?f1d3","webpack://mattressfirm/./src/common/dropdown/dropdown.props.ts?7676","webpack://mattressfirm/./src/common/utilities/error-utilities.ts?bb69","webpack://mattressfirm/./src/modules/recently-viewed/base/recently-viewed-product-item.ts?4982","webpack://mattressfirm/./src/modules/recently-viewed/base/recently-viewed-item.ts?54c9","webpack://mattressfirm/./src/modules/recently-viewed/recently-viewed-state.ts?c73b","webpack://mattressfirm/./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): 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)) {\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