{"version":3,"file":"static/js/13.36014129167bf35a05f1.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/back-to-top-footer.ts?29ba","webpack://msdyn365-lxs-master-theme/./src/configuration/create-order.ts?6b0d","webpack://msdyn365-lxs-master-theme/./src/configuration/debounce-input-delay.ts?ccfa","webpack://msdyn365-lxs-master-theme/./src/configuration/error-codes.ts?249e","webpack://msdyn365-lxs-master-theme/./src/configuration/order-history.ts?ce2d","webpack://msdyn365-lxs-master-theme/./src/configuration/order.ts?376a","webpack://msdyn365-lxs-master-theme/./src/configuration/punctuations.ts?567f","webpack://msdyn365-lxs-master-theme/./src/configuration/status-codes.ts?4c3a","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/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, onClose?: () => void) => 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 const [onCloseCallback, setOnCloseCallback] = useState<(() => void) | null>(null); // New state to store the close callback\r\n\r\n useEffect(() => {\r\n setIsMounted(true);\r\n }, []);\r\n\r\n const setOpen = (data: ModalProviderContentProps, onClose?: () => void) => {\r\n if (data.content) {\r\n setContent(data);\r\n setIsOpen(true);\r\n if (onClose) {\r\n setOnCloseCallback(() => onClose);\r\n }\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 if (onCloseCallback) {\r\n onCloseCallback();\r\n }\r\n setOnCloseCallback(null);\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 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 * 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 * Delay in milliseconds for search input in various modules.\r\n */\r\n\r\nexport const DEBOUNCE_INPUT_DELAY = 500;\r\n","/**\r\n * Describes all 5xx error codes.\r\n */\r\nexport const ERROR_CODE_SERVER_ERROR_INDEX = 5;\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\nexport const ORDER_HISTORY_SCHEDULE_LINE_CONFIRMED_DATE = 'confirmedDate';\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","export const ORDER_DOCUMENTS_SECTION = 'documents-section';\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 * 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","/**\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 * 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, { useEffect } 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, ORDER_DOCUMENTS_SECTION } 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 useEffect(() => {\r\n const scrollIntoView = () => {\r\n const hash = window.location.hash;\r\n\r\n if (hash) {\r\n const section = document.getElementById(hash.substring(1));\r\n if (section) {\r\n section.scrollIntoView({ behavior: 'smooth' });\r\n }\r\n }\r\n };\r\n scrollIntoView();\r\n }, []);\r\n\r\n return (\r\n <>\r\n

\r\n {resources.orderDetailsDocumentsTableHeading}\r\n

\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","onCloseCallback","setOnCloseCallback","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","BACK_TO_TOP_THRESHOLD","BACK_TO_TOP_HIDE_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","DEBOUNCE_INPUT_DELAY","ERROR_CODE_SERVER_ERROR_INDEX","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","ORDER_HISTORY_SCHEDULE_LINE_CONFIRMED_DATE","OrderStatus","ORDER_DOCUMENTS_SECTION","NO_DATA_FALLBACK","MULTI_VALUE_SEPARATOR","STATUS_CODES","OVERALL_STATUS_CODES","TOTAL_PRICE_DEFAULT","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","scrollIntoView","hash","section","getElementById","substring","id","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","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":""}