{"version":3,"file":"static/js/13.aa1b9bcf6a59758e61c2.chunk.js","mappings":"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","sources":["webpack://msdyn365-lxs-master-theme/./src/components/alert.tsx?b7ad","webpack://msdyn365-lxs-master-theme/./src/components/modal.tsx?9ee9","webpack://msdyn365-lxs-master-theme/./src/components/tooltip.tsx?aefd","webpack://msdyn365-lxs-master-theme/./src/configuration/punctuations.ts?567f","webpack://msdyn365-lxs-master-theme/./src/configuration/debounce-input-delay.ts?ccfa","webpack://msdyn365-lxs-master-theme/./src/configuration/create-order.ts?6b0d","webpack://msdyn365-lxs-master-theme/./src/configuration/error-codes.ts?249e","webpack://msdyn365-lxs-master-theme/./src/configuration/tooltip.ts?0d42","webpack://msdyn365-lxs-master-theme/./src/configuration/total-price-default.ts?b7fb","webpack://msdyn365-lxs-master-theme/./src/configuration/status-codes.ts?4c3a","webpack://msdyn365-lxs-master-theme/./src/configuration/order-history.ts?ce2d","webpack://msdyn365-lxs-master-theme/./src/configuration/back-to-top-footer.ts?29ba","webpack://msdyn365-lxs-master-theme/./src/modules/cip-back-top-footer/cip-back-top-footer.tsx?5dfd","webpack://msdyn365-lxs-master-theme/./src/modules/cip-back-top-footer/cip-back-top-footer.view.tsx?de17","webpack://msdyn365-lxs-master-theme/./src/modules/order-details/order-details.tsx?e93b","webpack://msdyn365-lxs-master-theme/./src/modules/order-details/components/get-reorder-url.ts?9f44","webpack://msdyn365-lxs-master-theme/./src/modules/order-details/components/order-items-table.tsx?3efb","webpack://msdyn365-lxs-master-theme/./src/modules/order-details/components/document-download-item.tsx?24e7","webpack://msdyn365-lxs-master-theme/./src/modules/order-details/components/documents-table.tsx?8268","webpack://msdyn365-lxs-master-theme/./src/modules/order-details/components/general-information-section.tsx?c2d4","webpack://msdyn365-lxs-master-theme/./src/modules/order-details/components/address-information-section.tsx?ef54","webpack://msdyn365-lxs-master-theme/./src/modules/order-details/components/order-information-section.tsx?b533","webpack://msdyn365-lxs-master-theme/./src/modules/order-details/order-details.view.tsx?2f91","webpack://msdyn365-lxs-master-theme/./src/utilities/format-address.ts?ebd9","webpack://msdyn365-lxs-master-theme/./src/utilities/convert-html-to-plain-text.ts?7a71","webpack://msdyn365-lxs-master-theme/./src/utilities/convert-sap-to-html-line-breaks.ts?e5c4","webpack://msdyn365-lxs-master-theme/./src/utilities/convert-sap-to-newline-line-breaks.ts?e631","webpack://msdyn365-lxs-master-theme/./src/utilities/convert-newline-to-sap-line-breaks.ts?efdf","webpack://msdyn365-lxs-master-theme/./src/utilities/format-currency.ts?a84f","webpack://msdyn365-lxs-master-theme/./src/utilities/format-date.ts?1998","webpack://msdyn365-lxs-master-theme/./src/utilities/format-number.ts?628f","webpack://msdyn365-lxs-master-theme/./src/utilities/format-time.ts?9fe6","webpack://msdyn365-lxs-master-theme/./src/utilities/map-item-status-code-to-text.ts?338d","webpack://msdyn365-lxs-master-theme/./src/utilities/map-overall-status-code-to-text.ts?279a","webpack://msdyn365-lxs-master-theme/./src/utilities/format-status-code-for-tooltip.tsx?878f","webpack://msdyn365-lxs-master-theme/./src/modules/check-in-for-pickup/check-in-confirmation.tsx?406f","webpack://msdyn365-lxs-master-theme/./src/modules/check-in-for-pickup/check-in-error.tsx?e789","webpack://msdyn365-lxs-master-theme/./src/modules/check-in-for-pickup/check-in-for-pickup.tsx?8686","webpack://msdyn365-lxs-master-theme/./src/modules/check-in-for-pickup/check-in-for-pickup.view.tsx?bd7a","webpack://msdyn365-lxs-master-theme/./src/modules/cookie-compliance/components/accept-button.tsx?8e73","webpack://msdyn365-lxs-master-theme/./src/modules/cookie-compliance/components/links.tsx?97b8","webpack://msdyn365-lxs-master-theme/./src/modules/cookie-compliance/cookie-compliance.tsx?02ac","webpack://msdyn365-lxs-master-theme/./src/modules/cookie-compliance/cookie-compliance.view.tsx?a33f","webpack://msdyn365-lxs-master-theme/./src/modules/iframe/iframe.tsx?65fe","webpack://msdyn365-lxs-master-theme/./src/modules/iframe/iframe.view.tsx?a7d6","webpack://msdyn365-lxs-master-theme/./src/modules/order-history-with-search-and-filters/components/order-history-with-search-and-filters-header.component.tsx?3609","webpack://msdyn365-lxs-master-theme/./src/modules/adventureworks/views/b2b-requests-status.view.tsx?de3b","webpack://msdyn365-lxs-master-theme/./src/modules/adventureworks/views/cart.view.tsx?3909","webpack://msdyn365-lxs-master-theme/./src/modules/adventureworks/views/order-details.view.tsx?027b","webpack://msdyn365-lxs-master-theme/./src/modules/adventureworks/views/order-history.view.tsx?692d","webpack://msdyn365-lxs-master-theme/./src/modules/adventureworks/views/components/search.categorysuggest.tsx?6bcf","webpack://msdyn365-lxs-master-theme/./src/modules/adventureworks/views/components/search.mobile.empty.tsx?ff32","webpack://msdyn365-lxs-master-theme/./src/modules/adventureworks/views/components/search.form.tsx?d41a","webpack://msdyn365-lxs-master-theme/./src/modules/adventureworks/views/components/search.keywordsuggest.tsx?2724","webpack://msdyn365-lxs-master-theme/./src/modules/adventureworks/views/components/search.productsuggest.tsx?6616","webpack://msdyn365-lxs-master-theme/./src/modules/adventureworks/views/search.view.tsx?bfa7","webpack://msdyn365-lxs-master-theme/./src/modules/adventureworks/views/sign-in.view.tsx?048a","webpack://msdyn365-lxs-master-theme/./src/modules/adventureworks/views/write-review.view.tsx?c67c"],"sourcesContent":["import React, { CSSProperties } from 'react';\r\n\r\nexport type AlertType = 'warning' | 'info' | 'danger' | 'success';\r\n\r\ninterface IAlertProps {\r\n type: AlertType;\r\n message: string;\r\n label?: string;\r\n iconSize?: number;\r\n closable?: boolean;\r\n onClose?: () => void;\r\n}\r\n\r\nconst alert = ({ type, message, iconSize = 1, closable = false, onClose }: IAlertProps): JSX.Element => {\r\n const customStyles = { '--icon-size': `${iconSize}rem` };\r\n return (\r\n
\r\n \r\n {message}\r\n \r\n {closable &&
\r\n );\r\n};\r\n\r\nexport default alert;\r\n","import React, { FC, ReactNode, createContext, useContext, useEffect, useState } from 'react';\r\nimport classname from 'classnames';\r\nimport { Module, Node, Modal, ModalBody, ModalFooter, ModalHeader, IModuleProps } from '@msdyn365-commerce-modules/utilities';\r\n\r\ninterface ModalProviderNewProps {\r\n children: ReactNode;\r\n props: any;\r\n}\r\n\r\ntype ModalContextType = {\r\n isOpen: boolean;\r\n setOpen: (data: ModalProviderContentProps) => void;\r\n setClose: () => void;\r\n};\r\n\r\ninterface ModalProviderContentProps {\r\n content: ReactNode;\r\n header?: string;\r\n size?: 'sm' | 'lg' | 'xl';\r\n}\r\n\r\nexport const ModalContext = createContext({\r\n isOpen: false,\r\n setOpen: () => {},\r\n setClose: () => {}\r\n});\r\n\r\nexport const ModalProvider: FC = ({ children, props }) => {\r\n const [isOpen, setIsOpen] = useState(false);\r\n const [content, setContent] = useState({ content: null, header: '', size: 'sm' });\r\n const [isMounted, setIsMounted] = useState(false);\r\n\r\n useEffect(() => {\r\n setIsMounted(true);\r\n }, []);\r\n\r\n const setOpen = (data: ModalProviderContentProps) => {\r\n if (data.content) {\r\n setContent(data);\r\n setIsOpen(true);\r\n }\r\n };\r\n\r\n const setClose = () => {\r\n setIsOpen(false);\r\n setTimeout(() => {\r\n setContent({ content: null, header: '', size: 'sm' });\r\n }, 300);\r\n };\r\n\r\n if (!isMounted) {\r\n return null;\r\n }\r\n\r\n const modalContainer: IModuleProps = {\r\n tag: Modal,\r\n moduleProps: props,\r\n className: classname({ [`msc-modal__dialog-${content.size}`]: true }),\r\n isOpen,\r\n 'aria-label': 'open-modal',\r\n toggle: setClose,\r\n modalTransition: { timeout: 0 },\r\n shouldUpdateFocusToFirstElement: true\r\n };\r\n\r\n const modalHeaderContainer = {\r\n tag: ModalHeader,\r\n moduleProps: props,\r\n className: '',\r\n toggle: setClose,\r\n closeButtonTabIndex: 1\r\n };\r\n\r\n const modalFooterContainer = { tag: ModalFooter, className: '' };\r\n\r\n const modalBodyContainer = { tag: ModalBody, className: '' };\r\n\r\n return (\r\n \r\n {children}\r\n \r\n {content.header ?? ''}\r\n {content.content}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const useModal = () => {\r\n const context = useContext(ModalContext);\r\n if (!context) {\r\n throw new Error('useModal must be used within the modal provider');\r\n }\r\n return context;\r\n};\r\n","import React, { MouseEvent, useEffect, useRef, useState } from 'react';\r\nimport { createPortal } from 'react-dom';\r\nimport { TOOLTIP_OFFSET, TOOLTIP_X_OFFSET } from '../configuration';\r\n\r\ninterface ITooltipContainerProps {\r\n label: string;\r\n content: string | JSX.Element;\r\n}\r\n\r\nconst tooltipContainer = ({ label, content }: ITooltipContainerProps): JSX.Element => {\r\n const ref = useRef(null);\r\n const [tooltip, setTooltip] = useState<{\r\n show: boolean;\r\n position: { top: number; left: number };\r\n windowSize: { height: number; width: number };\r\n }>({\r\n show: false,\r\n position: { top: 0, left: 0 },\r\n windowSize: { height: 0, width: 0 }\r\n });\r\n\r\n const handleMouseEnter = (e: MouseEvent): void => {\r\n const rect = (e.target as HTMLSpanElement)?.getBoundingClientRect();\r\n\r\n // windowSize is needed before mouseEnter is active. Caused by overflow-x: auto (example: scrolling table)\r\n setTooltip({\r\n show: true,\r\n position: {\r\n top: rect.top + window.scrollY,\r\n left: rect.right + window.scrollX + TOOLTIP_OFFSET\r\n },\r\n windowSize: {\r\n height: window.innerHeight,\r\n width: window.innerWidth\r\n }\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (tooltip.show && ref.current) {\r\n const rect = ((ref.current as unknown) as HTMLDivElement).getBoundingClientRect();\r\n const newPosition = { ...tooltip.position };\r\n if (rect.right > tooltip.windowSize.width) {\r\n const overflowWidth = rect.right - tooltip.windowSize.width;\r\n newPosition.left = tooltip.position.left - overflowWidth - TOOLTIP_X_OFFSET;\r\n }\r\n if (rect.bottom > window.innerHeight) {\r\n const overflowHeight = rect.bottom - window.innerHeight;\r\n newPosition.top = tooltip.position.top - overflowHeight - TOOLTIP_OFFSET;\r\n }\r\n\r\n setTooltip({\r\n ...tooltip,\r\n position: newPosition\r\n });\r\n }\r\n }, [tooltip.show]);\r\n\r\n const handleMouseLeave = (): void => {\r\n setTooltip({ ...tooltip, show: false });\r\n };\r\n\r\n return (\r\n <>\r\n handleMouseEnter(e)} onMouseLeave={handleMouseLeave}>\r\n {label}\r\n \r\n {tooltip.show &&\r\n createPortal(\r\n \r\n {content}\r\n ,\r\n document.body\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default tooltipContainer;\r\n","/**\r\n * The constant will be used if no data is provied by the API.\r\n */\r\nexport const NO_DATA_FALLBACK = '-';\r\n\r\n/**\r\n * The constant will be used to separate multiple values inside Order History Filter.\r\n */\r\nexport const MULTI_VALUE_SEPARATOR = ', ';\r\n","/**\r\n * Delay in milliseconds for search input in various modules.\r\n */\r\n\r\nexport const DEBOUNCE_INPUT_DELAY = 500;\r\n","/**\r\n * The TextId for the HeaderTexts within the create order request, that describes the additional information.\r\n */\r\nexport const CREATE_ORDER_ADDITIONAL_INFORMATION_TEXT_ID = 'Z400';\r\n\r\n/**\r\n * The maximum character limit for the Additional Information text field within the create order request.\r\n */\r\nexport const CREATE_ORDER_ADDITIONAL_INFORMATION_TEXT_LIMIT = 1000;\r\n\r\n/**\r\n * The Value for the EndCustomer Dropdown when the response is 0000000000\r\n */\r\nexport const CREATE_ORDER_NO_ENDCUSTOMER_VALUE = '0000000000';\r\n\r\n/**\r\n * The Value to wait for the cart to be saved. This prevents failing the requests due to many requests in a short time.\r\n */\r\nexport const CREATE_ORDER_SAVE_CART_DELAY = 200;\r\n\r\n/**\r\n * Values that are used for ID attributes in table instances.\r\n */\r\nexport const CREATE_ORDER_COLUMN_ORDER_NUMBER = 'orderNumber';\r\nexport const CREATE_ORDER_COLUMN_ACTION = 'action';\r\nexport const CREATE_ORDER_COLUMN_PRODUCT_NAME = 'productName';\r\nexport const CREATE_ORDER_COLUMN_PRODUCT_NUMBER = 'productNumber';\r\nexport const CREATE_ORDER_COLUMN_UNIT = 'unit';\r\nexport const CREATE_ORDER_COLUMN_INCOTERM = 'incoterm';\r\nexport const CREATE_ORDER_COLUMN_SALES_ORG = 'salesOrg';\r\nexport const CREATE_ORDER_COLUMN_BUSINESS_UNIT = 'businessUnit';\r\nexport const CREATE_ORDER_COLUMN_DIVISION_TEXT = 'divisionText';\r\nexport const CREATE_ORDER_COLUMN_SALES_ORG_TEXT = 'salesOrgText';\r\nexport const CREATE_ORDER_COLUMN_DISTRIBUTION_CHANNEL = 'distributionChannel';\r\nexport const CREATE_ORDER_COLUMN_END_CUSTOMER = 'endCustomer';\r\nexport const CREATE_ORDER_COLUMN_CUSTOMER_PRODUCT_NUMBER = 'customerProductNumber';\r\nexport const CREATE_ORDER_COLUMN_REQUESTED_DELIVERY_DATE = 'requestedDeliveryDate';\r\n","/**\r\n * Describes all 5xx error codes.\r\n */\r\nexport const ERROR_CODE_SERVER_ERROR_INDEX = 5;\r\n","/**\r\n * The Value for the offset that the Tooltip is displayed\r\n */\r\nexport const TOOLTIP_OFFSET = 10;\r\nexport const TOOLTIP_X_OFFSET = 60;\r\n","/**\r\n * Default value for total price while there is no price yet calculated.\r\n */\r\nexport const TOTAL_PRICE_DEFAULT = '0.00';\r\n","/**\r\n * All possible status codes for an item.\r\n */\r\nexport const STATUS_CODES = ['05', '10', '20', '30', '40', '70', '80', '90'] as const;\r\n\r\n/**\r\n * All possible status codes for the overall status of an item.\r\n */\r\nexport const OVERALL_STATUS_CODES = ['05', '10', '20', '30', '40', '90'] as const;\r\n","// Filter\r\nexport const ORDER_HISTORY_FILTER_STATUS = 'status';\r\nexport const ORDER_HISTORY_FILTER_FROM_DATE = 'fromDate';\r\nexport const ORDER_HISTORY_FILTER_TO_DATE = 'toDate';\r\nexport const ORDER_HISTORY_FILTER_CREATED_ON = 'createdOn';\r\nexport const ORDER_HISTORY_FILTER_FULLNAME = 'fullName';\r\n\r\n// Table columns\r\nexport const ORDER_HISTORY_COLUMN_ORDER_NUMBER = 'orderNumber';\r\nexport const ORDER_HISTORY_COLUMN_ACTION = 'action';\r\nexport const ORDER_HISTORY_COLUMN_PO_NUMBER = 'poNumber';\r\nexport const ORDER_HISTORY_COLUMN_SOLD_TO_NAME = 'soldToName';\r\nexport const ORDER_HISTORY_COLUMN_SHIP_TO_NAME = 'shipToName';\r\n\r\nexport enum OrderStatus {\r\n Unknown = '00',\r\n Queued = '05',\r\n Submitted = '10',\r\n Canceled = '20',\r\n Confirmed = '30',\r\n Processing = '40',\r\n Completed = '90'\r\n}\r\n","/**\r\n * The threshold to show the back to top button.\r\n */\r\nexport const BACK_TO_TOP_THRESHOLD: number = 300 as const;\r\n\r\nexport const BACK_TO_TOP_HIDE_DELAY: number = 2000 as const;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\n\r\nimport { ICipBackTopFooterData } from './cip-back-top-footer.data';\r\nimport { ICipBackTopFooterProps } from './cip-back-top-footer.props.autogenerated';\r\n\r\nexport interface ICipBackTopFooterViewProps extends ICipBackTopFooterProps {}\r\n\r\n/**\r\n *\r\n * CipBackTopFooter component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass CipBackTopFooter extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n return this.props.renderView(this.props);\r\n }\r\n}\r\n\r\nexport default CipBackTopFooter;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\nimport React, { useEffect, useRef, useState } from 'react';\r\nimport { ICipBackTopFooterViewProps } from './cip-back-top-footer';\r\nimport { BACK_TO_TOP_HIDE_DELAY, BACK_TO_TOP_THRESHOLD } from '../../configuration';\r\n\r\nexport default (props: ICipBackTopFooterViewProps) => {\r\n // Sets the visibility of the back to top button.\r\n const [visible, setVisible] = useState(false);\r\n // Sets the scrolling state of the page.\r\n const [isScrolling, setIsScrolling] = useState(false);\r\n /**\r\n * Ref to the scroll value.\r\n * Due to the nature of the scroll event, we need to keep track of the previous scroll value.\r\n * If we dont do this, the event will call the setVisible function multiple times,\r\n * even if the user is not scrolling.\r\n */\r\n const scrollValue = useRef(0);\r\n /**\r\n * Sets the mouse over state of the button.\r\n * This is used to check if the user is hovering over the button\r\n * to prevent the button from hiding.\r\n */\r\n const [isMouseOver, setIsMouseOver] = useState(false);\r\n /**\r\n * Ref to the back to top button.\r\n * This is used to add mouse event listeners to the button,\r\n * to check if the user is hovering over the button.\r\n */\r\n const btnRef = useRef(null);\r\n\r\n const scrollToTop = (event: React.MouseEvent): void => {\r\n event.preventDefault();\r\n window.scrollTo({\r\n top: 0,\r\n behavior: 'smooth'\r\n });\r\n };\r\n\r\n const handleScroll = (): void => {\r\n setIsScrolling(true);\r\n const scrolled: number = document.documentElement.scrollTop;\r\n if (scrollValue.current !== scrolled) {\r\n if (scrolled > BACK_TO_TOP_THRESHOLD) {\r\n setVisible(true);\r\n }\r\n setIsScrolling(false);\r\n\r\n if (scrolled <= BACK_TO_TOP_THRESHOLD) {\r\n setVisible(false);\r\n }\r\n scrollValue.current = scrolled;\r\n }\r\n };\r\n\r\n /**\r\n * This effect is used to check if the user is scrolling the page.\r\n * If so, we check if the user has scrolled past the threshold to show the back to top button.\r\n */\r\n useEffect(() => {\r\n window.addEventListener('scroll', handleScroll);\r\n\r\n return () => {\r\n window.removeEventListener('scroll', handleScroll);\r\n };\r\n }, []);\r\n\r\n /**\r\n * This effect is used to check if the user is hovering over the back to top button.\r\n * If the user is hovering over the button, we prevent the button from hiding.\r\n */\r\n useEffect(() => {\r\n const button = btnRef.current;\r\n\r\n const handleMouseEnter = () => {\r\n setIsMouseOver(true);\r\n };\r\n\r\n const handleMouseLeave = () => {\r\n setIsMouseOver(false);\r\n };\r\n\r\n if (button) {\r\n button.addEventListener('mouseenter', handleMouseEnter);\r\n button.addEventListener('mouseleave', handleMouseLeave);\r\n }\r\n\r\n return () => {\r\n if (button) {\r\n button.removeEventListener('mouseenter', handleMouseEnter);\r\n button.removeEventListener('mouseleave', handleMouseLeave);\r\n }\r\n };\r\n }, []);\r\n\r\n /**\r\n * This effect is used to hide the back to top button if the user is not scrolling\r\n * and not hovering over the button.\r\n */\r\n useEffect(() => {\r\n let hideTimeout: NodeJS.Timeout;\r\n if (!isScrolling && !isMouseOver) {\r\n hideTimeout = setTimeout(() => {\r\n setVisible(false);\r\n }, BACK_TO_TOP_HIDE_DELAY);\r\n }\r\n return () => clearTimeout(hideTimeout);\r\n }, [isScrolling, isMouseOver]);\r\n\r\n return (\r\n \r\n {props.config.backtoTopText}\r\n \r\n );\r\n};\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport * as React from 'react';\r\nimport classname from 'classnames';\r\nimport get from 'lodash/get';\r\nimport { computed, toJS } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport Msdyn365, { isUserTypeB2B } from '@msdyn365-commerce/core';\r\nimport { SalesOrder } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\r\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport { IOrderDetailsData } from './order-details.data';\r\nimport { IOrderDetailsProps } from './order-details.props.autogenerated';\r\nimport { IOrderDetailResponse } from '../../actions/get-order-details.action';\r\nimport { Toaster, toast } from 'sonner';\r\nimport { ERROR_CODE_SERVER_ERROR_INDEX } from '../../configuration';\r\nimport { ModalProvider } from '../../components/modal';\r\n\r\nexport interface IOrderDetailsViewProps extends IOrderDetailsProps {\r\n moduleProps: IModuleProps;\r\n footerProps?: INodeProps;\r\n loading?: React.ReactNode;\r\n heading?: React.ReactNode;\r\n placedBy?: React.ReactNode;\r\n orderDetails?: IOrderDetailResponse;\r\n props?: any;\r\n}\r\n\r\n/**\r\n * Interface for IOrderDetailsState.\r\n */\r\nexport interface IOrderDetailsState {\r\n isModalOpen: boolean;\r\n}\r\n\r\n/**\r\n *\r\n * OrderDetails component.\r\n * @extends {React.PureComponent>}\r\n */\r\n@observer\r\nclass OrderDetails extends React.PureComponent> {\r\n @computed\r\n get orderDetails(): IOrderDetailResponse {\r\n const rawData = this.props.data.getOrderDetails.result;\r\n if (rawData?.error) {\r\n if (rawData.error.errorCode && Number(String(rawData.error.errorCode).charAt(0)) === ERROR_CODE_SERVER_ERROR_INDEX) {\r\n this._showToast(this.props.resources.globalErrorHeading, this.props.resources.globalErrorServiceNotAvailable);\r\n }\r\n return {} as IOrderDetailResponse;\r\n }\r\n return toJS(rawData) as IOrderDetailResponse;\r\n }\r\n\r\n @computed get order(): SalesOrder | undefined {\r\n return get(this.props, 'data.orderHydration.result.salesOrder');\r\n }\r\n\r\n public constructor(props: IOrderDetailsProps) {\r\n super(props);\r\n }\r\n\r\n private _showToast = (heading: string, description: string) => {\r\n toast.error(\r\n
\r\n
\r\n

{heading}

\r\n \r\n
\r\n
\r\n {description}\r\n
\r\n
\r\n );\r\n };\r\n\r\n public render(): JSX.Element {\r\n const {\r\n resources: {}\r\n } = this.props;\r\n const { salesId = '', transactionId = '' } = this.props.context.actionContext.requestContext.query ?? {};\r\n\r\n let viewProps: IOrderDetailsViewProps = this.getOrderDetailsProps();\r\n if (isUserTypeB2B(this.props.context.request)) {\r\n viewProps = {\r\n ...viewProps\r\n };\r\n }\r\n\r\n if ((salesId || transactionId) && !this.props.context.actionContext.requestContext.user.isAuthenticated) {\r\n const signInUrl: string = this.props.context.actionContext.requestContext.user.signInUrl ?? '';\r\n if (Msdyn365.isBrowser) {\r\n window.location.assign(signInUrl);\r\n }\r\n }\r\n\r\n viewProps = {\r\n ...viewProps\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {this.props.renderView(viewProps) as React.ReactElement}\r\n \r\n );\r\n }\r\n\r\n /**\r\n * Get the order details view properties.\r\n * @returns The initial values of order details view properties.\r\n */\r\n private readonly getOrderDetailsProps = (): IOrderDetailsViewProps => {\r\n const moduleProps = { moduleProps: this.props, className: classname('ms-order-details', this.props.config.className) };\r\n\r\n return {\r\n ...this.props,\r\n moduleProps,\r\n footerProps: { className: 'ms-order-details__footer' },\r\n orderDetails: this.orderDetails,\r\n props: this.props\r\n };\r\n };\r\n}\r\n\r\nexport default OrderDetails;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { getUrlSync, IActionContext } from '@msdyn365-commerce/core';\r\n\r\n/**\r\n * Retrieves the url for reorder page.\r\n * @param actionContext - Core action context.\r\n * @param orderNumber - Number of order.\r\n * @returns Url for reorder Page.\r\n */\r\nexport const getReorderPageUrl = (actionContext: IActionContext, orderNumber: string): string => {\r\n const reorderDetailsUrl = getUrlSync('createOrder', actionContext) || '';\r\n const separator = reorderDetailsUrl.includes('?') ? '&' : '?';\r\n return `${reorderDetailsUrl}${separator}orderNumber=${orderNumber}`;\r\n};\r\n","import React from 'react';\r\nimport { ICoreContext } from '@msdyn365-commerce/core';\r\nimport { IOrderDetailsResources } from '../order-details.props.autogenerated';\r\nimport { IOrderDetailResponse, IOrderDetailScheduleLine } from '../../../actions/get-order-details.action';\r\nimport { IOrderDetailsViewProps } from '../order-details';\r\nimport {\r\n formatDate,\r\n formatCurrency,\r\n formatNumber,\r\n formatTime,\r\n mapItemStatusCodeToText,\r\n formatStatusCodeForTooltip\r\n} from '../../../utilities';\r\nimport { NO_DATA_FALLBACK } from '../../../configuration';\r\nimport Tooltip from '../../../components/tooltip';\r\n\r\nimport { getReorderPageUrl } from './get-reorder-url';\r\nimport { useModal } from '../../../components/modal';\r\n\r\nfunction ModalContent({ context, content, resources }: { context: ICoreContext; content: any; resources: IOrderDetailsResources }) {\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {resources.orderDetailsModalDeliveryNumber}\r\n {content.DeliveryNumber ? content.DeliveryNumber : NO_DATA_FALLBACK}
\r\n {resources.orderDetailsModalDeliveryDate}\r\n {content.DeliveryDate ? formatDate(context, new Date(content.DeliveryDate)) : NO_DATA_FALLBACK}
\r\n
\r\n

{resources.orderDetailsModalPreCarriageHeading}

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {resources.orderDetailsModalPreCarriageLastEventLocation}\r\n {content.PreCarriageLastEventLocation ? content.PreCarriageLastEventLocation : NO_DATA_FALLBACK}
\r\n {resources.orderDetailsModalPreCarriageDepartureDate}\r\n \r\n {content.PreCarriageDepartureDate\r\n ? formatDate(context, new Date(content.PreCarriageDepartureDate))\r\n : NO_DATA_FALLBACK}\r\n
\r\n {resources.orderDetailsModalPreCarriageArrivalDate}\r\n \r\n {content.PreCarriageArrivalDate\r\n ? formatDate(context, new Date(content.PreCarriageArrivalDate))\r\n : NO_DATA_FALLBACK}\r\n
\r\n {resources.orderDetailsModalConfirmedPickupDateLbn}\r\n \r\n {content.ConfirmedPickupDateLBN\r\n ? formatDate(context, new Date(content.ConfirmedPickupDateLBN))\r\n : NO_DATA_FALLBACK}\r\n
\r\n {resources.orderDetailsModalConfirmedPickupTimeLbn}\r\n \r\n {content.ConfirmedPickupDateLBN && content.ConfirmedPickupTimeLBN\r\n ? formatTime(context, new Date(`${content.ConfirmedPickupDateLBN} ${content.ConfirmedPickupTimeLBN}`))\r\n : NO_DATA_FALLBACK}\r\n
\r\n

{resources.orderDetailsModalMainCarriageHeading}

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {resources.orderDetailsModalActualArrivalDate}\r\n {content.ActualArrivalDate ? formatDate(context, new Date(content.ActualArrivalDate)) : NO_DATA_FALLBACK}
\r\n {resources.orderDetailsModalGoodsMovementDate}\r\n {content.GoodsMovementDate ? formatDate(context, new Date(content.GoodsMovementDate)) : NO_DATA_FALLBACK}
\r\n {resources.orderDetailsModalActualEventDate}\r\n {content.ActualEventDate ? formatDate(context, new Date(content.ActualEventDate)) : NO_DATA_FALLBACK}
\r\n {resources.orderDetailsModalActualEvent}\r\n {content.ActualEvent ? content.ActualEvent : NO_DATA_FALLBACK}
\r\n {resources.orderDetailsModalCarrierName}\r\n {content.CarrierName ? content.CarrierName : NO_DATA_FALLBACK}
\r\n {resources.orderDetailsModalContainer}\r\n {content.Container ? content.Container : NO_DATA_FALLBACK}
\r\n {resources.orderDetailsModalContainerType}\r\n {content.ContainerType ? content.ContainerType : NO_DATA_FALLBACK}
\r\n {resources.orderDetailsModalShipFlightNumber}\r\n {content.ShipFlightNumber ? content.ShipFlightNumber : NO_DATA_FALLBACK}
\r\n {resources.orderDetailsModalDepartureDate}\r\n {content.DepartureDate ? formatDate(context, new Date(content.DepartureDate)) : NO_DATA_FALLBACK}
\r\n {resources.orderDetailsModalArrivalDate}\r\n {content.ArrivalDate ? formatDate(context, new Date(content.ArrivalDate)) : NO_DATA_FALLBACK}
\r\n {resources.orderDetailsModalEstimatedTimeOfSailing}\r\n \r\n {content.EstimatedTimeOfSailing\r\n ? formatDate(context, new Date(content.EstimatedTimeOfSailing))\r\n : NO_DATA_FALLBACK}\r\n
\r\n {resources.orderDetailsModalBLnumber}\r\n {content.BLnumber ? content.BLnumber : NO_DATA_FALLBACK}
\r\n
\r\n );\r\n}\r\n\r\nexport default function orderItems({\r\n orderDetails,\r\n resources,\r\n context\r\n}: {\r\n context: ICoreContext;\r\n orderDetails: IOrderDetailResponse;\r\n resources: IOrderDetailsResources;\r\n props: IOrderDetailsViewProps;\r\n}) {\r\n const { setOpen } = useModal();\r\n\r\n const showEndCustomer: boolean = orderDetails.OrderDetail.Endcustomers;\r\n\r\n return (\r\n <>\r\n

{resources.orderDetailsItemsSectionHeading}

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {showEndCustomer && }\r\n \r\n \r\n \r\n \r\n \r\n \r\n {orderDetails?.OrderDetail.OrderDetailLines?.map((item, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {showEndCustomer && }\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
{resources.orderDetailsItemsTableProductName}{resources.orderDetailsItemsTableProductNumber}\r\n \r\n {resources.orderDetailsItemsTableReqDeliveryDate}{resources.orderDetailsItemsTableConfDeliveryDate}{resources.orderDetailsItemsTableReqQuantity}{resources.orderDetailsItemsTableConfQuantity}{resources.orderDetailsItemsTableDelQuantity}{resources.orderDetailsItemsTableEndcustomer}{resources.orderDetailsItemsTableDelivery}{resources.orderDetailsItemsTableInvoiceNumber}\r\n \r\n
{item.ProductName}{item.ProductNumber}{mapItemStatusCodeToText(item.Status, resources)}{item.RequestedDate && formatDate(context, new Date(item.RequestedDate))}\r\n {item.ScheduleLines.map((sLine: IOrderDetailScheduleLine, index: number) => {\r\n return (\r\n \r\n {sLine.ConfirmedDate && formatDate(context, new Date(sLine.ConfirmedDate))}\r\n \r\n );\r\n })}\r\n \r\n {`${formatNumber(context, Number(item.RequestedQty))} ${item.RequestedUnit}`}\r\n \r\n {item.ScheduleLines.map((sLine: IOrderDetailScheduleLine, index: number) => {\r\n return (\r\n \r\n {`${formatNumber(context, Number(sLine.ConfirmedQty))} ${sLine.ConfirmedUnit}`}\r\n \r\n );\r\n })}\r\n \r\n {item.ScheduleLines.map((sLine: IOrderDetailScheduleLine, index: number) => {\r\n return (\r\n \r\n {`${formatNumber(context, Number(item.DeliveredQty))} ${sLine.ConfirmedUnit}`}\r\n \r\n );\r\n })}\r\n {item.Endcustomer}\r\n {item.DeliveryNumber.length !== 0 ? (\r\n \r\n setOpen({\r\n content: ,\r\n header: resources.orderDetailsModalDeliveryInformationHeading,\r\n size: 'lg'\r\n })\r\n }\r\n className='ms-order-details__block-item ms-order-details__link-pointer'\r\n >\r\n {item.DeliveryNumber}\r\n \r\n ) : (\r\n -\r\n )}\r\n \r\n \r\n {item.InvoiceNumber.length !== 0 ? item.InvoiceNumber : NO_DATA_FALLBACK}\r\n \r\n \r\n {item.Currency ? formatCurrency(context, item.Currency, Number(item.NetValue)) : NO_DATA_FALLBACK}\r\n
\r\n {orderDetails.OrderDetail.ReorderAllowed && (\r\n \r\n setOpen({\r\n content: (\r\n
\r\n

{resources.orderDetailsReorderConfirmationHint}

\r\n \r\n {resources.orderDetailsReorderConfirmation}\r\n \r\n
\r\n ),\r\n size: 'sm'\r\n })\r\n }\r\n >\r\n {resources.orderDetailsReorderLabel}\r\n \r\n )}\r\n
\r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport { ICoreContext } from '@msdyn365-commerce/core';\r\nimport { toast } from 'sonner';\r\nimport { IOrderDetailDocument } from '../../../actions/get-order-details.action';\r\nimport GetDocumentDownload, { GetDocumentDownloadInput } from '../../../actions/get-document-download.action';\r\nimport { IOrderDetailsResources } from '../order-details.props.autogenerated';\r\n\r\nexport default function documentDownloadItem({\r\n context,\r\n resources,\r\n documentItem,\r\n index\r\n}: {\r\n context: ICoreContext;\r\n documentItem: IOrderDetailDocument;\r\n resources: IOrderDetailsResources;\r\n index: number;\r\n}) {\r\n const documentDownloadRefs = React.useRef([]);\r\n const documentDownloadAlreadyDownloaded: number[] = [];\r\n\r\n const getDocumentDownload = async (documentId: string, index: number) => {\r\n try {\r\n const link = documentDownloadRefs.current[index] as HTMLAnchorElement;\r\n\r\n // Download and initiate click()/download only once\r\n if (!documentDownloadAlreadyDownloaded.includes(index)) {\r\n const actionInput = new GetDocumentDownloadInput(documentId);\r\n const documentDownload = await GetDocumentDownload(actionInput, context.actionContext);\r\n const documentContent = `data:application/pdf;base64,${documentDownload.Content}`;\r\n // Only prepare link if content is available\r\n if (documentDownload.Content.length === 0) {\r\n toast.error(\r\n
\r\n
\r\n

{resources.orderDetailsDownloadErrorHeading}

\r\n \r\n
\r\n
\r\n {resources.orderDetailsDownloadErrorNoContentDescription}\r\n
\r\n
\r\n );\r\n } else {\r\n link.href = documentContent;\r\n link.download = documentDownload.FileName;\r\n documentDownloadAlreadyDownloaded.push(index);\r\n link.click();\r\n }\r\n }\r\n } catch (error) {\r\n toast.error(\r\n
\r\n
\r\n

{resources.globalErrorHeading}

\r\n \r\n
\r\n
\r\n {resources.globalErrorServiceNotAvailable}\r\n
\r\n
\r\n );\r\n console.error('Error document download', error);\r\n return error;\r\n }\r\n\r\n return null;\r\n };\r\n\r\n return (\r\n {\r\n if (!documentDownloadRefs.current[Number(index)] && ref) {\r\n documentDownloadRefs.current[Number(index)] = ref;\r\n }\r\n }}\r\n className='ms-order-details__download-link'\r\n onClick={() => getDocumentDownload(documentItem.DocumentId, index)}\r\n >\r\n {documentItem.Name}\r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport { ICoreContext } from '@msdyn365-commerce/core';\r\nimport { IOrderDetailResponse } from '../../../actions/get-order-details.action';\r\nimport { IOrderDetailsResources } from '../order-details.props.autogenerated';\r\nimport { formatDate, formatTime } from '../../../utilities';\r\nimport { NO_DATA_FALLBACK } from '../../../configuration';\r\nimport DocumentDownloadItem from '../components/document-download-item';\r\n\r\nexport default function documentsTable({\r\n context,\r\n orderDetails,\r\n resources\r\n}: {\r\n context: ICoreContext;\r\n orderDetails: IOrderDetailResponse;\r\n resources: IOrderDetailsResources;\r\n}) {\r\n return (\r\n <>\r\n

{resources.orderDetailsDocumentsTableHeading}

\r\n {orderDetails.Documents?.length ? (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {orderDetails.Documents?.map((documentItem, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
{resources.orderDetailsDocumentsTabeleDocumentName}{resources.orderDetailsDocumentsTableDate}{resources.orderDetailsDocumentsTableLanguage}{resources.orderDetailsDocumentsTableReference}
\r\n \r\n \r\n {documentItem.Date ? formatDate(context, new Date(documentItem.Date)) : NO_DATA_FALLBACK}{' '}\r\n {documentItem.Date ? formatTime(context, new Date(documentItem.Date)) : NO_DATA_FALLBACK}\r\n {documentItem.Language ?? NO_DATA_FALLBACK}{documentItem.Reference ?? NO_DATA_FALLBACK}
\r\n
\r\n ) : (\r\n

{resources.orderDetailsDocumentsEmpty}

\r\n )}\r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport { ICoreContext } from '@msdyn365-commerce/core';\r\n\r\nimport { IOrderDetailsResources } from '../order-details.props.autogenerated';\r\nimport { IOrderDetailResponse } from '../../../actions/get-order-details.action';\r\nimport {\r\n formatDate,\r\n formatCurrency,\r\n formatNumber,\r\n mapOverallStatus,\r\n formatOverallStatusCodeForTooltip,\r\n convertSapToHtmlLinebreaks,\r\n convertHtmlToPlainText\r\n} from '../../../utilities';\r\nimport { NO_DATA_FALLBACK, TOTAL_PRICE_DEFAULT } from '../../../configuration';\r\nimport Tooltip from '../../../components/tooltip';\r\n\r\nexport default function generalInformationSection({\r\n context,\r\n orderDetails,\r\n resources\r\n}: {\r\n context: ICoreContext;\r\n orderDetails: IOrderDetailResponse;\r\n resources: IOrderDetailsResources;\r\n}) {\r\n if (!orderDetails) {\r\n return

{resources.orderDetailsLoadingLabel}

;\r\n }\r\n\r\n const isEmptyPrice = (price: string) => {\r\n const regex = new RegExp(`\\\\b${TOTAL_PRICE_DEFAULT}\\\\b`);\r\n\r\n return regex.test(price);\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n {resources.orderDetailsGeneralTableOrderNumber}\r\n

{orderDetails.OrderDetail?.OrderNumber}

\r\n
\r\n
\r\n {resources.orderDetailsGeneralTableOrderType}\r\n

{orderDetails.OrderDetail?.OrderType}

\r\n
\r\n
\r\n \r\n \r\n \r\n

{mapOverallStatus(resources).getText(orderDetails.OrderDetail?.Status)}

\r\n
\r\n
\r\n \r\n {resources.orderDetailsGeneralTableOrderInformationRecipient}\r\n \r\n

\r\n {orderDetails.OrderDetail?.Recipient}\r\n

\r\n
\r\n
\r\n {resources.orderDetailsGeneralTableCustomerPo}\r\n

{orderDetails.OrderDetail?.PoNumber}

\r\n
\r\n
\r\n {resources.orderDetailsGeneralCustomerReferenceDate}\r\n

\r\n {orderDetails.OrderDetail?.ConfirmedDate && formatDate(context, new Date(orderDetails.OrderDetail.ConfirmedDate))}\r\n

\r\n
\r\n
\r\n {resources.orderDetailsGeneralTableTotalWeight}\r\n

{`${formatNumber(context, Number(orderDetails.OrderDetail.TotalWeight))} ${orderDetails.OrderDetail.Unit}`}

\r\n
\r\n
\r\n \r\n \r\n \r\n

\r\n {isEmptyPrice(orderDetails.OrderDetail?.TotalPrice) || !Number(orderDetails.OrderDetail?.TotalPrice)\r\n ? NO_DATA_FALLBACK\r\n : formatCurrency(context, orderDetails.OrderDetail?.Currency, Number(orderDetails.OrderDetail?.TotalPrice))}\r\n

\r\n
\r\n
\r\n {resources.orderDetailsGeneralIncoterm1}\r\n

{orderDetails.OrderDetail?.Incoterm1}

\r\n
\r\n
\r\n {resources.orderDetailsGeneralIncoterm2}\r\n

{orderDetails.OrderDetail?.Incoterm2}

\r\n
\r\n
\r\n {resources.orderDetailsGeneralTablePaymentTerms}\r\n

{orderDetails.OrderDetail?.PaymentTerms}

\r\n
\r\n
\r\n

{resources.orderDetailsAdditionalInformationSectionHeading}

\r\n
\r\n
\r\n {orderDetails.OrderDetail?.HeaderTexts && Object.keys(orderDetails.OrderDetail?.HeaderTexts).length ? (\r\n \r\n ) : (\r\n

{NO_DATA_FALLBACK}

\r\n )}\r\n
\r\n
\r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport { IOrderDetailsResources } from '../order-details.props.autogenerated';\r\nimport { IOrderDetailResponse, ISoldTo } from '../../../actions/get-order-details.action';\r\nimport { formatAddress } from '../../../utilities/format-address';\r\nimport { NO_DATA_FALLBACK } from '../../../configuration';\r\n\r\nfunction Address({ address, headline }: { address: ISoldTo; headline: string }) {\r\n return (\r\n
\r\n

{headline}

\r\n {formatAddress(address).map(line => (\r\n

\r\n {line}\r\n

\r\n ))}\r\n
\r\n );\r\n}\r\n\r\nexport default function addressInformationSection({\r\n orderDetails,\r\n resources\r\n}: {\r\n orderDetails: IOrderDetailResponse;\r\n resources: IOrderDetailsResources;\r\n}) {\r\n return (\r\n
\r\n
\r\n {!!orderDetails.OrderDetail && Object.keys(orderDetails.OrderDetail.SoldTo).length ? (\r\n
\r\n ) : (\r\n NO_DATA_FALLBACK\r\n )}\r\n
\r\n
\r\n {!!orderDetails.OrderDetail && Object.keys(orderDetails.OrderDetail.ShipTo).length ? (\r\n
\r\n ) : (\r\n NO_DATA_FALLBACK\r\n )}\r\n
\r\n
\r\n );\r\n}\r\n","import React from 'react';\r\nimport { ICoreContext } from '@msdyn365-commerce/core';\r\nimport OrderItems from './order-items-table';\r\nimport DocumentsTable from './documents-table';\r\nimport { IOrderDetailResponse } from '../../../actions/get-order-details.action';\r\nimport { IOrderDetailsResources } from '../order-details.props.autogenerated';\r\nimport GeneralInformationSection from './general-information-section';\r\nimport AddressInformationSection from './address-information-section';\r\n\r\ninterface OrderInformationProps {\r\n orderDetails: IOrderDetailResponse;\r\n resources: IOrderDetailsResources;\r\n context: ICoreContext;\r\n props: any;\r\n}\r\n\r\nconst OrderInformation: React.FC = ({ orderDetails, context, resources, props }) => {\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n

{resources.orderDetailsGeneralInformationSectionHeading}

\r\n \r\n
\r\n
\r\n
\r\n
\r\n

{resources?.orderDetailsAddressInformationSectionHeading}

\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n \r\n );\r\n};\r\n\r\nexport default OrderInformation;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport {\r\n IHelp,\r\n IOrderSummary,\r\n IPaymentMethods,\r\n IGroup,\r\n IGroupDelivery,\r\n IGroups,\r\n IOrderInformation,\r\n ISalesLine\r\n} from '@msdyn365-commerce-modules/order-management';\r\nimport { IOrderDetailsViewProps } from './order-details';\r\nimport OrderInformation from './components/order-information-section';\r\nimport Alert from '../../components/alert';\r\n\r\nexport const OrderDetailsOrderInfomation: React.FC = ({\r\n orderInformationProps,\r\n salesId,\r\n receiptId,\r\n createdDate,\r\n count,\r\n amount,\r\n channelReferenceId,\r\n channelName,\r\n channelAddress\r\n}) => (\r\n \r\n {channelName}\r\n {channelAddress}\r\n {channelReferenceId}\r\n {salesId}\r\n {receiptId}\r\n {createdDate}\r\n {count}\r\n {amount}\r\n \r\n);\r\n\r\nexport const OrderDetailsSalesLine: React.FC = ({ salesLineProps, salesLine, buyAgainButton, errors }) => (\r\n \r\n {salesLine}\r\n {buyAgainButton}\r\n {errors}\r\n \r\n);\r\n\r\nexport const OrderDetailsGroupDelivery: React.FC = ({ deliveryProps, heading, count }) => (\r\n \r\n {heading}\r\n {count}\r\n \r\n);\r\n\r\nexport const OrderDetailsGroup: React.FC = ({\r\n groupProps,\r\n delivery,\r\n address,\r\n salesLinesProps,\r\n salesLines,\r\n isCashAndCarryTransaction\r\n}) => (\r\n \r\n {delivery && }\r\n {salesLines && (\r\n \r\n {salesLines.map(salesLine => (\r\n \r\n {salesLine.data.deliveryType === 'ship' && salesLine.data.shipment ? salesLine.trackingInfo : null}\r\n \r\n {!isCashAndCarryTransaction && salesLine.salesStatus}\r\n \r\n ))}\r\n \r\n )}\r\n {!delivery.showTimeslot && address}\r\n {delivery.showTimeslot && (\r\n \r\n {address}\r\n {delivery.pickupDateTimeslot}\r\n \r\n )}\r\n \r\n);\r\n\r\nexport const OrderDetailsGroups: React.FC = ({ groupsProps, groups }) => (\r\n \r\n {groups.map((group: IGroup, index: number) => (\r\n \r\n ))}\r\n \r\n);\r\n\r\nexport const OrderDetailsOrderSummary: React.FC = ({\r\n orderSummaryProps,\r\n heading,\r\n subtotal,\r\n shipping,\r\n tax,\r\n totalAmount,\r\n earnedPoints\r\n}) => (\r\n \r\n {heading}\r\n {subtotal}\r\n {shipping}\r\n {tax}\r\n {totalAmount}\r\n {earnedPoints}\r\n \r\n);\r\n\r\nexport const OrderDetailsPayment: React.FC = ({ paymentMethodsProps, title, methods }) => (\r\n \r\n {title}\r\n {methods}\r\n \r\n);\r\n\r\nexport const OrderDetailsHelp: React.FC = ({ helpProps, needHelpLabel, helpLineNumberLabel, contactNumber }) => (\r\n // No \"orderDetails\" namesspace because names are fixed in core interface\r\n \r\n {needHelpLabel}\r\n {helpLineNumberLabel}\r\n {contactNumber}\r\n \r\n);\r\n\r\nconst OrderDetailsView: React.FC = ({ moduleProps, heading, loading, orderDetails, resources, context, props }) => {\r\n if (!!orderDetails?.OrderDetail) {\r\n return (\r\n \r\n {heading}\r\n {loading}\r\n {orderDetails && resources && (\r\n \r\n )}\r\n \r\n );\r\n } else {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n};\r\n\r\nexport default OrderDetailsView;\r\n","export const formatAddress = (address: any): string[] => {\r\n const keys = new Array(9).fill(0).map((_, i) => `ShortAddress${i + 1}`);\r\n\r\n return Object.keys(address)\r\n .filter(key => keys.includes(key))\r\n .reduce((acc, key) => {\r\n if (!!address[String(key)]) {\r\n acc.push(address[String(key)] as string);\r\n }\r\n return acc;\r\n }, [] as string[]);\r\n};\r\n","export const convertHtmlToPlainText = (string: string): string => {\r\n const stringWithoutHtml = string.replace(/<\\/?[^>]+(>|$)/g, ''); // remove HTML tags\r\n return stringWithoutHtml;\r\n};\r\n","export const convertSapToHtmlLinebreaks = (string: string): string => {\r\n const convertedContent = string.replace(/(\\\\n)/g, '
');\r\n\r\n return convertedContent;\r\n};\r\n","export const convertSapToNewlineLinebreaks = (string: string): string => {\r\n const convertedContent = string.replace(/(\\\\n)/g, '\\n');\r\n\r\n return convertedContent;\r\n};\r\n","export const convertNewlineToSapLinebreaks = (string: string): string => {\r\n const convertedContent = string.replace(/(\\r\\n|\\n|\\r)/gm, '\\\\n');\r\n\r\n return convertedContent;\r\n};\r\n","import { CultureInfoFormatter, ICoreContext } from '@msdyn365-commerce/core';\r\n\r\n/**\r\n * Get the formatted currency.\r\n * @param props - The props.\r\n * @param price - The price.\r\n * @param shouldUseFreePriceText - The shouldUseFreePriceText.\r\n * @returns The formatted currency.\r\n */\r\nexport const formatCurrency = (context: ICoreContext, currency: string | undefined, price: number | undefined): string => {\r\n if (price === undefined || currency === undefined) {\r\n return '';\r\n }\r\n\r\n const cultureInfoFormatter = new CultureInfoFormatter(context.request.locale, currency);\r\n\r\n return cultureInfoFormatter.formatCurrency(price);\r\n};\r\n","import { ICoreContext, IDateFormatOptions } from '@msdyn365-commerce/core';\r\n\r\n/**\r\n * Formats date.\r\n * @param context - Core context.\r\n * @param date - Date to display.\r\n * @returns String value.\r\n */\r\n// Example usage: formatDate(this.props.context, new Date(CreatedDate)\r\n\r\nexport const formatDate = (context: ICoreContext, date: Date | undefined) => {\r\n if (date === undefined) {\r\n return '';\r\n }\r\n\r\n const dateOptions: IDateFormatOptions = { year: 'numeric', month: 'numeric', day: 'numeric' };\r\n return context.cultureFormatter.formatDate(date, dateOptions);\r\n};\r\n","import { ICoreContext } from '@msdyn365-commerce/core';\r\n\r\n/**\r\n * Formats a number.\r\n * @param context - Core context.\r\n * @param date - Number to display.\r\n * @returns String value.\r\n */\r\n// Example usage: formatNumber(this.props.context, new Date(CreatedDate)\r\n\r\nexport const formatNumber = (context: ICoreContext, number: number | undefined) => {\r\n if (number === undefined) {\r\n return '';\r\n }\r\n\r\n /**\r\n * don't do this, since it adds separators in unwanted places\r\n const numberOptions: INumberFormatOptions = { style: 'decimal' };\r\n const formattedNumber = context.cultureFormatter.formatNumber(number, numberOptions);\r\n //const formattedNumber = number.toString().replace(/\\.\\d+$/, '');\r\n */\r\n // Simply drop decimal points and convert to string\r\n return Math.trunc(number).toString();\r\n};\r\n","import { ICoreContext, ITimeFormatOptions } from '@msdyn365-commerce/core';\r\n\r\n/**\r\n * Formats time.\r\n * @param context - Core context.\r\n * @param time - Time to display.\r\n * @returns String value.\r\n */\r\n// Example usage: formatTime(this.props.context, new Date(CreatedTime)\r\n\r\nexport const formatTime = (context: ICoreContext, time: Date | undefined) => {\r\n if (time === undefined) {\r\n return '';\r\n }\r\n\r\n const timeOptions: ITimeFormatOptions = { hour: 'numeric', minute: 'numeric', second: 'numeric', timeZone: 'UTC' };\r\n return context.cultureFormatter.formatDate(time, timeOptions);\r\n};\r\n","/**\r\n * Map Item Status Code To Text.\r\n * @param code - String mapping code.\r\n * @param resources - Object with translation keys.\r\n * @returns String value.\r\n */\r\n\r\nexport const mapItemStatusCodeToText = (code: string, resources: any): string => {\r\n switch (code) {\r\n case '00':\r\n return resources.globalStatusItemUnknown;\r\n case '05':\r\n return resources.globalStatusItemQueued;\r\n case '10':\r\n return resources.globalStatusItemSubmitted;\r\n case '20':\r\n return resources.globalStatusItemItemCanceled;\r\n case '30':\r\n return resources.globalStatusItemConfirmed;\r\n case '40':\r\n return resources.globalStatusItemProcessing;\r\n case '70':\r\n return resources.globalStatusItemGoodsDispatched;\r\n case '80':\r\n return resources.globalStatusItemInvoiced;\r\n case '90':\r\n return resources.globalStatusItemCompleted;\r\n default:\r\n return resources.globalStatusError;\r\n }\r\n};\r\nexport const mapItemStatusCodeDescriptionToText = (code: string, resources: any): string => {\r\n switch (code) {\r\n case '00':\r\n return resources.globalStatusItemUnknownDescription;\r\n case '05':\r\n return resources.globalStatusItemQueuedDescription;\r\n case '10':\r\n return resources.globalStatusItemSubmittedDescription;\r\n case '20':\r\n return resources.globalStatusItemItemCanceledDescription;\r\n case '30':\r\n return resources.globalStatusItemConfirmedDescription;\r\n case '40':\r\n return resources.globalStatusItemProcessingDescription;\r\n case '70':\r\n return resources.globalStatusItemGoodsDispatchedDescription;\r\n case '80':\r\n return resources.globalStatusItemInvoicedDescription;\r\n case '90':\r\n return resources.globalStatusItemCompletedDescription;\r\n default:\r\n return resources.globalStatusErrorDescription;\r\n }\r\n};\r\n","/**\r\n * Map Overall Status Function.\r\n * @param resources - Object with translation keys.\r\n * @returns getter functions for text and code.\r\n */\r\n\r\nexport const mapOverallStatus = (resources: any) => {\r\n const map = new Map([\r\n ['00', resources.globalStatusOverallUnknown],\r\n ['05', resources.globalStatusOverallQueued],\r\n ['10', resources.globalStatusOverallSubmitted],\r\n ['20', resources.globalStatusOverallCanceled],\r\n ['30', resources.globalStatusOverallConfirmed],\r\n ['40', resources.globalStatusOverallProcessing],\r\n ['90', resources.globalStatusOverallCompleted]\r\n ]);\r\n\r\n /**\r\n * Get true if status code exists.\r\n * @param code - Status code.\r\n * @returns True or false.\r\n */\r\n const getCodeExists = (code: string): boolean => {\r\n return map.has(code);\r\n };\r\n\r\n /**\r\n * Get text from status code.\r\n * @param code - Status code.\r\n * @returns Translation as string.\r\n */\r\n const getText = (code: string): string => {\r\n return map.get(code) ?? resources.globalStatusError;\r\n };\r\n\r\n /**\r\n * Get status code from text.\r\n * @param text - Translation.\r\n * @returns Status code as string.\r\n */\r\n const getCode = (text: string): string => {\r\n for (const [key, value] of map.entries()) {\r\n if (value === text) {\r\n return key;\r\n }\r\n }\r\n return '';\r\n };\r\n\r\n return {\r\n getCodeExists,\r\n getText,\r\n getCode\r\n };\r\n};\r\nexport const mapOverallStatusCodeDescriptionToText = (code: string, resources: any): string => {\r\n switch (code) {\r\n case '00':\r\n return resources.globalStatusOverallUnknownDescription;\r\n case '05':\r\n return resources.globalStatusOverallQueuedDescription;\r\n case '10':\r\n return resources.globalStatusOverallSubmittedDescription;\r\n case '20':\r\n return resources.globalStatusOverallCanceledDescription;\r\n case '30':\r\n return resources.globalStatusOverallConfirmedDescription;\r\n case '40':\r\n return resources.globalStatusOverallProcessingDescription;\r\n case '90':\r\n return resources.globalStatusOverallCompletedDescription;\r\n default:\r\n return resources.globalStatusErrorDescription;\r\n }\r\n};\r\n","import React from 'react';\r\nimport { STATUS_CODES, OVERALL_STATUS_CODES } from '../configuration';\r\nimport { mapItemStatusCodeDescriptionToText, mapItemStatusCodeToText } from './map-item-status-code-to-text';\r\nimport { mapOverallStatusCodeDescriptionToText, mapOverallStatus } from './map-overall-status-code-to-text';\r\n\r\nexport const formatStatusCodeForTooltip = (resources: any) => {\r\n return (\r\n
\r\n {STATUS_CODES.map(code => (\r\n
\r\n {mapItemStatusCodeToText(code, resources)}\r\n

{mapItemStatusCodeDescriptionToText(code, resources)}

\r\n
\r\n ))}\r\n
\r\n );\r\n};\r\nexport const formatOverallStatusCodeForTooltip = (resources: any) => {\r\n return (\r\n
\r\n {OVERALL_STATUS_CODES.map(code => (\r\n
\r\n {mapOverallStatus(resources).getText(code)}\r\n

{mapOverallStatusCodeDescriptionToText(code, resources)}

\r\n
\r\n ))}\r\n
\r\n );\r\n};\r\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 { getPayloadObject, getTelemetryAttributes, IPayLoad, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface ICookieComplianceAcceptButton {\n acceptCookiesButtonText?: string;\n acceptCookiesButtonAriaLabel?: string;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onClose(): void;\n}\n\nexport const CookieComplianceAcceptButton: React.FC = ({\n acceptCookiesButtonText,\n acceptCookiesButtonAriaLabel,\n telemetryContent,\n onClose\n}) => {\n const payLoad: IPayLoad = getPayloadObject('click', telemetryContent!, 'accept cookies');\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n\n return (\n \n {acceptCookiesButtonText}\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 { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IActionLinksData } from '../cookie-compliance.props.autogenerated';\n\nexport interface ICookieComplianceLinks {\n links: IActionLinksData[];\n requestContext: Msdyn365.IRequestContext;\n telemetryContent: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\n/**\n *\n * ContentCardLinks component.\n * @extends {React.PureComponent}\n */\nexport class CookieComplianceLinks 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: IActionLinksData[]): 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 editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes,\n onClick: onTelemetryClick(this.props.telemetryContent, payLoad, linkText)\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n };\n}\n\nexport default CookieComplianceLinks;\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, IAlertProps, IModuleProps, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { CookieComplianceAcceptButton, CookieComplianceLinks } from './components';\nimport { ICookieComplianceConfig, ICookieComplianceProps } from './cookie-compliance.props.autogenerated';\n\n/**\n * Alert state interface.\n */\nexport interface IAlertState {\n visible: boolean;\n}\n\n/**\n * Cookie compliance view props interface.\n */\nexport interface ICookieComplianceViewProps extends ICookieComplianceProps<{}> {\n CookieComplianceBanner: IModuleProps;\n AlertProps: IAlertProps;\n Content: INodeProps;\n text?: React.ReactNode;\n links?: React.ReactNode;\n acceptButton?: React.ReactNode;\n className: string;\n onDismiss(): void;\n}\n\n/**\n *\n * CookieCompliance component.\n * @extends {React.PureComponent>}\n */\nclass CookieCompliance extends React.PureComponent, IAlertState> {\n private readonly cookieRef: React.RefObject;\n\n private readonly telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n public constructor(props: ICookieComplianceProps) {\n super(props);\n this.state = { visible: false };\n this.cookieRef = React.createRef();\n this._onDismiss = this._onDismiss.bind(this);\n }\n\n public componentDidMount(): void {\n const { context } = this.props;\n\n if (context && context.request && context.request.cookies && !context.request.cookies.isConsentGiven()) {\n this.setState({ visible: true });\n }\n }\n\n public render(): JSX.Element | null {\n const { config, context, resources, telemetry } = this.props;\n const { acceptCookiesButtonText, acceptCookiesAriaLabel } = resources;\n const { visible } = this.state;\n\n const isConsentGiven = context && context.request && context.request.cookies && context.request.cookies.isConsentGiven();\n let moduleConfig: ICookieComplianceConfig;\n\n try {\n moduleConfig = config;\n } catch (error) {\n telemetry.error(`Something went wrong while rendering the alert module ------${error}`);\n return
{error}
;\n }\n\n if (isConsentGiven && !visible) {\n this.props.context.telemetry.error('Cookie Compliance content is empty, module wont render.');\n return null;\n }\n\n if (!MsDyn365.msdyn365Commerce.isBrowser) {\n return <>;\n }\n\n const viewProps = {\n ...this.props,\n onDismiss: this._onDismiss,\n CookieComplianceBanner: {\n moduleProps: this.props,\n className: classnames('ms-cookie-compliance', moduleConfig.className),\n ref: this.cookieRef\n },\n AlertProps: {\n className: 'ms-cookie-compliance__container',\n color: 'white',\n fade: false\n },\n Content: {\n className: 'ms-cookie-compliance__content'\n },\n text: moduleConfig.content && (\n \n ),\n links: ArrayExtensions.hasElements(moduleConfig.actionLinks) && (\n \n ),\n acceptButton: (\n \n )\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Handles Link content change event.\n * @param linkIndex - Index of link in linkarray.\n * @returns Void.\n */\n public handleLinkTextChange = (linkIndex: number) => (event: MsDyn365.ContentEditableEvent): void => {\n if (this.props.config.actionLinks?.[linkIndex]) {\n this.props.config.actionLinks[linkIndex].linkText = event.target.value;\n }\n };\n\n /**\n * Handles content change event.\n * @param event - Event.\n */\n public handleContentChange = (event: MsDyn365.ContentEditableEvent): void => {\n this.props.config.content = event.target.value;\n };\n\n private _onDismiss(): void {\n const { context } = this.props;\n\n if (context && context.request && context.request.cookies) {\n context.request.cookies.setConsentCookie();\n location.reload();\n }\n this.setState({ visible: false });\n }\n}\n\nexport default CookieCompliance;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Alert, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICookieComplianceViewProps } from './cookie-compliance';\n\nconst CookieComplianceView: React.FC = props => {\n const { CookieComplianceBanner, AlertProps, Content, acceptButton, text, links } = props;\n\n return (\n \n \n \n {text}\n {links}\n \n {acceptButton}\n \n \n );\n};\nexport default CookieComplianceView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Heading, IModuleProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IHeadingData, IIframeConfig, IIframeProps } from './iframe.props.autogenerated';\n\nexport interface IIframeViewProps extends IIframeProps {\n Heading: React.ReactNode;\n IframeContainer: IModuleProps;\n IFrame: React.ReactNode;\n alert?: React.ReactNode;\n cookieConsentAccepted?: boolean;\n}\n\n/**\n *\n * Iframe component.\n * @extends {React.PureComponent}\n */\nclass Iframe extends React.PureComponent> {\n private readonly iframeRef: React.RefObject;\n\n constructor(props: IIframeProps) {\n super(props);\n this.iframeRef = React.createRef();\n }\n\n public render(): JSX.Element | null {\n const { config, resources } = this.props;\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 (!(config && config.target && config.target.destinationUrl)) {\n return null;\n }\n\n let srcURL;\n try {\n srcURL = new URL(config.target.destinationUrl);\n } catch (error) {\n this.props.telemetry.exception(error);\n return null;\n }\n\n if (srcURL && srcURL.protocol && srcURL.protocol.toLocaleLowerCase() !== 'https:') {\n return null;\n }\n const iframeClassName = classnames('ms-iframe', config.className);\n\n let viewProps: IIframeViewProps = {\n ...(this.props as IIframeProps),\n Heading: this._createHeading(config.heading!),\n IframeContainer: {\n moduleProps: this.props,\n className: iframeClassName\n },\n IFrame: this._createIframe()\n };\n\n if (!isConsentGiven) {\n viewProps = {\n ...viewProps,\n alert: this._renderAlert(resources.cookieConsentRequiredMessage)\n };\n } else {\n viewProps = {\n ...viewProps,\n cookieConsentAccepted: true\n };\n }\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n private _createHeading(heading: IHeadingData): React.ReactNode | null {\n if (!heading || !heading.text || heading.text.length === 0) {\n return null;\n }\n\n return ;\n }\n\n private _renderAlert(message: string): React.ReactNode | null {\n return (\n

\n {message}\n

\n );\n }\n\n private _createIframe(): React.ReactNode | null {\n const { config } = this.props;\n const targetURL = config.target.destinationUrl;\n\n return (\n \n );\n }\n}\n\nexport default Iframe;\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 { IIframeViewProps } from './iframe';\n\n/**\n *\n * IFrameView component.\n * @extends {React.PureComponent}\n */\nexport class IFrameView extends React.PureComponent {\n public render(): JSX.Element | null {\n const { Heading, IframeContainer, IFrame, alert, cookieConsentAccepted } = this.props;\n\n return (\n \n {alert}\n {cookieConsentAccepted && cookieConsentAccepted ? (\n <>\n {Heading}\n {IFrame}\n \n ) : null}\n \n );\n }\n}\nexport default IFrameView;\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 { getUrlSync } from '@msdyn365-commerce/core';\nimport { IB2bRequestsStatusViewProps } from '@msdyn365-commerce-modules/account-management';\nimport { Button, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { IB2bRequestsStatusProps, IB2bRequestsStatusResources } from '../definition-extensions/b2b-requests-status.ext.props.autogenerated';\n\n/**\n * B2b Request status View.\n * @param props - The view props.\n * @returns The JSX Element.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention -- Dependency from module file.\nconst B2bRequestsStatusView: React.FC> = props => {\n const { b2bRequestsStatus, heading, table } = props;\n const { continueShoppingButtonTitle } = props.resources;\n const initialCount = 0;\n\n if (props.data.operationRequests.result?.length === initialCount) {\n return (\n \n {heading}\n \n
\n

{props.resources.headingForEmptyRequestStatus}

\n

{props.resources.textForEmptyRequestStatus}

\n \n \n {continueShoppingButtonTitle}\n \n \n
\n
\n
\n );\n }\n return (\n \n {heading}\n {table}\n \n );\n};\n\nexport default B2bRequestsStatusView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n ICartLineItemViewProps,\n ICartlinesViewProps,\n ICartResources,\n ICartViewProps,\n IOrderSummaryErrors\n} from '@msdyn365-commerce-modules/cart';\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\nimport { ICartProps as ICartExtensionProps } from '../definition-extensions/cart.ext.props.autogenerated';\n\n/**\n * Toggle Bopis Function.\n * @param cartLine -CartLine.\n * @param isBopisSelected -Boolean.\n * @returns Toggle Bopis.\n */\nconst toggleBopisHandler = (cartLine: ICartlinesViewProps, isBopisSelected: boolean) => () => {\n cartLine.pickUpInStore?.callbacks.toggleBopis(!isBopisSelected);\n};\n\n/**\n * Change Store Function.\n * @param cartLine -CartLine.\n * @returns Toggle Bopis.\n */\nconst onChangeStoreHandler = (cartLine: ICartlinesViewProps) => () => {\n cartLine.pickUpInStore?.callbacks.toggleBopis(true);\n};\n\n/**\n * Render Bopis block.\n * @param cartLine - The cart line view props.\n * @param resources - Module resource strings.\n * @param storeSelector - Store selector element.\n * @param telemetryContent - The telemetry object.\n * @param emailDeliveryModeCode - The email delivery mode code.\n * @returns JSX Element.\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\n/**\n * Render Bopis block.\n * @param cartLine - The cart line view props.\n * @param resources - Module resource strings.\n * @param storeSelector - Store selector element.\n * @param telemetryContent - The telemetry object.\n * @param emailDeliveryModeCode - The email delivery mode code.\n * @returns JSX Element.\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\n/**\n * Render Cart Lines.\n * @param cartLine - The cart line view props.\n * @param resources - Module resource strings.\n * @param storeSelector - Store selector element.\n * @param telemetryContent - The telemetry object.\n * @param isMultiplePickUp - FLag to check if there multiple pickups.\n * @param emailDeliveryModeCode - The email delivery mode code.\n * @returns JSX Element.\n */\nconst renderCartLine = (\n cartLine: ICartlinesViewProps,\n resources: ICartResources,\n storeSelector: React.ReactNode | undefined,\n telemetryContent?: ITelemetryContent,\n isMultiplePickUp?: boolean,\n emailDeliveryModeCode?: string\n): JSX.Element => {\n if (cartLine.error === resources.outOfStockErrorMessage) {\n return (\n \n {cartLine.addToWishlist}\n {cartLine.remove}\n \n );\n }\n\n if (isMultiplePickUp) {\n return (\n \n {renderGroupBopisBlock(cartLine, resources, storeSelector, telemetryContent, emailDeliveryModeCode)}\n {cartLine.addToOrderTemplate}\n {cartLine.addToWishlist}\n {cartLine.remove}\n \n );\n }\n\n if (cartLine.addToOrderTemplate) {\n return (\n \n {cartLine.addToOrderTemplate}\n {cartLine.addToWishlist}\n {cartLine.remove}\n \n );\n }\n\n return (\n \n {cartLine.addToWishlist}\n {cartLine.remove}\n \n );\n};\n\n/**\n * Render Cart Lines.\n * @param cartLines - The cart line view props.\n * @param resources - Module resource strings.\n * @param storeSelector - Store selector element.\n * @param telemetryContent - The telemetry object.\n * @param isMultiplePickUp - Flag to check if there multiple pickups.\n * @param emailDeliveryModeCode - The email delivery mode code.\n * @returns JSX Element.\n */\nconst renderCartlinesInternal = (\n cartLines: ICartlinesViewProps[],\n resources: ICartResources,\n storeSelector: React.ReactNode | undefined,\n telemetryContent?: ITelemetryContent,\n isMultiplePickUp?: boolean,\n emailDeliveryModeCode?: string\n): JSX.Element[] | JSX.Element => {\n return cartLines.map((cartLine, index) => {\n const itemIndex = index;\n return (\n
\n {cartLine.cartline}\n \n {isMultiplePickUp\n ? null\n : renderBopisBlock(cartLine, resources, storeSelector, telemetryContent, emailDeliveryModeCode)}\n {renderCartLine(cartLine, resources, storeSelector, telemetryContent, isMultiplePickUp, emailDeliveryModeCode)}\n \n
\n );\n });\n};\n\n/**\n * Render Cart Lines.\n * @param props - The cart line props.\n * @param cartLines - The cart line view props.\n * @param resources - Module resource strings.\n * @param storeSelector - Store selector element.\n * @param waitingComponent - Waiting component element.\n * @param cartLoadingStatus - Cart loading status string.\n * @param isCartDataResult - Flag to check if there is cart data.\n * @param telemetryContent - The telemetry object.\n * @param isMultiplePickUp - Flag to check if there multiple pickups.\n * @param emailDeliveryModeCode - The email delivery mode code.\n * @returns JSX Element.\n */\nconst renderCartlines = (\n props: ICartViewProps & ICartExtensionProps<{}>,\n cartLines: ICartlinesViewProps[] | undefined,\n resources: ICartResources,\n storeSelector: React.ReactNode | undefined,\n waitingComponent: React.ReactNode,\n cartLoadingStatus: string,\n isCartDataResult: boolean,\n telemetryContent?: ITelemetryContent,\n isMultiplePickUp?: boolean,\n emailDeliveryModeCode?: string\n): JSX.Element[] | JSX.Element => {\n if (cartLoadingStatus) {\n return <>{cartLoadingStatus};\n }\n\n // Props.CartlinesWrapper is only required on cart lines and when multiple pickup mode is disabled. This is also required to handle the empty cart styling.\n // Else, empty cart multiple pickup mode is disabled falls under the other cart line wrapper which is creating issue with Empty cart scenario.\n if (cartLines) {\n return props.multiplePickUpEnabled ? (\n renderCartlinesInternal(cartLines, resources, storeSelector, telemetryContent, isMultiplePickUp, emailDeliveryModeCode)\n ) : (\n \n {renderCartlinesInternal(cartLines, resources, storeSelector, telemetryContent, isMultiplePickUp, emailDeliveryModeCode)}\n \n );\n }\n\n return isCartDataResult ? (\n
\n
{props.slots.emptyCart}
\n
\n ) : (\n <>{waitingComponent}\n );\n};\n\n/**\n * Render Cart Lines group title.\n * @param cartLine - The cart line view props.\n * @param resources - Module resource strings.\n * @param count - Count of products.\n * @returns JSX Element.\n */\nconst renderCartLinesGroupTitle = (cartLine: ICartlinesViewProps, resources: ICartResources, count: number) => {\n const isBopisSelected = cartLine.pickUpInStore?.isBopisSelected;\n const { itemLabel, itemsLabel } = resources;\n const itemCountOne: number = 1;\n const suffix = count > itemCountOne ? itemsLabel : itemLabel;\n const countTitle = `(${count} ${suffix})`;\n return (\n <>\n \n {isBopisSelected ? (\n

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

\n ) : null}\n

{countTitle}

\n
\n \n );\n};\n\n/**\n * Render Cart Lines group title.\n * @param cartLine - The cart line view props.\n * @param resources - Module resource strings.\n * @param count - Count of products.\n * @param emailDeliveryModeCode - The email delivery mode code.\n * @returns JSX Element.\n */\nconst renderCartLinesGroupHeader = (\n cartLine: ICartlinesViewProps,\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\n/**\n * Returns count of products.\n * @param cartLine - The cart line view props.\n * @returns Number of products.\n */\nconst countItems = (cartLine: ICartlinesViewProps[]): number => {\n let countItem = 0;\n const defaultItemCount = 0;\n countItem = cartLine.reduce((count, item) => {\n return count + (item.data?.cartline.Quantity ?? defaultItemCount);\n }, defaultItemCount);\n return countItem;\n};\n\n/**\n * Render Cart Lines group.\n * @param props - The cart line view props.\n * @param resources - Module resource strings.\n * @returns JSX Element.\n */\nconst renderCartLinesGroup = (props: ICartViewProps & ICartExtensionProps<{}>, resources: ICartResources): JSX.Element | undefined => {\n if (props.cartLinesGroup && ArrayExtensions.hasElements(props.cartLinesGroup)) {\n return (\n
\n {props.cartLinesGroup.map(cartlines => {\n return (\n
\n {renderCartLinesGroupHeader(\n cartlines[0],\n resources,\n countItems(cartlines),\n props.context.actionContext.requestContext.channel?.EmailDeliveryModeCode\n )}\n {renderCartlines(\n props,\n cartlines,\n props.resources,\n props.storeSelector,\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
{props.slots.emptyCart}
\n
\n ) : (\n <>{props.waitingComponent}\n );\n};\n\n/**\n * Render error block.\n * @param errorData - Error component.\n * @returns JSX Element.\n */\nconst renderErrorBlock = (errorData: IOrderSummaryErrors | undefined): JSX.Element | null => {\n if (!errorData || !ArrayExtensions.hasElements(errorData.errors)) {\n return null;\n }\n return (\n \n {errorData.header}\n {errorData.errors}\n \n );\n};\n\n/**\n * Render invoice summary.\n * @param invoiceSummaryLines - Invoice summary component.\n * @param orderSummaryItems - Order summary component.\n * @param props - The module props.\n * @returns JSX Element.\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\n/**\n * Render order summary.\n * @param orderSummaryLines - Order summary component.\n * @param orderSummaryItems - Order summary items component.\n * @param props - The module props.\n * @returns JSX Element.\n */\nconst renderOrderSummarylines = (\n orderSummaryLines: IOrderSummaryLines | undefined,\n orderSummaryItems: INodeProps,\n props: ICartViewProps\n): JSX.Element | null => {\n if (!orderSummaryLines) {\n props.context.telemetry.error('OrderSummary content is empty, module wont render');\n return null;\n }\n return (\n \n {orderSummaryLines.subtotal}\n {orderSummaryLines.totalDiscounts ? orderSummaryLines.totalDiscounts : null}\n {orderSummaryLines.shipping}\n {orderSummaryLines.otherCharge}\n {orderSummaryLines.tax}\n {orderSummaryLines.orderTotal}\n \n );\n};\n\n/**\n * Render error block.\n * @param promotions - The module view props.\n * @returns JSX Element.\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\n/**\n * Render order summary checkout.\n * @param props - The module view props.\n * @returns JSX Element.\n */\nconst renderOrderSummaryCheckout = (props: ICartViewProps): JSX.Element | undefined => {\n return (\n \n {props.cart?.hasInvoiceLine ? null : props.promoCode}\n \n {props.checkoutAsSignInUserButton}\n {props.checkoutAsGuestButton}\n {props.expressCheckoutButton && ArrayExtensions.hasElements(props.expressCheckoutButton) ? (\n {props.expressCheckoutButton}\n ) : null}\n \n {props.createTemplateFromCartButton}\n \n );\n};\n\n/**\n * Render order summary checkout button.\n * @param props - The module view props.\n * @returns JSX Element.\n */\nconst renderOrderSummaryCheckoutButton = (props: ICartViewProps): JSX.Element | undefined => {\n return (\n \n {props.checkoutAsSignInUserButton}\n {props.checkoutAsGuestButton}\n \n );\n};\n\n/**\n * Render cart view.\n * @param props - The module view props.\n * @returns JSX Element.\n */\nconst CartView: React.FC> = (props: ICartViewProps & ICartExtensionProps<{}>) => {\n const totalItemCountOne: number = 1;\n const updatedTitle = (\n

\n {props.resources.cartTitle}\n \n {` (${Number(props.cart?.totalItemsInCart)} ${props.cart?.totalItemsInCart !== totalItemCountOne ? 'items' : 'item'})`}\n \n

\n );\n return (\n
\n {props.checkoutBlockedDueToUnavailableFunds}\n {updatedTitle}\n
{props.orderSummaryLineitems?.orderTotal}
\n {renderOrderSummaryCheckoutButton(props)}\n {!props.cart?.hasInvoiceLine && props.promotionOptions && renderPromotions(props.promotionOptions)}\n {props.cart?.hasInvoiceLine || props.multiplePickUpEnabled\n ? renderCartLinesGroup(props, props.resources)\n : renderCartlines(\n props,\n props.cartlines,\n props.resources,\n props.storeSelector,\n props.waitingComponent,\n props.cartLoadingStatus,\n props.cartDataResult\n )}\n {props.orderSummaryHeading && (\n \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 \n {renderOrderSummaryCheckout(props)}\n \n )}\n {props.storeSelector}\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 IHelp,\n IOrderDetailsViewProps,\n IOrderInformation,\n IOrderSummary,\n IPaymentMethods,\n ISalesLine\n} from '@msdyn365-commerce-modules/order-management';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport const OrderInfomation: React.FC = ({\n orderInformationProps,\n salesId,\n receiptId,\n createdDate,\n count,\n amount,\n channelReferenceId,\n channelName,\n note,\n channelAddress\n}) => (\n \n {channelName}\n {channelAddress}\n {salesId}\n {receiptId}\n {createdDate}\n {count}\n {amount}\n {channelReferenceId}\n {note}\n \n);\n\nexport const SalesLine: React.FC = ({ salesLineProps, salesLine, buyAgainButton, errors }) => (\n \n {salesLine}\n {buyAgainButton}\n {errors}\n \n);\n\nexport const GroupDelivery: React.FC = ({ deliveryProps, heading, count }) => (\n \n {heading}\n {count}\n \n);\n\nexport const Group: React.FC = ({ groupProps, delivery, address, salesLinesProps, salesLines, isCashAndCarryTransaction }) => (\n \n {delivery && }\n \n {salesLines && (\n \n {salesLines.map(salesLine => (\n \n {!isCashAndCarryTransaction && salesLine.salesStatus}\n {salesLine.data.deliveryType === 'ship' && salesLine.data.shipment ? salesLine.trackingInfo : null}\n \n \n ))}\n \n )}\n {!delivery.showTimeslot && address}\n {delivery.showTimeslot && (\n \n {address}\n {delivery.pickupDateTimeslot}\n \n )}\n \n \n);\n\nexport const Groups: React.FC = ({ groupsProps, groups }) => (\n \n {groups.map((group, index) => (\n \n ))}\n \n);\n\nexport const OrderSummary: React.FC = ({\n orderSummaryProps,\n heading,\n subtotal,\n shipping,\n tax,\n totalAmount,\n earnedPoints\n}) => (\n \n {heading}\n {subtotal}\n {shipping}\n {tax}\n {totalAmount}\n {earnedPoints}\n \n);\n\nexport const Payment: React.FC = ({ paymentMethodsProps, title, methods }) => (\n \n {title}\n {methods}\n \n);\n\nexport const Help: React.FC = ({ helpProps, needHelpLabel, helpLineNumberLabel, contactNumber }) => (\n \n {needHelpLabel}\n {helpLineNumberLabel}\n {contactNumber}\n \n);\n\nconst OrderDetailsView: React.FC = ({\n moduleProps,\n viewModes,\n tableViewActions,\n table,\n placedBy,\n heading,\n alert,\n loading,\n orderInfomation,\n orderSummary,\n payment,\n help,\n groups\n}) => {\n return (\n \n {placedBy}\n {heading}\n {alert}\n {loading}\n {orderInfomation && }\n {tableViewActions}\n {viewModes}\n {table}\n {groups && }\n \n {orderSummary && }\n {payment && }\n \n {help && }\n \n );\n};\n\nexport default OrderDetailsView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n IGroup,\n IGroupDelivery,\n IGroups,\n IHeader,\n IList,\n IOrderHistoryViewProps,\n IOrderInformation,\n ISalesOrder\n} from '@msdyn365-commerce-modules/order-management';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport const OrderHistoryOrderInfomation: React.FC = ({\n orderInformationProps,\n salesId,\n receiptId,\n channelName,\n createdDate,\n count,\n amount,\n channelReferenceId\n}) => (\n \n {channelName}\n {salesId}\n {receiptId}\n {createdDate}\n {count}\n {amount}\n {channelReferenceId}\n \n);\n\nexport const OrderHistoryGroupDelivery: React.FC = ({\n deliveryProps,\n heading,\n count,\n processing,\n address,\n trackingInfo\n}) => (\n \n {heading}\n {count}\n {processing}\n {address}\n {trackingInfo}\n \n);\n\nexport const OrderHistoryGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\n \n {salesLines && (\n \n {salesLines.map(salesLine => (\n {salesLine.salesLine}\n ))}\n \n )}\n \n);\n\nexport const OrderHistoryGroups: React.FC = ({ groupsProps, groups }) => (\n \n {groups.map((group, index) => (\n \n ))}\n \n);\n\nexport const OrderHistoryHeader: React.FC = ({ headerProps, heading, orderCountLabel, extraActions }) => (\n \n {heading}\n {orderCountLabel}\n {extraActions}\n \n);\n\nexport const OrderHistorySalesOder: React.FC = ({\n salesOrderProps,\n orderInfomation,\n groups,\n orderDetailsLink,\n expandProductsButton\n}) => (\n \n
\n {orderInfomation.placedBy && {orderInfomation.placedBy}}\n
{orderInfomation && }
\n
\n {groups && }\n {expandProductsButton}\n {orderDetailsLink}\n
\n);\n\nexport const OrderHistoryList: React.FC = ({ listProps, salesOrders }) => (\n \n {salesOrders && salesOrders.map((salesOrder, index) => )}\n \n);\n\nconst OrderHistoryView: React.FC = ({\n orderHistoryProps,\n header,\n alert,\n loading,\n emptyMessage,\n backToShoppingLink,\n list,\n table,\n moreButton\n}) => (\n \n {header && }\n {loading}\n {alert && (\n <>\n {alert}\n {backToShoppingLink}\n \n )}\n {emptyMessage && (\n \n {emptyMessage}\n {backToShoppingLink}\n \n )}\n {list && }\n {table}\n {moreButton && moreButton}\n \n);\n\nexport default OrderHistoryView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ISearchData, ISearchViewProps } from '@msdyn365-commerce-modules/search';\nimport { Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\n\n/**\n * Render Categories heading.\n * @param inCategoriesHeading - The Keywords result heading.\n * @returns The JSX Element.\n */\nconst renderCategorySuggestionsTitle = (inCategoriesHeading: string): JSX.Element => {\n const categoryAutoSuggestionHeading = inCategoriesHeading ? inCategoriesHeading : 'In categories';\n\n return
{categoryAutoSuggestionHeading}
;\n};\n\n/**\n * Render Categories suggestion result.\n * @param inCategoriesHeading - The Categories result heading.\n * @param noResultText - The \"No Result\" text.\n * @param props - The Categories suggestion result.\n * @param isLoadingAutoSuggest - The autosuggestion loading flag.\n * @param isLoadingNode - The autosuggestion loading node.\n * @returns The JSX Element.\n */\nexport const CategorySuggestionsComponent = (\n inCategoriesHeading: string,\n noResultText: string,\n props: ISearchViewProps & ISearchProps,\n isLoadingAutoSuggest?: boolean,\n isLoadingNode?: React.ReactNode\n): JSX.Element => {\n return props.autosuggestCategory ? (\n \n {renderCategorySuggestionsTitle(inCategoriesHeading)}\n \n {isLoadingAutoSuggest && isLoadingNode}\n {!isLoadingAutoSuggest &&\n props.autosuggestCategory.text.map(text => {\n return text;\n })}\n \n \n ) : (\n \n {renderCategorySuggestionsTitle(inCategoriesHeading)}\n \n
  • {noResultText}
  • \n
    \n
    \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IImageData, Image } from '@msdyn365-commerce/core';\nimport { ISearchData } from '@msdyn365-commerce-modules/search';\nimport { Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\n\n/**\n * Render Products Suggestion result heading.\n * @param props -The props.\n * @returns The JSX Element.\n */\nconst renderProductNotFoundResultsImage = (props: ISearchProps): JSX.Element | null => {\n const noSearchResultImage: IImageData | undefined = props.config.noSearchResultImage;\n if (!noSearchResultImage || !noSearchResultImage.src) {\n return null;\n }\n const imageSettings = {\n lazyload: true,\n viewports: {\n xs: { w: 100, h: 100, q: 'w=100&h=100&q=60&m=6' }\n }\n };\n return (\n \n );\n};\n\n/**\n * Render Product suggestion result.\n * @param props -The props.\n * @returns The JSX Element.\n */\nexport const MobileAutoSuggestEmptyComponent = (props: ISearchProps): JSX.Element => {\n return (\n \n
    {renderProductNotFoundResultsImage(props)}
    \n
    \n
    {props.resources.emptyMobileSearchTextHeading}
    \n
    {props.resources.emptyMobileSearchText}
    \n
    \n
    \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ISearchData, ISearchFormViewProps } from '@msdyn365-commerce-modules/search';\nimport { Button, INodeProps, Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\nimport { MobileAutoSuggestEmptyComponent } from './search.mobile.empty';\n\n/**\n * Render Clear button for mobile viewport.\n * @param clearSearchButtonText -The Clear button text.\n * @param clearSearch -Clear Search callback.\n * @returns -The JSX Element.\n */\nconst renderClearButton = (clearSearchButtonText: string, clearSearch: () => void): JSX.Element => {\n return (\n \n );\n};\n\n/**\n * Render Search form.\n * @param form -Form view props.\n * @param searchForm -Search Form props.\n * @param formWrapper -Form Wrapper props.\n * @param isMobile -Is mobile viewport flag.\n * @param clearSearchButtonText -The Clear button text.\n * @param props -The props for resource.\n * @param isSearchText -Is SearchText flag for input text.\n * @param clearSearch -Clear Search callback.\n * @returns -The JSX Element.\n */\nexport const FormComponent = (\n form: ISearchFormViewProps,\n searchForm: INodeProps,\n formWrapper: INodeProps,\n isMobile: boolean,\n clearSearchButtonText: string,\n props: ISearchProps,\n isSearchText: boolean,\n clearSearch: () => void\n): JSX.Element => {\n const cancelButtonNode = (\n \n );\n\n return isMobile ? (\n \n {form.cancelBtn}\n \n {form.input}\n {isSearchText && renderClearButton(clearSearchButtonText, clearSearch)}\n {!isSearchText ? MobileAutoSuggestEmptyComponent(props) : null}\n \n \n ) : (\n \n \n {form.submitBtn}\n {form.input}\n {isSearchText && cancelButtonNode}\n \n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ISearchKeywordViewProps } from '@msdyn365-commerce-modules/search';\nimport { INodeProps, Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\n/**\n * Render keywords heading.\n * @param keywordsHeading -The Keywords result heading.\n * @returns The JSX Element.\n */\nconst renderKeywordSuggestionsTitle = (keywordsHeading: string): JSX.Element => {\n const categoryAutoSuggestionHeading = keywordsHeading ? keywordsHeading : 'Keywords';\n\n return
    {categoryAutoSuggestionHeading}
    ;\n};\n\n/**\n * Render keywords reults.\n * @param keywordSuggest -The Keywords suggest Node props.\n * @param ulKeyword -The List Node props.\n * @param keywordsHeading -The Keywords result heading.\n * @param noResultText -The \"No Result\" text.\n * @param keywordSuggestions -The Keywords suggestion result.\n * @param isLoadingAutoSuggest - The autosuggestion loading flag.\n * @param isLoadingNode - The autosuggestion loading node.\n * @returns -The JSX Element.\n */\nexport const KeywordSuggestionsComponent = (\n keywordSuggest: INodeProps,\n ulKeyword: INodeProps,\n keywordsHeading: string,\n noResultText: string,\n keywordSuggestions?: ISearchKeywordViewProps,\n isLoadingAutoSuggest?: boolean,\n isLoadingNode?: React.ReactNode\n): JSX.Element => {\n return keywordSuggestions ? (\n \n {renderKeywordSuggestionsTitle(keywordsHeading)}\n \n {isLoadingAutoSuggest && isLoadingNode}\n {!isLoadingAutoSuggest &&\n keywordSuggestions.text.map(text => {\n return text;\n })}\n \n \n ) : (\n \n {renderKeywordSuggestionsTitle(keywordsHeading)}\n \n
  • {noResultText}
  • \n
    \n
    \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IImageData, Image } from '@msdyn365-commerce/core';\nimport { ISearchData, ISearchProductViewProps } from '@msdyn365-commerce-modules/search';\nimport { INodeProps, Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\n\n/**\n * Render Products Suggestion result heading.\n * @param productSuggestionsHeading -The products suggestion result heading.\n * @returns The JSX Element.\n */\nconst renderProductSuggestionsTitle = (productSuggestionsHeading: string): JSX.Element => {\n const productAutoSuggestionHeading = productSuggestionsHeading ? productSuggestionsHeading : 'Products';\n\n return
    {productAutoSuggestionHeading}
    ;\n};\n\n/**\n * Render Products Suggestion result heading.\n * @param props -The props.\n * @returns The JSX Element.\n */\nconst renderProductNotFoundResultsImage = (props: ISearchProps): JSX.Element | null => {\n const noSearchResultImage: IImageData | undefined = props.config.noSearchResultImage;\n if (!noSearchResultImage || !noSearchResultImage.src) {\n return null;\n }\n return (\n \n );\n};\n\n/**\n * Render Products No result section.\n * @param props -The props.\n * @returns The JSX Element.\n */\nconst renderProductNotFoundResults = (props: ISearchProps): JSX.Element => {\n return (\n \n
    {renderProductNotFoundResultsImage(props)}
    \n
    {props.resources.noResultContentHeadingText}
    \n
    \n {props.resources.noResultContentParagraphText}\n
    \n
    \n );\n};\n\n/**\n * Render Product suggestion result.\n * @param productSuggest -The product suggest Node props.\n * @param ulProduct -The List Node props.\n * @param props -The props.\n * @param productSuggestions -The Product suggestion result.\n * @param isLoadingAutoSuggest - The autosuggestion loading flag.\n * @param isLoadingNode - The autosuggestion loading node.\n * @returns The JSX Element.\n */\nexport const ProductSuggestionsComponent = (\n productSuggest: INodeProps,\n ulProduct: INodeProps,\n props: ISearchProps,\n productSuggestions?: ISearchProductViewProps,\n isLoadingAutoSuggest?: boolean,\n isLoadingNode?: React.ReactNode\n): JSX.Element => {\n const liProduct: INodeProps = {\n tag: 'li',\n className: 'msc-no-result-content'\n };\n return productSuggestions ? (\n \n {renderProductSuggestionsTitle(props.resources.productSuggestionHeading)}\n \n {isLoadingAutoSuggest && isLoadingNode}\n {!isLoadingAutoSuggest &&\n productSuggestions.items.map((item, index) => {\n return (\n \n \n {item.thumbnail}\n {item.text}\n {item.price}\n \n \n );\n })}\n \n \n ) : (\n \n {renderProductSuggestionsTitle(props.resources.productSuggestionHeading)}\n \n {renderProductNotFoundResults(props)}\n \n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { ISearchData, ISearchFormViewProps, ISearchViewProps } from '@msdyn365-commerce-modules/search';\nimport { Button, format, isMobile, Module, Node, VariantType } from '@msdyn365-commerce-modules/utilities';\nimport React, { useCallback, useEffect, useState } from 'react';\n\nimport { ISearchProps } from '../definition-extensions/search.ext.props.autogenerated';\nimport { CategorySuggestionsComponent } from './components/search.categorysuggest';\nimport { FormComponent } from './components/search.form';\nimport { KeywordSuggestionsComponent } from './components/search.keywordsuggest';\nimport { ProductSuggestionsComponent } from './components/search.productsuggest';\n\n/**\n * Render Title for AutoSuggest.\n * @param searchSuggestionHeading -The heading resource string.\n * @param searchText -The search string.\n * @returns -The JSX Element.\n */\nconst renderTitle = (searchSuggestionHeading: string, searchText: string): JSX.Element => {\n const searchTextString = '\"'.concat(searchText.concat('\"'));\n const searchAutoSuggestionHeading = searchSuggestionHeading\n ? format(searchSuggestionHeading, searchTextString)\n : `Search for ${searchTextString}`;\n\n return {searchAutoSuggestionHeading};\n};\n\n/**\n * Search View.\n * @param props - The view props.\n * @returns The JSX Element.\n */\nconst SearchView: React.FC> = (\n props: ISearchViewProps & ISearchProps\n): JSX.Element => {\n const {\n Search,\n AutoSuggestAriaLabel,\n AutoSuggestAriaLabelText,\n searchText,\n AutoSuggest,\n KeywordSuggest,\n ProductSuggest,\n UlKeyword,\n UlProduct,\n form,\n autosuggestKeyword,\n autosuggestProduct,\n SearchForm,\n FormWrapper,\n label,\n context,\n isLoadingAutoSuggest,\n isLoadingNode,\n callbacks: { handleCancelSearchFocused }\n } = props;\n\n const { searchSuggestionHeading, categorySuggestionHeading, keywordsHeading, noResultText, clearSearchButtonText } = props.resources;\n\n const [searchTextString, setSearchTextString] = useState();\n const [isMobilePort, setIsMobile] = useState(false);\n\n useEffect(() => {\n setSearchTextString(searchText);\n }, [searchText]);\n\n /**\n * ClearSearch callback method to clear search string.\n */\n const clearSearch = (): void => {\n setSearchTextString('');\n\n const propsForm = props.form as ISearchFormViewProps;\n const propsFormInput = propsForm.input as React.DetailedHTMLProps, HTMLInputElement>;\n const propsFormInputCurrent = (propsFormInput.ref as React.RefObject).current;\n\n if (propsFormInputCurrent) {\n propsFormInputCurrent.value = '';\n }\n\n propsFormInput.value = '';\n props.searchText = '';\n props.FormWrapper.action = '';\n };\n\n const isMobileViewport = useCallback(() => {\n const isMobileView = isMobile({ variant: VariantType.Browser, context: context.request }) === 'xs';\n setIsMobile(isMobileView);\n }, [context]);\n\n useEffect(() => {\n window.addEventListener('resize', isMobileViewport);\n isMobileViewport();\n }, [isMobileViewport]);\n\n const viewport = isMobile({ variant: VariantType.Browser, context: context.request });\n\n const isMobileView = viewport === 'sm' || viewport === 'xs';\n\n AutoSuggest.className = !StringExtensions.isNullOrEmpty(searchTextString)\n ? `${AutoSuggest.className} show`\n : `${AutoSuggest.className} hide`;\n const isSearchText: boolean = !StringExtensions.isNullOrEmpty(searchTextString);\n\n return (\n \n {label}\n {FormComponent(\n form as ISearchFormViewProps,\n SearchForm,\n FormWrapper,\n isMobilePort,\n clearSearchButtonText,\n props,\n isSearchText,\n clearSearch\n )}\n {!isMobileView && (\n \n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\n {AutoSuggestAriaLabelText}\n ) : (\n ''\n )}\n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\n <>\n \n \n {renderTitle(searchSuggestionHeading, searchText)}\n \n \n \n {CategorySuggestionsComponent(\n categorySuggestionHeading,\n noResultText,\n props,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n {KeywordSuggestionsComponent(\n KeywordSuggest,\n UlKeyword,\n keywordsHeading,\n noResultText,\n autosuggestKeyword,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n \n {ProductSuggestionsComponent(\n ProductSuggest,\n UlProduct,\n props,\n autosuggestProduct,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n \n \n ) : null}\n \n )}\n {isMobileView && props.isSearchFormExpanded && (\n \n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\n {AutoSuggestAriaLabelText}\n ) : (\n ''\n )}\n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\n <>\n \n {(form as ISearchFormViewProps).cancelBtn}\n {renderTitle(searchSuggestionHeading, searchText)}\n \n \n \n {CategorySuggestionsComponent(\n categorySuggestionHeading,\n noResultText,\n props,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n {KeywordSuggestionsComponent(\n KeywordSuggest,\n UlKeyword,\n keywordsHeading,\n noResultText,\n autosuggestKeyword,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n \n {ProductSuggestionsComponent(\n ProductSuggest,\n UlProduct,\n props,\n autosuggestProduct,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n \n \n ) : null}\n \n )}\n \n );\n};\nexport default SearchView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getPayloadObject, getTelemetryAttributes, getTelemetryObject, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport {\n ISignInItem,\n ISignInLoading,\n ISignInLocalAccount,\n ISignInSocialAccount,\n ISignInSocialItem,\n ISignInB2BAccount,\n ISignInB2BItem,\n ISignInViewProps,\n ISignInButton\n} from '@msdyn365-commerce-modules/account-management';\n\nimport { ISignInProps, ISignInResources } from '../definition-extensions/sign-in.ext.props.autogenerated';\n\nconst LocalAccount: React.FC = ({ localAccount, items, forgetPassword, disclaimer, error, signInButton }) => {\n return (\n \n {items &&\n items.map((item: ISignInItem) => {\n return (\n \n {item.label}\n {item.error}\n {item.input}\n \n );\n })}\n {forgetPassword}\n {disclaimer}\n {error}\n {signInButton}\n \n );\n};\n\nconst SocialAccount: React.FC = ({ socialAccounts, items }) => {\n return (\n \n {items &&\n items.map((item: ISignInSocialItem) => {\n return (\n \n {item.image}\n {item.text}\n \n );\n })}\n \n );\n};\n\nconst B2BAccount: React.FC = ({ socialAccounts, items }) => {\n return (\n \n {items &&\n items.map((item: ISignInB2BItem) => {\n return (\n item && (\n \n {item.text}\n \n )\n );\n })}\n \n );\n};\n\nconst SignInLoading: React.FC = ({ modal, modalBody, icon, message }) => {\n return (\n \n \n {icon}\n {message}\n \n \n );\n};\nconst SignInButton: React.FC = ({ id, className, text, ariaLabel, telemetryContent, onClick }) => {\n const payLoad = getPayloadObject('click', telemetryContent!, text);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n return (\n \n {text}\n \n );\n};\n\nconst signUpButton: React.FC> = (\n props: ISignInViewProps & ISignInProps\n) => {\n const {\n resources,\n telemetry,\n friendlyName,\n context: {\n request: { telemetryPageName }\n }\n } = props;\n const telemetryContent = getTelemetryObject(telemetryPageName!, friendlyName, telemetry);\n const attributes = {\n href: '#'\n };\n\n return (\n \n );\n};\n\nconst SignInView: React.FC> = props => {\n const {\n signIn,\n viewState,\n loading,\n defaultAADConainer,\n aadConainer,\n signInSection,\n signUpSection,\n signInSectionHeading,\n signInLocalAccount,\n signInSocialAccount,\n signUpSectionHeading,\n signInB2BAccount,\n signUpDescription\n } = props;\n\n return (\n \n {viewState.isShowLoading && }\n {viewState.isShowLoading && }\n \n \n {signInSectionHeading}\n {LocalAccount(signInLocalAccount)}\n {SocialAccount(signInSocialAccount)}\n \n \n {signUpSectionHeading}\n {signUpDescription}\n {signUpButton(props)}\n \n
    \n
    \n or\n
    \n {B2BAccount(signInB2BAccount)}\n
    \n
    \n
    \n );\n};\n\nexport default SignInView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IImageSettings, Image, RichTextComponent } from '@msdyn365-commerce/core';\nimport { IWriteReviewData, IWriteReviewViewProps } from '@msdyn365-commerce-modules/ratings-reviews';\nimport { generateImageUrl } from '@msdyn365-commerce-modules/retail-actions';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IWriteReviewProps } from '../definition-extensions/write-review.ext.props.autogenerated';\n\n/**\n * Render Product Image.\n * @param props - WriteReview ViewProps.\n * @returns JSX Element.\n */\nconst renderProductImage = (props: IWriteReviewViewProps & IWriteReviewProps): JSX.Element => {\n const primaryImageSource = props.data.product.result?.PrimaryImageUrl;\n const imageUrl = generateImageUrl(primaryImageSource, props.context.request.apiSettings);\n const defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=111&h=111&m=6', w: 111, h: 111 },\n sm: { q: 'w=130&h=130&m=6', w: 130, h: 130 },\n md: { q: 'w=130&h=130&m=6', w: 130, h: 130 },\n lg: { q: 'w=130&h=130&m=6', w: 130, h: 130 },\n xl: { q: 'w=130&h=130&m=6', w: 130, h: 130 }\n },\n lazyload: true,\n cropFocalRegion: true\n };\n\n return (\n \n );\n};\n\n/**\n * Render Product Description.\n * @param props - WriteReview ViewProps.\n * @returns JSX Element.\n */\nconst renderProductDescription = (props: IWriteReviewViewProps & IWriteReviewProps): JSX.Element => {\n const product = props.data.product.result;\n return (\n \n
    {renderProductImage(props)}
    \n
    \n
    {product?.Name}
    \n
    {product?.ItemId}
    \n
    \n
    \n );\n};\n\n/**\n * Create Write Review Modal.\n * @param props - WriteReview ViewProps.\n * @returns JSX Element.\n */\nconst createReviewModal = (props: IWriteReviewViewProps & IWriteReviewProps): JSX.Element => {\n const { resources, moduleProps, reviewModal } = props;\n\n return (\n \n {reviewModal.modalHeader}\n \n \n \n {renderProductDescription(props)}\n \n
    {resources.selectRatingLabel}
    \n {reviewModal.rating}\n
    \n
    \n \n {resources.reviewTitleLabel}\n {reviewModal.titleInput}\n \n \n {resources.reviewTextLabel}\n {reviewModal.textInput}\n \n {reviewModal.privacyPolicyUrl}\n {reviewModal.error}\n
    \n
    \n \n {reviewModal.submitButton}\n {reviewModal.cancelButton}\n \n
    \n );\n};\n\n/**\n * WriteReview view.\n * @param props - WriteReview ViewProps.\n * @returns WriteReview view module.\n */\nconst WriteReviewView: React.FC> = props => {\n const { config, heading, signInMessage, signInButton, modalToggle, moduleProps } = props;\n const { paragraph } = config;\n const isAuthenticated = props.context.request.user.isAuthenticated;\n const text = paragraph && ;\n\n return (\n \n {heading}\n {!isAuthenticated ? (\n <>\n {signInMessage}\n {signInButton}\n \n ) : (\n <>\n {text}\n {modalToggle}\n {createReviewModal(props)}\n \n )}\n \n );\n};\n\nexport default WriteReviewView;\n"],"names":["_ref","type","message","iconSize","closable","onClose","customStyles","React","className","role","style","onClick","ModalContext","createContext","isOpen","setOpen","setClose","ModalProvider","_content$header","children","props","setIsOpen","useState","content","setContent","header","size","isMounted","setIsMounted","useEffect","setTimeout","modalContainer","tag","Modal","moduleProps","classname","toggle","modalTransition","timeout","shouldUpdateFocusToFirstElement","modalHeaderContainer","ModalHeader","closeButtonTabIndex","modalFooterContainer","ModalFooter","modalBodyContainer","ModalBody","Provider","value","data","Module","Object","assign","Node","useModal","context","useContext","Error","label","ref","useRef","tooltip","setTooltip","show","position","top","left","windowSize","height","width","current","rect","getBoundingClientRect","newPosition","_objectSpread","right","overflowWidth","TOOLTIP_X_OFFSET","bottom","window","innerHeight","overflowHeight","TOOLTIP_OFFSET","onMouseEnter","e","_e$target","target","scrollY","scrollX","innerWidth","handleMouseEnter","onMouseLeave","handleMouseLeave","createPortal","document","body","NO_DATA_FALLBACK","MULTI_VALUE_SEPARATOR","DEBOUNCE_INPUT_DELAY","CREATE_ORDER_ADDITIONAL_INFORMATION_TEXT_ID","CREATE_ORDER_ADDITIONAL_INFORMATION_TEXT_LIMIT","CREATE_ORDER_NO_ENDCUSTOMER_VALUE","CREATE_ORDER_SAVE_CART_DELAY","CREATE_ORDER_COLUMN_ACTION","CREATE_ORDER_COLUMN_PRODUCT_NAME","CREATE_ORDER_COLUMN_PRODUCT_NUMBER","CREATE_ORDER_COLUMN_UNIT","CREATE_ORDER_COLUMN_INCOTERM","CREATE_ORDER_COLUMN_SALES_ORG","CREATE_ORDER_COLUMN_BUSINESS_UNIT","CREATE_ORDER_COLUMN_DIVISION_TEXT","CREATE_ORDER_COLUMN_SALES_ORG_TEXT","CREATE_ORDER_COLUMN_DISTRIBUTION_CHANNEL","CREATE_ORDER_COLUMN_END_CUSTOMER","CREATE_ORDER_COLUMN_CUSTOMER_PRODUCT_NUMBER","CREATE_ORDER_COLUMN_REQUESTED_DELIVERY_DATE","ERROR_CODE_SERVER_ERROR_INDEX","TOTAL_PRICE_DEFAULT","STATUS_CODES","OVERALL_STATUS_CODES","ORDER_HISTORY_FILTER_STATUS","ORDER_HISTORY_FILTER_FROM_DATE","ORDER_HISTORY_FILTER_TO_DATE","ORDER_HISTORY_FILTER_CREATED_ON","ORDER_HISTORY_FILTER_FULLNAME","ORDER_HISTORY_COLUMN_ORDER_NUMBER","ORDER_HISTORY_COLUMN_ACTION","ORDER_HISTORY_COLUMN_PO_NUMBER","ORDER_HISTORY_COLUMN_SOLD_TO_NAME","ORDER_HISTORY_COLUMN_SHIP_TO_NAME","OrderStatus","BACK_TO_TOP_THRESHOLD","BACK_TO_TOP_HIDE_DELAY","CipBackTopFooter","render","this","renderView","visible","setVisible","isScrolling","setIsScrolling","scrollValue","isMouseOver","setIsMouseOver","btnRef","handleScroll","scrolled","documentElement","scrollTop","addEventListener","removeEventListener","button","hideTimeout","clearTimeout","event","preventDefault","scrollTo","behavior","href","config","destination","title","ariaLabel","tabIndex","backtoTopText","OrderDetails","constructor","super","_showToast","heading","description","toast","error","dismiss","getOrderDetailsProps","footerProps","orderDetails","rawData","getOrderDetails","result","errorCode","Number","String","charAt","resources","globalErrorHeading","globalErrorServiceNotAvailable","toJS","get","_this$props$context$a","salesId","transactionId","actionContext","requestContext","query","viewProps","isUserTypeB2B","request","user","isAuthenticated","_this$props$context$a2","signInUrl","Msdyn365","isBrowser","location","Toaster","richColors","toastOptions","classNames","default","success","warning","info","__decorate","computed","observer","getReorderPageUrl","orderNumber","reorderDetailsUrl","getUrlSync","separator","includes","ModalContent","orderDetailsModalDeliveryNumber","DeliveryNumber","orderDetailsModalDeliveryDate","DeliveryDate","formatDate","Date","orderDetailsModalPreCarriageHeading","orderDetailsModalPreCarriageLastEventLocation","PreCarriageLastEventLocation","orderDetailsModalPreCarriageDepartureDate","PreCarriageDepartureDate","orderDetailsModalPreCarriageArrivalDate","PreCarriageArrivalDate","orderDetailsModalConfirmedPickupDateLbn","ConfirmedPickupDateLBN","orderDetailsModalConfirmedPickupTimeLbn","ConfirmedPickupTimeLBN","formatTime","orderDetailsModalMainCarriageHeading","orderDetailsModalActualArrivalDate","ActualArrivalDate","orderDetailsModalGoodsMovementDate","GoodsMovementDate","orderDetailsModalActualEventDate","ActualEventDate","orderDetailsModalActualEvent","ActualEvent","orderDetailsModalCarrierName","CarrierName","orderDetailsModalContainer","Container","orderDetailsModalContainerType","ContainerType","orderDetailsModalShipFlightNumber","ShipFlightNumber","orderDetailsModalDepartureDate","DepartureDate","orderDetailsModalArrivalDate","ArrivalDate","orderDetailsModalEstimatedTimeOfSailing","EstimatedTimeOfSailing","orderDetailsModalBLnumber","BLnumber","orderItems","_ref2","_orderDetails$OrderDe","showEndCustomer","OrderDetail","Endcustomers","orderDetailsItemsSectionHeading","orderDetailsItemsTableProductName","orderDetailsItemsTableProductNumber","Tooltip","orderDetailsItemsTableStatus","formatStatusCodeForTooltip","orderDetailsItemsTableReqDeliveryDate","orderDetailsItemsTableConfDeliveryDate","orderDetailsItemsTableReqQuantity","orderDetailsItemsTableConfQuantity","orderDetailsItemsTableDelQuantity","orderDetailsItemsTableEndcustomer","orderDetailsItemsTableDelivery","orderDetailsItemsTableInvoiceNumber","orderDetailsItemsTableNetValue","globalTableNetValueToolTip","OrderDetailLines","map","item","index","key","ProductName","ProductNumber","mapItemStatusCodeToText","Status","RequestedDate","ScheduleLines","sLine","ConfirmedDate","formatNumber","RequestedQty","RequestedUnit","ConfirmedQty","ConfirmedUnit","DeliveredQty","Endcustomer","length","orderDetailsModalDeliveryInformationHeading","InvoiceNumber","Currency","formatCurrency","NetValue","ReorderAllowed","_orderDetails$OrderDe2","orderDetailsReorderConfirmationHint","OrderNumber","orderDetailsReorderConfirmation","orderDetailsReorderLabel","documentDownloadItem","documentItem","documentDownloadRefs","documentDownloadAlreadyDownloaded","async","documentId","link","actionInput","GetDocumentDownloadInput","documentDownload","GetDocumentDownload","documentContent","Content","orderDetailsDownloadErrorHeading","orderDetailsDownloadErrorNoContentDescription","download","FileName","push","click","console","getDocumentDownload","DocumentId","Name","documentsTable","_orderDetails$Documen","_orderDetails$Documen2","orderDetailsDocumentsTableHeading","Documents","orderDetailsDocumentsTabeleDocumentName","orderDetailsDocumentsTableDate","orderDetailsDocumentsTableLanguage","orderDetailsDocumentsTableReference","_documentItem$Languag","_documentItem$Referen","DocumentDownloadItem","Language","Reference","orderDetailsDocumentsEmpty","generalInformationSection","_orderDetails$OrderDe3","_orderDetails$OrderDe4","_orderDetails$OrderDe5","_orderDetails$OrderDe6","_orderDetails$OrderDe7","_orderDetails$OrderDe8","_orderDetails$OrderDe9","_orderDetails$OrderDe10","_orderDetails$OrderDe11","_orderDetails$OrderDe12","_orderDetails$OrderDe13","_orderDetails$OrderDe14","_orderDetails$OrderDe15","_orderDetails$OrderDe16","_orderDetails$OrderDe17","orderDetailsLoadingLabel","orderDetailsGeneralTableOrderNumber","orderDetailsGeneralTableOrderType","OrderType","orderDetailsGeneralTableOverallStatus","formatOverallStatusCodeForTooltip","mapOverallStatus","getText","orderDetailsGeneralTableOrderInformationRecipient","Recipient","orderDetailsGeneralTableCustomerPo","PoNumber","orderDetailsGeneralCustomerReferenceDate","orderDetailsGeneralTableTotalWeight","TotalWeight","Unit","orderDetailsGeneralTableTotalPrice","orderDetailsGeneralTableTotalPriceToolTip","price","TotalPrice","RegExp","test","orderDetailsGeneralIncoterm1","Incoterm1","orderDetailsGeneralIncoterm2","Incoterm2","orderDetailsGeneralTablePaymentTerms","PaymentTerms","orderDetailsAdditionalInformationSectionHeading","HeaderTexts","keys","dangerouslySetInnerHTML","__html","convertSapToHtmlLinebreaks","convertHtmlToPlainText","TextValue","Address","address","headline","formatAddress","line","addressInformationSection","SoldTo","orderDetailsSoldTo","ShipTo","orderDetailsShipTo","orderDetailsGeneralInformationSectionHeading","GeneralInformationSection","orderDetailsAddressInformationSectionHeading","AddressInformationSection","OrderItems","DocumentsTable","OrderDetailsOrderInfomation","orderInformationProps","receiptId","createdDate","count","amount","channelReferenceId","channelName","channelAddress","OrderDetailsSalesLine","salesLineProps","salesLine","buyAgainButton","errors","OrderDetailsGroupDelivery","_ref3","deliveryProps","OrderDetailsGroup","_ref4","groupProps","delivery","salesLinesProps","salesLines","isCashAndCarryTransaction","LineId","deliveryType","shipment","trackingInfo","salesStatus","showTimeslot","pickupProps","pickupDateTimeslot","OrderDetailsGroups","_ref5","groupsProps","groups","group","OrderDetailsOrderSummary","_ref6","orderSummaryProps","subtotal","shipping","tax","totalAmount","earnedPoints","OrderDetailsPayment","_ref7","paymentMethodsProps","methods","OrderDetailsHelp","_ref8","helpProps","needHelpLabel","helpLineNumberLabel","contactNumber","_ref9","loading","OrderInformation","Alert","Array","fill","_","i","filter","reduce","acc","string","replace","convertSapToNewlineLinebreaks","convertNewlineToSapLinebreaks","currency","undefined","CultureInfoFormatter","locale","date","cultureFormatter","year","month","day","number","Math","trunc","toString","time","hour","minute","second","timeZone","code","globalStatusItemUnknown","globalStatusItemQueued","globalStatusItemSubmitted","globalStatusItemItemCanceled","globalStatusItemConfirmed","globalStatusItemProcessing","globalStatusItemGoodsDispatched","globalStatusItemInvoiced","globalStatusItemCompleted","globalStatusError","Map","globalStatusOverallUnknown","globalStatusOverallQueued","globalStatusOverallSubmitted","globalStatusOverallCanceled","globalStatusOverallConfirmed","globalStatusOverallProcessing","globalStatusOverallCompleted","getCodeExists","has","_map$get","getCode","text","entries","mapItemStatusCodeDescriptionToText","globalStatusItemUnknownDescription","globalStatusItemQueuedDescription","globalStatusItemSubmittedDescription","globalStatusItemItemCanceledDescription","globalStatusItemConfirmedDescription","globalStatusItemProcessingDescription","globalStatusItemGoodsDispatchedDescription","globalStatusItemInvoicedDescription","globalStatusItemCompletedDescription","globalStatusErrorDescription","mapOverallStatusCodeDescriptionToText","globalStatusOverallUnknownDescription","globalStatusOverallQueuedDescription","globalStatusOverallSubmittedDescription","globalStatusOverallCanceledDescription","globalStatusOverallConfirmedDescription","globalStatusOverallProcessingDescription","globalStatusOverallCompletedDescription","CheckInConfirmationComponent","confirmationText","shouldShowQrCode","channelReferenceIdLabel","QRCode","CheckInErrorComponent","errorMessage","CheckInForPickup","checkInForOrderPickup","channelId","parseInt","packingSlipId","additionalInformationToSubmit","additionalInformationList","additionalInformationKeyValuePair","_additionalInformatio","formKey","resourceId","extensionPropertyList","ObjectExtensions","isNullOrUndefined","additionalInformation","Key","Value","StringValue","SalesOrdersDataActions","callerContext","queryResultSettings","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","ArrayExtensions","hasElements","state","_this$props$context$r5","isHeaderError","headerError","confirmationComponent","defaultConfirmationText","confirmationIdLabel","additionalInformationValues","viewState","shouldComponentUpdate","nextProps","nextState","additionalInformationHeading","_props$config$additio","FormBuilder","additionalInformationDefaultHeading","submitButtonText","additionalInformationSubmitButtonText","requiredValueMissingErrorMessage","onSubmit","CookieComplianceAcceptButton","acceptCookiesButtonText","acceptCookiesButtonAriaLabel","telemetryContent","payLoad","getPayloadObject","attributes","getTelemetryAttributes","CookieComplianceLinks","_mapEditableLinks","linkdata","editableLinks","forEach","linkText","contentAction","etext","editableLink","linkUrl","destinationUrl","openInNewTab","additionalProperties","onTelemetryClick","links","editProps","onTextChange","CookieCompliance","getTelemetryObject","telemetryPageName","friendlyName","handleLinkTextChange","linkIndex","_this$props$config$ac","actionLinks","handleContentChange","cookieRef","_onDismiss","bind","componentDidMount","cookies","isConsentGiven","acceptCookiesAriaLabel","moduleConfig","MsDyn365","onDismiss","CookieComplianceBanner","classnames","AlertProps","color","fade","onEdit","acceptButton","setConsentCookie","reload","Iframe","iframeRef","srcURL","URL","exception","protocol","toLocaleLowerCase","iframeClassName","Heading","_createHeading","IframeContainer","IFrame","_createIframe","cookieConsentAccepted","alert","_renderAlert","cookieConsentRequiredMessage","targetURL","src","iframeAriaLabel","IFrameView","componentClassName","headingClassName","orderCountClassName","OrderHistoryWithSearchAndFiltersHeaderComponent","createComponent","component","salesOrders","textProps","showOrderCount","extraActions","orderCount","orderCountText","orderCountLabel","ordersCountLabel","onChange","_props$data$operation","b2bRequestsStatus","table","continueShoppingButtonTitle","operationRequests","headingForEmptyRequestStatus","textForEmptyRequestStatus","Button","toggleBopisHandler","cartLine","isBopisSelected","_cartLine$pickUpInSto","pickUpInStore","callbacks","toggleBopis","onChangeStoreHandler","_cartLine$pickUpInSto2","renderCartLine","storeSelector","isMultiplePickUp","emailDeliveryModeCode","outOfStockErrorMessage","addToWishlist","remove","renderGroupBopisBlock","_cartLine$data2","cartline","DeliveryMode","changeStoreDisplayText","shipInsteadDisplayText","pickItUpDisplayText","TelemetryConstant","PickupInStore","puckUpinStoreAttribute","addToOrderTemplate","renderCartlinesInternal","cartLines","itemIndex","renderBopisBlock","_cartLine$data","shipToAddressDisplayText","pickUpAtStoreWithLocationText","ContainerProps","orgUnitName","renderCartlines","waitingComponent","cartLoadingStatus","isCartDataResult","multiplePickUpEnabled","CartlinesWrapper","slots","emptyCart","renderCartLinesGroupHeader","_cartLine$pickUpInSto6","pickUpText","shippingText","emailshippingText","payInvoicesDisplayText","groupTitle","IsInvoiceLine","StringExtensions","isNullOrEmpty","toLowerCase","renderCartLinesGroupTitle","_cartLine$pickUpInSto3","_cartLine$pickUpInSto4","_cartLine$pickUpInSto5","itemLabel","itemsLabel","countTitle","deliveryOption","_props$cart2","_props$cart3","_props$orderSummaryLi","_props$cart4","_props$cart5","_props$cart6","updatedTitle","cartTitle","cart","totalItemsInCart","id","renderModuleAttributes","checkoutBlockedDueToUnavailableFunds","orderSummaryLineitems","orderTotal","checkoutAsSignInUserButton","checkoutAsGuestButton","renderOrderSummaryCheckoutButton","hasInvoiceLine","promotionOptions","promotions","promotionMessageWrapper","promotionMessage","promotionSeeAllLink","promotionDialog","renderCartLinesGroup","cartLinesGroup","cartlines","_props$context$action","_props$context$action2","cartlineId","countItem","_item$data$cartline$Q","_item$data","Quantity","countItems","channel","EmailDeliveryModeCode","cartDataResult","orderSummaryHeading","OrderSummaryWrapper","renderInvoiceSummarylines","invoiceSummaryLines","orderSummaryItems","invoices","giftCard","loyalty","invoiceSummaryLineitems","OrderSummaryItems","renderOrderSummarylines","orderSummaryLines","totalDiscounts","otherCharge","errorData","OrderSummaryErrors","Wrapper","_props$cart","promoCode","expressCheckoutButton","ExpressCheckoutSectionWrapper","createTemplateFromCartButton","renderOrderSummaryCheckout","OrderInfomation","note","SalesLine","GroupDelivery","Group","Groups","OrderSummary","Payment","Help","viewModes","tableViewActions","placedBy","orderInfomation","orderSummary","payment","help","OrderHistoryOrderInfomation","OrderHistoryGroupDelivery","processing","OrderHistoryGroup","OrderHistoryGroups","OrderHistoryHeader","headerProps","OrderHistorySalesOder","salesOrderProps","orderDetailsLink","expandProductsButton","OrderHistoryList","listProps","salesOrder","orderHistoryProps","emptyMessage","backToShoppingLink","list","moreButton","renderCategorySuggestionsTitle","inCategoriesHeading","categoryAutoSuggestionHeading","CategorySuggestionsComponent","noResultText","isLoadingAutoSuggest","isLoadingNode","autosuggestCategory","CategorySuggest","UlCategory","MobileAutoSuggestEmptyComponent","noSearchResultImage","Image","altText","gridSettings","imageSettings","lazyload","viewports","xs","w","h","q","renderProductNotFoundResultsImage","emptyMobileSearchTextHeading","emptyMobileSearchText","FormComponent","form","searchForm","formWrapper","isMobile","clearSearchButtonText","isSearchText","clearSearch","cancelButtonNode","cancelBtnAriaLabel","cancelBtn","input","renderClearButton","submitBtn","renderKeywordSuggestionsTitle","keywordsHeading","KeywordSuggestionsComponent","keywordSuggest","ulKeyword","keywordSuggestions","renderProductSuggestionsTitle","productSuggestionsHeading","productAutoSuggestionHeading","renderProductNotFoundResults","noResultContentHeadingText","noResultContentParagraphText","ProductSuggestionsComponent","productSuggest","ulProduct","productSuggestions","productSuggestionHeading","items","_item$id","LiProduct","AProduct","thumbnail","renderTitle","searchSuggestionHeading","searchText","searchTextString","concat","searchAutoSuggestionHeading","format","Search","AutoSuggestAriaLabel","AutoSuggestAriaLabelText","AutoSuggest","KeywordSuggest","ProductSuggest","UlKeyword","UlProduct","autosuggestKeyword","autosuggestProduct","SearchForm","FormWrapper","handleCancelSearchFocused","categorySuggestionHeading","setSearchTextString","isMobilePort","setIsMobile","propsFormInput","propsFormInputCurrent","action","isMobileViewport","useCallback","isMobileView","variant","VariantType","Browser","viewport","onBlur","isSearchFormExpanded","SignInLoading","modal","modalBody","icon","SignInButton","signIn","defaultAADConainer","aadConainer","signInSection","signUpSection","signInSectionHeading","signInLocalAccount","signInSocialAccount","signUpSectionHeading","signInB2BAccount","signUpDescription","isShowLoading","localAccount","forgetPassword","disclaimer","signInButton","wrapper","LocalAccount","socialAccounts","image","SocialAccount","b2bSignUpButtonAriaLabel","b2bSignUpButtonText","signUpButton","B2BAccount","renderProductDescription","product","_props$data$product$r","primaryImageSource","PrimaryImageUrl","imageUrl","generateImageUrl","apiSettings","fallBackSrc","loadFailureBehavior","sm","md","lg","xl","cropFocalRegion","renderProductImage","ItemId","signInMessage","modalToggle","paragraph","RichTextComponent","reviewModal","modalHeader","inputRow","selectRatingLabel","rating","reviewTitleLabel","titleInput","reviewTextLabel","textInput","privacyPolicyUrl","modalFooter","submitButton","cancelButton","createReviewModal"],"sourceRoot":""}