{"version":3,"file":"static/js/dd7676c5e33c3241cf45.bundle.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/components/product-list-component/components/allergens-modal/allergens-modal.tsx?35b5","webpack://Msdyn365.Commerce.Online/./src/components/product-list-component/components/modal.tsx?d916","webpack://Msdyn365.Commerce.Online/./src/components/product-list-component/components/product-information-modal/product-information-modal.tsx?baa8","webpack://Msdyn365.Commerce.Online/./src/components/product-list-component/components/use-get-attributes.ts?9d9e","webpack://Msdyn365.Commerce.Online/./src/components/product-list-component/locale/locale.ts?3b29","webpack://Msdyn365.Commerce.Online/./src/themes/dlvry-adventureworks/views/components/addtoordertemplate.component.tsx?f2a6"],"sourcesContent":["import { ICoreContext } from '@msdyn365-commerce/core';\r\nimport React from 'react';\r\nimport { ModalComponent } from '../modal';\r\nimport { ProductListProduct } from '../../product-list-component';\r\nimport { AllergensIconGrid } from '../../../allergens-icon-grid';\r\nimport { useGetAttributes } from '../use-get-attributes';\r\nimport { getLocale } from '../../locale';\r\nimport { sortAttributes } from '../../../../shared-utils/attributes';\r\n\r\nexport interface IAllergensModalProps {\r\n className: string;\r\n onClose: () => void;\r\n product: ProductListProduct;\r\n context: ICoreContext;\r\n}\r\n\r\nexport const AllergensModal = (props: IAllergensModalProps) => {\r\n const { className, onClose, product, context } = props;\r\n const { loading, attributes } = useGetAttributes(product, context);\r\n const locale = getLocale(context.actionContext.requestContext.locale);\r\n\r\n if (loading) {\r\n return (\r\n \r\n

{locale.loading}...

\r\n
\r\n );\r\n }\r\n\r\n const allergens = attributes\r\n ?.filter(x => x.ExtensionProperties\r\n ?.some(prop => prop.Key === 'ATTRGROUPNAME' && prop.Value?.StringValue === locale.allergens))\r\n .sort(sortAttributes);\r\n const contains = allergens.filter(x => x.TextValue === locale.contains);\r\n const containsTraces = allergens.filter(x => x.TextValue === locale.canContainTracesAttribute);\r\n\r\n return (\r\n \r\n {contains.length === 0 && containsTraces.length === 0 && (\r\n <>\r\n

{locale.allergens}

\r\n
\r\n {locale.noAllergensDefined}\r\n
\r\n \r\n )}\r\n\r\n \r\n\r\n \r\n \r\n );\r\n};\r\n","import React, { useEffect } from \"react\";\r\nimport { Portal } from 'react-portal';\r\nimport classname from \"classnames\";\r\n\r\nexport interface IModalProps {\r\n className?: string;\r\n children: React.ReactNode;\r\n onClose?: () => void;\r\n}\r\n\r\nexport const ModalComponent: React.FC = (props: IModalProps) => {\r\n const { className, children, onClose } = props;\r\n const [mouseDontClose, setMouseDontClose] = React.useState(false);\r\n\r\n useEffect(() => {\r\n const handleKeyupEvent = (e: KeyboardEvent) => {\r\n if (e.key === 'Escape') {\r\n onClose?.();\r\n }\r\n };\r\n\r\n document.addEventListener('keyup', handleKeyupEvent);\r\n\r\n const body = document.querySelector('body');\r\n if (body) {\r\n body.style.overflow = 'hidden';\r\n }\r\n return () => {\r\n document.removeEventListener('keyup', handleKeyupEvent);\r\n\r\n if (body) {\r\n body.style.overflow = 'auto';\r\n }\r\n };\r\n }, [onClose]);\r\n\r\n const handleMouseUpOutside = (e: React.MouseEvent) => {\r\n if (mouseDontClose) {\r\n setMouseDontClose(false);\r\n return;\r\n }\r\n onClose?.();\r\n };\r\n\r\n const handleMouseDownInside = (e: React.MouseEvent) => {\r\n setMouseDontClose(true);\r\n };\r\n\r\n const handleMouseUpInside = (e: React.MouseEvent) => {\r\n e.stopPropagation();\r\n setMouseDontClose(false);\r\n };\r\n\r\n return (\r\n \r\n
\r\n
\r\n \r\n {children}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n","import React from 'react';\r\nimport { ICoreContext } from '@msdyn365-commerce/core';\r\nimport { AttributeValue } from '@msdyn365-commerce/retail-proxy';\r\nimport { ProductListProduct } from '../../product-list-component';\r\nimport classnames from 'classnames';\r\nimport { ModalComponent } from '../modal';\r\nimport { useGetAttributes } from '../use-get-attributes';\r\nimport { AllergensIconGrid } from '../../../allergens-icon-grid';\r\nimport { getLocale } from '../../locale';\r\nimport { IAttributeGroupMap, addCelsiusSign, getAttributeStringOrDefault, getAttributesLocale, parseAttributesMap } from '../../../../shared-utils/attributes';\r\n\r\nexport interface IProductInformationModalProps {\r\n className: string;\r\n onClose: () => void;\r\n product: ProductListProduct;\r\n context: ICoreContext;\r\n}\r\n\r\nexport interface IProductInformationTabProps {\r\n className: string;\r\n attributes: AttributeValue[];\r\n productInformation: {\r\n name: string,\r\n value: string\r\n }[] | undefined;\r\n context: ICoreContext;\r\n}\r\n\r\nexport interface INutritionalInformationTabProps {\r\n className: string;\r\n ingredients: string;\r\n nutritionalInformation: {\r\n name: string,\r\n value: string\r\n }[] | undefined;\r\n context: ICoreContext;\r\n}\r\n\r\nconst createProductInformationAttributesMap = (attributesLocale: any): IAttributeGroupMap[] => [\r\n {\r\n type: 'default',\r\n group: `${attributesLocale.groups.productInformation}`,\r\n attributes: [\r\n {\r\n name: attributesLocale.temperatureMin,\r\n transform: addCelsiusSign\r\n },\r\n {\r\n name: attributesLocale.temperatureMax,\r\n transform: addCelsiusSign\r\n },\r\n attributesLocale.gtin,\r\n attributesLocale.countryOfOrigin,\r\n attributesLocale.quantity,\r\n {\r\n name: attributesLocale.temperatureMax,\r\n label: attributesLocale.labels.temperatureZone,\r\n transform: (value) => {\r\n const maxTemp = Number(value);\r\n\r\n if (Number.isNaN(maxTemp)) {\r\n return 'Error';\r\n }\r\n\r\n if (maxTemp < 0) {\r\n return attributesLocale.frozen;\r\n } else if (maxTemp <= 4) {\r\n return attributesLocale.cool;\r\n } else {\r\n return attributesLocale.dry;\r\n }\r\n }\r\n },\r\n {\r\n name: attributesLocale.alcoholpercentage,\r\n hideIfEmpty: true,\r\n transform: value => value ? `${value}%` : value\r\n }\r\n ]\r\n }\r\n];\r\n\r\nconst ProductInformationTab = (props: IProductInformationTabProps) => {\r\n const { className, attributes, productInformation, context } = props;\r\n const locale = getLocale(context.actionContext.requestContext.locale);\r\n\r\n return (\r\n
\r\n \r\n\r\n \r\n\r\n

{locale.productInformationTitle}

\r\n \r\n {productInformation?.map((x) => (\r\n \r\n \r\n \r\n \r\n ))}\r\n
{x.name}:{x.value}
\r\n
\r\n );\r\n};\r\n\r\nconst NutritionalInformationTab = (props: INutritionalInformationTabProps) => {\r\n const { className, ingredients, nutritionalInformation, context } = props;\r\n const locale = getLocale(context.actionContext.requestContext.locale);\r\n\r\n return (\r\n
\r\n {ingredients && (\r\n <>\r\n

{locale.ingredients}

\r\n
\r\n {ingredients}\r\n
\r\n \r\n )}\r\n\r\n {nutritionalInformation && nutritionalInformation.length > 0 && (\r\n <>\r\n

{locale.nutritionalContent}

\r\n \r\n {nutritionalInformation.map((x) => (\r\n \r\n \r\n \r\n \r\n ))}\r\n
{x.name}:{x.value}
\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport const ProductInformationModal = (props: IProductInformationModalProps) => {\r\n const { className, product, context } = props;\r\n const [tab, setTab] = React.useState(0);\r\n const { loading, attributes } = useGetAttributes(product, context);\r\n const locale = getLocale(context.actionContext.requestContext.locale);\r\n\r\n if (loading) {\r\n return (\r\n \r\n

{locale.loading}...

\r\n
\r\n );\r\n }\r\n\r\n const ingredients = getAttributeStringOrDefault(attributes, locale.ingredients, '');\r\n const attributesLocale = getAttributesLocale(context.actionContext.requestContext.locale);\r\n\r\n const productInformationAttributesMap = parseAttributesMap(context, attributes, createProductInformationAttributesMap(attributesLocale));\r\n const productInformation = productInformationAttributesMap.find(x => x.name === `${attributesLocale.groups.productInformation}`);\r\n\r\n const attributesMap = parseAttributesMap(context, attributes);\r\n const nutrients = attributesMap.find(x => x.name === attributesLocale.groups.nutrients);\r\n const hasNutritionalInformation = ingredients || nutrients && nutrients.attributes.length > 0;\r\n\r\n return (\r\n \r\n

{product.Name} - {product.ItemId}

\r\n\r\n
\r\n setTab(0)}\r\n >\r\n {locale.productInformationTitle}\r\n \r\n {hasNutritionalInformation && (\r\n setTab(1)}\r\n >\r\n {locale.nutritionalContent}\r\n \r\n )}\r\n
\r\n\r\n {tab === 0 && (\r\n \r\n )}\r\n\r\n {tab === 1 && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import { useEffect, useState } from 'react';\r\nimport { ICoreContext } from '@msdyn365-commerce/core';\r\nimport { ProductListProduct } from '../product-list-component';\r\nimport { AttributeValue } from '@msdyn365-commerce/retail-proxy';\r\nimport getSelectedVariantActionDataAction, { SelectedVariantInput } from '@msdyn365-commerce-modules/retail-actions/dist/lib/get-selected-variant';\r\nimport { getAttributesForSelectedVariantAction, AttributesForSelectedVariantInput } from '../../../actions/get-attributes-for-selected-variant';\r\n\r\nexport const useGetAttributes = (product: ProductListProduct, context: ICoreContext) => {\r\n const [loading, setLoading] = useState(true);\r\n const [attributes, setAttributes] = useState([]);\r\n\r\n useEffect(() => {\r\n const retrieveAttributes = async () => {\r\n if (!product.RecordId) {\r\n return;\r\n }\r\n\r\n const selectedVariantInput = new SelectedVariantInput(\r\n product.RecordId,\r\n context.actionContext.requestContext.apiSettings.channelId,\r\n undefined,\r\n undefined,\r\n context.request);\r\n const variant = await getSelectedVariantActionDataAction(selectedVariantInput, context.actionContext);\r\n\r\n if (!variant) {\r\n return;\r\n }\r\n\r\n const attributesInput = new AttributesForSelectedVariantInput(\r\n context.request.locale,\r\n product.RecordId,\r\n context.actionContext.requestContext.apiSettings.channelId,\r\n variant,\r\n undefined\r\n );\r\n const attributes: AttributeValue[] = await getAttributesForSelectedVariantAction(attributesInput, context.actionContext);\r\n\r\n setAttributes(attributes);\r\n setLoading(false);\r\n };\r\n retrieveAttributes().catch((error) => console.error(error));\r\n }, []);\r\n\r\n return { loading, attributes };\r\n};\r\n","import { ICoreContext } from '@msdyn365-commerce/core';\r\nimport nbNO from './nb-NO.json';\r\nimport enUS from './en-US.json';\r\n\r\nexport function getLocale(langOrContext: string | ICoreContext): typeof nbNO {\r\n const lang = typeof langOrContext === 'string' ? langOrContext : langOrContext.request.locale;\r\n\r\n switch (lang) {\r\n case 'nb-NO':\r\n return nbNO;\r\n case 'en-US':\r\n return {...nbNO, ...enUS};\r\n default:\r\n return nbNO;\r\n }\r\n}\r\n\r\nexport const formatString = (...args: any[]) => {\r\n const str = args[0];\r\n const params = args.filter((arg, index) => index !== 0);\r\n if (!str) {\r\n return \"\";\r\n }\r\n return str.replace(/%s[0-9]+/g, (matchedStr: { replace: (arg0: string, arg1: string) => number; }) => {\r\n const variableIndex = matchedStr.replace(\"%s\", \"\") - 1;\r\n return params[variableIndex];\r\n });\r\n};","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { IComponent, IComponentProps, msdyn365Commerce, isChannelTypeB2B, IImageSettings } from '@msdyn365-commerce/core';\r\nimport { AsyncResult, Customer, ProductDimension, ProductList, SimpleProduct } from '@msdyn365-commerce/retail-proxy';\r\nimport {\r\n addItemToOrderTemplate,\r\n AddItemToOrderTemplateInput,\r\n OrderTemplate,\r\n updateOrderTemplateAction,\r\n UpdateOrderTemplateInput,\r\n validateCatalogId\r\n} from '@msdyn365-commerce-modules/retail-actions';\r\nimport { Alert, UncontrolledTooltip } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as Popper from 'popper.js';\r\nimport React, { useState } from 'react';\r\nimport {\r\n AddToOrderTemplateDialog,\r\n IAddToOrderTemplateDialogResources,\r\n DuplicateItemsWhenAddingToOrderTemplateDialog,\r\n IDuplicateItemsWhenAddingToOrderTemplateDialogResources,\r\n IItemAddedToOrderTemplateDialogResources,\r\n ItemAddedToOrderTemplateDialog,\r\n IOrderTemplateNameDialogResources\r\n} from '@msdyn365-commerce/components';\r\n\r\nexport interface IAddToOrderTemplateComponentProps extends IComponentProps {\r\n className?: string;\r\n\r\n addToOrderTemplateDialogResources: IAddToOrderTemplateDialogResources;\r\n createOrderTemplateDialogResources: IOrderTemplateNameDialogResources;\r\n itemAddedToOrderTemplateDialogResources: IItemAddedToOrderTemplateDialogResources;\r\n duplicateItemsWhenAddingToOrderTemplateDialogResources: IDuplicateItemsWhenAddingToOrderTemplateDialogResources;\r\n\r\n addToOrderTemplateButtonText: string;\r\n addToOrderTemplateButtonTooltip: string;\r\n\r\n addToOrderTemplateMessage?: string;\r\n addItemToOrderTemplateError?: string;\r\n\r\n showButtonText?: boolean;\r\n showButtonTooltip?: boolean;\r\n shouldShowButtonFailedTooltip?: boolean;\r\n disableButton?: boolean;\r\n tooltipPosition?: Popper.Placement;\r\n showStatusMessage?: boolean;\r\n disabled?: boolean;\r\n canAddMasterProduct?: boolean;\r\n isMultipleCatalogFeatureEnabledInHq?: boolean;\r\n catalogId?: number;\r\n\r\n imageSettings?: IImageSettings;\r\n\r\n onSuccess?(orderTemplate?: ProductList): void;\r\n onError?(result: IOrderTemplateActionErrorResult): void;\r\n retrieveOrderTemplates?(): Promise;\r\n}\r\n\r\nexport interface IOrderTemplateActionErrorResult {\r\n status: 'FAILED' | 'MISSING_DIMENSION';\r\n\r\n missingDimensions?: ProductDimension[];\r\n}\r\n\r\ninterface IAddToOrderTemplateStateManager {\r\n waiting: boolean;\r\n content: IAddToOrderTemplateContentState;\r\n\r\n setWaiting(newWaiting: boolean): void;\r\n setContent(newContent: IAddToOrderTemplateContentState): void;\r\n}\r\n\r\ninterface IAddToOrderTemplateContentState {\r\n showAlert?: boolean;\r\n orderTemplateTextMessage?: string;\r\n color?: string;\r\n}\r\n\r\ninterface IAddToOrderTemplateData {\r\n orderTemplates?: OrderTemplate[];\r\n\r\n product: SimpleProduct;\r\n quantity: number;\r\n\r\n customerInformation?: Customer;\r\n isChannelTypeB2B?: boolean;\r\n}\r\n\r\nexport interface IAddToOrderTemplateComponent extends IComponent {\r\n onClick(): (\r\n event: React.MouseEvent,\r\n props: IAddToOrderTemplateComponentProps,\r\n state: IAddToOrderTemplateStateManager\r\n ) => void;\r\n}\r\n\r\nconst onClick = async (\r\n _event: React.MouseEvent,\r\n props: IAddToOrderTemplateComponentProps,\r\n state: IAddToOrderTemplateStateManager,\r\n orderTemplates: OrderTemplate[] | undefined,\r\n setOrderTemplates: (orderTemplates: OrderTemplate[] | undefined) => void,\r\n retrieveOrderTemplates: (() => Promise) | undefined,\r\n openModal: (opened: boolean) => void\r\n): Promise => {\r\n const { user } = props.context.request;\r\n\r\n if (state.waiting) {\r\n return;\r\n }\r\n\r\n if (!user.isAuthenticated && user.signInUrl && window) {\r\n window.location.assign(user.signInUrl);\r\n return;\r\n }\r\n\r\n if (!orderTemplates && retrieveOrderTemplates) {\r\n const result = await retrieveOrderTemplates();\r\n setOrderTemplates(result);\r\n }\r\n\r\n addToOrderTemplate(props, openModal);\r\n state.setWaiting(false);\r\n};\r\n\r\nconst onDismiss = (state: IAddToOrderTemplateStateManager): void => {\r\n state.setContent({ color: 'success', showAlert: false });\r\n};\r\n\r\nconst AddToOrderTemplateComponentActions = {\r\n onClick,\r\n onDismiss\r\n};\r\n\r\nconst hasProductInOrderTemplates = (productToFind: SimpleProduct) => {\r\n /*\r\n TODO: Currently API does not support filtering by products.\r\n await getProductListLinesAsync(context, '',)\r\n return orderTemplates.filter(orderTemplate =>\r\n orderTemplate.orderTemplateLines.filter(\r\n product => product.productListLine.ProductId === productToFind.RecordId).length !== 0).length !== 0;\r\n */\r\n return false;\r\n};\r\n\r\nconst AddToOrderTemplate: React.FC = (props: IAddToOrderTemplateComponentProps) => {\r\n if (!isChannelTypeB2B(props.context.actionContext.requestContext)) {\r\n return null;\r\n }\r\n\r\n const [waiting, setWaiting] = useState(false);\r\n const [content, setContent] = useState({});\r\n const state: IAddToOrderTemplateStateManager = {\r\n waiting,\r\n content,\r\n\r\n setWaiting,\r\n setContent\r\n };\r\n\r\n const [addToOrderTemplateModalOpen, setAddToOrderTemplateModalOpen] = useState(false);\r\n\r\n const [chosenOrderTemplateId, setChosenOrderTemplateId] = useState(undefined);\r\n // @ts-ignore\r\n const [itemAddedToOrderTemplateDialogOpen, setItemAddedToOrderTemplateDialogOpen] = useState(false);\r\n const [duplicateItemsWhenAddingToOrderTemplateDialogOpen, setDuplicateItemsWhenAddingToOrderTemplateDialogOpen] = useState(false);\r\n const catalogId = props.catalogId;\r\n validateCatalogId(catalogId);\r\n const isMultipleCatalogFeatureEnabledInHq = props.isMultipleCatalogFeatureEnabledInHq || false;\r\n const [orderTemplates, setOrderTemplates] = useState(props.data.orderTemplates);\r\n\r\n const reset = () => {\r\n setWaiting(false);\r\n setContent({});\r\n setChosenOrderTemplateId(undefined);\r\n };\r\n\r\n const executeAddItemToOrderTemplate = async (orderTemplate: ProductList) => {\r\n setChosenOrderTemplateId(orderTemplate.Id);\r\n\r\n const input = isMultipleCatalogFeatureEnabledInHq\r\n ? new AddItemToOrderTemplateInput(\r\n orderTemplate.Id,\r\n props.data.product.RecordId,\r\n props.data.quantity,\r\n props.data.product.DefaultUnitOfMeasure || 'ea',\r\n isMultipleCatalogFeatureEnabledInHq,\r\n catalogId\r\n )\r\n : new AddItemToOrderTemplateInput(\r\n orderTemplate.Id,\r\n props.data.product.RecordId,\r\n props.data.quantity,\r\n props.data.product.DefaultUnitOfMeasure || 'ea'\r\n );\r\n\r\n await addItemToOrderTemplate(input, props.context.actionContext)\r\n .then(async result => {\r\n setAddToOrderTemplateModalOpen(false);\r\n if (props.onSuccess) {\r\n reset();\r\n props.onSuccess(orderTemplate);\r\n } else {\r\n setTimeout(() => {\r\n setItemAddedToOrderTemplateDialogOpen(true);\r\n }, 500);\r\n }\r\n })\r\n .catch(error => {\r\n if (error.error?.name !== 'Microsoft_Dynamics_Commerce_Runtime_DuplicateObject') {\r\n return AsyncResult.reject(error);\r\n }\r\n setAddToOrderTemplateModalOpen(false);\r\n setTimeout(() => {\r\n setDuplicateItemsWhenAddingToOrderTemplateDialogOpen(true);\r\n }, 500);\r\n return AsyncResult.resolve();\r\n });\r\n };\r\n\r\n const onDuplicateDialogCancel = () => {\r\n setDuplicateItemsWhenAddingToOrderTemplateDialogOpen(false);\r\n setTimeout(() => {\r\n setAddToOrderTemplateModalOpen(true);\r\n }, 500);\r\n };\r\n\r\n const overrideQuantity = async () => {\r\n const input = isMultipleCatalogFeatureEnabledInHq\r\n ? new UpdateOrderTemplateInput(\r\n chosenOrderTemplateId!,\r\n props.data.product.RecordId,\r\n props.data.quantity,\r\n props.data.product.DefaultUnitOfMeasure || 'ea',\r\n isMultipleCatalogFeatureEnabledInHq,\r\n catalogId\r\n )\r\n : new UpdateOrderTemplateInput(\r\n chosenOrderTemplateId!,\r\n props.data.product.RecordId,\r\n props.data.quantity,\r\n props.data.product.DefaultUnitOfMeasure || 'ea'\r\n );\r\n await updateOrderTemplateAction(input, props.context.actionContext);\r\n setDuplicateItemsWhenAddingToOrderTemplateDialogOpen(false);\r\n if (props.onSuccess) {\r\n reset();\r\n props.onSuccess();\r\n } else {\r\n setTimeout(() => {\r\n setItemAddedToOrderTemplateDialogOpen(true);\r\n }, 500);\r\n }\r\n };\r\n\r\n const {\r\n addToOrderTemplateButtonText,\r\n showStatusMessage,\r\n showButtonText,\r\n className,\r\n disabled,\r\n showButtonTooltip,\r\n shouldShowButtonFailedTooltip,\r\n disableButton,\r\n tooltipPosition,\r\n addToOrderTemplateButtonTooltip,\r\n addToOrderTemplateDialogResources,\r\n createOrderTemplateDialogResources\r\n } = props;\r\n\r\n const onDismissHandler = () => {\r\n AddToOrderTemplateComponentActions.onDismiss(state);\r\n };\r\n const ariaLabel = addToOrderTemplateButtonText;\r\n const addToOrderTemplateRef: React.RefObject = React.createRef();\r\n const showMessage = showStatusMessage !== undefined ? showStatusMessage : true;\r\n const showTooltip = showButtonTooltip !== undefined ? showButtonTooltip : true;\r\n const tooltipPos = showButtonTooltip !== undefined ? tooltipPosition : 'top-end';\r\n\r\n const onClickHandler = (event: React.MouseEvent) => {\r\n return AddToOrderTemplateComponentActions.onClick(event, props, state, orderTemplates, setOrderTemplates, props.retrieveOrderTemplates, setAddToOrderTemplateModalOpen);\r\n };\r\n\r\n return (\r\n <>\r\n <>\r\n \r\n {showButtonText ? ariaLabel : ''}\r\n \r\n {showTooltip && (\r\n \r\n {shouldShowButtonFailedTooltip ? addToOrderTemplateButtonTooltip : ariaLabel}\r\n \r\n )}\r\n \r\n {state.content.showAlert && showMessage ? (\r\n
\r\n \r\n {state.content.orderTemplateTextMessage}\r\n \r\n
\r\n ) : (\r\n ''\r\n )}\r\n {orderTemplates ? (\r\n \r\n ) : null}\r\n {chosenOrderTemplateId && (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nconst addToOrderTemplate = (props: IAddToOrderTemplateComponentProps, openModal: (opened: boolean) => void): void => {\r\n const { canAddMasterProduct } = props;\r\n\r\n if (props.data.product.Dimensions && !canAddMasterProduct) {\r\n const missingDimensions = props.data.product.Dimensions.filter(\r\n dimension => !(dimension.DimensionValue && dimension.DimensionValue.Value)\r\n );\r\n\r\n if (missingDimensions.length > 0) {\r\n // At least one dimension with no value exists on the product, won't be able to proceed.\r\n propagateError(props, { status: 'MISSING_DIMENSION', missingDimensions });\r\n return;\r\n }\r\n }\r\n\r\n openModal(true);\r\n};\r\n\r\nconst propagateError = (props: IAddToOrderTemplateComponentProps, result: IOrderTemplateActionErrorResult): void => {\r\n const { onError } = props;\r\n\r\n if (onError) {\r\n onError(result);\r\n }\r\n};\r\n\r\nexport const AddToOrderTemplateComponent: React.FunctionComponent = msdyn365Commerce.createComponentOverride<\r\n // @ts-expect-error\r\n IAddToOrderTemplateComponent\r\n>('AddToOrderTemplate', { component: AddToOrderTemplate, ...AddToOrderTemplateComponentActions });\r\n\r\n\r\nexport default AddToOrderTemplateComponent;"],"names":["AllergensModal","props","className","onClose","product","context","loading","attributes","useGetAttributes","locale","getLocale","actionContext","requestContext","React","ModalComponent","allergens","filter","x","_x$ExtensionPropertie","ExtensionProperties","some","prop","_prop$Value","Key","Value","StringValue","sort","sortAttributes","contains","TextValue","containsTraces","canContainTracesAttribute","length","noAllergensDefined","AllergensIconGrid","type","children","mouseDontClose","setMouseDontClose","useEffect","handleKeyupEvent","e","key","document","addEventListener","body","querySelector","style","overflow","removeEventListener","Portal","classname","onMouseUp","onMouseDown","stopPropagation","onClick","ProductInformationTab","productInformation","productInformationTitle","map","name","toLowerCase","value","NutritionalInformationTab","ingredients","nutritionalInformation","nutritionalContent","ProductInformationModal","tab","setTab","getAttributeStringOrDefault","attributesLocale","getAttributesLocale","parseAttributesMap","group","groups","temperatureMin","transform","addCelsiusSign","temperatureMax","gtin","countryOfOrigin","quantity","label","labels","temperatureZone","maxTemp","Number","isNaN","frozen","cool","dry","alcoholpercentage","hideIfEmpty","createProductInformationAttributesMap","find","nutrients","hasNutritionalInformation","Name","ItemId","classnames","selected","setLoading","useState","setAttributes","async","RecordId","selectedVariantInput","SelectedVariantInput","apiSettings","channelId","undefined","request","variant","getSelectedVariantActionDataAction","attributesInput","AttributesForSelectedVariantInput","getAttributesForSelectedVariantAction","retrieveAttributes","catch","error","console","langOrContext","nbNO","_objectSpread","enUS","AddToOrderTemplateComponentActions","_event","state","orderTemplates","setOrderTemplates","retrieveOrderTemplates","openModal","user","waiting","isAuthenticated","signInUrl","window","location","assign","addToOrderTemplate","setWaiting","onDismiss","setContent","color","showAlert","canAddMasterProduct","data","Dimensions","missingDimensions","dimension","DimensionValue","propagateError","status","result","onError","AddToOrderTemplateComponent","msdyn365Commerce","createComponentOverride","component","isChannelTypeB2B","content","addToOrderTemplateModalOpen","setAddToOrderTemplateModalOpen","chosenOrderTemplateId","setChosenOrderTemplateId","itemAddedToOrderTemplateDialogOpen","setItemAddedToOrderTemplateDialogOpen","duplicateItemsWhenAddingToOrderTemplateDialogOpen","setDuplicateItemsWhenAddingToOrderTemplateDialogOpen","catalogId","validateCatalogId","isMultipleCatalogFeatureEnabledInHq","reset","addToOrderTemplateButtonText","showStatusMessage","showButtonText","disabled","showButtonTooltip","shouldShowButtonFailedTooltip","disableButton","tooltipPosition","addToOrderTemplateButtonTooltip","addToOrderTemplateDialogResources","createOrderTemplateDialogResources","ariaLabel","addToOrderTemplateRef","showMessage","showTooltip","tooltipPos","event","ref","UncontrolledTooltip","placement","trigger","target","Alert","isOpen","toggle","onDismissHandler","orderTemplateTextMessage","AddToOrderTemplateDialog","Object","modalOpen","setModalOpen","id","typeName","onOrderTemplateSelected","orderTemplate","Id","input","AddItemToOrderTemplateInput","DefaultUnitOfMeasure","addItemToOrderTemplate","then","onSuccess","setTimeout","_error$error","AsyncResult","reject","resolve","ItemAddedToOrderTemplateDialog","dialogStrings","itemAddedToOrderTemplateDialogResources","imageSettings","orderTemplateId","productPrice","DuplicateItemsWhenAddingToOrderTemplateDialog","duplicateItemsWhenAddingToOrderTemplateDialogResources","executeOverrideQuantity","UpdateOrderTemplateInput","updateOrderTemplateAction","onCancel","onDuplicateDialogCancel"],"sourceRoot":""}