{"version":3,"file":"static/js/16.d7a45717e50ffaaf7b55.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/product-specification/components/product-specification-table-stucture.tsx?c1c4","webpack://Citta2.0/./src/modules/product-specification/product-specification.tsx?6583","webpack://Citta2.0/./src/modules/product-specification/product-specification.view.tsx?7490"],"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 { getRichTextHtml } from '@msdyn365-commerce/core';\nimport * as React from 'react';\n\n/**\n * Product specification table row.\n */\nexport interface IProductSpecificationTableRow {\n productName?: string;\n cellData?: React.ReactNode;\n className?: string;\n}\n\n/**\n * Product specification table row component.\n * @param props - For product specification table row.\n * @param props.productName - Product name.\n * @param props.cellData - Cell data.\n * @param props.className - Class name.\n * @returns - Returns JSX element.\n */\nexport const ProductSpecificationTableRow: React.FC = ({ productName, cellData, className }) => (\n \n \n {/* eslint-disable-next-line react/no-danger */}\n \n \n {cellData}\n \n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { AttributeValue } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { Drawer, IModuleProps, INodeProps, Module } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { reaction } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { validateCatalogId } from '@msdyn365-commerce-modules/retail-actions';\nimport { AttributesForSelectedVariantInput, getAttributesForSelectedVariant } from '../..';\nimport { ProductSpecificationTableRow } from './components/product-specification-table-stucture';\nimport { IProductSpecificationData } from './product-specification.data';\nimport { displayStyle, IProductSpecificationProps } from './product-specification.props.autogenerated';\n\n/**\n * Maintain Drawer State.\n */\nexport interface IProductSpecificationState {\n isDrawerOpen: boolean;\n isAdditionalMediaDrawerOpen: boolean;\n drawerListId: number | undefined;\n}\n\n/**\n * Product specification view props.\n */\nexport interface IProductSpecificationViewProps extends IProductSpecificationProps<{}> {\n ProductSpecification: IModuleProps;\n ProductSpecificationTableProps: INodeProps;\n ProductSpecificationTableBodyProps: INodeProps;\n productSpecificationResult?: (JSX.Element | null)[];\n\n title?: React.ReactNode;\n isAccrodion?: boolean;\n handleText?(event: Msdyn365.ContentEditableEvent): void;\n}\n\n/**\n * Check for display style either accordion or table.\n */\nexport interface IProductSpecificationExtentedProps extends IProductSpecificationProps {\n displayStyle?: displayStyle;\n}\n\n/**\n *\n * ProductSpecification component.\n * @extends {React.Component>}\n */\n@observer\nclass ProductSpecification extends React.Component {\n public constructor(props: IProductSpecificationExtentedProps) {\n super(props);\n this.state = {\n isDrawerOpen: false,\n isAdditionalMediaDrawerOpen: false,\n drawerListId: undefined\n };\n }\n\n public async componentDidMount(): Promise {\n const { context, data, telemetry } = this.props;\n const catalogId = Msdyn365.getCatalogId(this.props.context.request);\n validateCatalogId(catalogId);\n reaction(\n () => (data.product.result ? data.product.result.RecordId : null),\n () => {\n if (context && data.product.result) {\n const actionInput = new AttributesForSelectedVariantInput(\n data.product.result.RecordId,\n\n +context.actionContext.requestContext.apiSettings.channelId,\n data.product.result,\n catalogId\n );\n\n getAttributesForSelectedVariant(actionInput, this.props.context.actionContext).catch((error: Error) => {\n telemetry.error(error.message);\n telemetry.debug('Unable to update attributes for Product');\n telemetry.error(error.message);\n });\n }\n }\n );\n }\n\n public shouldComponentUpdate(nextProps: IProductSpecificationExtentedProps, nextState: IProductSpecificationState): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | null {\n let data: IProductSpecificationData;\n try {\n data = this.props.data;\n } catch (error) {\n this.props.telemetry.error(`Something went wrong ------${error}`);\n return
{error}
;\n }\n\n if (!data.productSpecificationData.result || data.productSpecificationData.result.length <= 0) {\n this.props.telemetry.error('Product specification content is empty, module wont render.');\n return null;\n }\n\n const { heading, className } = this.props.config;\n const { productSpecificationData } = this.props.data;\n const isAccrodion = this.props.config.displayStyle === displayStyle.accordion;\n const viewProps = {\n ...this.props,\n handleText: this.handleHeadingChange,\n ProductSpecification: {\n moduleProps: this.props,\n className: classnames('ms-product-specification', className)\n },\n ProductSpecificationTableProps: isAccrodion\n ? {\n moduleProps: this.props,\n className: classnames('ms-product-specification__accordion', className)\n }\n : {\n className: classnames('ms-product-specification__table table-striped table-bordered'),\n tag: 'table'\n },\n isAccrodion,\n ProductSpecificationTableBodyProps: isAccrodion\n ? {}\n : {\n className: '',\n tag: 'tbody'\n },\n title: heading?.text && (\n \n ),\n productSpecificationResult:\n productSpecificationData.result && (isAccrodion ? this._createDrawerBody(data) : this._createTableBody(data))\n } as IProductSpecificationViewProps;\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Handle Heading Text Change.\n * @param event - Current event.\n */\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n private _createTableBody(content: IProductSpecificationData): (JSX.Element | null)[] {\n const tableRows = content.productSpecificationData.result!.map((product, index) => {\n const cellData: JSX.Element | null = this._renderProductCell(product);\n\n if (!cellData) {\n return null;\n }\n\n return (\n <>\n \n \n );\n });\n\n if (this.props.context.request.app?.config?.OmniChannelMedia && this.props.data.additionalMediaLocations.result?.length) {\n tableRows.push(this._createAdditionalMediaDrawer());\n }\n\n return tableRows;\n }\n\n private _createDrawerBody(content: IProductSpecificationData): (JSX.Element | null)[] {\n const accordionItemContainer: IModuleProps = {\n moduleProps: this.props,\n className: 'ms-product-specification-title'\n };\n\n const drawers = content.productSpecificationData.result!.map(product => {\n const cellData: JSX.Element | null = this._renderProductCell(product);\n if (!cellData) {\n return null;\n }\n return (\n \n \n
{cellData}
\n \n
\n );\n });\n\n if (this.props.context.request.app?.config?.OmniChannelMedia && this.props.data.additionalMediaLocations.result?.length) {\n drawers.push(this._createAdditionalMediaDrawer());\n }\n\n return drawers;\n }\n private _createAdditionalMediaDrawer(): JSX.Element {\n const accordionItemContainer: IModuleProps = {\n moduleProps: this.props,\n className: 'ms-product-specification-title'\n };\n\n return (\n \n {\n this.setState(prevState => ({\n ...prevState,\n isAdditionalMediaDrawerOpen: !prevState.isAdditionalMediaDrawerOpen\n }));\n }}\n >\n
\n \n
\n \n
\n );\n }\n\n private readonly _toggle = (drawerListId: number | undefined) => (): void => {\n if (this.state.drawerListId !== drawerListId) {\n this.setState({ drawerListId, isDrawerOpen: true });\n } else {\n this.setState({ drawerListId: undefined, isDrawerOpen: false });\n }\n };\n\n private _renderProductCell(product: AttributeValue): JSX.Element | null {\n switch (product.DataTypeValue) {\n case 0: // None\n // Return span here instead of null so the row still shows\n return ;\n case 1: // Currency\n return this._renderCurrencyCell(product);\n case 2: // DateTime\n return this._renderDateTimeCell(product);\n case 3: // Decimal\n return this._renderDecimalCell(product);\n case 4: // Integer\n return this._renderIntegerCell(product);\n case 5: // Text\n return this._renderTextCell(product);\n case 6: // TrueFalse\n return this._renderTrueFalseCell(product);\n case 40: // Video\n this.props.telemetry.warning('Got video specification type, not supported yet so skipping line');\n return null;\n case 41: // Image\n this.props.telemetry.warning('Got image specification type, not supported yet so skipping line');\n return null;\n default:\n this.props.telemetry.warning(`Got unknown specification type ${product.DataTypeValue} so skipping line`);\n return null;\n }\n }\n\n private _renderCurrencyCell(product: AttributeValue): JSX.Element | null {\n if (product.CurrencyValue !== null && product.CurrencyValue !== undefined) {\n return (\n \n {product.CurrencyCode}\n {product.CurrencyValue}\n \n );\n }\n\n return null;\n }\n\n private _renderDateTimeCell(product: AttributeValue): JSX.Element | null {\n if (product.DateTimeOffsetValue?.toUTCString) {\n return {product.DateTimeOffsetValue.toUTCString()};\n }\n\n return null;\n }\n\n private _renderIntegerCell(product: AttributeValue): JSX.Element | null {\n if (product.IntegerValue !== null && product.IntegerValue !== undefined) {\n return {product.IntegerValue};\n }\n\n return null;\n }\n\n private _renderDecimalCell(product: AttributeValue): JSX.Element | null {\n if (product.FloatValue !== null && product.FloatValue !== undefined) {\n return {product.FloatValue};\n }\n\n return null;\n }\n\n private _renderTextCell(product: AttributeValue): JSX.Element | null {\n if (product.TextValue !== null && product.TextValue !== undefined) {\n // eslint-disable-next-line react/no-danger\n return ;\n }\n\n return null;\n }\n\n private _renderTrueFalseCell(product: AttributeValue): JSX.Element | null {\n // TODO 20369885 setting to default value is needed to work around a platform bug where\n // config string value does not get its default value.\n if (product.BooleanValue) {\n return {this.props.resources.trueValueText ? this.props.resources.trueValueText : 'Yes'};\n }\n return {this.props.resources.falseValueText ? this.props.resources.falseValueText : 'No'};\n }\n}\n\nexport default ProductSpecification;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ArrayExtensions, ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IProductSpecificationViewProps } from './product-specification';\n\nconst ProductSpecificationView: React.FC = props => {\n const { ProductSpecification, ProductSpecificationTableProps, ProductSpecificationTableBodyProps, productSpecificationResult } = props;\n const rowdata =\n productSpecificationResult &&\n ArrayExtensions.hasElements(productSpecificationResult) &&\n productSpecificationResult.filter(row => !ObjectExtensions.isNullOrUndefined(row));\n\n return rowdata && ArrayExtensions.hasElements(rowdata) ? (\n \n {props.title}\n \n {rowdata}\n \n \n ) : null;\n};\n\nexport default ProductSpecificationView;\n"],"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","ProductSpecificationTableRow","productName","cellData","scope","dangerouslySetInnerHTML","getRichTextHtml","ProductSpecification","handleHeadingChange","event","drawerListId","isDrawerOpen","isAdditionalMediaDrawerOpen","catalogId","Msdyn365","validateCatalogId","reaction","RecordId","actionInput","AttributesForSelectedVariantInput","requestContext","channelId","getAttributesForSelectedVariant","debug","shouldComponentUpdate","nextProps","nextState","_heading$tag","productSpecificationData","isAccrodion","displayStyle","handleText","ProductSpecificationTableProps","ProductSpecificationTableBodyProps","editProps","onEdit","productSpecificationResult","_createDrawerBody","_createTableBody","_this$props$context$r","_this$props$data$addi","tableRows","_renderProductCell","app","OmniChannelMedia","additionalMediaLocations","_createAdditionalMediaDrawer","_this$props$context$r2","_this$props$data$addi2","accordionItemContainer","drawers","_product$Name","timeout","additionalDownloadsText","mediaLocation","Uri","href","download","AltText","DataTypeValue","_renderCurrencyCell","_renderDateTimeCell","_renderDecimalCell","_renderIntegerCell","_renderTextCell","_renderTrueFalseCell","warning","CurrencyValue","CurrencyCode","_product$DateTimeOffs","DateTimeOffsetValue","toUTCString","IntegerValue","FloatValue","BooleanValue","trueValueText","falseValueText","rowdata","ArrayExtensions","hasElements","filter","row","ObjectExtensions","isNullOrUndefined"],"sourceRoot":""}