{"version":3,"file":"static/js/18.b5ae0febcd2100ab2453.chunk.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/themes/b2b/views/components/carticon.component.tsx?4710","webpack://Msdyn365.Commerce.Online/./src/themes/b2b/views/order-history.view.tsx?e915","webpack://Msdyn365.Commerce.Online/./src/themes/b2b/views/ratings-histogram.view.tsx?b6f7","webpack://Msdyn365.Commerce.Online/./src/modules/aad-generic/aad-generic.view.tsx?b418","webpack://Msdyn365.Commerce.Online/./src/modules/account-invoice-tile/account-invoice-tile.view.tsx?0a60","webpack://Msdyn365.Commerce.Online/./src/modules/organization-users-tile/organization-users-tile.view.tsx?bac2","webpack://Msdyn365.Commerce.Online/./src/modules/catalog-picker/catalog-picker.tsx?02aa","webpack://Msdyn365.Commerce.Online/./src/modules/catalog-picker/catalog-picker.view.tsx?1e13","webpack://Msdyn365.Commerce.Online/./src/modules/content-block/components/additional-content.tsx?d5f9","webpack://Msdyn365.Commerce.Online/./src/modules/content-block/components/links.tsx?abbf","webpack://Msdyn365.Commerce.Online/./src/modules/content-block/content-block.tsx?3084","webpack://Msdyn365.Commerce.Online/./src/modules/content-block/content-block.view.tsx?1773","webpack://Msdyn365.Commerce.Online/./src/modules/fabrikam/views/cart.view.tsx?ac8f","webpack://Msdyn365.Commerce.Online/./src/modules/fabrikam/views/order-history.view.tsx?a21d","webpack://Msdyn365.Commerce.Online/./src/modules/fabrikam/views/ratings-histogram.view.tsx?6e01","webpack://Msdyn365.Commerce.Online/./src/modules/footer-item/footer-item.tsx?074a","webpack://Msdyn365.Commerce.Online/./src/modules/footer-item/footer-item.view.tsx?c5af","webpack://Msdyn365.Commerce.Online/./src/modules/order-history-with-search-and-filters/components/order-history-with-search-and-filters-organization-wide-selector.component.tsx?b9a7","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/utilities/order-lookup-utility.tsx?c60b","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/components/order-lookup-additional-fields.tsx?9951","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/components/order-lookup-fields.tsx?297b","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/order-lookup.tsx?72d3","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/order-lookup.view.tsx?b8e5","webpack://Msdyn365.Commerce.Online/./src/modules/site-picker/site-picker.tsx?b9ec","webpack://Msdyn365.Commerce.Online/./src/modules/site-picker/site-picker.view.tsx?5319","webpack://Msdyn365.Commerce.Online/./src/modules/social-share/social-share.tsx?899b","webpack://Msdyn365.Commerce.Online/./src/modules/social-share/social-share.view.tsx?dcdf","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/checkout-customer-account-payment.view.tsx?0efc","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/reviews-list.view.tsx?39ca"],"sourcesContent":["/*--------------------------------------------------------------\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 { getUrlSync, IComponent, IComponentProps, msdyn365Commerce } from '@msdyn365-commerce/core';\r\nimport { ICartState } from '@msdyn365-commerce/global-state';\r\nimport {\r\n format,\r\n getPayloadObject,\r\n getTelemetryAttributes,\r\n ITelemetryContent,\r\n onTelemetryClick\r\n} from '@msdyn365-commerce-modules/utilities';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\n\r\nexport interface ICartIconData {\r\n cart?: ICartState;\r\n}\r\n\r\nexport interface ICartIconComponentProps extends IComponentProps {\r\n className?: string;\r\n cartLabel: string;\r\n cartQtyLabel: string;\r\n telemetryContent?: ITelemetryContent;\r\n}\r\n\r\nexport interface ICartIconComponent extends IComponent {}\r\n\r\nconst CartIconComponentActions = {};\r\n\r\n/**\r\n *\r\n * CartIcon component.\r\n * @extends {React.FC}\r\n */\r\nconst CartIcon: React.FC = observer((props: ICartIconComponentProps) => {\r\n const {\r\n cartLabel,\r\n cartQtyLabel,\r\n data: { cart }\r\n } = props;\r\n const cartLink = getUrlSync('cart', props.context.actionContext);\r\n\r\n // If there are invoice lines, don't update mini cart item quantity\r\n const cartItem = cart ? cart.totalItemsInCart : 0;\r\n const qtyLabel = format(cartQtyLabel, cartItem);\r\n const label = format(cartLabel, cartItem);\r\n\r\n // Construct telemetry attribute to render\r\n const payLoad = getPayloadObject('click', props.telemetryContent!, 'cart-icon', '');\r\n const attributes = getTelemetryAttributes(props.telemetryContent!, payLoad);\r\n const style: React.CSSProperties = {\r\n visibility: cart ? 'visible' : 'hidden'\r\n };\r\n return (\r\n \r\n
\r\n {_displayLabel(qtyLabel, cartItem)}\r\n
\r\n \r\n );\r\n});\r\n\r\nfunction _displayLabel(qtyLabel: string, cartItem: number) {\r\n return cartItem <= 0 ? qtyLabel.split(' ')[0]: qtyLabel;\r\n}\r\n\r\n// @ts-expect-error\r\nexport const CartIconComponent: React.FunctionComponent = msdyn365Commerce.createComponentOverride(\r\n 'CartIcon', { component: CartIcon, ...CartIconComponentActions }\r\n);\r\n\r\nexport default CartIconComponent;\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 IGroup,\r\n IGroupDelivery,\r\n IGroups,\r\n IHeader,\r\n IList,\r\n IOrderHistoryViewProps,\r\n IOrderInformation,\r\n ISalesOrder\r\n} from '@msdyn365-commerce-modules/order-management';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nexport const OrderHistoryOrderInfomation: React.FC = ({\r\n orderInformationProps,\r\n receiptId,\r\n channelName,\r\n createdDate,\r\n count,\r\n amount,\r\n channelReferenceId\r\n}) => (\r\n \r\n {channelName}\r\n {receiptId}\r\n {createdDate}\r\n {count}\r\n {amount}\r\n {channelReferenceId}\r\n \r\n);\r\n\r\nexport const OrderHistoryGroupDelivery: React.FC = ({\r\n deliveryProps,\r\n heading,\r\n count,\r\n processing,\r\n address,\r\n trackingInfo\r\n}) => (\r\n \r\n {heading}\r\n {count}\r\n {processing}\r\n {address}\r\n {trackingInfo}\r\n \r\n);\r\n\r\nexport const OrderHistoryGroup: React.FC = ({ groupProps, salesLinesProps, salesLines }) => (\r\n \r\n {salesLines && (\r\n \r\n {salesLines.map(salesLine => (\r\n {salesLine.salesLine}\r\n ))}\r\n \r\n )}\r\n \r\n);\r\n\r\nexport const OrderHistoryGroups: React.FC = ({ groupsProps, groups }) => (\r\n \r\n {groups.map((group, index) => (\r\n \r\n ))}\r\n \r\n);\r\n\r\nexport const OrderHistoryHeader: React.FC = ({ headerProps, heading, extraActions }) => (\r\n \r\n {heading}\r\n {extraActions}\r\n \r\n);\r\n\r\nexport const OrderHistorySalesOder: React.FC = ({ salesOrderProps, orderInfomation, orderDetailsLink }) => (\r\n \r\n {orderInfomation && }\r\n {orderDetailsLink}\r\n \r\n);\r\n\r\nexport const OrderHistoryList: React.FC = ({ listProps, salesOrders }) => (\r\n \r\n {salesOrders && salesOrders.map((salesOrder, index) => )}\r\n \r\n);\r\n\r\nconst OrderHistoryView: React.FC = ({\r\n orderHistoryProps,\r\n header,\r\n alert,\r\n loading,\r\n emptyMessage,\r\n backToShoppingLink,\r\n list,\r\n moreButton\r\n}) => (\r\n \r\n {header && }\r\n {loading}\r\n {alert && (\r\n <>\r\n {alert}\r\n {backToShoppingLink}\r\n \r\n )}\r\n {emptyMessage && (\r\n <>\r\n {emptyMessage}\r\n {backToShoppingLink}\r\n \r\n )}\r\n {list && }\r\n {moreButton && moreButton}\r\n \r\n);\r\n\r\nexport default OrderHistoryView;\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 { IHistogramItemViewProps, IRatingsHistogramViewProps } from '@msdyn365-commerce-modules/ratings-reviews';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nconst RatingsHistogramView: React.FC = props => {\r\n const { heading, histogramItems, histogramProps, moduleProps } = props;\r\n return (\r\n \r\n {heading}\r\n \r\n {histogramItems.map(item => {\r\n return histogramItem(item);\r\n })}\r\n \r\n \r\n );\r\n};\r\n\r\nconst histogramItem = (props: IHistogramItemViewProps) => {\r\n return (\r\n \r\n {props.starLabel}\r\n {props.bar}\r\n {props.percentage}\r\n \r\n );\r\n};\r\n\r\nexport default RatingsHistogramView;\r\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 { IAadGenericViewProps } from './aad-generic';\n\nexport default (props: IAadGenericViewProps) => {\n const { aadGeneric, aadConainer, aadAPIConainer, heading } = props;\n\n return (\n \n \n {heading}\n {aadAPIConainer}\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 { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccountInvoiceTileViewProps } from './account-invoice-tile';\n\nexport default (props: IAccountInvoiceTileViewProps) => {\n const { AccountInvoiceTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\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 { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IOrganizationUsersTileViewProps } from './organization-users-tile';\n\nconst OrganizationUsersTileView: React.FC = props => {\n const { OrganizationUsersTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n\nexport default OrganizationUsersTileView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport Msdyn365, {\n ContentEditableEvent,\n generateImageUrl,\n getCatalogId,\n getUrlSync,\n Image,\n RichTextComponent,\n Text\n} from '@msdyn365-commerce/core';\nimport { MediaLocation, ProductCatalog } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, IModuleProps } from '@msdyn365-commerce-modules/utilities';\nimport React, { ReactNode } from 'react';\n\nimport { ICatalogPickerData } from './catalog-picker.data';\nimport { ICatalogPickerProps } from './catalog-picker.props.autogenerated';\n\n/**\n * ICatalogPickerViewProps.\n */\nexport interface ICatalogPickerViewProps extends ICatalogPickerProps {\n catalogPicker: IModuleProps;\n heading: React.ReactNode;\n paragraph: React.ReactNode;\n catalogs: ReactNode;\n}\n\n/**\n * CatalogPicker component.\n * @extends {React.PureComponent>}\n */\nexport class CatalogPicker extends React.PureComponent> {\n private static readonly _moduleClassName = 'ms-catalog-picker';\n\n public constructor(props: ICatalogPickerViewProps) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { heading, paragraph } = this.props.config;\n\n const catalogPickerHeading = heading && (\n \n );\n\n const isCatalogsAvailable: boolean = ArrayExtensions.hasElements(this.props.data.catalogs?.result);\n const catalogPickerParagraph = paragraph && (\n \n );\n const viewProps = {\n ...this.props,\n handleText: this.handleTextChange,\n catalogPicker: {\n moduleProps: this.props,\n className: CatalogPicker._moduleClassName\n },\n heading: catalogPickerHeading,\n paragraph: catalogPickerParagraph,\n catalogs: isCatalogsAvailable ? this._renderCatalogPicker() : ''\n };\n\n return this.props.renderView(viewProps);\n }\n\n /**\n * Handle text change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleTextChange = (event: ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n /**\n * Handle paragraph change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleParagraphChange = (event: ContentEditableEvent): void => {\n this.props.config.paragraph = event.target.value;\n };\n\n private _renderCatalogPickerButton(item: ProductCatalog): React.ReactNode {\n const catalogId = item.RecordId;\n const currentCatalogId = getCatalogId(this.props.context.request);\n if (currentCatalogId === catalogId) {\n return
{this.props.resources.currentCatalogText}
;\n }\n let linkToCatalog = '';\n if (Msdyn365.isBrowser) {\n const catalogUrl = getUrlSync('home', this.props.context.actionContext) ?? '';\n const fullUrl = new URL(catalogUrl, window.location.href);\n fullUrl.searchParams.set('catalogid', `${catalogId}`);\n linkToCatalog = fullUrl.href;\n }\n return (\n \n {this.props.resources.changeCatalogButtonText}\n \n );\n }\n\n private _renderCatalogPicker(): React.ReactNode {\n const catalogs = this.props.data.catalogs?.result;\n\n const isBrowser = Msdyn365.isBrowser;\n\n return (\n
\n {catalogs?.map(item => {\n const reactKey = `${JSON.stringify(item)}-${String(isBrowser)}`;\n const image: MediaLocation | undefined = ArrayExtensions.firstOrDefault(item.Images);\n return (\n \n

{item.Name}

\n
\n \n
\n {this._renderCatalogPickerButton(item)}\n
\n
\n
\n );\n })}\n \n );\n }\n}\n\nexport default CatalogPicker;\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 { ICatalogPickerViewProps } from './catalog-picker';\n\n/**\n * ICatalogPickerViewProps.\n * @param props - ICatalogPickerViewProps.\n * @returns - Render Catalog Picker.\n */\nexport const CatalogPickerViewFunctionComponent: React.FC = props => {\n const { catalogPicker } = props;\n return (\n \n {props.heading}\n {props.paragraph}\n {props.catalogs}\n \n );\n};\n\nexport default CatalogPickerViewFunctionComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAdditionalContentData, ILinksData } from '../content-block.props.autogenerated';\n\n/**\n * IContentBlockAdditionalContentProps: Interface for\n * Content Block Additional Content Component props.\n */\nexport interface IContentBlockAdditionalContentProps {\n requestContext: Msdyn365.IRequestContext;\n additionalContent: IAdditionalContentData[] | undefined;\n handleAdditionalTextChange(index: number, event: Msdyn365.ContentEditableEvent): void;\n handleAdditionalParagraphChange(index: number, event: Msdyn365.ContentEditableEvent): void;\n handleAdditionalLinkTextChange(linkIndex: number, index: number, event: Msdyn365.ContentEditableEvent): void;\n}\n\n/**\n * IContentBlockAdditionalContentProps: Interface for\n * Content Block Additional Content view props.\n */\nexport interface IContentBlockAdditionalContentViewProps {\n additionalContentNode: INodeProps;\n additionalContentItems?: IContentBlockAdditionalContentItemViewProps[];\n}\n\n/**\n * IContentBlockAdditionalContentProps: Interface for\n * Content Block Additional Content Item view props.\n */\nexport interface IContentBlockAdditionalContentItemViewProps {\n heading: React.ReactNode;\n text: React.ReactNode;\n links: React.ReactNode;\n additionalContentItemContainer: INodeProps;\n additionalContentItemLinks: INodeProps;\n}\n\n/**\n * Renders additional content heading.\n * @param additionalContentHeading - Additional content heading.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @returns Heading Node.\n */\nconst renderHeading = (additionalContentHeading: string, props: IContentBlockAdditionalContentProps, itemIndex: number) => {\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalTextChange(itemIndex, event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Renders additional content heading.\n * @param additionalContentParagraphText - Additional content paragraph text.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @returns Paragraph Node.\n */\nconst renderParagraph = (additionalContentParagraphText: string, props: IContentBlockAdditionalContentProps, itemIndex: number) => {\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalTextChange(itemIndex, event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Renders additional content heading.\n * @param ctaLink - Additional content link.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @param linkIndex - Additional content link index.\n * @returns Link Node.\n */\nconst renderLinks = (ctaLink: ILinksData, props: IContentBlockAdditionalContentProps, itemIndex: number, linkIndex: number) => {\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: ctaLink.ariaLabel,\n className: 'ms-content-block__details__additional-content-cta-links',\n linkText: ctaLink.linkText,\n linkUrl: ctaLink.linkUrl.destinationUrl,\n openInNewTab: ctaLink.openInNewTab,\n role: 'link'\n };\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalLinkTextChange(linkIndex, itemIndex, event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Create node for each additonal content item.\n * @param item - Content block additonal content item props.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @returns IContentBlockAdditionalContentItemViewProps.\n */\nconst assembleNode = (\n item: IAdditionalContentData,\n props: IContentBlockAdditionalContentProps,\n itemIndex: number\n): IContentBlockAdditionalContentItemViewProps => {\n const headingNode = item.heading && renderHeading(item.heading, props, itemIndex);\n const paragraphNode = item.subtext && renderParagraph(item.subtext, props, itemIndex);\n const linksNode = item.links?.map((ctaLink: ILinksData, index: number) => {\n return renderLinks(ctaLink, props, itemIndex, index);\n });\n\n return {\n heading: headingNode,\n text: paragraphNode,\n links: linksNode,\n additionalContentItemContainer: { className: 'ms-content-block__details__additional-content__container' },\n additionalContentItemLinks: { className: 'ms-content-block__details__additional-content-cta' }\n };\n};\n\n/**\n * ContentBlockAdditionalContent component.\n * @param props - Content Block Additional content component props.\n * @returns Content Block Additional content view props.\n */\nexport const contentBlockAdditionalContent = (\n props: IContentBlockAdditionalContentProps\n): IContentBlockAdditionalContentViewProps | undefined => {\n const { additionalContent } = props;\n if (!additionalContent) {\n return undefined;\n }\n\n const reactNodes: IContentBlockAdditionalContentItemViewProps[] = [];\n additionalContent.map((item, index: number) => {\n return reactNodes.push(assembleNode(item, props, index));\n });\n\n return {\n additionalContentNode: { className: 'ms-content-block__details__additional-content' },\n additionalContentItems: reactNodes\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 Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../content-block.props.autogenerated';\n\nexport interface IContentCardLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n telemetryContent: ITelemetryContent;\n role?: string;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\n/**\n *\n * ContentCardLinks component.\n * @extends {React.PureComponent}\n */\nexport class ContentCardLinks extends React.PureComponent {\n public render(): JSX.Element {\n const editableLinks = this._mapEditableLinks(this.props.links);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n }\n\n private readonly _mapEditableLinks = (linkdata: ILinksData[]): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n linkdata.forEach((link, index) => {\n // Construct telemetry attribute to render\n const payLoad = getPayloadObject('click', this.props.telemetryContent, '', '');\n const linkText = link.linkText ? link.linkText : '';\n payLoad.contentAction.etext = linkText;\n const attributes = getTelemetryAttributes(this.props.telemetryContent, payLoad);\n const btnClass = index === 0 ? 'msc-cta__primary' : 'msc-cta__secondary';\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: btnClass,\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: this.props.role,\n additionalProperties: attributes,\n onClick: onTelemetryClick(this.props.telemetryContent, payLoad, linkText)\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n };\n}\nexport default ContentCardLinks;\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 { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { contentBlockAdditionalContent, IContentBlockAdditionalContentViewProps } from './components/additional-content';\nimport LinksComponent from './components/links';\nimport { actionableRegion as region, IContentBlockConfig, IContentBlockProps } from './content-block.props.autogenerated';\n\nexport interface IContentBlockViewProps extends IContentBlockProps<{}> {\n title?: React.ReactNode;\n text?: React.ReactNode;\n image?: React.ReactNode;\n links?: React.ReactNode;\n className?: string;\n contentBlockContainer: IModuleProps;\n imageContainer: INodeProps;\n detailsContainer: INodeProps;\n contentBlockAnchorTag?: INodeProps;\n imageLink?: string;\n imageAriaLabel?: string;\n additionalContent?: IContentBlockAdditionalContentViewProps;\n handleAdditionalText?(): void;\n handleAdditionalParagraph?(): void;\n handleAdditionalLinkTextChange?(): void;\n}\n\n/**\n * Site-builder configuration for the module.\n */\nexport interface IContentBlockFullConfig extends IContentBlockConfig {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- This field comes from SDK.\n msdyn365__moduleLayout?: string;\n}\n\n/**\n * ContentCard component.\n * @extends {React.PureComponent}\n */\nexport class ContentBlock 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\n public render(): JSX.Element | null {\n const { heading, paragraph, image, links, className, imageAriaLabel } = this.props.config;\n const contentBlockTitle = heading && (\n \n );\n\n const contentBlockLinks = links && ArrayExtensions.hasElements(links) && (\n \n );\n const contentBlockText = paragraph && (\n \n );\n\n let contentBlockImageSettings: Msdyn365.IImageSettings | undefined;\n\n if (image && image.imageSettings && !image.imageSettings.backgroundColor && this.props.config.backgroundColor) {\n contentBlockImageSettings = {\n ...image?.imageSettings,\n backgroundColor: this.props.config.backgroundColor\n };\n } else {\n contentBlockImageSettings = image?.imageSettings;\n }\n\n const imageProps = {\n gridSettings: this.props.context.request.gridSettings ?? {},\n imageSettings: contentBlockImageSettings\n };\n\n const contentBlockImage = (\n \n );\n\n const contentBlockContainerStyle: React.CSSProperties | undefined = this.props.config.backgroundColor\n ? { backgroundColor: this.props.config.backgroundColor }\n : undefined;\n\n if (!contentBlockTitle && !contentBlockText && !contentBlockLinks) {\n this.props.context.telemetry.error('Content block content is empty, module wont render.');\n return null;\n }\n const contentBlockviewProps = {\n ...this.props,\n title: contentBlockTitle,\n text: contentBlockText,\n image: contentBlockImage,\n links: contentBlockLinks,\n moduleClass: this.props.config.className,\n contentBlockContainer: {\n moduleProps: this.props,\n className: classnames('ms-content-block', className),\n style: contentBlockContainerStyle\n },\n imageContainer: { className: 'ms-content-block__image' },\n detailsContainer: { className: 'ms-content-block__details' },\n contentBlockAnchorTag: {\n tag: 'a',\n className: 'ms-content-block__link',\n role: 'link'\n },\n imageLink: this._getImageLink(),\n imageAriaLabel,\n additionalContent: contentBlockAdditionalContent({\n requestContext: this.props.context.request,\n additionalContent: this.props.config.additionalContent,\n handleAdditionalTextChange: this.handleAdditionalTextChange,\n handleAdditionalParagraphChange: this.handleAdditionalParagraphChange,\n handleAdditionalLinkTextChange: this.handleAdditionalLinkTextChange\n }),\n handleAdditionalText: this.handleAdditionalTextChange,\n handleAdditionalParagraph: this.handleAdditionalParagraphChange,\n handleAdditionalLinkTextChange: this.handleAdditionalLinkTextChange\n };\n\n return this.props.renderView(contentBlockviewProps) as React.ReactElement;\n }\n\n /**\n * To handle text change.\n * @param event - To handle text change event.\n * @name - HandleTextChange\n * @public\n * @returns - The Text value.\n */\n public handleTextChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n /**\n * To handle paragraph change.\n * @param event - To handle text change event.\n * @name - HandleParagraphChange\n * @public\n * @returns - The Paragraph value.\n */\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.paragraph = event.target.value);\n\n /**\n * Handle link text change.\n * @param linkIndex - The link index.\n * @returns - Void.\n */\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[Number(linkIndex)]) {\n this.props.config.links[Number(linkIndex)].linkText = event.target.value;\n }\n };\n\n public handleAdditionalTextChange(index: number, event: Msdyn365.ContentEditableEvent): void {\n if (this.props.config.additionalContent) {\n this.props.config.additionalContent[Number(index)].heading = event.target.value;\n }\n }\n\n public handleAdditionalLinkTextChange(linkIndex: number, index: number, event: Msdyn365.ContentEditableEvent): void {\n const additionalContentObject =\n (this.props.config.additionalContent &&\n ArrayExtensions.hasElements(this.props.config.additionalContent) &&\n this.props.config.additionalContent[Number(index)]) ||\n {};\n if (additionalContentObject.links) {\n additionalContentObject.links[Number(linkIndex)].linkText = event.target.value;\n }\n }\n\n public handleAdditionalParagraphChange(index: number, event: Msdyn365.ContentEditableEvent): void {\n if (this.props.config.additionalContent) {\n this.props.config.additionalContent[Number(index)].subtext = event.target.value;\n }\n }\n\n private _getImageLink(): string | null {\n const { imageLink, links, actionableRegion } = this.props.config;\n if (actionableRegion === region.imageAndLinks) {\n if (imageLink?.destinationUrl) {\n return imageLink.destinationUrl;\n } else if (links && ArrayExtensions.hasElements(links) && links[0].linkUrl) {\n return links[0].linkUrl.destinationUrl;\n }\n return null;\n }\n return null;\n }\n}\n\nexport default ContentBlock;\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 { IContentBlockAdditionalContentItemViewProps, IContentBlockAdditionalContentViewProps } from './components/additional-content';\nimport { IContentBlockViewProps } from './content-block';\n\n/**\n * Render Additional Content.\n * @param additionalContent - Additional content view props.\n * @returns JSX Element.\n */\nconst renderAdditionalContent = (additionalContent: IContentBlockAdditionalContentViewProps) => {\n return (\n \n {additionalContent.additionalContentItems?.map((item: IContentBlockAdditionalContentItemViewProps) => {\n return (\n <>\n {item.heading}\n \n {item.text}\n {item.links}\n \n \n );\n })}\n \n );\n};\n\nconst ContentBlockView: React.FC = props => {\n const {\n contentBlockContainer,\n imageContainer,\n detailsContainer,\n title,\n text,\n links,\n image,\n contentBlockAnchorTag,\n imageLink,\n imageAriaLabel,\n additionalContent\n } = props;\n\n if (imageLink) {\n return (\n \n \n {image}\n \n \n {title}\n {text}\n {links}\n {additionalContent && renderAdditionalContent(additionalContent)}\n \n \n );\n }\n return (\n \n {image}\n \n {title}\n {text}\n {links}\n {additionalContent && renderAdditionalContent(additionalContent)}\n \n \n );\n};\n\nexport default ContentBlockView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport MsDyn365 from '@msdyn365-commerce/core';\nimport { ICartlinesViewProps, ICartResources, ICartViewProps, IOrderSummaryErrors } from '@msdyn365-commerce-modules/cart';\nimport { ICartLineItemViewProps } from '@msdyn365-commerce-modules/cart/dist/types/modules/cart/components/cart-line-items-promotion';\nimport { IInvoiceSummaryLines } from '@msdyn365-commerce-modules/invoice-payment-summary';\nimport { IOrderSummaryLines } from '@msdyn365-commerce-modules/order-summary-utilities';\nimport { ArrayExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n Button,\n getPayloadObject,\n getTelemetryAttributes,\n INodeProps,\n ITelemetryContent,\n Node,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nconst CartView: React.FC = (props: ICartViewProps) => (\n
\n {props.title}\n {props.promotionOptions && _renderPromotions(props.promotionOptions)}\n {props.cart?.hasInvoiceLine || props.multiplePickUpEnabled ? (\n _renderCartLinesGroup(props, props.resources)\n ) : (\n \n {_renderCartlines(\n props.cartlines,\n props.resources,\n props.storeSelector,\n props.backToShoppingButton,\n props.waitingComponent,\n props.cartLoadingStatus,\n props.cartDataResult,\n props.telemetryContent,\n props.multiplePickUpEnabled,\n props.context.actionContext.requestContext.channel?.EmailDeliveryModeCode\n )}\n \n )}\n {props.orderSummaryHeading && (\n \n {props.orderSummaryHeading}\n {props.cart?.hasInvoiceLine\n ? _renderInvoiceSummarylines(props.invoiceSummaryLineitems, props.OrderSummaryItems, props)\n : _renderOrderSummarylines(props.orderSummaryLineitems, props.OrderSummaryItems, props)}\n {_renderErrorBlock(props.OrderSummaryErrors)}\n {props.checkoutAsSignInUserButton}\n {props.checkoutAsGuestButton}\n {props.expressCheckoutButton && ArrayExtensions.hasElements(props.expressCheckoutButton) ? (\n {props.expressCheckoutButton}\n ) : null}\n {props.backToShoppingButton}\n {props.createTemplateFromCartButton}\n \n )}\n {props.storeSelector}\n
\n);\n\nconst _renderPromotions = (promotions: ICartLineItemViewProps): JSX.Element | undefined => {\n return (\n <>\n \n {promotions.promotionMessage}\n {promotions.promotionSeeAllLink}\n {promotions.promotionDialog}\n \n \n );\n};\n\nconst _renderCartlines = (\n cartLines: ICartlinesViewProps[] | undefined,\n resources: ICartResources,\n storeSelector: React.ReactNode | undefined,\n backToShoppingButton: React.ReactNode,\n waitingComponent: React.ReactNode,\n cartLoadingStatus: string,\n cartDataResult: boolean,\n telemetryContent?: ITelemetryContent,\n mulitplePickUp?: boolean,\n emailDeliveryModeCode?: string\n): JSX.Element[] | JSX.Element => {\n const { emptyCartText } = resources;\n\n if (cartLoadingStatus) {\n return <>{cartLoadingStatus};\n }\n if (cartLines) {\n return cartLines.map((cartLine, index) => {\n return (\n
\n {cartLine.cartline}\n {mulitplePickUp ? null : _renderBOPISBlock(cartLine, resources, storeSelector, telemetryContent, emailDeliveryModeCode)}\n {mulitplePickUp ? (\n \n {_renderGroupBOPISBlock(cartLine, resources, storeSelector, telemetryContent, emailDeliveryModeCode)}\n {cartLine.addToOrderTemplate}\n {cartLine.addToWishlist}\n {cartLine.remove}\n \n ) : cartLine.addToOrderTemplate ? (\n \n {cartLine.addToOrderTemplate}\n {cartLine.addToWishlist}\n {cartLine.remove}\n \n ) : (\n <>\n {cartLine.addToWishlist}\n {cartLine.remove}\n \n )}\n
\n );\n });\n }\n return cartDataResult ? (\n
\n

{emptyCartText}

\n {backToShoppingButton}\n
\n ) : (\n <>{waitingComponent}\n );\n};\n\n/**\n * On Toggle function.\n * @param cartLine -Cartline.\n * @param isBopisSelected -Boolean.\n * @returns Set state of button.\n */\nconst onToggleBopisHandler = (cartLine: ICartlinesViewProps, isBopisSelected: boolean) => () => {\n cartLine.pickUpInStore && cartLine.pickUpInStore.callbacks.toggleBopis(!isBopisSelected);\n};\n\n/**\n * On change store function.\n * @param cartLine -CartLine items prop.\n * @returns Set state of button.\n */\nconst onChangeStoreHandler = (cartLine: ICartlinesViewProps) => () => {\n cartLine.pickUpInStore && cartLine.pickUpInStore.callbacks.toggleBopis(true);\n};\n\nconst _renderBOPISBlock = (\n cartLine: ICartlinesViewProps,\n resources: ICartResources,\n storeSelector: React.ReactNode | undefined,\n telemetryContent?: ITelemetryContent,\n emailDeliveryModeCode?: string\n): JSX.Element | null => {\n // If it is electronic item cart line, then return null for BOPISBlock.\n if (!cartLine.pickUpInStore || !storeSelector || cartLine.data?.cartline.DeliveryMode === emailDeliveryModeCode) {\n return null;\n }\n\n const {\n shipInsteadDisplayText,\n shipToAddressDisplayText,\n pickItUpDisplayText,\n pickUpAtStoreWithLocationText,\n changeStoreDisplayText\n } = resources;\n\n const isBopisSelected = cartLine.pickUpInStore.isBopisSelected;\n\n const payLoad = getPayloadObject('click', telemetryContent!, TelemetryConstant.PickupInStore);\n const puckUpinStoreAttribute = getTelemetryAttributes(telemetryContent!, payLoad);\n\n return (\n \n
\n {isBopisSelected ? (\n {pickUpAtStoreWithLocationText}\n ) : (\n {shipToAddressDisplayText}\n )}\n
\n {isBopisSelected && (\n
\n {cartLine.pickUpInStore.orgUnitName}\n \n
\n )}\n \n {isBopisSelected ? shipInsteadDisplayText : pickItUpDisplayText}\n \n
\n );\n};\n\nconst _renderErrorBlock = (errorData: IOrderSummaryErrors | undefined): JSX.Element | null => {\n if (!errorData || errorData.errors.length === 0) {\n return null;\n }\n return (\n \n {errorData.header}\n {errorData.errors}\n \n );\n};\n\nconst _renderOrderSummarylines = (\n orderSummaryLines: IOrderSummaryLines | undefined,\n OrderSummaryItems: INodeProps,\n props: ICartViewProps\n): JSX.Element | null => {\n if (!orderSummaryLines) {\n return null;\n }\n return (\n \n {props.promoCode}\n {orderSummaryLines.subtotal}\n {orderSummaryLines.shipping}\n {orderSummaryLines.otherCharge}\n {orderSummaryLines.tax}\n {orderSummaryLines.totalDiscounts ? orderSummaryLines.totalDiscounts : null}\n {orderSummaryLines.orderTotal}\n \n );\n};\n\nconst _renderInvoiceSummarylines = (\n invoiceSummaryLines: IInvoiceSummaryLines | undefined,\n OrderSummaryItems: INodeProps,\n props: ICartViewProps\n): JSX.Element | null => {\n if (!invoiceSummaryLines) {\n props.context.telemetry.error('InvoiceSummary content is empty, module wont render');\n return null;\n }\n return (\n \n {invoiceSummaryLines.invoices}\n {invoiceSummaryLines.giftCard}\n {invoiceSummaryLines.loyalty}\n {invoiceSummaryLines.orderTotal}\n \n );\n};\n\nconst _renderCartLinesGroup = (props: ICartViewProps, resources: ICartResources): JSX.Element | undefined => {\n if (props.cartLinesGroup && props.cartLinesGroup.length > 0) {\n return (\n
\n {props.cartLinesGroup.map(cartlines => {\n return (\n
\n {_renderCartLinesGroupHeader(\n cartlines[0],\n props.storeSelector,\n resources,\n _countItems(cartlines),\n props.context.actionContext.requestContext.channel?.EmailDeliveryModeCode\n )}\n {_renderCartlines(\n cartlines,\n props.resources,\n props.storeSelector,\n props.backToShoppingButton,\n props.waitingComponent,\n props.cartLoadingStatus,\n props.cartDataResult,\n props.telemetryContent,\n props.multiplePickUpEnabled,\n props.context.actionContext.requestContext.channel?.EmailDeliveryModeCode\n )}\n
\n );\n })}\n
\n );\n }\n return props.cartDataResult ? (\n
\n
\n

{props.resources.emptyCartText}

\n {props.backToShoppingButton}\n
\n
\n ) : (\n <>{props.waitingComponent}\n );\n};\nconst _renderCartLinesGroupHeader = (\n cartLine: ICartlinesViewProps,\n storeSelector: React.ReactNode | undefined,\n resources: ICartResources,\n count: number,\n emailDeliveryModeCode?: string\n) => {\n const isBopisSelected = cartLine.pickUpInStore?.isBopisSelected;\n const { pickUpText, shippingText, emailshippingText, payInvoicesDisplayText } = resources;\n let groupTitle: string;\n\n groupTitle = isBopisSelected ? pickUpText : shippingText;\n if (cartLine.data && cartLine.data.cartline.IsInvoiceLine) {\n groupTitle = payInvoicesDisplayText;\n } else if (!StringExtensions.isNullOrEmpty(emailDeliveryModeCode)) {\n groupTitle = cartLine.data && cartLine.data.cartline.DeliveryMode === emailDeliveryModeCode ? emailshippingText : groupTitle;\n }\n\n return (\n <>\n
\n

\n

{groupTitle}

\n {_renderCartLinesGroupTitle(cartLine, resources, count)}\n
\n \n );\n};\n\nconst _renderGroupBOPISBlock = (\n cartLine: ICartlinesViewProps,\n resources: ICartResources,\n storeSelector: React.ReactNode | undefined,\n telemetryContent?: ITelemetryContent,\n emailDeliveryModeCode?: string\n): JSX.Element | null => {\n // If it is electronic item cart line, then return null for GroupBOPISBlock.\n if (!cartLine.pickUpInStore || !storeSelector || cartLine.data?.cartline.DeliveryMode === emailDeliveryModeCode) {\n return null;\n }\n\n const { changeStoreDisplayText, shipInsteadDisplayText, pickItUpDisplayText } = resources;\n\n const isBopisSelected = cartLine.pickUpInStore.isBopisSelected;\n\n const payLoad = getPayloadObject('click', telemetryContent!, TelemetryConstant.PickupInStore);\n const puckUpinStoreAttribute = getTelemetryAttributes(telemetryContent!, payLoad);\n\n return (\n <>\n {isBopisSelected ? (\n \n ) : null}\n \n {isBopisSelected ? shipInsteadDisplayText : pickItUpDisplayText}\n \n \n );\n};\n\nconst _countItems = (cartLine: ICartlinesViewProps[]): number => {\n let countItem = 0;\n countItem = cartLine.reduce((count, item) => {\n return count + (item.data?.cartline.Quantity || 0);\n }, 0);\n return countItem;\n};\n\nconst _renderCartLinesGroupTitle = (cartLine: ICartlinesViewProps, resources: ICartResources, count: number) => {\n const isBopisSelected = cartLine.pickUpInStore?.isBopisSelected;\n const { itemLabel, itemsLabel } = resources;\n const suffix = count > 1 ? itemsLabel : itemLabel;\n return (\n <>\n \n {isBopisSelected ? (\n

\n {cartLine.pickUpInStore?.deliveryOption}\n {', '}\n {cartLine.pickUpInStore?.orgUnitName}\n

\n ) : null}\n

\n ({count}\n {` `}\n {suffix})\n

\n
\n \n );\n};\n\nexport default CartView;\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 {orderInfomation && }\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 { 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 * as Msdyn365 from '@msdyn365-commerce/core';\nimport {\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n IModuleProps,\n INodeProps,\n IPayLoad,\n ITelemetryContent,\n onTelemetryClick\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IFooterItemConfig, IFooterItemProps, IHeadingData, ILinkData } from './footer-item.props.autogenerated';\n\nexport interface IFooterViewProps extends IFooterItemProps {\n heading: React.ReactNode;\n image: React.ReactNode;\n text: React.ReactNode;\n linkText: React.ReactNode;\n className?: string;\n FooterItem: IModuleProps;\n HeadingContainer: INodeProps;\n ItemContainer: INodeProps;\n Link: INodeProps;\n EditableLink: React.ReactNode;\n}\n\n/**\n *\n * FooterItem component.\n * @extends {React.PureComponent>}\n */\nexport class FooterItem extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent;\n\n private readonly payLoad: IPayLoad;\n\n private attributes: Msdyn365.IDictionary | undefined;\n\n constructor(props: IFooterItemProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n // Construct telemetry attribute to render\n this.payLoad = getPayloadObject('click', this.telemetryContent, '', '');\n }\n\n public render(): JSX.Element {\n const { heading, image, link, text } = this.props.config;\n const footerItemClassName = classnames('ms-footer__item', this.props.config.className);\n const linkText = link && link.linkText ? link.linkText : '';\n this.payLoad.contentAction.etext = linkText;\n this.attributes = getTelemetryAttributes(this.telemetryContent, this.payLoad);\n const viewProps: IFooterViewProps = {\n ...this.props,\n heading: this._createHeading(heading!),\n image: this._createImageMarkup(image!),\n text: this._createText(text!),\n linkText: this._createLinkText(link!),\n EditableLink: this._createLink(link!),\n\n FooterItem: {\n moduleProps: this.props,\n className: footerItemClassName\n },\n\n HeadingContainer: {\n className: 'ms-footer__heading'\n },\n\n ItemContainer: {\n className: 'ms-footer__link__container'\n },\n\n // @ts-expect-error\n Link: link &&\n link.linkUrl &&\n link.linkUrl.destinationUrl && {\n tag: 'a',\n role: 'link',\n className: 'ms-footer__link',\n href: link.linkUrl.destinationUrl,\n title: linkText,\n 'aria-label': link.ariaLabel,\n target: link.openInNewTab ? '_blank' : undefined,\n onClick: onTelemetryClick(this.telemetryContent, this.payLoad, linkText),\n ...this.attributes\n },\n className: footerItemClassName\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 handleTextChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.text = event.target.value);\n\n public handleLinkTextChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.link!.linkText = event.target.value);\n\n private _createLink(link: ILinkData): React.ReactNode | null {\n if (link) {\n const linkText = link.linkText ? link.linkText : '';\n\n // TODO: Update the inner tag in the anchor link to span\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-footer__link',\n linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: this.attributes!,\n onClick: onTelemetryClick(this.telemetryContent, this.payLoad, linkText)\n };\n return (\n \n );\n }\n return null;\n }\n\n private _createLinkText(link: ILinkData): React.ReactNode | null {\n if (!link || !link.linkText) {\n return null;\n }\n\n return {link.linkText};\n }\n\n private _createHeading(heading: IHeadingData): React.ReactNode | null {\n if (!heading || !heading.text || heading.text.length === 0) {\n return null;\n }\n\n return (\n \n );\n }\n\n private _createText(text: string): React.ReactNode | null {\n if (!text) {\n return null;\n }\n return (\n \n );\n }\n\n private _createImageMarkup(item: Msdyn365.IImageData, ariaHiddenAttr?: boolean): React.ReactNode | null {\n if (!item || !item.src || item.src.length === 0) {\n return null;\n }\n\n const defaultImageSettings: Msdyn365.IImageSettings = {\n viewports: {\n xs: { q: 'w=24&h=24&m=6', w: 0, h: 0 },\n lg: { q: 'w=24&h=24&m=6', w: 0, h: 0 }\n },\n lazyload: true\n };\n return (\n \n );\n }\n}\n\nexport default FooterItem;\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 { IFooterViewProps } from './footer-item';\n\n/**\n *\n * FooterItemView component.\n * @extends {React.PureComponent}\n */\nexport class FooterItemView extends React.PureComponent {\n public render(): JSX.Element | null {\n const { FooterItem } = this.props;\n return {this._renderElement(this.props)};\n }\n\n private _renderElement(props: IFooterViewProps): React.ReactNode | null {\n const { heading, HeadingContainer, Link, linkText, image, text, EditableLink } = props;\n if (heading) {\n return {heading} ;\n } else if (Link && image) {\n return (\n \n {linkText}\n {image}\n \n );\n } else if (Link) {\n return EditableLink;\n }\n return (\n <>\n {text}\n {image}\n \n );\n }\n}\n\nexport default FooterItemView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IComponentProps, msdyn365Commerce } from '@msdyn365-commerce/core';\nimport { Customer } from '@msdyn365-commerce/retail-proxy';\nimport { Button, ITelemetryContent, getPayloadObject, getTelemetryAttributes } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport classnames from 'classnames';\n\n/**\n * Class names used in component.\n */\nconst componentClassName = 'ms-order-history-with-search-and-filters-organization-wide-selector';\nconst buttonClassName = `${componentClassName}__button`;\nconst buttonActiveClassName = `${componentClassName}__active-button`;\nconst buttonInactiveClassName = `${componentClassName}__inactive-button`;\n\n/**\n * IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorResources interface.\n */\nexport interface IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorResources {\n currentUserOptionLabel: string;\n currentUserOptionAriaLabel?: string;\n organizationWideOptionLabel: string;\n organizationWideOptionAriaLabel?: string;\n}\n\n/**\n * OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState interface.\n */\nexport enum OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState {\n CurrentUser,\n OrganizationWide\n}\n\n/**\n * IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorData interface.\n */\nexport interface IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorData {\n customer: Customer;\n}\n\n/**\n * IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorProps interface.\n */\nexport interface IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorProps\n extends IComponentProps {\n className?: string;\n resources: IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorResources;\n currentSelectorState: OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState;\n telemetryContent?: ITelemetryContent;\n onChange(state: OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState): void;\n}\n\n/**\n * OrderHistoryWithSearchAndFiltersOrganizationWideSelector component.\n * @param props - Configuration of the component.\n * @returns React node.\n */\nconst OrderHistoryWithSearchAndFiltersOrganizationWideSelectorFunctionalComponent: React.FC = (\n props: IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorProps\n) => {\n // Current version doesn't include functionality for non b2b users or non-admin b2b users.\n if (!props.data.customer.IsB2bAdmin) {\n return
;\n }\n\n const [selectorState, setSelectorState] = React.useState(props.currentSelectorState);\n\n const onClickHandler = (newSelectorState: OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState) => {\n setSelectorState(newSelectorState);\n props.onChange(newSelectorState);\n };\n\n // define telemetry attributes\n const currentUserOrderHistoryAttributes = getTelemetryAttributes(\n props.telemetryContent!,\n getPayloadObject('click', props.telemetryContent!, props.resources?.currentUserOptionLabel ?? 'Current user order history')\n );\n const orgWideOrderHistoryAttributes = getTelemetryAttributes(\n props.telemetryContent!,\n getPayloadObject('click', props.telemetryContent!, props.resources?.currentUserOptionLabel ?? 'Org wide order history')\n );\n\n return (\n
\n onClickHandler(OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState.CurrentUser)}\n {...currentUserOrderHistoryAttributes}\n >\n {props.resources?.currentUserOptionLabel}\n \n onClickHandler(OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState.OrganizationWide)}\n {...orgWideOrderHistoryAttributes}\n >\n {props.resources?.organizationWideOptionLabel}\n \n
\n );\n};\n\n/**\n * OrderHistoryWithSearchAndFiltersOrganizationWideSelector component.\n */\nexport const OrderHistoryWithSearchAndFiltersOrganizationWideSelectorComponent: React.FunctionComponent = msdyn365Commerce.createComponent<\n // @ts-expect-error\n IOrderHistoryWithSearchAndFiltersOrganizationWideSelectorProps\n>('OrderHistoryWithSearchAndFiltersOrganizationWideSelectorComponent', {\n component: OrderHistoryWithSearchAndFiltersOrganizationWideSelectorFunctionalComponent\n});\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ExtensibleEnumeration } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, EmailRegex } from '@msdyn365-commerce-modules/retail-actions';\nimport * as React from 'react';\n\nimport { IOrderLookupResources, IOrderLookupSearchAdditionalFieldsData } from '../order-lookup.props.autogenerated';\n\n/**\n * Render label.\n * @param className - Classname for label.\n * @param value - Text for label.\n * @returns -The JSX Element.\n */\nexport const labelGroup = (className: string, value: string): JSX.Element => {\n return
{value}
;\n};\n\n/**\n * Error label.\n * @param responseErrorMessage - Error message for label.\n * @param errorMessageClassName - Error message for class name.\n * @returns - Error ReactNode.\n */\nexport const renderErrorLabel = (responseErrorMessage: string, errorMessageClassName: string): React.ReactNode => {\n return responseErrorMessage &&
{responseErrorMessage}
;\n};\n\n/**\n * Registered user message.\n * @param resources - Resource values.\n * @param signInUrl - Signin url.\n * @param signInLinkClassName - Signin link classname.\n * @param registeredUserClassName - Registered user message classname.\n * @returns - ReactNode.\n */\nexport const renderRegisteredUserMessage = (\n resources: IOrderLookupResources,\n signInUrl: string,\n signInLinkClassName: string,\n registeredUserClassName: string\n): React.ReactNode => {\n const { orderLookupRegisteredUserText, orderLookupViewAccountText, orderLookupSignInLinkText } = resources;\n const message: string = orderLookupRegisteredUserText;\n const infoMessage: string = orderLookupViewAccountText;\n const signInText: string = orderLookupSignInLinkText;\n return (\n
\n {message}\n \n {signInText}\n \n {infoMessage}\n
\n );\n};\n\n/**\n * EmailValid submit.\n * @param email - Onsubmit of form and button click.\n * @returns - Boolean.\n */\nexport const isEmailValid = (email: string): boolean => {\n return EmailRegex.defaultRegex.test(email);\n};\n\n/**\n * Additional field validation for on submit.\n * @param name - Onsubmit of form and button click.\n * @returns - Boolean.\n */\nexport const isAdditionalFieldValid = (name: string): boolean => {\n const regEx = new RegExp('^(?!\\\\s)[A-Za-z0-9\\\\s]+$', 'u');\n return regEx.test(name);\n};\n\n/**\n * Validate order lookup field against extensible enum.\n * @param orderStatusLookUpParameter - Order lookup parameter.\n * @param orderLookupExtensibleEnum - Order lookup extensible enum.\n * @returns - Boolean.\n */\nexport const validateOrderLookupField = (\n orderStatusLookUpParameter: string,\n orderLookupExtensibleEnum: ExtensibleEnumeration[]\n): boolean => {\n let isValidField: boolean = false;\n for (const item of orderLookupExtensibleEnum) {\n if (item.Name.toLocaleLowerCase() === orderStatusLookUpParameter.toLocaleLowerCase()) {\n isValidField = true;\n return isValidField;\n }\n }\n return isValidField;\n};\n\n/**\n * Validate order lookup additional fields with proxy values.\n * @param value - Value to be validated.\n * @param orderLookupExtensibleEnum - Order lookup extensible enum.\n * @returns - Boolean.\n */\nexport const validateAdditionalFieldWithProxy = (value: string, orderLookupExtensibleEnum: ExtensibleEnumeration[]): boolean => {\n return !orderLookupExtensibleEnum.some(item => item.Name.toLocaleLowerCase() === value.toLocaleLowerCase());\n};\n\n/**\n * Validate order lookup additional fields against extensible enum.\n * @param orderStatusLookUpAdditionalParameters - Order lookup parameter.\n * @param orderLookupExtensibleEnum - Order lookup extensible enum.\n * @returns - Boolean.\n */\nexport const validateOrderLookupAdditionalField = (\n orderStatusLookUpAdditionalParameters: IOrderLookupSearchAdditionalFieldsData[],\n orderLookupExtensibleEnum: ExtensibleEnumeration[]\n): boolean => {\n let isValidAdditionalField: boolean = false;\n if (ArrayExtensions.hasElements(orderStatusLookUpAdditionalParameters)) {\n orderStatusLookUpAdditionalParameters.map(item => {\n const fieldKey: string = item.fieldKey ?? '';\n if (!isValidAdditionalField) {\n isValidAdditionalField = validateAdditionalFieldWithProxy(fieldKey, orderLookupExtensibleEnum);\n }\n return isValidAdditionalField;\n });\n } else {\n isValidAdditionalField = false;\n }\n return isValidAdditionalField;\n};\n\n/**\n * Render validation message if field does not matches with extensible enum.\n * @param orderLookupFieldValidationErrorMessage - Order lookup validation message.\n * @returns - ReactNode.\n */\nexport const renderFieldErrors = (orderLookupFieldValidationErrorMessage: string): React.ReactNode => {\n return
{orderLookupFieldValidationErrorMessage}
;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { labelGroup } from '../utilities/order-lookup-utility';\n\n/**\n * Additional input field props.\n */\nexport interface IOrderLookupAdditionalFieldInfoInput {\n className: string;\n ariaLabel: string;\n inputType: string;\n value: string;\n name: string;\n additionalFieldLabel: string;\n additionalFieldLabelClassName: string;\n isValidAdditionalFieldName: boolean;\n additionalFieldValidationMessage: string;\n onChange(event: React.ChangeEvent): void;\n}\n\n/**\n * Order lookup additional field props.\n */\nexport interface IOrderLookupAdditionalFieldInfo {\n additionalFieldLabel: React.ReactNode;\n additionalFieldInput: React.ReactNode;\n additionalFieldError: React.ReactNode;\n}\n\n/**\n * RenderOrderLookupAdditionalFieldInput component.\n */\n@observer\nexport default class RenderOrderLookupAdditionalFieldInput extends React.Component {\n public constructor(props: IOrderLookupAdditionalFieldInfoInput) {\n super(props);\n }\n\n public shouldComponentUpdate(nextProps: IOrderLookupAdditionalFieldInfoInput): boolean {\n if (this.props === nextProps) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | undefined {\n return (\n
\n {this._getOrderLookupAdditionalFields().additionalFieldLabel}\n {this._getOrderLookupAdditionalFields().additionalFieldError}\n {this._getOrderLookupAdditionalFields().additionalFieldInput}\n
\n );\n }\n\n /**\n * Function to create the order lookup additional fields.\n * @returns IOrderLookupFieldInfo.\n */\n private _getOrderLookupAdditionalFields(): IOrderLookupAdditionalFieldInfo {\n return {\n additionalFieldLabel: labelGroup(this.props.additionalFieldLabelClassName, this.props.additionalFieldLabel),\n additionalFieldInput: (\n
\n \n
\n ),\n additionalFieldError: (\n
\n {!this.props.isValidAdditionalFieldName ? this.props.additionalFieldValidationMessage : ''}\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 { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { labelGroup } from '../utilities/order-lookup-utility';\n\n/**\n * Input field props.\n */\nexport interface IOrderLookupFieldInfoInput {\n inputReference?: React.RefObject;\n className: string;\n ariaLabel: string;\n inputType: string;\n value: string;\n name: string;\n orderLookupLabel: string;\n orderLookupLabelClassName: string;\n fieldErrorClassName: string;\n isInputTypeError: boolean;\n isValidInputField: boolean;\n renderAlert(className: string): JSX.Element;\n onChange(event: React.ChangeEvent): void;\n}\n\n/**\n * Order lookup field props.\n */\nexport interface IOrderLookupFieldInfo {\n label: React.ReactNode;\n input: React.ReactNode;\n error: React.ReactNode;\n}\n\n/**\n * RenderOrderLookupInputs component.\n */\n@observer\nexport default class RenderOrderLookupFormFields extends React.Component {\n public constructor(props: IOrderLookupFieldInfoInput) {\n super(props);\n }\n\n public shouldComponentUpdate(nextProps: IOrderLookupFieldInfoInput): boolean {\n if (this.props === nextProps) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | undefined {\n return (\n
\n {this._getOrderLookupFields().label}\n {this._getOrderLookupFields().error}\n {this._getOrderLookupFields().input}\n
\n );\n }\n\n /**\n * Function to create the order lookup fields.\n * @returns IOrderLookupFieldInfo.\n */\n private _getOrderLookupFields(): IOrderLookupFieldInfo {\n return {\n label: labelGroup(this.props.orderLookupLabelClassName, this.props.orderLookupLabel),\n input: (\n
\n \n
\n ),\n error: (\n
\n {this.props.isInputTypeError ? this.props.renderAlert(this.props.name) : ''}\n {this.props.isValidInputField ? this.props.renderAlert(this.props.name) : ''}\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 Msdyn365 from '@msdyn365-commerce/core';\nimport { IActionContext } from '@msdyn365-commerce/core-internal';\nimport { ExtensibleEnumeration, StoreOperationsDataActions } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport RenderOrderLookupAdditionalFieldInput from './components/order-lookup-additional-fields';\nimport RenderOrderLookupFormFields from './components/order-lookup-fields';\nimport {\n IOrderLookupProps,\n IOrderLookupSearchAdditionalFieldsData,\n orderStatusLookUpParametersType as orderStatusLookUpParametersTypes\n} from './order-lookup.props.autogenerated';\nimport {\n isAdditionalFieldValid,\n isEmailValid,\n renderErrorLabel,\n renderFieldErrors,\n renderRegisteredUserMessage,\n validateOrderLookupAdditionalField,\n validateOrderLookupField\n} from './utilities/order-lookup-utility';\n\n/**\n * OrderLookup view props.\n */\nexport interface IOrderLookupViewProps extends IOrderLookupProps<{}> {\n additionalProperties: JSX.Element[] | undefined;\n orderLookup: IModuleProps;\n orderLookupContainer: INodeProps;\n orderLookupAdditionalFieldContainer: INodeProps;\n paragraph?: React.ReactNode;\n heading?: React.ReactNode;\n submitButton?: INodeProps;\n submitButtonLabelText?: string;\n orderLookupForm?: INodeProps;\n renderOrderLookupInputField: JSX.Element | undefined;\n orderNumberInput?: JSX.Element | undefined;\n errorMessage?: React.ReactNode;\n fieldErrorMessage?: React.ReactNode;\n registeredUserMessage?: React.ReactNode;\n onChange?(event: React.ChangeEvent): void;\n submit?(): void;\n}\n\n/**\n * OrderLookupSearchValues -- supported values.\n */\nenum OrderLookupSearchValues {\n email = 'email',\n ordernumber = 'ordernumber'\n}\n\n/**\n * To render and handle state for additional order lookup fields.\n */\nexport interface IOrderLookupAdditionalFields {\n labelName: string;\n isValidFieldName: boolean;\n fieldValue: string;\n ariaLabel: string;\n additionalfieldErrorMessage: string;\n}\n\n/**\n * OrderLookup view props.\n */\nexport interface IOrderLookupFormState {\n orderNumber: string;\n email: string;\n isOrdNumberError: boolean;\n isEmailError: boolean;\n isValidEmailError: boolean;\n isReqError: boolean;\n isDisabled: boolean;\n isValidLookupField: boolean;\n isValidAdditionalLookupField: boolean;\n responseErrorMessage: string;\n additionalProperties: IOrderLookupAdditionalFields[];\n}\n\n/**\n *\n * OrderLookup component.\n * @extends {React.PureComponent>}\n */\nclass OrderLookup extends React.PureComponent, IOrderLookupFormState> {\n public orderNumberInputRef: React.RefObject;\n\n public emailInputRef: React.RefObject;\n\n public isEmailValue: boolean = false;\n\n private requiredErrorMessage: string | undefined;\n\n private emailValidationErrorMessage: string | undefined;\n\n private isOrderNumberValue: boolean = false;\n\n private orderLookupExtensibleEnum: ExtensibleEnumeration[] = [];\n\n public constructor(props: IOrderLookupProps<{}>) {\n super(props);\n this.orderNumberInputRef = React.createRef();\n this.emailInputRef = React.createRef();\n const { config } = this.props;\n const { orderLookupSearchAdditionalFields } = config;\n const additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n\n if (orderLookupSearchAdditionalFields) {\n for (const item of orderLookupSearchAdditionalFields) {\n additionalPropertyStates.push({\n labelName: item.labelName ?? '',\n isValidFieldName: true,\n fieldValue: '',\n ariaLabel: item.ariaLabel ?? '',\n additionalfieldErrorMessage: item.validationMessage ?? ''\n });\n }\n }\n\n this.state = {\n orderNumber: '',\n email: '',\n isOrdNumberError: false,\n isEmailError: false,\n isValidEmailError: false,\n isReqError: false,\n isDisabled: true,\n isValidLookupField: true,\n isValidAdditionalLookupField: false,\n responseErrorMessage: '',\n additionalProperties: additionalPropertyStates\n };\n }\n\n public render(): JSX.Element | null {\n const {\n config: { paragraph, heading },\n resources,\n context\n } = this.props;\n\n const {\n orderLookupDefaultHeadingText,\n orderLookupButtonLabel,\n orderLookupFormAriaLabel,\n orderLookupOrderNumberLabel,\n orderLookupOrderNumberAriaLabel,\n orderLookupSubmitAriaLabel,\n orderLookupFieldValidationErrorMessage\n } = resources;\n\n const { responseErrorMessage, isDisabled, orderNumber, isOrdNumberError } = this.state;\n\n const headingText = StringExtensions.isNullOrEmpty(heading?.text) ? orderLookupDefaultHeadingText : heading?.text;\n const headingTag = heading?.tag ?? 'h1';\n\n const moduleClassName = 'ms-order-lookup';\n const orderLookupContainerClassName = `${moduleClassName}__details`;\n const orderLookupHeadingClassName = `${orderLookupContainerClassName}__heading`;\n const orderLookupFormClassName = `${orderLookupContainerClassName}__form`;\n const orderLookupAdditionalFiledContainerClassName = `${orderLookupFormClassName}__additional-fields-container`;\n const orderLookupFormFieldsClassName = `${orderLookupFormClassName}__fields`;\n const orderNumberLabelClassName = `${orderLookupFormFieldsClassName}__order-number-label`;\n const orderNumberInputErrorClassName = `${orderLookupFormFieldsClassName}__order-number-input-error`;\n const submitButtonClassName = `${orderLookupFormClassName}__submit`;\n const labelErrorMessageClassName = `${moduleClassName}__error-message`;\n const registeredUserClassName = `${moduleClassName}__registered-user`;\n const signinLinkClassName = `${registeredUserClassName}__sign-in-link msc-btn`;\n\n const orderLookupHeading = (\n \n );\n\n const viewProps: IOrderLookupViewProps = {\n ...this.props,\n orderLookup: {\n moduleProps: this.props,\n className: moduleClassName\n },\n\n orderLookupContainer: {\n className: orderLookupContainerClassName\n },\n orderLookupAdditionalFieldContainer: {\n className: orderLookupAdditionalFiledContainerClassName\n },\n paragraph: paragraph && this._createParagraph(paragraph),\n heading: orderLookupHeading,\n\n renderOrderLookupInputField: this._renderOrderLookupInput(),\n orderLookupForm: {\n className: orderLookupFormClassName,\n tag: 'form',\n 'aria-label': orderLookupFormAriaLabel,\n name: 'orderLookupForm',\n role: 'form',\n autoComplete: 'off',\n onSubmit: this.handleSubmit\n },\n orderNumberInput: (\n \n ),\n\n submitButton: {\n className: submitButtonClassName,\n tag: Button,\n 'aria-label': orderLookupSubmitAriaLabel,\n type: 'submit',\n role: 'button',\n title: orderLookupButtonLabel,\n onClick: this.handleSubmit,\n disabled: isDisabled\n },\n\n submitButtonLabelText: orderLookupButtonLabel,\n errorMessage: renderErrorLabel(responseErrorMessage, labelErrorMessageClassName),\n fieldErrorMessage:\n (!this.state.isValidLookupField || this.state.isValidAdditionalLookupField) &&\n renderFieldErrors(orderLookupFieldValidationErrorMessage),\n registeredUserMessage: renderRegisteredUserMessage(\n resources,\n context.request.user.signInUrl ?? '',\n signinLinkClassName,\n registeredUserClassName\n ),\n onChange: this.onChange,\n submit: this.handleSubmit,\n additionalProperties: this._renderAdditionalFields()\n };\n return this.props.renderView(viewProps);\n }\n\n public async componentDidMount(): Promise {\n const { config, context } = this.props;\n const { actionContext } = context;\n const { orderStatusLookUpParametersType, orderLookupSearchAdditionalFields } = config;\n let isOrderLookupAdditionalFieldValid: boolean = false;\n let isOrderLookupFieldValid: boolean = false;\n\n const getExtensibleEnumerations = await StoreOperationsDataActions.getExtensibleEnumerationsAsync({ callerContext: actionContext });\n this.orderLookupExtensibleEnum =\n getExtensibleEnumerations.find(item => item.TypeName === 'OrderLookupAdditionalCriteriaType')?.ExtensibleEnumerations ?? [];\n\n const orderLookupParameter: string = orderStatusLookUpParametersType ?? '';\n const orderLookupAdditionalParameter: IOrderLookupSearchAdditionalFieldsData[] = orderLookupSearchAdditionalFields ?? [];\n\n isOrderLookupFieldValid = validateOrderLookupField(orderLookupParameter, this.orderLookupExtensibleEnum);\n isOrderLookupAdditionalFieldValid = validateOrderLookupAdditionalField(\n orderLookupAdditionalParameter,\n this.orderLookupExtensibleEnum\n );\n this.setLookupFieldState(isOrderLookupFieldValid, isOrderLookupAdditionalFieldValid);\n }\n\n /**\n * Handle text change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleTextChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n /**\n * Handle paragraph change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent): void => {\n const { config } = this.props;\n config.paragraph = event.target.value;\n };\n\n /**\n * Sets isValidLookupField after validating with extensible emun.\n * @param isValidField - Sets the property.\n * @param isValidAdditionalField - Sets the additional field property.\n */\n public setLookupFieldState(isValidField: boolean, isValidAdditionalField: boolean): void {\n this.setState({ isValidLookupField: isValidField, isValidAdditionalLookupField: isValidAdditionalField });\n }\n\n /**\n * HandleSubmit submit.\n */\n public readonly handleSubmit = (): void => {\n const { config, context } = this.props;\n const { actionContext } = context;\n const { additionalProperties, orderNumber, email } = this.state;\n const orderLookupValue = email;\n const { orderStatusLookUpParametersType } = config;\n const orderLookupName = orderStatusLookUpParametersType !== undefined ? orderStatusLookUpParametersType : '';\n const isValid: boolean = this._validateOrderLookupForm();\n if (isValid) {\n const actionContextValue: IActionContext = actionContext;\n const orderDetailsPath = Msdyn365.getUrlSync('orderDetails', actionContextValue) ?? '';\n if (orderDetailsPath) {\n const baseUrl = new URL(window.location.origin);\n const redirectUrl = new URL(orderDetailsPath, baseUrl);\n const searchParameters = redirectUrl.searchParams;\n\n searchParameters.set('confirmationId', orderNumber);\n searchParameters.set('propertyName', orderLookupName);\n searchParameters.set('propertyValue', orderLookupValue);\n\n if (ArrayExtensions.hasElements(additionalProperties)) {\n additionalProperties.map((item, index) => {\n const fieldName = !StringExtensions.isNullOrWhitespace(item.ariaLabel)\n ? item.ariaLabel.replace(' ', '').toLocaleLowerCase()\n : '';\n const fieldValue = !StringExtensions.isNullOrWhitespace(item.fieldValue) ? item.fieldValue : '';\n searchParameters.set(`field${index + 1}Name`, fieldName);\n searchParameters.set(`field${index + 1}Value`, fieldValue);\n return item;\n });\n }\n\n window.location.assign(redirectUrl.toString());\n }\n }\n };\n\n /**\n * OnChange event.\n * @param event - Value of input field.\n */\n public readonly onChange = (event: React.ChangeEvent): void => {\n const { additionalProperties } = this.state;\n const { config } = this.props;\n const { orderStatusLookUpParametersType } = config;\n const name = event.target.name || '';\n const value = event.target.value || '';\n this.isOrderNumberValue = !StringExtensions.isNullOrWhitespace(this.orderNumberInputRef.current?.value);\n this.isEmailValue = !StringExtensions.isNullOrWhitespace(this.emailInputRef.current?.value);\n\n if (orderStatusLookUpParametersType?.toLocaleLowerCase() === 'none') {\n this.isEmailValue = true;\n }\n\n this.setState({ responseErrorMessage: '' });\n const additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n let isAdditionalFieldError: boolean = true as boolean;\n let isKeyExistInAdditionalFieldArray: boolean = false as boolean;\n\n for (const item of additionalProperties) {\n const fieldName: string = item.ariaLabel.replace(' ', '');\n if (fieldName.toLocaleLowerCase() === name.toLocaleLowerCase()) {\n additionalPropertyStates.push({\n labelName: item.labelName,\n isValidFieldName: true,\n fieldValue: value,\n ariaLabel: item.ariaLabel,\n additionalfieldErrorMessage: item.additionalfieldErrorMessage\n });\n } else {\n additionalPropertyStates.push({\n labelName: item.labelName,\n isValidFieldName: item.isValidFieldName,\n fieldValue: item.fieldValue,\n ariaLabel: item.ariaLabel,\n additionalfieldErrorMessage: item.additionalfieldErrorMessage\n });\n }\n if (fieldName.toLocaleLowerCase() === orderStatusLookUpParametersType?.toLocaleLowerCase()) {\n isKeyExistInAdditionalFieldArray = true;\n }\n }\n\n for (const items of additionalPropertyStates) {\n if (StringExtensions.isNullOrWhitespace(items.fieldValue)) {\n isAdditionalFieldError = false;\n }\n }\n\n this.setState({ additionalProperties: additionalPropertyStates });\n\n if (!isKeyExistInAdditionalFieldArray) {\n switch (name.toLocaleLowerCase()) {\n case OrderLookupSearchValues.ordernumber: {\n this.setState({\n orderNumber: value,\n isOrdNumberError: false,\n isReqError: false\n });\n break;\n }\n case OrderLookupSearchValues.email: {\n this.setState({\n email: value,\n isEmailError: false,\n isValidEmailError: false,\n isReqError: false\n });\n break;\n }\n default: {\n this.setState({ isReqError: false });\n }\n }\n }\n\n if (\n this.isOrderNumberValue &&\n this.isEmailValue &&\n isAdditionalFieldError &&\n this.state.isValidLookupField &&\n !this.state.isValidAdditionalLookupField\n ) {\n this.setState({ isDisabled: false });\n } else {\n this.setState({ isDisabled: true });\n }\n };\n\n private _createParagraph(text?: Msdyn365.RichText): React.ReactNode | null {\n const { context } = this.props;\n const { request } = context;\n if (!text) {\n return null;\n }\n return (\n \n );\n }\n\n /**\n * Render order lookup validation message.\n * @param className - Class name for error field.\n * @returns - JSX.Element.\n */\n private readonly _renderAlert = (className: string): JSX.Element => {\n const {\n resources: { orderLookupEmailValidationErrorMessage, orderLookupRequiredTextErrorMessage }\n } = this.props;\n\n const { isEmailError, email, isValidEmailError, isReqError } = this.state;\n if (isEmailError) {\n this.requiredErrorMessage = orderLookupRequiredTextErrorMessage;\n }\n\n if (!StringExtensions.isNullOrEmpty(email) && isValidEmailError) {\n this.emailValidationErrorMessage = orderLookupEmailValidationErrorMessage;\n }\n\n const isRequireError = isReqError;\n const isEmailValidError = isValidEmailError;\n const isValidEmailInput = className.toLocaleLowerCase() === OrderLookupSearchValues.email;\n return (\n <>\n {isRequireError && (\n \n {this.requiredErrorMessage}\n \n )}\n {isEmailValidError && isValidEmailInput && (\n \n {this.emailValidationErrorMessage}\n \n )}\n \n );\n };\n\n /**\n * Render order number validation message.\n * @param className - Class name for error field.\n * @returns - JSX.Element.\n */\n private readonly _renderOrderNumberAlert = (className: string): JSX.Element => {\n const {\n resources: { orderLookupOrderNumberValidationErrorMessage, orderLookupRequiredTextErrorMessage }\n } = this.props;\n\n const { isOrdNumberError, isReqError } = this.state;\n return (\n <>\n {isReqError && (\n \n {orderLookupRequiredTextErrorMessage}\n \n )}\n {isOrdNumberError && (\n \n {orderLookupOrderNumberValidationErrorMessage}\n \n )}\n \n );\n };\n\n private _renderAdditionalFields(): JSX.Element[] | undefined {\n const { additionalProperties } = this.state;\n const additionalFieldsInput: JSX.Element[] = [];\n for (const item of additionalProperties) {\n const name: string = item.ariaLabel.replace(' ', '');\n additionalFieldsInput.push(\n \n );\n }\n return additionalFieldsInput;\n }\n\n /**\n * Render Input field for order lookup.\n * @returns - IOrderLookupFieldInfo.\n */\n private readonly _renderOrderLookupInput = (): JSX.Element | undefined => {\n const { email, isEmailError, isValidEmailError } = this.state;\n const {\n config: { orderStatusLookUpParametersType },\n resources: { orderLookupEmailLabel, orderLookupEmailAriaLabel }\n } = this.props;\n\n switch (orderStatusLookUpParametersType) {\n case orderStatusLookUpParametersTypes.none:\n return undefined;\n case orderStatusLookUpParametersTypes.email:\n default:\n return (\n \n );\n }\n };\n\n /**\n * _validation for additional fields.\n * @returns - Returns IOrderLookupAdditionalFields[].\n */\n private readonly _additionalFieldValidation = (): IOrderLookupAdditionalFields[] => {\n const additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n for (const item of this.state.additionalProperties) {\n const isFieldValid: boolean = !StringExtensions.isNullOrWhitespace(item.fieldValue) && isAdditionalFieldValid(item.fieldValue);\n additionalPropertyStates.push({\n labelName: item.labelName,\n isValidFieldName: isFieldValid,\n fieldValue: item.fieldValue,\n ariaLabel: item.ariaLabel,\n additionalfieldErrorMessage: item.additionalfieldErrorMessage\n });\n }\n return additionalPropertyStates;\n };\n\n /**\n * _validateOrderLookupForm submit.\n * @returns - Returns boolean.\n */\n private readonly _validateOrderLookupForm = (): boolean => {\n const { config } = this.props;\n const { orderNumber, email } = this.state;\n const { orderStatusLookUpParametersType } = config;\n let additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n let isValid = false;\n let isDisable = false;\n\n if (ArrayExtensions.hasElements(this.state.additionalProperties)) {\n additionalPropertyStates = this._additionalFieldValidation();\n for (const item of additionalPropertyStates) {\n if (!item.isValidFieldName) {\n isDisable = true;\n }\n }\n\n if (isDisable) {\n this.setState({\n additionalProperties: additionalPropertyStates,\n isDisabled: true\n });\n }\n }\n\n if (StringExtensions.isNullOrWhitespace(orderNumber)) {\n this.setState({\n isOrdNumberError: true,\n isReqError: true,\n isDisabled: true\n });\n } else if (orderNumber.trim() !== orderNumber) {\n this.setState({\n isOrdNumberError: true,\n isReqError: false,\n isDisabled: true\n });\n } else if (\n orderStatusLookUpParametersType === orderStatusLookUpParametersTypes.email &&\n StringExtensions.isNullOrWhitespace(email)\n ) {\n this.setState({\n isEmailError: true,\n isReqError: true,\n isDisabled: true\n });\n } else if (orderStatusLookUpParametersType === orderStatusLookUpParametersTypes.email && !isEmailValid(email)) {\n this.setState({\n isValidEmailError: true,\n isDisabled: true\n });\n } else if (isDisable || !this.state.isValidLookupField || this.state.isValidAdditionalLookupField) {\n this.setState({\n isDisabled: true\n });\n } else {\n this.setState({\n isDisabled: false\n });\n isValid = true;\n }\n return isValid;\n };\n}\n\nexport default OrderLookup;\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 { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IOrderLookupViewProps } from './order-lookup';\n\n/**\n * View component.\n * @param props - The view properties.\n * @returns - Returns JSX Element.\n */\nexport const OrderLookupViewComponent: React.FC = props => {\n const {\n orderLookup,\n orderLookupContainer,\n orderLookupAdditionalFieldContainer,\n heading,\n paragraph,\n orderLookupForm,\n renderOrderLookupInputField,\n orderNumberInput,\n errorMessage,\n submitButton,\n additionalProperties,\n registeredUserMessage,\n fieldErrorMessage\n } = props;\n return (\n \n \n {heading}\n {paragraph}\n \n {orderNumberInput}\n {renderOrderLookupInputField}\n {ArrayExtensions.hasElements(additionalProperties) && (\n \n {additionalProperties.map((item: JSX.Element) => (\n {item}\n ))}\n \n )}\n {fieldErrorMessage}\n \n {props.submitButtonLabelText}\n \n {errorMessage}\n \n {registeredUserMessage}\n \n \n );\n};\n\nexport default OrderLookupViewComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport MsDyn365, { IImageSettings, Image } from '@msdyn365-commerce/core';\nimport { addThrottledEvent, Drawer, IModuleProps, INodeProps, KeyCodes, NodeTag } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { computed, observable } from 'mobx';\nimport React from 'react';\n\nimport { ISitePickerConfig, ISitePickerProps } from './site-picker.props.autogenerated';\n\nexport interface ISitePickerViewProps extends ISitePickerProps {\n SitePicker: IModuleProps;\n SitePickerMenu: INodeProps;\n SitePickerMenuSpan: INodeProps;\n SitePickerMenuList: INodeProps;\n SitePickerMenuListItem: INodeProps;\n SitePickerMenuListItemArray: React.ReactNode[] | undefined;\n siteOptionsState: boolean;\n SitePickerMobileContainer: INodeProps;\n isMobileView: boolean;\n renderSiteOptions(): void;\n resetSiteOptionsState(): void;\n}\n\nexport type GridSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\ninterface ISitePickerState {\n expandSiteOptions: boolean;\n isMobile: boolean;\n}\n\n/**\n *\n * SitePicker component.\n * @extends {React.PureComponent>}\n */\nclass SitePicker extends React.PureComponent, ISitePickerState> {\n private readonly _cookieName: string = '_msdyn365___site_';\n\n private readonly _cookieExpirationInSeconds: number = 5_184_000;\n\n private readonly _sitePickerMenuNode: React.RefObject;\n\n private readonly _sitePickerMenuButton: React.RefObject;\n\n private resizeThrottledEventHandler?: (event: Event) => void;\n\n @observable\n private viewport: GridSize;\n\n public constructor(props: ISitePickerViewProps) {\n super(props);\n this._handleChange = this._handleChange.bind(this);\n this._sitePickerMenuNode = React.createRef();\n this._sitePickerMenuButton = React.createRef();\n this._renderSiteOptions = this._renderSiteOptions.bind(this);\n this._resetSiteOptionsState = this._resetSiteOptionsState.bind(this);\n this._escFunction = this._escFunction.bind(this);\n this._handleOutsideClick = this._handleOutsideClick.bind(this);\n this._updateViewport = this._updateViewport.bind(this);\n this.viewport =\n props.context.request && props.context.request.device && props.context.request.device.Type === 'Mobile' ? 'xs' : 'lg';\n this.state = {\n expandSiteOptions: false,\n isMobile: this.isMobile\n };\n }\n\n @computed get isMobile(): boolean {\n return this.viewport === 'xs' || this.viewport === 'sm';\n }\n\n public componentDidMount(): void {\n if (MsDyn365.isBrowser) {\n document?.addEventListener('keydown', (this._escFunction as unknown) as EventListener, false);\n document?.body?.addEventListener('mousedown', this._handleOutsideClick);\n this.resizeThrottledEventHandler = window && addThrottledEvent(window, 'resize', this._updateViewport as EventListener);\n this._updateViewport();\n }\n }\n\n public componentWillUnmount(): void {\n if (MsDyn365.isBrowser) {\n document?.removeEventListener('keydown', (this._escFunction as unknown) as EventListener, false);\n document?.body?.removeEventListener('mousedown', this._handleOutsideClick, false);\n window && window.removeEventListener('resize', this.resizeThrottledEventHandler!, false);\n }\n }\n\n public render(): JSX.Element | null {\n const viewProps: ISitePickerViewProps = {\n ...(this.props as ISitePickerProps),\n SitePicker: {\n moduleProps: this.props,\n className: classnames('ms-site-picker', this.props.config.className, this.state.isMobile ? 'mobile-view' : 'desktop-view'),\n tag: 'div'\n },\n SitePickerMenu: {\n tag: 'button' as NodeTag,\n className: 'ms-site-picker__button',\n 'aria-label': this.props.config.heading?.text,\n 'aria-expanded': this.state.expandSiteOptions,\n onClick: this.props,\n ref: this._sitePickerMenuButton\n },\n SitePickerMenuSpan: {\n className: 'ms-site-picker__span',\n tag: 'span'\n },\n SitePickerMenuList: {\n className: 'ms-site-picker__list',\n role: 'menu',\n tag: 'ul',\n ref: this._sitePickerMenuNode\n },\n SitePickerMenuListItem: {\n className: 'ms-site-picker__list__item',\n role: 'presentation',\n tag: 'li'\n },\n SitePickerMobileContainer: {\n tag: Drawer,\n className: 'ms-site-picker__drawer',\n toggleButtonText: this.props.config.heading?.text,\n openGlyph: 'ms-site-picker__drawer-open',\n closeGlyph: 'ms-site-picker__drawer-close',\n glyphPlacement: 'end'\n },\n isMobileView: this.state.isMobile,\n SitePickerMenuListItemArray: this._renderSitePickerImage(),\n renderSiteOptions: this._renderSiteOptions,\n resetSiteOptionsState: this._resetSiteOptionsState,\n siteOptionsState: this.state.expandSiteOptions\n };\n return this.props.renderView(viewProps);\n }\n\n private _renderSiteOptions(): void {\n const expandSiteOptionsState = this.state.expandSiteOptions;\n this.setState({\n expandSiteOptions: !expandSiteOptionsState\n });\n }\n\n private _resetSiteOptionsState(): void {\n this.setState({\n expandSiteOptions: false\n });\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private readonly _escFunction = (event: any) => {\n const key = event.keyCode;\n if (this.state.expandSiteOptions) {\n switch (key) {\n case KeyCodes.Escape: {\n setTimeout(() => {\n const nextFocus = document && document.activeElement;\n if (\n this._sitePickerMenuButton?.current?.contains(nextFocus) ||\n this._sitePickerMenuNode?.current?.contains(nextFocus)\n ) {\n this._resetSiteOptionsState();\n this._sitePickerMenuButton?.current?.focus();\n }\n }, 50);\n break;\n }\n case KeyCodes.Tab: {\n setTimeout(() => {\n const nextFocus = document && document.activeElement;\n if (\n !this._sitePickerMenuButton?.current?.contains(nextFocus) &&\n !this._sitePickerMenuNode?.current?.contains(nextFocus)\n ) {\n this._resetSiteOptionsState();\n }\n }, 50);\n break;\n }\n default:\n return;\n }\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private readonly _handleOutsideClick = (event: any) => {\n if (\n (this._sitePickerMenuButton.current?.contains(event.target) && this.state.expandSiteOptions) ||\n (this._sitePickerMenuNode.current?.contains(event.target) && this.state.expandSiteOptions)\n ) {\n return;\n }\n this._resetSiteOptionsState();\n };\n\n private _handleChange(e: React.MouseEvent): void {\n e.preventDefault();\n if (e.currentTarget.href && e.currentTarget.href.length > 0 && window) {\n if (this.props.context.request.cookies.isConsentGiven()) {\n const cookieConfig = { maxAge: this._cookieExpirationInSeconds };\n this.props.context.request.cookies.set(this._cookieName, e.currentTarget.href, cookieConfig);\n }\n window.location.assign(e.currentTarget.href);\n }\n }\n\n private _renderSitePickerImage(): React.ReactNode[] | undefined {\n const defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=50&h=25&m=6', w: 0, h: 0 },\n sm: { q: 'w=50&h=25&m=6', w: 0, h: 0 },\n md: { q: 'w=40&h=20&m=6', w: 0, h: 0 },\n lg: { q: 'w=40&h=20&m=6', w: 0, h: 0 },\n xl: { q: 'w=40&h=20&m=6', w: 0, h: 0 }\n },\n lazyload: true\n };\n const siteOptions = this.props.config.siteOptions && this.props.config.siteOptions;\n return (\n siteOptions &&\n siteOptions.map((item, index) => {\n const image = item?.siteImage;\n const imageProps = {\n gridSettings: this.props.context.request.gridSettings!,\n imageSettings: image?.imageSettings?.viewports ? image.imageSettings : defaultImageSettings\n };\n return (\n \n {item?.siteName}\n \n \n );\n })\n );\n }\n\n private _updateViewport(): void {\n this.viewport = this._getViewport();\n this.setState({ isMobile: this.isMobile });\n }\n\n private _getViewport(): GridSize {\n const { context } = this.props;\n if (context.request && context.request.device && context.request.device.Type === 'Mobile') {\n return 'xs';\n }\n\n if (typeof window !== undefined && window.innerWidth) {\n const gridSettings = context.request.gridSettings;\n if (gridSettings) {\n if (gridSettings.xs && window.innerWidth <= gridSettings.xs.w) {\n return 'xs';\n } else if (gridSettings.sm && window.innerWidth <= gridSettings.sm.w) {\n return 'sm';\n } else if (gridSettings.md && window.innerWidth <= gridSettings.md.w) {\n return 'md';\n } else if (gridSettings.lg && window.innerWidth <= gridSettings.lg.w) {\n return 'lg';\n }\n return 'xl';\n }\n }\n return 'xs';\n }\n}\n\nexport default SitePicker;\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 { ISitePickerViewProps } from './site-picker';\n\nexport default (props: ISitePickerViewProps) => {\n return <>{_renderSitePicker(props)};\n};\n\nconst _renderDesktopView = (props: ISitePickerViewProps) => {\n const { SitePickerMenu, SitePickerMenuSpan } = props;\n return (\n <>\n \n {props.config.heading?.text}\n \n \n {props.siteOptionsState ? _renderSiteOptionsList(props) : null}\n \n );\n};\n\nconst _renderSiteOptionsList = (props: ISitePickerViewProps): React.ReactNode => {\n const { SitePickerMenuList, SitePickerMenuListItem, SitePickerMenuListItemArray } = props;\n const options = SitePickerMenuListItemArray!.map((item, index) => {\n return (\n \n {item}\n \n );\n });\n return (\n \n {options}\n \n );\n};\n\nconst _renderMobileView = (props: ISitePickerViewProps): React.ReactNode => {\n const { SitePickerMobileContainer } = props;\n return (\n \n
\n {props.SitePickerMenuListItemArray?.map((item, index) => {\n return
{item}
;\n })}\n
\n
\n );\n};\n\nconst _renderSitePicker = (props: ISitePickerViewProps): React.ReactNode => {\n const { isMobileView, SitePicker } = props;\n return {isMobileView ? _renderMobileView(props) : _renderDesktopView(props)};\n};\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 { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { ISocialShareConfig, ISocialShareProps, orientation } from './social-share.props.autogenerated';\n\nexport interface ISocialShareViewProps extends ISocialShareProps {\n isConsentGiven: boolean;\n SocialShareItemElements: React.ReactNode[];\n SocialShare: IModuleProps;\n SocialShareList: INodeProps;\n SocialShareItem: INodeProps;\n SocialShareItemCustomization: INodeProps;\n}\n\n/**\n *\n * SocialShare component.\n * @extends {React.PureComponent>}\n */\nclass SocialShare extends React.PureComponent> {\n constructor(props: ISocialShareProps) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { slots } = this.props;\n\n if (!slots || !ArrayExtensions.hasElements(slots.socialShareItems)) {\n this.props.context.telemetry.error('No social media is enable for sharing, module wont render');\n return null;\n }\n\n const isConsentGiven =\n this.props.context.request &&\n this.props.context.request.cookies &&\n this.props.context.request.cookies.isConsentGiven &&\n this.props.context.request.cookies.isConsentGiven();\n\n if (!isConsentGiven && !this.props.context.request.params.isEditor) {\n return null;\n }\n\n const viewprops = {\n ...this.props,\n SocialShare: {\n moduleProps: this.props,\n className: classnames('ms-social-share', this.props.config.className)\n },\n SocialShareList: {\n 'data-title': this.props.config.caption,\n className: `ms-social-share-ul ${this.props.config.caption && 'caption'} ${\n this.props.config.orientation === orientation.vertical ? 'vertical' : ''\n }`,\n tag: 'ul',\n role: 'group'\n },\n SocialShareItem: {\n className: 'ms-social-share-li',\n tag: 'li',\n tabIndex: '0',\n role: 'link'\n },\n SocialShareItemElements: slots && slots.socialShareItems.length > 0 && slots.socialShareItems\n };\n\n return this.props.renderView(viewprops) as React.ReactElement;\n }\n}\n\nexport default SocialShare;\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 React, { ReactNode } from 'react';\n\nimport { ISocialShareViewProps } from './social-share';\n\nexport const SocialShareView: React.FC = props => {\n const { SocialShareList, SocialShareItemElements, SocialShareItem, SocialShare } = props;\n if (SocialShareItemElements.length === 0) {\n props.context.telemetry.error('Social media list is empty, module wont render');\n return null;\n }\n return (\n \n \n {SocialShareItemElements.map((SocialShareElement: ReactNode, index: number) => {\n return (\n \n {SocialShareElement}\n \n );\n })}\n \n \n );\n};\n\nexport default SocialShareView;\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 { IImageSettings, Image } from '@msdyn365-commerce/core';\nimport {\n IReportReviewModalViewProps,\n IReviewCardViewProps,\n IReviewsListData,\n IReviewsListResources,\n IReviewsListState,\n IReviewsListViewProps\n} from '@msdyn365-commerce-modules/ratings-reviews';\nimport { ArrayExtensions, generateImageUrl } from '@msdyn365-commerce-modules/retail-actions';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IReviewsListProps } from '../definition-extensions/reviews-list.ext.props.autogenerated';\n\n/**\n * Build Review Card.\n * @param props - Review Card ViewProps.\n * @param resources - Resource Strings.\n * @param isUserReview - User review flag.\n * @returns JSX Element.\n */\nconst buildReviewCard = (props: IReviewCardViewProps, resources: IReviewsListResources, isUserReview: boolean) => {\n return (\n \n \n
\n {props.rating}\n {props.date}\n
\n {props.name}\n
\n \n \n {props.reviewTitle}\n {props.reviewText}\n \n \n {props.responseName}\n {props.responseDate}\n {props.responseText}\n \n \n {isUserReview ? undefined :

{resources.wasReviewHelpfulText}

}\n {props.like}\n {props.dislike}\n {props.edit}\n
\n
\n
\n );\n};\n\n/**\n * Render Product Image.\n * @param props - WriteReview ViewProps.\n * @returns JSX Element.\n */\nconst renderProductImage = (props: IReviewsListViewProps & IReviewsListProps): JSX.Element => {\n const primaryImageSource = props.data.product.result?.PrimaryImageUrl;\n const imageUrl = generateImageUrl(primaryImageSource, props.context.request.apiSettings);\n const defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=111&h=111&m=6', w: 111, h: 111 },\n sm: { q: 'w=130&h=130&m=6', w: 130, h: 130 },\n md: { q: 'w=130&h=130&m=6', w: 130, h: 130 },\n lg: { q: 'w=130&h=130&m=6', w: 130, h: 130 },\n xl: { q: 'w=130&h=130&m=6', w: 130, h: 130 }\n },\n lazyload: true,\n cropFocalRegion: true\n };\n\n return (\n \n );\n};\n\n/**\n * Render Product Description.\n * @param props - WriteReview ViewProps.\n * @returns JSX Element.\n */\nconst renderProductDescription = (props: IReviewsListViewProps & IReviewsListProps): JSX.Element => {\n const product = props.data.product.result;\n return (\n \n
{renderProductImage(props)}
\n
\n
{product?.Name}
\n
{product?.Name}
\n
{product?.ItemId}
\n
\n
\n );\n};\n\n/**\n * Build Review modal.\n * @param props - Review list ViewProps.\n * @returns JSX Element.\n */\nconst createReviewModal = (props: IReviewsListViewProps & IReviewsListProps): JSX.Element => {\n const { resources, moduleProps, reviewModal } = props;\n return (\n \n {reviewModal.modalHeader}\n \n \n \n {renderProductDescription(props)}\n \n
{resources.selectRatingLabel}
\n {reviewModal.rating}\n
\n
\n \n {resources.reviewTitleLabel}\n {reviewModal.titleInput}\n \n \n {resources.reviewTextLabel}\n {reviewModal.textInput}\n \n {reviewModal.privacyPolicyUrl}\n {reviewModal.error}\n
\n
\n \n {reviewModal.submitButton}\n {reviewModal.cancelButton}\n \n
\n );\n};\n\n/**\n * Build Review modal.\n * @param props - Review modal ViewProps.\n * @param state - Review List State.\n * @returns JSX Element.\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\n/**\n * ReviewsList view.\n * @param props - Ratings ReviewsList ViewProps.\n * @returns ReviewsList view module.\n */\nconst ReviewsListview: React.FC> = props => {\n const {\n filterByDropdown,\n heading,\n moduleProps,\n noReviewsMessage,\n noReviewsWithFilterMessage,\n pageControls,\n refineReviewsProps,\n reportReviewModal,\n reviewsListProps,\n reviewCards,\n sortByDropdown,\n state,\n userReview,\n resources\n } = props;\n\n if (!userReview && !ArrayExtensions.hasElements(reviewCards) && !state.isFilterApplied) {\n return {noReviewsMessage};\n }\n\n return (\n \n {heading}\n \n {sortByDropdown}\n {filterByDropdown}\n \n \n {userReview && buildReviewCard(userReview, resources, true)}\n {reviewCards.map(review => {\n return buildReviewCard(review, resources, false);\n })}\n \n {!ArrayExtensions.hasElements(reviewCards) && state.isFilterApplied && noReviewsWithFilterMessage}\n {pageControls}\n {createReviewModal(props)}\n {createReportModal(reportReviewModal, state)}\n \n );\n};\n\nexport default ReviewsListview;\n"],"names":["CartIcon","observer","props","cartLabel","cartQtyLabel","data","cart","cartLink","getUrlSync","context","actionContext","cartItem","totalItemsInCart","qtyLabel","format","label","payLoad","getPayloadObject","telemetryContent","attributes","getTelemetryAttributes","style","visibility","React","Object","assign","title","className","href","onClick","onTelemetryClick","split","_displayLabel","CartIconComponent","msdyn365Commerce","createComponentOverride","_objectSpread","component","OrderHistoryOrderInfomation","_ref","orderInformationProps","receiptId","channelName","createdDate","count","amount","channelReferenceId","Node","OrderHistoryGroupDelivery","_ref2","deliveryProps","heading","processing","address","trackingInfo","OrderHistoryGroup","_ref3","groupProps","salesLinesProps","salesLines","map","salesLine","key","LineId","OrderHistoryGroups","_ref4","groupsProps","groups","group","index","OrderHistoryHeader","_ref5","headerProps","extraActions","OrderHistorySalesOder","_ref6","salesOrderProps","orderInfomation","orderDetailsLink","OrderHistoryList","_ref7","listProps","salesOrders","salesOrder","_ref8","orderHistoryProps","header","alert","loading","emptyMessage","backToShoppingLink","list","moreButton","Module","histogramItem","buttonProps","starLabel","bar","percentage","histogramItems","histogramProps","moduleProps","item","aadGeneric","aadConainer","aadAPIConainer","AccountInvoiceTile","description","links","OrganizationUsersTile","CatalogPicker","constructor","super","handleTextChange","event","this","config","text","target","value","handleParagraphChange","paragraph","render","_heading$tag","_this$props$data$cata","catalogPickerHeading","Text","_moduleClassName","tag","editProps","onEdit","requestContext","request","isCatalogsAvailable","ArrayExtensions","hasElements","catalogs","result","catalogPickerParagraph","RichTextComponent","resources","catalogValidationText","viewProps","handleText","catalogPicker","_renderCatalogPicker","renderView","_renderCatalogPickerButton","catalogId","RecordId","getCatalogId","currentCatalogText","linkToCatalog","Msdyn365","isBrowser","_getUrlSync","catalogUrl","fullUrl","URL","window","location","searchParams","set","Button","changeCatalogButtonText","_this$props$data$cata2","role","reactKey","JSON","stringify","String","image","firstOrDefault","Images","tabIndex","Name","Image","src","generateImageUrl","apiSettings","Uri","gridSettings","imageSettings","galleryImageSettings","altText","AltText","loadFailureBehavior","CatalogPickerViewFunctionComponent","assembleNode","itemIndex","_item$links","renderHeading","additionalContentHeading","handleAdditionalTextChange","subtext","renderParagraph","additionalContentParagraphText","ctaLink","renderLinks","linkIndex","editableLink","ariaLabel","linkText","linkUrl","destinationUrl","openInNewTab","link","onTextChange","handleAdditionalLinkTextChange","additionalContentItemContainer","additionalContentItemLinks","contentBlockAdditionalContent","additionalContent","reactNodes","push","additionalContentNode","additionalContentItems","ContentCardLinks","_mapEditableLinks","linkdata","length","editableLinks","forEach","contentAction","etext","btnClass","additionalProperties","ContentBlock","getTelemetryObject","telemetryPageName","friendlyName","telemetry","handleLinkTextChange","Number","_this$props$context$r","_this$props$config$im","imageAriaLabel","contentBlockTitle","contentBlockLinks","LinksComponent","msdyn365__moduleLayout","contentBlockText","contentBlockImageSettings","backgroundColor","imageProps","contentBlockImage","preserveImageSpace","moduleType","typeName","imagePropertyName","moduleId","id","layout","shouldSkipToMainImage","contentBlockContainerStyle","undefined","error","contentBlockviewProps","moduleClass","contentBlockContainer","classnames","imageContainer","detailsContainer","contentBlockAnchorTag","imageLink","_getImageLink","handleAdditionalParagraphChange","handleAdditionalText","handleAdditionalParagraph","additionalContentObject","actionableRegion","renderAdditionalContent","_additionalContent$ad","_renderPromotions","promotions","promotionMessageWrapper","promotionMessage","promotionSeeAllLink","promotionDialog","_renderCartlines","cartLines","storeSelector","backToShoppingButton","waitingComponent","cartLoadingStatus","cartDataResult","mulitplePickUp","emailDeliveryModeCode","emptyCartText","cartLine","MsDyn365","toString","cartline","_renderBOPISBlock","_renderGroupBOPISBlock","addToOrderTemplate","addToWishlist","remove","onToggleBopisHandler","isBopisSelected","pickUpInStore","callbacks","toggleBopis","onChangeStoreHandler","_cartLine$data","DeliveryMode","shipInsteadDisplayText","shipToAddressDisplayText","pickItUpDisplayText","pickUpAtStoreWithLocationText","changeStoreDisplayText","TelemetryConstant","PickupInStore","puckUpinStoreAttribute","ContainerProps","orgUnitName","_renderErrorBlock","errorData","errors","Wrapper","_renderOrderSummarylines","orderSummaryLines","OrderSummaryItems","promoCode","subtotal","shipping","otherCharge","tax","totalDiscounts","orderTotal","_renderInvoiceSummarylines","invoiceSummaryLines","invoices","giftCard","loyalty","_renderCartLinesGroup","cartLinesGroup","cartlines","_props$context$action2","_props$context$action3","cartlineId","_renderCartLinesGroupHeader","_countItems","channel","EmailDeliveryModeCode","multiplePickUpEnabled","_cartLine$pickUpInSto","pickUpText","shippingText","emailshippingText","payInvoicesDisplayText","groupTitle","IsInvoiceLine","StringExtensions","isNullOrEmpty","toLowerCase","_renderCartLinesGroupTitle","_cartLine$data2","countItem","reduce","_item$data","Quantity","_cartLine$pickUpInSto2","_cartLine$pickUpInSto3","_cartLine$pickUpInSto4","itemLabel","itemsLabel","suffix","deliveryOption","_props$cart","_props$context$action","_props$cart2","renderModuleAttributes","promotionOptions","hasInvoiceLine","CartlinesWrapper","orderSummaryHeading","OrderSummaryWrapper","invoiceSummaryLineitems","orderSummaryLineitems","OrderSummaryErrors","checkoutAsSignInUserButton","checkoutAsGuestButton","expressCheckoutButton","ExpressCheckoutSectionWrapper","createTemplateFromCartButton","salesId","delivery","orderCountLabel","expandProductsButton","table","FooterItem","handleHeadingChange","footerItemClassName","_createHeading","_createImageMarkup","_createText","_createLinkText","EditableLink","_createLink","HeadingContainer","ItemContainer","Link","ariaHiddenAttr","viewports","xs","q","w","h","lg","lazyload","FooterItemView","_renderElement","componentClassName","buttonClassName","buttonActiveClassName","buttonInactiveClassName","OrderHistoryWithSearchAndFiltersOrganizationWideSelectorState","OrderHistoryWithSearchAndFiltersOrganizationWideSelectorComponent","createComponent","_props$resources$curr","_props$resources","_props$resources$curr2","_props$resources2","_props$resources$curr3","_props$resources3","_props$resources4","_props$resources$curr4","_props$resources5","_props$resources6","_props$resources7","_props$resources$orga","_props$resources8","_props$resources9","_props$resources$orga2","_props$resources10","_props$resources11","_props$resources12","customer","IsB2bAdmin","selectorState","setSelectorState","currentSelectorState","onClickHandler","newSelectorState","onChange","currentUserOrderHistoryAttributes","currentUserOptionLabel","orgWideOrderHistoryAttributes","CurrentUser","currentUserOptionAriaLabel","OrganizationWide","organizationWideOptionAriaLabel","organizationWideOptionLabel","labelGroup","renderErrorLabel","responseErrorMessage","errorMessageClassName","renderRegisteredUserMessage","signInUrl","signInLinkClassName","registeredUserClassName","orderLookupRegisteredUserText","orderLookupViewAccountText","orderLookupSignInLinkText","message","infoMessage","signInText","renderFieldErrors","orderLookupFieldValidationErrorMessage","RenderOrderLookupAdditionalFieldInput","shouldComponentUpdate","nextProps","_getOrderLookupAdditionalFields","additionalFieldLabel","additionalFieldError","additionalFieldInput","additionalFieldLabelClassName","type","inputType","name","isValidAdditionalFieldName","additionalFieldValidationMessage","__decorate","RenderOrderLookupFormFields","_getOrderLookupFields","input","orderLookupLabelClassName","orderLookupLabel","ref","inputReference","fieldErrorClassName","isInputTypeError","renderAlert","isValidInputField","OrderLookupSearchValues","OrderLookup","isEmailValue","isOrderNumberValue","orderLookupExtensibleEnum","handleSubmit","orderNumber","email","state","orderLookupValue","orderStatusLookUpParametersType","orderLookupName","_validateOrderLookupForm","_Msdyn365$getUrlSync","actionContextValue","orderDetailsPath","baseUrl","origin","redirectUrl","searchParameters","fieldName","isNullOrWhitespace","replace","toLocaleLowerCase","fieldValue","_this$orderNumberInpu","_this$emailInputRef$c","orderNumberInputRef","current","emailInputRef","setState","additionalPropertyStates","isAdditionalFieldError","isKeyExistInAdditionalFieldArray","labelName","isValidFieldName","additionalfieldErrorMessage","items","ordernumber","isOrdNumberError","isReqError","isEmailError","isValidEmailError","isValidLookupField","isValidAdditionalLookupField","isDisabled","_renderAlert","orderLookupEmailValidationErrorMessage","orderLookupRequiredTextErrorMessage","requiredErrorMessage","emailValidationErrorMessage","isRequireError","isEmailValidError","isValidEmailInput","_renderOrderNumberAlert","orderLookupOrderNumberValidationErrorMessage","_renderOrderLookupInput","orderLookupEmailLabel","orderLookupEmailAriaLabel","_additionalFieldValidation","isFieldValid","RegExp","test","isValid","isDisable","trim","EmailRegex","defaultRegex","isEmailValid","orderLookupSearchAdditionalFields","_item$labelName","_item$ariaLabel","_item$validationMessa","validationMessage","_context$request$user","orderLookupDefaultHeadingText","orderLookupButtonLabel","orderLookupFormAriaLabel","orderLookupOrderNumberLabel","orderLookupOrderNumberAriaLabel","orderLookupSubmitAriaLabel","headingText","headingTag","moduleClassName","orderLookupContainerClassName","orderLookupFormClassName","orderLookupAdditionalFiledContainerClassName","orderLookupFormFieldsClassName","orderNumberLabelClassName","orderNumberInputErrorClassName","submitButtonClassName","signinLinkClassName","orderLookupHeading","orderLookup","orderLookupContainer","orderLookupAdditionalFieldContainer","_createParagraph","renderOrderLookupInputField","orderLookupForm","autoComplete","onSubmit","orderNumberInput","submitButton","disabled","submitButtonLabelText","errorMessage","fieldErrorMessage","registeredUserMessage","user","submit","_renderAdditionalFields","_getExtensibleEnumera","_getExtensibleEnumera2","isOrderLookupAdditionalFieldValid","isOrderLookupFieldValid","getExtensibleEnumerations","StoreOperationsDataActions","callerContext","find","TypeName","ExtensibleEnumerations","orderLookupAdditionalParameter","validateOrderLookupField","orderStatusLookUpParameter","isValidField","validateOrderLookupAdditionalField","orderStatusLookUpAdditionalParameters","isValidAdditionalField","_item$fieldKey","fieldKey","validateAdditionalFieldWithProxy","some","setLookupFieldState","additionalFieldsInput","OrderLookupViewComponent","_orderLookupForm$clas","_submitButton$classNa","SitePicker","_cookieName","_cookieExpirationInSeconds","_escFunction","keyCode","expandSiteOptions","KeyCodes","Escape","setTimeout","_this$_sitePickerMenu","_this$_sitePickerMenu2","nextFocus","document","activeElement","_this$_sitePickerMenu3","_sitePickerMenuButton","contains","_sitePickerMenuNode","_resetSiteOptionsState","focus","Tab","_this$_sitePickerMenu4","_this$_sitePickerMenu5","_handleOutsideClick","_this$_sitePickerMenu6","_this$_sitePickerMenu7","_handleChange","bind","_renderSiteOptions","_updateViewport","viewport","device","Type","isMobile","componentDidMount","_document","_document2","addEventListener","body","resizeThrottledEventHandler","addThrottledEvent","componentWillUnmount","_document3","_document4","removeEventListener","_this$props$config$he","_this$props$config$he2","SitePickerMenu","SitePickerMenuSpan","SitePickerMenuList","SitePickerMenuListItem","SitePickerMobileContainer","Drawer","toggleButtonText","openGlyph","closeGlyph","glyphPlacement","isMobileView","SitePickerMenuListItemArray","_renderSitePickerImage","renderSiteOptions","resetSiteOptionsState","siteOptionsState","expandSiteOptionsState","e","preventDefault","currentTarget","cookies","isConsentGiven","cookieConfig","maxAge","defaultImageSettings","sm","md","xl","siteOptions","_image$imageSettings","_item$siteRedirectUrl","siteImage","siteRedirectUrl","siteName","_getViewport","innerWidth","observable","computed","_renderSitePicker","_renderSiteOptionsList","options","onMouseLeave","_props$SitePickerMenu","_renderMobileView","_props$config$heading","_renderDesktopView","SocialShare","slots","socialShareItems","params","isEditor","viewprops","SocialShareList","caption","orientation","SocialShareItem","SocialShareItemElements","SocialShareView","SocialShareElement","SummaryForm","formProps","addPaymentButton","appliedLine","bottomBorder","paymentAmountInput","EditForm","inputLabel","inputAmount","customerName","customerAccountNumber","customerSince","accountCredit","accountDetails","checkoutCustomerAccount","checkoutErrorRef","summaryView","editView","moduleState","isReady","buildReviewCard","isUserReview","cardProps","rating","date","cardBodyProps","reviewProps","reviewTitle","reviewText","responseProps","responseName","responseDate","responseText","controlsProps","wasReviewHelpfulText","like","dislike","edit","renderProductDescription","product","_props$data$product$r","primaryImageSource","PrimaryImageUrl","imageUrl","cropFocalRegion","renderProductImage","ItemId","filterByDropdown","noReviewsMessage","noReviewsWithFilterMessage","pageControls","refineReviewsProps","reportReviewModal","reviewsListProps","reviewCards","sortByDropdown","userReview","isFilterApplied","review","reviewModal","modal","modalHeader","modalBody","form","inputRow","selectRatingLabel","reviewTitleLabel","titleInput","reviewTextLabel","textInput","privacyPolicyUrl","modalFooter","cancelButton","createReviewModal","createReportModal","reported","headerSubmitted","reportSubmittedMessage","reportMessage","radioButtons","succesfulButton"],"sourceRoot":""}