{"version":3,"file":"static/js/8394043214b6856d6e25.bundle.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/themes/dlvry-adventureworks/views/product-comparison.view.tsx?ef22","webpack://Msdyn365.Commerce.Online/./lib/product-comparison/module-registration.js?5b3a","webpack://Msdyn365.Commerce.Online/./src/modules/product-comparison-button/product-comparison-button.tsx?9384","webpack://Msdyn365.Commerce.Online/./src/modules/product-comparison-button/product-comparison-button.view.tsx?94a7","webpack://Msdyn365.Commerce.Online/external var \"React\"?0d3b","webpack://Msdyn365.Commerce.Online/external var \"ReactDOM\"?853b"],"sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport msdyn365Commerce from '@msdyn365-commerce/core';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { IProductComparisonProductMainInfo, IProductComparisonViewProps, ProductComparison } from '@msdyn365-commerce-modules/product-comparison';\n\n/**\n * Renders dynamic header values.\n * @param values - cd..info.\n * @param headerName - Header Name.\n * @returns List of react nodes.\n */\nconst renderDynamicHeaderCells = (\n values: {\n productMainInfo: IProductComparisonProductMainInfo;\n node: React.ReactNode;\n }[],\n headerName: string,\n currentClickerPosition?: number\n) => {\n return values.map((value, index) => {\n if (index === currentClickerPosition) {\n return (\n \n {headerName}\n \n );\n }\n return ;\n });\n};\n\n/**\n * Renders dynamic cell values.\n * @param values - Cells info.\n * @param hoveringCellItemId - Currently hovered cell.\n * @returns List of react nodes.\n */\nconst renderDynamicCells = (\n values: {\n productMainInfo: IProductComparisonProductMainInfo;\n node: React.ReactNode;\n }[],\n hoveringCellItemId: string\n) => {\n return values.map(value => {\n return (\n \n {value.node}\n \n );\n });\n};\n/**\n * Represents product comparison view.\n * @param props - View props for product comparison.\n * @returns Functional component of product comparison.\n */\nexport const ProductComparisonViewFunctionalComponent: React.FC = props => {\n return (\n \n {props.backToShopping}\n {props.heading}\n {props.productCountText}\n {props.isEmptyContent || props.isMainContentReady ? undefined : props.loading}\n {props.isEmptyContent ? props.emptyComparison : undefined}\n \n {!props.isEmptyContent && props.isMainContentReady ? props.clearAllButton : undefined}\n \n {props.isMainContentReady ? (\n \n \n \n \n \n {props.shouldShowPreviousClicker && props.previousClicker}\n \n {props.productsMainInfo?.map(productMainInfo => {\n const isFromCurrentCatalog = productMainInfo.isFromCurrentCatalog;\n const actionsClassName = `${ProductComparison.productRowClassName}__actions`;\n return (\n \n {productMainInfo.removeFromComparisonButton}\n {productMainInfo.productImage}\n {msdyn365Commerce.isBrowser ? productMainInfo.productLink : undefined}\n {productMainInfo.productPrice}\n \n {isFromCurrentCatalog\n ? productMainInfo.quickView\n : productMainInfo.goToProductDetailsButton}\n \n \n );\n })}\n \n {props.shouldShowNextClicker && props.nextClicker}\n \n \n \n {/* {props.productsMainInfo?.map((rating, key) => {\n return rating.productRating !== undefined && key === 0 ? (\n \n \n {props.productsMainInfo?.map((productMainInfo, index) => {\n if (index === props.currentClickerPosition) {\n return (\n \n {props.resources.productComparisonProductItemRating}\n \n );\n }\n return (\n \n );\n })}\n \n \n {props.productsMainInfo?.map(productMainInfo => {\n return (\n \n {productMainInfo.productRating}\n \n );\n })}\n \n \n ) : (\n undefined\n );\n })} */}\n {props.productsMainInfo?.map((description, key) => {\n return description.productDescription !== undefined && key === 0 ? (\n \n \n {props.productsMainInfo?.map((productMainInfo, index) => {\n if (index === props.currentClickerPosition) {\n return (\n \n {props.resources.productComparisonProductItemDescription}\n \n );\n }\n return (\n \n );\n })}\n \n \n {props.productsMainInfo?.map(productMainInfo => {\n return (\n \n {productMainInfo.productDescription}\n \n );\n })}\n \n \n ) : (\n undefined\n );\n })}\n {props.dimensionsProps?.map(dimensionProps => {\n return (\n dimensionProps?.dimensionName && (\n \n \n {renderDynamicHeaderCells(\n dimensionProps.productDimensionValues,\n dimensionProps.dimensionName,\n props.currentClickerPosition\n )}\n \n\n \n {renderDynamicCells(dimensionProps.productDimensionValues, props.hoveringCellItemId!)}\n \n \n )\n );\n })}\n {props.specificationsProps?.map(specificationProps => {\n return StringExtensions.isNullOrEmpty(specificationProps.specification.TextValue) === false ? (\n \n \n {renderDynamicHeaderCells(\n specificationProps.specificationValues,\n specificationProps.specification.Name!,\n props.currentClickerPosition\n )}\n \n \n {renderDynamicCells(specificationProps.specificationValues, props.hoveringCellItemId!)}\n \n \n ) : (\n undefined\n );\n })}\n \n \n {props.productsMainInfo?.map((productMainInfo, index) => {\n if (index === props.currentClickerPosition) {\n return (\n \n {props.resources.productComparisonProductItemSku}\n \n );\n }\n return (\n \n );\n })}\n \n \n {props.productsMainInfo?.map(productMainInfo => {\n return (\n \n {productMainInfo.product.productInfo.ItemId}\n \n );\n })}\n \n \n \n \n \n \n ) : (\n undefined\n )}\n \n );\n};\n\nexport default ProductComparisonViewFunctionalComponent;\n","const binding = { modules: {}, dataActions: {} };\n\n const registerActionId = (actionPath) => {\n if (binding.dataActions[actionPath] &&\n binding.dataActions[actionPath].default &&\n binding.dataActions[actionPath].default.prototype &&\n binding.dataActions[actionPath].default.prototype.id) {\n binding.dataActions[binding.dataActions[actionPath].default.prototype.id] = binding.dataActions[actionPath];\n } else {\n Object.keys(binding.dataActions[actionPath] || {}).forEach(exportName => {\n if (binding.dataActions[actionPath][exportName] &&\n binding.dataActions[actionPath][exportName].prototype &&\n binding.dataActions[actionPath][exportName].prototype.Action) {\n binding.dataActions[binding.dataActions[actionPath][exportName].prototype.id] = binding.dataActions[actionPath][exportName];\n }\n })\n }\n };\n\n const registerSanitizedActionPath = (sanitizedActionPath, dataAction) => {\n if (process.env.NODE_ENV === 'development') {\n if (!dataAction.default) {\n throw new Error('Data action path does not have a default export');\n }\n if (!(dataAction.default.prototype.id && binding.dataActions[dataAction.default.prototype.id]) || !binding.dataActions[sanitizedActionPath]) {\n binding.dataActions[sanitizedActionPath] = dataAction;\n }\n } else {\n binding.dataActions[sanitizedActionPath] = dataAction;\n if (!binding.dataActions[sanitizedActionPath].default) {\n throw new Error('Data action path ' + sanitizedActionPath + ' does not have a default export');\n }\n binding.dataActions[sanitizedActionPath].default.prototype.RegistrationId = sanitizedActionPath;\n if (binding.dataActions[sanitizedActionPath].default.prototype.id) {\n binding.dataActions[binding.dataActions[sanitizedActionPath].default.prototype.id] = sanitizedActionPath;\n }\n }\n };\n \n\n (binding.modules['product-comparison'] = {\n c: () => require('@msdyn365-commerce-modules/product-comparison/dist/lib/modules/product-comparison/product-comparison'),\n $type: 'containerModule',\n da: [{name:'accountInformation', path:'@msdyn365-commerce-modules/retail-actions/dist/lib/get-customer', runOn: 0},{name:'productsData', path:'@msdyn365-commerce-modules/product-comparison/dist/lib/modules/product-comparison/actions/get-products-in-product-comparison', runOn: 0}],\n \n iNM: true,\n ns: '@msdyn365-commerce-modules',\n n: 'product-comparison',\n p: 'product-comparison',\n \n pdp: '',\n \n \n md: 'node_modules/@msdyn365-commerce-modules/product-comparison/dist/lib/modules/product-comparison'\n });\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/product-comparison/dist/lib/modules/product-comparison/actions/get-products-in-product-comparison';\n let dataAction = require('@msdyn365-commerce-modules/product-comparison/dist/lib/modules/product-comparison/actions/get-products-in-product-comparison');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\n }\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/retail-actions/dist/lib/get-customer';\n let dataAction = require('@msdyn365-commerce-modules/retail-actions/dist/lib/get-customer');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\n }\n \n\n \n window.__bindings__ = window.__bindings__ || {};\n window.__bindings__.modules = {\n ...window.__bindings__.modules || {},\n ...binding.modules\n };\n \n window.__bindings__.dataActions = {\n ...window.__bindings__.dataActions || {},\n ...binding.dataActions\n };\n export const viewDictionary = {};\n viewDictionary['__local__|__local__|themes|dlvry-adventureworks|views|product-comparison'] = {\n c: () => require('partner/themes/dlvry-adventureworks/views/product-comparison.view.tsx'),\n cn: '__local__-__local__-product-comparison'\n };\nviewDictionary['@msdyn365-commerce-modules|product-comparison|modules|product-comparison|product-comparison'] = {\n c: () => require('@msdyn365-commerce-modules/product-comparison/dist/lib/modules/product-comparison/product-comparison.view.js'),\n cn: '@msdyn365-commerce-modules-product-comparison-product-comparison'\n };\nwindow.__bindings__ = window.__bindings__ || {};\nwindow.__bindings__.viewDictionary = {\n ...window.__bindings__.viewDictionary || {},\n ...viewDictionary\n };","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { AsyncResult, Customer, ProductSearchResult, SimpleProduct } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, ObjectExtensions, Random } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, IModuleProps, isMobile, VariantType } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport React from 'react';\n\nimport { getCatalogId } from '@msdyn365-commerce/core';\nimport { ProductComparisonItem, ProductComparisonState } from '../product-comparison-state';\nimport { IProductComparisonButtonProps } from './product-comparison-button.props.autogenerated';\n\n/**\n * Represents product comparison view props.\n */\nexport interface IProductComparisonButtonViewProps extends IProductComparisonButtonProps<{}> {\n moduleProps: IModuleProps;\n productComparisonButton?: React.ReactNode;\n productComparisonPreview?: React.ReactNode;\n}\n\n/**\n * Represents the data which is required for the product comparison button to be rendered.\n */\nexport interface IProductComparisonButtonData {\n accountInformation?: AsyncResult;\n}\n\n/**\n * Extended props for the module including info about the product.\n */\nexport interface IProductComparisonButtonFullProps extends IProductComparisonButtonProps {\n product: ProductSearchResult | SimpleProduct;\n catalogId: number;\n}\n\n/**\n * Extended props for the module including info about the product.\n */\nexport interface IProductComparisonButtonState {\n canProductBeAddedToProductComparison: boolean;\n currentProductsCount: number;\n comparisonItemId: string;\n}\n\n/**\n * Represents the component which renders product comparison table.\n */\nexport class ProductComparisonButton extends React.PureComponent {\n private static _productComparisonPreview?: React.ReactNode;\n\n private readonly _className: string;\n\n private readonly _instanceId: string;\n\n private readonly _shouldUsePreview: boolean;\n\n private static _renderProductComparisonPreview(props: IProductComparisonButtonFullProps): React.ReactNode {\n if (!ProductComparisonButton._productComparisonPreview && ArrayExtensions.hasElements(props.slots.productComparisonPreview)) {\n ProductComparisonButton._productComparisonPreview = props.slots.productComparisonPreview[0];\n }\n\n return ProductComparisonButton._productComparisonPreview;\n }\n\n private static _renderProductComparisonButton(\n className: string,\n buttonText: string | undefined,\n title: string,\n onClickHandler?: () => void\n ): React.ReactNode {\n const isDisabled = ObjectExtensions.isNullOrUndefined(onClickHandler);\n let content: React.ReactNode;\n if (buttonText) {\n content = (\n <>\n
\n
{buttonText}
\n \n );\n }\n return (\n \n );\n }\n\n public constructor(props: IProductComparisonButtonFullProps) {\n super(props);\n\n this._className = 'ms-product-comparison-button';\n this._instanceId = `${this._className}-${this.props.id}-${Random.Guid.generateGuid()}`;\n\n this.state = this._getNewState();\n\n this._shouldUsePreview = !ProductComparisonButton._productComparisonPreview;\n ProductComparisonButton._renderProductComparisonPreview(this.props);\n }\n\n public componentDidMount(): void {\n ProductComparisonState.instance(this.props.context.request, this.props.data.accountInformation?.result).listModifiedEvent.subscribe(\n {\n instanceId: this._instanceId,\n\n /**\n * Updates the state in case the state for the particular product was changed.\n */\n handler: () => {\n this.setState(this._getNewState());\n }\n }\n );\n }\n\n public getSnapshotBeforeUpdate(previousProps: Readonly): void {\n if (previousProps.product.RecordId !== this.props.product.RecordId || previousProps.catalogId !== this.props.catalogId) {\n this.setState(this._getNewState());\n }\n }\n\n public componentWillUnmount(): void {\n ProductComparisonState.instance(\n this.props.context.request,\n this.props.data.accountInformation?.result\n ).listModifiedEvent.unsubscribe(this._instanceId);\n }\n\n public render(): React.ReactNode | null {\n const isConsentGiven = this.props.context.request.cookies.isConsentGiven();\n if (!isConsentGiven) {\n return null;\n }\n\n const viewProps: IProductComparisonButtonViewProps = {\n ...this.props,\n moduleProps: {\n moduleProps: this.props,\n className: this._className\n }\n };\n\n if (this._shouldUsePreview) {\n viewProps.productComparisonPreview = ProductComparisonButton._productComparisonPreview;\n }\n\n const buttonClassName = this.props.config.shouldDisplayText ? `${this._className}__button` : `${this._className}__icon`;\n\n if (!this.state.canProductBeAddedToProductComparison) {\n const buttonText = this.props.config.shouldDisplayText ? this.props.resources.removeFromComparisonButtonText : undefined;\n viewProps.productComparisonButton = ProductComparisonButton._renderProductComparisonButton(\n classnames(`${buttonClassName}__removing`, buttonClassName),\n buttonText,\n this.props.resources.removeFromComparisonButtonText,\n this._removeFromProductComparison\n );\n return this.props.renderView(viewProps);\n }\n\n const productsLimit = this._getProductsLimit();\n if (!ObjectExtensions.isNullOrUndefined(productsLimit) && productsLimit <= this.state.currentProductsCount) {\n const buttonText = this.props.config.shouldDisplayText ? this.props.resources.addToComparisonLimitReachedButtonText : undefined;\n viewProps.productComparisonButton = ProductComparisonButton._renderProductComparisonButton(\n buttonClassName,\n buttonText,\n this.props.resources.addToComparisonLimitReachedButtonText\n );\n return this.props.renderView(viewProps);\n }\n\n const buttonText = this.props.config.shouldDisplayText ? this.props.resources.addToComparisonButtonText : undefined;\n viewProps.productComparisonButton = ProductComparisonButton._renderProductComparisonButton(\n buttonClassName,\n buttonText,\n this.props.resources.addToComparisonButtonText,\n this._addToProductComparison\n );\n return this.props.renderView(viewProps);\n }\n\n private _getProductsLimit(): number | undefined | null {\n const viewport = isMobile({ variant: VariantType.Browser, context: this.props.context.request });\n if (viewport === 'xs' || viewport === 'sm') {\n return this.props.context.app.config.productComparisonMobileProductsLimit;\n }\n return this.props.context.app.config.productComparisonDesktopProductsLimit;\n }\n\n /**\n * Adds current product to a product comparison list.\n */\n private readonly _addToProductComparison: () => void = () => {\n const item = new ProductComparisonItem(this.props.product.RecordId, this.props.catalogId);\n ProductComparisonState.instance(this.props.context.request, this.props.data.accountInformation?.result).addItem(item);\n };\n\n /**\n * Removes current product from the product comparison list where it was added earlier.\n */\n private readonly _removeFromProductComparison: () => void = () => {\n ProductComparisonState.instance(this.props.context.request, this.props.data.accountInformation?.result).removeItemById(\n this.state.comparisonItemId\n );\n };\n\n private _getProdutComparisonDataByCatalogId(): ProductComparisonItem[] {\n const items = ProductComparisonState.instance(this.props.context.request, this.props.data.accountInformation?.result).items;\n const catalogId = getCatalogId(this.props.context.request);\n const productByCatalogId = items?.filter(product => product.catalogId === catalogId) ?? [];\n return productByCatalogId;\n }\n\n /**\n * Retrieves the state of the component based on the comparison data.\n * @returns State object for the component.\n */\n private readonly _getNewState: () => IProductComparisonButtonState = () => {\n const comparisonItemId = ProductComparisonItem.getItemId(this.props.product.RecordId, this.props.catalogId);\n const products = this._getProdutComparisonDataByCatalogId();\n return {\n comparisonItemId,\n canProductBeAddedToProductComparison: !ProductComparisonState.instance(\n this.props.context.request,\n this.props.data.accountInformation?.result\n ).hasItemById(comparisonItemId),\n currentProductsCount: products.length\n };\n };\n}\n\nexport default ProductComparisonButton;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IProductComparisonButtonViewProps } from './product-comparison-button';\n\n/**\n * Represents product comparison button view.\n * @param props - View props for product comparison button.\n * @returns Functional component of product comparison button.\n */\nexport const ProductComparisonButtonViewFunctionalComponent: React.FC = props => {\n const { productComparisonButton, productComparisonPreview } = props;\n\n return (\n \n {productComparisonButton}\n {productComparisonPreview}\n \n );\n};\n\nexport default ProductComparisonButtonViewFunctionalComponent;\n","module.exports = React;","module.exports = ReactDOM;"],"names":["renderDynamicHeaderCells","values","headerName","currentClickerPosition","map","value","index","React","Node","Object","assign","productMainInfo","tableHeaderProps","role","tabindex","style","cellContainerProps","key","renderDynamicCells","hoveringCellItemId","tableCellProps","product","itemId","node","ProductComparisonViewFunctionalComponent","props","_props$productsMainIn","_props$productsMainIn2","_props$dimensionsProp","_props$specifications","_props$productsMainIn5","_props$productsMainIn6","Module","moduleProps","backToShopping","heading","className","ProductComparison","productCountText","isEmptyContent","isMainContentReady","undefined","loading","emptyComparison","actionBarContainerProps","clearAllButton","mainContainerClassName","containerClassName","tableClassName","ref","tableReference","tableHeaderClassName","tableHeaderReference","shouldShowPreviousClicker","previousClicker","classnames","tableRowClassName","productsMainInfo","isFromCurrentCatalog","actionsClassName","productRowClassName","removeFromComparisonButton","productImage","msdyn365Commerce","isBrowser","productLink","productPrice","quickView","goToProductDetailsButton","shouldShowNextClicker","nextClicker","tableBodyClassName","onScroll","handleScroll","tableBodyReference","description","_props$productsMainIn3","_props$productsMainIn4","productDescription","tableRowContentClassName","resources","productComparisonProductItemDescription","tableRowContentInformationClassName","dimensionsProps","dimensionProps","dimensionName","dimensionsRowClassName","dimensionClassName","productDimensionValues","specificationsProps","specificationProps","StringExtensions","isNullOrEmpty","specification","TextValue","specificationsRowClassName","specificationClassName","Name","specificationValues","productComparisonProductItemSku","productInfo","ItemId","binding","modules","dataActions","registerSanitizedActionPath","sanitizedActionPath","dataAction","default","Error","prototype","RegistrationId","id","c","require","$type","da","name","path","runOn","iNM","ns","n","p","pdp","md","window","__bindings__","_objectSpread","viewDictionary","cn","ProductComparisonButton","constructor","super","_addToProductComparison","_this$props$data$acco","item","ProductComparisonItem","this","RecordId","catalogId","ProductComparisonState","instance","context","request","data","accountInformation","result","addItem","_removeFromProductComparison","_this$props$data$acco2","removeItemById","state","comparisonItemId","_getNewState","_this$props$data$acco3","getItemId","products","_getProdutComparisonDataByCatalogId","canProductBeAddedToProductComparison","hasItemById","currentProductsCount","length","_className","_instanceId","Random","Guid","generateGuid","_shouldUsePreview","_productComparisonPreview","_renderProductComparisonPreview","ArrayExtensions","hasElements","slots","productComparisonPreview","buttonText","title","onClickHandler","isDisabled","ObjectExtensions","isNullOrUndefined","content","Button","onClick","disabled","componentDidMount","_this$props$data$acco4","listModifiedEvent","subscribe","instanceId","handler","setState","getSnapshotBeforeUpdate","previousProps","componentWillUnmount","_this$props$data$acco5","unsubscribe","render","cookies","isConsentGiven","viewProps","buttonClassName","config","shouldDisplayText","removeFromComparisonButtonText","productComparisonButton","_renderProductComparisonButton","renderView","productsLimit","_getProductsLimit","addToComparisonLimitReachedButtonText","addToComparisonButtonText","viewport","isMobile","variant","VariantType","Browser","app","productComparisonMobileProductsLimit","productComparisonDesktopProductsLimit","_this$props$data$acco6","_items$filter","items","getCatalogId","filter","ProductComparisonButtonViewFunctionalComponent","module","exports","ReactDOM"],"sourceRoot":""}