{"version":3,"file":"static/js/715adccdbbbe03df9d1d.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 } 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 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