{"version":3,"file":"static/js/9.e129025dc5c17f41331e.chunk.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/themes/venchi/utilities/quantity/Quantity.tsx?c3db","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/account-generic-tile.view.tsx?19d2","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/buybox.view.tsx?fc20","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/utils/getCustomDiscountPercentage.ts?8d75","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/checkout-delivery-options.view.tsx?3e8c","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/checkout.view.tsx?ea45","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/order-confirmation.view.tsx?31ca","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/order-template-list.view.tsx?f44e","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/search.view.tsx?3a76","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/store-selector.view.tsx?4246","webpack://Msdyn365.Commerce.Online/./src/modules/account-profile-edit/account-profile-edit.tsx?a0b5","webpack://Msdyn365.Commerce.Online/./src/modules/account-profile-edit/account-profile-edit.view.tsx?530d","webpack://Msdyn365.Commerce.Online/./src/modules/account-profile-edit/components/account-profile-edit-button.tsx?e669","webpack://Msdyn365.Commerce.Online/./src/modules/account-profile-edit/components/account-profile-edit-error.tsx?eadf","webpack://Msdyn365.Commerce.Online/./src/modules/account-profile-edit/components/account-profile-edit-input.tsx?5c72","webpack://Msdyn365.Commerce.Online/./src/modules/account-profile-edit/components/account-profile-edit-label.tsx?4793","webpack://Msdyn365.Commerce.Online/./src/modules/account-profile-edit/components/account-profile-edit-loading-icon.tsx?fba0","webpack://Msdyn365.Commerce.Online/./src/modules/account-profile-edit/components/account-profile-edit-loading-message.tsx?7cf0","webpack://Msdyn365.Commerce.Online/./src/modules/loyalty-sign-up/components/loyalty-sign-up-small-components.tsx?7106","webpack://Msdyn365.Commerce.Online/./src/modules/loyalty-sign-up/loyalty-sign-up.tsx?fd89","webpack://Msdyn365.Commerce.Online/./src/modules/loyalty-sign-up/loyalty-sign-up.view.tsx?45ec","webpack://Msdyn365.Commerce.Online/./src/modules/check-in-for-pickup/check-in-confirmation.tsx?406f","webpack://Msdyn365.Commerce.Online/./src/modules/check-in-for-pickup/check-in-error.tsx?e789","webpack://Msdyn365.Commerce.Online/./src/modules/check-in-for-pickup/check-in-for-pickup.tsx?8686","webpack://Msdyn365.Commerce.Online/./src/modules/check-in-for-pickup/check-in-for-pickup.view.tsx?bd7a","webpack://Msdyn365.Commerce.Online/./src/modules/fabrikam/views/header.view.tsx?6d84","webpack://Msdyn365.Commerce.Online/./src/modules/fabrikam/views/ratings-histogram.view.tsx?6e01","webpack://Msdyn365.Commerce.Online/./src/modules/fabrikam/views/reviews-list.view.tsx?cd2e","webpack://Msdyn365.Commerce.Online/./src/modules/tile-list/tile-list.tsx?78cb","webpack://Msdyn365.Commerce.Online/./src/modules/tile-list/tile-list.view.tsx?1b00","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/b2b-requests-status.view.tsx?de3b","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/checkout-customer-account-payment.view.tsx?0efc","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/order-history.view.tsx?692d","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/search.categorysuggest.tsx?6bcf","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/search.mobile.empty.tsx?ff32","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/search.form.tsx?d41a","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/search.keywordsuggest.tsx?2724","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/search.productsuggest.tsx?6616","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/search.view.tsx?bfa7","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/sign-in.view.tsx?048a"],"sourcesContent":["import { getPayloadObject, getTelemetryAttributes, IPayLoad, TelemetryConstant } from '@msdyn365-commerce-modules/utilities';\r\nimport { debounce } from 'lodash';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\nimport { IQuantityProps } from './Quantity.props';\r\n\r\ninterface IQuantityState {\r\n currentInput: number;\r\n isUpdateing: boolean;\r\n}\r\n/**\r\n * Quantity Component - This component is used to add or remove quantity\r\n */\r\n@observer\r\nexport default class Quantity extends React.PureComponent {\r\n public static defaultProps: Partial = {\r\n min: 1,\r\n decrementGlyphClass: 'fas fa-minus',\r\n incrementGlyphClass: 'fas fa-plus'\r\n };\r\n\r\n private inputRef: React.RefObject = React.createRef();\r\n private payLoad: IPayLoad;\r\n\r\n constructor(props: IQuantityProps) {\r\n super(props);\r\n this.state = { currentInput: props.currentCount || 1, isUpdateing: false };\r\n this._onIncrement = this._onIncrement.bind(this);\r\n this._onDecrement = this._onDecrement.bind(this);\r\n this._handleChange = this._handleChange.bind(this);\r\n this.payLoad = getPayloadObject('click', this.props.telemetryContent!, '');\r\n }\r\n\r\n public componentDidUpdate(prevProps: IQuantityProps): void {\r\n if (\r\n !this.props.disabled &&\r\n this.state.currentInput !== this.props.currentCount &&\r\n prevProps.currentCount !== this.props.currentCount\r\n ) {\r\n this.setState({ currentInput: this.props.currentCount || 1 });\r\n }\r\n\r\n if (this.props.disabled && !this.state.isUpdateing) {\r\n this.setState({ isUpdateing: true });\r\n }\r\n\r\n if (!this.props.disabled && this.state.isUpdateing) {\r\n this.setState({ currentInput: this.props.currentCount || 1, isUpdateing: false });\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { min, max } = this.props;\r\n\r\n const glyphMinusClassName: string = `${this.props.decrementGlyphClass!} quantity__controls-glyph`;\r\n const glyphPlusClassName: string = `${this.props.incrementGlyphClass!} quantity__controls-glyph`;\r\n const decrementDisabled = this.state.currentInput <= (min || 1) || this.props.isGiftCard;\r\n const incrementDisabled = this.state.currentInput >= max || this.props.isGiftCard;\r\n const currentValue = this.state.currentInput;\r\n this.payLoad.contentAction.etext = TelemetryConstant.DecrementQuantity;\r\n const decrementAttributes = getTelemetryAttributes(this.props.telemetryContent!, this.payLoad);\r\n this.payLoad.contentAction.etext = TelemetryConstant.IncrementQuantity;\r\n const incrementAttributes = getTelemetryAttributes(this.props.telemetryContent!, this.payLoad);\r\n\r\n let extraClassDecrement = '';\r\n if (decrementDisabled) {\r\n // The quantity has reached its boundaries (max or min)\r\n extraClassDecrement = 'disabled';\r\n } else if (this.props.disabled) {\r\n // this.props.disabled shows if the state is not succeded yet\r\n extraClassDecrement = 'transition';\r\n }\r\n let extraClassIncrement = '';\r\n if (incrementDisabled) {\r\n // The quantity has reached its boundaries (max or min)\r\n extraClassIncrement = 'disabled';\r\n } else if (this.props.disabled) {\r\n // this.props.disabled shows if the state is not succeded yet\r\n extraClassIncrement = 'transition';\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n }\r\n\r\n private _onIncrement(): void {\r\n let invokeCallback = false;\r\n const currQuantity = this.state.currentInput;\r\n let updatedQuantity: number;\r\n\r\n if (currQuantity < this.props.max) {\r\n invokeCallback = true;\r\n updatedQuantity = currQuantity + 1;\r\n } else {\r\n invokeCallback = false;\r\n updatedQuantity = this.props.max;\r\n }\r\n\r\n if (invokeCallback && this.props.onChange) {\r\n if (this.props.onChange(updatedQuantity)) {\r\n this.setState({ currentInput: updatedQuantity });\r\n }\r\n }\r\n }\r\n\r\n private _onDecrement(): void {\r\n let invokeCallback = false;\r\n const currQuantity = this.state.currentInput;\r\n let updatedQuantity: number;\r\n\r\n if (currQuantity > 1) {\r\n invokeCallback = true;\r\n updatedQuantity = currQuantity - 1;\r\n } else {\r\n invokeCallback = false;\r\n updatedQuantity = 1;\r\n }\r\n\r\n if (invokeCallback && this.props.onChange) {\r\n if (this.props.onChange(updatedQuantity)) {\r\n this.setState({ currentInput: updatedQuantity });\r\n }\r\n }\r\n }\r\n\r\n private _handleChange(e: React.ChangeEvent): void {\r\n const currentValue = parseInt(e.target.value, 10);\r\n const minValue = this.props.min === undefined ? 1 : this.props.min;\r\n const inputElement =\r\n this.inputRef && this.inputRef.current && this.inputRef.current instanceof HTMLInputElement && this.inputRef.current;\r\n\r\n if (currentValue > this.props.max) {\r\n this.setState({ currentInput: this.props.max }, () => {\r\n debounce(() => {\r\n // due of usage debouncer, we may ignore onChange return value\r\n this.props.onChange && this.props.onChange(this.state.currentInput);\r\n }, 200)();\r\n });\r\n } else {\r\n this.setState({ currentInput: currentValue }, () => {\r\n debounce(() => {\r\n if (!isNaN(this.state.currentInput) && !(this.state.currentInput < minValue)) {\r\n // due of usage debouncer, we may ignore onChange return value\r\n this.props.onChange && this.props.onChange(this.state.currentInput);\r\n\r\n if (inputElement) {\r\n inputElement.setAttribute('aria-valuenow', currentValue.toString());\r\n inputElement.setAttribute('value', currentValue.toString());\r\n }\r\n }\r\n }, 200)();\r\n });\r\n }\r\n }\r\n\r\n private _validateMin = (): void => {\r\n const minValue = this.props.min === undefined ? 1 : this.props.min;\r\n if (isNaN(this.state.currentInput) || this.state.currentInput < minValue) {\r\n this.setState({ currentInput: minValue }, () => {\r\n this.props.onChange && this.props.onChange(this.state.currentInput);\r\n });\r\n } else {\r\n this.props.onChange && this.props.onChange(this.state.currentInput);\r\n }\r\n };\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 { Module } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\n\r\nimport { IAccountGenericTileViewProps } from '@msdyn365-commerce-modules/account-management/src/modules/account-generic-tile/./account-generic-tile';\r\nimport { IAccountGenericTileProps } from '../definition-extensions/account-generic-tile.ext.props.autogenerated.js'\r\n\r\nconst AccountGenericTileView: React.FC> = props => {\r\n const { AccountGenericTile, heading, links } = props;\r\n const textField = props.config.text;\r\n const text = textField && ;\r\n\r\n return (\r\n \r\n {heading}\r\n {text}\r\n {links}\r\n \r\n );\r\n};\r\n\r\nexport default AccountGenericTileView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport {\r\n IBuyboxAddToCartViewProps,\r\n IBuyboxAddToOrderTemplateViewProps,\r\n IBuyboxAddToWishlistViewProps,\r\n IBuyboxCallbacks,\r\n IBuyboxData,\r\n IBuyboxKeyInPriceViewProps,\r\n IBuyboxProductConfigureDropdownViewProps,\r\n IBuyboxProductConfigureViewProps,\r\n IBuyboxProductQuantityViewProps,\r\n IBuyboxProps,\r\n IBuyboxState,\r\n IBuyboxViewProps\r\n} from '@msdyn365-commerce-modules/buybox';\r\nimport { IProductSpecificationViewProps } from '@msdyn365-commerce-modules/product-specification/src/modules/product-specification/./product-specification';\r\nimport {\r\n IProductSpecificationProps as IProductSpecificationExtensionProps,\r\n IProductSpecificationConfig as IProductSpecificationExtensionConfig,\r\n IReassuranceItemsData as IReassuranceItemsExtensionData\r\n} from '../definition-extensions/product-specification.ext.props.autogenerated';\r\nimport { getCategoryPathsAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/ProductsDataActions.g';\r\nimport * as React from 'react';\r\nimport { IBuyboxResources } from '@msdyn365-commerce-modules/buybox/dist/types/modules/buybox/buybox.props.autogenerated';\r\nimport { ITelemetryContent, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport { getCategoriesUrlSync, Image, IImageData } from '@msdyn365-commerce/core';\r\nimport { ProductDimension } from '@msdyn365-commerce/retail-proxy';\r\nimport { insertBackInStock_CAPAsync_v2 } from '../../../actions/DataActionExtension.g';\r\nimport {\r\n IBuyboxProps as IBuyboxExtensionProps,\r\n IBuyboxResources as IBuyboxExtensionResources,\r\n IBuyboxConfig as IBuyboxExtensionConfig,\r\n IBadgeItemsData as IBadgeItemsExtensionData,\r\n BadgeItemsBadgeLabelColor as BadgeItemsBadgeLabelColorExtension\r\n} from '../definition-extensions/buybox.ext.props.autogenerated';\r\nimport { Quantity } from '../utilities/quantity';\r\nimport axios from 'axios';\r\nimport { getCustomDiscountPercentage } from '../utils/getCustomDiscountPercentage';\r\ninterface productSpecificationData {\r\n Name: string;\r\n BooleanValue: boolean;\r\n TextValue: string;\r\n}\r\ninterface BadgeShowType {\r\n key: string;\r\n label: string;\r\n image: IImageData;\r\n color?: BadgeItemsBadgeLabelColorExtension;\r\n}\r\ninterface NutritionalData {\r\n label: string;\r\n qty1Label: string;\r\n qty1Unit: string;\r\n qty1Value: number;\r\n qty2Unit: string;\r\n qty2Value: number;\r\n subcategory: NutritionalSubcategoryData[];\r\n}\r\ninterface NutritionalSubcategoryData {\r\n label: string;\r\n qty1Unit: string;\r\n qty1Value: number;\r\n}\r\ninterface ProductLabel {\r\n label: string;\r\n imgLink: string;\r\n}\r\ninterface ReassuranceShowType {\r\n title: string;\r\n description: string;\r\n image: IImageData;\r\n}\r\n\r\nconst BuyboxView: React.FC &\r\n IBuyboxExtensionConfig &\r\n IProductSpecificationViewProps &\r\n IProductSpecificationExtensionProps &\r\n IProductSpecificationExtensionConfig> = props => {\r\n const {\r\n ModuleProps,\r\n MediaGalleryContainerProps,\r\n ProductInfoContainerProps,\r\n addToCart,\r\n addToOrderTemplate,\r\n addToWishlist,\r\n telemetryContent,\r\n configure,\r\n quantity,\r\n title,\r\n rating,\r\n callbacks,\r\n state,\r\n resources,\r\n inventoryLabel,\r\n keyInPrice,\r\n quantityLimitsMessages,\r\n max\r\n } = props;\r\n\r\n const {\r\n // prettier-ignore\r\n // @ts-ignore\r\n data: { productAvailableQuantity: { result: productAvailableQuantity }, productSpecificationData: { result: productSpecificationData }\r\n }\r\n } = props;\r\n const availibilityCode = productAvailableQuantity ? productAvailableQuantity[0]?.StockLevelCode : '';\r\n\r\n const badgesItems: BadgeShowType[] | undefined = props?.config?.badgeItems?.map((badge: IBadgeItemsExtensionData) => ({\r\n key: badge.badgeName,\r\n label: badge.badgeLabel,\r\n color: badge.badgeLabelColor,\r\n image: badge.badgeImage\r\n }));\r\n const badgesTag = badgesItems?.map(({ key }): string => key);\r\n const maxBadges = props?.config?.badgeMaxItems !== undefined ? Number(props.config.badgeMaxItems.replace('max_', '')) : 99;\r\n const badgesToShow: string[] = [];\r\n productSpecificationData?.map((row: productSpecificationData) => {\r\n const attributeName = (row.Name ?? '').replace('\\n', '').trim();\r\n if (row !== null && badgesTag?.includes(attributeName) && row.BooleanValue === true) {\r\n badgesToShow.push(attributeName);\r\n }\r\n });\r\n\r\n // @ts-ignore\r\n const productSpecificationResult = props?.data?.productSpecificationData?.result;\r\n const specificationsList = ['Product description', 'Ingredients', 'Nutritional Values JSON'];\r\n const specificationsListOrder = { 'Product description': 1, Reassurance: 2, Ingredients: 3, 'Nutritional Values JSON': 4, Labels: 5 };\r\n const ingredientsAllAttributesList = ['Ingredients', 'Ingredients 2', 'Ingredients 3'];\r\n const labels = props.resources;\r\n // @ts-ignore\r\n const pTags = [];\r\n const pSpecifications = [];\r\n // @ts-ignore\r\n const ingredientsArray = [];\r\n let ingredientsString = '';\r\n\r\n const reassuranceItems: ReassuranceShowType[] = props?.slots?.productSpecification?.length\r\n ? // @ts-ignore\r\n (props?.slots?.productSpecification[0]?.props?.config?.reassuranceItems ?? []).map((reassurance: IReassuranceItemsExtensionData) => {\r\n if (reassurance) {\r\n return {\r\n title: reassurance.reassuranceTitle,\r\n description: reassurance.reassuranceDescription,\r\n image: reassurance.reassuranceImage\r\n };\r\n }\r\n })\r\n : [];\r\n\r\n const isProductAccordionOpened = props?.slots?.productSpecification?.length\r\n ? // @ts-ignore\r\n (props?.slots?.productSpecification[0]?.props?.config?.productDescriptionAccordionOpened ?? false)\r\n : false;\r\n\r\n const [accordionsState, setAccordionsState] = React.useState(isProductAccordionOpened ? 'Productdescription' : '');\r\n const [fetchingLabels, setFetchingLabels] = React.useState(false);\r\n const [productLabels, setProductLabels] = React.useState([\r\n {\r\n label: labels['product_specification_title_emea_label'] ?? 'EMEA label',\r\n imgLink: ''\r\n },\r\n {\r\n label: labels['product_specification_title_emea_warnings'] ?? 'EMEA warnings',\r\n imgLink: ''\r\n },\r\n {\r\n label: labels['product_specification_title_fda_label'] ?? 'FDA label',\r\n imgLink: ''\r\n }\r\n ]);\r\n\r\n // @ts-ignore\r\n productSpecificationResult?.map(row => {\r\n if (row !== null && specificationsList.includes(row.Name) && row.TextValue !== '') {\r\n pSpecifications.push({ name: row.Name, data: row, order: specificationsListOrder[row.Name] });\r\n }\r\n if (row !== null && ingredientsAllAttributesList.includes(row.Name) && row.TextValue !== '') {\r\n ingredientsArray.push(row);\r\n }\r\n });\r\n pSpecifications.push({ name: 'Reassurance', order: specificationsListOrder.Reassurance });\r\n pSpecifications.push({ name: 'Labels', order: specificationsListOrder.Labels });\r\n pSpecifications.sort((a, b) => a.order - b.order);\r\n // @ts-ignore\r\n const productSku = props.data.product.result?.ItemId;\r\n // @ts-ignore\r\n const productPrimaryImageUrl = props.data.product.result?.PrimaryImageUrl;\r\n\r\n function addToCartGA() {\r\n let output: string[] = [];\r\n const names = document.getElementsByClassName('ms-breadcrumb_link');\r\n Array.from(names).forEach(item => {\r\n output.push(item.getAttribute('aria-label') ?? '');\r\n })\r\n const categoryGA = output.slice(0, -1).toString();\r\n const product = props.data.product.result;\r\n\r\n const productInfo = {\r\n 'name': product?.Name,\r\n 'id': product?.ItemId, //product SKU\r\n 'price': props.data.productPrice.result?.CustomerContextualPrice,\r\n 'quantity': (document.getElementsByClassName('quantity-input')[0] as HTMLInputElement).value,\r\n 'category': categoryGA,\r\n //TODO restore way of saving list attribute\r\n //'list': sessionStorage.getItem('list') ?? ''\r\n 'list': ''\r\n };\r\n //TODO restore way of saving list attribute\r\n //localStorage.setItem(product?.ItemId ?? '', categoryGA + ';' + (sessionStorage.getItem('list') ?? ''));\r\n\r\n window.dataLayer?.push?.({\r\n 'event': 'addToCart',\r\n 'ecommerce': {\r\n // @ts-ignore\r\n 'currencyCode': props.context.cultureFormatter.currencyCode,\r\n 'add': {\r\n 'actionField': {\r\n //TODO restore way of saving list attribute\r\n //'list': sessionStorage.getItem('list') ?? '',\r\n 'list': '',\r\n 'action': 'add',\r\n },\r\n 'products': [productInfo]\r\n }\r\n }\r\n });\r\n }\r\n\r\n React.useEffect(() => {\r\n document.getElementsByClassName('msc-add-to-cart')[0].addEventListener('click', addToCartGA);\r\n }, []);\r\n\r\n // @ts-ignore\r\n ingredientsArray.map(row => {\r\n ingredientsString += row.TextValue || '';\r\n });\r\n\r\n const scrollToRevews = React.useCallback(() => {\r\n const yOffset = -180;\r\n const element = document.getElementsByClassName('ms-ratings-histogram')[0];\r\n const y = element.getBoundingClientRect().top + yOffset + window.pageYOffset;\r\n window.scrollTo({ top: y, behavior: 'smooth' });\r\n }, []);\r\n\r\n const accordionOnClick = (accordion: string): void => {\r\n const accStates = accordionsState.split(',');\r\n if (accStates.includes(accordion)) {\r\n setAccordionsState('');\r\n } else {\r\n setAccordionsState(accordion);\r\n }\r\n };\r\n\r\n const isAccordionExpanded = (accordion: string): boolean => {\r\n const accStates = accordionsState.split(',');\r\n return accStates.includes(accordion);\r\n };\r\n\r\n const normalizeData = (data: NutritionalData[]): NutritionalData[] => {\r\n const resultData: NutritionalData[] = [];\r\n data.map((row: NutritionalData) => {\r\n if (row.qty1Value) {\r\n let category: NutritionalData | undefined;\r\n const subcategory: NutritionalSubcategoryData[] = [];\r\n if (row.subcategory) {\r\n row.subcategory.map((subRow: NutritionalSubcategoryData) => {\r\n if (subRow.qty1Value) {\r\n subcategory.push(subRow);\r\n }\r\n });\r\n }\r\n category = {\r\n ...row\r\n };\r\n if (subcategory.length) {\r\n category.subcategory = subcategory;\r\n } else if (category.subcategory) {\r\n // @ts-ignore\r\n delete category.subcategory;\r\n }\r\n resultData.push(category);\r\n }\r\n });\r\n return resultData;\r\n };\r\n\r\n const _renderNutritionalValues = (jData: any): JSX.Element | undefined => {\r\n const normalizedData = normalizeData(jData);\r\n if (normalizedData.length < 2) {\r\n return undefined;\r\n }\r\n return (\r\n
\r\n {normalizedData.map((row: NutritionalData) => (\r\n <>\r\n
\r\n
{labels[row.label] ?? ''}
\r\n
\r\n
{labels[row.qty1Label] ?? ''}
\r\n
{row.qty1Value ?? ''}
\r\n
{row.qty1Unit ?? ''}
\r\n
\r\n {row.qty2Value && (\r\n
\r\n
\r\n
\r\n
\r\n
{row.qty2Value ?? ''}
\r\n
{row.qty2Unit ?? ''}
\r\n
\r\n )}\r\n {row.subcategory &&\r\n row.subcategory.map((subRow: NutritionalSubcategoryData) => (\r\n
\r\n
{labels[subRow.label] ?? ''}
\r\n
\r\n
{subRow.qty1Value ?? ''}
\r\n
{subRow.qty1Unit ?? ''}
\r\n
\r\n ))}\r\n \r\n ))}\r\n
\r\n );\r\n };\r\n\r\n const _renderProductLabels = (productLabels: ProductLabel[]): JSX.Element => {\r\n return (\r\n
\r\n {productLabels\r\n .filter(label => label.imgLink !== '')\r\n .map((row: ProductLabel) => (\r\n
\r\n \r\n
\r\n ))}\r\n
\r\n );\r\n };\r\n\r\n const _renderReassurance = (reassuranceItems: ReassuranceShowType[]): JSX.Element => {\r\n return (\r\n
\r\n {reassuranceItems.map((row: ReassuranceShowType, index: number) => {\r\n const isLast = index === reassuranceItems.length - 1;\r\n const imgSettings = row?.image?.imageSettings ?? undefined;\r\n return imgSettings ? (\r\n
\r\n
\r\n \r\n
\r\n
\r\n {row.title}\r\n {row.description}\r\n
\r\n
\r\n ) : (\r\n undefined\r\n );\r\n })}\r\n
\r\n );\r\n };\r\n\r\n React.useEffect(() => {\r\n if (!fetchingLabels) {\r\n setFetchingLabels(true);\r\n _getProductLabels(productSku, productPrimaryImageUrl).then((response: string[]) => {\r\n const newProductLabels = [...productLabels];\r\n productLabels.forEach((_, index: number) => {\r\n newProductLabels[index].imgLink = response[index];\r\n });\r\n setProductLabels(newProductLabels);\r\n });\r\n }\r\n });\r\n\r\n // @ts-ignore\r\n const productShortDescription = props?.data?.productSpecificationData?.result?.filter(\r\n (productDesc: { Name: string }) => productDesc.Name === 'Short product description'\r\n )[0]?.TextValue;\r\n // @ts-ignore\r\n const avgRating = props?.rating?.props?.avgRating ?? 0;\r\n // @ts-ignore\r\n const totRatingsLabel = `${props?.rating?.props?.ratingCount ?? '0'} ${props?.resources?.buyboxReviewLabel ?? ''}`;\r\n return (\r\n \r\n
\r\n {props.mediaGallery}\r\n
\r\n
\r\n \r\n {title}\r\n {productShortDescription &&
{productShortDescription}
}\r\n {rating ? (\r\n \r\n ) : (\r\n \r\n )}\r\n {maxBadges ? (\r\n
\r\n {badgesItems\r\n ?.filter((badge: BadgeShowType) => badgesToShow.includes(badge.key))\r\n ?.map((badge: BadgeShowType, index: number) => {\r\n if (index <= maxBadges - 1) {\r\n return _renderBadge(badge, props);\r\n }\r\n return '';\r\n })}\r\n
\r\n ) : null}\r\n
\r\n {props.data.product.result?.RecordId}\r\n {props.data.product.result?.ItemId}\r\n
\r\n {_renderPrice(props, resources)}\r\n {availibilityCode &&
{inventoryLabel}
}\r\n {configure && _renderConfigure(configure)}\r\n {keyInPrice && _renderKeyInPrice(keyInPrice)}\r\n \r\n
\r\n {quantity &&\r\n _renderQuantity(\r\n quantity,\r\n callbacks,\r\n props,\r\n state,\r\n resources,\r\n quantityLimitsMessages,\r\n max,\r\n telemetryContent\r\n )}\r\n {_renderCartAndActions(addToCart, addToOrderTemplate, addToWishlist, props.resources)}\r\n
\r\n {_renderCartAndActionsPM(addToCart, addToWishlist, props.resources)}\r\n
\r\n {_renderTextBlock(props.slots.textBlocks)}\r\n
\r\n \r\n {pSpecifications.length ? (\r\n \r\n {// @ts-ignore\r\n pSpecifications.map(row => {\r\n const title = row.name;\r\n const titleId = title.replace(/\\s+/g, '');\r\n let titleLabel = labels[`product_specification_title_${title.replace(/\\s+/g, '_').toLowerCase()}`] ?? title;\r\n const ingredientsFinalString = ingredientsString;\r\n\r\n let accordionContent;\r\n if (title === 'Ingredients' && ingredientsFinalString) {\r\n accordionContent = ingredientsFinalString;\r\n } else if (title === 'Nutritional Values JSON') {\r\n try {\r\n // @ts-ignore;\r\n const jData = JSON.parse(row.data.TextValue);\r\n accordionContent = _renderNutritionalValues(\r\n jData.nutritionalValueJSONType ? jData.nutritionalValueJSONType : jData\r\n );\r\n } catch (e) {\r\n return;\r\n }\r\n } else if (title === 'Reassurance' && reassuranceItems.length > 0) {\r\n accordionContent = _renderReassurance(reassuranceItems);\r\n } else if (title === 'Labels' && productLabels.filter(label => label.imgLink !== '').length > 0) {\r\n titleLabel = labels['product_specification_title_product_labels'] ?? titleLabel;\r\n accordionContent = _renderProductLabels(productLabels);\r\n // @ts-ignore;\r\n } else if (row.data && row.data.TextValue) {\r\n // @ts-ignore;\r\n accordionContent = row.data.TextValue;\r\n }\r\n\r\n if (!accordionContent) return;\r\n\r\n return (\r\n // tslint:disable-next-line:jsx-key\r\n
\r\n
\r\n accordionOnClick(titleId)}\r\n aria-expanded={isAccordionExpanded(titleId)}\r\n >\r\n

{titleLabel}

\r\n
\r\n \r\n
\r\n \r\n {accordionContent}\r\n
\r\n \r\n );\r\n })}\r\n {_renderSocialShare(props.slots && props.slots?.socialShare)}\r\n \r\n ) : (\r\n ''\r\n )}\r\n \r\n \r\n
\r\n );\r\n };\r\n\r\nconst getStar = (star: number, value: number): string => {\r\n if (star - value <= 0) return '__star';\r\n else if (star - value > 0 && star - value < 1) return '__half-star';\r\n else return '__empty-star';\r\n};\r\n\r\nconst _renderStars = (value: number, className?: string) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\n// tslint:disable-next-line:no-any\r\nconst _renderAddToBackInStore = (\r\n customerId?: string,\r\n channelId?: number,\r\n itemid?: string,\r\n dimensions?: ProductDimension[],\r\n actionContext?: any,\r\n resources?: IBuyboxResources,\r\n emailAddress?: string,\r\n locale?: string\r\n): JSX.Element => {\r\n const cust = customerId ? customerId : '';\r\n const item = itemid ? itemid : '';\r\n const channel = channelId ? channelId : 0;\r\n const dims = dimensions ? dimensions : [];\r\n let color: string = '';\r\n let config: string = '';\r\n let size: string = '';\r\n let style: string = '';\r\n // prettier-ignore\r\n // @ts-ignore\r\n let message = resources.backInStockMessage ? resources.backInStockMessage : 'You will receive an email when the product is back in stock';\r\n let toHide = false;\r\n\r\n dims.forEach(dim => {\r\n if (dim.DimensionTypeValue === 1) {\r\n color = dim.DimensionValue?.DimensionId !== undefined ? dim.DimensionValue?.DimensionId : '';\r\n } else if (dim.DimensionTypeValue === 2) {\r\n config = dim.DimensionValue?.DimensionId !== undefined ? dim.DimensionValue?.DimensionId : '';\r\n } else if (dim.DimensionTypeValue === 3) {\r\n size = dim.DimensionValue?.DimensionId !== undefined ? dim.DimensionValue?.DimensionId : '';\r\n } else if (dim.DimensionTypeValue === 4) {\r\n style = dim.DimensionValue?.DimensionId !== undefined ? dim.DimensionValue?.DimensionId : '';\r\n }\r\n });\r\n\r\n toHide = cust !== '' ? false : true;\r\n const [stockMessage, setStockMessage] = React.useState(false);\r\n\r\n const _AddToBackInStore = async () => {\r\n insertBackInStock_CAPAsync_v2({ callerContext: actionContext }, channel, cust, item, color, config, size, style, 1, emailAddress || '', locale || '').then(result => {\r\n message = result[0].Error ? result[0].Error : message;\r\n });\r\n setStockMessage(true);\r\n };\r\n const inactiveAccount = cust.includes(\"-\");\r\n\r\n return (\r\n <>\r\n {toHide === false && (\r\n
\r\n \r\n {stockMessage ? (\r\n
\r\n
\r\n {/* tslint:disable-next-line:jsx-no-lambda react-this-binding-issue */}\r\n
\r\n {message}\r\n
\r\n ) : (\r\n ''\r\n )}\r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nconst _renderTextBlock = (textBlocks: React.ReactNode[]): JSX.Element | undefined => {\r\n if (!textBlocks || textBlocks.length === 0) {\r\n return undefined;\r\n }\r\n\r\n return <>{textBlocks[0]};\r\n};\r\n\r\nconst _renderPrice = (props: IBuyboxViewProps, resources: IBuyboxExtensionResources): JSX.Element | undefined => {\r\n const custom_price = props.context.cultureFormatter.formatCurrency(props.data.productPrice.result?.AdjustedPrice?.toFixed(2) ?? '');\r\n const custom_discount_percentage = getCustomDiscountPercentage(props.data.productPrice.result?.DiscountLines)\r\n const custom_discounted_price = props.context.cultureFormatter.formatCurrency(\r\n props.data.productPrice.result?.CustomerContextualPrice?.toFixed(2) ?? ''\r\n );\r\n\r\n if (custom_discount_percentage) {\r\n // @ts-ignore\r\n const attributes = props.data.productSpecificationData.result;\r\n\r\n let omnibus_price = null;\r\n if (attributes) {\r\n // @ts-ignore\r\n omnibus_price = attributes.filter(attribute => attribute.Name.includes('Minimum Price Last 30 Days'))[0];\r\n }\r\n\r\n let omnibus_price_currency = '';\r\n if (omnibus_price && omnibus_price.CurrencyValue && omnibus_price.CurrencyCode) {\r\n omnibus_price_currency = props.context.cultureFormatter.formatCurrency(omnibus_price.CurrencyValue, omnibus_price.CurrencyCode);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n {custom_price}\r\n {custom_discount_percentage}\r\n {custom_discounted_price}\r\n { omnibus_price_currency && (\r\n
\r\n \r\n {resources.omnibus_recent_price_label} \r\n {omnibus_price_currency}\r\n \r\n
\r\n )}\r\n
\r\n \r\n );\r\n }\r\n return (\r\n \r\n {custom_price}\r\n \r\n );\r\n};\r\n\r\nfunction _addToPickAndMix(\r\n catUrl: string,\r\n pmProductsList: any,\r\n RecordId: number,\r\n Name: string | undefined,\r\n PrimaryImageUrl: string | undefined,\r\n pQuantity: number,\r\n Price: number,\r\n ItemId: number\r\n): void {\r\n pmProductsList[RecordId] = {\r\n Id: RecordId,\r\n Item: Name,\r\n Qty: pQuantity,\r\n UOM: '',\r\n Price: Price,\r\n Description: ItemId.toString(),\r\n DataAreaId: '',\r\n PrimaryImageUrl: PrimaryImageUrl\r\n };\r\n typeof window !== 'undefined' ? localStorage.setItem('pm_products', JSON.stringify(pmProductsList)) : undefined;\r\n window.location.assign(catUrl);\r\n}\r\n\r\nconst _renderCartAndActions = (\r\n addToCart?: IBuyboxAddToCartViewProps,\r\n addToOrderTemplate?: IBuyboxAddToOrderTemplateViewProps,\r\n addToWishlist?: IBuyboxAddToWishlistViewProps,\r\n resources?: IBuyboxResources\r\n): JSX.Element | undefined => {\r\n if (!addToCart && !addToWishlist) {\r\n return undefined;\r\n }\r\n // @ts-ignore\r\n const props = addToCart?.button?.props;\r\n\r\n const euHostname = 'eu.venchi.com';\r\n const localeString = props?.context?.request?.locale ? props?.context?.request?.locale?.toLowerCase() : '';\r\n const sitePath = props?.context?.request?.sitePath ? props?.context?.request?.sitePath?.substring(1) : '';\r\n const hostname = props?.context?.request?.url?.requestUrl?.hostname || '';\r\n let locale: string;\r\n if (hostname.toLowerCase() === euHostname && sitePath === '') {\r\n locale = 'eu';\r\n } else {\r\n locale = sitePath !== '' ? sitePath : localeString;\r\n }\r\n\r\n return (\r\n
\r\n {addToOrderTemplate && addToOrderTemplate.errorBlock}\r\n {addToWishlist && addToWishlist.errorBlock}\r\n
\r\n
\r\n {_renderAddToBackInStore(\r\n props.context.request.user.customerAccountNumber,\r\n props.context.request.apiSettings.channelId,\r\n props.data?.product?.ItemId,\r\n props.data?.product?.Dimensions,\r\n props.context?.actionContext,\r\n resources,\r\n props.context.request.user.emailAddress,\r\n locale,\r\n )}\r\n {addToCart && addToCart.button}\r\n {addToOrderTemplate && addToOrderTemplate.button}\r\n
\r\n {addToWishlist && {addToWishlist && addToWishlist.button}}\r\n
\r\n {addToCart && addToCart.errorBlock}\r\n {props.context.request.user.customerAccountNumber !== null && !props.context.request.user.customerAccountNumber.includes(\"-\") && (\r\n
\r\n {\r\n // @ts-ignore\r\n resources.backInStockAgreement\r\n }\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nconst _renderCartAndActionsPM = (\r\n addToCart?: IBuyboxAddToCartViewProps,\r\n addToWishlist?: IBuyboxAddToWishlistViewProps,\r\n resources?: IBuyboxResources\r\n): JSX.Element | undefined => {\r\n if (!addToCart && !addToWishlist) {\r\n return undefined;\r\n }\r\n // @ts-ignore\r\n const props = addToCart?.button?.props;\r\n const productId = props?.data?.product?.RecordId;\r\n const channelId = props?.context?.request?.channel?.RecordId;\r\n const categoryPathLookups = [{ ProductId: productId }];\r\n const [catUrl, setCatUrl] = React.useState('');\r\n const [isPm, setIsPm] = React.useState(false);\r\n const _productCategory = async () => {\r\n const categoryPathResults = await getCategoryPathsAsync(props?.context?.actionContext, channelId, 0, categoryPathLookups);\r\n categoryPathResults &&\r\n categoryPathResults[0] &&\r\n categoryPathResults[0]?.CategoryPath?.map((catPath, i) => {\r\n const categoryUrl = getCategoriesUrlSync(catPath, props?.context?.actionContext);\r\n if (categoryUrl && categoryUrl[1] && categoryUrl[1].Name === 'Pick&Mix') {\r\n setIsPm(true);\r\n setCatUrl(categoryUrl[1].Url ? categoryUrl[1].Url : '');\r\n }\r\n });\r\n return;\r\n };\r\n React.useEffect(() => {\r\n void _productCategory();\r\n }, []);\r\n // tslint:disable-next-line:no-shadowed-variable\r\n const _addToPM = (\r\n catUrl: string,\r\n RecordId: number,\r\n Name: string,\r\n PrimaryImageUrl: string,\r\n AdjustedPrice: number,\r\n Qty: number,\r\n ItemId: number\r\n ) => {\r\n const localPm = localStorage && localStorage.getItem('pm_products');\r\n const localPmProds = localPm && localPm !== null ? localPm : JSON.stringify({});\r\n const pmProductsList = JSON.parse(localPmProds);\r\n const _addToPm = () => {\r\n _addToPickAndMix(catUrl, pmProductsList, RecordId, Name, PrimaryImageUrl, AdjustedPrice, Qty, ItemId);\r\n };\r\n return (\r\n <>\r\n \r\n \r\n );\r\n };\r\n /* @ts-ignore */\r\n const product_qty: product_qty = addToCart?.button?.props?.quantity;\r\n return (\r\n
\r\n {isPm ? (\r\n
\r\n {_addToPM(\r\n catUrl,\r\n props.data?.product?.RecordId,\r\n props.data?.product?.Name,\r\n props.data?.product?.PrimaryImageUrl,\r\n product_qty,\r\n props.data?.product?.AdjustedPrice,\r\n props.data?.product?.ItemId\r\n )}\r\n
\r\n ) : (\r\n ''\r\n )}\r\n
\r\n );\r\n};\r\n\r\nconst _renderConfigure = (configure: IBuyboxProductConfigureViewProps): JSX.Element => {\r\n const { ContainerProps, dropdowns } = configure;\r\n\r\n return {dropdowns.map(_renderConfigureDropdown)};\r\n};\r\n\r\nconst _renderConfigureDropdown = (dropdown: IBuyboxProductConfigureDropdownViewProps): JSX.Element => {\r\n const { ContainerProps, LabelContainerProps, heading, errors, select } = dropdown;\r\n\r\n return (\r\n \r\n \r\n {heading}\r\n {errors}\r\n \r\n {select}\r\n \r\n );\r\n};\r\n\r\nconst _renderQuantity = (\r\n quantityComponent: IBuyboxProductQuantityViewProps,\r\n callbacks: IBuyboxCallbacks,\r\n props: IBuyboxProps,\r\n state: IBuyboxState,\r\n extentionResources: IBuyboxExtensionResources,\r\n quantityLimitsMessages: React.ReactNode,\r\n max: number | undefined,\r\n telemetryContent?: ITelemetryContent\r\n): JSX.Element => {\r\n const { ContainerProps, LabelContainerProps, heading, errors } = quantityComponent;\r\n\r\n const { resources } = props;\r\n\r\n const { quantity } = state;\r\n\r\n if (state.isCustomPriceSelected) {\r\n props.data;\r\n }\r\n const onChange = (newValue: number): boolean => {\r\n if (callbacks.updateQuantity) {\r\n return callbacks.updateQuantity(newValue);\r\n }\r\n return true;\r\n };\r\n\r\n return (\r\n \r\n \r\n {heading}\r\n {errors}\r\n \r\n\r\n \r\n {quantityLimitsMessages}\r\n \r\n );\r\n};\r\n\r\nconst _renderKeyInPrice = (keyInPrice: IBuyboxKeyInPriceViewProps): JSX.Element => {\r\n const { ContainerProps, LabelContainerProps, heading, input } = keyInPrice;\r\n\r\n return (\r\n \r\n {heading}\r\n {input}\r\n \r\n );\r\n};\r\n\r\nconst _renderBadge = (badge: BadgeShowType, props: IBuyboxViewProps) => {\r\n const imgSettings = badge?.image?.imageSettings ?? undefined;\r\n if (!imgSettings) return undefined;\r\n return (\r\n
\r\n \r\n {badge.label}\r\n
\r\n );\r\n};\r\n\r\nconst _getProductLabels = async (productId?: string, baseImagePath?: string): Promise => {\r\n if (productId && baseImagePath) {\r\n const results: string[] = [];\r\n const imgBaseUrlArray = decodeURIComponent(baseImagePath).split('/');\r\n imgBaseUrlArray.pop();\r\n\r\n const imgUrls = [\r\n [...imgBaseUrlArray, `${productId}_000_006.jpg`].join('/'),\r\n [...imgBaseUrlArray, `${productId}_000_007.jpg`].join('/'),\r\n [...imgBaseUrlArray, `${productId}_000_008.jpg`].join('/')\r\n ];\r\n for (let i = 0; i < 3; i = i + 1) {\r\n try {\r\n const response = await axios.get(imgUrls[i]);\r\n results.push(response?.status === 200 ? imgUrls[i] : '');\r\n } catch (e) {\r\n results.push('');\r\n }\r\n }\r\n return results;\r\n }\r\n return ['', '', ''];\r\n};\r\n\r\nconst _renderSocialShare = (socialShare: React.ReactNode[]): JSX.Element | undefined => {\r\n if (!socialShare || socialShare.length === 0) {\r\n return undefined;\r\n }\r\n return <>{socialShare[0]};\r\n};\r\n\r\nexport default BuyboxView;","import { DiscountLine } from \"@msdyn365-commerce/retail-proxy\";\r\n\r\nconst getNormalizedDiscountPercentage = (percentage ?: number) : number => {\r\n if(!percentage) return 0;\r\n return percentage / 100;\r\n}\r\n\r\nexport const getCustomDiscountPercentage = (discountLines ?: DiscountLine[]) : string | undefined => {\r\n if(!discountLines || discountLines.length < 1) return;\r\n const normalizedDiscountedPrice = discountLines.reduce(\r\n (accumulator, discountLine) => accumulator * (1 - getNormalizedDiscountPercentage(discountLine.Percentage)), 1);\r\n return `-${100 - (Math.round(normalizedDiscountedPrice * 100))}%`;\r\n}\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\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 { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { DeliveryOption } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\r\nimport get from 'lodash/get';\r\n\r\nimport { ICheckoutDeliveryOption, ICheckoutDeliveryOptionsViewProps, ICheckoutDeliveryOptionsList } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-delivery-options/./checkout-delivery-options';\r\nimport { ICheckoutDeliveryOptionsProps } from '../definition-extensions/checkout-delivery-options.ext.props.autogenerated';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\n\r\n\r\ninterface ICheckoutDeliveryData extends ICheckoutDeliveryOptionsList {\r\n deliveryOptions: DeliveryOption[];\r\n}\r\n\r\n\r\nconst DeliveryOptionList: React.FC = ({ DeliveryOptionsList, list, deliveryOptions }) => {\r\n if (!list || list.length === 0) {\r\n return null;\r\n }\r\n\r\n // deliveryOptions sorted by ShippingChargeAmount\r\n const sortedDeliveryOptions = deliveryOptions.sort((a, b) => {\r\n return get(a, 'ShippingChargeAmount', 0) - get(b, 'ShippingChargeAmount', 0);\r\n });\r\n\r\n // console.log(sortedDeliveryOptions);\r\n return (\r\n \r\n {sortedDeliveryOptions.map((deliveryOption: DeliveryOption) => {\r\n const sortedDeliveryOption = list.find(deliveryOptionEdit => deliveryOptionEdit.code === deliveryOption.Code);\r\n if (sortedDeliveryOption !== undefined) {\r\n return (\r\n \r\n {sortedDeliveryOption.radioButton}\r\n {sortedDeliveryOption.description}\r\n {sortedDeliveryOption.price}\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst DeliveryOptionSelected: React.FC = ({ DeliveryOption, description, price }) => {\r\n return (\r\n \r\n {description}\r\n {price}\r\n \r\n );\r\n};\r\n\r\n\r\nconst CheckoutDeliveryOptionsView: React.FC> = props => {\r\n const {\r\n CheckoutDeliveryOptions,\r\n checkoutErrorRef,\r\n viewState,\r\n deliveryOptions,\r\n deliveryOptionsData,\r\n deliveryOptionSelected,\r\n alert,\r\n waiting,\r\n saveButton,\r\n editButton,\r\n cancelButton\r\n } = props;\r\n const extraTextField = props.config.paragraph;\r\n const extraText = extraTextField && ;\r\n return (\r\n // TODO: All wrapper div should be provided by viewProps. Once SDK provide the sln, update markup.\r\n \r\n {extraText}\r\n {viewState.isLoading && waiting}\r\n {viewState.isError && alert}\r\n {viewState.isShowList && deliveryOptions && }\r\n {viewState.isShowSelected && deliveryOptionSelected && }\r\n {viewState.isShowSaveButton && saveButton}\r\n {viewState.isShowEditButton && editButton}\r\n {viewState.isShowCancelButton && cancelButton}\r\n \r\n );\r\n};\r\n\r\nexport default CheckoutDeliveryOptionsView;\r\n\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport {\r\n ICheckoutViewProps,\r\n IEmailDelivery,\r\n ILineItem,\r\n ILineItemDeliveryGroup,\r\n ILineItems,\r\n IOrderSummary,\r\n IPickUpAtStore\r\n} from '@msdyn365-commerce-modules/checkout';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport { getCartState } from '@msdyn365-commerce/global-state';\r\nimport { ICheckoutResources as ICheckoutResourcesExt } from '../definition-extensions/checkout.ext.props.autogenerated';\r\nimport { find } from 'lodash';\r\n\r\nimport * as React from 'react';\r\nexport const PickUpAtStoreComponent: React.FC = ({ PickUpAtStore, label, location }) => (\r\n \r\n {label}\r\n {location}\r\n \r\n);\r\n\r\nexport const EmailDeliveryComponent: React.FC = ({ EmailDelivery, label }) => {label};\r\n\r\nexport const LineItemComponent: React.FC = ({ LineItem, item, pickUpAtStore, emailDelivery }) => {\r\n return (\r\n \r\n {item}\r\n {pickUpAtStore && }\r\n {emailDelivery && }\r\n \r\n );\r\n};\r\n\r\nexport const LineItemGroupComponent: React.FC = ({ LineItemDeliveryGroup, LineItemList, heading, lineItems }) => (\r\n \r\n {heading}\r\n \r\n {lineItems.map(lineItem => (\r\n \r\n ))}\r\n \r\n \r\n);\r\n\r\nexport const LineItemGroupComponentWithMultiplePickUp: React.FC = ({\r\n LineItemDeliveryGroup,\r\n LineItemList,\r\n heading,\r\n lineItems,\r\n lineItemWraper,\r\n lineItemWraperIcon\r\n}) => (\r\n \r\n {lineItemWraperIcon}\r\n {lineItemWraper}\r\n {heading}\r\n \r\n {lineItems.map(lineItem => (\r\n \r\n ))}\r\n \r\n \r\n);\r\n\r\nexport const LineItemComponentWithMultiplePickUp: React.FC = ({ LineItem, item, pickUpAtStore, emailDelivery }) => (\r\n \r\n {item}\r\n {emailDelivery && }\r\n \r\n);\r\n\r\nexport const PickUpAtStoreComponentWithMultiplePickUp: React.FC = ({ PickUpAtStore, label, location }) => (\r\n \r\n {label}\r\n {location}\r\n \r\n);\r\n\r\nexport const LineItemsComponent: React.FC = ({\r\n LineItems,\r\n Header,\r\n heading,\r\n editLink,\r\n itemsForPickup,\r\n itemsForShip,\r\n itemsForEmail,\r\n itemsGroupWithMulitplePickupMode\r\n}) => (\r\n \r\n \r\n {heading}\r\n {editLink}\r\n \r\n {itemsGroupWithMulitplePickupMode === undefined && itemsForPickup && }\r\n {itemsGroupWithMulitplePickupMode === undefined && itemsForEmail && }\r\n {itemsGroupWithMulitplePickupMode === undefined && itemsForShip && }\r\n {itemsGroupWithMulitplePickupMode !== undefined\r\n ? itemsGroupWithMulitplePickupMode.map((item, index) => {\r\n return ;\r\n })\r\n : null}\r\n \r\n);\r\n\r\nconst _renderCustomTaxLine = (taxAmount: number | null, props: ICheckoutViewPropsExt): JSX.Element | null => {\r\n const { taxLabel, toBeCalculatedText } = props.resources;\r\n\r\n return (\r\n
\r\n

\r\n {taxLabel}\r\n\r\n {\r\n taxAmount && taxAmount > 0 ? `${taxAmount}` : toBeCalculatedText\r\n }\r\n

\r\n
\r\n )\r\n}\r\n\r\nconst OrderSummaryComponent: React.FC = ({ heading, lines, ...other }) => {\r\n // @ts-ignore\r\n const locale = other.locale;\r\n // @ts-ignore\r\n const props = other.props;\r\n // @ts-ignore\r\n const taxAmount = other.taxAmount;\r\n\r\n return (\r\n
\r\n {heading}\r\n
\r\n {lines && (\r\n <>\r\n {lines.subtotal}\r\n {lines.shipping}\r\n {lines.otherCharge}\r\n {locale.toLowerCase() == 'en-gb' ? _renderCustomTaxLine(taxAmount, props) : lines.tax}\r\n {lines.totalDiscounts}\r\n {lines.loyalty}\r\n {lines.giftCard}\r\n {lines.orderTotal}\r\n \r\n )}\r\n
\r\n
\r\n );\r\n};\r\ninterface ICheckoutViewPropsExt extends ICheckoutViewProps {\r\n resources: ICheckoutResourcesExt;\r\n}\r\n// tslint:disable-next-line:max-func-body-length\r\nconst CheckoutView: React.FC = props => {\r\n const {\r\n canShow,\r\n checkoutProps,\r\n headerProps,\r\n hasSalesOrder,\r\n bodyProps,\r\n mainProps,\r\n mainControlProps,\r\n sideProps,\r\n sideControlFirstProps,\r\n sideControlSecondProps,\r\n termsAndConditionsProps,\r\n orderConfirmation,\r\n loading,\r\n alert,\r\n title,\r\n guidedForm,\r\n orderSummary,\r\n lineItems,\r\n placeOrderButton,\r\n termsAndConditions,\r\n keepShoppingButton\r\n } = props;\r\n\r\n const locale = props.checkoutProps.moduleProps.context.request.locale;\r\n const taxAmount = props?.data?.checkout?.result?.checkoutCart?.cart?.TaxAmount;\r\n\r\n const extraOrdersSummaryEu = {\r\n taxAmount: taxAmount,\r\n locale: locale,\r\n props: props\r\n };\r\n const [greeting, setGreeting] = React.useState({\r\n status: false,\r\n greetingMessageCAP: '',\r\n greetingSignCAP: ''\r\n });\r\n\r\n\r\n const getCartProps = async () => {\r\n const activeCartState = await getCartState(props.context?.actionContext);\r\n const checkoutCartState = props?.data?.checkout?.result?.checkoutCart;\r\n // prettier-ignore\r\n // @ts-ignore\r\n const extPropsToRemove = checkoutCartState?.cart?.ExtensionProperties?.filter((fieldVal: { Key: string }) => fieldVal.Key === 'ExtPropsRemove_CAP')[0]?.Value?.BooleanValue;\r\n // prettier-ignore\r\n if (extPropsToRemove === true) {\r\n const extKeysToRemove = ['ActiveCartId_CAP', 'CheckoutCartId_CAP', 'GreetingMessage_CAP', 'GreetingSign_CAP', 'billing', 'Type_CAP', 'Country_CAP', 'City_CAP', 'ZipCode_CAP', 'OrgName_CAP',\r\n 'VatNum_CAP', 'FiscalCode_CAP', 'PEC_CAP', 'SDI_CAP', 'InvoiceCustAccount_CAP', 'Street_CAP', 'StreetNumber_CAP', 'FirstName_CAP', 'LastName_CAP'];\r\n\r\n const removeExtProps = async () => {\r\n const extProps = checkoutCartState?.cart?.ExtensionProperties;\r\n const extPropsToEmpty = [];\r\n if (extProps) {\r\n for (const propToRemove of extKeysToRemove) {\r\n if (find(extProps, obj => obj.Key === propToRemove)) {\r\n extPropsToEmpty.push({\r\n Key: propToRemove,\r\n Value: {}\r\n });\r\n }\r\n }\r\n extPropsToEmpty.push({\r\n Key: 'ExtPropsRemove_CAP',\r\n Value: {\r\n BooleanValue: false\r\n }\r\n });\r\n }\r\n await activeCartState?.updateExtensionProperties({ newExtensionProperties: extPropsToEmpty });\r\n await checkoutCartState?.updateExtensionProperties({ newExtensionProperties: extPropsToEmpty });\r\n };\r\n void removeExtProps();\r\n } else {\r\n // prettier-ignore\r\n // @ts-ignore\r\n const greetingMessageCAP = checkoutCartState?.cart?.ExtensionProperties?.filter((greetingVal: { Key: string }) => greetingVal.Key === 'GreetingMessage_CAP')[0]?.Value?.StringValue;\r\n // prettier-ignore\r\n // @ts-ignore\r\n const greetingSignCAP = checkoutCartState?.cart?.ExtensionProperties?.filter((greetingVal: { Key: string }) => greetingVal.Key === 'GreetingSign_CAP')[0]?.Value?.StringValue;\r\n setGreeting({\r\n status:\r\n (greetingMessageCAP !== null && greetingMessageCAP !== undefined && greetingMessageCAP !== '') ||\r\n (greetingSignCAP !== null && greetingSignCAP !== undefined && greetingSignCAP !== ''),\r\n greetingMessageCAP: greetingMessageCAP !== undefined ? greetingMessageCAP : '',\r\n greetingSignCAP: greetingSignCAP !== undefined ? greetingSignCAP : ''\r\n });\r\n }\r\n };\r\n\r\n React.useEffect(() => {\r\n if (canShow) {\r\n void getCartProps();\r\n }\r\n }, [canShow]);\r\n\r\n // function sleep(ms: number) {\r\n // return new Promise(resolve => setTimeout(resolve, ms));\r\n // }\r\n\r\n // React.useEffect(() => {\r\n /*\r\n V item_id: “114066”, //product_id, SKU DL_CI\r\n V item_name: “Crema spalmabile Suprema Nocciola 250g”, DL_CI\r\n V coupon: “Coupon prodotto”, //coupon a livello di prodotto CHECKOUT\r\n V discount: 2.85, //Qualunque sconto associato CHECKOUT\r\n V item_discount_rate: \"30%\", CHECKOUT\r\n V index: 0, // la posizione del prodotto nel listato, inizia da 0 DL_CI\r\n item_category: “Cioccolato“ / “Pick&Mix” / “Idee regalo”, //valori delle breadcrumbs DL_CI\r\n item_list_name:  \"Cioccolato\" / \"Pick&Mix\" / \"Best seller\" / \"Search results\", DL_CI\r\n V price: 9.50, DL_CI\r\n V quantity: 1 DL_CI\r\n */\r\n\r\n // function getCheckoutCartItemsGA() {\r\n // // getDLCart().then(dl_cart => {\r\n // const checkout_cart_items = document.getElementsByClassName('msc-cart-line__content');\r\n // // if (dl_cart.length !== checkout_cart_items.length) {\r\n // // return;\r\n // // }\r\n // let cart_items: {}[] = [];\r\n // Array.from(checkout_cart_items).forEach((item, index) => {\r\n // cart_items.push({\r\n // 'item_id': item.getElementsByClassName('data-product-sku')[0].textContent ?? '',\r\n // 'item_name': item.getElementsByTagName('a')[0].textContent ?? '',\r\n // 'coupon': item.getElementsByClassName('msc-cart-line-item-product-discount')[0]?.children[0]?.textContent?.split(': ')[1] ?? '',\r\n // 'discount': item.getElementsByClassName('msc-cart-line-item-product-discount')[0]?.children[1]?.textContent!.slice(0, -2) ?? '0',\r\n // 'item_discount_rate': item.getElementsByClassName('msc-cart-line-item-product-discount')[0]?.children[2]?.textContent?.substring(\r\n // (item.getElementsByClassName('msc-cart-line-item-product-discount')[0]?.children[2]?.textContent?.indexOf('(') ?? 0) + 1,\r\n // item.getElementsByClassName('msc-cart-line-item-product-discount')[0]?.children[2]?.textContent?.lastIndexOf(')')\r\n // ) ?? '0%',\r\n // 'index': index,\r\n // 'item_category': localStorage.getItem(item.getElementsByClassName('data-product-sku')[0].textContent!)?.split(';')[0] ?? '',\r\n // 'item_list_name': localStorage.getItem(item.getElementsByClassName('data-product-sku')[0].textContent!)?.split(';')[1] ?? '',\r\n // 'price': item.getElementsByClassName('msc-price__actual')[0].textContent!.slice(0, -2) ?? '',\r\n // 'quantity': item.getElementsByClassName('quantity-value')[0].textContent ?? ''\r\n // });\r\n // });\r\n // const item_object = { 'items': cart_items };\r\n // return item_object;\r\n // // });\r\n // }\r\n\r\n // // async function getDLCart() {\r\n // // await sleep(3000);\r\n // // for (let i = 0; i < window.dataLayer.length; i++) {\r\n // // if (window.dataLayer[i].cart_items !== undefined) {\r\n // // return window.dataLayer[i].cart_items;\r\n // // }\r\n // // }\r\n // // }\r\n\r\n // getCheckoutCartItemsGA();\r\n\r\n // temporary mirror cart from which to get data for the DL management\r\n // getDLCart().then(res => {\r\n // const temp_cart = res;\r\n // console.log(temp_cart);\r\n // getCheckoutCart();\r\n // });\r\n // console.log(temp_cart);\r\n\r\n // function checkOutGA4() {\r\n // console.log('started new checkout tracker GA4');\r\n // // Select the node that will be observed for mutations\r\n // const targetNode = document.querySelector('.ms-checkout__guided-form') as Node;\r\n \r\n // // Options for the observer (which mutations to observe)\r\n // const config = { attributes: true, childList: true, subtree: true };\r\n \r\n // // Callback function to execute when mutations are observed\r\n // const callback = (mutationsList: MutationRecord[]) => {\r\n // // TODO this function was called twice before the page loaded completely in one of the tests,\r\n // // be careful about sending wrong GA events\r\n // // or maybe this is how to manage the pre filled ones\r\n // // wait this might be called when the thingy is removed too oh no; it shouldn't be an issue tho\r\n \r\n // // do stuff when loading disappears instead (as a removed node)?\r\n // for (let mutation of mutationsList) {\r\n // console.log(mutation.removedNodes);\r\n // if (mutation.type === 'childList' && mutation.addedNodes.length > 0) {\r\n // let pos = -1;\r\n // for (let i = 0; i < mutation.addedNodes.length; i++) {\r\n // // @ts-ignore\r\n // if (mutation.addedNodes[i].classList?.contains('ms-checkout__guided-card-footer')) {\r\n // pos = i;\r\n // break;\r\n // }\r\n // }\r\n \r\n // if (pos !== -1) {\r\n // console.log('right case');\r\n // // @ts-ignore\r\n // const new_button = mutation.addedNodes[pos].getElementsByClassName('ms-checkout__guided-card-btn-save')[0];\r\n // // @ts-ignore\r\n // const closestCard = mutation.target.closest('.ms-checkout__guided-card');\r\n // const cardHeader = closestCard.querySelector('.ms-checkout__guided-card-header');\r\n // const cardHeaderText = cardHeader.textContent.trim();\r\n // let variable: string;\r\n // switch (cardHeaderText[0]) {\r\n // case '1':\r\n // variable = 'robert 1';\r\n // break;\r\n // case '2':\r\n // variable = 'robert 2';\r\n // break;\r\n // case '3':\r\n // variable = 'robert 3';\r\n // break;\r\n // case '4':\r\n // variable = 'robert 4';\r\n // break;\r\n // case '5':\r\n // variable = 'robert 5';\r\n // break;\r\n // default:\r\n // variable = 'Unknown Value';\r\n // }\r\n // console.log(variable);\r\n // // change from click to remove the node so that it catches the auto changes too?\r\n // new_button.addEventListener('click', () => {\r\n // console.log('step ' + variable);\r\n // });\r\n // }\r\n // }\r\n // }\r\n // };\r\n \r\n // // Create an observer instance linked to the callback function\r\n // const observer = new MutationObserver(callback);\r\n \r\n // // Start observing the target node for configured mutations\r\n // observer.observe(targetNode!, config);\r\n \r\n // }\r\n\r\n // checkOutGA4();\r\n\r\n // }, []);\r\n\r\n return (\r\n \r\n {!hasSalesOrder && {title}}\r\n {!hasSalesOrder && (\r\n \r\n {loading}\r\n {alert}\r\n {canShow && (\r\n
\r\n
\r\n \r\n {guidedForm}\r\n {termsAndConditions}\r\n \r\n {placeOrderButton}\r\n {keepShoppingButton}\r\n \r\n \r\n
\r\n
\r\n \r\n {orderSummary && }\r\n \r\n {termsAndConditions}\r\n {placeOrderButton}\r\n {keepShoppingButton}\r\n \r\n {greeting.status ? (\r\n
\r\n

\r\n \r\n {props.resources.greetingTitle}\r\n

\r\n
\r\n
\r\n {' '}\r\n {greeting.greetingMessageCAP}\r\n
\r\n
\r\n {greeting.greetingSignCAP}\r\n
\r\n
\r\n
\r\n ) : (\r\n
\r\n {/* tslint:disable-next-line:react-a11y-anchors */}\r\n

\r\n \r\n {props.resources.addGreetingText}\r\n \r\n

\r\n
\r\n )}\r\n
\r\n {/* tslint:disable-next-line:react-a11y-anchors */}\r\n

