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