{"version":3,"file":"static/js/19.3db7e1f419d53c438fb7.chunk.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/modules/active-image-utilities/active-product.tsx?69b2","webpack://Msdyn365.Commerce.Online/./src/modules/active-image-utilities/additional-content.tsx?6946","webpack://Msdyn365.Commerce.Online/./src/modules/active-image-utilities/image-mapper.tsx?dd86","webpack://Msdyn365.Commerce.Online/./src/modules/active-image/active-image.tsx?00d3","webpack://Msdyn365.Commerce.Online/./src/modules/active-image/active-image.view.tsx?a935","webpack://Msdyn365.Commerce.Online/./src/modules/bulk-purchase/bulk-purchase.tsx?9fd5","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/buybox/components/buybox-find-in-store.tsx?3ef8","webpack://Msdyn365.Commerce.Online/./src/modules/buybox/buybox.tsx?e22d","webpack://Msdyn365.Commerce.Online/./src/modules/buybox/buybox.view.tsx?376b","webpack://Msdyn365.Commerce.Online/./src/modules/quickview/utilities/helper.ts?f31d","webpack://Msdyn365.Commerce.Online/./src/modules/quickview/utilities/get-valid-product-images.ts?78b7","webpack://Msdyn365.Commerce.Online/./src/modules/quickview/quickview.tsx?4080","webpack://Msdyn365.Commerce.Online/./src/modules/quickview/utilities/get-product-details.ts?5cc2","webpack://Msdyn365.Commerce.Online/./src/modules/quickview/quickview.view.tsx?ee5b","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","webpack://Msdyn365.Commerce.Online/./src/modules/carousel/carousel.tsx?80d4","webpack://Msdyn365.Commerce.Online/./src/modules/carousel/carousel.view.tsx?d82f"],"sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { PriceComponent, RatingComponent } from '@msdyn365-commerce/components';\nimport {\n IComponent,\n IComponentProps,\n ICoreContext,\n IGridSettings,\n IImageData,\n IImageSettings,\n Image,\n IRequestContext\n} from '@msdyn365-commerce/core';\nimport { ProductPrice, ProductSearchResult } from '@msdyn365-commerce/retail-proxy';\nimport { format } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\n/**\n * IActiveProductProps interface.\n */\nexport interface IActiveProductProps extends IComponentProps<{ product?: ProductSearchResult }> {\n className?: string;\n imageSettings?: IImageSettings;\n savingsText?: string;\n freePriceText?: string;\n originalPriceText?: string;\n currentPriceText?: string;\n ratingAriaLabel?: string;\n}\n\n/**\n * IActiveProduct interface.\n */\nexport interface IActiveProduct extends IComponent {}\n\n/**\n * RenderDescription function.\n * @param description - Product description string.\n * @returns - Returns JSX.Element | null.\n */\nfunction renderDescription(description?: string): JSX.Element | null {\n return

{description}

