{"version":3,"file":"static/js/17.400a9086c13aa50ad7d2.chunk.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/themes/b2b/views/content-block.view.tsx?5a73","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/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/check-in-for-pickup/check-in-confirmation.tsx?406f","webpack://Msdyn365.Commerce.Online/./src/modules/check-in-for-pickup/check-in-error.tsx?e789","webpack://Msdyn365.Commerce.Online/./src/modules/check-in-for-pickup/check-in-for-pickup.tsx?8686","webpack://Msdyn365.Commerce.Online/./src/modules/check-in-for-pickup/check-in-for-pickup.view.tsx?bd7a","webpack://Msdyn365.Commerce.Online/./src/modules/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/fabrikam/views/reviews-list.view.tsx?cd2e","webpack://Msdyn365.Commerce.Online/./src/modules/order-history-with-search-and-filters/components/order-history-with-search-and-filters-header.component.tsx?3609","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/product-specification/components/product-specification-table-stucture.tsx?c1c4","webpack://Msdyn365.Commerce.Online/./src/modules/product-specification/product-specification.tsx?6583","webpack://Msdyn365.Commerce.Online/./src/modules/product-specification/product-specification.view.tsx?7490","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/tile-list/tile-list.tsx?78cb","webpack://Msdyn365.Commerce.Online/./src/modules/tile-list/tile-list.view.tsx?1b00","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/checkout-customer-account-payment.view.tsx?0efc","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/order-history.view.tsx?692d","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/search.categorysuggest.tsx?6bcf","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/search.mobile.empty.tsx?ff32","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/search.form.tsx?d41a","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/search.keywordsuggest.tsx?2724","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/search.productsuggest.tsx?6616","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/search.view.tsx?bfa7"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\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 { IContentBlockViewProps } from '@msdyn365-commerce-modules/content-block';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\nimport { IContentBlockProps } from '../definition-extensions/content-block.ext.props.autogenerated';\r\n\r\nconst ContentBlockView: React.FC> = props => {\r\n const {\r\n contentBlockContainer,\r\n imageContainer,\r\n detailsContainer,\r\n title,\r\n text,\r\n links,\r\n image,\r\n contentBlockAnchorTag,\r\n imageLink,\r\n imageAriaLabel\r\n } = props;\r\n\r\n const { additionalParagraph } = props.config;\r\n\r\n const contentBlockAdditionalText = additionalParagraph && (\r\n \r\n \r\n \r\n );\r\n\r\n if (imageLink) {\r\n return (\r\n \r\n \r\n {image}\r\n \r\n \r\n {title}\r\n {text}\r\n {links}\r\n {contentBlockAdditionalText}\r\n \r\n \r\n );\r\n } else {\r\n return (\r\n \r\n {image}\r\n \r\n {title}\r\n {text}\r\n {links}\r\n {contentBlockAdditionalText}\r\n \r\n \r\n );\r\n }\r\n};\r\n\r\nexport default ContentBlockView;\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 } 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 QRCode from 'qrcode.react';\nimport * as React from 'react';\n\n/**\n * CheckInConfirmation component Properties.\n */\nexport interface ICheckInConfirmationProps {\n /**\n * The confirmation text to show.\n */\n confirmationText: string;\n\n /**\n * Should the order confirmation number shown as QR code or not.\n * If false, the order confirmation number (channel reference ID) will be shown as text.\n */\n shouldShowQrCode: boolean;\n\n /**\n * The label shows for channel reference ID.\n */\n channelReferenceIdLabel: string;\n\n /**\n * The channel reference ID to show. When shouldShowQrCode is true, the ID is shown as QR code, otherwise it is shown as text.\n */\n channelReferenceId?: string;\n}\n\n/**\n * CheckInConfirmation component for showing confirmation information after check-in succeed.\n * @param confirmationProps - The confirmation properties.\n * @param confirmationProps.confirmationText - The confirmation text.\n * @param confirmationProps.shouldShowQrCode - Should the order confirmation number shown as QR code or not.\n * If false, the order confirmation number (channel reference ID) will be shown as text.\n * @param confirmationProps.channelReferenceIdLabel - The label shows for channel reference ID.\n * @param confirmationProps.channelReferenceId - The channel reference ID to show.\n * When shouldShowQrCode is true, the ID is shown as QR code, otherwise it is shown as text.\n * @returns The check-in confirmation component.\n */\nexport const CheckInConfirmationComponent: React.FC = ({\n confirmationText,\n shouldShowQrCode,\n channelReferenceIdLabel,\n channelReferenceId\n}) => {\n return (\n
\n

{confirmationText}

\n {channelReferenceId && (\n

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

\n )}\n {channelReferenceId && shouldShowQrCode && (\n \n \n \n )}\n
\n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\n/**\n * Check-in error properties.\n */\nexport interface ICheckInErrorProps {\n errorMessage?: string;\n}\n\n/**\n * Check-in error.\n * @param errorProps - The error properties.\n * @param errorProps.errorMessage - The error message to show.\n * @returns The alert element showing check-in errors.\n */\nexport const CheckInErrorComponent: React.FC = ({ errorMessage }) => {\n if (!errorMessage) {\n return null;\n }\n\n return (\n \n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IDictionary } from '@msdyn365-commerce/core';\nimport { CommerceProperty, SalesOrdersDataActions } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport * as React from 'react';\n\nimport { CheckInConfirmationComponent } from './check-in-confirmation';\nimport { CheckInErrorComponent } from './check-in-error';\nimport { IAdditionalInformationKeysData, ICheckInForPickupConfig, ICheckInForPickupProps } from './check-in-for-pickup.props.autogenerated';\n\n/**\n * The interface representing a piece of additional information data.\n */\ninterface IAdditionalInformation {\n formKey: IAdditionalInformationKeysData;\n value: string;\n}\n\n/**\n * The state for check-in view.\n */\nexport interface ICheckInViewState {\n /**\n * If the module has header error to show.\n */\n isHeaderError: boolean;\n\n /**\n * If the customer has checked in.\n */\n isCheckedIn: boolean;\n\n /**\n * Additional information to capture.\n */\n additionalInformation: IDictionary[];\n}\n\n/**\n * The properties for check-in view.\n */\nexport interface ICheckInViewProps extends ICheckInForPickupProps {\n headerError: React.ReactNode;\n confirmationComponent: React.ReactNode;\n viewState: ICheckInViewState;\n additionalInformationValues: string[];\n checkInForOrderPickup(additionalInformation?: IAdditionalInformation[]): Promise;\n}\n\n/**\n * The state of the CheckInForPickup module.\n */\nexport interface ICheckInForPickupState {\n /**\n * The header error message.\n */\n headerErrorMessage: string;\n\n /**\n * If the customer has checked in successfully.\n */\n isCheckedIn: boolean;\n}\n\n/**\n *\n * CheckIn component.\n * @extends {React.Component, ICheckInForPickupState>}\n */\nclass CheckInForPickup extends React.Component, ICheckInForPickupState> {\n public constructor(props: ICheckInForPickupProps) {\n super(props);\n this.state = {\n headerErrorMessage: '',\n isCheckedIn: false\n };\n }\n\n public render(): JSX.Element | null {\n const isHeaderError: boolean = this.state.headerErrorMessage !== '';\n\n const viewProps = {\n ...this.props,\n headerError: ,\n confirmationComponent: (\n \n ),\n checkInForOrderPickup: this.checkInForOrderPickup,\n additionalInformationValues: this.props.config.additionalInformationKeys\n ? this.props.config.additionalInformationKeys.map(() => {\n return {};\n })\n : undefined,\n viewState: {\n isHeaderError,\n isCheckedIn: this.state.isCheckedIn\n }\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public shouldComponentUpdate(nextProps: ICheckInForPickupProps, nextState: ICheckInForPickupState): boolean {\n if (\n this.props.config.additionalInformationHeading !== nextProps.config.additionalInformationHeading ||\n this.props.config.confirmationText !== nextProps.config.confirmationText\n ) {\n return true;\n }\n if (this.state.headerErrorMessage !== nextState.headerErrorMessage || this.state.isCheckedIn !== nextState.isCheckedIn) {\n return true;\n }\n return false;\n }\n\n public async componentDidMount(): Promise {\n await this._onInit();\n }\n\n /**\n * The async callback for submitting check-in.\n * @param additionalInformationList - The optional additional information captured.\n * @returns The async result.\n */\n public checkInForOrderPickup = async (additionalInformationList?: IAdditionalInformation[]): Promise => {\n const channelId: number = Number.parseInt(this.props.context.request.query!.channelId, 10);\n const channelReferenceId: string = this.props.context.request.query!.channelReferenceId;\n const packingSlipId: string = this.props.context.request.query!.packingSlipId;\n\n const additionalInformationToSubmit: { formKey: string; value: string }[] | undefined = additionalInformationList?.map(\n additionalInformationKeyValuePair => {\n return {\n formKey: additionalInformationKeyValuePair.formKey.resourceId ?? '',\n value: additionalInformationKeyValuePair.value\n };\n }\n );\n const extensionPropertyList: CommerceProperty[] = [];\n if (!ObjectExtensions.isNullOrUndefined(additionalInformationToSubmit)) {\n for (const additionalInformation of additionalInformationToSubmit) {\n extensionPropertyList.push({\n Key: additionalInformation.formKey,\n Value: {\n StringValue: additionalInformation.value\n }\n });\n }\n }\n try {\n await SalesOrdersDataActions.checkInForOrderPickupAsync(\n { callerContext: this.props.context.actionContext, queryResultSettings: {} },\n channelId,\n packingSlipId,\n channelReferenceId,\n extensionPropertyList\n );\n } catch (error) {\n this.setState({ headerErrorMessage: this.props.resources.genericErrorMessage, isCheckedIn: false });\n this.props.telemetry.error(error);\n return Promise.resolve();\n }\n this.setState({ headerErrorMessage: '', isCheckedIn: true });\n return Promise.resolve();\n };\n\n /**\n * The action performed on module initialization.\n * @returns The async result.\n */\n private readonly _onInit = async (): Promise => {\n const channelId: number = Number.parseInt(this.props.context.request.query?.channelId ?? '', 10);\n const channelReferenceId: string | undefined = this.props.context.request.query?.channelReferenceId;\n const packingSlipId: string | undefined = this.props.context.request.query?.packingSlipId;\n if (Number.isNaN(channelId) || !channelReferenceId || !packingSlipId) {\n // No error message shown in editor mode.\n if (this.props.context.request.params.isEditor) {\n return Promise.resolve();\n } else if (this.props.context.request.params.isPreview) {\n this.setState({ headerErrorMessage: this.props.resources.requiredParameterMissingErrorMessage });\n } else {\n this.setState({ headerErrorMessage: this.props.resources.genericErrorMessage });\n }\n this.props.context.telemetry.error(\n 'One or more required URL parameters are missing. ' +\n 'Please make sure you have pass in channelId, channelReferenceId and packingSlipId through URL parameter.'\n );\n return Promise.resolve();\n }\n\n const { additionalInformationKeys } = this.props.config;\n\n const hasAdditionalInformation: boolean = ArrayExtensions.hasElements(additionalInformationKeys);\n\n // Call check-in-for-pickup directly if no additional information to capture.\n if (!hasAdditionalInformation) {\n try {\n await SalesOrdersDataActions.checkInForOrderPickupAsync(\n { callerContext: this.props.context.actionContext, queryResultSettings: {} },\n channelId,\n packingSlipId,\n channelReferenceId\n );\n } catch (error) {\n this.setState({ headerErrorMessage: this.props.resources.genericErrorMessage, isCheckedIn: false });\n this.props.telemetry.error(error);\n return Promise.resolve();\n }\n this.setState({ headerErrorMessage: '', isCheckedIn: true });\n }\n return Promise.resolve();\n };\n}\n\nexport default CheckInForPickup;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { FormBuilder } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICheckInViewProps } from './check-in-for-pickup';\n\n/**\n * The check-in view for submitting check-in, capturing additional information, and showing check-in confirmation.\n * @param props - The check-in view properties.\n * @returns The check-in view as a react component.\n */\nconst CheckInViewComponent: React.FC = (props: ICheckInViewProps) => {\n const { headerError, checkInForOrderPickup, confirmationComponent, viewState } = props;\n return (\n <>\n {viewState.isHeaderError && headerError}\n {!viewState.isHeaderError && ArrayExtensions.hasElements(props.config.additionalInformationKeys) && (\n \n )}\n {!viewState.isHeaderError &&\n !ArrayExtensions.hasElements(props.config.additionalInformationKeys) &&\n viewState.isCheckedIn &&\n confirmationComponent}\n \n );\n};\n\nexport default CheckInViewComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * 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 { IReviewModalViewProps } from '@msdyn365-commerce-modules/ratings-reviews';\nimport {\n IReportReviewModalViewProps,\n IReviewCardViewProps,\n IReviewsListState,\n IReviewsListViewProps\n} from '@msdyn365-commerce-modules/ratings-reviews/src/modules/reviews-list';\nimport { IModuleProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nconst ReviewsListview: React.FC = props => {\n const {\n averageRating,\n filterByDropdown,\n moduleProps,\n noReviewsMessage,\n noReviewsWithFilterMessage,\n pageControls,\n refineReviewsProps,\n reportReviewModal,\n reviewsListProps,\n reviewCards,\n reviewCount,\n reviewModal,\n sortByDropdown,\n state,\n userReview\n } = props;\n\n if (!userReview && reviewCards.length === 0 && !state.isFilterApplied) {\n return {noReviewsMessage};\n }\n\n return (\n \n {averageRating}\n {reviewCount}\n \n {sortByDropdown}\n {filterByDropdown}\n \n \n {userReview && buildReviewCard(userReview)}\n {reviewCards.map(review => {\n return buildReviewCard(review);\n })}\n \n {reviewCards.length === 0 && state.isFilterApplied && noReviewsWithFilterMessage}\n {pageControls}\n {createReviewModal(reviewModal, moduleProps)}\n {createReportModal(reportReviewModal, state)}\n \n );\n};\n\nconst buildReviewCard = (props: IReviewCardViewProps) => {\n return (\n \n \n {props.rating}\n {props.name}\n {props.date}\n \n \n \n {props.reviewTitle}\n {props.reviewText}\n \n \n {props.responseName}\n {props.responseDate}\n {props.responseText}\n \n \n {props.ratingHelpfulLabel}\n {props.like}\n {props.dislike}\n {props.edit}\n {props.report}\n \n \n \n );\n};\n\nconst createReviewModal = (props: IReviewModalViewProps, moduleProps: IModuleProps): JSX.Element => {\n return (\n \n {props.modalHeader}\n \n \n \n {props.rating}\n {props.ratingLabel}\n \n \n {props.titleLabel}\n {props.titleInput}\n \n \n {props.textLabel}\n {props.textInput}\n \n {props.privacyPolicyUrl}\n {props.error}\n \n \n \n {props.submitButton}\n {props.cancelButton}\n \n \n );\n};\n\nconst createReportModal = (props: IReportReviewModalViewProps, state: IReviewsListState): JSX.Element => {\n return (\n \n {state.reported ? props.headerSubmitted : props.header}\n \n {state.reported ? props.reportSubmittedMessage : [props.reportMessage, props.radioButtons, props.error]}\n \n {state.reported ? props.succesfulButton : [props.submitButton, props.cancelButton]}\n \n );\n};\n\nexport default ReviewsListview;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport classnames from 'classnames';\n\nimport { SalesOrder } from '@msdyn365-commerce/retail-proxy';\n\n/**\n * Class names used in component.\n */\nconst componentClassName = 'ms-order-history-with-search-and-filters-header';\nconst headingClassName = `${componentClassName}__heading`;\nconst orderCountClassName = `${componentClassName}__order-count`;\n\n/**\n * IOrderHistoryWithSearchAndFiltersHeaderResources interface.\n */\nexport interface IOrderHistoryWithSearchAndFiltersHeaderResources {\n orderCountLabel: string;\n ordersCountLabel: string;\n}\n\n/**\n * IOrderHistoryWithSearchAndFiltersHeaderData interface.\n */\nexport interface IOrderHistoryWithSearchAndFiltersHeaderData {\n salesOrders: SalesOrder[];\n}\n\n/**\n * IOrderHistoryWithSearchAndFiltersHeaderProps interface.\n */\nexport interface IOrderHistoryWithSearchAndFiltersHeaderProps\n extends Msdyn365.IComponentProps {\n className?: string;\n resources: IOrderHistoryWithSearchAndFiltersHeaderResources;\n textProps: Msdyn365.ITextProps;\n showOrderCount: boolean;\n extraActions?: React.ReactNode;\n onChange(event: Msdyn365.ContentEditableEvent): void;\n}\n\n/**\n * OrderHistoryWithSearchAndFiltersHeader component.\n * @param props - Configuration of the component.\n * @returns React node.\n */\nconst OrderHistoryWithSearchAndFiltersHeaderFunctionalComponent: React.FC = (\n props: IOrderHistoryWithSearchAndFiltersHeaderProps\n) => {\n const {\n resources,\n data: { salesOrders },\n textProps,\n showOrderCount,\n extraActions\n } = props;\n\n const orderCount = salesOrders?.length;\n const orderCountText = `(${orderCount} ${orderCount === 1 ? resources?.orderCountLabel : resources?.ordersCountLabel})`;\n\n return (\n \n {textProps?.text && (\n \n )}\n {showOrderCount && {orderCountText}}\n {extraActions}\n \n );\n};\n\n/**\n * OrderHistoryWithSearchAndFiltersHeader component.\n */\nexport const OrderHistoryWithSearchAndFiltersHeaderComponent: React.FunctionComponent = Msdyn365.msdyn365Commerce.createComponent<\n // @ts-expect-error\n IOrderHistoryWithSearchAndFiltersHeaderProps\n>('OrderHistoryWithSearchAndFiltersHeaderComponent', { component: OrderHistoryWithSearchAndFiltersHeaderFunctionalComponent });\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 { getRichTextHtml } from '@msdyn365-commerce/core';\nimport * as React from 'react';\n\n/**\n * Product specification table row.\n */\nexport interface IProductSpecificationTableRow {\n productName?: string;\n cellData?: React.ReactNode;\n className?: string;\n}\n\n/**\n * Product specification table row component.\n * @param props - For product specification table row.\n * @param props.productName - Product name.\n * @param props.cellData - Cell data.\n * @param props.className - Class name.\n * @returns - Returns JSX element.\n */\nexport const ProductSpecificationTableRow: React.FC = ({ productName, cellData, className }) => (\n \n \n {/* eslint-disable-next-line react/no-danger */}\n \n \n {cellData}\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 { AttributeValue } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { Drawer, IModuleProps, INodeProps, Module } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { reaction } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { validateCatalogId } from '@msdyn365-commerce-modules/retail-actions';\nimport { AttributesForSelectedVariantInput, getAttributesForSelectedVariant } from '../..';\nimport { ProductSpecificationTableRow } from './components/product-specification-table-stucture';\nimport { IProductSpecificationData } from './product-specification.data';\nimport { displayStyle, IProductSpecificationProps } from './product-specification.props.autogenerated';\n\n/**\n * Maintain Drawer State.\n */\nexport interface IProductSpecificationState {\n isDrawerOpen: boolean;\n isAdditionalMediaDrawerOpen: boolean;\n drawerListId: number | undefined;\n}\n\n/**\n * Product specification view props.\n */\nexport interface IProductSpecificationViewProps extends IProductSpecificationProps<{}> {\n ProductSpecification: IModuleProps;\n ProductSpecificationTableProps: INodeProps;\n ProductSpecificationTableBodyProps: INodeProps;\n productSpecificationResult?: (JSX.Element | null)[];\n\n title?: React.ReactNode;\n isAccrodion?: boolean;\n handleText?(event: Msdyn365.ContentEditableEvent): void;\n}\n\n/**\n * Check for display style either accordion or table.\n */\nexport interface IProductSpecificationExtentedProps extends IProductSpecificationProps {\n displayStyle?: displayStyle;\n}\n\n/**\n *\n * ProductSpecification component.\n * @extends {React.Component>}\n */\n@observer\nclass ProductSpecification extends React.Component {\n public constructor(props: IProductSpecificationExtentedProps) {\n super(props);\n this.state = {\n isDrawerOpen: false,\n isAdditionalMediaDrawerOpen: false,\n drawerListId: undefined\n };\n }\n\n public async componentDidMount(): Promise {\n const { context, data, telemetry } = this.props;\n const catalogId = Msdyn365.getCatalogId(this.props.context.request);\n validateCatalogId(catalogId);\n reaction(\n () => (data.product.result ? data.product.result.RecordId : null),\n () => {\n if (context && data.product.result) {\n const actionInput = new AttributesForSelectedVariantInput(\n data.product.result.RecordId,\n\n +context.actionContext.requestContext.apiSettings.channelId,\n data.product.result,\n catalogId\n );\n\n getAttributesForSelectedVariant(actionInput, this.props.context.actionContext).catch((error: Error) => {\n telemetry.error(error.message);\n telemetry.debug('Unable to update attributes for Product');\n telemetry.error(error.message);\n });\n }\n }\n );\n }\n\n public shouldComponentUpdate(nextProps: IProductSpecificationExtentedProps, nextState: IProductSpecificationState): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | null {\n let data: IProductSpecificationData;\n try {\n data = this.props.data;\n } catch (error) {\n this.props.telemetry.error(`Something went wrong ------${error}`);\n return
{error}
;\n }\n\n if (!data.productSpecificationData.result || data.productSpecificationData.result.length <= 0) {\n this.props.telemetry.error('Product specification content is empty, module wont render.');\n return null;\n }\n\n const { heading, className } = this.props.config;\n const { productSpecificationData } = this.props.data;\n const isAccrodion = this.props.config.displayStyle === displayStyle.accordion;\n const viewProps = {\n ...this.props,\n handleText: this.handleHeadingChange,\n ProductSpecification: {\n moduleProps: this.props,\n className: classnames('ms-product-specification', className)\n },\n ProductSpecificationTableProps: isAccrodion\n ? {\n moduleProps: this.props,\n className: classnames('ms-product-specification__accordion', className)\n }\n : {\n className: classnames('ms-product-specification__table table-striped table-bordered'),\n tag: 'table'\n },\n isAccrodion,\n ProductSpecificationTableBodyProps: isAccrodion\n ? {}\n : {\n className: '',\n tag: 'tbody'\n },\n title: heading?.text && (\n \n ),\n productSpecificationResult:\n productSpecificationData.result && (isAccrodion ? this._createDrawerBody(data) : this._createTableBody(data))\n } as IProductSpecificationViewProps;\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Handle Heading Text Change.\n * @param event - Current event.\n */\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n private _createTableBody(content: IProductSpecificationData): (JSX.Element | null)[] {\n const tableRows = content.productSpecificationData.result!.map((product, index) => {\n const cellData: JSX.Element | null = this._renderProductCell(product);\n\n if (!cellData) {\n return null;\n }\n\n return (\n <>\n \n \n );\n });\n\n if (this.props.context.request.app?.config?.OmniChannelMedia && this.props.data.additionalMediaLocations.result?.length) {\n tableRows.push(this._createAdditionalMediaDrawer());\n }\n\n return tableRows;\n }\n\n private _createDrawerBody(content: IProductSpecificationData): (JSX.Element | null)[] {\n const accordionItemContainer: IModuleProps = {\n moduleProps: this.props,\n className: 'ms-product-specification-title'\n };\n\n const drawers = content.productSpecificationData.result!.map(product => {\n const cellData: JSX.Element | null = this._renderProductCell(product);\n if (!cellData) {\n return null;\n }\n return (\n \n \n
{cellData}
\n \n
\n );\n });\n\n if (this.props.context.request.app?.config?.OmniChannelMedia && this.props.data.additionalMediaLocations.result?.length) {\n drawers.push(this._createAdditionalMediaDrawer());\n }\n\n return drawers;\n }\n private _createAdditionalMediaDrawer(): JSX.Element {\n const accordionItemContainer: IModuleProps = {\n moduleProps: this.props,\n className: 'ms-product-specification-title'\n };\n\n return (\n \n {\n this.setState(prevState => ({\n ...prevState,\n isAdditionalMediaDrawerOpen: !prevState.isAdditionalMediaDrawerOpen\n }));\n }}\n >\n
\n \n
\n \n
\n );\n }\n\n private readonly _toggle = (drawerListId: number | undefined) => (): void => {\n if (this.state.drawerListId !== drawerListId) {\n this.setState({ drawerListId, isDrawerOpen: true });\n } else {\n this.setState({ drawerListId: undefined, isDrawerOpen: false });\n }\n };\n\n private _renderProductCell(product: AttributeValue): JSX.Element | null {\n switch (product.DataTypeValue) {\n case 0: // None\n // Return span here instead of null so the row still shows\n return ;\n case 1: // Currency\n return this._renderCurrencyCell(product);\n case 2: // DateTime\n return this._renderDateTimeCell(product);\n case 3: // Decimal\n return this._renderDecimalCell(product);\n case 4: // Integer\n return this._renderIntegerCell(product);\n case 5: // Text\n return this._renderTextCell(product);\n case 6: // TrueFalse\n return this._renderTrueFalseCell(product);\n case 40: // Video\n this.props.telemetry.warning('Got video specification type, not supported yet so skipping line');\n return null;\n case 41: // Image\n this.props.telemetry.warning('Got image specification type, not supported yet so skipping line');\n return null;\n default:\n this.props.telemetry.warning(`Got unknown specification type ${product.DataTypeValue} so skipping line`);\n return null;\n }\n }\n\n private _renderCurrencyCell(product: AttributeValue): JSX.Element | null {\n if (product.CurrencyValue !== null && product.CurrencyValue !== undefined) {\n return (\n \n {product.CurrencyCode}\n {product.CurrencyValue}\n \n );\n }\n\n return null;\n }\n\n private _renderDateTimeCell(product: AttributeValue): JSX.Element | null {\n if (product.DateTimeOffsetValue?.toUTCString) {\n return {product.DateTimeOffsetValue.toUTCString()};\n }\n\n return null;\n }\n\n private _renderIntegerCell(product: AttributeValue): JSX.Element | null {\n if (product.IntegerValue !== null && product.IntegerValue !== undefined) {\n return {product.IntegerValue};\n }\n\n return null;\n }\n\n private _renderDecimalCell(product: AttributeValue): JSX.Element | null {\n if (product.FloatValue !== null && product.FloatValue !== undefined) {\n return {product.FloatValue};\n }\n\n return null;\n }\n\n private _renderTextCell(product: AttributeValue): JSX.Element | null {\n if (product.TextValue !== null && product.TextValue !== undefined) {\n // eslint-disable-next-line react/no-danger\n return ;\n }\n\n return null;\n }\n\n private _renderTrueFalseCell(product: AttributeValue): JSX.Element | null {\n // TODO 20369885 setting to default value is needed to work around a platform bug where\n // config string value does not get its default value.\n if (product.BooleanValue) {\n return {this.props.resources.trueValueText ? this.props.resources.trueValueText : 'Yes'};\n }\n return {this.props.resources.falseValueText ? this.props.resources.falseValueText : 'No'};\n }\n}\n\nexport default ProductSpecification;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ArrayExtensions, ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IProductSpecificationViewProps } from './product-specification';\n\nconst ProductSpecificationView: React.FC = props => {\n const { ProductSpecification, ProductSpecificationTableProps, ProductSpecificationTableBodyProps, productSpecificationResult } = props;\n const rowdata =\n productSpecificationResult &&\n ArrayExtensions.hasElements(productSpecificationResult) &&\n productSpecificationResult.filter(row => !ObjectExtensions.isNullOrUndefined(row));\n\n return rowdata && ArrayExtensions.hasElements(rowdata) ? (\n \n {props.title}\n \n {rowdata}\n \n \n ) : null;\n};\n\nexport default ProductSpecificationView;\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 { StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n getTelemetryObject,\n Heading,\n IComponentNodeProps,\n INodeProps,\n ISingleSlideCarouselProps,\n ITelemetryContent,\n NodeTag,\n SingleSlideCarousel\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { ITileListProps, ITitleData } from './tile-list.props.autogenerated';\n\n/**\n * Tile-list view props.\n */\nexport interface ITileListViewProps extends ITileListProps<{}> {\n title?: React.ReactNode;\n tiles: React.ReactNode[];\n tileItemContainer: INodeProps;\n tileListContainer: INodeProps;\n tileListHeading: INodeProps;\n singleSlideCarouselComponentProps: INodeProps;\n}\n\n/**\n *\n * TileList component.\n * @extends {React.PureComponent>}\n */\nexport class TileList extends React.PureComponent> {\n private readonly _telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n private static _createHeading(heading?: ITitleData): React.ReactNode | null {\n if (!heading || !heading.text || StringExtensions.isNullOrWhitespace(heading.text)) {\n return null;\n }\n return ;\n }\n public constructor(props: ITileListProps<{}>) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { resources } = this.props;\n const { title, className } = this.props.config;\n const propsCarousel: IComponentNodeProps = {\n tag: SingleSlideCarousel,\n className: this.props.config.className ?? '',\n flipperPrevLabel: resources.flipperPrevious,\n flipperNextLabel: resources.flipperNext,\n parentId: this.props.id,\n telemetryContent: this._telemetryContent,\n vertical: false\n };\n\n const viewProps = {\n ...this.props,\n title: TileList._createHeading(title),\n singleSlideCarouselComponentProps: propsCarousel,\n tileItemContainer: {\n tag: 'li' as NodeTag,\n className: 'ms-tile__item',\n role: 'listitem'\n },\n tileListContainer: { className: classnames('ms-tile-list', className) },\n tileListHeading: { className: 'ms-tile-list__heading' },\n tiles: this.props.slots.content\n };\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n}\n\nexport default TileList;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Node } from '@msdyn365-commerce-modules/utilities';\nimport React, { ReactNode } from 'react';\n\nimport { ITileListViewProps } from './tile-list';\n\n/**\n * View component.\n * @param props - The view properties.\n * @returns Returns props.\n */\nexport const tileListView: React.FC = props => {\n const { title, tiles, tileListContainer, tileListHeading, tileItemContainer, singleSlideCarouselComponentProps } = props;\n return (\n \n {title}\n \n {tiles.map((tileItem: ReactNode, index: number) => {\n const keyIndex = `tile-list-item__${index}`;\n return (\n \n {tileItem}\n \n );\n })}\n \n \n );\n};\n\nexport default tileListView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICheckoutCustomerAccountPaymentViewProps } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-customer-account-payment/checkout-customer-account-payment';\nimport { IAccountPaymentEditViewForm } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-customer-account-payment/components/get-account-payment-form-edit-mode';\nimport { IAccountPaymentSummaryViewForm } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-customer-account-payment/components/get-account-payment-form-summary-mode';\n\nexport const SummaryForm: React.FC = ({\n formProps,\n label,\n addPaymentButton,\n appliedLine,\n bottomBorder,\n paymentAmountInput\n}) => (\n \n <>\n {label}\n {paymentAmountInput}\n {addPaymentButton}\n {appliedLine}\n {bottomBorder}\n \n \n);\n\nexport const EditForm: React.FC = ({\n formProps,\n inputLabel,\n inputAmount,\n addPaymentButton,\n customerName,\n customerAccountNumber,\n customerSince,\n accountCredit,\n alert,\n accountDetails,\n appliedLine,\n bottomBorder\n}) => (\n \n <>\n {customerName}\n {customerAccountNumber}\n {customerSince}\n {accountCredit}\n {accountDetails}\n {inputLabel}\n {alert}\n {inputAmount}\n {addPaymentButton}\n {appliedLine}\n {bottomBorder}\n \n \n);\n\nconst CheckoutCustomerAccountView: React.FC = props => {\n const { checkoutCustomerAccount, checkoutErrorRef, summaryView, editView, moduleState, alert } = props;\n return (\n \n {alert}\n {moduleState.isReady && summaryView && }\n {!moduleState.isReady && editView && }\n \n );\n};\n\nexport default CheckoutCustomerAccountView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n IGroup,\n IGroupDelivery,\n IGroups,\n IHeader,\n IList,\n IOrderHistoryViewProps,\n IOrderInformation,\n ISalesOrder\n} from '@msdyn365-commerce-modules/order-management';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport const OrderHistoryOrderInfomation: React.FC = ({\n orderInformationProps,\n salesId,\n receiptId,\n channelName,\n createdDate,\n count,\n amount,\n channelReferenceId\n}) => (\n \n {channelName}\n {salesId}\n {receiptId}\n {createdDate}\n {count}\n {amount}\n {channelReferenceId}\n \n);\n\nexport const OrderHistoryGroupDelivery: React.FC = ({\n deliveryProps,\n heading,\n count,\n processing,\n address,\n trackingInfo\n}) => (\n \n {heading}\n {count}\n {processing}\n {address}\n {trackingInfo}\n \n);\n\nexport const OrderHistoryGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\n \n {salesLines && (\n \n {salesLines.map(salesLine => (\n {salesLine.salesLine}\n ))}\n \n )}\n \n);\n\nexport const OrderHistoryGroups: React.FC = ({ groupsProps, groups }) => (\n \n {groups.map((group, index) => (\n \n ))}\n \n);\n\nexport const OrderHistoryHeader: React.FC = ({ headerProps, heading, orderCountLabel, extraActions }) => (\n \n {heading}\n {orderCountLabel}\n {extraActions}\n \n);\n\nexport const OrderHistorySalesOder: React.FC = ({\n salesOrderProps,\n orderInfomation,\n groups,\n orderDetailsLink,\n expandProductsButton\n}) => (\n \n
\n {orderInfomation.placedBy && {orderInfomation.placedBy}}\n
{orderInfomation && }
\n
\n {groups && }\n {expandProductsButton}\n {orderDetailsLink}\n
\n);\n\nexport const OrderHistoryList: React.FC = ({ listProps, salesOrders }) => (\n \n {salesOrders && salesOrders.map((salesOrder, index) => )}\n \n);\n\nconst OrderHistoryView: React.FC = ({\n orderHistoryProps,\n header,\n alert,\n loading,\n emptyMessage,\n backToShoppingLink,\n list,\n table,\n moreButton\n}) => (\n \n {header && }\n {loading}\n {alert && (\n <>\n {alert}\n {backToShoppingLink}\n \n )}\n {emptyMessage && (\n \n {emptyMessage}\n {backToShoppingLink}\n \n )}\n {list && }\n {table}\n {moreButton && moreButton}\n \n);\n\nexport default OrderHistoryView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ISearchData, ISearchViewProps } from '@msdyn365-commerce-modules/search';\nimport { Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\n\n/**\n * Render Categories heading.\n * @param inCategoriesHeading - The Keywords result heading.\n * @returns The JSX Element.\n */\nconst renderCategorySuggestionsTitle = (inCategoriesHeading: string): JSX.Element => {\n const categoryAutoSuggestionHeading = inCategoriesHeading ? inCategoriesHeading : 'In categories';\n\n return
{categoryAutoSuggestionHeading}
;\n};\n\n/**\n * Render Categories suggestion result.\n * @param inCategoriesHeading - The Categories result heading.\n * @param noResultText - The \"No Result\" text.\n * @param props - The Categories suggestion result.\n * @param isLoadingAutoSuggest - The autosuggestion loading flag.\n * @param isLoadingNode - The autosuggestion loading node.\n * @returns The JSX Element.\n */\nexport const CategorySuggestionsComponent = (\n inCategoriesHeading: string,\n noResultText: string,\n props: ISearchViewProps & ISearchProps,\n isLoadingAutoSuggest?: boolean,\n isLoadingNode?: React.ReactNode\n): JSX.Element => {\n return props.autosuggestCategory ? (\n \n {renderCategorySuggestionsTitle(inCategoriesHeading)}\n \n {isLoadingAutoSuggest && isLoadingNode}\n {!isLoadingAutoSuggest &&\n props.autosuggestCategory.text.map(text => {\n return text;\n })}\n \n \n ) : (\n \n {renderCategorySuggestionsTitle(inCategoriesHeading)}\n \n
  • {noResultText}
  • \n
    \n
    \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IImageData, Image } from '@msdyn365-commerce/core';\nimport { ISearchData } from '@msdyn365-commerce-modules/search';\nimport { Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\n\n/**\n * Render Products Suggestion result heading.\n * @param props -The props.\n * @returns The JSX Element.\n */\nconst renderProductNotFoundResultsImage = (props: ISearchProps): JSX.Element | null => {\n const noSearchResultImage: IImageData | undefined = props.config.noSearchResultImage;\n if (!noSearchResultImage || !noSearchResultImage.src) {\n return null;\n }\n const imageSettings = {\n lazyload: true,\n viewports: {\n xs: { w: 100, h: 100, q: 'w=100&h=100&q=60&m=6' }\n }\n };\n return (\n \n );\n};\n\n/**\n * Render Product suggestion result.\n * @param props -The props.\n * @returns The JSX Element.\n */\nexport const MobileAutoSuggestEmptyComponent = (props: ISearchProps): JSX.Element => {\n return (\n \n
    {renderProductNotFoundResultsImage(props)}
    \n
    \n
    {props.resources.emptyMobileSearchTextHeading}
    \n
    {props.resources.emptyMobileSearchText}
    \n
    \n
    \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ISearchData, ISearchFormViewProps } from '@msdyn365-commerce-modules/search';\nimport { Button, INodeProps, Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\nimport { MobileAutoSuggestEmptyComponent } from './search.mobile.empty';\n\n/**\n * Render Clear button for mobile viewport.\n * @param clearSearchButtonText -The Clear button text.\n * @param clearSearch -Clear Search callback.\n * @returns -The JSX Element.\n */\nconst renderClearButton = (clearSearchButtonText: string, clearSearch: () => void): JSX.Element => {\n return (\n \n );\n};\n\n/**\n * Render Search form.\n * @param form -Form view props.\n * @param searchForm -Search Form props.\n * @param formWrapper -Form Wrapper props.\n * @param isMobile -Is mobile viewport flag.\n * @param clearSearchButtonText -The Clear button text.\n * @param props -The props for resource.\n * @param isSearchText -Is SearchText flag for input text.\n * @param clearSearch -Clear Search callback.\n * @returns -The JSX Element.\n */\nexport const FormComponent = (\n form: ISearchFormViewProps,\n searchForm: INodeProps,\n formWrapper: INodeProps,\n isMobile: boolean,\n clearSearchButtonText: string,\n props: ISearchProps,\n isSearchText: boolean,\n clearSearch: () => void\n): JSX.Element => {\n const cancelButtonNode = (\n \n );\n\n return isMobile ? (\n \n {form.cancelBtn}\n \n {form.input}\n {isSearchText && renderClearButton(clearSearchButtonText, clearSearch)}\n {!isSearchText ? MobileAutoSuggestEmptyComponent(props) : null}\n \n \n ) : (\n \n \n {form.submitBtn}\n {form.input}\n {isSearchText && cancelButtonNode}\n \n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ISearchKeywordViewProps } from '@msdyn365-commerce-modules/search';\nimport { INodeProps, Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\n/**\n * Render keywords heading.\n * @param keywordsHeading -The Keywords result heading.\n * @returns The JSX Element.\n */\nconst renderKeywordSuggestionsTitle = (keywordsHeading: string): JSX.Element => {\n const categoryAutoSuggestionHeading = keywordsHeading ? keywordsHeading : 'Keywords';\n\n return
    {categoryAutoSuggestionHeading}
    ;\n};\n\n/**\n * Render keywords reults.\n * @param keywordSuggest -The Keywords suggest Node props.\n * @param ulKeyword -The List Node props.\n * @param keywordsHeading -The Keywords result heading.\n * @param noResultText -The \"No Result\" text.\n * @param keywordSuggestions -The Keywords suggestion result.\n * @param isLoadingAutoSuggest - The autosuggestion loading flag.\n * @param isLoadingNode - The autosuggestion loading node.\n * @returns -The JSX Element.\n */\nexport const KeywordSuggestionsComponent = (\n keywordSuggest: INodeProps,\n ulKeyword: INodeProps,\n keywordsHeading: string,\n noResultText: string,\n keywordSuggestions?: ISearchKeywordViewProps,\n isLoadingAutoSuggest?: boolean,\n isLoadingNode?: React.ReactNode\n): JSX.Element => {\n return keywordSuggestions ? (\n \n {renderKeywordSuggestionsTitle(keywordsHeading)}\n \n {isLoadingAutoSuggest && isLoadingNode}\n {!isLoadingAutoSuggest &&\n keywordSuggestions.text.map(text => {\n return text;\n })}\n \n \n ) : (\n \n {renderKeywordSuggestionsTitle(keywordsHeading)}\n \n
  • {noResultText}
  • \n
    \n
    \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IImageData, Image } from '@msdyn365-commerce/core';\nimport { ISearchData, ISearchProductViewProps } from '@msdyn365-commerce-modules/search';\nimport { INodeProps, Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\n\n/**\n * Render Products Suggestion result heading.\n * @param productSuggestionsHeading -The products suggestion result heading.\n * @returns The JSX Element.\n */\nconst renderProductSuggestionsTitle = (productSuggestionsHeading: string): JSX.Element => {\n const productAutoSuggestionHeading = productSuggestionsHeading ? productSuggestionsHeading : 'Products';\n\n return
    {productAutoSuggestionHeading}
    ;\n};\n\n/**\n * Render Products Suggestion result heading.\n * @param props -The props.\n * @returns The JSX Element.\n */\nconst renderProductNotFoundResultsImage = (props: ISearchProps): JSX.Element | null => {\n const noSearchResultImage: IImageData | undefined = props.config.noSearchResultImage;\n if (!noSearchResultImage || !noSearchResultImage.src) {\n return null;\n }\n return (\n \n );\n};\n\n/**\n * Render Products No result section.\n * @param props -The props.\n * @returns The JSX Element.\n */\nconst renderProductNotFoundResults = (props: ISearchProps): JSX.Element => {\n return (\n \n
    {renderProductNotFoundResultsImage(props)}
    \n
    {props.resources.noResultContentHeadingText}
    \n
    \n {props.resources.noResultContentParagraphText}\n
    \n
    \n );\n};\n\n/**\n * Render Product suggestion result.\n * @param productSuggest -The product suggest Node props.\n * @param ulProduct -The List Node props.\n * @param props -The props.\n * @param productSuggestions -The Product suggestion result.\n * @param isLoadingAutoSuggest - The autosuggestion loading flag.\n * @param isLoadingNode - The autosuggestion loading node.\n * @returns The JSX Element.\n */\nexport const ProductSuggestionsComponent = (\n productSuggest: INodeProps,\n ulProduct: INodeProps,\n props: ISearchProps,\n productSuggestions?: ISearchProductViewProps,\n isLoadingAutoSuggest?: boolean,\n isLoadingNode?: React.ReactNode\n): JSX.Element => {\n const liProduct: INodeProps = {\n tag: 'li',\n className: 'msc-no-result-content'\n };\n return productSuggestions ? (\n \n {renderProductSuggestionsTitle(props.resources.productSuggestionHeading)}\n \n {isLoadingAutoSuggest && isLoadingNode}\n {!isLoadingAutoSuggest &&\n productSuggestions.items.map((item, index) => {\n return (\n \n \n {item.thumbnail}\n {item.text}\n {item.price}\n \n \n );\n })}\n \n \n ) : (\n \n {renderProductSuggestionsTitle(props.resources.productSuggestionHeading)}\n \n {renderProductNotFoundResults(props)}\n \n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { ISearchData, ISearchFormViewProps, ISearchViewProps } from '@msdyn365-commerce-modules/search';\nimport { Button, format, isMobile, Module, Node, VariantType } from '@msdyn365-commerce-modules/utilities';\nimport React, { useCallback, useEffect, useState } from 'react';\n\nimport { ISearchProps } from '../definition-extensions/search.ext.props.autogenerated';\nimport { CategorySuggestionsComponent } from './components/search.categorysuggest';\nimport { FormComponent } from './components/search.form';\nimport { KeywordSuggestionsComponent } from './components/search.keywordsuggest';\nimport { ProductSuggestionsComponent } from './components/search.productsuggest';\n\n/**\n * Render Title for AutoSuggest.\n * @param searchSuggestionHeading -The heading resource string.\n * @param searchText -The search string.\n * @returns -The JSX Element.\n */\nconst renderTitle = (searchSuggestionHeading: string, searchText: string): JSX.Element => {\n const searchTextString = '\"'.concat(searchText.concat('\"'));\n const searchAutoSuggestionHeading = searchSuggestionHeading\n ? format(searchSuggestionHeading, searchTextString)\n : `Search for ${searchTextString}`;\n\n return {searchAutoSuggestionHeading};\n};\n\n/**\n * Search View.\n * @param props - The view props.\n * @returns The JSX Element.\n */\nconst SearchView: React.FC> = (\n props: ISearchViewProps & ISearchProps\n): JSX.Element => {\n const {\n Search,\n AutoSuggestAriaLabel,\n AutoSuggestAriaLabelText,\n searchText,\n AutoSuggest,\n KeywordSuggest,\n ProductSuggest,\n UlKeyword,\n UlProduct,\n form,\n autosuggestKeyword,\n autosuggestProduct,\n SearchForm,\n FormWrapper,\n label,\n context,\n isLoadingAutoSuggest,\n isLoadingNode,\n callbacks: { handleCancelSearchFocused }\n } = props;\n\n const { searchSuggestionHeading, categorySuggestionHeading, keywordsHeading, noResultText, clearSearchButtonText } = props.resources;\n\n const [searchTextString, setSearchTextString] = useState();\n const [isMobilePort, setIsMobile] = useState(false);\n\n useEffect(() => {\n setSearchTextString(searchText);\n }, [searchText]);\n\n /**\n * ClearSearch callback method to clear search string.\n */\n const clearSearch = (): void => {\n setSearchTextString('');\n\n const propsForm = props.form as ISearchFormViewProps;\n const propsFormInput = propsForm.input as React.DetailedHTMLProps, HTMLInputElement>;\n const propsFormInputCurrent = (propsFormInput.ref as React.RefObject).current;\n\n if (propsFormInputCurrent) {\n propsFormInputCurrent.value = '';\n }\n\n propsFormInput.value = '';\n props.searchText = '';\n props.FormWrapper.action = '';\n };\n\n const isMobileViewport = useCallback(() => {\n const isMobileView = isMobile({ variant: VariantType.Browser, context: context.request }) === 'xs';\n setIsMobile(isMobileView);\n }, [context]);\n\n useEffect(() => {\n window.addEventListener('resize', isMobileViewport);\n isMobileViewport();\n }, [isMobileViewport]);\n\n const viewport = isMobile({ variant: VariantType.Browser, context: context.request });\n\n const isMobileView = viewport === 'sm' || viewport === 'xs';\n\n AutoSuggest.className = !StringExtensions.isNullOrEmpty(searchTextString)\n ? `${AutoSuggest.className} show`\n : `${AutoSuggest.className} hide`;\n const isSearchText: boolean = !StringExtensions.isNullOrEmpty(searchTextString);\n\n return (\n \n {label}\n {FormComponent(\n form as ISearchFormViewProps,\n SearchForm,\n FormWrapper,\n isMobilePort,\n clearSearchButtonText,\n props,\n isSearchText,\n clearSearch\n )}\n {!isMobileView && (\n \n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\n {AutoSuggestAriaLabelText}\n ) : (\n ''\n )}\n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\n <>\n \n \n {renderTitle(searchSuggestionHeading, searchText)}\n \n \n \n {CategorySuggestionsComponent(\n categorySuggestionHeading,\n noResultText,\n props,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n {KeywordSuggestionsComponent(\n KeywordSuggest,\n UlKeyword,\n keywordsHeading,\n noResultText,\n autosuggestKeyword,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n \n {ProductSuggestionsComponent(\n ProductSuggest,\n UlProduct,\n props,\n autosuggestProduct,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n \n \n ) : null}\n \n )}\n {isMobileView && props.isSearchFormExpanded && (\n \n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\n {AutoSuggestAriaLabelText}\n ) : (\n ''\n )}\n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\n <>\n \n {(form as ISearchFormViewProps).cancelBtn}\n {renderTitle(searchSuggestionHeading, searchText)}\n \n \n \n {CategorySuggestionsComponent(\n categorySuggestionHeading,\n noResultText,\n props,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n {KeywordSuggestionsComponent(\n KeywordSuggest,\n UlKeyword,\n keywordsHeading,\n noResultText,\n autosuggestKeyword,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n \n {ProductSuggestionsComponent(\n ProductSuggest,\n UlProduct,\n props,\n autosuggestProduct,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n \n \n ) : null}\n \n )}\n \n );\n};\nexport default SearchView;\n"],"names":["props","contentBlockContainer","imageContainer","detailsContainer","title","text","links","image","contentBlockAnchorTag","imageLink","imageAriaLabel","additionalParagraph","config","contentBlockAdditionalText","React","Node","className","Msdyn365","Module","Object","assign","href","OrderHistoryOrderInfomation","_ref","orderInformationProps","receiptId","channelName","createdDate","count","amount","channelReferenceId","OrderHistoryGroupDelivery","_ref2","deliveryProps","heading","processing","address","trackingInfo","OrderHistoryGroup","_ref3","groupProps","salesLinesProps","salesLines","map","salesLine","key","data","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","histogramItem","buttonProps","starLabel","bar","percentage","histogramItems","histogramProps","moduleProps","item","OrganizationUsersTile","description","CatalogPicker","constructor","super","handleTextChange","event","this","target","value","handleParagraphChange","paragraph","render","_heading$tag","_this$props$data$cata","catalogPickerHeading","Text","_moduleClassName","tag","editProps","onEdit","requestContext","context","request","isCatalogsAvailable","ArrayExtensions","hasElements","catalogs","result","catalogPickerParagraph","RichTextComponent","resources","catalogValidationText","viewProps","_objectSpread","handleText","catalogPicker","_renderCatalogPicker","renderView","_renderCatalogPickerButton","catalogId","RecordId","getCatalogId","currentCatalogText","linkToCatalog","isBrowser","_getUrlSync","catalogUrl","getUrlSync","actionContext","fullUrl","URL","window","location","searchParams","set","Button","changeCatalogButtonText","_this$props$data$cata2","role","reactKey","JSON","stringify","String","firstOrDefault","Images","tabIndex","Name","Image","src","generateImageUrl","apiSettings","Uri","gridSettings","imageSettings","galleryImageSettings","altText","AltText","loadFailureBehavior","CatalogPickerViewFunctionComponent","CheckInConfirmationComponent","confirmationText","shouldShowQrCode","channelReferenceIdLabel","QRCode","size","CheckInErrorComponent","errorMessage","CheckInForPickup","checkInForOrderPickup","async","channelId","Number","parseInt","query","packingSlipId","additionalInformationToSubmit","additionalInformationList","additionalInformationKeyValuePair","_additionalInformatio","formKey","resourceId","extensionPropertyList","ObjectExtensions","isNullOrUndefined","additionalInformation","push","Key","Value","StringValue","SalesOrdersDataActions","callerContext","queryResultSettings","error","setState","headerErrorMessage","genericErrorMessage","isCheckedIn","telemetry","Promise","resolve","_onInit","_this$props$context$r","_this$props$context$r2","_this$props$context$r3","_this$props$context$r4","isNaN","params","isEditor","isPreview","requiredParameterMissingErrorMessage","additionalInformationKeys","state","_this$props$context$r5","isHeaderError","headerError","confirmationComponent","defaultConfirmationText","confirmationIdLabel","additionalInformationValues","undefined","viewState","shouldComponentUpdate","nextProps","nextState","additionalInformationHeading","_props$config$additio","FormBuilder","additionalInformationDefaultHeading","submitButtonText","additionalInformationSubmitButtonText","keys","requiredValueMissingErrorMessage","onSubmit","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","additionalContentNode","additionalContentItems","ContentCardLinks","_mapEditableLinks","linkdata","length","editableLinks","forEach","payLoad","getPayloadObject","telemetryContent","contentAction","etext","attributes","getTelemetryAttributes","btnClass","additionalProperties","onClick","onTelemetryClick","ContentBlock","getTelemetryObject","telemetryPageName","friendlyName","handleLinkTextChange","_this$props$config$im","contentBlockTitle","contentBlockLinks","LinksComponent","msdyn365__moduleLayout","contentBlockText","contentBlockImageSettings","backgroundColor","imageProps","contentBlockImage","preserveImageSpace","moduleType","typeName","imagePropertyName","moduleId","id","layout","shouldSkipToMainImage","contentBlockContainerStyle","contentBlockviewProps","moduleClass","classnames","style","_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","cart","hasInvoiceLine","CartlinesWrapper","orderSummaryHeading","OrderSummaryWrapper","invoiceSummaryLineitems","orderSummaryLineitems","OrderSummaryErrors","checkoutAsSignInUserButton","checkoutAsGuestButton","expressCheckoutButton","ExpressCheckoutSectionWrapper","createTemplateFromCartButton","salesId","delivery","orderCountLabel","expandProductsButton","table","buildReviewCard","cardProps","rating","name","date","cardBodyProps","reviewProps","reviewTitle","reviewText","responseProps","responseName","responseDate","responseText","controlsProps","ratingHelpfulLabel","like","dislike","edit","report","createReviewModal","modal","modalHeader","modalBody","form","inputRow","ratingLabel","titleLabel","titleInput","textLabel","textInput","privacyPolicyUrl","modalFooter","submitButton","cancelButton","createReportModal","reported","headerSubmitted","reportSubmittedMessage","reportMessage","radioButtons","succesfulButton","averageRating","filterByDropdown","noReviewsMessage","noReviewsWithFilterMessage","pageControls","refineReviewsProps","reportReviewModal","reviewsListProps","reviewCards","reviewCount","reviewModal","sortByDropdown","userReview","isFilterApplied","review","componentClassName","headingClassName","orderCountClassName","OrderHistoryWithSearchAndFiltersHeaderComponent","createComponent","component","textProps","showOrderCount","orderCount","orderCountText","ordersCountLabel","onChange","labelGroup","renderErrorLabel","responseErrorMessage","errorMessageClassName","renderRegisteredUserMessage","signInUrl","signInLinkClassName","registeredUserClassName","orderLookupRegisteredUserText","orderLookupViewAccountText","orderLookupSignInLinkText","message","infoMessage","signInText","renderFieldErrors","orderLookupFieldValidationErrorMessage","RenderOrderLookupAdditionalFieldInput","_getOrderLookupAdditionalFields","additionalFieldLabel","additionalFieldError","additionalFieldInput","additionalFieldLabelClassName","type","inputType","isValidAdditionalFieldName","additionalFieldValidationMessage","__decorate","observer","RenderOrderLookupFormFields","_getOrderLookupFields","label","input","orderLookupLabelClassName","orderLookupLabel","ref","inputReference","fieldErrorClassName","isInputTypeError","renderAlert","isValidInputField","OrderLookupSearchValues","OrderLookup","isEmailValue","isOrderNumberValue","orderLookupExtensibleEnum","handleSubmit","orderNumber","email","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","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","orderNumberInput","disabled","submitButtonLabelText","fieldErrorMessage","registeredUserMessage","user","submit","_renderAdditionalFields","_getExtensibleEnumera","_getExtensibleEnumera2","isOrderLookupAdditionalFieldValid","isOrderLookupFieldValid","getExtensibleEnumerations","StoreOperationsDataActions","find","TypeName","ExtensibleEnumerations","orderLookupAdditionalParameter","validateOrderLookupField","orderStatusLookUpParameter","isValidField","validateOrderLookupAdditionalField","orderStatusLookUpAdditionalParameters","isValidAdditionalField","_item$fieldKey","fieldKey","validateAdditionalFieldWithProxy","some","setLookupFieldState","additionalFieldsInput","OrderLookupViewComponent","_orderLookupForm$clas","_submitButton$classNa","ProductSpecificationTableRow","productName","cellData","scope","dangerouslySetInnerHTML","getRichTextHtml","ProductSpecification","handleHeadingChange","_toggle","drawerListId","isDrawerOpen","isAdditionalMediaDrawerOpen","validateCatalogId","reaction","product","actionInput","AttributesForSelectedVariantInput","getAttributesForSelectedVariant","catch","debug","productSpecificationData","isAccrodion","displayStyle","ProductSpecificationTableProps","ProductSpecificationTableBodyProps","productSpecificationResult","_createDrawerBody","_createTableBody","content","_this$props$data$addi","tableRows","_renderProductCell","app","OmniChannelMedia","additionalMediaLocations","_createAdditionalMediaDrawer","_this$props$data$addi2","accordionItemContainer","drawers","_product$Name","Drawer","collapseProps","timeout","isOpen","openGlyph","closeGlyph","glyphPlacement","toggleButtonText","onToggle","additionalDownloadsText","prevState","mediaLocation","download","DataTypeValue","_renderCurrencyCell","_renderDateTimeCell","_renderDecimalCell","_renderIntegerCell","_renderTextCell","_renderTrueFalseCell","warning","CurrencyValue","CurrencyCode","_product$DateTimeOffs","DateTimeOffsetValue","toUTCString","IntegerValue","FloatValue","TextValue","BooleanValue","trueValueText","falseValueText","rowdata","filter","row","SocialShare","slots","socialShareItems","cookies","isConsentGiven","viewprops","SocialShareList","caption","orientation","SocialShareItem","SocialShareItemElements","SocialShareView","SocialShareElement","TileList","_telemetryContent","Heading","_this$props$config$cl","propsCarousel","SingleSlideCarousel","flipperPrevLabel","flipperPrevious","flipperNextLabel","flipperNext","parentId","vertical","_createHeading","singleSlideCarouselComponentProps","tileItemContainer","tileListContainer","tileListHeading","tiles","tileListView","tileItem","keyIndex","SummaryForm","formProps","addPaymentButton","appliedLine","bottomBorder","paymentAmountInput","EditForm","inputLabel","inputAmount","customerName","customerAccountNumber","customerSince","accountCredit","accountDetails","checkoutCustomerAccount","checkoutErrorRef","summaryView","editView","moduleState","isReady","placedBy","renderCategorySuggestionsTitle","inCategoriesHeading","categoryAutoSuggestionHeading","CategorySuggestionsComponent","noResultText","isLoadingAutoSuggest","isLoadingNode","autosuggestCategory","CategorySuggest","UlCategory","MobileAutoSuggestEmptyComponent","noSearchResultImage","lazyload","viewports","xs","w","h","q","renderProductNotFoundResultsImage","emptyMobileSearchTextHeading","emptyMobileSearchText","FormComponent","searchForm","formWrapper","isMobile","clearSearchButtonText","isSearchText","clearSearch","cancelButtonNode","cancelBtnAriaLabel","cancelBtn","renderClearButton","submitBtn","renderKeywordSuggestionsTitle","keywordsHeading","KeywordSuggestionsComponent","keywordSuggest","ulKeyword","keywordSuggestions","renderProductSuggestionsTitle","productSuggestionsHeading","productAutoSuggestionHeading","renderProductNotFoundResults","noResultContentHeadingText","noResultContentParagraphText","ProductSuggestionsComponent","productSuggest","ulProduct","productSuggestions","productSuggestionHeading","_item$id","LiProduct","AProduct","thumbnail","price","renderTitle","searchSuggestionHeading","searchText","searchTextString","concat","searchAutoSuggestionHeading","format","Search","AutoSuggestAriaLabel","AutoSuggestAriaLabelText","AutoSuggest","KeywordSuggest","ProductSuggest","UlKeyword","UlProduct","autosuggestKeyword","autosuggestProduct","SearchForm","FormWrapper","handleCancelSearchFocused","categorySuggestionHeading","setSearchTextString","useState","isMobilePort","setIsMobile","useEffect","propsFormInput","propsFormInputCurrent","action","isMobileViewport","useCallback","isMobileView","variant","VariantType","Browser","addEventListener","viewport","onBlur","isSearchFormExpanded"],"sourceRoot":""}