{"version":3,"file":"static/js/19.a0ed8211336058f15457.chunk.js","mappings":"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","sources":["webpack://Citta2.0/./src/components/citta-accordion-drawer/Drawer.tsx?b849","webpack://Citta2.0/./src/modules/citta-accordion-item-custom/citta-accordion-item-custom.tsx?88ab","webpack://Citta2.0/./src/modules/citta-accordion-item-custom/citta-accordion-item-custom.view.tsx?411f","webpack://Citta2.0/./src/modules/citta-footer-category/citta-footer-category.tsx?5bae","webpack://Citta2.0/./src/modules/citta-footer-category/citta-footer-category.view.tsx?8fa0","webpack://Citta2.0/./src/modules/citta-product-sku/citta-product-sku.tsx?546d","webpack://Citta2.0/./src/modules/citta-product-sku/citta-product-sku.view.tsx?f3df","webpack://Citta2.0/./src/themes/citta/views/password-reset-verification.view.tsx?766e","webpack://Citta2.0/./src/themes/citta/views/search.view.tsx?baf5","webpack://Citta2.0/./src/modules/order-lookup/utilities/order-lookup-utility.tsx?c60b","webpack://Citta2.0/./src/modules/order-lookup/components/order-lookup-additional-fields.tsx?9951","webpack://Citta2.0/./src/modules/order-lookup/components/order-lookup-fields.tsx?297b","webpack://Citta2.0/./src/modules/order-lookup/order-lookup.tsx?72d3","webpack://Citta2.0/./src/modules/order-lookup/order-lookup.view.tsx?b8e5"],"sourcesContent":["import { Button, Collapse } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\nimport { IDrawerProps } from './Drawer.props';\r\n\r\nexport interface IDrawerState {\r\n isOpen: boolean;\r\n}\r\nexport interface ICollapseProps {\r\n\r\n /** Flag to toggle collapse open */\r\n isOpen?: boolean;\r\n\r\n /** Class that needs to be applied to the button */\r\n className?: string;\r\n\r\n /** Property to set if you want the HTML tag to be something else */\r\n // @ts-ignore\r\n tag?: React.ReactType;\r\n\r\n /** Children for the React element */\r\n // tslint:disable-next-line:no-any\r\n children?: any;\r\n\r\n /** Show the component, triggers the collapse animation */\r\n in?: boolean;\r\n\r\n /** Set the timeout */\r\n timeout?: number;\r\n\r\n /** Flag to set if this is navbar */\r\n navbar?: boolean;\r\n\r\n /** CssModule Property to set any CSS classModule on the nav */\r\n cssModule?: object;\r\n\r\n /**\r\n * Property to set for announcing the state -(expand or collapse) on Button.\r\n */\r\n 'aria-expanded'?: boolean;\r\n}\r\nexport type GlyphPlacement = 'start' | 'end';\r\n\r\n/**\r\n * Drawer - This is a full width uncontrolled collapse where the button glyph changes\r\n * when the drawer is open and closed\r\n */\r\n\r\nexport default class Drawer extends React.Component {\r\n public state: IDrawerState;\r\n private drawerOpenGlyph: string;\r\n private drawerCloseGlyph: string;\r\n private drawerGlyphClass: string;\r\n private isManuallyToggled: boolean;\r\n\r\n constructor(props: IDrawerProps) {\r\n super(props);\r\n this._toggle = this._toggle.bind(this);\r\n this.isManuallyToggled = false;\r\n this.state = { isOpen: (props.collapseProps && props.collapseProps.isOpen) || false };\r\n this.drawerGlyphClass = classnames('drawer__glyph',\r\n // tslint:disable-next-line:align\r\n this.props.toggleGlyphClassName ?\r\n this.props.toggleGlyphClassName : '');\r\n\r\n if (this.props.animateGlyph) {\r\n this.drawerOpenGlyph = classnames(this.drawerGlyphClass,\r\n // tslint:disable-next-line:align\r\n this.props.openGlyph ?\r\n this.props.openGlyph :\r\n this.props.closeGlyph ?\r\n this.props.closeGlyph : '');\r\n this.drawerCloseGlyph = this.drawerOpenGlyph;\r\n } else {\r\n this.drawerOpenGlyph = classnames(this.drawerGlyphClass,\r\n // tslint:disable-next-line:align\r\n this.props.openGlyph ?\r\n this.props.openGlyph : '');\r\n this.drawerCloseGlyph = classnames(this.drawerGlyphClass,\r\n // tslint:disable-next-line:align\r\n this.props.closeGlyph ?\r\n this.props.closeGlyph : '');\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n const collapseProps = { ...this.props.collapseProps } as ICollapseProps;\r\n\r\n // If the drawer is manually toggled by pressing the button, then we use the internal state\r\n if (collapseProps.isOpen === undefined || this.isManuallyToggled) {\r\n collapseProps.isOpen = this.state.isOpen;\r\n } else {\r\n this.state.isOpen = collapseProps.isOpen;\r\n }\r\n collapseProps.children = this.props.children;\r\n const drawerClass = classnames('drawer',\r\n // tslint:disable-next-line:align\r\n this.props.className ?\r\n this.props.className : '');\r\n this.isManuallyToggled = false;\r\n return (\r\n
\r\n \r\n {this.props.radioButtonOption ?
\r\n \r\n {/* tslint:disable-next-line: jsx-self-close */}\r\n \r\n
: null}\r\n {this._generateDrawerButtonInnerMarkup(collapseProps.isOpen)}\r\n \r\n \r\n
\r\n );\r\n }\r\n\r\n private _generateDrawerButtonInnerMarkup(collapseState: boolean): JSX.Element {\r\n const drawerButtonTextClass = classnames('drawer__buttontext',\r\n // tslint:disable-next-line:align\r\n this.props.toggleButtonClassName ?\r\n this.props.toggleButtonClassName : '');\r\n if (this.props.glyphPlacement === 'end') {\r\n return (\r\n <>\r\n {this.props.toggleButtonText}\r\n {this._generateGlyphMarkup('drawer__glyph__end', collapseState)}\r\n \r\n );\r\n }\r\n\r\n if (this.props.glyphPlacement === 'start') {\r\n return (\r\n <>\r\n {this._generateGlyphMarkup('drawer__glyph__start', collapseState)}\r\n {this.props.toggleButtonText}\r\n \r\n );\r\n } else {\r\n return {this.props.toggleButtonText};\r\n }\r\n }\r\n\r\n private _generateGlyphMarkup(location: string, collapseState: boolean): JSX.Element {\r\n let glyphClass = collapseState ? this.drawerOpenGlyph : this.drawerCloseGlyph;\r\n glyphClass = `${glyphClass} ${location}`;\r\n return (\r\n \r\n );\r\n }\r\n\r\n private _toggle(e: React.MouseEvent | React.KeyboardEvent): void {\r\n e.preventDefault();\r\n this.setState({ isOpen: !this.state.isOpen });\r\n this.isManuallyToggled = true;\r\n if (this.props.onToggle) {\r\n this.props.onToggle();\r\n }\r\n }\r\n}\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { Button } from '@msdyn365-commerce-modules/utilities';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\nimport ControlledDrawer from '../../components/citta-accordion-drawer/Drawer';\r\nimport { IDrawerProps } from '../../components/citta-accordion-drawer/Drawer.props';\r\nimport { createAccordionStateInput } from '../../data-actions/accordion/accordion-state-data-action';\r\nimport { ICittaAccordionItemCustomData } from './citta-accordion-item-custom.data';\r\nimport { ICittaAccordionItemCustomProps } from './citta-accordion-item-custom.props.autogenerated';\r\nexport interface IAccordionItemState extends React.ComponentState {\r\n /**\r\n * Indicates whether a submenu is expanded or collapsed\r\n */\r\n expanded: boolean;\r\n accordionItemTitle: string;\r\n}\r\n\r\n/**\r\n *\r\n * AccordionItem component\r\n * @extends {React.Component>}\r\n */\r\n@observer\r\nclass AccordionItemCustom extends React.Component, IAccordionItemState> {\r\n private expandSingleItemOnly?: boolean = false;\r\n\r\n constructor(props: ICittaAccordionItemCustomProps) {\r\n super(props);\r\n this._onToggleAccordionItem = this._onToggleAccordionItem.bind(this);\r\n this._getDrawerProps = this._getDrawerProps.bind(this);\r\n this._renderAccordionItemContent = this._renderAccordionItemContent.bind(this);\r\n this._renderAccordionItemSlotsContent = this._renderAccordionItemSlotsContent.bind(this);\r\n this.state = {\r\n expanded: false, // isExpanded\r\n accordionItemTitle: this.props.config.accordionItemTitle\r\n };\r\n this.expandSingleItemOnly = this.props.data.accordionExpandedState.result && this.props.data.accordionExpandedState.result.expandSingleItemOnly;\r\n }\r\n\r\n public componentDidMount(): void {\r\n const initialExpansion = this.props && this.props.config && this.props.config.isExpandedOnInitialLoad || false;\r\n if (initialExpansion) {\r\n this.setState(prevState => ({\r\n expanded: !prevState.expanded\r\n }));\r\n\r\n if (this.expandSingleItemOnly) {\r\n const oldRadioButtonText = this.props.data && this.props.data.accordionExpandedState && this.props.data.accordionExpandedState.result!.radioButtonText;\r\n const closing = this.state.accordionItemTitle === oldRadioButtonText;\r\n const accordionState = { radioButtonText: closing ? '' : this.props.config.accordionItemTitle, isAllExpanded: false };\r\n this.props.context.actionContext.update(createAccordionStateInput(accordionState), accordionState);\r\n }\r\n }\r\n }\r\n\r\n public render(): JSX.Element {\r\n const { slots } = this.props;\r\n const config = this.props && this.props.config;\r\n const drawerProps = this._getDrawerProps(config && config.showGlyph);\r\n\r\n const hasAccordionItemSlotsContent = slots && slots.accordionItemContent && slots.accordionItemContent.length;\r\n\r\n return (\r\n
\r\n {hasAccordionItemSlotsContent && (\r\n
\r\n \r\n
\r\n {(config) && (\r\n \r\n
\r\n {hasAccordionItemSlotsContent && (this._renderAccordionItemSlotsContent(slots.accordionItemContent))}\r\n
\r\n
\r\n )\r\n }\r\n
\r\n
)\r\n }\r\n
\r\n );\r\n }\r\n\r\n private _getDrawerProps(showGlyph: boolean | undefined): IDrawerProps {\r\n const data = this.props && this.props.data;\r\n const config = this.props && this.props.config;\r\n const accordionExpandedStateResult = data && data.accordionExpandedState && data.accordionExpandedState.result;\r\n // const expanded = accordionExpandedStateResult ? accordionExpandedStateResult!.isAllExpanded === undefined ?\r\n // data && config.isExpandedOnInitialLoad : accordionExpandedStateResult!.isAllExpanded : false;\r\n const expanded = this.state.expanded;\r\n const radioButtonText = accordionExpandedStateResult!.radioButtonText;\r\n\r\n if (showGlyph) {\r\n return {\r\n toggleButtonText: (config.accordionItemTitle && config.accordionItemTitle) || '',\r\n collapseProps: { isOpen: expanded },\r\n openGlyph: 'expand-glyph',\r\n closeGlyph: 'collapse-glyph',\r\n glyphPlacement: config && config.glyphPlacement,\r\n onToggle: this._onToggleAccordionItem(config.accordionItemTitle),\r\n radioButtonOption: config && config.radioButtonOption,\r\n radioButtonChecked: radioButtonText === config.accordionItemTitle ? true : false\r\n };\r\n }\r\n\r\n return {\r\n toggleButtonText: config.accordionItemTitle || '',\r\n collapseProps: { isOpen: this.expandSingleItemOnly ? radioButtonText === this.state.accordionItemTitle ? true : false : expanded },\r\n onToggle: this._onToggleAccordionItem(config.accordionItemTitle),\r\n radioButtonOption: config && config.radioButtonOption,\r\n radioButtonChecked: radioButtonText === config.accordionItemTitle ? true : false\r\n };\r\n }\r\n\r\n private _onToggleAccordionItem = (AccordionItemText: string, openOnly?: boolean) => (): void => {\r\n const data = this.props && this.props.data;\r\n const accordionExpandedStateResult = data && data.accordionExpandedState && data.accordionExpandedState.result;\r\n const radioButtonText = accordionExpandedStateResult!.radioButtonText;\r\n if (openOnly && (this.expandSingleItemOnly ? radioButtonText === this.state.accordionItemTitle ? true : false : this.state.expanded)) {\r\n return;\r\n }\r\n\r\n this.setState(prevState => ({\r\n expanded: !prevState.expanded\r\n }));\r\n\r\n if (this.expandSingleItemOnly) {\r\n const oldRadioButtonText = this.props.data && this.props.data.accordionExpandedState && this.props.data.accordionExpandedState.result!.radioButtonText;\r\n const closing = this.state.accordionItemTitle === oldRadioButtonText;\r\n const accordionState = { radioButtonText: closing ? '' : AccordionItemText, isAllExpanded: false };\r\n this.props.context.actionContext.update(createAccordionStateInput(accordionState), accordionState);\r\n }\r\n }\r\n\r\n // private _closeAllAccordionItems = (AccordionItemText: string) => (): void => {\r\n // if (this.expandSingleItemOnly) {\r\n // const accordionState = { radioButtonText: AccordionItemText, isAllExpanded: false };\r\n // this.props.context.actionContext.update(createAccordionStateInput(accordionState), accordionState);\r\n // }\r\n // if (AccordionItemText !== this.state.accordionItemTitle) {\r\n // this.setState({ accordionItemTitle: AccordionItemText });\r\n // } else {\r\n // this.setState({ accordionItemTitle: '' });\r\n // }\r\n // }\r\n\r\n private _renderAccordionItemContent(content: string): JSX.Element | null {\r\n return (\r\n
\r\n

{content}

\r\n
\r\n );\r\n }\r\n\r\n private _renderAccordionItemSlotsContent(items: React.ReactNode[]): JSX.Element | null {\r\n return (\r\n \r\n {items && items.length ? (\r\n items.map((slot: React.ReactNode, index: number) => {\r\n return (\r\n \r\n {slot}\r\n \r\n );\r\n })\r\n ) : null}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default AccordionItemCustom;\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\nexport default () => {\r\n return (\r\n
\r\n

Hello world

\r\n
\r\n );\r\n};\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n\r\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\nimport { ICittaFooterCategoryConfig, ICittaFooterCategoryProps } from './citta-footer-category.props.autogenerated';\r\n\r\nexport interface IFooterCategoryViewProps extends ICittaFooterCategoryProps {\r\n categories: React.ReactNode[];\r\n FooterList: IModuleProps;\r\n FooterListItem: INodeProps;\r\n}\r\n\r\n/**\r\n *\r\n * FooterCategory component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass FooterCategory extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n if(!this.props.slots || !this.props.slots.content || !this.props.slots.content.length) {\r\n this.props.context.telemetry.error('footer slots content is empty, module wont render');\r\n return null;\r\n }\r\n const viewprops = {\r\n ...this.props,\r\n categories: this.props.slots.content,\r\n FooterList: {\r\n moduleProps: this.props,\r\n className: classnames('ms-footer__list', this.props.config.className),\r\n tag:'ul'\r\n },\r\n FooterListItem: {\r\n className: classnames('ms-footer__list-item', this.props.config.className),\r\n tag: 'li'\r\n },\r\n };\r\n\r\n return this.props.renderView(viewprops) as React.ReactElement;\r\n }\r\n}\r\n\r\nexport default FooterCategory;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n*--------------------------------------------------------------------------------------------*/\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport React, { ReactNode } from 'react';\r\nimport { IFooterCategoryViewProps } from './citta-footer-category';\r\n\r\nexport const FooterCategoryView: React.FC = props => {\r\n const {categories, FooterList, FooterListItem} = props;\r\n if(!categories || !categories.length) {\r\n props.context.telemetry.error('Footer content is empty, module wont render');\r\n return null;\r\n }\r\n return(\r\n \r\n { categories.map((category: ReactNode, index: number) => {\r\n return (\r\n \r\n {category}\r\n \r\n );\r\n })\r\n }\r\n \r\n );\r\n};\r\n\r\nexport default FooterCategoryView;","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport classname from 'classnames';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\n\r\nimport { ICittaProductSkuData } from './citta-product-sku.data';\r\nimport { ICittaProductSkuProps } from './citta-product-sku.props.autogenerated';\r\n\r\nexport interface ICittaProductSkuViewProps extends ICittaProductSkuProps {\r\n ProductSkuContainer: IModuleProps;\r\n SkuTitleTextNode: INodeProps;\r\n ProductSkuNode: INodeProps;\r\n}\r\n\r\n/**\r\n *\r\n * CittaProductSku component\r\n * @extends {React.PureComponent>}\r\n */\r\n@observer\r\nclass CittaProductSku extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n let content: ICittaProductSkuData;\r\n\r\n try {\r\n content = this.props.data;\r\n } catch(e) {\r\n this.props.telemetry.error(`Something went wrong -----${e}`);\r\n return null;\r\n }\r\n\r\n const productSku = content && content.product && content.product.result && content.product.result.ItemId;\r\n const skuTitleText = this.props.config && this.props.config.skuTitleText ? this.props.config.skuTitleText : 'SKU:';\r\n const className = this.props.config && this.props.config.className ? this.props.config.className : '';\r\n if (productSku) {\r\n const productSkuViewProps: ICittaProductSkuViewProps = {\r\n ...(this.props as ICittaProductSkuProps),\r\n ProductSkuContainer: {\r\n moduleProps: this.props,\r\n className: classname('product-sku', className),\r\n },\r\n SkuTitleTextNode: {\r\n className: 'product-sku-title',\r\n children: skuTitleText\r\n },\r\n ProductSkuNode: {\r\n className: 'product-sku-id',\r\n children: productSku\r\n }\r\n };\r\n return this.props.renderView(productSkuViewProps) as React.ReactElement;\r\n }\r\n return null;\r\n }\r\n}\r\n\r\nexport default CittaProductSku;\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 { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { ICittaProductSkuViewProps } from './citta-product-sku';\r\n\r\n/**\r\n *\r\n * ICittaProductSkuView component\r\n * @extends {React.PureComponent}\r\n */\r\nexport class ICittaProductSkuView extends React.PureComponent {\r\n\r\n public render(): JSX.Element | null {\r\n const { ProductSkuContainer, ProductSkuNode, SkuTitleTextNode } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\nexport default ICittaProductSkuView;","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport {\r\n IPasswordResetVerificationItem,\r\n IPasswordResetVerificationLoading,\r\n IPasswordResetVerificationLocalAccount,\r\n IPasswordResetVerificationViewProps\r\n} from '@msdyn365-commerce-modules/account-management/src/modules/password-reset-verification/./password-reset-verification';\r\n\r\nconst PasswordResetVerificationItem: React.FC = ({ wrapper, label, errorMessage, input }) => {\r\n return (\r\n \r\n {label}\r\n {errorMessage}\r\n {input}\r\n \r\n );\r\n};\r\n\r\nconst LocalAccount: React.FC = ({\r\n localAccount,\r\n verificationControlWrapper,\r\n items,\r\n successMessage,\r\n errorMessage,\r\n verificationButtonsWrapper,\r\n verificationButtons,\r\n buttonsWrapper,\r\n buttons,\r\n verificationSuccessModal,\r\n verificationSuccessModalMessage\r\n}) => {\r\n return (\r\n \r\n \r\n {successMessage &&\r\n successMessage.map((message: React.ReactNode, index: number) => {\r\n return {message};\r\n })}\r\n {items &&\r\n items.map((item: IPasswordResetVerificationItem) => {\r\n // eslint-disable-next-line react/jsx-key\r\n return ;\r\n })}\r\n {errorMessage &&\r\n errorMessage.map((error: React.ReactNode, index: number) => {\r\n return {error};\r\n })}\r\n \r\n {verificationButtons &&\r\n verificationButtons.map((button: React.ReactNode, index: number) => {\r\n return {button};\r\n })}\r\n \r\n\r\n \r\n {buttons &&\r\n buttons.map((button: React.ReactNode, index: number) => {\r\n return {button};\r\n })}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst PasswordResetVerificationLoading: React.FC = ({ modal, modalBody, icon, message }) => {\r\n return (\r\n \r\n \r\n {icon}\r\n {message}\r\n \r\n \r\n );\r\n};\r\n\r\nconst PasswordResetVerificationView: React.FC = props => {\r\n const {\r\n passwordResetVerification,\r\n viewState,\r\n loading,\r\n defaultAADConainer,\r\n aadConainer,\r\n heading,\r\n passwordResetVerificationLocalAccount\r\n } = props;\r\n\r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n {!viewState.isShowLoading && \r\n {heading}\r\n {LocalAccount(passwordResetVerificationLocalAccount)}\r\n }\r\n \r\n );\r\n};\r\n\r\nexport default PasswordResetVerificationView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { ISearchCategoryViewProps, ISearchFormViewProps, ISearchProductViewProps, ISearchViewProps } from '@msdyn365-commerce-modules/search';\r\nimport { INodeProps, Module, Node, UncontrolledTooltip } from '@msdyn365-commerce-modules/utilities';\r\nimport MsDyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\n\r\nconst SearchView: React.FC = props => {\r\n const {\r\n Search,\r\n AutoSuggestAriaLabel,\r\n AutoSuggestAriaLabelText,\r\n searchText,\r\n AutoSuggest,\r\n ProductSuggest,\r\n CategorySuggest,\r\n UlProduct,\r\n UlCategory,\r\n form,\r\n autosuggestCategory,\r\n autosuggestProduct,\r\n SearchForm,\r\n FormWrapper,\r\n label\r\n } = props;\r\n\r\n const isSearchFormShow: boolean = SearchForm.className && SearchForm.className.indexOf('bx-show') !== -1 || false;\r\n if (MsDyn365.isBrowser) {\r\n // window.document && window.document.body.classList.toggle('menu-open', isSearchFormShow);\r\n window.document && window.document.body.classList.toggle('search-open', isSearchFormShow);\r\n }\r\n return (\r\n \r\n {label}\r\n { /* @ts-ignore */ }\r\n {_renderForm(form as ISearchFormViewProps, SearchForm, FormWrapper, props)}\r\n \r\n {searchText && searchText.length > 0 ?\r\n {AutoSuggestAriaLabelText} : ''\r\n }\r\n {_renderProductSuggestions(ProductSuggest, UlProduct, autosuggestProduct)}\r\n {_renderCategorySuggestions(CategorySuggest, UlCategory, autosuggestCategory)}\r\n \r\n \r\n );\r\n};\r\n\r\nconst _renderForm = (form: ISearchFormViewProps, SearchForm: INodeProps, FormWrapper: INodeProps, props: ISearchViewProps) => {\r\n const { cancelBtnAriaLabel, submitBtnAriaLabel } = props.resources;\r\n return (\r\n \r\n \r\n {form.input}\r\n \r\n {form.cancelBtn}\r\n \r\n {{cancelBtnAriaLabel}}\r\n \r\n {form.submitBtn}\r\n \r\n {{submitBtnAriaLabel}}\r\n \r\n \r\n );\r\n};\r\n\r\nconst _renderProductSuggestions = (\r\n ProductSuggest: INodeProps,\r\n UlProduct: INodeProps,\r\n productSuggestions?: ISearchProductViewProps\r\n) => {\r\n return (\r\n productSuggestions && (\r\n \r\n \r\n {productSuggestions.items.map((item, index) => {\r\n return (\r\n \r\n \r\n {item.text}\r\n {item.price}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n )\r\n );\r\n};\r\n\r\nconst _renderCategorySuggestions = (\r\n CategorySuggest: INodeProps,\r\n UlCategory: INodeProps,\r\n categorySuggestions?: ISearchCategoryViewProps\r\n) => {\r\n return (\r\n categorySuggestions && (\r\n \r\n \r\n {categorySuggestions.title}\r\n {categorySuggestions.text.map(text => {\r\n return text;\r\n })}\r\n \r\n \r\n )\r\n );\r\n};\r\n\r\nexport default SearchView;","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ExtensibleEnumeration } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, EmailRegex } from '@msdyn365-commerce-modules/retail-actions';\nimport * as React from 'react';\n\nimport { IOrderLookupResources, IOrderLookupSearchAdditionalFieldsData } from '../order-lookup.props.autogenerated';\n\n/**\n * Render label.\n * @param className - Classname for label.\n * @param value - Text for label.\n * @returns -The JSX Element.\n */\nexport const labelGroup = (className: string, value: string): JSX.Element => {\n return
{value}
;\n};\n\n/**\n * Error label.\n * @param responseErrorMessage - Error message for label.\n * @param errorMessageClassName - Error message for class name.\n * @returns - Error ReactNode.\n */\nexport const renderErrorLabel = (responseErrorMessage: string, errorMessageClassName: string): React.ReactNode => {\n return responseErrorMessage &&
{responseErrorMessage}
;\n};\n\n/**\n * Registered user message.\n * @param resources - Resource values.\n * @param signInUrl - Signin url.\n * @param signInLinkClassName - Signin link classname.\n * @param registeredUserClassName - Registered user message classname.\n * @returns - ReactNode.\n */\nexport const renderRegisteredUserMessage = (\n resources: IOrderLookupResources,\n signInUrl: string,\n signInLinkClassName: string,\n registeredUserClassName: string\n): React.ReactNode => {\n const { orderLookupRegisteredUserText, orderLookupViewAccountText, orderLookupSignInLinkText } = resources;\n const message: string = orderLookupRegisteredUserText;\n const infoMessage: string = orderLookupViewAccountText;\n const signInText: string = orderLookupSignInLinkText;\n return (\n
\n {message}\n \n {signInText}\n \n {infoMessage}\n
\n );\n};\n\n/**\n * EmailValid submit.\n * @param email - Onsubmit of form and button click.\n * @returns - Boolean.\n */\nexport const isEmailValid = (email: string): boolean => {\n return EmailRegex.defaultRegex.test(email);\n};\n\n/**\n * Additional field validation for on submit.\n * @param name - Onsubmit of form and button click.\n * @returns - Boolean.\n */\nexport const isAdditionalFieldValid = (name: string): boolean => {\n const regEx = new RegExp('^(?!\\\\s)[A-Za-z0-9\\\\s]+$', 'u');\n return regEx.test(name);\n};\n\n/**\n * Validate order lookup field against extensible enum.\n * @param orderStatusLookUpParameter - Order lookup parameter.\n * @param orderLookupExtensibleEnum - Order lookup extensible enum.\n * @returns - Boolean.\n */\nexport const validateOrderLookupField = (\n orderStatusLookUpParameter: string,\n orderLookupExtensibleEnum: ExtensibleEnumeration[]\n): boolean => {\n let isValidField: boolean = false;\n for (const item of orderLookupExtensibleEnum) {\n if (item.Name.toLocaleLowerCase() === orderStatusLookUpParameter.toLocaleLowerCase()) {\n isValidField = true;\n return isValidField;\n }\n }\n return isValidField;\n};\n\n/**\n * Validate order lookup additional fields with proxy values.\n * @param value - Value to be validated.\n * @param orderLookupExtensibleEnum - Order lookup extensible enum.\n * @returns - Boolean.\n */\nexport const validateAdditionalFieldWithProxy = (value: string, orderLookupExtensibleEnum: ExtensibleEnumeration[]): boolean => {\n return !orderLookupExtensibleEnum.some(item => item.Name.toLocaleLowerCase() === value.toLocaleLowerCase());\n};\n\n/**\n * Validate order lookup additional fields against extensible enum.\n * @param orderStatusLookUpAdditionalParameters - Order lookup parameter.\n * @param orderLookupExtensibleEnum - Order lookup extensible enum.\n * @returns - Boolean.\n */\nexport const validateOrderLookupAdditionalField = (\n orderStatusLookUpAdditionalParameters: IOrderLookupSearchAdditionalFieldsData[],\n orderLookupExtensibleEnum: ExtensibleEnumeration[]\n): boolean => {\n let isValidAdditionalField: boolean = false;\n if (ArrayExtensions.hasElements(orderStatusLookUpAdditionalParameters)) {\n orderStatusLookUpAdditionalParameters.map(item => {\n const fieldKey: string = item.fieldKey ?? '';\n if (!isValidAdditionalField) {\n isValidAdditionalField = validateAdditionalFieldWithProxy(fieldKey, orderLookupExtensibleEnum);\n }\n return isValidAdditionalField;\n });\n } else {\n isValidAdditionalField = false;\n }\n return isValidAdditionalField;\n};\n\n/**\n * Render validation message if field does not matches with extensible enum.\n * @param orderLookupFieldValidationErrorMessage - Order lookup validation message.\n * @returns - ReactNode.\n */\nexport const renderFieldErrors = (orderLookupFieldValidationErrorMessage: string): React.ReactNode => {\n return
{orderLookupFieldValidationErrorMessage}
;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { labelGroup } from '../utilities/order-lookup-utility';\n\n/**\n * Additional input field props.\n */\nexport interface IOrderLookupAdditionalFieldInfoInput {\n className: string;\n ariaLabel: string;\n inputType: string;\n value: string;\n name: string;\n additionalFieldLabel: string;\n additionalFieldLabelClassName: string;\n isValidAdditionalFieldName: boolean;\n additionalFieldValidationMessage: string;\n onChange(event: React.ChangeEvent): void;\n}\n\n/**\n * Order lookup additional field props.\n */\nexport interface IOrderLookupAdditionalFieldInfo {\n additionalFieldLabel: React.ReactNode;\n additionalFieldInput: React.ReactNode;\n additionalFieldError: React.ReactNode;\n}\n\n/**\n * RenderOrderLookupAdditionalFieldInput component.\n */\n@observer\nexport default class RenderOrderLookupAdditionalFieldInput extends React.Component {\n public constructor(props: IOrderLookupAdditionalFieldInfoInput) {\n super(props);\n }\n\n public shouldComponentUpdate(nextProps: IOrderLookupAdditionalFieldInfoInput): boolean {\n if (this.props === nextProps) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | undefined {\n return (\n
\n {this._getOrderLookupAdditionalFields().additionalFieldLabel}\n {this._getOrderLookupAdditionalFields().additionalFieldError}\n {this._getOrderLookupAdditionalFields().additionalFieldInput}\n
\n );\n }\n\n /**\n * Function to create the order lookup additional fields.\n * @returns IOrderLookupFieldInfo.\n */\n private _getOrderLookupAdditionalFields(): IOrderLookupAdditionalFieldInfo {\n return {\n additionalFieldLabel: labelGroup(this.props.additionalFieldLabelClassName, this.props.additionalFieldLabel),\n additionalFieldInput: (\n
\n \n
\n ),\n additionalFieldError: (\n
\n {!this.props.isValidAdditionalFieldName ? this.props.additionalFieldValidationMessage : ''}\n
\n )\n };\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { labelGroup } from '../utilities/order-lookup-utility';\n\n/**\n * Input field props.\n */\nexport interface IOrderLookupFieldInfoInput {\n inputReference?: React.RefObject;\n className: string;\n ariaLabel: string;\n inputType: string;\n value: string;\n name: string;\n orderLookupLabel: string;\n orderLookupLabelClassName: string;\n fieldErrorClassName: string;\n isInputTypeError: boolean;\n isValidInputField: boolean;\n renderAlert(className: string): JSX.Element;\n onChange(event: React.ChangeEvent): void;\n}\n\n/**\n * Order lookup field props.\n */\nexport interface IOrderLookupFieldInfo {\n label: React.ReactNode;\n input: React.ReactNode;\n error: React.ReactNode;\n}\n\n/**\n * RenderOrderLookupInputs component.\n */\n@observer\nexport default class RenderOrderLookupFormFields extends React.Component {\n public constructor(props: IOrderLookupFieldInfoInput) {\n super(props);\n }\n\n public shouldComponentUpdate(nextProps: IOrderLookupFieldInfoInput): boolean {\n if (this.props === nextProps) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | undefined {\n return (\n
\n {this._getOrderLookupFields().label}\n {this._getOrderLookupFields().error}\n {this._getOrderLookupFields().input}\n
\n );\n }\n\n /**\n * Function to create the order lookup fields.\n * @returns IOrderLookupFieldInfo.\n */\n private _getOrderLookupFields(): IOrderLookupFieldInfo {\n return {\n label: labelGroup(this.props.orderLookupLabelClassName, this.props.orderLookupLabel),\n input: (\n
\n \n
\n ),\n error: (\n
\n {this.props.isInputTypeError ? this.props.renderAlert(this.props.name) : ''}\n {this.props.isValidInputField ? this.props.renderAlert(this.props.name) : ''}\n
\n )\n };\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { IActionContext } from '@msdyn365-commerce/core-internal';\nimport { ExtensibleEnumeration, StoreOperationsDataActions } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport RenderOrderLookupAdditionalFieldInput from './components/order-lookup-additional-fields';\nimport RenderOrderLookupFormFields from './components/order-lookup-fields';\nimport {\n IOrderLookupProps,\n IOrderLookupSearchAdditionalFieldsData,\n orderStatusLookUpParametersType as orderStatusLookUpParametersTypes\n} from './order-lookup.props.autogenerated';\nimport {\n isAdditionalFieldValid,\n isEmailValid,\n renderErrorLabel,\n renderFieldErrors,\n renderRegisteredUserMessage,\n validateOrderLookupAdditionalField,\n validateOrderLookupField\n} from './utilities/order-lookup-utility';\n\n/**\n * OrderLookup view props.\n */\nexport interface IOrderLookupViewProps extends IOrderLookupProps<{}> {\n additionalProperties: JSX.Element[] | undefined;\n orderLookup: IModuleProps;\n orderLookupContainer: INodeProps;\n orderLookupAdditionalFieldContainer: INodeProps;\n paragraph?: React.ReactNode;\n heading?: React.ReactNode;\n submitButton?: INodeProps;\n submitButtonLabelText?: string;\n orderLookupForm?: INodeProps;\n renderOrderLookupInputField: JSX.Element | undefined;\n orderNumberInput?: JSX.Element | undefined;\n errorMessage?: React.ReactNode;\n fieldErrorMessage?: React.ReactNode;\n registeredUserMessage?: React.ReactNode;\n onChange?(event: React.ChangeEvent): void;\n submit?(): void;\n}\n\n/**\n * OrderLookupSearchValues -- supported values.\n */\nenum OrderLookupSearchValues {\n email = 'email',\n ordernumber = 'ordernumber'\n}\n\n/**\n * To render and handle state for additional order lookup fields.\n */\nexport interface IOrderLookupAdditionalFields {\n labelName: string;\n isValidFieldName: boolean;\n fieldValue: string;\n ariaLabel: string;\n additionalfieldErrorMessage: string;\n}\n\n/**\n * OrderLookup view props.\n */\nexport interface IOrderLookupFormState {\n orderNumber: string;\n email: string;\n isOrdNumberError: boolean;\n isEmailError: boolean;\n isValidEmailError: boolean;\n isReqError: boolean;\n isDisabled: boolean;\n isValidLookupField: boolean;\n isValidAdditionalLookupField: boolean;\n responseErrorMessage: string;\n additionalProperties: IOrderLookupAdditionalFields[];\n}\n\n/**\n *\n * OrderLookup component.\n * @extends {React.PureComponent>}\n */\nclass OrderLookup extends React.PureComponent, IOrderLookupFormState> {\n public orderNumberInputRef: React.RefObject;\n\n public emailInputRef: React.RefObject;\n\n public isEmailValue: boolean = false;\n\n private requiredErrorMessage: string | undefined;\n\n private emailValidationErrorMessage: string | undefined;\n\n private isOrderNumberValue: boolean = false;\n\n private orderLookupExtensibleEnum: ExtensibleEnumeration[] = [];\n\n public constructor(props: IOrderLookupProps<{}>) {\n super(props);\n this.orderNumberInputRef = React.createRef();\n this.emailInputRef = React.createRef();\n const { config } = this.props;\n const { orderLookupSearchAdditionalFields } = config;\n const additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n\n if (orderLookupSearchAdditionalFields) {\n for (const item of orderLookupSearchAdditionalFields) {\n additionalPropertyStates.push({\n labelName: item.labelName ?? '',\n isValidFieldName: true,\n fieldValue: '',\n ariaLabel: item.ariaLabel ?? '',\n additionalfieldErrorMessage: item.validationMessage ?? ''\n });\n }\n }\n\n this.state = {\n orderNumber: '',\n email: '',\n isOrdNumberError: false,\n isEmailError: false,\n isValidEmailError: false,\n isReqError: false,\n isDisabled: true,\n isValidLookupField: true,\n isValidAdditionalLookupField: false,\n responseErrorMessage: '',\n additionalProperties: additionalPropertyStates\n };\n }\n\n public render(): JSX.Element | null {\n const {\n config: { paragraph, heading },\n resources,\n context\n } = this.props;\n\n const {\n orderLookupDefaultHeadingText,\n orderLookupButtonLabel,\n orderLookupFormAriaLabel,\n orderLookupOrderNumberLabel,\n orderLookupOrderNumberAriaLabel,\n orderLookupSubmitAriaLabel,\n orderLookupFieldValidationErrorMessage\n } = resources;\n\n const { responseErrorMessage, isDisabled, orderNumber, isOrdNumberError } = this.state;\n\n const headingText = StringExtensions.isNullOrEmpty(heading?.text) ? orderLookupDefaultHeadingText : heading?.text;\n const headingTag = heading?.tag ?? 'h1';\n\n const moduleClassName = 'ms-order-lookup';\n const orderLookupContainerClassName = `${moduleClassName}__details`;\n const orderLookupHeadingClassName = `${orderLookupContainerClassName}__heading`;\n const orderLookupFormClassName = `${orderLookupContainerClassName}__form`;\n const orderLookupAdditionalFiledContainerClassName = `${orderLookupFormClassName}__additional-fields-container`;\n const orderLookupFormFieldsClassName = `${orderLookupFormClassName}__fields`;\n const orderNumberLabelClassName = `${orderLookupFormFieldsClassName}__order-number-label`;\n const orderNumberInputErrorClassName = `${orderLookupFormFieldsClassName}__order-number-input-error`;\n const submitButtonClassName = `${orderLookupFormClassName}__submit`;\n const labelErrorMessageClassName = `${moduleClassName}__error-message`;\n const registeredUserClassName = `${moduleClassName}__registered-user`;\n const signinLinkClassName = `${registeredUserClassName}__sign-in-link msc-btn`;\n\n const orderLookupHeading = (\n \n );\n\n const viewProps: IOrderLookupViewProps = {\n ...this.props,\n orderLookup: {\n moduleProps: this.props,\n className: moduleClassName\n },\n\n orderLookupContainer: {\n className: orderLookupContainerClassName\n },\n orderLookupAdditionalFieldContainer: {\n className: orderLookupAdditionalFiledContainerClassName\n },\n paragraph: paragraph && this._createParagraph(paragraph),\n heading: orderLookupHeading,\n\n renderOrderLookupInputField: this._renderOrderLookupInput(),\n orderLookupForm: {\n className: orderLookupFormClassName,\n tag: 'form',\n 'aria-label': orderLookupFormAriaLabel,\n name: 'orderLookupForm',\n role: 'form',\n autoComplete: 'off',\n onSubmit: this.handleSubmit\n },\n orderNumberInput: (\n \n ),\n\n submitButton: {\n className: submitButtonClassName,\n tag: Button,\n 'aria-label': orderLookupSubmitAriaLabel,\n type: 'submit',\n role: 'button',\n title: orderLookupButtonLabel,\n onClick: this.handleSubmit,\n disabled: isDisabled\n },\n\n submitButtonLabelText: orderLookupButtonLabel,\n errorMessage: renderErrorLabel(responseErrorMessage, labelErrorMessageClassName),\n fieldErrorMessage:\n (!this.state.isValidLookupField || this.state.isValidAdditionalLookupField) &&\n renderFieldErrors(orderLookupFieldValidationErrorMessage),\n registeredUserMessage: renderRegisteredUserMessage(\n resources,\n context.request.user.signInUrl ?? '',\n signinLinkClassName,\n registeredUserClassName\n ),\n onChange: this.onChange,\n submit: this.handleSubmit,\n additionalProperties: this._renderAdditionalFields()\n };\n return this.props.renderView(viewProps);\n }\n\n public async componentDidMount(): Promise {\n const { config, context } = this.props;\n const { actionContext } = context;\n const { orderStatusLookUpParametersType, orderLookupSearchAdditionalFields } = config;\n let isOrderLookupAdditionalFieldValid: boolean = false;\n let isOrderLookupFieldValid: boolean = false;\n\n const getExtensibleEnumerations = await StoreOperationsDataActions.getExtensibleEnumerationsAsync({ callerContext: actionContext });\n this.orderLookupExtensibleEnum =\n getExtensibleEnumerations.find(item => item.TypeName === 'OrderLookupAdditionalCriteriaType')?.ExtensibleEnumerations ?? [];\n\n const orderLookupParameter: string = orderStatusLookUpParametersType ?? '';\n const orderLookupAdditionalParameter: IOrderLookupSearchAdditionalFieldsData[] = orderLookupSearchAdditionalFields ?? [];\n\n isOrderLookupFieldValid = validateOrderLookupField(orderLookupParameter, this.orderLookupExtensibleEnum);\n isOrderLookupAdditionalFieldValid = validateOrderLookupAdditionalField(\n orderLookupAdditionalParameter,\n this.orderLookupExtensibleEnum\n );\n this.setLookupFieldState(isOrderLookupFieldValid, isOrderLookupAdditionalFieldValid);\n }\n\n /**\n * Handle text change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleTextChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n /**\n * Handle paragraph change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent): void => {\n const { config } = this.props;\n config.paragraph = event.target.value;\n };\n\n /**\n * Sets isValidLookupField after validating with extensible emun.\n * @param isValidField - Sets the property.\n * @param isValidAdditionalField - Sets the additional field property.\n */\n public setLookupFieldState(isValidField: boolean, isValidAdditionalField: boolean): void {\n this.setState({ isValidLookupField: isValidField, isValidAdditionalLookupField: isValidAdditionalField });\n }\n\n /**\n * HandleSubmit submit.\n */\n public readonly handleSubmit = (): void => {\n const { config, context } = this.props;\n const { actionContext } = context;\n const { additionalProperties, orderNumber, email } = this.state;\n const orderLookupValue = email;\n const { orderStatusLookUpParametersType } = config;\n const orderLookupName = orderStatusLookUpParametersType !== undefined ? orderStatusLookUpParametersType : '';\n const isValid: boolean = this._validateOrderLookupForm();\n if (isValid) {\n const actionContextValue: IActionContext = actionContext;\n const orderDetailsPath = Msdyn365.getUrlSync('orderDetails', actionContextValue) ?? '';\n if (orderDetailsPath) {\n const baseUrl = new URL(window.location.origin);\n const redirectUrl = new URL(orderDetailsPath, baseUrl);\n const searchParameters = redirectUrl.searchParams;\n\n searchParameters.set('confirmationId', orderNumber);\n searchParameters.set('propertyName', orderLookupName);\n searchParameters.set('propertyValue', orderLookupValue);\n\n if (ArrayExtensions.hasElements(additionalProperties)) {\n additionalProperties.map((item, index) => {\n const fieldName = !StringExtensions.isNullOrWhitespace(item.ariaLabel)\n ? item.ariaLabel.replace(' ', '').toLocaleLowerCase()\n : '';\n const fieldValue = !StringExtensions.isNullOrWhitespace(item.fieldValue) ? item.fieldValue : '';\n searchParameters.set(`field${index + 1}Name`, fieldName);\n searchParameters.set(`field${index + 1}Value`, fieldValue);\n return item;\n });\n }\n\n window.location.assign(redirectUrl.toString());\n }\n }\n };\n\n /**\n * OnChange event.\n * @param event - Value of input field.\n */\n public readonly onChange = (event: React.ChangeEvent): void => {\n const { additionalProperties } = this.state;\n const { config } = this.props;\n const { orderStatusLookUpParametersType } = config;\n const name = event.target.name || '';\n const value = event.target.value || '';\n this.isOrderNumberValue = !StringExtensions.isNullOrWhitespace(this.orderNumberInputRef.current?.value);\n this.isEmailValue = !StringExtensions.isNullOrWhitespace(this.emailInputRef.current?.value);\n\n if (orderStatusLookUpParametersType?.toLocaleLowerCase() === 'none') {\n this.isEmailValue = true;\n }\n\n this.setState({ responseErrorMessage: '' });\n const additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n let isAdditionalFieldError: boolean = true as boolean;\n let isKeyExistInAdditionalFieldArray: boolean = false as boolean;\n\n for (const item of additionalProperties) {\n const fieldName: string = item.ariaLabel.replace(' ', '');\n if (fieldName.toLocaleLowerCase() === name.toLocaleLowerCase()) {\n additionalPropertyStates.push({\n labelName: item.labelName,\n isValidFieldName: true,\n fieldValue: value,\n ariaLabel: item.ariaLabel,\n additionalfieldErrorMessage: item.additionalfieldErrorMessage\n });\n } else {\n additionalPropertyStates.push({\n labelName: item.labelName,\n isValidFieldName: item.isValidFieldName,\n fieldValue: item.fieldValue,\n ariaLabel: item.ariaLabel,\n additionalfieldErrorMessage: item.additionalfieldErrorMessage\n });\n }\n if (fieldName.toLocaleLowerCase() === orderStatusLookUpParametersType?.toLocaleLowerCase()) {\n isKeyExistInAdditionalFieldArray = true;\n }\n }\n\n for (const items of additionalPropertyStates) {\n if (StringExtensions.isNullOrWhitespace(items.fieldValue)) {\n isAdditionalFieldError = false;\n }\n }\n\n this.setState({ additionalProperties: additionalPropertyStates });\n\n if (!isKeyExistInAdditionalFieldArray) {\n switch (name.toLocaleLowerCase()) {\n case OrderLookupSearchValues.ordernumber: {\n this.setState({\n orderNumber: value,\n isOrdNumberError: false,\n isReqError: false\n });\n break;\n }\n case OrderLookupSearchValues.email: {\n this.setState({\n email: value,\n isEmailError: false,\n isValidEmailError: false,\n isReqError: false\n });\n break;\n }\n default: {\n this.setState({ isReqError: false });\n }\n }\n }\n\n if (\n this.isOrderNumberValue &&\n this.isEmailValue &&\n isAdditionalFieldError &&\n this.state.isValidLookupField &&\n !this.state.isValidAdditionalLookupField\n ) {\n this.setState({ isDisabled: false });\n } else {\n this.setState({ isDisabled: true });\n }\n };\n\n private _createParagraph(text?: Msdyn365.RichText): React.ReactNode | null {\n const { context } = this.props;\n const { request } = context;\n if (!text) {\n return null;\n }\n return (\n \n );\n }\n\n /**\n * Render order lookup validation message.\n * @param className - Class name for error field.\n * @returns - JSX.Element.\n */\n private readonly _renderAlert = (className: string): JSX.Element => {\n const {\n resources: { orderLookupEmailValidationErrorMessage, orderLookupRequiredTextErrorMessage }\n } = this.props;\n\n const { isEmailError, email, isValidEmailError, isReqError } = this.state;\n if (isEmailError) {\n this.requiredErrorMessage = orderLookupRequiredTextErrorMessage;\n }\n\n if (!StringExtensions.isNullOrEmpty(email) && isValidEmailError) {\n this.emailValidationErrorMessage = orderLookupEmailValidationErrorMessage;\n }\n\n const isRequireError = isReqError;\n const isEmailValidError = isValidEmailError;\n const isValidEmailInput = className.toLocaleLowerCase() === OrderLookupSearchValues.email;\n return (\n <>\n {isRequireError && (\n \n {this.requiredErrorMessage}\n \n )}\n {isEmailValidError && isValidEmailInput && (\n \n {this.emailValidationErrorMessage}\n \n )}\n \n );\n };\n\n /**\n * Render order number validation message.\n * @param className - Class name for error field.\n * @returns - JSX.Element.\n */\n private readonly _renderOrderNumberAlert = (className: string): JSX.Element => {\n const {\n resources: { orderLookupOrderNumberValidationErrorMessage, orderLookupRequiredTextErrorMessage }\n } = this.props;\n\n const { isOrdNumberError, isReqError } = this.state;\n return (\n <>\n {isReqError && (\n \n {orderLookupRequiredTextErrorMessage}\n \n )}\n {isOrdNumberError && (\n \n {orderLookupOrderNumberValidationErrorMessage}\n \n )}\n \n );\n };\n\n private _renderAdditionalFields(): JSX.Element[] | undefined {\n const { additionalProperties } = this.state;\n const additionalFieldsInput: JSX.Element[] = [];\n for (const item of additionalProperties) {\n const name: string = item.ariaLabel.replace(' ', '');\n additionalFieldsInput.push(\n \n );\n }\n return additionalFieldsInput;\n }\n\n /**\n * Render Input field for order lookup.\n * @returns - IOrderLookupFieldInfo.\n */\n private readonly _renderOrderLookupInput = (): JSX.Element | undefined => {\n const { email, isEmailError, isValidEmailError } = this.state;\n const {\n config: { orderStatusLookUpParametersType },\n resources: { orderLookupEmailLabel, orderLookupEmailAriaLabel }\n } = this.props;\n\n switch (orderStatusLookUpParametersType) {\n case orderStatusLookUpParametersTypes.none:\n return undefined;\n case orderStatusLookUpParametersTypes.email:\n default:\n return (\n \n );\n }\n };\n\n /**\n * _validation for additional fields.\n * @returns - Returns IOrderLookupAdditionalFields[].\n */\n private readonly _additionalFieldValidation = (): IOrderLookupAdditionalFields[] => {\n const additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n for (const item of this.state.additionalProperties) {\n const isFieldValid: boolean = !StringExtensions.isNullOrWhitespace(item.fieldValue) && isAdditionalFieldValid(item.fieldValue);\n additionalPropertyStates.push({\n labelName: item.labelName,\n isValidFieldName: isFieldValid,\n fieldValue: item.fieldValue,\n ariaLabel: item.ariaLabel,\n additionalfieldErrorMessage: item.additionalfieldErrorMessage\n });\n }\n return additionalPropertyStates;\n };\n\n /**\n * _validateOrderLookupForm submit.\n * @returns - Returns boolean.\n */\n private readonly _validateOrderLookupForm = (): boolean => {\n const { config } = this.props;\n const { orderNumber, email } = this.state;\n const { orderStatusLookUpParametersType } = config;\n let additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n let isValid = false;\n let isDisable = false;\n\n if (ArrayExtensions.hasElements(this.state.additionalProperties)) {\n additionalPropertyStates = this._additionalFieldValidation();\n for (const item of additionalPropertyStates) {\n if (!item.isValidFieldName) {\n isDisable = true;\n }\n }\n\n if (isDisable) {\n this.setState({\n additionalProperties: additionalPropertyStates,\n isDisabled: true\n });\n }\n }\n\n if (StringExtensions.isNullOrWhitespace(orderNumber)) {\n this.setState({\n isOrdNumberError: true,\n isReqError: true,\n isDisabled: true\n });\n } else if (orderNumber.trim() !== orderNumber) {\n this.setState({\n isOrdNumberError: true,\n isReqError: false,\n isDisabled: true\n });\n } else if (\n orderStatusLookUpParametersType === orderStatusLookUpParametersTypes.email &&\n StringExtensions.isNullOrWhitespace(email)\n ) {\n this.setState({\n isEmailError: true,\n isReqError: true,\n isDisabled: true\n });\n } else if (orderStatusLookUpParametersType === orderStatusLookUpParametersTypes.email && !isEmailValid(email)) {\n this.setState({\n isValidEmailError: true,\n isDisabled: true\n });\n } else if (isDisable || !this.state.isValidLookupField || this.state.isValidAdditionalLookupField) {\n this.setState({\n isDisabled: true\n });\n } else {\n this.setState({\n isDisabled: false\n });\n isValid = true;\n }\n return isValid;\n };\n}\n\nexport default OrderLookup;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IOrderLookupViewProps } from './order-lookup';\n\n/**\n * View component.\n * @param props - The view properties.\n * @returns - Returns JSX Element.\n */\nexport const OrderLookupViewComponent: React.FC = props => {\n const {\n orderLookup,\n orderLookupContainer,\n orderLookupAdditionalFieldContainer,\n heading,\n paragraph,\n orderLookupForm,\n renderOrderLookupInputField,\n orderNumberInput,\n errorMessage,\n submitButton,\n additionalProperties,\n registeredUserMessage,\n fieldErrorMessage\n } = props;\n return (\n \n \n {heading}\n {paragraph}\n \n {orderNumberInput}\n {renderOrderLookupInputField}\n {ArrayExtensions.hasElements(additionalProperties) && (\n \n {additionalProperties.map((item: JSX.Element) => (\n {item}\n ))}\n \n )}\n {fieldErrorMessage}\n \n {props.submitButtonLabelText}\n \n {errorMessage}\n \n {registeredUserMessage}\n \n \n );\n};\n\nexport default OrderLookupViewComponent;\n"],"names":["Drawer","React","constructor","props","super","this","_toggle","bind","isManuallyToggled","state","isOpen","collapseProps","drawerGlyphClass","classnames","toggleGlyphClassName","animateGlyph","drawerOpenGlyph","openGlyph","closeGlyph","drawerCloseGlyph","render","_objectSpread","undefined","children","drawerClass","className","Button","Object","assign","toggleButtonProps","onClick","block","disabled","color","radioButtonOption","type","role","id","toggleButtonText","checked","radioButtonChecked","htmlFor","_generateDrawerButtonInnerMarkup","Collapse","collapseState","drawerButtonTextClass","toggleButtonClassName","glyphPlacement","_generateGlyphMarkup","location","glyphClass","e","preventDefault","setState","onToggle","AccordionItemCustom","expandSingleItemOnly","_onToggleAccordionItem","AccordionItemText","openOnly","data","radioButtonText","accordionExpandedState","result","accordionItemTitle","expanded","prevState","oldRadioButtonText","accordionState","isAllExpanded","context","actionContext","update","createAccordionStateInput","_getDrawerProps","_renderAccordionItemContent","_renderAccordionItemSlotsContent","config","componentDidMount","isExpandedOnInitialLoad","slots","drawerProps","showGlyph","hasAccordionItemSlotsContent","accordionItemContent","length","ControlledDrawer","accordionExpandedStateResult","content","items","map","slot","index","key","__decorate","observer","FooterCategory","telemetry","error","viewprops","categories","FooterList","moduleProps","tag","FooterListItem","renderView","FooterCategoryView","Module","category","Node","CittaProductSku","productSku","product","ItemId","skuTitleText","productSkuViewProps","ProductSkuContainer","classname","SkuTitleTextNode","ProductSkuNode","ICittaProductSkuView","PasswordResetVerificationItem","_ref","wrapper","label","errorMessage","input","PasswordResetVerificationLoading","_ref3","modal","modalBody","icon","message","passwordResetVerification","viewState","loading","defaultAADConainer","aadConainer","heading","passwordResetVerificationLocalAccount","isShowLoading","_ref2","localAccount","verificationControlWrapper","successMessage","verificationButtonsWrapper","verificationButtons","buttonsWrapper","buttons","verificationSuccessModal","verificationSuccessModalMessage","item","button","LocalAccount","_renderForm","form","SearchForm","FormWrapper","cancelBtnAriaLabel","submitBtnAriaLabel","resources","cancelBtn","UncontrolledTooltip","placement","trigger","target","submitBtn","_renderProductSuggestions","ProductSuggest","UlProduct","productSuggestions","LiProduct","tabIndex","AProduct","text","price","_renderCategorySuggestions","CategorySuggest","UlCategory","categorySuggestions","title","Search","AutoSuggestAriaLabel","AutoSuggestAriaLabelText","searchText","AutoSuggest","autosuggestCategory","autosuggestProduct","isSearchFormShow","indexOf","MsDyn365","isBrowser","window","document","body","classList","toggle","labelGroup","value","renderErrorLabel","responseErrorMessage","errorMessageClassName","renderRegisteredUserMessage","signInUrl","signInLinkClassName","registeredUserClassName","orderLookupRegisteredUserText","orderLookupViewAccountText","orderLookupSignInLinkText","infoMessage","signInText","href","renderFieldErrors","orderLookupFieldValidationErrorMessage","RenderOrderLookupAdditionalFieldInput","shouldComponentUpdate","nextProps","_getOrderLookupAdditionalFields","additionalFieldLabel","additionalFieldError","additionalFieldInput","additionalFieldLabelClassName","inputType","onChange","ariaLabel","name","isValidAdditionalFieldName","additionalFieldValidationMessage","RenderOrderLookupFormFields","_getOrderLookupFields","orderLookupLabelClassName","orderLookupLabel","ref","inputReference","fieldErrorClassName","isInputTypeError","renderAlert","isValidInputField","OrderLookupSearchValues","OrderLookup","isEmailValue","isOrderNumberValue","orderLookupExtensibleEnum","handleTextChange","event","handleParagraphChange","paragraph","handleSubmit","additionalProperties","orderNumber","email","orderLookupValue","orderStatusLookUpParametersType","orderLookupName","_validateOrderLookupForm","_Msdyn365$getUrlSync","actionContextValue","orderDetailsPath","Msdyn365","baseUrl","URL","origin","redirectUrl","searchParameters","searchParams","set","ArrayExtensions","hasElements","fieldName","StringExtensions","isNullOrWhitespace","replace","toLocaleLowerCase","fieldValue","toString","_this$orderNumberInpu","_this$emailInputRef$c","orderNumberInputRef","current","emailInputRef","additionalPropertyStates","isAdditionalFieldError","isKeyExistInAdditionalFieldArray","push","labelName","isValidFieldName","additionalfieldErrorMessage","ordernumber","isOrdNumberError","isReqError","isEmailError","isValidEmailError","isValidLookupField","isValidAdditionalLookupField","isDisabled","_renderAlert","orderLookupEmailValidationErrorMessage","orderLookupRequiredTextErrorMessage","requiredErrorMessage","isNullOrEmpty","emailValidationErrorMessage","isRequireError","isEmailValidError","isValidEmailInput","_renderOrderNumberAlert","orderLookupOrderNumberValidationErrorMessage","_renderOrderLookupInput","orderLookupEmailLabel","orderLookupEmailAriaLabel","_additionalFieldValidation","isFieldValid","RegExp","test","isValid","isDisable","trim","EmailRegex","defaultRegex","isEmailValid","orderLookupSearchAdditionalFields","_item$labelName","_item$ariaLabel","_item$validationMessa","validationMessage","_heading$tag","_context$request$user","orderLookupDefaultHeadingText","orderLookupButtonLabel","orderLookupFormAriaLabel","orderLookupOrderNumberLabel","orderLookupOrderNumberAriaLabel","orderLookupSubmitAriaLabel","headingText","headingTag","moduleClassName","orderLookupContainerClassName","orderLookupFormClassName","orderLookupAdditionalFiledContainerClassName","orderLookupFormFieldsClassName","orderNumberLabelClassName","orderNumberInputErrorClassName","submitButtonClassName","signinLinkClassName","orderLookupHeading","editProps","onEdit","requestContext","request","viewProps","orderLookup","orderLookupContainer","orderLookupAdditionalFieldContainer","_createParagraph","renderOrderLookupInputField","orderLookupForm","autoComplete","onSubmit","orderNumberInput","submitButton","submitButtonLabelText","fieldErrorMessage","registeredUserMessage","user","submit","_renderAdditionalFields","async","_getExtensibleEnumera","_getExtensibleEnumera2","isOrderLookupAdditionalFieldValid","isOrderLookupFieldValid","getExtensibleEnumerations","StoreOperationsDataActions","callerContext","find","TypeName","ExtensibleEnumerations","orderLookupAdditionalParameter","validateOrderLookupField","orderStatusLookUpParameter","isValidField","Name","validateOrderLookupAdditionalField","orderStatusLookUpAdditionalParameters","isValidAdditionalField","_item$fieldKey","fieldKey","validateAdditionalFieldWithProxy","some","setLookupFieldState","additionalFieldsInput","OrderLookupViewComponent","_orderLookupForm$clas","_submitButton$classNa"],"sourceRoot":""}