;\n}\n\n/**\n * GetRatingAriaLabel function.\n * @param rating - Product rating number.\n * @param ratingAriaLabel - Product rating aria label.\n * @returns - Returns string.\n */\nfunction getRatingAriaLabel(rating?: number, ratingAriaLabel?: string): string {\n const numberTwo: number = 2;\n if (rating && ratingAriaLabel) {\n const roundedRating = rating.toFixed(numberTwo);\n return format(ratingAriaLabel || '', roundedRating, '5');\n }\n return '';\n}\n\n/**\n * RenderRating function.\n * @param context - The core context.\n * @param typeName - The type name of the module.\n * @param ratingId - The rating id.\n * @param avgRating - The average rating.\n * @param totalRatings - The total ratings.\n * @param ariaLabel - The rating aria label.\n * @returns - Returns JSX.Element | null.\n */\nfunction renderRating(\n context: ICoreContext,\n typeName: string,\n ratingId: string,\n avgRating?: number,\n totalRatings?: number,\n ariaLabel?: string\n): JSX.Element | null {\n if (!avgRating) {\n return null;\n }\n\n const numberRatings = totalRatings?.toString() ?? undefined;\n const ratingAriaLabel = getRatingAriaLabel(avgRating, ariaLabel);\n\n return (\n \n );\n}\n\n/**\n * RenderPrice function.\n * @param context - The core context.\n * @param typeName - The type name of the module.\n * @param productId - The product id.\n * @param basePrice - The base price of the product.\n * @param adjustedPrice - The adjusted price of the product.\n * @param savingsText - The savings text of the product.\n * @param freePriceText - The free price text.\n * @param originalPriceText - The original price text.\n * @returns - Returns JSX.Element | null.\n */\nfunction renderPrice(\n context: ICoreContext,\n typeName: string,\n productId: string,\n basePrice?: number,\n adjustedPrice?: number,\n savingsText?: string,\n freePriceText?: string,\n originalPriceText?: string\n): JSX.Element | null {\n const price: ProductPrice = {\n BasePrice: basePrice,\n AdjustedPrice: adjustedPrice,\n CustomerContextualPrice: adjustedPrice\n };\n\n return (\n \n );\n}\n\n/**\n * RenderProductPlacementImage function.\n * @param requestContext - RequestContext.\n * @param imageSettings - The product image settings.\n * @param gridSettings - The viewport gird settings.\n * @param imageUrl - The product image url.\n * @param altText - The product image alt text.\n * @returns - Returns JSX.Element | null.\n */\nfunction renderProductPlacementImage(\n requestContext: IRequestContext,\n imageSettings?: IImageSettings,\n gridSettings?: IGridSettings,\n imageUrl?: string,\n altText?: string\n): JSX.Element | null {\n if (!imageUrl || !gridSettings || !imageSettings) {\n return null;\n }\n const imgData: IImageData = {\n src: imageUrl,\n altText: altText ? altText : ''\n };\n const imageProps = {\n gridSettings,\n imageSettings\n };\n imageProps.imageSettings.cropFocalRegion = true;\n return ;\n}\n\n/**\n * ActiveProduct constant.\n * @param props - The active product props.\n * @param props.data - The product search result data.\n * @param props.context - The core context.\n * @param props.imageSettings - The prodcut image settings.\n * @param props.savingsText - The product savings text.\n * @param props.freePriceText - The free price text.\n * @param props.originalPriceText - The original price text.\n * @param props.ratingAriaLabel - The product rating aria label.\n * @param props.typeName - The type name of the module.\n * @param props.id - The id of the product.\n * @returns - Returns JSX.Element | null.\n */\nexport const ActiveProductComponent: React.FC = ({\n data,\n context,\n imageSettings,\n savingsText,\n freePriceText,\n originalPriceText,\n ratingAriaLabel,\n typeName,\n // eslint-disable-next-line @typescript-eslint/naming-convention -- Do not need naming convention check for library prameters\n id\n}) => {\n const product = data.product;\n if (!product) {\n return null;\n }\n\n return (\n <>\n
\n
\n {renderProductPlacementImage(\n context.actionContext.requestContext,\n imageSettings,\n context.request.gridSettings,\n product.PrimaryImageUrl,\n product.Name\n )}\n
\n
\n

{product.Name}

\n {renderPrice(context, typeName, id, product.BasePrice, product.Price, savingsText, freePriceText, originalPriceText)}\n {renderDescription(product.Description)}\n {!context.app.config.hideRating &&\n renderRating(context, typeName, id, product.AverageRating, product.TotalRatings, ratingAriaLabel)}\n
\n
\n \n );\n};\n\nexport default ActiveProductComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\n/**\n * ILinksData: Interface for\n * Additional content.\n */\ninterface ILinksData {\n linkText?: string;\n linkUrl: Msdyn365.ILinkData;\n ariaLabel?: string;\n isOpenInNewTab?: boolean;\n}\n\n/**\n * IAdditionalContentData: Interface for\n * Active content.\n */\ninterface IAdditionalContentData {\n heading?: string;\n subtext?: string;\n links?: ILinksData[];\n}\n\n/**\n * IActiveImageAdditionalContentProps: Interface for\n * Active Image Additional Content Component props.\n */\nexport interface IActiveImageAdditionalContentProps {\n requestContext: Msdyn365.IRequestContext;\n additionalContent: IAdditionalContentData | undefined;\n handleAdditionalTextChange(event: Msdyn365.ContentEditableEvent): void;\n handleAdditionalParagraphChange(event: Msdyn365.ContentEditableEvent): void;\n handleAdditionalLinkTextChange(linkIndex: number, event: Msdyn365.ContentEditableEvent): void;\n}\n\n/**\n * IActiveImageAdditionalContentViewProps: Interface for\n * Active Image Additional Content view props.\n */\nexport interface IActiveImageAdditionalContentViewProps {\n additionalContentNode: INodeProps;\n heading: React.ReactNode;\n text: React.ReactNode;\n links: React.ReactNode;\n additionalContentContainer: INodeProps;\n additionalContentItemLinks: INodeProps;\n}\n\n/**\n * Renders additional content heading.\n * @param additionalContentHeading - Additional content heading.\n * @param props - Active Image Additional content component props.\n * @returns Heading Node.\n */\nconst renderHeading = (additionalContentHeading: string, props: IActiveImageAdditionalContentProps) => {\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalTextChange(event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Renders additional content heading.\n * @param additionalContentParagraphText - Additional content paragraph text.\n * @param props - Active Image Additional content component props.\n * @returns Paragraph Node.\n */\nconst renderParagraph = (additionalContentParagraphText: string, props: IActiveImageAdditionalContentProps) => {\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalTextChange(event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Renders additional content heading.\n * @param ctaLink - Additional content link.\n * @param props - Active Image Additional content component props.\n * @param linkIndex - Additional content link index.\n * @returns Link Node.\n */\nconst renderLinks = (ctaLink: ILinksData, props: IActiveImageAdditionalContentProps, linkIndex: number) => {\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: ctaLink.ariaLabel,\n className: 'msc-active-image__details__additional-content__cta__links',\n linkText: ctaLink.linkText,\n linkUrl: ctaLink.linkUrl.destinationUrl,\n openInNewTab: ctaLink.isOpenInNewTab,\n role: 'button'\n };\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalLinkTextChange(linkIndex, event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Create node for each additonal content item.\n * @param item - Active Image additonal content item props.\n * @param props - Active Image Additional content component props.\n * @returns IActiveImageAdditionalContentItemViewProps.\n */\nconst assembleNode = (item: IAdditionalContentData, props: IActiveImageAdditionalContentProps): IActiveImageAdditionalContentViewProps => {\n const headingNode = item.heading && renderHeading(item.heading, props);\n const paragraphNode = item.subtext && renderParagraph(item.subtext, props);\n const linksNode = item.links?.map((ctaLink: ILinksData, index: number) => {\n return renderLinks(ctaLink, props, index);\n });\n\n return {\n additionalContentNode: { className: 'msc-active-image__details__additional-content' },\n heading: headingNode,\n text: paragraphNode,\n links: linksNode,\n additionalContentContainer: { className: 'msc-active-image__details__additional-content__container' },\n additionalContentItemLinks: { className: 'msc-active-image__details__additional__content__cta' }\n };\n};\n\n/**\n * ActiveImageAdditionalContent component.\n * @param props - Active Image Additional content component props.\n * @returns Active Image Additional content view props.\n */\nexport const activeImageAdditionalContent = (\n props: IActiveImageAdditionalContentProps\n): IActiveImageAdditionalContentViewProps | undefined => {\n const { additionalContent } = props;\n if (!additionalContent) {\n return undefined;\n }\n\n return assembleNode(additionalContent, props);\n};\n\nexport default activeImageAdditionalContent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport MsDyn365, { IImageData, Image, IRequestContext } from '@msdyn365-commerce/core';\nimport { ProductSearchResult } from '@msdyn365-commerce/retail-proxy';\nimport React from 'react';\n\n/**\n * @type AreaEvent for active points\n */\ntype AreaEvent = Event | React.MouseEvent | React.FocusEvent;\n\n/**\n * @interface IRgbColor\n * @description - The IRgbColor interface contract.\n */\nexport interface IRgbColor {\n rValue: number;\n gValue: number;\n bValue: number;\n}\n\n/**\n * @interface IArea\n * @description - The IArea interface contract.\n */\nexport interface IArea {\n areaId: string;\n coords: number[];\n href?: string;\n center?: number[];\n primaryImageUrl?: string;\n productUrl: string;\n productSearchResult?: ProductSearchResult;\n}\n\n/**\n * @interface IArea\n * @description - The IArea interface contract.\n */\nexport interface IAreaMap {\n name: string;\n areas: IArea[];\n}\n\n/**\n * @enum CanvasCalculations\n * @description - The canvas calculations enum.\n */\nexport enum CanvasCalculations {\n defaultWidth = 0,\n defaultHeight = 0,\n defaultPositionX = 0,\n defaultPositionY = 0,\n defaultScale = 1,\n halfDivisor = 2,\n doubleMultiplier = 2,\n buttonHeight = 30,\n buttonPadding = 30,\n paddingAdjustment = 3,\n expandAnimationStartWidth = 10,\n expandAnimationEndWidth = 40,\n collapseAnimationStartWidth = 40,\n collapseAnimationEndWidth = 8,\n expandRadius = 12,\n collapseRadius = 8,\n rotation = 1.57,\n startAngle = 0,\n endAngle = 7,\n clearMargin = 50,\n clearHeight = 100,\n clearWidth = 100,\n textFadeInStartValue = 0,\n textFadeOutStartValue = 0.5,\n textFadeInterval = 0.01\n}\n\n/**\n * @enum CanvasStyles\n * @description - The canvas styles enum.\n */\nexport enum CanvasStyles {\n color = '#FFFFFF',\n buttonTextClor = '#000000'\n}\n\n/**\n * @enum\n * @description - The canvas styles enum.\n */\nexport interface IImageMapperResources {\n buttonText?: string;\n altText?: string;\n}\n\n/**\n * @interface IImageMapperProps\n * @description - The IImageMapperProps interface contract.\n */\nexport interface IImageMapperProps {\n imageData: IImageData;\n areaMap: IAreaMap;\n viewPort: string;\n requestContext: IRequestContext;\n color?: string;\n buttonTextClor?: string;\n width?: number;\n imgWidth?: number;\n activeImageRefs: React.RefObject;\n imageMapperResources?: IImageMapperResources;\n onLoad?(): void;\n onClick?(area: IArea, index: number, event: AreaEvent): void;\n onFocus?(area: IArea, index: number, event: AreaEvent): void;\n onMouseEnter?(area: IArea, index: number, event: AreaEvent): void;\n onMouseLeave?(area: IArea, index: number, event: AreaEvent): void;\n}\n\n/**\n * ImageMapper.\n */\nexport class ImageMapper extends React.Component {\n private readonly _backgroundImage: React.RefObject;\n\n private readonly _container: React.RefObject;\n\n private readonly _canvas: React.RefObject;\n\n private _isDesktopViewPort: boolean = false;\n\n private _context: CanvasRenderingContext2D | null | undefined = null;\n\n public constructor(props: IImageMapperProps) {\n super(props);\n this._backgroundImage = React.createRef();\n this._container = React.createRef();\n this._canvas = React.createRef();\n }\n\n /**\n * ComponentDidMount method.\n */\n public componentDidMount(): void {\n const { viewPort } = this.props;\n this.initCanvas();\n this._isDesktopViewPort = viewPort === 'lg' || viewPort === 'xl';\n this.renderAreas();\n this._context = null;\n }\n\n /**\n * ComponentDidUpdate method.\n */\n public componentDidUpdate(): void {\n const { viewPort } = this.props;\n this.initCanvas();\n this._isDesktopViewPort = viewPort === 'lg' || viewPort === 'xl';\n }\n\n /**\n * ShouldComponentUpdate method.\n * @param nextProps - Next props.\n * @returns Returns boolean.\n */\n public shouldComponentUpdate(nextProps: IImageMapperProps): boolean {\n let shouldRender = false;\n if (nextProps !== this.props) {\n shouldRender = true;\n }\n return shouldRender;\n }\n\n /**\n * GetActiveImageWidth method - Gets the active image width.\n * @returns Returns number | undefined.\n */\n public getActiveImageWidth = (): number | undefined => {\n if (MsDyn365.isBrowser) {\n const activeImageReferenceValue = this.props.activeImageRefs;\n if (activeImageReferenceValue.current !== null) {\n return activeImageReferenceValue.current.clientWidth;\n }\n }\n return undefined;\n };\n\n /**\n * GetActiveImageHeight method - Gets the active image height.\n * @returns Returns number | undefined.\n */\n public getActiveImageHeight = (): number | undefined => {\n if (MsDyn365.isBrowser) {\n const activeImageReferenceValue = this.props.activeImageRefs;\n if (activeImageReferenceValue.current !== null) {\n return activeImageReferenceValue.current.clientHeight;\n }\n }\n return undefined;\n };\n\n /**\n * ConvertHexToRgb method - This method takes color in HEX format and returns IRgbColor color object.\n * @param hexColor -The color hex value.\n * @returns -Returns IRgbColor object.\n */\n public convertHexToRgb = (hexColor: string): IRgbColor => {\n // RegEx used to execute the conversion of the hex color to rgb value.\n const regEx = new RegExp('^#?([a-f\\\\d]{2})([a-f\\\\d]{2})([a-f\\\\d]{2})$', 'u');\n\n // RegEx.exec method executes a search for a match in a specified string. Returns a result array, or null.\n const result = regEx.exec(hexColor);\n const defaultValue = 0;\n return result\n ? {\n rValue: Number.parseInt(result[1], 16),\n gValue: Number.parseInt(result[2], 16),\n bValue: Number.parseInt(result[3], 16)\n }\n : {\n rValue: defaultValue,\n gValue: defaultValue,\n bValue: defaultValue\n };\n };\n\n /**\n * ApplyFadingTransition method - Applys fading transition to button text.\n * @param text -The button text.\n * @param coords -The coordinates.\n * @param rgbColor -The RGB color object.\n * @param alpha -The alpha value of the button text.\n */\n public applyFadingTransition = (text: string, coords: number[], rgbColor: IRgbColor, alpha: number): void => {\n const halfDivisor: number = CanvasCalculations.halfDivisor;\n const context = this._canvas.current?.getContext('2d') ?? this._context;\n if (context && this._isDesktopViewPort) {\n const buttonPadding = CanvasCalculations.buttonPadding;\n const paddingAdjustment = CanvasCalculations.paddingAdjustment;\n const buttonWidth = context.measureText(text).width + buttonPadding;\n context.fillStyle = `rgba(${rgbColor.rValue}, ${rgbColor.gValue}, ${rgbColor.bValue}, ${alpha} )`;\n if (MsDyn365.isBrowser && document.body.parentElement && document.body.parentElement.getAttribute('dir') === 'rtl') {\n context.fillText(text, coords[0] + buttonWidth / halfDivisor - buttonPadding / halfDivisor, coords[1] + paddingAdjustment);\n } else {\n context.fillText(text, coords[0] - buttonWidth / halfDivisor + buttonPadding / halfDivisor, coords[1] + paddingAdjustment);\n }\n }\n };\n\n /**\n * Draw button method - Draws button and contains fixed hight, padding values.\n * @param text -The button text.\n * @param coords -The coordinates.\n */\n public drawButton = (text: string, coords: number[]): void => {\n const { color = CanvasStyles.color, buttonTextClor = CanvasStyles.buttonTextClor } = this.props;\n const halfDivisor: number = CanvasCalculations.halfDivisor;\n const context = this._canvas.current?.getContext('2d') ?? this._context;\n if (context && this._isDesktopViewPort) {\n const buttonHeight = CanvasCalculations.buttonHeight;\n const buttonPadding = CanvasCalculations.buttonPadding;\n const paddingAdjustment = CanvasCalculations.paddingAdjustment;\n const buttonWidth = context.measureText(text).width + buttonPadding;\n const buttonPositionX = coords[0] - buttonWidth / halfDivisor;\n const buttonPositionY = coords[1] - buttonHeight / halfDivisor;\n const arcsize = buttonHeight / halfDivisor;\n\n context.beginPath();\n context.moveTo(buttonPositionX + arcsize, buttonPositionY);\n context.lineTo(buttonPositionX + buttonWidth - arcsize, buttonPositionY);\n context.arcTo(\n buttonPositionX + buttonWidth,\n buttonPositionY,\n buttonPositionX + buttonWidth,\n buttonPositionY + arcsize,\n arcsize\n );\n context.lineTo(buttonPositionX + buttonWidth, buttonPositionY + buttonHeight - arcsize);\n context.arcTo(\n buttonPositionX + buttonWidth,\n buttonPositionY + buttonHeight,\n buttonPositionX + buttonWidth - arcsize,\n buttonPositionY + buttonHeight,\n arcsize\n );\n context.lineTo(buttonPositionX + arcsize, buttonPositionY + buttonHeight);\n context.arcTo(buttonPositionX, buttonPositionY + buttonHeight, buttonPositionX, buttonPositionY - arcsize, arcsize);\n context.lineTo(buttonPositionX, buttonPositionY + arcsize);\n context.arcTo(buttonPositionX, buttonPositionY, buttonPositionX + arcsize, buttonPositionY, arcsize);\n context.lineTo(buttonPositionX + arcsize, buttonPositionY);\n context.stroke();\n context.closePath();\n context.fillStyle = color;\n context.fill();\n context.fillStyle = buttonTextClor;\n if (MsDyn365.isBrowser && document.body.parentElement && document.body.parentElement.getAttribute('dir') === 'rtl') {\n context.fillText(text, coords[0] + buttonWidth / halfDivisor - buttonPadding / halfDivisor, coords[1] + paddingAdjustment);\n } else {\n context.fillText(text, coords[0] - buttonWidth / halfDivisor + buttonPadding / halfDivisor, coords[1] + paddingAdjustment);\n }\n }\n };\n\n /**\n * ExpandAnimation method - Shows expand animation and contains fixed values to draw the circle and ellipse shapes.\n * @param coords -Coordinates.\n */\n public expandAnimation = (coords: number[]): void => {\n const { color = CanvasStyles.color, buttonTextClor = CanvasStyles.buttonTextClor } = this.props;\n const buttonText = this.props.imageMapperResources?.buttonText;\n let animationStartWidth = CanvasCalculations.expandAnimationStartWidth;\n const pointPositionX = coords[0];\n const pointPositionY = coords[1];\n const animationEndWidth = CanvasCalculations.expandAnimationEndWidth;\n const radius = CanvasCalculations.expandRadius;\n const rotation = CanvasCalculations.rotation;\n const startAngle = CanvasCalculations.startAngle;\n const endAngle = CanvasCalculations.endAngle;\n let textFadeInValue = CanvasCalculations.textFadeInStartValue;\n const buttonTextClorInRgb = this.convertHexToRgb(buttonTextClor.toLocaleLowerCase());\n\n /**\n * Animate method - Reders expand animation.\n */\n const animate = () => {\n const context = this._canvas.current?.getContext('2d') ?? this._context;\n if (!context) {\n return;\n }\n context.beginPath();\n context.ellipse(pointPositionX, pointPositionY, radius, animationStartWidth, rotation, startAngle, endAngle);\n context.fillStyle = color;\n context.fill();\n context.fillStyle = color;\n if (buttonText) {\n if (animationStartWidth < animationEndWidth) {\n requestAnimationFrame(animate);\n this.applyFadingTransition(buttonText, coords, buttonTextClorInRgb, textFadeInValue);\n textFadeInValue += CanvasCalculations.textFadeInterval;\n animationStartWidth++;\n } else {\n this.drawButton(buttonText, [pointPositionX, pointPositionY]);\n }\n }\n };\n\n if (this._isDesktopViewPort) {\n animate();\n }\n };\n\n /**\n * CollapseAnimation method - Shows collapse animation and contains fixed values to draw the circle and ellipse shapes.\n * @param coords -Coordinates.\n */\n public collapseAnimation = (coords: number[]): void => {\n const { color = CanvasStyles.color, buttonTextClor = CanvasStyles.buttonTextClor } = this.props;\n const buttonText = this.props.imageMapperResources?.buttonText;\n let animationStartWidth = CanvasCalculations.collapseAnimationStartWidth;\n const pointPositionX = coords[0];\n const pointPositionY = coords[1];\n const animationEndWidth = CanvasCalculations.collapseAnimationEndWidth;\n const rotation = CanvasCalculations.rotation;\n const clearMargin = CanvasCalculations.clearMargin;\n const clearHeight = CanvasCalculations.clearHeight;\n const clearWidth = CanvasCalculations.clearWidth;\n const radius = CanvasCalculations.collapseRadius;\n const startAngle = CanvasCalculations.startAngle;\n const endAngle = CanvasCalculations.endAngle;\n let textFadeOutValue = CanvasCalculations.textFadeOutStartValue;\n const buttonTextClorInRgb = this.convertHexToRgb(buttonTextClor.toLocaleLowerCase());\n\n /**\n * Animate method - Renders collapse animation.\n */\n const animate = () => {\n const context = this._canvas.current?.getContext('2d') ?? this._context;\n if (!context) {\n return;\n }\n context.beginPath();\n context.clearRect(pointPositionX - clearMargin, pointPositionY - clearMargin, clearWidth, clearHeight);\n context.ellipse(pointPositionX, pointPositionY, radius, animationStartWidth, rotation, startAngle, endAngle);\n context.fillStyle = color;\n context.fill();\n if (animationEndWidth < animationStartWidth && buttonText) {\n requestAnimationFrame(animate);\n this.applyFadingTransition(buttonText, coords, buttonTextClorInRgb, textFadeOutValue);\n textFadeOutValue -= CanvasCalculations.textFadeInterval;\n animationStartWidth--;\n }\n };\n\n if (this._isDesktopViewPort) {\n animate();\n }\n };\n\n /**\n * DrawCircle method - Renders active points.\n * @param coords -Coordinates.\n */\n public drawCircle = (coords: number[]): void => {\n const { color = CanvasStyles.color, viewPort } = this.props;\n const doubleMultiplier: number = CanvasCalculations.doubleMultiplier;\n const startAngle: number = CanvasCalculations.startAngle;\n const context = this._canvas.current?.getContext('2d') ?? this._context;\n const radius = viewPort === 'xs' || viewPort === 'sm' ? coords[2] * doubleMultiplier : coords[2];\n if (!context) {\n return;\n }\n context.fillStyle = color;\n context.beginPath();\n context.strokeStyle = color;\n context.arc(coords[0], coords[1], radius, startAngle, Math.PI * doubleMultiplier);\n context.closePath();\n context.stroke();\n context.fill();\n };\n\n /**\n * ScaleCoords method - To scale the active point coordinates based on the window size.\n * @param coords -Coordinates.\n * @returns -Returns number[].\n */\n public scaleCoords = (coords: number[]): number[] => {\n const { imgWidth } = this.props;\n const defaultWidth: number = CanvasCalculations.defaultWidth;\n const defaultScale: number = CanvasCalculations.defaultScale;\n\n // Calculate scale based on current 'width' and the original 'imgWidth'\n const width = this.getActiveImageWidth();\n const scale = width && imgWidth && imgWidth > defaultWidth ? width / imgWidth : defaultScale;\n return coords.map(coord => coord * scale);\n };\n\n /**\n * RenderPrefilledAreas method - To render active points in case of events.\n */\n public renderPrefilledAreas = (): void => {\n const { areaMap } = this.props;\n areaMap.areas.map(area => {\n this.drawCircle(this.scaleCoords(area.coords));\n return null;\n });\n };\n\n /**\n * ComputeCenter method - To re-calculate the center of active point based on window size.\n * @param area -IArea.\n * @returns -Returns number[].\n */\n public computeCenter = (area: IArea): number[] => {\n const scaledCoords = this.scaleCoords(area.coords);\n return [scaledCoords[0], scaledCoords[1]];\n };\n\n /**\n * HandleHoverOn method - To handle mouse hover on event.\n * @param area -IArea.\n */\n public handleHoverOn = (area: IArea): void => {\n if (area.center && this._canvas.current) {\n this.drawCircle(this.scaleCoords(area.coords));\n this.expandAnimation(area.center);\n }\n };\n\n /**\n * HandleHoverOff method - To handle mouse hover off event.\n * @param area -IArea.\n */\n public handleHoverOff = (area: IArea): void => {\n if (this._canvas.current) {\n const context = this._canvas.current.getContext('2d') ?? this._context;\n const canvasPositionX: number = CanvasCalculations.defaultPositionX;\n const canvasPositionY: number = CanvasCalculations.defaultPositionY;\n\n if (!context) {\n return;\n }\n context.clearRect(canvasPositionX, canvasPositionY, this._canvas.current.width, this._canvas.current.height);\n this.renderPrefilledAreas();\n if (area.center) {\n this.collapseAnimation(area.center);\n }\n }\n };\n\n /**\n * Click method - Mouse click event.\n * @param area -IArea.\n * @param index - Number.\n * @returns - Void.\n */\n public click = (area: IArea, index: number) => (event: AreaEvent): void => {\n const { onClick } = this.props;\n if (onClick) {\n event.preventDefault();\n onClick(area, index, event);\n }\n };\n\n /**\n * HoverOn method - Mouse hover on event.\n * @param area -IArea.\n * @param index - Number.\n * @returns - Void.\n */\n public hoverOn = (area: IArea, index: number) => (event: AreaEvent): void => {\n const { onMouseEnter } = this.props;\n this.handleHoverOn(area);\n if (onMouseEnter) {\n onMouseEnter(area, index, event);\n }\n };\n\n /**\n * HoverOff method - Mouse hover off event.\n * @param area - IArea.\n * @param index - Number.\n * @returns - Void.\n */\n public hoverOff = (area: IArea, index: number) => (event: AreaEvent): void => {\n const { onMouseLeave } = this.props;\n\n this.handleHoverOff(area);\n\n if (onMouseLeave) {\n onMouseLeave(area, index, event);\n }\n };\n\n /**\n * RenderAreas method - Renders active points at given coordinates.\n * @returns -Returns JSX.Element[].\n */\n public renderAreas = (): JSX.Element[] => {\n const { areaMap, viewPort } = this.props;\n const buttonText = this.props.imageMapperResources?.buttonText ? this.props.imageMapperResources.buttonText : '';\n const altText = this.props.imageMapperResources?.altText ? this.props.imageMapperResources.altText : '';\n const doubleMultiplier: number = CanvasCalculations.doubleMultiplier;\n\n return areaMap.areas.map((area, index) => {\n const scaledCoords = this.scaleCoords(area.coords);\n const xsRadius = area.coords[2] * doubleMultiplier;\n if (viewPort === 'xs') {\n scaledCoords[2] = xsRadius;\n }\n const center = this.computeCenter(area);\n const extendedArea = { ...area, scaledCoords, center };\n const areaKey = `area-${index}`;\n const altTextWithProductName = altText\n .replace('{buttonText}', buttonText ? buttonText : '')\n .replace('{productName}', area.productSearchResult?.Name ? area.productSearchResult.Name : '');\n return (\n \n );\n });\n };\n\n /**\n * InitCanvas method - To render the canvas.\n */\n public initCanvas = (): void => {\n if (!this._canvas.current || !this._backgroundImage.current || !this._container.current) {\n return;\n }\n\n const { color, onLoad } = this.props;\n const defaultWidth: number = CanvasCalculations.defaultWidth;\n const defaultHeight: number = CanvasCalculations.defaultHeight;\n\n const canvasWidth = this.getActiveImageWidth() ?? defaultWidth;\n const canvasHeight = this.getActiveImageHeight() ?? defaultHeight;\n\n this._canvas.current.width = canvasWidth;\n this._canvas.current.height = canvasHeight;\n this._container.current.style.width = `${canvasWidth}px`;\n\n const context = this._canvas.current.getContext('2d') ?? this._context;\n if (!context) {\n return;\n }\n context.fillStyle = color ?? '';\n\n if (onLoad) {\n onLoad();\n }\n\n this.renderPrefilledAreas();\n };\n\n /**\n * Render method - To render the image mapper component with active image, canvas and active points.\n * @returns -Returns JSX.Element | null.\n */\n public render(): JSX.Element | null {\n const { imageData, areaMap, requestContext } = this.props;\n\n return (\n
\n \n \n \n {this.renderAreas()}\n \n
\n );\n }\n}\n\nexport default ImageMapper;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as MsDyn365 from '@msdyn365-commerce/core';\nimport { ProductSearchResult } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, getProductPageUrlSync } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n INodeProps,\n isMobile,\n ITelemetryContent,\n VariantType\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport {\n activeImageAdditionalContent,\n ActiveProductComponent,\n IActiveImageAdditionalContentViewProps,\n IArea,\n IAreaMap,\n IImageMapperProps,\n ImageMapper\n} from '../active-image-utilities';\nimport { IActiveImageData } from './active-image.data';\nimport { IActiveImageProps } from './active-image.props.autogenerated';\n\n/**\n * @type AreaEvent for active points\n */\ntype AreaEvent = Event | React.MouseEvent | React.FocusEvent;\n\n/**\n * @interface IActiveImageViewProps\n * @classdesc - The IActiveImageViewProps interface contract.\n */\nexport interface IActiveImageViewProps extends IActiveImageProps<{}>, IImageMapperProps {\n activePointContainer: IModuleProps;\n activePointDetailsContainer: INodeProps;\n imageMapper: React.ReactNode;\n overlay: React.ReactNode;\n productCard: React.ReactNode;\n title?: React.ReactNode;\n text?: React.ReactNode;\n links?: React.ReactNode;\n detailsContainer?: INodeProps;\n detailsContainerCta?: INodeProps;\n additionalContent?: IActiveImageAdditionalContentViewProps;\n productCardleftPosition: number;\n productCardtopPosition: number;\n handleAdditionalText?(event: MsDyn365.ContentEditableEvent): void;\n handleAdditionalParagraph?(event: MsDyn365.ContentEditableEvent): void;\n handleAdditionalLinkText?(event: MsDyn365.ContentEditableEvent): void;\n}\n\n/**\n * @interface IActiveImageLinksData\n * @classdesc - The IActiveImageLinksData interface contract.\n */\nexport interface IActiveImageLinksData {\n linkText?: string;\n linkUrl: MsDyn365.ILinkData;\n ariaLabel?: string;\n willOpenInNewTab?: boolean;\n}\n\n/**\n * @interface IActiveImageState\n * @classdesc - The IActiveImageState interface contract.\n */\ninterface IActiveImageState {\n clientWidth: number;\n area: IArea | null;\n viewport: string;\n overlayClass: string;\n}\n\n/**\n * @enum ActiveImageConstants\n * @description - The active image constants enum.\n */\nexport enum ActiveImageConstants {\n timeoutInterval = 200,\n enterKey = 'Enter',\n escKey = 'Escape'\n}\n\n/**\n *\n * ActiveImage class.\n * @extends {React.PureComponent & IImageMapperProps, IActiveImageState>}\n */\nexport class ActiveImage extends React.PureComponent & IImageMapperProps, IActiveImageState> {\n private readonly _telemetryContent: ITelemetryContent;\n\n private _isDesktopViewPort: boolean;\n\n private readonly _defaultProductCardWidth: number = 315;\n\n private readonly _defaultProdutCardHight: number = 490;\n\n private readonly _activePoints: IArea[] = [];\n\n private readonly _activeImageRefs: React.RefObject;\n\n private readonly _activeImageClass: string;\n\n private readonly _productCardDivRef: React.RefObject;\n\n public constructor(props: IActiveImageProps & IImageMapperProps) {\n super(props);\n this._telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n const viewport = isMobile({ variant: VariantType.Browser, context: this.props.context.request });\n this._activeImageClass = `msc-active-image-${this.getActiveImageId()}`;\n this.state = {\n clientWidth: 0,\n area: null,\n viewport,\n overlayClass: ''\n };\n this._isDesktopViewPort = viewport === 'lg' || viewport === 'xl';\n this._activeImageRefs = React.createRef();\n this._productCardDivRef = React.createRef();\n }\n\n public componentDidMount(): void {\n if (MsDyn365.msdyn365Commerce.isBrowser) {\n window.addEventListener('resize', this.updateClientWidth);\n document.addEventListener('keydown', this.keyDown, false);\n document.addEventListener('mousedown', this._handleOutsideClick);\n }\n setTimeout(() => {\n this.updateClientWidth();\n }, ActiveImageConstants.timeoutInterval);\n\n if (MsDyn365.msdyn365Commerce.isBrowser && this._activeImageRefs.current) {\n const images: HTMLCollectionOf = this._activeImageRefs.current.getElementsByClassName(\n 'msc-thumbnail_image msc-active-image-img'\n );\n if (ArrayExtensions.hasElements(Array.from(images))) {\n images[0].removeAttribute('usemap');\n }\n }\n }\n\n /**\n * AddActivePoints method - To handle add Active Points.\n * @param area - IArea.\n * @param product - ProductSearchResult.\n * @param coords - Coords.\n * @param productUrl - String.\n */\n public addActivePoints = (area: IArea | undefined, product: ProductSearchResult, coords: number[], productUrl: string): void => {\n if (!area) {\n this._activePoints.push({\n areaId: product.RecordId.toString(),\n coords,\n primaryImageUrl: product.PrimaryImageUrl ?? '',\n productUrl,\n productSearchResult: product\n });\n }\n };\n\n /**\n * ComponentWillUnmount method.\n */\n public componentWillUnmount(): void {\n if (MsDyn365.msdyn365Commerce.isBrowser) {\n window.removeEventListener('resize', this.updateClientWidth);\n document.removeEventListener('keydown', (this.keyDown as unknown) as EventListener, false);\n document.removeEventListener('mousedown', this._handleOutsideClick, false);\n }\n }\n\n /**\n * UpdateClientWidth method to update client width in state.\n */\n public updateClientWidth = (): void => {\n const viewport = isMobile({ variant: VariantType.Browser, context: this.props.context.request });\n this.setState({ clientWidth: this.getActiveImageWidth(), viewport });\n this._isDesktopViewPort = viewport === 'lg' || viewport === 'xl';\n };\n\n /**\n * Render method.\n * @returns - Returns JSX.Element | null.\n */\n public render(): JSX.Element | null {\n const viewProps: IActiveImageViewProps = {\n ...(this.props as IImageMapperProps & IActiveImageProps<{}>),\n activePointContainer: {\n moduleProps: this.props,\n className: classnames('msc-active-image', this._activeImageClass, this.props.config.className)\n },\n activePointDetailsContainer: {\n tag: 'div',\n className: classnames('msc-active-image-wrapper', this._activeImageClass, this.props.config.className),\n ref: this._activeImageRefs\n },\n imgWidth: this.props.config.canvasWidth,\n imageMapper: this.renderImageMapper(),\n overlay: this.renderOverlay(),\n productCard: this.renderProductCard(),\n productCardleftPosition: this.getProductCardPositionX(),\n productCardtopPosition: this.getProductCardPositionY(),\n title: this.renderActiveImageDetailsHeading(),\n text: this.renderActiveImageDetailsParagraph(),\n links: this.renderActiveImageDetailsLinks(),\n detailsContainer: { className: 'msc-active-image__details' },\n detailsContainerCta: { className: 'msc-active-image__details__cta' },\n additionalContent: activeImageAdditionalContent({\n requestContext: this.props.context.request,\n additionalContent: this.props.config.additionalContent,\n handleAdditionalTextChange: this.handleAdditionalTextChange,\n handleAdditionalParagraphChange: this.handleAdditionalParagraphChange,\n handleAdditionalLinkTextChange: this.handleAdditionalLinkTextChange\n }),\n handleAdditionalText: this.handleAdditionalTextChange,\n handleAdditionalParagraph: this.handleAdditionalParagraphChange,\n handleAdditionalLinkText: this.handleAdditionalTextChange\n };\n\n return this.props.renderView(viewProps);\n }\n\n /**\n * RenderImageMapper method - To render image mapper.\n * @returns - Returns React.ReactNode | null.\n */\n public renderImageMapper = (): React.ReactNode | null => {\n const { config, context } = this.props;\n const defaultPosition: number = 0;\n const defaultLength: number = 0;\n const productResults = this.props.data.products.result;\n if (config.activePoints && productResults) {\n for (const product of productResults) {\n for (const configProduct of config.activePoints) {\n if (product.ItemId === configProduct.itemId) {\n const productUrl = getProductPageUrlSync(product.Name ?? '', product.RecordId, context.actionContext, undefined);\n const coords = [\n configProduct.xPosition ?? defaultPosition,\n configProduct.yPosition ?? defaultPosition,\n configProduct.radius ?? defaultPosition\n ];\n const area = this._activePoints.find(activePoint => JSON.stringify(activePoint.coords) === JSON.stringify(coords));\n this.addActivePoints(area, product, coords, productUrl);\n }\n }\n }\n }\n const mappedArea: IAreaMap = {\n name: `map-${this._activeImageClass}`,\n areas: this._activePoints.length > defaultLength ? this._activePoints : []\n };\n\n // If image is null, we want to render the placeholder SVG - by passing image data with empty src\n return (\n \n );\n };\n\n /**\n * EnterArea method - To handle mouse enter event.\n * @param area - Active point area.\n * @param index - Active point index.\n * @param event - Active point AreaEvent.\n */\n public enterArea = (area: IArea, index: number, event: AreaEvent): void => {\n this.setState({ area, overlayClass: 'msc-active-image-overlay' });\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(area, index, event);\n }\n if (event.type.toLocaleLowerCase() === 'click' && this._isDesktopViewPort) {\n window.open(area.productUrl, '_self');\n }\n };\n\n /**\n * LeaveArea method - To handle mouse leave event.\n */\n public leaveArea = (): void => {\n if (this._isDesktopViewPort) {\n this.resetState();\n }\n };\n\n /**\n * ResetState method - To reset the state for area and overlayclass.\n */\n public resetState = (): void => {\n this.setState({ area: null, overlayClass: '' });\n };\n\n /**\n * RenderProductComponent method - To render the product card with product information.\n * @returns - Returns React.ReactNode.\n */\n public renderProductComponent = (): React.ReactNode => {\n if (this.state.area?.productSearchResult) {\n const baseImageUrl: string = this.props.context.request.apiSettings.baseImageUrl;\n const imageUrl: string = this.state.area.primaryImageUrl ?? '';\n const primaryImageUrl: string = `${baseImageUrl}${imageUrl}`;\n const product: ProductSearchResult = this.state.area.productSearchResult;\n product.PrimaryImageUrl = primaryImageUrl;\n\n return (\n \n );\n }\n return React.Fragment;\n };\n\n /**\n * RenderProductCard method - To render product cards.\n * @returns - Returns React.ReactNode.\n */\n public renderProductCard = (): React.ReactNode => {\n const { area } = this.state;\n\n return (\n <>\n {area?.center && (\n
\n
\n {!this._isDesktopViewPort &&
\n
\n )}\n \n );\n };\n\n /**\n * RenderOverlay method - To render overlay for non desktop viewports.\n * @returns - Returns React.ReactNode.\n */\n public renderOverlay = (): React.ReactNode => {\n return <>{!this._isDesktopViewPort &&
};\n };\n\n /**\n * GetProductCardPositionX method - Provides product card x position to the left or right of active point based on available space.\n * For xs, sm and md viewports it provides x position for the center alignment.\n * @returns - Returns number.\n */\n public getProductCardPositionX = (): number => {\n const defaultImageSettings = this.getDefaultImageSettings();\n const productImageSettingsWidth = this.props.config.productImageSettings?.viewports\n ? this.props.config.productImageSettings.viewports.lg?.w\n : defaultImageSettings.viewports.lg?.w;\n const defaultPositionX: number = 0;\n const halfDivisor: number = 2;\n const productCardWidth: number = productImageSettingsWidth ? productImageSettingsWidth : this._defaultProductCardWidth;\n const { area, clientWidth, viewport } = this.state;\n const pointPositionX = area?.center?.[0] ?? clientWidth / halfDivisor;\n const leftAllignPosition = pointPositionX - productCardWidth - productCardWidth / halfDivisor;\n const rightAllignPosition = pointPositionX + productCardWidth / halfDivisor;\n let position: number = (clientWidth - productCardWidth) / halfDivisor;\n if (viewport !== 'xs' && viewport !== 'sm' && viewport !== 'md') {\n if (leftAllignPosition < defaultPositionX) {\n position = rightAllignPosition;\n } else {\n position = leftAllignPosition;\n }\n }\n return position;\n };\n\n /**\n * GetProductCardPositionY method - Provides product card y position in center with respect to active point.\n * For xs, sm and md viewports it provides y position for the center alignment.\n * @returns - Returns number.\n */\n public getProductCardPositionY = (): number => {\n const defaultImageSettings = this.getDefaultImageSettings();\n const productImageSettingsHeight = this.props.config.productImageSettings?.viewports\n ? this.props.config.productImageSettings.viewports.lg?.h\n : defaultImageSettings.viewports.lg?.h;\n const halfDivisor: number = 2;\n const { area, viewport } = this.state;\n const produtCardHight: number = productImageSettingsHeight ? productImageSettingsHeight : this._defaultProdutCardHight;\n const pointPositionY = (this.getActiveImageHeight() - produtCardHight) / halfDivisor;\n let position: number = pointPositionY;\n if (viewport !== 'xs' && viewport !== 'sm' && viewport !== 'md') {\n position = (area?.center?.[1] ?? this.getActiveImageHeight() / halfDivisor) - produtCardHight / halfDivisor;\n }\n return position;\n };\n\n /**\n * GetDefaultImageSettings method.\n * @returns MsDyn365.IImageSettings.\n */\n public getDefaultImageSettings = (): MsDyn365.IImageSettings => {\n const defaultImageSettings: MsDyn365.IImageSettings = {\n viewports: {\n xs: { q: 'w=275&h=275&m=6', w: 275, h: 275 },\n lg: { q: 'w=275&h=275&m=6', w: 275, h: 275 },\n xl: { q: 'w=275&h=275&m=6', w: 275, h: 275 }\n },\n lazyload: true\n };\n\n return defaultImageSettings;\n };\n\n /**\n * KeyDown method - To handle keydown event.\n * @param event - KeyboardEvent.\n */\n public keyDown = (event: KeyboardEvent): void => {\n if (event.key === ActiveImageConstants.enterKey) {\n const target: HTMLElement = event.target as HTMLElement;\n if (target.nodeName === 'AREA') {\n const area: HTMLAreaElement = target as HTMLAreaElement;\n if (area.href) {\n window.open(area.href, '_self');\n }\n }\n }\n if (event.key === ActiveImageConstants.escKey) {\n this.resetState();\n }\n };\n\n /**\n * GetActiveImageWidth method - To get active image width.\n * @returns Returns number.\n */\n public getActiveImageWidth = (): number => {\n const defaultWidth: number = 0;\n if (MsDyn365.msdyn365Commerce.isBrowser) {\n const activeImageReferenceValue = this._activeImageRefs;\n if (activeImageReferenceValue.current !== null) {\n return activeImageReferenceValue.current.clientWidth;\n }\n }\n return defaultWidth;\n };\n\n /**\n * GetActiveImageHeight method - To get active image height.\n * @returns Returns number.\n */\n public getActiveImageHeight = (): number => {\n const defaultHeight: number = 0;\n if (MsDyn365.msdyn365Commerce.isBrowser) {\n const activeImageReferenceValue = this._activeImageRefs;\n if (activeImageReferenceValue.current !== null) {\n return activeImageReferenceValue.current.clientHeight;\n }\n }\n return defaultHeight;\n };\n\n /**\n * HandleLinkTextChange method - To handle link text change event.\n * @param linkIndex - The link index.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleLinkTextChange(linkIndex: number, event: MsDyn365.ContentEditableEvent): void {\n if (this.props.config.links && this.props.config.links[Number(linkIndex)]) {\n this.props.config.links[Number(linkIndex)].linkText = event.target.value;\n }\n }\n\n /**\n * HandleTextChange method - To handle text change event.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleTextChange = (event: MsDyn365.ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n /**\n * HandleParagraphChange method - To handle paragraph change event.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleParagraphChange = (event: MsDyn365.ContentEditableEvent): void => {\n this.props.config.paragraph = event.target.value;\n };\n\n /**\n * HandleAdditionalTextChange method - To handle additional text change event.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleAdditionalTextChange(event: MsDyn365.ContentEditableEvent): void {\n if (this.props.config.additionalContent) {\n this.props.config.additionalContent.heading = event.target.value;\n }\n }\n\n /**\n * HandleAdditionalLinkTextChange method - To handle additional link text change event.\n * @param linkIndex - The link index.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleAdditionalLinkTextChange(linkIndex: number, event: MsDyn365.ContentEditableEvent): void {\n const additionalContent = this.props.config.additionalContent ?? {};\n if (additionalContent.links) {\n additionalContent.links[Number(linkIndex)].linkText = event.target.value;\n }\n }\n\n /**\n * HandleAdditionalParagraphChange method - To handle additional paragraph change event.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleAdditionalParagraphChange(event: MsDyn365.ContentEditableEvent): void {\n if (this.props.config.additionalContent) {\n this.props.config.additionalContent.subtext = event.target.value;\n }\n }\n\n /**\n * RenderActiveImageDetailsLinks method - To render active image details links.\n * @returns - React node.\n */\n public renderActiveImageDetailsLinks = (): React.ReactNode[] | undefined => {\n const { links } = this.props.config;\n const payLoad = getPayloadObject('click', this._telemetryContent, '');\n\n return links?.map((linkData: IActiveImageLinksData, index: number) => {\n payLoad.contentAction.etext = linkData.linkText;\n const attributes = getTelemetryAttributes(this._telemetryContent, payLoad);\n const linkId = index;\n const editableLink: MsDyn365.ILinksData = {\n ariaLabel: linkData.ariaLabel,\n className: 'msc-active-image__details__cta__link',\n linkText: linkData.linkText,\n linkUrl: linkData.linkUrl.destinationUrl,\n openInNewTab: linkData.willOpenInNewTab,\n role: 'button',\n additionalProperties: attributes\n };\n\n return (\n {\n this.handleLinkTextChange(index, event);\n },\n requestContext: this.props.context.request\n }}\n />\n );\n });\n };\n\n /**\n * RenderActiveImageDetailsHeading method - To render active image details heading.\n * @returns - React.ReactNode | undefined.\n */\n public renderActiveImageDetailsHeading = (): React.ReactNode | undefined => {\n const { heading } = this.props.config;\n\n return (\n heading && (\n \n )\n );\n };\n\n /**\n * RenderActiveImageDetailsParagraph method - To render active image details paragraph.\n * @returns - React.ReactNode | undefined.\n */\n public renderActiveImageDetailsParagraph = (): React.ReactNode | undefined => {\n const { paragraph } = this.props.config;\n\n return (\n paragraph && (\n \n )\n );\n };\n\n /**\n * GetActiveImageId - To get active image id from src.\n * @returns - String.\n */\n public getActiveImageId = (): string => {\n const { activeImage } = this.props.config;\n let activeImageId: string = '';\n if (activeImage?.src) {\n const activeImageSource = activeImage.src.split('/');\n const decrementOne: number = 1;\n const activeImageIdPart = activeImageSource[activeImageSource.length - decrementOne].split('?');\n activeImageId = activeImageIdPart[0] ?? '';\n }\n return activeImageId;\n };\n\n /**\n * Handle outside click method - To handle outside click of the active image product.\n * @param event - Mouse event.\n */\n private readonly _handleOutsideClick = (event: MouseEvent) => {\n if (this._productCardDivRef.current?.contains(event.target as Node)) {\n return;\n }\n this.resetState();\n };\n}\nexport default ActiveImage;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IActiveImageAdditionalContentViewProps } from '../active-image-utilities';\nimport { IActiveImageViewProps } from './active-image';\n\n/**\n * Render Additional Content.\n * @param additionalContent - Additional content view props.\n * @returns JSX Element.\n */\nconst renderAdditionalContent = (additionalContent: IActiveImageAdditionalContentViewProps) => {\n return (\n \n {additionalContent.heading}\n \n {additionalContent.text}\n {additionalContent.links}\n \n \n );\n};\n\n/**\n * Render View.\n * @param props - The view props.\n * @returns -The JSX Element.\n */\nexport const activeImageView: React.FC = props => {\n return (\n \n \n {props.imageMapper}\n \n {props.title}\n {props.text}\n {props.additionalContent && renderAdditionalContent(props.additionalContent)}\n \n {props.links}\n \n \n \n \n {props.overlay}\n {props.productCard}\n \n \n );\n};\n\nexport default activeImageView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IProductDimensionsWithAvailabilitiesFull } from '@msdyn365-commerce/commerce-entities';\nimport { ProductDimensionsMatrix } from '@msdyn365-commerce/components';\nimport { RichTextComponent } from '@msdyn365-commerce/core';\nimport { ICoreContext, getCatalogId } from '@msdyn365-commerce/core-internal';\nimport { ArrayExtensions, IDimensionsApp, validateCatalogId } from '@msdyn365-commerce-modules/retail-actions';\nimport { Alert, Button, Collapse, IModuleProps, isMobile, VariantType } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { FeatureState } from '@msdyn365-commerce/retail-proxy';\nimport { IBulkPurchaseData } from './bulk-purchase.data';\nimport { IBulkPurchaseProps } from './bulk-purchase.props.autogenerated';\n\n/**\n * Additional optional props for the bulk purchase.\n */\nexport interface IBulkPurchaseExtendedProps extends IBulkPurchaseProps {\n productDimensions?: IProductDimensionsWithAvailabilitiesFull[];\n}\n\n/**\n * View for the bulk purchase module.\n */\nexport interface IBulkPurchaseViewProps extends IBulkPurchaseProps {\n container: IModuleProps;\n content: React.ReactElement;\n}\n\n/**\n * BulkPurchase state message Interface.\n */\nexport interface IBulkPurchaseStateMessage {\n isOpen: boolean;\n messageGlyph: string;\n messageText: string;\n statusCssString: string;\n}\n\n/**\n * View for the bulk purchase module.\n */\nexport interface IBulkPurchaseState {\n isExpanded: boolean;\n stateMessage?: IBulkPurchaseStateMessage;\n}\n\n/**\n * Bulk-purchase module.\n */\nexport class BulkPurchase extends React.PureComponent {\n public static readonly className = 'ms-bulk-purchase';\n private readonly _errorCssClass: string = 'danger';\n private readonly _errorCssGlyphClass: string = 'fas fa-exclamation-triangle';\n private readonly collapseRef: React.RefObject = React.createRef();\n\n public constructor(props: IBulkPurchaseExtendedProps) {\n super(props);\n\n this.state = {\n isExpanded: false\n };\n }\n\n public render(): React.ReactElement | null {\n const hasDimensionsInProps = ArrayExtensions.hasElements(this.props.productDimensions);\n const hasDimensionsInData = ArrayExtensions.hasElements(this.props.data.productDimensions?.result);\n if (!hasDimensionsInProps && !hasDimensionsInData) {\n return null;\n }\n\n const viewProps: IBulkPurchaseViewProps = {\n ...this.props,\n container: {\n moduleProps: this.props,\n className: classnames(BulkPurchase.className, this.props.config.className)\n },\n content: this._renderCollapseContent(`${BulkPurchase.className}__content`)\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n private _renderCollapseContent(className: string): React.ReactElement {\n return (\n
\n {this._renderCollapseButton(`${className}__collapse-button`)}\n {this._renderCollapse(`${className}__collapse`)}\n
\n );\n }\n\n private _renderCollapseButton(className: string): React.ReactElement {\n return (\n \n {this.props.resources.bulkPurchaseHeaderTitle}\n \n );\n }\n\n /**\n *This function is being used to handel variant change dropdown.\n */\n private _dimensionDropDownChange = () => {\n this.collapseRef.current?.reEvaluateHeight();\n };\n\n private _renderCollapse(className: string): React.ReactElement {\n return (\n \n {this._renderMainContent(`${className}__main-content`)}\n \n );\n }\n\n private _renderMainContent(className: string): React.ReactElement {\n const isMobileDevice = isMobile({ variant: VariantType.Viewport, context: this.props.context.request }) === 'xs';\n\n const userMessageNode = this.state.stateMessage ? (\n \n \n {this.state.stateMessage.messageText}\n \n ) : (\n undefined\n );\n\n return (\n
\n {!isMobileDevice && (\n
\n \n
\n )}\n {userMessageNode}\n {this._renderMatrix(`${className}__matrix-container`)}\n
\n );\n }\n\n private _renderMatrix(className: string): React.ReactElement {\n const hasDimensionsInProps = ArrayExtensions.hasElements(this.props.productDimensions);\n const channelMultipleCatalogsFeature = 'Dynamics.AX.Application.ChannelMultipleCatalogsFeature';\n const { featureState } = this.props.data;\n const isMultipleCatalogsFeatureEnabled =\n featureState?.result?.find((item: FeatureState) => item.Name === channelMultipleCatalogsFeature)?.IsEnabled || false;\n const catalogId = getCatalogId(this.props.context.request);\n validateCatalogId(catalogId);\n return (\n }\n data={{\n dimensions: hasDimensionsInProps ? this.props.productDimensions! : this.props.data.productDimensions!.result!,\n orderTemplates: this.props.data.orderTemplates?.result,\n customerInformation: this.props.data.customerInformation?.result\n }}\n resources={this.props.resources}\n dimensionOnChange={this._dimensionDropDownChange}\n onErrorMessage={this._onErrorMessage}\n isMultipleCatalogFeatureEnabledInHq={isMultipleCatalogsFeatureEnabled}\n catalogId={catalogId}\n />\n );\n }\n\n private _onErrorMessage = (errorMessage: string) => {\n this.setState({\n stateMessage: {\n messageText: errorMessage,\n statusCssString: this._errorCssClass,\n messageGlyph: this._errorCssGlyphClass,\n isOpen: true\n }\n });\n };\n\n /**\n * Callback which toggles collapse mode.\n */\n private readonly _toggleCollapse = () => {\n this.setState(state => ({\n isExpanded: !state.isExpanded\n }));\n };\n}\n\nexport default BulkPurchase;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n AddToCartComponent,\n AddToOrderTemplateComponent,\n AddToWishlistComponent,\n IAddToCartFailureResult,\n IAddToCartResources,\n IAddToOrderTemplateDialogResources,\n IDuplicateItemsWhenAddingToOrderTemplateDialogResources,\n IItemAddedToOrderTemplateDialogResources,\n IOrderTemplateActionErrorResult,\n IOrderTemplateNameDialogResources,\n IWishlistActionErrorResult,\n PriceComponent,\n RatingComponent\n} from '@msdyn365-commerce/components';\nimport { getUrlSync, IImageSettings } from '@msdyn365-commerce/core';\nimport { ICartActionResult, ICartState } from '@msdyn365-commerce/global-state';\nimport { ProductAvailableQuantity, SimpleProduct } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, DeliveryMode, validateCatalogId } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n Alert,\n Button,\n format,\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n Heading,\n ITelemetryContent,\n Node,\n Quantity,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport {\n IBuyboxAddToCartViewProps,\n IBuyboxAddToOrderTemplateViewProps,\n IBuyboxAddToWishlistViewProps,\n IBuyboxCallbacks,\n IBuyboxCommonData,\n IBuyboxCommonResources,\n IBuyboxErrorBlockProps,\n IBuyboxExtentedProps,\n IBuyboxKeyInPriceViewProps,\n IBuyboxProductQuantityViewProps,\n IBuyboxShopSimilarLookViewProps,\n IBuyboxState,\n IProductDetails,\n ShopSimiliarButtonType\n} from './buyboxInterface';\nimport { getConfigureErrors, getGenericError, getQuantityError } from './utilities/error-utilities';\n\nconst _getClassNamePrefix = (typeName: string): string => {\n return typeName.toLocaleLowerCase() === 'quickview' ? 'ms-quickView' : 'ms-buybox';\n};\n\nexport function getBuyBoxInventoryLabel(\n props: IBuyboxExtentedProps,\n productDetails?: IProductDetails\n): React.ReactElement | undefined {\n const { typeName } = props;\n\n // Since the data action can return no value, and the type is non-nullable due to backward compatibility reasons, the null check is required.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Explicitly check for null/undefined.\n const productAvailableQuantity = props.data.productAvailableQuantity?.result ?? productDetails?.productAvailableQuantity;\n\n const className = _getClassNamePrefix(typeName);\n if (!productAvailableQuantity || !ArrayExtensions.hasElements(productAvailableQuantity)) {\n return undefined;\n }\n const shippingInventory = productAvailableQuantity.find(shipping => shipping.deliveryType === DeliveryMode.shipping);\n\n if (shippingInventory) {\n let inventoryClassName: string;\n if (shippingInventory.StockLevelCode) {\n inventoryClassName = `${className}__inventory-label ${className}__inventory-code-${shippingInventory.StockLevelCode.toLowerCase()}`;\n } else {\n inventoryClassName = `${className}__inventory-label`;\n }\n return (\n
\n {shippingInventory.StockLevelLabel}\n
\n );\n }\n\n return undefined;\n}\n\nexport function getBuyboxProductTitle(\n props: IBuyboxExtentedProps,\n productDetails?: IProductDetails\n): React.ReactElement | undefined {\n const {\n config: { titleHeadingTag = 'h1' },\n typeName\n } = props;\n const className = _getClassNamePrefix(typeName);\n\n // Since the data action can return no value, and the type is non-nullable due to backward compatibility reasons, the null check is required.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Explicitly check for null/undefined.\n const product = props.data.product?.result ?? productDetails?.product ?? undefined;\n\n return product && ;\n}\n\nexport function getBuyboxProductDescription(\n props: IBuyboxExtentedProps,\n productDetails?: IProductDetails\n): React.ReactElement | undefined {\n const { typeName } = props;\n const className = _getClassNamePrefix(typeName);\n\n // Since the data action can return no value, and the type is non-nullable due to backward compatibility reasons, the null check is required.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Explicitly check for null/undefined.\n const product = props.data.product?.result ?? productDetails?.product ?? undefined;\n\n return product &&

{product.Description}

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