\r\n \r\n {props.resources.insertModifyYourPromoCode}\r\n \r\n

\r\n
\r\n\r\n {lineItems && }\r\n\r\n \r\n {termsAndConditions}\r\n {placeOrderButton}\r\n {keepShoppingButton}\r\n \r\n
\r\n
\r\n
\r\n )}\r\n
\r\n )}\r\n {hasSalesOrder && orderConfirmation}\r\n
\r\n );\r\n};\r\n\r\nexport default CheckoutView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport {\r\n IGroup,\r\n IGroupDelivery,\r\n IGroups\r\n} from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/../../common/get-groups';\r\nimport { IOrderInformation } from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/../../common/get-order-information';\r\nimport { ISalesLine } from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/../../common/get-sales-line';\r\nimport { IOrderConfirmationViewProps } from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/./order-confirmation';\r\nimport { IModuleProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { find } from 'lodash';\r\n\r\nimport {\r\n IHelp,\r\n IOrderSummary,\r\n IPaymentMethods\r\n} from '@msdyn365-commerce-modules/order-management/src/modules/order-confirmation/../../common';\r\nimport { getCartState } from '@msdyn365-commerce/global-state';\r\n\r\nexport const OrderConfirmationOrderInfomation: React.FC = ({\r\n orderInformationProps,\r\n receiptEmail,\r\n createdDate,\r\n channelReferenceId\r\n}) => (\r\n \r\n {createdDate}\r\n {channelReferenceId}\r\n {receiptEmail}\r\n \r\n);\r\n\r\nexport const OrderConfirmationSalesLine: React.FC = ({ salesLineProps, salesLine, buyAgainButton }) => (\r\n {salesLine}\r\n);\r\n\r\nexport const OrderConfirmationGroupDelivery: React.FC = ({\r\n deliveryProps,\r\n heading,\r\n count,\r\n processing,\r\n address,\r\n trackingInfo,\r\n pickupDateTimeslot\r\n}) => (\r\n \r\n {heading}\r\n {address}\r\n {pickupDateTimeslot}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\r\n \r\n {delivery && }\r\n {delivery && delivery.shippingItemsToYou}\r\n {salesLines && (\r\n \r\n {salesLines.map(salesLine => (\r\n \r\n ))}\r\n \r\n )}\r\n \r\n);\r\n\r\nexport const OrderConfirmationGroups: React.FC = ({ groupsProps, groups }) => (\r\n \r\n {groups.map((group, index) => (\r\n \r\n ))}\r\n \r\n);\r\n\r\nconst _renderCustomTaxLine = (taxAmount: number): JSX.Element | null => {\r\n //const { estimatedTaxLabel, yetToBeCalculatedText} = props.resources;\r\n\r\n return (\r\n
\r\n

\r\n Tax\r\n \r\n {taxAmount}\r\n \r\n

\r\n
\r\n )\r\n}\r\n\r\nexport const OrderConfirmationOrderSummary: React.FC = ({\r\n orderSummaryProps,\r\n heading,\r\n subtotal,\r\n shipping,\r\n tax,\r\n totalAmount,\r\n earnedPoints,\r\n ...other\r\n}) => {\r\n // @ts-ignore\r\n const locale = other.locale;\r\n // @ts-ignore\r\n const taxAmount = other.taxAmount;\r\n\r\n return (\r\n \r\n {heading}\r\n {subtotal}\r\n {shipping}\r\n {locale.toLowerCase() == 'en-gb' && taxAmount > 0 ? _renderCustomTaxLine(taxAmount) : tax}\r\n {totalAmount}\r\n {earnedPoints}\r\n \r\n );\r\n};\r\n\r\nexport const OrderConfirmationPayment: React.FC = ({ paymentMethodsProps, title, methods }) => (\r\n \r\n {title}\r\n {methods}\r\n \r\n);\r\n\r\nexport const OrderConfirmationHelp: React.FC = ({ helpProps, needHelpLabel, helpLineNumberLabel, contactNumber }) => (\r\n \r\n {needHelpLabel}\r\n {helpLineNumberLabel}\r\n {contactNumber}\r\n \r\n);\r\n\r\nconst OrderConfirmationView: React.FC = ({\r\n moduleProps,\r\n heading,\r\n backToShoppingLink,\r\n alert,\r\n loading,\r\n orderInfomation,\r\n orderSummary,\r\n payment,\r\n help,\r\n groups,\r\n data,\r\n slots\r\n}) => {\r\n // const updateExtProps = async (modprops: IModuleProps) => {\r\n // const currentCartState = await getCartState(modprops.moduleProps.context?.actionContext);\r\n // const cartLines = currentCartState?.cart?.CartLines;\r\n // if (!cartLines || (cartLines && cartLines.length === 0)) {\r\n // console.log(currentCartState?.cart?.CartLines?.length);\r\n // const removeExtProps = [\r\n // {\r\n // Key: 'ExtPropsRemove_CAP',\r\n // Value: {\r\n // BooleanValue: true\r\n // }\r\n // }\r\n // ];\r\n // await currentCartState.updateExtensionProperties({ newExtensionProperties: removeExtProps });\r\n // }\r\n // };\r\n\r\n // React.useEffect(() => {\r\n // void updateExtProps(moduleProps);\r\n // }, []);\r\n\r\n const setRemoveData = async (modprops: IModuleProps) => {\r\n const currentCartState = await getCartState(modprops.moduleProps.context?.actionContext)\r\n const extProps = currentCartState?.cart?.ExtensionProperties;\r\n const extPropsToRemove = extProps && find(extProps, obj => obj.Key === 'ExtPropsRemove_CAP')?.Value?.BooleanValue;\r\n const cartLines = currentCartState?.cart?.CartLines;\r\n // console.log(\"setRemoveData function\");\r\n if (!cartLines || (cartLines && cartLines.length === 0)) {\r\n // prettier-ignore\r\n // @ts-ignore\r\n const extKeysToRemove = ['ActiveCartId_CAP', 'CheckoutCartId_CAP', 'GreetingMessage_CAP', 'GreetingSign_CAP', 'billing', 'Type_CAP', 'Country_CAP', 'City_CAP', 'ZipCode_CAP', 'OrgName_CAP',\r\n 'VatNum_CAP', 'FiscalCode_CAP', 'PEC_CAP', 'SDI_CAP', 'InvoiceCustAccount_CAP', 'Street_CAP', 'StreetNumber_CAP', 'FirstName_CAP', 'LastName_CAP'];\r\n const extPropsToEmpty = [];\r\n // console.log(\"Cleaning Extension properties of cart\");\r\n if (extProps) {\r\n for (const propToRemove of extKeysToRemove) {\r\n if (find(extProps, obj => obj.Key === propToRemove)) {\r\n extPropsToEmpty.push({\r\n Key: propToRemove,\r\n Value: {}\r\n });\r\n }\r\n }\r\n if (extPropsToRemove === true){\r\n extPropsToEmpty.push({\r\n Key: 'ExtPropsRemove_CAP',\r\n Value: {\r\n BooleanValue: false\r\n }\r\n });\r\n }\r\n }\r\n if (extPropsToEmpty.length !== 0) {\r\n await currentCartState.updateExtensionProperties({ newExtensionProperties: extPropsToEmpty });\r\n }\r\n else {\r\n // console.log(\"no extension property to clean found\");\r\n }\r\n }\r\n };\r\n React.useEffect(() => {\r\n void setRemoveData(moduleProps);\r\n }, []);\r\n\r\n const locale = moduleProps.moduleProps.context.request.locale;\r\n // @ts-ignore\r\n const salseOrderData = moduleProps?.moduleProps?.data?.orderHydration?.result?.salesOrder;\r\n const taxAmount = salseOrderData?.TaxAmount;\r\n const extraOrdersSummaryEu = {\r\n taxAmount: taxAmount,\r\n locale: locale\r\n };\r\n return (\r\n \r\n {heading}\r\n {alert}\r\n {loading}\r\n {orderInfomation && }\r\n {backToShoppingLink}\r\n {groups && }\r\n {payment && }\r\n {orderSummary && }\r\n {help && }\r\n {slots &&\r\n slots.commisionJunction &&\r\n React.cloneElement(slots.commisionJunction[0] as React.ReactElement, {\r\n salesOrder: data.orderHydration.result?.salesOrder\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default OrderConfirmationView;\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 * as React from 'react';\r\n\r\nimport { IOrderTemplateListViewProps, ISingleOrderTemplateViewProps } from '@msdyn365-commerce-modules/order-template';\r\nimport { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\n\r\nexport const OrderTemplateListView: React.FC = props => {\r\n const {\r\n OrderTemplateList,\r\n status,\r\n statusMessage,\r\n heading,\r\n OrderTemplates,\r\n orderTemplates,\r\n OrderTemplate,\r\n createOrderTemplateButton,\r\n templateHeaderStatusMessage\r\n } = props;\r\n\r\n return (\r\n \r\n {heading}\r\n {status !== 'SUCCESS' && statusMessage}\r\n \r\n {createOrderTemplateButton}\r\n {templateHeaderStatusMessage}\r\n \r\n {OrderTemplates && orderTemplates && orderTemplates.length > 0 && (\r\n \r\n {orderTemplates &&\r\n orderTemplates.map(orderTemplate => {\r\n return _renderOrderTemplate(orderTemplate, OrderTemplate);\r\n })}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nconst _renderOrderTemplate = (orderTemplate: ISingleOrderTemplateViewProps, OrderTemplate?: INodeProps): JSX.Element | null => {\r\n const { key, addToCartButton, orderTemplateImage, orderTemplateStatusMessage, removeButton, orderTemplateName } = orderTemplate;\r\n return (\r\n \r\n {orderTemplateName}\r\n {orderTemplateImage}\r\n {addToCartButton}\r\n {removeButton}\r\n {orderTemplateStatusMessage}\r\n \r\n );\r\n};\r\n\r\nexport default OrderTemplateListView;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { INodeProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport {\r\n ISearchCategoryViewProps,\r\n ISearchFormViewProps,\r\n ISearchKeywordViewProps,\r\n ISearchProductViewProps\r\n} from '@msdyn365-commerce-modules/search/src/modules/search/./components';\r\nimport { ISearchViewProps } from '@msdyn365-commerce-modules/search/src/modules/search/./search';\r\n\r\nconst SearchView: React.FC = props => {\r\n const {\r\n Search,\r\n AutoSuggestAriaLabel,\r\n AutoSuggestAriaLabelText,\r\n searchText,\r\n AutoSuggest,\r\n KeywordSuggest,\r\n ProductSuggest,\r\n CategorySuggest,\r\n UlKeyword,\r\n UlProduct,\r\n UlCategory,\r\n form,\r\n autosuggestCategory,\r\n autosuggestKeyword,\r\n autosuggestProduct,\r\n SearchForm,\r\n FormWrapper,\r\n label,\r\n isLoadingAutoSuggest,\r\n isLoadingNode\r\n } = props;\r\n\r\n return (\r\n \r\n {label}\r\n {_renderForm(form as ISearchFormViewProps, SearchForm, FormWrapper)}\r\n \r\n {searchText && searchText.length > 0 ? {AutoSuggestAriaLabelText} : ''}\r\n {_renderKeywordSuggestions(KeywordSuggest, UlKeyword, autosuggestKeyword, isLoadingAutoSuggest, isLoadingNode)}\r\n {_renderProductSuggestions(ProductSuggest, UlProduct, autosuggestProduct, isLoadingAutoSuggest, isLoadingNode)}\r\n {_renderCategorySuggestions(CategorySuggest, UlCategory, autosuggestCategory, isLoadingAutoSuggest, isLoadingNode)}\r\n \r\n \r\n );\r\n};\r\n\r\nconst _renderForm = (form: ISearchFormViewProps, SearchForm: INodeProps, FormWrapper: INodeProps) => {\r\n return (\r\n \r\n \r\n {form.input}\r\n {form.cancelBtn}\r\n {form.submitBtn}\r\n \r\n \r\n );\r\n};\r\n\r\nconst _renderKeywordSuggestions = (\r\n KeywordSuggest: INodeProps,\r\n UlKeyword: INodeProps,\r\n keywordSuggestions?: ISearchKeywordViewProps,\r\n isLoadingAutoSuggest?: boolean,\r\n isLoadingNode?: React.ReactNode\r\n) => {\r\n return (\r\n keywordSuggestions && (\r\n \r\n \r\n {isLoadingAutoSuggest && isLoadingNode}\r\n {!isLoadingAutoSuggest &&\r\n keywordSuggestions.text.map(text => {\r\n return text;\r\n })}\r\n \r\n \r\n )\r\n );\r\n};\r\n\r\nconst _renderProductSuggestions = (\r\n ProductSuggest: INodeProps,\r\n UlProduct: INodeProps,\r\n productSuggestions?: ISearchProductViewProps,\r\n isLoadingAutoSuggest?: boolean,\r\n isLoadingNode?: React.ReactNode\r\n) => {\r\n return (\r\n productSuggestions && (\r\n \r\n \r\n {productSuggestions.title}\r\n {isLoadingAutoSuggest && isLoadingNode}\r\n {!isLoadingAutoSuggest &&\r\n productSuggestions.items.map((item, index) => {\r\n // @ts-ignore\r\n if (item?.price?.props?.data?.price?.CustomerContextualPrice != 0)\r\n return (\r\n \r\n \r\n {item.thumbnail}\r\n {item.text}\r\n {item.price}\r\n \r\n \r\n );\r\n else return null;\r\n })}\r\n \r\n \r\n )\r\n );\r\n};\r\n\r\nconst _renderCategorySuggestions = (\r\n CategorySuggest: INodeProps,\r\n UlCategory: INodeProps,\r\n categorySuggestions?: ISearchCategoryViewProps,\r\n isLoadingAutoSuggest?: boolean,\r\n isLoadingNode?: React.ReactNode\r\n) => {\r\n return (\r\n categorySuggestions && (\r\n \r\n \r\n {categorySuggestions.title}\r\n {isLoadingAutoSuggest && isLoadingNode}\r\n {!isLoadingAutoSuggest &&\r\n categorySuggestions.text.map(text => {\r\n return text;\r\n })}\r\n \r\n \r\n )\r\n );\r\n};\r\n\r\nexport default SearchView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { IStoreSelectorViewProps } from '@msdyn365-commerce-modules/store-selector/src/modules/store-selector/./store-selector';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nconst StoreSelectorView: React.FC = props => {\r\n const {\r\n BodyContainerProps,\r\n FooterContainerProps,\r\n HeaderContainerProps,\r\n HeaderProps,\r\n ModuleProps,\r\n // headerText,\r\n locationsMessage,\r\n search,\r\n state,\r\n spinner,\r\n locationsList,\r\n noLocationsMessage,\r\n terms\r\n } = props;\r\n const currentUrl = ModuleProps.moduleProps.context.request.url.requestUrl.href;\r\n const baseUrl = currentUrl.substring(0, currentUrl.lastIndexOf('/') + 1);\r\n React.useEffect(() => {\r\n const titles = Array.from(document.querySelectorAll('.ms-store-select__location-line-item-store-name'));\r\n if (titles.length > 0) {\r\n titles.forEach(el => {\r\n const storeName = el.textContent;\r\n if (storeName && storeName.startsWith('R ')) {\r\n el.closest('.ms-store-select__location-line-item')?.classList.add('location-type__dealer');\r\n el.textContent = storeName.replace('R ', '');\r\n }\r\n // @ts-ignore\r\n if (props.config.renderLinkToStorePage) {\r\n const goToStoreCtn = el.closest('.ms-store-select__location-line-item')?.querySelector('.go-to-store');\r\n if (goToStoreCtn === null) {\r\n const storeUrl = storeName\r\n ?.replace('R ', '')\r\n .toLowerCase()\r\n .replace(/[ .&@',]/g, '-')\r\n .replace(/-+/g, '-');\r\n const goToStore = document.createElement('div');\r\n goToStore.className = 'go-to-store';\r\n // tslint:disable-next-line:no-inner-html\r\n goToStore.innerHTML = `${\r\n // @ts-ignore\r\n props.resources.goToStorePage ? props.resources.goToStorePage : 'Go to Store page'\r\n }`;\r\n el.closest('.ms-store-select__location-line-item:not(.location-type__dealer)')\r\n ?.querySelector('.ms-store-select__location-line-item-content')\r\n ?.appendChild(goToStore);\r\n }\r\n }\r\n });\r\n }\r\n }, [locationsList]);\r\n\r\n return (\r\n \r\n {HeaderProps}\r\n \r\n {locationsMessage}\r\n {search}\r\n {state.isSearchInProgress ? spinner : <>{locationsList ? locationsList : noLocationsMessage}}\r\n \r\n {terms}\r\n \r\n );\r\n};\r\n\r\nexport default StoreSelectorView;\r\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 { EmailRegex } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent, Modal, ModalBody } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { observable } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { IAccountProfileEditConfig, IAccountProfileEditProps } from './account-profile-edit.props.autogenerated';\nimport AccountProfileEditButtonComponent from './components/account-profile-edit-button';\nimport AccountProfileEditErrorComponent from './components/account-profile-edit-error';\nimport AccountProfileEditInputComponent from './components/account-profile-edit-input';\nimport AccountProfileEditLabelComponent from './components/account-profile-edit-label';\nimport AccountProfileEditLoadingIconComponent from './components/account-profile-edit-loading-icon';\nimport AccountProfileEditLoadingMessageComponent from './components/account-profile-edit-loading-message';\n\nexport interface IAccountProfileEditViewState {\n isShowLoading: boolean;\n}\n\nexport interface IAccountProfileEditItem {\n wrapper: INodeProps;\n key: string;\n label: React.ReactNode;\n errorMessage: React.ReactNode;\n input: React.ReactNode;\n}\n\nexport interface IAccountProfileEditLocalAccount {\n localAccount: INodeProps;\n items: IAccountProfileEditItem[];\n errorMessage: React.ReactNode[];\n buttonsWrapper: INodeProps;\n buttons: React.ReactNode[];\n verificationSuccessModal: INodeProps;\n verificationSuccessModalMessage: INodeProps;\n}\n\nexport interface IAccountProfileEditLoading {\n modal: INodeProps;\n modalBody: INodeProps;\n icon: React.ReactNode;\n message: React.ReactNode;\n}\n\nexport interface IAccountProfileEditViewProps {\n className: string;\n viewState: IAccountProfileEditViewState;\n loading: IAccountProfileEditLoading;\n accountProfileEdit: IModuleProps;\n defaultAADConainer: INodeProps;\n aadConainer: INodeProps;\n heading: React.ReactNode;\n accountProfileEditLocalAccount: IAccountProfileEditLocalAccount;\n}\n\n/**\n *\n * AccountProfileEdit component\n * All AAD related module is rendered on AAD page and we need to respect HTML contract provide by AAD.\n * Please ensure any change in module don't break contract with AAD.\n * @extends {React.Component>}\n */\n@observer\nclass AccountProfileEdit extends React.Component> {\n private readonly moduleClassName: string = 'ms-account-profile-edit';\n\n private readonly telemetryContent: ITelemetryContent;\n\n @observable private givenName: string;\n\n @observable private surname: string;\n\n @observable private email: string;\n\n @observable private emailRegex: string;\n\n @observable private isInitialized: boolean;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private initializationTimer: any;\n\n constructor(props: IAccountProfileEditProps) {\n super(props);\n this.givenName = '';\n this.surname = '';\n this.email = '';\n this.emailRegex = EmailRegex.defaultRegex.source;\n this.isInitialized = false;\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public componentDidMount(): void {\n this._onInit();\n }\n\n // After successful AAD initialization, call initialize method provided by AAD to attach events.\n public componentDidUpdate(): void {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (this.isInitialized && window && window['$element'] && window['$element']['initialize']) {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n window['$element']['initialize']();\n }\n }\n\n public shouldComponentUpdate(\n nextProps: IAccountProfileEditProps,\n nextState: IAccountProfileEditViewState\n ): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n const { config, resources } = this.props;\n\n const viewProps = {\n ...this.props,\n viewState: {\n isShowLoading: !this.isInitialized\n },\n accountProfileEdit: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, config.className)\n },\n loading: {\n modal: {\n tag: Modal,\n isOpen: true\n },\n modalBody: {\n tag: ModalBody\n },\n icon: ,\n message: \n },\n defaultAADConainer: {\n id: 'api',\n style: { display: 'none' }\n },\n aadConainer: {\n id: this.isInitialized ? 'api' : null,\n className: `${this.moduleClassName}__container`\n },\n heading: config.heading && config.heading.text && (\n \n ),\n accountProfileEditLocalAccount: this._renderLocalAccount()\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading.text = event.target.value);\n\n public onTextBoxChange = (event: React.ChangeEvent) => {\n const id = event.target.id;\n const value = event.target.value;\n\n switch (id.toLowerCase()) {\n case 'givenname': {\n this.givenName = value;\n break;\n }\n case 'surname': {\n this.surname = value;\n break;\n }\n case 'email': {\n this.emailRegex = value;\n break;\n }\n default:\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n public _onInit = () => {\n this._prePopulateData();\n this._updateErrorMessage();\n\n // Check if AAD initialization is complete. AAD do not provide any event to subscribe so we need to check variable set by AAD to check initialization status.\n this.initializationTimer = setInterval(() => {\n this._isInitializationSuccessful();\n }, 100);\n setTimeout(() => {\n clearInterval(this.initializationTimer);\n }, 10_000);\n };\n\n // After successful AAD initialization, remove waiting and preload any data, if needed.\n private readonly _isInitializationSuccessful = () => {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (window && window['$diags'] && window['$diags']['initializationSuccessful']) {\n clearInterval(this.initializationTimer);\n this.isInitialized = true;\n }\n };\n\n private readonly _prePopulateData = () => {\n const { resources } = this.props;\n const invalidEmailAddressError = resources.invalidEmailAddressError || 'Please enter a valid email address.';\n\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (window['SA_FIELDS'] && window['SA_FIELDS']['AttributeFields']) {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n window['SA_FIELDS']['AttributeFields'].map(\n (obj: { ID: string; PRE: string; PAT: string; UX_INPUT_TYPE: string; PAT_DESC: string }) => {\n const value = obj.PRE ? this._htmlDecode(obj.PRE) : '';\n switch (obj.ID.toLowerCase()) {\n case 'givenname': {\n this.givenName = value;\n break;\n }\n case 'surname': {\n this.surname = value;\n break;\n }\n case 'email': {\n this.email = value;\n this.emailRegex = obj.PAT;\n obj.PAT_DESC = invalidEmailAddressError;\n break;\n }\n default:\n }\n }\n );\n }\n };\n\n private _htmlDecode(str: string): string {\n const e = document.createElement('div');\n\n e.innerHTML = str;\n return e.childNodes.length === 0 ? '' : e.childNodes[0].nodeValue || '';\n }\n\n private readonly _updateErrorMessage = () => {\n const { resources } = this.props;\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n if (window && window['CONTENT']) {\n const message = {\n required_field: resources.requiredFieldMissingError,\n verifying_blurb: resources.loadingMessage\n };\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n Object.assign(window['CONTENT'], message);\n }\n };\n\n private _renderLocalAccount(): IAccountProfileEditLocalAccount {\n const { config, resources } = this.props;\n const localAccount = {\n localAccount: {\n id: 'attributeList',\n className: `${this.moduleClassName}__account-items attr`\n },\n items: [\n this._renderInput('givenName', 'text', this.givenName, resources.firstNameLabelText, resources.firstNameMaxLength),\n this._renderInput('surname', 'text', this.surname, resources.lastNameLabelText, resources.lastNameMaxLength)\n ],\n errorMessage: [\n ,\n ,\n \n ],\n buttonsWrapper: {\n className: `${this.moduleClassName}__buttons`\n },\n buttons: [\n ,\n \n ],\n verificationSuccessModal: {\n className: `${this.moduleClassName}__verifying-modal verifying-modal`\n },\n verificationSuccessModalMessage: {\n id: 'verifying_blurb',\n className: `${this.moduleClassName}__verifying-modal-message`\n }\n };\n\n if (config.showEmail && this.email !== '') {\n localAccount.items.push(\n this._renderInput('email', 'email', this.email, resources.emailAddressLabelText, undefined, this.emailRegex)\n );\n }\n\n return localAccount;\n }\n\n private _renderInput(\n id: string,\n type: string,\n value: string,\n labelText: string,\n maxLength?: string,\n pattern?: string\n ): IAccountProfileEditItem {\n const className = `${this.moduleClassName}__account-item`;\n return {\n wrapper: {\n className: classnames(className, `${className}-${id}`, 'entry-item', 'attrEntry')\n },\n key: id,\n label: (\n \n ),\n errorMessage: (\n \n ),\n input: (\n \n )\n };\n }\n}\n\nexport default AccountProfileEdit;\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 {\n IAccountProfileEditItem,\n IAccountProfileEditLoading,\n IAccountProfileEditLocalAccount,\n IAccountProfileEditViewProps\n} from './account-profile-edit';\n\nconst AccountProfileEditItem: React.FC = ({ wrapper, label, errorMessage, input }) => {\n return (\n \n {label}\n {errorMessage}\n {input}\n \n );\n};\n\nconst LocalAccount: React.FC = ({\n localAccount,\n items,\n errorMessage,\n buttonsWrapper,\n buttons,\n verificationSuccessModal,\n verificationSuccessModalMessage\n}) => {\n return (\n \n {items &&\n items.map((item: IAccountProfileEditItem) => {\n // eslint-disable-next-line react/jsx-key\n return ;\n })}\n {errorMessage &&\n errorMessage.map((error: React.ReactNode, index: number) => {\n return {error};\n })}\n \n {buttons &&\n buttons.map((button: React.ReactNode, index: number) => {\n return {button};\n })}\n \n\n \n \n \n \n );\n};\n\nconst AccountProfileEditLoading: React.FC = ({ modal, modalBody, icon, message }) => {\n return (\n \n \n {icon}\n {message}\n \n \n );\n};\n\nconst AccountProfileEditView: React.FC = props => {\n const { accountProfileEdit, viewState, loading, defaultAADConainer, aadConainer, heading, accountProfileEditLocalAccount } = props;\n\n return (\n \n {viewState.isShowLoading && }\n {viewState.isShowLoading && }\n \n {heading}\n {LocalAccount(accountProfileEditLocalAccount)}\n \n \n );\n};\n\nexport default AccountProfileEditView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Button, getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IAccountProfileEditButton {\n id?: string;\n className: string;\n text: string;\n ariaLabel: string;\n disabled?: boolean;\n telemetryContent?: ITelemetryContent;\n onClick?(event: React.MouseEvent): void;\n}\n\nconst AccountProfileEditButton: React.FC = ({\n id,\n className,\n text,\n ariaLabel,\n disabled,\n telemetryContent,\n onClick\n}) => {\n const payLoad = getPayloadObject('click', telemetryContent!, text);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n\n return (\n \n );\n};\n\nexport default AccountProfileEditButton;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nexport interface IAccountProfileEditErrorProps {\n id?: string;\n className: string;\n type?: string;\n message?: string;\n}\n\nconst AccountProfileEditError: React.FC = ({ id, className, type = 'page', message }) => {\n const errorClassName = `${className}__${type}-error`;\n\n return (\n \n );\n};\n\nexport default AccountProfileEditError;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IAccountProfileEditInputProps {\n id?: string;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n type: any;\n value?: string;\n pattern?: string;\n className: string;\n maxLength?: string;\n onChange?(event: React.ChangeEvent): void;\n}\n\nexport interface IAccountProfileEditInput {\n key: string;\n AddressItem: INodeProps;\n label: React.ReactNode;\n alert: React.ReactNode;\n input: React.ReactNode;\n}\n\nconst GetMaxLength = (maxLength?: string): number | undefined => {\n if (maxLength) {\n const parsedMaxLength = Number.parseInt(maxLength, 10);\n if (!isNaN(parsedMaxLength)) {\n return parsedMaxLength;\n }\n }\n\n return undefined;\n};\n\nconst AccountProfileEditInput: React.FC = ({ id, type, value, pattern, className, maxLength, onChange }) => (\n \n);\n\nexport default AccountProfileEditInput;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IAccountProfileEditLabel {\n id: string;\n forId: string;\n className: string;\n text: string;\n}\n\nconst AccountProfileEditLabel: React.FC = ({ id, forId, className, text }) => (\n \n);\n\nexport default AccountProfileEditLabel;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IAccountProfileEditLoadingIcon {\n className: string;\n}\n\nconst AccountProfileEditLoadingIcon: React.FC = ({ className }) => (\n
\n);\n\nexport default AccountProfileEditLoadingIcon;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IAccountProfileEditLoadingMessage {\n className: string;\n message: string;\n}\n\nconst AccountProfileEditLoadingMessage: React.FC = ({ className, message }) => (\n
{message}
\n);\n\nexport default AccountProfileEditLoadingMessage;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport React from 'react';\n\nexport const SignUpText: React.FC<{ text: string }> = (props: { text: string }) => {\n return

{props.text}

;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport MsDyn365, * as Msdyn365 from '@msdyn365-commerce/core';\nimport { issueLoyalty, IssueLoyaltyInput } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n Button,\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n ITelemetryContent,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport classname from 'classnames';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { SignUpText } from './components/loyalty-sign-up-small-components';\nimport { ILoyaltySignUpData } from './loyalty-sign-up.data';\nimport { ILoyaltySignUpProps } from './loyalty-sign-up.props.autogenerated';\n\nexport interface IAccountLoyaltyJoinState {\n clicked: boolean;\n}\nexport interface ILoyaltySignUpViewProps extends ILoyaltySignUpProps {\n LoyaltySignUp: IModuleProps;\n heading: React.ReactNode;\n memberHeading: React.ReactNode;\n signInLink: React.ReactElement;\n signUpText: React.ReactElement;\n signUpButton: React.ReactElement;\n detailsLink: React.ReactElement;\n termsLink: React.ReactElement;\n loading: boolean;\n infoMessageBar?: React.ReactNode;\n}\n\n/**\n *\n * LoyaltySignUp component.\n * @extends {React.Component>}\n */\n@observer\nclass LoyaltySignUp extends React.Component, IAccountLoyaltyJoinState> {\n private readonly telemetryContent?: ITelemetryContent;\n private readonly loyaltySignInAttributes: Msdyn365.IDictionary | undefined;\n private readonly loyaltySignUpAttributes: Msdyn365.IDictionary | undefined;\n private readonly loyaltyDetailsLinkAttributes: Msdyn365.IDictionary | undefined;\n private readonly loyaltyTermsLinkAttributes: Msdyn365.IDictionary | undefined;\n\n constructor(props: ILoyaltySignUpProps) {\n super(props);\n this.state = { clicked: false };\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n const payLoad = getPayloadObject('click', this.telemetryContent, TelemetryConstant.SignIn);\n this.loyaltySignInAttributes = getTelemetryAttributes(this.telemetryContent, payLoad);\n payLoad.contentAction.etext = TelemetryConstant.SignUp;\n this.loyaltySignUpAttributes = getTelemetryAttributes(this.telemetryContent, payLoad);\n payLoad.contentAction.etext = TelemetryConstant.LoyaltyDetailLink;\n this.loyaltyDetailsLinkAttributes = getTelemetryAttributes(this.telemetryContent, payLoad);\n payLoad.contentAction.etext = TelemetryConstant.LoyaltyTermsLink;\n this.loyaltyTermsLinkAttributes = getTelemetryAttributes(this.telemetryContent, payLoad);\n }\n\n public shouldComponentUpdate(nextProps: ILoyaltySignUpProps, nextState: IAccountLoyaltyJoinState): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | null {\n const {\n config: { className, heading, memberHeading },\n resources,\n context: {\n actionContext,\n request: {\n user: { signInUrl, isAuthenticated }\n }\n },\n data\n } = this.props;\n\n const termsUrl = Msdyn365.getUrlSync('loyaltyTerms', actionContext);\n let loyaltyJoinUrl = `${Msdyn365.getUrlSync('loyaltyJoin', actionContext)}?joiningLoyalty=true`;\n if (MsDyn365.isBrowser) {\n loyaltyJoinUrl = `${window.location.origin}${loyaltyJoinUrl}`;\n }\n const signInurl = `${signInUrl}?ru=${loyaltyJoinUrl}`;\n const completeClass = classname('ms-loyalty-signup', className);\n const loyaltyCard = data.loyaltyCard;\n const hasLoyaltyAccount = loyaltyCard.result && loyaltyCard.result.CardTenderTypeValue !== undefined;\n const customerInformation = data.customerInformation?.result;\n\n const invalidAsyncCustomerState: boolean =\n (this.props.context.app?.config?.canRenderAsyncCustomerDataAsUnmodifiable || false) &&\n (customerInformation?.IsAsyncCustomer || false);\n const viewProps = {\n ...this.props,\n className: completeClass,\n LoyaltySignUp: {\n moduleProps: this.props,\n className: completeClass\n },\n infoMessageBar: invalidAsyncCustomerState && (\n \n ),\n loading: !this.props.context.request.params.isEditor && loyaltyCard?.status === 'LOADING',\n heading: !hasLoyaltyAccount && heading && heading.text && (\n \n ),\n memberHeading: hasLoyaltyAccount && memberHeading && memberHeading.text && (\n \n ),\n signInLink: !isAuthenticated && (\n \n ),\n signUpText: !hasLoyaltyAccount && ,\n signUpButton: !hasLoyaltyAccount && isAuthenticated && (\n \n {this.props.resources.joinLoyaltyButtonText}\n \n ),\n detailsLink: hasLoyaltyAccount && (\n \n {this.props.resources.viewLoyaltyPageText}\n \n ),\n termsLink: !hasLoyaltyAccount && (\n \n )\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n public handleMemberHeadingChange = (event: Msdyn365.ContentEditableEvent) =>\n (this.props.config.memberHeading!.text = event.target.value);\n\n private readonly _issueLoyalty = () => {\n if (this.props.context.request.user.isAuthenticated && !this.state.clicked) {\n this.setState({ clicked: true });\n const input = new IssueLoyaltyInput(this.props.context.request.apiSettings);\n\n issueLoyalty(input, this.props.context.actionContext)\n .then(() => {\n if (MsDyn365.isBrowser) {\n window.location.assign(Msdyn365.getUrlSync('loyalty', this.props.context.actionContext) || '');\n }\n })\n .catch((error: Error) => {\n this.setState({ clicked: false });\n this.props.telemetry.error(error.message);\n this.props.telemetry.debug('Unable to issue loyalty card');\n });\n }\n };\n}\n\nexport default LoyaltySignUp;\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 { ILoyaltySignUpViewProps } from './loyalty-sign-up';\n\nconst LoyaltySignUpView: React.FC = props => {\n const {\n LoyaltySignUp,\n heading,\n memberHeading,\n signInLink,\n signUpText,\n signUpButton,\n detailsLink,\n termsLink,\n loading,\n infoMessageBar\n } = props;\n\n if (loading) {\n props.context.telemetry.error('LoyaltySignUp data is empty, module wont render');\n return null;\n }\n\n return (\n \n {infoMessageBar}\n {memberHeading}\n {heading}\n {detailsLink}\n {signUpText}\n {termsLink}\n {signUpButton}\n {signInLink}\n \n );\n};\n\nexport default LoyaltySignUpView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport QRCode from 'qrcode.react';\nimport * as React from 'react';\n\n/**\n * CheckInConfirmation component Properties.\n */\nexport interface ICheckInConfirmationProps {\n /**\n * The confirmation text to show.\n */\n confirmationText: string;\n\n /**\n * Should the order confirmation number shown as QR code or not.\n * If false, the order confirmation number (channel reference ID) will be shown as text.\n */\n shouldShowQrCode: boolean;\n\n /**\n * The label shows for channel reference ID.\n */\n channelReferenceIdLabel: string;\n\n /**\n * The channel reference ID to show. When shouldShowQrCode is true, the ID is shown as QR code, otherwise it is shown as text.\n */\n channelReferenceId?: string;\n}\n\n/**\n * CheckInConfirmation component for showing confirmation information after check-in succeed.\n * @param confirmationProps - The confirmation properties.\n * @param confirmationProps.confirmationText - The confirmation text.\n * @param confirmationProps.shouldShowQrCode - Should the order confirmation number shown as QR code or not.\n * If false, the order confirmation number (channel reference ID) will be shown as text.\n * @param confirmationProps.channelReferenceIdLabel - The label shows for channel reference ID.\n * @param confirmationProps.channelReferenceId - The channel reference ID to show.\n * When shouldShowQrCode is true, the ID is shown as QR code, otherwise it is shown as text.\n * @returns The check-in confirmation component.\n */\nexport const CheckInConfirmationComponent: React.FC = ({\n confirmationText,\n shouldShowQrCode,\n channelReferenceIdLabel,\n channelReferenceId\n}) => {\n return (\n
\n

{confirmationText}

\n {channelReferenceId && (\n

\n {`${channelReferenceIdLabel} ${channelReferenceId}`}\n

\n )}\n {channelReferenceId && shouldShowQrCode && (\n \n \n \n )}\n
\n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\n/**\n * Check-in error properties.\n */\nexport interface ICheckInErrorProps {\n errorMessage?: string;\n}\n\n/**\n * Check-in error.\n * @param errorProps - The error properties.\n * @param errorProps.errorMessage - The error message to show.\n * @returns The alert element showing check-in errors.\n */\nexport const CheckInErrorComponent: React.FC = ({ errorMessage }) => {\n if (!errorMessage) {\n return null;\n }\n\n return (\n \n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IDictionary } from '@msdyn365-commerce/core';\nimport { CommerceProperty, SalesOrdersDataActions } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport * as React from 'react';\n\nimport { CheckInConfirmationComponent } from './check-in-confirmation';\nimport { CheckInErrorComponent } from './check-in-error';\nimport { IAdditionalInformationKeysData, ICheckInForPickupConfig, ICheckInForPickupProps } from './check-in-for-pickup.props.autogenerated';\n\n/**\n * The interface representing a piece of additional information data.\n */\ninterface IAdditionalInformation {\n formKey: IAdditionalInformationKeysData;\n value: string;\n}\n\n/**\n * The state for check-in view.\n */\nexport interface ICheckInViewState {\n /**\n * If the module has header error to show.\n */\n isHeaderError: boolean;\n\n /**\n * If the customer has checked in.\n */\n isCheckedIn: boolean;\n\n /**\n * Additional information to capture.\n */\n additionalInformation: IDictionary[];\n}\n\n/**\n * The properties for check-in view.\n */\nexport interface ICheckInViewProps extends ICheckInForPickupProps {\n headerError: React.ReactNode;\n confirmationComponent: React.ReactNode;\n viewState: ICheckInViewState;\n additionalInformationValues: string[];\n checkInForOrderPickup(additionalInformation?: IAdditionalInformation[]): Promise;\n}\n\n/**\n * The state of the CheckInForPickup module.\n */\nexport interface ICheckInForPickupState {\n /**\n * The header error message.\n */\n headerErrorMessage: string;\n\n /**\n * If the customer has checked in successfully.\n */\n isCheckedIn: boolean;\n}\n\n/**\n *\n * CheckIn component.\n * @extends {React.Component, ICheckInForPickupState>}\n */\nclass CheckInForPickup extends React.Component, ICheckInForPickupState> {\n public constructor(props: ICheckInForPickupProps) {\n super(props);\n this.state = {\n headerErrorMessage: '',\n isCheckedIn: false\n };\n }\n\n public render(): JSX.Element | null {\n const isHeaderError: boolean = this.state.headerErrorMessage !== '';\n\n const viewProps = {\n ...this.props,\n headerError: ,\n confirmationComponent: (\n \n ),\n checkInForOrderPickup: this.checkInForOrderPickup,\n additionalInformationValues: this.props.config.additionalInformationKeys\n ? this.props.config.additionalInformationKeys.map(() => {\n return {};\n })\n : undefined,\n viewState: {\n isHeaderError,\n isCheckedIn: this.state.isCheckedIn\n }\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public shouldComponentUpdate(nextProps: ICheckInForPickupProps, nextState: ICheckInForPickupState): boolean {\n if (\n this.props.config.additionalInformationHeading !== nextProps.config.additionalInformationHeading ||\n this.props.config.confirmationText !== nextProps.config.confirmationText\n ) {\n return true;\n }\n if (this.state.headerErrorMessage !== nextState.headerErrorMessage || this.state.isCheckedIn !== nextState.isCheckedIn) {\n return true;\n }\n return false;\n }\n\n public async componentDidMount(): Promise {\n await this._onInit();\n }\n\n /**\n * The async callback for submitting check-in.\n * @param additionalInformationList - The optional additional information captured.\n * @returns The async result.\n */\n public checkInForOrderPickup = async (additionalInformationList?: IAdditionalInformation[]): Promise => {\n const channelId: number = Number.parseInt(this.props.context.request.query!.channelId, 10);\n const channelReferenceId: string = this.props.context.request.query!.channelReferenceId;\n const packingSlipId: string = this.props.context.request.query!.packingSlipId;\n\n const additionalInformationToSubmit: { formKey: string; value: string }[] | undefined = additionalInformationList?.map(\n additionalInformationKeyValuePair => {\n return {\n formKey: additionalInformationKeyValuePair.formKey.resourceId ?? '',\n value: additionalInformationKeyValuePair.value\n };\n }\n );\n const extensionPropertyList: CommerceProperty[] = [];\n if (!ObjectExtensions.isNullOrUndefined(additionalInformationToSubmit)) {\n for (const additionalInformation of additionalInformationToSubmit) {\n extensionPropertyList.push({\n Key: additionalInformation.formKey,\n Value: {\n StringValue: additionalInformation.value\n }\n });\n }\n }\n try {\n await SalesOrdersDataActions.checkInForOrderPickupAsync(\n { callerContext: this.props.context.actionContext, queryResultSettings: {} },\n channelId,\n packingSlipId,\n channelReferenceId,\n extensionPropertyList\n );\n } catch (error) {\n this.setState({ headerErrorMessage: this.props.resources.genericErrorMessage, isCheckedIn: false });\n this.props.telemetry.error(error);\n return Promise.resolve();\n }\n this.setState({ headerErrorMessage: '', isCheckedIn: true });\n return Promise.resolve();\n };\n\n /**\n * The action performed on module initialization.\n * @returns The async result.\n */\n private readonly _onInit = async (): Promise => {\n const channelId: number = Number.parseInt(this.props.context.request.query?.channelId ?? '', 10);\n const channelReferenceId: string | undefined = this.props.context.request.query?.channelReferenceId;\n const packingSlipId: string | undefined = this.props.context.request.query?.packingSlipId;\n if (Number.isNaN(channelId) || !channelReferenceId || !packingSlipId) {\n // No error message shown in editor mode.\n if (this.props.context.request.params.isEditor) {\n return Promise.resolve();\n } else if (this.props.context.request.params.isPreview) {\n this.setState({ headerErrorMessage: this.props.resources.requiredParameterMissingErrorMessage });\n } else {\n this.setState({ headerErrorMessage: this.props.resources.genericErrorMessage });\n }\n this.props.context.telemetry.error(\n 'One or more required URL parameters are missing. ' +\n 'Please make sure you have pass in channelId, channelReferenceId and packingSlipId through URL parameter.'\n );\n return Promise.resolve();\n }\n\n const { additionalInformationKeys } = this.props.config;\n\n const hasAdditionalInformation: boolean = ArrayExtensions.hasElements(additionalInformationKeys);\n\n // Call check-in-for-pickup directly if no additional information to capture.\n if (!hasAdditionalInformation) {\n try {\n await SalesOrdersDataActions.checkInForOrderPickupAsync(\n { callerContext: this.props.context.actionContext, queryResultSettings: {} },\n channelId,\n packingSlipId,\n channelReferenceId\n );\n } catch (error) {\n this.setState({ headerErrorMessage: this.props.resources.genericErrorMessage, isCheckedIn: false });\n this.props.telemetry.error(error);\n return Promise.resolve();\n }\n this.setState({ headerErrorMessage: '', isCheckedIn: true });\n }\n return Promise.resolve();\n };\n}\n\nexport default CheckInForPickup;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { FormBuilder } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICheckInViewProps } from './check-in-for-pickup';\n\n/**\n * The check-in view for submitting check-in, capturing additional information, and showing check-in confirmation.\n * @param props - The check-in view properties.\n * @returns The check-in view as a react component.\n */\nconst CheckInViewComponent: React.FC = (props: ICheckInViewProps) => {\n const { headerError, checkInForOrderPickup, confirmationComponent, viewState } = props;\n return (\n <>\n {viewState.isHeaderError && headerError}\n {!viewState.isHeaderError && ArrayExtensions.hasElements(props.config.additionalInformationKeys) && (\n \n )}\n {!viewState.isHeaderError &&\n !ArrayExtensions.hasElements(props.config.additionalInformationKeys) &&\n viewState.isCheckedIn &&\n confirmationComponent}\n \n );\n};\n\nexport default CheckInViewComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { AsyncResult } from '@msdyn365-commerce/core';\nimport { Customer } from '@msdyn365-commerce/retail-proxy';\nimport { IHeaderViewProps } from '@msdyn365-commerce-modules/header';\nimport { Collapse, Drawer, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nconst headerView: React.FC = props => {\n const { HeaderTag, HeaderContainer, HeaderTopBarContainer, Divider } = props;\n return (\n \n \n \n {props.navIcon}\n {props.logo}\n {_renderReactFragment(props.search)}\n {props.preferredStore}\n {_renderAccountBlock(props, false)}\n {props.wishListIconDesktop}\n \n {props.cartIcon}\n {_renderReactFragment(props.siteOptions)}\n \n {_renderCollapseMenu(props)}\n {_renderReactFragment(props.menuBar)}\n \n \n );\n};\n\nfunction _renderCollapseMenu(props: IHeaderViewProps): JSX.Element | null {\n const { Divider, MobileMenuLinksContainer, mobileMenuCollapsed } = props;\n return (\n \n \n {_renderReactFragment(props.search)}\n {_renderMobileAccountBlock(props, true)}\n {props.wishListIconMobile}\n {props.siteOptions}\n \n \n {_renderReactFragment(props.menuBar)}\n \n );\n}\n\nconst renderCustomerName = (accountInformation: AsyncResult): React.ReactChild => {\n const customer = accountInformation && accountInformation.result;\n return <>{customer ? customer.FirstName || customer.Name : ''};\n};\n\nfunction _renderMobileAccountBlock(props: IHeaderViewProps, renderForMobile: boolean): JSX.Element | null {\n const { AccountInfoDropdownParentContainer, signOutLink, signInLink, data, accountLinks } = props;\n\n if (AccountInfoDropdownParentContainer) {\n const accountClassName = classnames(\n 'ms-header__drawer',\n AccountInfoDropdownParentContainer.className,\n renderForMobile ? 'account-mobile' : 'account-desktop'\n );\n\n if (accountLinks) {\n return (\n \n
\n {accountLinks ? accountLinks.map((link: React.ReactNode) => link) : false}\n {signOutLink}\n
\n \n );\n } else if (signInLink) {\n return (\n \n {signInLink}\n \n );\n }\n }\n return null;\n}\n\nfunction _renderAccountBlock(props: IHeaderViewProps, renderForMobile: boolean): JSX.Element | null {\n const {\n AccountInfoDropdownParentContainer,\n AccountInfoDropdownPopoverConentContainer,\n accountInfoDropdownButton,\n signOutLink,\n signInLink,\n accountLinks\n } = props;\n\n if (AccountInfoDropdownParentContainer) {\n const accountClassName = classnames(\n AccountInfoDropdownParentContainer.className,\n renderForMobile ? 'account-mobile' : 'account-desktop'\n );\n if (AccountInfoDropdownPopoverConentContainer) {\n return (\n \n {accountInfoDropdownButton}\n \n {accountLinks ? accountLinks.map((link: React.ReactNode) => link) : false}\n {signOutLink}\n \n \n );\n } else if (signInLink) {\n return (\n \n {signInLink}\n \n );\n }\n }\n\n return null;\n}\n\nfunction _renderReactFragment(items: React.ReactNode[]): JSX.Element | null {\n return (\n <>\n {items && items.length > 0\n ? items.map((slot: React.ReactNode, index: number) => {\n return {slot};\n })\n : null}\n \n );\n}\n\nexport default headerView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IHistogramItemViewProps, IRatingsHistogramViewProps } from '@msdyn365-commerce-modules/ratings-reviews';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nconst RatingsHistogramView: React.FC = props => {\n const { heading, histogramItems, histogramProps, moduleProps } = props;\n return (\n \n {heading}\n \n {histogramItems.map(item => {\n return histogramItem(item);\n })}\n \n \n );\n};\n\nconst histogramItem = (props: IHistogramItemViewProps) => {\n return (\n \n {props.starLabel}\n {props.bar}\n {props.percentage}\n \n );\n};\n\nexport default RatingsHistogramView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IReviewModalViewProps } from '@msdyn365-commerce-modules/ratings-reviews';\nimport {\n IReportReviewModalViewProps,\n IReviewCardViewProps,\n IReviewsListState,\n IReviewsListViewProps\n} from '@msdyn365-commerce-modules/ratings-reviews/src/modules/reviews-list';\nimport { IModuleProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nconst ReviewsListview: React.FC = props => {\n const {\n averageRating,\n filterByDropdown,\n moduleProps,\n noReviewsMessage,\n noReviewsWithFilterMessage,\n pageControls,\n refineReviewsProps,\n reportReviewModal,\n reviewsListProps,\n reviewCards,\n reviewCount,\n reviewModal,\n sortByDropdown,\n state,\n userReview\n } = props;\n\n if (!userReview && reviewCards.length === 0 && !state.isFilterApplied) {\n return {noReviewsMessage};\n }\n\n return (\n \n {averageRating}\n {reviewCount}\n \n {sortByDropdown}\n {filterByDropdown}\n \n \n {userReview && buildReviewCard(userReview)}\n {reviewCards.map(review => {\n return buildReviewCard(review);\n })}\n \n {reviewCards.length === 0 && state.isFilterApplied && noReviewsWithFilterMessage}\n {pageControls}\n {createReviewModal(reviewModal, moduleProps)}\n {createReportModal(reportReviewModal, state)}\n \n );\n};\n\nconst buildReviewCard = (props: IReviewCardViewProps) => {\n return (\n \n \n {props.rating}\n {props.name}\n {props.date}\n \n \n \n {props.reviewTitle}\n {props.reviewText}\n \n \n {props.responseName}\n {props.responseDate}\n {props.responseText}\n \n \n {props.ratingHelpfulLabel}\n {props.like}\n {props.dislike}\n {props.edit}\n {props.report}\n \n \n \n );\n};\n\nconst createReviewModal = (props: IReviewModalViewProps, moduleProps: IModuleProps): JSX.Element => {\n return (\n \n {props.modalHeader}\n \n \n \n {props.rating}\n {props.ratingLabel}\n \n \n {props.titleLabel}\n {props.titleInput}\n \n \n {props.textLabel}\n {props.textInput}\n \n {props.privacyPolicyUrl}\n {props.error}\n \n \n \n {props.submitButton}\n {props.cancelButton}\n \n \n );\n};\n\nconst createReportModal = (props: IReportReviewModalViewProps, state: IReviewsListState): JSX.Element => {\n return (\n \n {state.reported ? props.headerSubmitted : props.header}\n \n {state.reported ? props.reportSubmittedMessage : [props.reportMessage, props.radioButtons, props.error]}\n \n {state.reported ? props.succesfulButton : [props.submitButton, props.cancelButton]}\n \n );\n};\n\nexport default ReviewsListview;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n getTelemetryObject,\n Heading,\n IComponentNodeProps,\n INodeProps,\n ISingleSlideCarouselProps,\n ITelemetryContent,\n NodeTag,\n SingleSlideCarousel\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { ITileListProps, ITitleData } from './tile-list.props.autogenerated';\n\n/**\n * Tile-list view props.\n */\nexport interface ITileListViewProps extends ITileListProps<{}> {\n title?: React.ReactNode;\n tiles: React.ReactNode[];\n tileItemContainer: INodeProps;\n tileListContainer: INodeProps;\n tileListHeading: INodeProps;\n singleSlideCarouselComponentProps: INodeProps;\n}\n\n/**\n *\n * TileList component.\n * @extends {React.PureComponent>}\n */\nexport class TileList extends React.PureComponent> {\n private readonly _telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n private static _createHeading(heading?: ITitleData): React.ReactNode | null {\n if (!heading || !heading.text || StringExtensions.isNullOrWhitespace(heading.text)) {\n return null;\n }\n return ;\n }\n public constructor(props: ITileListProps<{}>) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { resources } = this.props;\n const { title, className } = this.props.config;\n const propsCarousel: IComponentNodeProps = {\n tag: SingleSlideCarousel,\n className: this.props.config.className ?? '',\n flipperPrevLabel: resources.flipperPrevious,\n flipperNextLabel: resources.flipperNext,\n parentId: this.props.id,\n telemetryContent: this._telemetryContent,\n vertical: false\n };\n\n const viewProps = {\n ...this.props,\n title: TileList._createHeading(title),\n singleSlideCarouselComponentProps: propsCarousel,\n tileItemContainer: {\n tag: 'li' as NodeTag,\n className: 'ms-tile__item',\n role: 'listitem'\n },\n tileListContainer: { className: classnames('ms-tile-list', className) },\n tileListHeading: { className: 'ms-tile-list__heading' },\n tiles: this.props.slots.content\n };\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n}\n\nexport default TileList;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Node } from '@msdyn365-commerce-modules/utilities';\nimport React, { ReactNode } from 'react';\n\nimport { ITileListViewProps } from './tile-list';\n\n/**\n * View component.\n * @param props - The view properties.\n * @returns Returns props.\n */\nexport const tileListView: React.FC = props => {\n const { title, tiles, tileListContainer, tileListHeading, tileItemContainer, singleSlideCarouselComponentProps } = props;\n return (\n \n {title}\n \n {tiles.map((tileItem: ReactNode, index: number) => {\n const keyIndex = `tile-list-item__${index}`;\n return (\n \n {tileItem}\n \n );\n })}\n \n \n );\n};\n\nexport default tileListView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getUrlSync } from '@msdyn365-commerce/core';\nimport { IB2bRequestsStatusViewProps } from '@msdyn365-commerce-modules/account-management';\nimport { Button, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { IB2bRequestsStatusProps, IB2bRequestsStatusResources } from '../definition-extensions/b2b-requests-status.ext.props.autogenerated';\n\n/**\n * B2b Request status View.\n * @param props - The view props.\n * @returns The JSX Element.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\nconst B2bRequestsStatusView: React.FC> = props => {\n const { b2bRequestsStatus, heading, table } = props;\n const { continueShoppingButtonTitle } = props.resources;\n const initialCount = 0;\n\n if (props.data.operationRequests.result?.length === initialCount) {\n return (\n \n {heading}\n \n
\n

{props.resources.headingForEmptyRequestStatus}

\n

{props.resources.textForEmptyRequestStatus}

\n \n \n {continueShoppingButtonTitle}\n \n \n
\n
\n
\n );\n }\n return (\n \n {heading}\n {table}\n \n );\n};\n\nexport default B2bRequestsStatusView;\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 { ICheckoutCustomerAccountPaymentViewProps } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-customer-account-payment/checkout-customer-account-payment';\nimport { IAccountPaymentEditViewForm } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-customer-account-payment/components/get-account-payment-form-edit-mode';\nimport { IAccountPaymentSummaryViewForm } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-customer-account-payment/components/get-account-payment-form-summary-mode';\n\nexport const SummaryForm: React.FC = ({\n formProps,\n label,\n addPaymentButton,\n appliedLine,\n bottomBorder,\n paymentAmountInput\n}) => (\n \n <>\n {label}\n {paymentAmountInput}\n {addPaymentButton}\n {appliedLine}\n {bottomBorder}\n \n \n);\n\nexport const EditForm: React.FC = ({\n formProps,\n inputLabel,\n inputAmount,\n addPaymentButton,\n customerName,\n customerAccountNumber,\n customerSince,\n accountCredit,\n alert,\n accountDetails,\n appliedLine,\n bottomBorder\n}) => (\n \n <>\n {customerName}\n {customerAccountNumber}\n {customerSince}\n {accountCredit}\n {accountDetails}\n {inputLabel}\n {alert}\n {inputAmount}\n {addPaymentButton}\n {appliedLine}\n {bottomBorder}\n \n \n);\n\nconst CheckoutCustomerAccountView: React.FC = props => {\n const { checkoutCustomerAccount, checkoutErrorRef, summaryView, editView, moduleState, alert } = props;\n return (\n \n {alert}\n {moduleState.isReady && summaryView && }\n {!moduleState.isReady && editView && }\n \n );\n};\n\nexport default CheckoutCustomerAccountView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n IGroup,\n IGroupDelivery,\n IGroups,\n IHeader,\n IList,\n IOrderHistoryViewProps,\n IOrderInformation,\n ISalesOrder\n} from '@msdyn365-commerce-modules/order-management';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport const OrderHistoryOrderInfomation: React.FC = ({\n orderInformationProps,\n salesId,\n receiptId,\n channelName,\n createdDate,\n count,\n amount,\n channelReferenceId\n}) => (\n \n {channelName}\n {salesId}\n {receiptId}\n {createdDate}\n {count}\n {amount}\n {channelReferenceId}\n \n);\n\nexport const OrderHistoryGroupDelivery: React.FC = ({\n deliveryProps,\n heading,\n count,\n processing,\n address,\n trackingInfo\n}) => (\n \n {heading}\n {count}\n {processing}\n {address}\n {trackingInfo}\n \n);\n\nexport const OrderHistoryGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\n \n {salesLines && (\n \n {salesLines.map(salesLine => (\n {salesLine.salesLine}\n ))}\n \n )}\n \n);\n\nexport const OrderHistoryGroups: React.FC = ({ groupsProps, groups }) => (\n \n {groups.map((group, index) => (\n \n ))}\n \n);\n\nexport const OrderHistoryHeader: React.FC = ({ headerProps, heading, orderCountLabel, extraActions }) => (\n \n {heading}\n {orderCountLabel}\n {extraActions}\n \n);\n\nexport const OrderHistorySalesOder: React.FC = ({\n salesOrderProps,\n orderInfomation,\n groups,\n orderDetailsLink,\n expandProductsButton\n}) => (\n \n
\n {orderInfomation.placedBy && {orderInfomation.placedBy}}\n
{orderInfomation && }
\n
\n {groups && }\n {expandProductsButton}\n {orderDetailsLink}\n
\n);\n\nexport const OrderHistoryList: React.FC = ({ listProps, salesOrders }) => (\n \n {salesOrders && salesOrders.map((salesOrder, index) => )}\n \n);\n\nconst OrderHistoryView: React.FC = ({\n orderHistoryProps,\n header,\n alert,\n loading,\n emptyMessage,\n backToShoppingLink,\n list,\n table,\n moreButton\n}) => (\n \n {header && }\n {loading}\n {alert && (\n <>\n {alert}\n {backToShoppingLink}\n \n )}\n {emptyMessage && (\n \n {emptyMessage}\n {backToShoppingLink}\n \n )}\n {list && }\n {table}\n {moreButton && moreButton}\n \n);\n\nexport default OrderHistoryView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ISearchData, ISearchViewProps } from '@msdyn365-commerce-modules/search';\nimport { Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\n\n/**\n * Render Categories heading.\n * @param inCategoriesHeading - The Keywords result heading.\n * @returns The JSX Element.\n */\nconst renderCategorySuggestionsTitle = (inCategoriesHeading: string): JSX.Element => {\n const categoryAutoSuggestionHeading = inCategoriesHeading ? inCategoriesHeading : 'In categories';\n\n return
{categoryAutoSuggestionHeading}
;\n};\n\n/**\n * Render Categories suggestion result.\n * @param inCategoriesHeading - The Categories result heading.\n * @param noResultText - The \"No Result\" text.\n * @param props - The Categories suggestion result.\n * @param isLoadingAutoSuggest - The autosuggestion loading flag.\n * @param isLoadingNode - The autosuggestion loading node.\n * @returns The JSX Element.\n */\nexport const CategorySuggestionsComponent = (\n inCategoriesHeading: string,\n noResultText: string,\n props: ISearchViewProps & ISearchProps,\n isLoadingAutoSuggest?: boolean,\n isLoadingNode?: React.ReactNode\n): JSX.Element => {\n return props.autosuggestCategory ? (\n \n {renderCategorySuggestionsTitle(inCategoriesHeading)}\n \n {isLoadingAutoSuggest && isLoadingNode}\n {!isLoadingAutoSuggest &&\n props.autosuggestCategory.text.map(text => {\n return text;\n })}\n \n \n ) : (\n \n {renderCategorySuggestionsTitle(inCategoriesHeading)}\n \n
  • {noResultText}
  • \n
    \n
    \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IImageData, Image } from '@msdyn365-commerce/core';\nimport { ISearchData } from '@msdyn365-commerce-modules/search';\nimport { Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\n\n/**\n * Render Products Suggestion result heading.\n * @param props -The props.\n * @returns The JSX Element.\n */\nconst renderProductNotFoundResultsImage = (props: ISearchProps): JSX.Element | null => {\n const noSearchResultImage: IImageData | undefined = props.config.noSearchResultImage;\n if (!noSearchResultImage || !noSearchResultImage.src) {\n return null;\n }\n const imageSettings = {\n lazyload: true,\n viewports: {\n xs: { w: 100, h: 100, q: 'w=100&h=100&q=60&m=6' }\n }\n };\n return (\n \n );\n};\n\n/**\n * Render Product suggestion result.\n * @param props -The props.\n * @returns The JSX Element.\n */\nexport const MobileAutoSuggestEmptyComponent = (props: ISearchProps): JSX.Element => {\n return (\n \n
    {renderProductNotFoundResultsImage(props)}
    \n
    \n
    {props.resources.emptyMobileSearchTextHeading}
    \n
    {props.resources.emptyMobileSearchText}
    \n
    \n
    \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ISearchData, ISearchFormViewProps } from '@msdyn365-commerce-modules/search';\nimport { Button, INodeProps, Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\nimport { MobileAutoSuggestEmptyComponent } from './search.mobile.empty';\n\n/**\n * Render Clear button for mobile viewport.\n * @param clearSearchButtonText -The Clear button text.\n * @param clearSearch -Clear Search callback.\n * @returns -The JSX Element.\n */\nconst renderClearButton = (clearSearchButtonText: string, clearSearch: () => void): JSX.Element => {\n return (\n \n );\n};\n\n/**\n * Render Search form.\n * @param form -Form view props.\n * @param searchForm -Search Form props.\n * @param formWrapper -Form Wrapper props.\n * @param isMobile -Is mobile viewport flag.\n * @param clearSearchButtonText -The Clear button text.\n * @param props -The props for resource.\n * @param isSearchText -Is SearchText flag for input text.\n * @param clearSearch -Clear Search callback.\n * @returns -The JSX Element.\n */\nexport const FormComponent = (\n form: ISearchFormViewProps,\n searchForm: INodeProps,\n formWrapper: INodeProps,\n isMobile: boolean,\n clearSearchButtonText: string,\n props: ISearchProps,\n isSearchText: boolean,\n clearSearch: () => void\n): JSX.Element => {\n const cancelButtonNode = (\n \n );\n\n return isMobile ? (\n \n {form.cancelBtn}\n \n {form.input}\n {isSearchText && renderClearButton(clearSearchButtonText, clearSearch)}\n {!isSearchText ? MobileAutoSuggestEmptyComponent(props) : null}\n \n \n ) : (\n \n \n {form.submitBtn}\n {form.input}\n {isSearchText && cancelButtonNode}\n \n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ISearchKeywordViewProps } from '@msdyn365-commerce-modules/search';\nimport { INodeProps, Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\n/**\n * Render keywords heading.\n * @param keywordsHeading -The Keywords result heading.\n * @returns The JSX Element.\n */\nconst renderKeywordSuggestionsTitle = (keywordsHeading: string): JSX.Element => {\n const categoryAutoSuggestionHeading = keywordsHeading ? keywordsHeading : 'Keywords';\n\n return
    {categoryAutoSuggestionHeading}
    ;\n};\n\n/**\n * Render keywords reults.\n * @param keywordSuggest -The Keywords suggest Node props.\n * @param ulKeyword -The List Node props.\n * @param keywordsHeading -The Keywords result heading.\n * @param noResultText -The \"No Result\" text.\n * @param keywordSuggestions -The Keywords suggestion result.\n * @param isLoadingAutoSuggest - The autosuggestion loading flag.\n * @param isLoadingNode - The autosuggestion loading node.\n * @returns -The JSX Element.\n */\nexport const KeywordSuggestionsComponent = (\n keywordSuggest: INodeProps,\n ulKeyword: INodeProps,\n keywordsHeading: string,\n noResultText: string,\n keywordSuggestions?: ISearchKeywordViewProps,\n isLoadingAutoSuggest?: boolean,\n isLoadingNode?: React.ReactNode\n): JSX.Element => {\n return keywordSuggestions ? (\n \n {renderKeywordSuggestionsTitle(keywordsHeading)}\n \n {isLoadingAutoSuggest && isLoadingNode}\n {!isLoadingAutoSuggest &&\n keywordSuggestions.text.map(text => {\n return text;\n })}\n \n \n ) : (\n \n {renderKeywordSuggestionsTitle(keywordsHeading)}\n \n
  • {noResultText}
  • \n
    \n
    \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IImageData, Image } from '@msdyn365-commerce/core';\nimport { ISearchData, ISearchProductViewProps } from '@msdyn365-commerce-modules/search';\nimport { INodeProps, Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\n\n/**\n * Render Products Suggestion result heading.\n * @param productSuggestionsHeading -The products suggestion result heading.\n * @returns The JSX Element.\n */\nconst renderProductSuggestionsTitle = (productSuggestionsHeading: string): JSX.Element => {\n const productAutoSuggestionHeading = productSuggestionsHeading ? productSuggestionsHeading : 'Products';\n\n return
    {productAutoSuggestionHeading}
    ;\n};\n\n/**\n * Render Products Suggestion result heading.\n * @param props -The props.\n * @returns The JSX Element.\n */\nconst renderProductNotFoundResultsImage = (props: ISearchProps): JSX.Element | null => {\n const noSearchResultImage: IImageData | undefined = props.config.noSearchResultImage;\n if (!noSearchResultImage || !noSearchResultImage.src) {\n return null;\n }\n return (\n \n );\n};\n\n/**\n * Render Products No result section.\n * @param props -The props.\n * @returns The JSX Element.\n */\nconst renderProductNotFoundResults = (props: ISearchProps): JSX.Element => {\n return (\n \n
    {renderProductNotFoundResultsImage(props)}
    \n
    {props.resources.noResultContentHeadingText}
    \n
    \n {props.resources.noResultContentParagraphText}\n
    \n
    \n );\n};\n\n/**\n * Render Product suggestion result.\n * @param productSuggest -The product suggest Node props.\n * @param ulProduct -The List Node props.\n * @param props -The props.\n * @param productSuggestions -The Product suggestion result.\n * @param isLoadingAutoSuggest - The autosuggestion loading flag.\n * @param isLoadingNode - The autosuggestion loading node.\n * @returns The JSX Element.\n */\nexport const ProductSuggestionsComponent = (\n productSuggest: INodeProps,\n ulProduct: INodeProps,\n props: ISearchProps,\n productSuggestions?: ISearchProductViewProps,\n isLoadingAutoSuggest?: boolean,\n isLoadingNode?: React.ReactNode\n): JSX.Element => {\n const liProduct: INodeProps = {\n tag: 'li',\n className: 'msc-no-result-content'\n };\n return productSuggestions ? (\n \n {renderProductSuggestionsTitle(props.resources.productSuggestionHeading)}\n \n {isLoadingAutoSuggest && isLoadingNode}\n {!isLoadingAutoSuggest &&\n productSuggestions.items.map((item, index) => {\n return (\n \n \n {item.thumbnail}\n {item.text}\n {item.price}\n \n \n );\n })}\n \n \n ) : (\n \n {renderProductSuggestionsTitle(props.resources.productSuggestionHeading)}\n \n {renderProductNotFoundResults(props)}\n \n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { ISearchData, ISearchFormViewProps, ISearchViewProps } from '@msdyn365-commerce-modules/search';\nimport { Button, format, isMobile, Module, Node, VariantType } from '@msdyn365-commerce-modules/utilities';\nimport React, { useCallback, useEffect, useState } from 'react';\n\nimport { ISearchProps } from '../definition-extensions/search.ext.props.autogenerated';\nimport { CategorySuggestionsComponent } from './components/search.categorysuggest';\nimport { FormComponent } from './components/search.form';\nimport { KeywordSuggestionsComponent } from './components/search.keywordsuggest';\nimport { ProductSuggestionsComponent } from './components/search.productsuggest';\n\n/**\n * Render Title for AutoSuggest.\n * @param searchSuggestionHeading -The heading resource string.\n * @param searchText -The search string.\n * @returns -The JSX Element.\n */\nconst renderTitle = (searchSuggestionHeading: string, searchText: string): JSX.Element => {\n const searchTextString = '\"'.concat(searchText.concat('\"'));\n const searchAutoSuggestionHeading = searchSuggestionHeading\n ? format(searchSuggestionHeading, searchTextString)\n : `Search for ${searchTextString}`;\n\n return {searchAutoSuggestionHeading};\n};\n\n/**\n * Search View.\n * @param props - The view props.\n * @returns The JSX Element.\n */\nconst SearchView: React.FC> = (\n props: ISearchViewProps & ISearchProps\n): JSX.Element => {\n const {\n Search,\n AutoSuggestAriaLabel,\n AutoSuggestAriaLabelText,\n searchText,\n AutoSuggest,\n KeywordSuggest,\n ProductSuggest,\n UlKeyword,\n UlProduct,\n form,\n autosuggestKeyword,\n autosuggestProduct,\n SearchForm,\n FormWrapper,\n label,\n context,\n isLoadingAutoSuggest,\n isLoadingNode,\n callbacks: { handleCancelSearchFocused }\n } = props;\n\n const { searchSuggestionHeading, categorySuggestionHeading, keywordsHeading, noResultText, clearSearchButtonText } = props.resources;\n\n const [searchTextString, setSearchTextString] = useState();\n const [isMobilePort, setIsMobile] = useState(false);\n\n useEffect(() => {\n setSearchTextString(searchText);\n }, [searchText]);\n\n /**\n * ClearSearch callback method to clear search string.\n */\n const clearSearch = (): void => {\n setSearchTextString('');\n\n const propsForm = props.form as ISearchFormViewProps;\n const propsFormInput = propsForm.input as React.DetailedHTMLProps, HTMLInputElement>;\n const propsFormInputCurrent = (propsFormInput.ref as React.RefObject).current;\n\n if (propsFormInputCurrent) {\n propsFormInputCurrent.value = '';\n }\n\n propsFormInput.value = '';\n props.searchText = '';\n props.FormWrapper.action = '';\n };\n\n const isMobileViewport = useCallback(() => {\n const isMobileView = isMobile({ variant: VariantType.Browser, context: context.request }) === 'xs';\n setIsMobile(isMobileView);\n }, [context]);\n\n useEffect(() => {\n window.addEventListener('resize', isMobileViewport);\n isMobileViewport();\n }, [isMobileViewport]);\n\n const viewport = isMobile({ variant: VariantType.Browser, context: context.request });\n\n const isMobileView = viewport === 'sm' || viewport === 'xs';\n\n AutoSuggest.className = !StringExtensions.isNullOrEmpty(searchTextString)\n ? `${AutoSuggest.className} show`\n : `${AutoSuggest.className} hide`;\n const isSearchText: boolean = !StringExtensions.isNullOrEmpty(searchTextString);\n\n return (\n \n {label}\n {FormComponent(\n form as ISearchFormViewProps,\n SearchForm,\n FormWrapper,\n isMobilePort,\n clearSearchButtonText,\n props,\n isSearchText,\n clearSearch\n )}\n {!isMobileView && (\n \n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\n {AutoSuggestAriaLabelText}\n ) : (\n ''\n )}\n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\n <>\n \n \n {renderTitle(searchSuggestionHeading, searchText)}\n \n \n \n {CategorySuggestionsComponent(\n categorySuggestionHeading,\n noResultText,\n props,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n {KeywordSuggestionsComponent(\n KeywordSuggest,\n UlKeyword,\n keywordsHeading,\n noResultText,\n autosuggestKeyword,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n \n {ProductSuggestionsComponent(\n ProductSuggest,\n UlProduct,\n props,\n autosuggestProduct,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n \n \n ) : null}\n \n )}\n {isMobileView && props.isSearchFormExpanded && (\n \n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\n {AutoSuggestAriaLabelText}\n ) : (\n ''\n )}\n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\n <>\n \n {(form as ISearchFormViewProps).cancelBtn}\n {renderTitle(searchSuggestionHeading, searchText)}\n \n \n \n {CategorySuggestionsComponent(\n categorySuggestionHeading,\n noResultText,\n props,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n {KeywordSuggestionsComponent(\n KeywordSuggest,\n UlKeyword,\n keywordsHeading,\n noResultText,\n autosuggestKeyword,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n \n {ProductSuggestionsComponent(\n ProductSuggest,\n UlProduct,\n props,\n autosuggestProduct,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n \n \n ) : null}\n \n )}\n \n );\n};\nexport default SearchView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getPayloadObject, getTelemetryAttributes, getTelemetryObject, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport {\n ISignInItem,\n ISignInLoading,\n ISignInLocalAccount,\n ISignInSocialAccount,\n ISignInSocialItem,\n ISignInB2BAccount,\n ISignInB2BItem,\n ISignInViewProps,\n ISignInButton\n} from '@msdyn365-commerce-modules/account-management';\n\nimport { ISignInProps, ISignInResources } from '../definition-extensions/sign-in.ext.props.autogenerated';\n\nconst LocalAccount: React.FC = ({ localAccount, items, forgetPassword, disclaimer, error, signInButton }) => {\n return (\n \n {items &&\n items.map((item: ISignInItem) => {\n return (\n \n {item.label}\n {item.error}\n {item.input}\n \n );\n })}\n {forgetPassword}\n {disclaimer}\n {error}\n {signInButton}\n \n );\n};\n\nconst SocialAccount: React.FC = ({ socialAccounts, items }) => {\n return (\n \n {items &&\n items.map((item: ISignInSocialItem) => {\n return (\n \n {item.image}\n {item.text}\n \n );\n })}\n \n );\n};\n\nconst B2BAccount: React.FC = ({ socialAccounts, items }) => {\n return (\n \n {items &&\n items.map((item: ISignInB2BItem) => {\n return (\n item && (\n \n {item.text}\n \n )\n );\n })}\n \n );\n};\n\nconst SignInLoading: React.FC = ({ modal, modalBody, icon, message }) => {\n return (\n \n \n {icon}\n {message}\n \n \n );\n};\nconst SignInButton: React.FC = ({ id, className, text, ariaLabel, telemetryContent, onClick }) => {\n const payLoad = getPayloadObject('click', telemetryContent!, text);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n return (\n \n {text}\n \n );\n};\n\nconst signUpButton: React.FC> = (\n props: ISignInViewProps & ISignInProps\n) => {\n const {\n resources,\n telemetry,\n friendlyName,\n context: {\n request: { telemetryPageName }\n }\n } = props;\n const telemetryContent = getTelemetryObject(telemetryPageName!, friendlyName, telemetry);\n const attributes = {\n href: '#'\n };\n\n return (\n \n );\n};\n\nconst SignInView: React.FC> = props => {\n const {\n signIn,\n viewState,\n loading,\n defaultAADConainer,\n aadConainer,\n signInSection,\n signUpSection,\n signInSectionHeading,\n signInLocalAccount,\n signInSocialAccount,\n signUpSectionHeading,\n signInB2BAccount,\n signUpDescription\n } = props;\n\n return (\n \n {viewState.isShowLoading && }\n {viewState.isShowLoading && }\n \n \n {signInSectionHeading}\n {LocalAccount(signInLocalAccount)}\n {SocialAccount(signInSocialAccount)}\n \n \n {signUpSectionHeading}\n {signUpDescription}\n {signUpButton(props)}\n \n
    \n
    \n or\n
    \n {B2BAccount(signInB2BAccount)}\n
    \n
    \n
    \n );\n};\n\nexport default SignInView;\n"],"names":["Quantity","React","constructor","props","super","inputRef","_validateMin","minValue","undefined","this","min","isNaN","state","currentInput","setState","onChange","currentCount","isUpdateing","_onIncrement","bind","_onDecrement","_handleChange","payLoad","getPayloadObject","telemetryContent","componentDidUpdate","prevProps","disabled","render","max","glyphMinusClassName","decrementGlyphClass","glyphPlusClassName","incrementGlyphClass","decrementDisabled","isGiftCard","incrementDisabled","currentValue","contentAction","etext","TelemetryConstant","DecrementQuantity","decrementAttributes","getTelemetryAttributes","IncrementQuantity","incrementAttributes","extraClassDecrement","extraClassIncrement","className","id","Object","assign","title","decrementButtonAriaLabel","onClick","tabIndex","color","type","pattern","value","onBlur","inputQuantityAriaLabel","role","ref","incrementButtonAriaLabel","invokeCallback","currQuantity","updatedQuantity","e","parseInt","target","inputElement","current","HTMLInputElement","_debounce","setAttribute","toString","defaultProps","__decorate","observer","AccountGenericTile","heading","links","textField","config","text","Msdyn365","Module","getStar","star","_renderStars","_renderTextBlock","textBlocks","length","_renderPrice","resources","_props$data$productPr2","_props$data$productPr3","_props$data$productPr4","_props$data$productPr5","_props$data$productPr6","custom_price","context","cultureFormatter","formatCurrency","data","productPrice","result","AdjustedPrice","toFixed","custom_discount_percentage","discountLines","normalizedDiscountedPrice","reduce","accumulator","discountLine","percentage","Percentage","Math","round","getCustomDiscountPercentage","DiscountLines","custom_discounted_price","CustomerContextualPrice","attributes","productSpecificationData","omnibus_price","filter","attribute","Name","includes","omnibus_price_currency","CurrencyValue","CurrencyCode","omnibus_recent_price_label","style","textDecoration","_renderCartAndActions","addToCart","addToOrderTemplate","addToWishlist","_addToCart$button","_props$context","_props$context2","_props$context3","_props$context4","_props$context5","_props$data3","_props$data4","_props$context6","button","localeString","request","locale","toLowerCase","sitePath","substring","url","requestUrl","hostname","errorBlock","_renderAddToBackInStore","customerId","channelId","itemid","dimensions","actionContext","emailAddress","cust","item","channel","dims","size","message","backInStockMessage","toHide","forEach","dim","_dim$DimensionValue","_dim$DimensionValue2","DimensionTypeValue","DimensionValue","DimensionId","_dim$DimensionValue3","_dim$DimensionValue4","_dim$DimensionValue5","_dim$DimensionValue6","_dim$DimensionValue7","_dim$DimensionValue8","stockMessage","setStockMessage","inactiveAccount","hidden","async","insertBackInStock_CAPAsync_v2","callerContext","then","Error","outOfStockText","notifyMeWhenAvailable","user","customerAccountNumber","apiSettings","product","ItemId","Dimensions","Node","backInStockAgreement","_renderCartAndActionsPM","_addToCart$button2","_props$data5","_props$context7","_addToCart$button3","_props$data6","_props$data7","_props$data8","_props$data9","_props$data10","productId","RecordId","categoryPathLookups","ProductId","catUrl","setCatUrl","isPm","setIsPm","_props$context8","_categoryPathResults$","categoryPathResults","getCategoryPathsAsync","CategoryPath","map","catPath","i","_props$context9","categoryUrl","getCategoriesUrlSync","Url","_productCategory","product_qty","quantity","_addToPM","PrimaryImageUrl","Qty","localPm","localStorage","getItem","localPmProds","JSON","stringify","pmProductsList","parse","_addToPm","pQuantity","Price","Id","Item","UOM","Description","DataAreaId","window","setItem","location","_addToPickAndMix","addToPickAndMix","_renderConfigure","configure","ContainerProps","dropdowns","_renderConfigureDropdown","dropdown","LabelContainerProps","errors","select","_renderQuantity","quantityComponent","callbacks","extentionResources","quantityLimitsMessages","isCustomPriceSelected","newValue","updateQuantity","minQuantityText","maxQuantityText","_renderKeyInPrice","keyInPrice","input","_renderBadge","badge","_badge$image$imageSet","_badge$image","imgSettings","image","imageSettings","Image","fallBackSrc","altText","gridSettings","loadFailureBehavior","label","_getProductLabels","baseImagePath","results","imgBaseUrlArray","decodeURIComponent","split","pop","imgUrls","join","response","axios","push","status","_renderSocialShare","socialShare","_productAvailableQuan","_props$config","_props$config2","_props$data","_props$slots","_props$slots$productS","_props$slots2","_props$slots3","_props$slots$productS2","_props$slots4","_labels$product_speci","_labels$product_speci2","_labels$product_speci3","_props$data$product$r","_props$data$product$r2","_props$data2","_props$rating$props$a","_props$rating","_props$rating$props$r","_props$rating2","_props$resources$buyb","_props$resources","_badgesItems$filter","_props$data$product$r3","_props$data$product$r4","_props$slots5","ModuleProps","MediaGalleryContainerProps","ProductInfoContainerProps","rating","inventoryLabel","productAvailableQuantity","availibilityCode","StockLevelCode","badgesItems","badgeItems","key","badgeName","badgeLabel","badgeLabelColor","badgeImage","badgesTag","_ref","maxBadges","badgeMaxItems","Number","replace","badgesToShow","row","_row$Name","attributeName","trim","BooleanValue","productSpecificationResult","specificationsList","specificationsListOrder","Reassurance","Ingredients","Labels","ingredientsAllAttributesList","labels","pSpecifications","ingredientsArray","ingredientsString","reassuranceItems","slots","productSpecification","reassurance","reassuranceTitle","description","reassuranceDescription","reassuranceImage","isProductAccordionOpened","productDescriptionAccordionOpened","accordionsState","setAccordionsState","fetchingLabels","setFetchingLabels","productLabels","setProductLabels","imgLink","TextValue","name","order","sort","a","b","productSku","productPrimaryImageUrl","addToCartGA","_props$data$productPr","_window$dataLayer","_window$dataLayer$pus","output","names","document","getElementsByClassName","Array","from","_item$getAttribute","getAttribute","categoryGA","slice","productInfo","dataLayer","call","currencyCode","addEventListener","scrollToRevews","y","getBoundingClientRect","top","pageYOffset","scrollTo","behavior","isAccordionExpanded","accordion","normalizeData","resultData","qty1Value","category","subcategory","subRow","_objectSpread","newProductLabels","_","index","productShortDescription","productDesc","avgRating","totRatingsLabel","ratingCount","buyboxReviewLabel","mediaGallery","_labels","titleId","titleLabel","accordionContent","jData","normalizedData","_labels$row$label","_labels$row$qty1Label","_row$qty1Value","_row$qty1Unit","_row$qty2Value","_row$qty2Unit","qty1Label","qty1Unit","qty2Value","qty2Unit","_labels$subRow$label","_subRow$qty1Value","_subRow$qty1Unit","_renderNutritionalValues","nutritionalValueJSONType","_row$image$imageSetti","_row$image","isLast","_renderReassurance","_labels$product_speci4","href","_renderProductLabels","accordionOnClick","DeliveryOptionList","DeliveryOptionsList","list","deliveryOptions","sortedDeliveryOptions","get","deliveryOption","sortedDeliveryOption","find","deliveryOptionEdit","code","Code","DeliveryOption","radioButton","price","DeliveryOptionSelected","_ref2","CheckoutDeliveryOptions","checkoutErrorRef","viewState","deliveryOptionsData","deliveryOptionSelected","alert","waiting","saveButton","editButton","cancelButton","extraTextField","paragraph","extraText","isLoading","isError","isShowList","isShowSelected","isShowSaveButton","isShowEditButton","isShowCancelButton","PickUpAtStoreComponent","PickUpAtStore","EmailDeliveryComponent","EmailDelivery","LineItemComponent","_ref3","LineItem","pickUpAtStore","emailDelivery","LineItemGroupComponent","_ref4","LineItemDeliveryGroup","LineItemList","lineItems","lineItem","LineId","LineItemGroupComponentWithMultiplePickUp","_ref5","lineItemWraper","lineItemWraperIcon","LineItemComponentWithMultiplePickUp","_ref6","PickUpAtStoreComponentWithMultiplePickUp","_ref7","LineItemsComponent","_ref8","LineItems","Header","editLink","itemsForPickup","itemsForShip","itemsForEmail","itemsGroupWithMulitplePickupMode","OrderSummaryComponent","_ref9","lines","other","_objectWithoutProperties","_excluded","taxAmount","subtotal","shipping","otherCharge","_renderCustomTaxLine","taxLabel","toBeCalculatedText","marginBottom","tax","totalDiscounts","loyalty","giftCard","orderTotal","canShow","checkoutProps","headerProps","hasSalesOrder","bodyProps","mainProps","mainControlProps","sideProps","sideControlFirstProps","sideControlSecondProps","termsAndConditionsProps","orderConfirmation","loading","guidedForm","orderSummary","placeOrderButton","termsAndConditions","keepShoppingButton","moduleProps","extraOrdersSummaryEu","checkout","checkoutCart","cart","TaxAmount","greeting","setGreeting","greetingMessageCAP","greetingSignCAP","_checkoutCartState$ca","activeCartState","getCartState","checkoutCartState","ExtensionProperties","fieldVal","Key","Value","extKeysToRemove","_checkoutCartState$ca2","extProps","extPropsToEmpty","propToRemove","_find","obj","updateExtensionProperties","newExtensionProperties","removeExtProps","_checkoutCartState$ca3","_checkoutCartState$ca4","greetingVal","StringValue","getCartProps","greetingTitle","greetingMessage","greetingSign","addGreetingText","insertModifyYourPromoCode","OrderConfirmationOrderInfomation","orderInformationProps","receiptEmail","createdDate","channelReferenceId","OrderConfirmationSalesLine","salesLineProps","salesLine","buyAgainButton","OrderConfirmationGroupDelivery","deliveryProps","count","processing","address","trackingInfo","pickupDateTimeslot","OrderConfirmationGroup","groupProps","delivery","salesLinesProps","salesLines","shippingItemsToYou","OrderConfirmationGroups","groupsProps","groups","group","OrderConfirmationOrderSummary","orderSummaryProps","totalAmount","earnedPoints","itemProp","OrderConfirmationPayment","paymentMethodsProps","methods","OrderConfirmationHelp","helpProps","needHelpLabel","helpLineNumberLabel","contactNumber","_moduleProps$modulePr","_data$orderHydration$","backToShoppingLink","orderInfomation","payment","help","_modprops$moduleProps","_currentCartState$car","_find2","_currentCartState$car2","currentCartState","modprops","extPropsToRemove","cartLines","CartLines","setRemoveData","salseOrderData","orderHydration","salesOrder","commisionJunction","OrderTemplateListView","OrderTemplateList","statusMessage","OrderTemplates","orderTemplates","OrderTemplate","createOrderTemplateButton","templateHeaderStatusMessage","orderTemplate","_renderOrderTemplate","addToCartButton","orderTemplateImage","orderTemplateStatusMessage","removeButton","orderTemplateName","_renderForm","form","SearchForm","FormWrapper","cancelBtn","submitBtn","_renderKeywordSuggestions","KeywordSuggest","UlKeyword","keywordSuggestions","isLoadingAutoSuggest","isLoadingNode","_renderProductSuggestions","ProductSuggest","UlProduct","productSuggestions","items","_item$price","LiProduct","AProduct","thumbnail","_renderCategorySuggestions","CategorySuggest","UlCategory","categorySuggestions","Search","AutoSuggestAriaLabel","AutoSuggestAriaLabelText","searchText","AutoSuggest","autosuggestCategory","autosuggestKeyword","autosuggestProduct","BodyContainerProps","FooterContainerProps","HeaderContainerProps","HeaderProps","locationsMessage","search","spinner","locationsList","noLocationsMessage","terms","currentUrl","baseUrl","lastIndexOf","titles","querySelectorAll","el","storeName","textContent","_el$closest","startsWith","closest","classList","add","renderLinkToStorePage","_el$closest2","querySelector","_el$closest3","storeUrl","goToStore","createElement","innerHTML","goToStorePage","appendChild","isSearchInProgress","AccountProfileEdit","moduleClassName","handleHeadingChange","event","onTextBoxChange","givenName","surname","emailRegex","_onInit","_prePopulateData","_updateErrorMessage","initializationTimer","setInterval","_isInitializationSuccessful","setTimeout","clearInterval","isInitialized","invalidEmailAddressError","PRE","_htmlDecode","ID","email","PAT","PAT_DESC","required_field","requiredFieldMissingError","verifying_blurb","loadingMessage","EmailRegex","defaultRegex","source","getTelemetryObject","telemetryPageName","friendlyName","telemetry","componentDidMount","shouldComponentUpdate","nextProps","nextState","viewProps","isShowLoading","accountProfileEdit","classnames","modal","tag","Modal","isOpen","modalBody","ModalBody","icon","AccountProfileEditLoadingIconComponent","AccountProfileEditLoadingMessageComponent","defaultAADConainer","display","aadConainer","editProps","onEdit","requestContext","accountProfileEditLocalAccount","_renderLocalAccount","renderView","str","childNodes","nodeValue","localAccount","_renderInput","firstNameLabelText","firstNameMaxLength","lastNameLabelText","lastNameMaxLength","errorMessage","AccountProfileEditErrorComponent","requiredFieldMissingSummaryError","fieldIncorrectError","buttonsWrapper","buttons","AccountProfileEditButtonComponent","ariaLabel","saveButtonAriaLabel","saveButtonText","cancelButtonText","verificationSuccessModal","verificationSuccessModalMessage","showEmail","emailAddressLabelText","labelText","maxLength","wrapper","AccountProfileEditLabelComponent","forId","AccountProfileEditInputComponent","observable","AccountProfileEditItem","AccountProfileEditLoading","error","LocalAccount","Button","errorClassName","GetMaxLength","parsedMaxLength","htmlFor","SignUpText","LoyaltySignUp","handleMemberHeadingChange","memberHeading","_issueLoyalty","isAuthenticated","clicked","IssueLoyaltyInput","issueLoyalty","MsDyn365","isBrowser","catch","debug","SignIn","loyaltySignInAttributes","SignUp","loyaltySignUpAttributes","LoyaltyDetailLink","loyaltyDetailsLinkAttributes","LoyaltyTermsLink","loyaltyTermsLinkAttributes","_data$customerInforma","_this$props$context$a","signInUrl","termsUrl","loyaltyJoinUrl","origin","signInurl","completeClass","classname","loyaltyCard","hasLoyaltyAccount","CardTenderTypeValue","customerInformation","invalidAsyncCustomerState","app","canRenderAsyncCustomerDataAsUnmodifiable","IsAsyncCustomer","infoMessageBar","accountProcessingPendingInfoMessage","params","isEditor","signInLink","joinLoyaltyButtonText","signUpText","loyaltyProgramText","signUpButton","detailsLink","viewLoyaltyPageText","termsLink","loyaltyTermsLinkText","CheckInConfirmationComponent","confirmationText","shouldShowQrCode","channelReferenceIdLabel","QRCode","CheckInErrorComponent","CheckInForPickup","checkInForOrderPickup","query","packingSlipId","additionalInformationToSubmit","additionalInformationList","additionalInformationKeyValuePair","_additionalInformatio","formKey","resourceId","extensionPropertyList","ObjectExtensions","isNullOrUndefined","additionalInformation","SalesOrdersDataActions","queryResultSettings","headerErrorMessage","genericErrorMessage","isCheckedIn","Promise","resolve","_this$props$context$r","_this$props$context$r2","_this$props$context$r3","_this$props$context$r4","isPreview","requiredParameterMissingErrorMessage","additionalInformationKeys","ArrayExtensions","hasElements","_this$props$context$r5","isHeaderError","headerError","confirmationComponent","defaultConfirmationText","confirmationIdLabel","additionalInformationValues","additionalInformationHeading","_props$config$additio","FormBuilder","additionalInformationDefaultHeading","submitButtonText","additionalInformationSubmitButtonText","keys","requiredValueMissingErrorMessage","onSubmit","renderCustomerName","accountInformation","customer","FirstName","_renderReactFragment","slot","HeaderTag","HeaderContainer","HeaderTopBarContainer","Divider","navIcon","logo","preferredStore","renderForMobile","AccountInfoDropdownParentContainer","AccountInfoDropdownPopoverConentContainer","accountInfoDropdownButton","signOutLink","accountLinks","accountClassName","link","_renderAccountBlock","wishListIconDesktop","cartIcon","siteOptions","MobileMenuLinksContainer","mobileMenuCollapsed","Collapse","Drawer","openGlyph","closeGlyph","glyphPlacement","toggleButtonText","_renderMobileAccountBlock","wishListIconMobile","menuBar","_renderCollapseMenu","histogramItem","buttonProps","starLabel","bar","histogramItems","histogramProps","buildReviewCard","cardProps","date","cardBodyProps","reviewProps","reviewTitle","reviewText","responseProps","responseName","responseDate","responseText","controlsProps","ratingHelpfulLabel","like","dislike","edit","report","createReviewModal","modalHeader","inputRow","ratingLabel","titleInput","textLabel","textInput","privacyPolicyUrl","modalFooter","submitButton","createReportModal","reported","headerSubmitted","header","reportSubmittedMessage","reportMessage","radioButtons","succesfulButton","averageRating","filterByDropdown","noReviewsMessage","noReviewsWithFilterMessage","pageControls","refineReviewsProps","reportReviewModal","reviewsListProps","reviewCards","reviewCount","reviewModal","sortByDropdown","userReview","isFilterApplied","review","TileList","_telemetryContent","StringExtensions","isNullOrWhitespace","Heading","headingTag","_this$props$config$cl","propsCarousel","SingleSlideCarousel","flipperPrevLabel","flipperPrevious","flipperNextLabel","flipperNext","parentId","vertical","_createHeading","singleSlideCarouselComponentProps","tileItemContainer","tileListContainer","tileListHeading","tiles","content","tileListView","tileItem","keyIndex","_props$data$operation","b2bRequestsStatus","table","continueShoppingButtonTitle","operationRequests","headingForEmptyRequestStatus","textForEmptyRequestStatus","getUrlSync","SummaryForm","formProps","addPaymentButton","appliedLine","bottomBorder","paymentAmountInput","EditForm","inputLabel","inputAmount","customerName","customerSince","accountCredit","accountDetails","checkoutCustomerAccount","summaryView","editView","moduleState","isReady","OrderHistoryOrderInfomation","salesId","receiptId","channelName","amount","OrderHistoryGroupDelivery","OrderHistoryGroup","OrderHistoryGroups","OrderHistoryHeader","orderCountLabel","extraActions","OrderHistorySalesOder","salesOrderProps","orderDetailsLink","expandProductsButton","placedBy","OrderHistoryList","listProps","salesOrders","orderHistoryProps","emptyMessage","moreButton","renderCategorySuggestionsTitle","inCategoriesHeading","categoryAutoSuggestionHeading","CategorySuggestionsComponent","noResultText","MobileAutoSuggestEmptyComponent","noSearchResultImage","src","lazyload","viewports","xs","w","h","q","renderProductNotFoundResultsImage","emptyMobileSearchTextHeading","emptyMobileSearchText","FormComponent","searchForm","formWrapper","isMobile","clearSearchButtonText","isSearchText","clearSearch","cancelButtonNode","cancelBtnAriaLabel","renderClearButton","renderKeywordSuggestionsTitle","keywordsHeading","KeywordSuggestionsComponent","keywordSuggest","ulKeyword","renderProductSuggestionsTitle","productSuggestionsHeading","productAutoSuggestionHeading","renderProductNotFoundResults","noResultContentHeadingText","noResultContentParagraphText","ProductSuggestionsComponent","productSuggest","ulProduct","productSuggestionHeading","_item$id","renderTitle","searchSuggestionHeading","searchTextString","concat","searchAutoSuggestionHeading","format","handleCancelSearchFocused","categorySuggestionHeading","setSearchTextString","useState","isMobilePort","setIsMobile","useEffect","propsFormInput","propsFormInputCurrent","action","isMobileViewport","useCallback","isMobileView","variant","VariantType","Browser","viewport","isNullOrEmpty","isSearchFormExpanded","SignInLoading","SignInButton","signIn","signInSection","signUpSection","signInSectionHeading","signInLocalAccount","signInSocialAccount","signUpSectionHeading","signInB2BAccount","signUpDescription","forgetPassword","disclaimer","signInButton","socialAccounts","SocialAccount","b2bSignUpButtonAriaLabel","b2bSignUpButtonText","B2BAccount"],"sourceRoot":""}