{"version":3,"file":"static/js/14.ccbc0977c2783b8ce211.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-orderreference/citta-orderreference.tsx?a2af","webpack://Citta2.0/./src/modules/citta-orderreference/citta-orderreference.view.tsx?837d","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/tab-item/tab-item.tsx?b1b8","webpack://Citta2.0/./src/modules/tab-item/tab-item.view.tsx?ee3b","webpack://Citta2.0/./src/modules/tab/tab.tsx?9ac6","webpack://Citta2.0/./src/modules/tab/tab.view.tsx?a99d"],"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.\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\nimport classnames from 'classnames';\r\nimport { ICittaOrderreferenceData } from './citta-orderreference.data';\r\nimport { ICittaOrderreferenceProps } from './citta-orderreference.props.autogenerated';\r\nimport { Button, IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\r\nimport { computed } from 'mobx';\r\nimport { ICartState, getCartState, ICheckoutState, getCheckoutState } from '@msdyn365-commerce/global-state';\r\nimport { GetCheckoutCartInput } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { updateAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/CartsDataActions.g';\r\nimport { Cart, AttributeTextValue } from '@msdyn365-commerce/retail-proxy';\r\n\r\ninterface ICittaOrderReferenceFormState {\r\n orderreference: string;\r\n orderreferenceSubmited: string;\r\n eAValError: boolean;\r\n eAError: boolean;\r\n pPCError: boolean;\r\n rCCError: boolean;\r\n reqError: boolean;\r\n responseReceived: boolean;\r\n responseError: boolean;\r\n responseSuccess: boolean;\r\n reCaptchaChecked: boolean;\r\n submitted: boolean;\r\n}\r\nexport interface ICittaOrderReferenceForm {\r\n FormWrapper: INodeProps;\r\n FormContainer: INodeProps;\r\n orderreferenceInput: React.ReactNode;\r\n submitButtton: React.ReactNode;\r\n submitThanks: React.ReactNode;\r\n editButton: React.ReactNode;\r\n\r\n}\r\n\r\nexport interface ICittaOrderreferenceViewProps extends ICittaOrderreferenceProps {\r\n orderreferenceWrapper: IModuleProps;\r\n orderreferenceResponse: React.ReactNode;\r\n orderreferenceForm: ICittaOrderReferenceForm;\r\n responseSuccess: boolean;\r\n orderreferenceno: React.ReactNode;\r\n}\r\n\r\n/**\r\n *\r\n * CittaOrderreference component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass CittaOrderreference extends React.PureComponent, ICittaOrderReferenceFormState> {\r\n private _OrderRefNoRef: React.RefObject;\r\n private moduleClassName: string = 'newsletterSubWrap';\r\n private responseMessage: string | undefined;\r\n private orderrefnoValue: boolean = false;\r\n private formInputValues: boolean = false;\r\n private cart: ICartState | undefined;\r\n private checkoutState: ICheckoutState | undefined; \r\n @computed public get userorderreferenceno(): Readonly {\r\n if (this._OrderRefNoRef.current) {\r\n return this._OrderRefNoRef.current!.value;\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n constructor(props: ICittaOrderreferenceProps) {\r\n super(props);\r\n this._OrderRefNoRef = React.createRef();\r\n this._handlesubmit = this._handlesubmit.bind(this);\r\n this.state = {\r\n orderreference: '',\r\n orderreferenceSubmited:'',\r\n eAValError: false,\r\n eAError: false,\r\n pPCError: false,\r\n rCCError: false,\r\n reqError: false,\r\n responseReceived: false,\r\n responseError: false,\r\n reCaptchaChecked: false,\r\n responseSuccess: false,\r\n submitted: false\r\n };\r\n }\r\n\r\n public async componentDidMount(): Promise {\r\n let cartState = await getCartState(this.props.context.actionContext);\r\n this.cart = cartState;\r\n this.checkoutState = await getCheckoutState(this.props.context.actionContext);\r\n\r\n if (this.cart?.cart?.ExtensionProperties!?.length > 0) {\r\n\r\n const property = this.cart?.cart?.ExtensionProperties!?.find((extension) => extension.Key === 'HSOCustRef');\r\n if (property) {\r\n if (this._OrderRefNoRef.current) {\r\n this._OrderRefNoRef.current!.value = property.Value?.StringValue!;\r\n //this.setState({orderreference: property.Value?.StringValue!})\r\n //this.setState({orderreferenceSubmited: property.Value?.StringValue!})\r\n }\r\n }\r\n\r\n }\r\n }\r\n\r\n\r\n public render(): JSX.Element | null {\r\n // return this.props.renderView(this.props); \r\n\r\n const viewProps: ICittaOrderreferenceViewProps = {\r\n ...(this.props as ICittaOrderreferenceProps),\r\n orderreferenceWrapper: {\r\n moduleProps: this.props,\r\n className: classnames(this.moduleClassName)\r\n },\r\n orderreferenceResponse: this._getSubscribeResponse(),\r\n orderreferenceForm: this._renderForm(),\r\n responseSuccess: this.state.responseSuccess,\r\n orderreferenceno: this._renderorderreferenceno()\r\n };\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n private _renderorderreferenceno(): React.ReactNode {\r\n return (\r\n this.state.orderreferenceSubmited && Applied value: {this.state.orderreferenceSubmited}\r\n );\r\n }\r\n\r\n\r\n private _renderSubscribeThanks(): React.ReactNode {\r\n return (\r\n
\r\n
\r\n Thanks!\r\n
\r\n
\r\n );\r\n }\r\n private _renderForm(): ICittaOrderReferenceForm {\r\n return {\r\n FormWrapper: {\r\n className: 'newsletter-subscription',\r\n },\r\n FormContainer: {\r\n className: 'newsletter-subscription-div',\r\n },\r\n orderreferenceInput: this._renderorderreferenceInput(),\r\n submitButtton: this.state.orderreferenceSubmited ? null : this._renderSubscribeButton(),\r\n submitThanks: this._renderSubscribeThanks(),\r\n editButton: this._renderEditButton()\r\n };\r\n }\r\n\r\n private _renderSubscribeButton(): React.ReactNode {\r\n return (\r\n
\r\n Save & apply\r\n \r\n
\r\n );\r\n }\r\n\r\n private _renderEditButton(): React.ReactNode {\r\n return (\r\n
\r\n Edit\r\n \r\n
\r\n );\r\n }\r\n\r\n private async _handleEdit(e: React.MouseEvent | React.KeyboardEvent | React.FormEvent): Promise {\r\n this.orderrefnoValue = (this._OrderRefNoRef && this._OrderRefNoRef.current && this._OrderRefNoRef.current.value) ? true : false;\r\n this.setState({responseSuccess: false});\r\n }\r\n\r\n private async _handlesubmit(e: React.MouseEvent | React.KeyboardEvent | React.FormEvent): Promise {\r\n this.orderrefnoValue = (this._OrderRefNoRef && this._OrderRefNoRef.current && this._OrderRefNoRef.current.value) ? true : false;\r\n\r\n const eA = (this._OrderRefNoRef && this._OrderRefNoRef.current && this._OrderRefNoRef.current.value) ? this._OrderRefNoRef.current.value : '';\r\n if (!this.orderrefnoValue) {\r\n this.setState({\r\n eAError: true,\r\n reqError: true\r\n });\r\n } else {\r\n this.formInputValues = (this.orderrefnoValue) ? true : false;\r\n if (this.formInputValues && !this.state.eAValError) {\r\n try {\r\n await this._SaveExtenstionproperty(eA);\r\n // this._clearValues();\r\n } catch (e) {\r\n console.log(e, 'Please fill the form!');\r\n }\r\n }\r\n }\r\n }\r\n\r\n // private _clearValues(): void {\r\n // if (this._OrderRefNoRef.current) {\r\n // this._OrderRefNoRef.current!.value = '';\r\n // }\r\n // }\r\n private async _SaveExtenstionproperty(orderrefno: string): Promise {\r\n\r\n this._addCartExtension(this.cart?.cart!, \"HSOCustRef\", orderrefno);\r\n this._saveCartExtensions(this.cart!, orderrefno);\r\n this.setState({responseSuccess: true, orderreferenceSubmited: orderrefno});\r\n }\r\n\r\n\r\n private _renderorderreferenceInput(): React.ReactNode {\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n }\r\n\r\n private _handleChange = (name: string) => (e: React.ChangeEvent) => {\r\n this.setState({orderreferenceSubmited: ''});\r\n const value = e.target.value;\r\n switch (name) {\r\n case 'orderrefno': {\r\n this.setState({ orderreference: value, eAError: false, reqError: false, eAValError: false, pPCError: false });\r\n break;\r\n }\r\n default: {\r\n console.log('No input box changes');\r\n this.setState({ reqError: false, eAValError: false, pPCError: false });\r\n }\r\n }\r\n }\r\n private _getSubscribeResponse(): React.ReactNode {\r\n return (\r\n this.state.responseReceived && this.responseMessage !== '' || undefined\r\n ? (\r\n
\r\n

{this.responseMessage}

\r\n
\r\n )\r\n : null\r\n );\r\n }\r\n\r\n private async _saveCartExtensions(cart: ICartState, orderReferenceString: string) {\r\n if (!cart) {\r\n this.props.telemetry.error('No cart object given');\r\n throw new Error(`saveCartExtensions error: No cart object given`);\r\n }\r\n const cartExtensionProperties = cart.cart.ExtensionProperties;\r\n if (this.checkoutState) {\r\n let cartAttributes = this.checkoutState.checkoutCart.cart.AttributeValues ?? [];\r\n let updateCart = true;\r\n\t\t\tconst orderReferenceAttributeName = \"HSOCustRef\";\r\n\r\n const orderReferenceAttribute = cartAttributes?.find(x => x.Name === orderReferenceAttributeName) as AttributeTextValue;\r\n\r\n if (orderReferenceAttribute) {\r\n if (orderReferenceAttribute.TextValue !== orderReferenceString) {\r\n this.updateTextAttribute(orderReferenceAttribute as AttributeTextValue, orderReferenceString);\r\n }\r\n else {\r\n updateCart = false;\r\n }\r\n } else {\r\n cartAttributes?.push(this.createTextAttribute(orderReferenceAttributeName, orderReferenceString));\r\n }\r\n\r\n if (updateCart) {\r\n await this.checkoutState.checkoutCart.updateAttributeValues({ newAttributeValues: cartAttributes });\r\n }\r\n }\r\n\r\n await updateAsync({ callerContext: this.props.context.actionContext }, { Id: cart.cart.Id, ExtensionProperties: cartExtensionProperties }).then(newCart => {\r\n if (newCart) {\r\n this.props.context.actionContext.update(new GetCheckoutCartInput(this.props.context.request.apiSettings), newCart);\r\n }\r\n }).catch(error => {\r\n throw new Error(`saveCartExtensions ${error}`);\r\n });\r\n }\r\n\r\n private readonly updateTextAttribute = (attribute: AttributeTextValue, value: string) => {\r\n if (attribute) {\r\n attribute.TextValue = value;\r\n attribute.TextValueTranslations = [];\r\n attribute['@odata.type'] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.AttributeTextValue\";\r\n } \r\n return attribute;\r\n };\r\n\r\n private readonly createTextAttribute = (name: string, value: string) => {\r\n return { \r\n Name : name, \r\n TextValue: value,\r\n TextValueTranslations: [],\r\n '@odata.type': \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.AttributeTextValue\"\r\n };\r\n };\r\n\r\n _addCartExtension = (cart: Cart, key: string, value: string) => {\r\n cart.ExtensionProperties = cart.ExtensionProperties || [];\r\n const property = cart.ExtensionProperties.find((extension) => extension.Key === key);\r\n if (property) {\r\n property.Value = { StringValue: value };\r\n } else {\r\n cart.ExtensionProperties.push({\r\n Key: key,\r\n Value: {\r\n StringValue: value\r\n }\r\n });\r\n }\r\n };\r\n}\r\nexport default CittaOrderreference;\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\nimport { ICittaOrderreferenceViewProps } from './citta-orderreference';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\n// export default (props: ICittaOrderreferenceViewProps) => {\r\n// return (\r\n//
\r\n//

Config Value: {props.config.showText}

\r\n//

Resource Value: {props.resources.resourceKey}

\r\n//
\r\n// );\r\n// };\r\n\r\nexport class ICittaOrderreferenceView extends React.PureComponent {\r\n\r\n public render(): JSX.Element | null {\r\n const { orderreferenceWrapper, orderreferenceForm, orderreferenceno } = this.props;\r\n const { FormWrapper, FormContainer,orderreferenceInput, submitButtton } = orderreferenceForm;\r\n const orderForm = \r\n \r\n {orderreferenceInput}\r\n {orderreferenceno}\r\n {submitButtton}\r\n \r\n ;\r\n \r\n return (\r\n \r\n {orderForm}\r\n \r\n );\r\n }\r\n}\r\nexport default ICittaOrderreferenceView;\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 { 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 { IModuleProps, INodeProps, NodeTag } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { ITabItemData } from './tab-item.data';\nimport { ITabItemProps } from './tab-item.props.autogenerated';\n\nexport interface ITabItemViewProps {\n TabContentContainer: IModuleProps;\n TabHeaderContainer: IModuleProps;\n tabSlots: INodeProps;\n TabItemContent: INodeProps;\n tabItemType?: TabItemType;\n tabHeader: React.ReactNode;\n}\n\nexport interface ITabItemExtentedProps extends ITabItemProps {\n tabItemType?: TabItemType;\n isSelected?: boolean;\n itemIndex?: number;\n tabId?: string;\n}\n\nexport enum TabItemType {\n TabHeader,\n TabContent\n}\n\n/**\n *\n * TabItem component.\n * @extends {React.Component}\n */\n@observer\nclass TabItem extends React.PureComponent {\n private readonly moduleContentClassName: string = 'ms-tab-item-content';\n\n private readonly moduleHeaderClassName: string = 'ms-tab-item-header';\n\n constructor(props: ITabItemProps) {\n super(props);\n this._renderTabHeader = this._renderTabHeader.bind(this);\n }\n\n public render(): JSX.Element {\n const { slots, renderView, config, data, isSelected, itemIndex } = this.props;\n const index = itemIndex || 0;\n const contentID = getContentID(index, this.props.tabId || '');\n const activeContentIDResult = data && data.activeTabState && data.activeTabState.result;\n const shown =\n activeContentIDResult &&\n activeContentIDResult.tabId === this.props.tabId &&\n activeContentIDResult.activeContentIndex !== undefined\n ? activeContentIDResult.activeContentIndex === index\n : isSelected || false;\n const viewProps = {\n ...this.props,\n TabContentContainer: {\n moduleProps: this.props,\n className: classnames(this.moduleContentClassName, config.className)\n },\n TabHeaderContainer: {\n moduleProps: this.props,\n className: classnames(this.moduleHeaderClassName, config.className)\n },\n TabItemContent: {\n className: 'ms-tab-item-content__content',\n tag: 'section' as NodeTag,\n 'aria-hidden': !shown,\n role: 'tabpanel',\n tabIndex: shown ? 0 : -1,\n id: contentID\n },\n tabHeader: this._renderTabHeader(),\n tabSlots: slots\n };\n return renderView(viewProps) as React.ReactElement;\n }\n\n private _renderTabHeader(): React.ReactNode {\n return <>{this.props.config.tabItemTitle};\n }\n}\n\nexport const getContentID = (index: number, id: string) => {\n return `tab-item-content-${id}-${index}`;\n};\n\nexport default TabItem;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ITabItemViewProps, TabItemType } from './tab-item';\n\nconst TabItemView: React.FC = props => {\n const { tabItemType, tabSlots, TabContentContainer, TabHeaderContainer, TabItemContent, tabHeader } = props;\n\n switch (tabItemType) {\n case TabItemType.TabContent:\n return (\n \n \n {tabSlots &&\n tabSlots.tabItemContent &&\n tabSlots.tabItemContent.length &&\n _renderTabItemContent(tabSlots.tabItemContent)}\n \n \n );\n case TabItemType.TabHeader:\n return {tabHeader};\n default:\n return null;\n }\n};\n\nconst _renderTabItemContent = (items: React.ReactNode[]): JSX.Element | null => {\n return (\n <>\n {items && items.length > 0\n ? items.map((item: React.ReactNode, index: number) => {\n return {item};\n })\n : null}\n \n );\n};\nexport default TabItemView;\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 { IModuleProps, INodeProps, NodeTag } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { createTabStateInput, getContentID, TabItemType } from '../..';\nimport { ITabData } from './tab.data';\nimport { ITabProps } from './tab.props.autogenerated';\n\n/**\n *\n * Tab component.\n * @extends {React.PureComponent>}\n */\n\nexport interface ICallToActionProps {\n link: INodeProps[];\n}\n\nexport interface ITabViewProps extends ITabProps<{}> {\n heading?: React.ReactNode;\n TabContainer: IModuleProps;\n headerSection: INodeProps;\n tabHeaderSection: INodeProps;\n tabsSection: INodeProps;\n tabItemContainer: INodeProps;\n tabHeaders: React.ReactNode;\n tabContents: React.ReactNode;\n}\n\nexport interface ITabViewStates {\n currentTabIndex: number;\n}\n\n/**\n *\n * Tab component.\n * @extends {React.Component>}\n */\n@observer\nclass Tab extends React.Component, ITabViewStates> {\n public readonly tabIndexQuery: string = 'activeTab';\n\n private activeLink: HTMLLIElement | null;\n\n constructor(props: ITabProps) {\n super(props);\n const { defaultTabIndex } = this.props.config;\n const { slots } = this.props;\n const slotLength = (slots && slots.tabItems && slots.tabItems.length) || 0;\n let initialIndex = defaultTabIndex && defaultTabIndex <= slotLength && defaultTabIndex > 0 ? defaultTabIndex - 1 : 0;\n const queryString: string =\n (this.props.context &&\n this.props.context.request &&\n this.props.context.request.query &&\n this.props.context.request.query.activeTab) ||\n '';\n let queryTabIndex: number = 0;\n if (queryString.indexOf(':') > 0) {\n const arr = queryString.split(':');\n const moduleId = arr[0];\n if (moduleId === this.props.id) {\n queryTabIndex = Number.parseInt(arr[1], 10);\n }\n }\n initialIndex = queryTabIndex > 0 && queryTabIndex <= slotLength ? queryTabIndex - 1 : initialIndex;\n this.state = { currentTabIndex: initialIndex };\n\n this._getTabHeader = this._getTabHeader.bind(this);\n this._getTabContent = this._getTabContent.bind(this);\n this._onClick = this._onClick.bind(this);\n this._onKeyDown = this._onKeyDown.bind(this);\n this._setGetParameter = this._setGetParameter.bind(this);\n this.activeLink = null;\n }\n\n public shouldComponentUpdate(nextProps: ITabProps, nextState: ITabViewStates): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n const { slots } = this.props;\n const { heading, className } = this.props.config;\n\n const headingComponent = heading && (\n \n );\n const slotLength = (slots && slots.tabItems && slots.tabItems.length) || 0;\n\n // Const queryTabIndex = this.props.context && this.props.context.request && this.props.context.request.query && +this.props.context.request.query.activeTabIndex || 0;\n // let activeIndex = defaultTabIndex && defaultTabIndex <= slotLength && defaultTabIndex > 0 ? defaultTabIndex - 1 : 0;\n // activeIndex = queryTabIndex > 0 && queryTabIndex <= slotLength ? queryTabIndex - 1 : activeIndex;\n\n const tabViewProps = {\n ...this.props,\n TabContainer: {\n moduleProps: this.props,\n className: classnames('ms-tab', className)\n },\n headerSection: { className: 'ms-tab-header-section' },\n tabsSection: { className: 'ms-tab-tabs-section', tag: 'ul' as NodeTag, role: 'tablist' },\n heading: headingComponent,\n config: this.props && this.props.config,\n tabItemContainer: {\n tag: 'div' as NodeTag,\n className: 'ms-tab-content-section'\n },\n tabContents: slotLength > 0 && slots.tabItems.map((item: React.ReactNode, index: number) => this._getTabContent(item, index)),\n tabHeaders: slotLength > 0 && slots.tabItems.map((item: React.ReactNode, index: number) => this._getTabHeader(item, index))\n };\n return this.props.renderView(tabViewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: MsDyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n public componentDidUpdate(): void {\n const { data } = this.props;\n if (!this.props.context.request.params.isEditor) {\n const dataActionTabId = data && data.activeTabState && data.activeTabState.result && data.activeTabState.result.tabId;\n if (dataActionTabId) {\n if (this.props.id === dataActionTabId) {\n this.activeLink && this.activeLink.focus();\n }\n } else {\n const queryString: string =\n (this.props.context &&\n this.props.context.request &&\n this.props.context.request.query &&\n this.props.context.request.query.activeTab) ||\n '';\n if (queryString.indexOf(':') > 0) {\n const arr = queryString.split(':');\n const moduleId = arr[0];\n if (moduleId === this.props.id) {\n this.activeLink && this.activeLink.focus();\n }\n }\n }\n }\n }\n\n /**\n *Set the activate link value on tab click.\n * @param link -Ref link value.\n */\n private readonly _refHandler = (link: HTMLLIElement | null) => {\n this.activeLink = link;\n };\n\n private _getTabHeader(item: React.ReactNode, index: number): React.ReactNode {\n const { data } = this.props;\n const activeContentIndex =\n data && data.activeTabState && data.activeTabState.result && data.activeTabState.result.activeContentIndex;\n const dataActionTabId = data && data.activeTabState && data.activeTabState.result && data.activeTabState.result.tabId;\n const selected =\n activeContentIndex !== undefined && dataActionTabId === this.props.id\n ? activeContentIndex === index\n : this.state.currentTabIndex === index;\n const contentID = getContentID(index, this.props.id);\n\n return (\n \n \n {React.cloneElement(item as React.ReactElement, {\n tabItemType: TabItemType.TabHeader,\n isSelected: index === this.state.currentTabIndex,\n itemIndex: index,\n tabId: this.props.id\n })}\n \n \n );\n }\n\n private readonly _onClick = (index: number, id: string) => (e: React.MouseEvent) => {\n const activeTabState = { activeContentIndex: index, tabId: id };\n this.props.context.actionContext.update(createTabStateInput(activeTabState), activeTabState);\n this.setState({ currentTabIndex: index });\n\n // Update query paramter\n const requestContext = this.props.context.request;\n const newUrl = this._setGetParameter(requestContext, this.tabIndexQuery, `${this.props.id}:${String(index + 1)}`);\n requestContext && window.history.pushState({ path: newUrl }, '', newUrl);\n };\n\n private readonly _onKeyDown = (index: number, id: string) => (e: React.KeyboardEvent) => {\n if (e.keyCode === 13) {\n const activeTabState = { activeContentIndex: index, tabId: id };\n this.props.context.actionContext.update(createTabStateInput(activeTabState), activeTabState);\n this.setState({ currentTabIndex: index });\n\n // Update query paramter\n const requestContext = this.props.context.request;\n const newUrl = this._setGetParameter(requestContext, this.tabIndexQuery, `${this.props.id}:${String(index + 1)}`);\n requestContext && window.history.pushState({ path: newUrl }, '', newUrl);\n }\n\n if (e.keyCode === 39 || e.keyCode === 37) {\n const { slots } = this.props;\n const slotLength = (slots && slots.tabItems && slots.tabItems.length) || 0;\n\n if (e.keyCode === 39) {\n // If we're at the end, go to the start\n if (index + 1 === slotLength) {\n index = -1;\n }\n const activeTabState = { activeContentIndex: index + 1, tabId: id };\n this.props.context.actionContext.update(createTabStateInput(activeTabState), activeTabState);\n this.setState({ currentTabIndex: index + 1 });\n\n // Update query paramter\n const requestContext = this.props.context.request;\n const newUrl = this._setGetParameter(requestContext, this.tabIndexQuery, `${this.props.id}:${String(index + 2)}`);\n requestContext && window.history.pushState({ path: newUrl }, '', newUrl);\n\n // Move left\n } else if (e.keyCode === 37) {\n // If we're at the start, move to the end\n if (index === 0) {\n index = slotLength;\n }\n const activeTabState = { activeContentIndex: index - 1, tabId: id };\n this.props.context.actionContext.update(createTabStateInput(activeTabState), activeTabState);\n this.setState({ currentTabIndex: index - 1 });\n\n // Update query paramter\n const requestContext = this.props.context.request;\n const newUrl = this._setGetParameter(requestContext, this.tabIndexQuery, `${this.props.id}:${String(index)}`);\n requestContext && window.history.pushState({ path: newUrl }, '', newUrl);\n }\n }\n };\n\n private _getTabContent(item: React.ReactNode, index: number): React.ReactNode {\n return (\n \n {React.cloneElement(item as React.ReactElement, {\n tabItemType: TabItemType.TabContent,\n isSelected: index === this.state.currentTabIndex,\n itemIndex: index,\n tabId: this.props.id\n })}\n \n );\n }\n\n private _setGetParameter(requestContext: MsDyn365.IRequestContext, paramName: string, paramValue: string): string {\n let url;\n\n if (MsDyn365.msdyn365Commerce.isBrowser) {\n url = new URL(window.location.href);\n } else {\n url = new URL(requestContext.url.requestUrl.href);\n }\n\n const params = new window.URLSearchParams(url.search);\n params.set(paramName, paramValue);\n url.search = decodeURIComponent(params.toString());\n return url.toString();\n }\n}\n\nexport default Tab;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ITabViewProps } from './tab';\n\nconst tabView: React.FC = props => {\n const { heading, TabContainer, tabHeaders, tabContents } = props;\n if (!props.heading && !props.tabHeaders && !props.tabContents) {\n props.context.telemetry.error('Tab content is empty, module wont render');\n return null;\n }\n return (\n \n {heading}\n {tabHeaders}\n {tabContents}\n \n );\n};\n\nexport default tabView;\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","CittaOrderreference","moduleClassName","orderrefnoValue","formInputValues","_handleChange","name","orderreferenceSubmited","value","target","orderreference","eAError","reqError","eAValError","pPCError","console","log","updateTextAttribute","attribute","TextValue","TextValueTranslations","createTextAttribute","Name","_addCartExtension","cart","ExtensionProperties","property","find","extension","Key","Value","StringValue","push","_OrderRefNoRef","_handlesubmit","rCCError","responseReceived","responseError","reCaptchaChecked","responseSuccess","submitted","userorderreferenceno","current","async","_this$cart","cartState","getCartState","checkoutState","getCheckoutState","_this$cart2","_property$Value","viewProps","orderreferenceWrapper","orderreferenceResponse","_getSubscribeResponse","orderreferenceForm","_renderForm","orderreferenceno","_renderorderreferenceno","style","display","_renderSubscribeThanks","FormWrapper","FormContainer","orderreferenceInput","_renderorderreferenceInput","submitButtton","_renderSubscribeButton","submitThanks","editButton","_renderEditButton","title","_handleEdit","eA","_SaveExtenstionproperty","orderrefno","_this$cart3","_saveCartExtensions","ref","onChange","required","responseMessage","orderReferenceString","Error","cartExtensionProperties","_this$checkoutState$c","cartAttributes","checkoutCart","AttributeValues","updateCart","orderReferenceAttributeName","orderReferenceAttribute","x","updateAttributeValues","newAttributeValues","updateAsync","callerContext","Id","then","newCart","GetCheckoutCartInput","request","apiSettings","catch","computed","ICittaOrderreferenceView","orderForm","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","form","SearchForm","cancelBtnAriaLabel","submitBtnAriaLabel","resources","cancelBtn","UncontrolledTooltip","placement","trigger","submitBtn","_renderProductSuggestions","ProductSuggest","UlProduct","productSuggestions","LiProduct","tabIndex","AProduct","text","price","_renderCategorySuggestions","CategorySuggest","UlCategory","categorySuggestions","Search","AutoSuggestAriaLabel","AutoSuggestAriaLabelText","searchText","AutoSuggest","autosuggestCategory","autosuggestProduct","isSearchFormShow","indexOf","MsDyn365","isBrowser","window","document","body","classList","toggle","TabItemType","TabItem","moduleContentClassName","moduleHeaderClassName","_renderTabHeader","isSelected","itemIndex","contentID","getContentID","tabId","activeContentIDResult","activeTabState","shown","activeContentIndex","TabContentContainer","TabHeaderContainer","TabItemContent","tabHeader","tabSlots","tabItemTitle","_renderTabItemContent","tabItemType","TabContent","tabItemContent","TabHeader","Tab","tabIndexQuery","handleHeadingChange","event","_refHandler","link","activeLink","_onClick","createTabStateInput","currentTabIndex","requestContext","newUrl","_setGetParameter","String","history","pushState","path","_onKeyDown","keyCode","slotLength","tabItems","defaultTabIndex","initialIndex","queryString","query","activeTab","queryTabIndex","arr","split","Number","parseInt","_getTabHeader","_getTabContent","shouldComponentUpdate","nextProps","nextState","headingComponent","editProps","onEdit","tabViewProps","TabContainer","headerSection","tabsSection","tabItemContainer","tabContents","tabHeaders","componentDidUpdate","params","isEditor","dataActionTabId","focus","selected","onKeyDown","paramName","paramValue","url","URL","href","requestUrl","URLSearchParams","search","set","decodeURIComponent","toString"],"sourceRoot":""}