{"version":3,"file":"static/js/11.ac0895162da491fc801c.chunk.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/modules/dyn-d365-marketing/dyn-d365-marketing.tsx?2efc","webpack://Msdyn365.Commerce.Online/./src/modules/dyn-d365-marketing/dyn-d365-marketing.view.tsx?0dff","webpack://Msdyn365.Commerce.Online/./src/modules/dyn-site-picker/dyn-site-picker.tsx?59e2","webpack://Msdyn365.Commerce.Online/./src/modules/dyn-site-picker/dyn-site-picker.view.tsx?54e3","webpack://Msdyn365.Commerce.Online/./src/modules/punchout-access/punchout-access.tsx?b715","webpack://Msdyn365.Commerce.Online/./src/modules/punchout-access/punchout-access.view.tsx?3cd9","webpack://Msdyn365.Commerce.Online/./src/themes/dyn-tebutheme/views/checkout.view.tsx?7b2d","webpack://Msdyn365.Commerce.Online/./src/themes/dyn-tebutheme/views/reviews-list.view.tsx?4bef","webpack://Msdyn365.Commerce.Online/./src/modules/cookie-compliance/components/accept-button.tsx?8e73","webpack://Msdyn365.Commerce.Online/./src/modules/cookie-compliance/components/links.tsx?97b8","webpack://Msdyn365.Commerce.Online/./src/modules/cookie-compliance/cookie-compliance.tsx?02ac","webpack://Msdyn365.Commerce.Online/./src/modules/cookie-compliance/cookie-compliance.view.tsx?a33f","webpack://Msdyn365.Commerce.Online/./src/modules/fabrikam/views/order-details.view.tsx?1ce1","webpack://Msdyn365.Commerce.Online/./src/modules/iframe/iframe.tsx?65fe","webpack://Msdyn365.Commerce.Online/./src/modules/iframe/iframe.view.tsx?a7d6","webpack://Msdyn365.Commerce.Online/./src/modules/product-comparison-button/product-comparison-button.tsx?9384","webpack://Msdyn365.Commerce.Online/./src/modules/product-comparison-button/product-comparison-button.view.tsx?94a7","webpack://Msdyn365.Commerce.Online/./src/modules/spacer/spacer.tsx?7565","webpack://Msdyn365.Commerce.Online/./src/modules/spacer/spacer.view.tsx?1f15"],"sourcesContent":["/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\n\r\nimport { IDynD365MarketingData } from './dyn-d365-marketing.data';\r\nimport { IDynD365MarketingProps } from './dyn-d365-marketing.props.autogenerated';\r\n\r\nexport interface IDynD365MarketingViewProps extends IDynD365MarketingProps {}\r\n\r\n/**\r\n *\r\n * DynD365Marketing component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass DynD365Marketing extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n return this.props.renderView(this.props);\r\n }\r\n}\r\n\r\nexport default DynD365Marketing;\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 { IDynD365MarketingViewProps } from './dyn-d365-marketing';\r\n\r\nexport const useScriptD365 = (props: IDynD365MarketingViewProps, position: string) => {\r\n React.useEffect(() => {\r\n const placement: Element | null = document.querySelector(position);\r\n\r\n const primaryDiv: HTMLDivElement = document.createElement('div');\r\n primaryDiv.id = props.config.primaryDivId;\r\n\r\n const script: HTMLScriptElement = document.createElement('script');\r\n script.src = props.config.scriptUrl;\r\n\r\n const secondaryDiv: HTMLDivElement = document.createElement('div');\r\n secondaryDiv.className = props.config.class;\r\n secondaryDiv.setAttribute('data-website-id', props.config.dataWebsiteId);\r\n secondaryDiv.setAttribute('data-hostname', props.config.dataHostname);\r\n\r\n placement?.appendChild(primaryDiv);\r\n placement?.appendChild(script);\r\n placement?.appendChild(secondaryDiv);\r\n\r\n return () => {\r\n placement?.removeChild(primaryDiv);\r\n placement?.removeChild(script);\r\n placement?.removeChild(secondaryDiv);\r\n };\r\n });\r\n};\r\n\r\nexport default (props: IDynD365MarketingViewProps) => {\r\n return <>{props.config.scriptUrl && useScriptD365(props, 'body')};\r\n};\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport MsDyn365, { IImageSettings, Image } from '@msdyn365-commerce/core';\r\nimport { addThrottledEvent, Drawer, IModuleProps, INodeProps, KeyCodes, NodeTag } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport { computed, observable } from 'mobx';\r\nimport React from 'react';\r\n\r\nimport { IDynSitePickerConfig, IDynSitePickerProps, ISiteOptionsData } from './dyn-site-picker.props.autogenerated';\r\n\r\nexport interface ISitePickerViewProps extends IDynSitePickerProps {\r\n SitePicker: IModuleProps;\r\n SitePickerMenu: INodeProps;\r\n SitePickerMenuSpan: INodeProps;\r\n SitePickerMenuList: INodeProps;\r\n SitePickerMenuListItem: INodeProps;\r\n SitePickerMenuListItemArray: React.ReactNode[] | undefined;\r\n siteOptionsState: boolean;\r\n SitePickerMobileContainer: INodeProps;\r\n isMobileView: boolean;\r\n renderSiteOptions(): void;\r\n resetSiteOptionsState(): void;\r\n}\r\n\r\nexport type GridSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\r\n\r\ninterface ISitePickerState {\r\n expandSiteOptions: boolean;\r\n isMobile: boolean;\r\n}\r\n\r\n/**\r\n *\r\n * SitePicker component.\r\n * @extends {React.PureComponent>}\r\n */\r\nclass SitePicker extends React.PureComponent, ISitePickerState> {\r\n private readonly _cookieName: string = '_msdyn365___site_';\r\n\r\n private readonly _cookieExpirationInSeconds: number = 5_184_000;\r\n\r\n private readonly _sitePickerMenuNode: React.RefObject;\r\n\r\n private readonly _sitePickerMenuButton: React.RefObject;\r\n\r\n private resizeThrottledEventHandler?: (event: Event) => void;\r\n\r\n @observable\r\n private viewport: GridSize;\r\n\r\n public constructor(props: ISitePickerViewProps) {\r\n super(props);\r\n this._handleChange = this._handleChange.bind(this);\r\n this._sitePickerMenuNode = React.createRef();\r\n this._sitePickerMenuButton = React.createRef();\r\n this._renderSiteOptions = this._renderSiteOptions.bind(this);\r\n this._resetSiteOptionsState = this._resetSiteOptionsState.bind(this);\r\n this._escFunction = this._escFunction.bind(this);\r\n this._handleOutsideClick = this._handleOutsideClick.bind(this);\r\n this._updateViewport = this._updateViewport.bind(this);\r\n this.viewport =\r\n props.context.request && props.context.request.device && props.context.request.device.Type === 'Mobile' ? 'xs' : 'lg';\r\n this.state = {\r\n expandSiteOptions: false,\r\n isMobile: this.isMobile\r\n };\r\n }\r\n\r\n @computed get isMobile(): boolean {\r\n return this.viewport === 'xs' || this.viewport === 'sm';\r\n }\r\n\r\n public componentDidMount(): void {\r\n if (MsDyn365.isBrowser) {\r\n document?.addEventListener('keydown', (this._escFunction as unknown) as EventListener, false);\r\n document?.body?.addEventListener('mousedown', this._handleOutsideClick);\r\n this.resizeThrottledEventHandler = window && addThrottledEvent(window, 'resize', this._updateViewport as EventListener);\r\n this._updateViewport();\r\n }\r\n }\r\n\r\n public componentWillUnmount(): void {\r\n if (MsDyn365.isBrowser) {\r\n document?.removeEventListener('keydown', (this._escFunction as unknown) as EventListener, false);\r\n document?.body?.removeEventListener('mousedown', this._handleOutsideClick, false);\r\n window && window.removeEventListener('resize', this.resizeThrottledEventHandler!, false);\r\n }\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const viewProps: ISitePickerViewProps = {\r\n ...(this.props as IDynSitePickerProps),\r\n SitePicker: {\r\n moduleProps: this.props,\r\n className: classnames('ms-site-picker', this.props.config.className, this.state.isMobile ? 'mobile-view' : 'desktop-view'),\r\n tag: 'div'\r\n },\r\n SitePickerMenu: {\r\n tag: 'button' as NodeTag,\r\n className: 'ms-site-picker__button',\r\n 'aria-label': this.props.config.heading?.text,\r\n 'aria-expanded': this.state.expandSiteOptions,\r\n onClick: this.props,\r\n ref: this._sitePickerMenuButton\r\n },\r\n SitePickerMenuSpan: {\r\n className: 'ms-site-picker__span',\r\n tag: 'span'\r\n },\r\n SitePickerMenuList: {\r\n className: 'ms-site-picker__list',\r\n role: 'menu',\r\n tag: 'ul',\r\n ref: this._sitePickerMenuNode\r\n },\r\n SitePickerMenuListItem: {\r\n className: 'ms-site-picker__list__item',\r\n role: 'presentation',\r\n tag: 'li'\r\n },\r\n SitePickerMobileContainer: {\r\n tag: Drawer,\r\n className: 'ms-site-picker__drawer',\r\n toggleButtonText: this.props.config.heading?.text,\r\n openGlyph: 'ms-site-picker__drawer-open',\r\n closeGlyph: 'ms-site-picker__drawer-close',\r\n glyphPlacement: 'end'\r\n },\r\n isMobileView: this.state.isMobile,\r\n SitePickerMenuListItemArray: this._renderSitePickerImage(),\r\n renderSiteOptions: this._renderSiteOptions,\r\n resetSiteOptionsState: this._resetSiteOptionsState,\r\n siteOptionsState: this.state.expandSiteOptions\r\n };\r\n return this.props.renderView(viewProps);\r\n }\r\n\r\n private _renderSiteOptions(): void {\r\n const expandSiteOptionsState = this.state.expandSiteOptions;\r\n this.setState({\r\n expandSiteOptions: !expandSiteOptionsState\r\n });\r\n }\r\n\r\n private _resetSiteOptionsState(): void {\r\n this.setState({\r\n expandSiteOptions: false\r\n });\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n private readonly _escFunction = (event: any) => {\r\n const key = event.keyCode;\r\n if (this.state.expandSiteOptions) {\r\n switch (key) {\r\n case KeyCodes.Escape: {\r\n setTimeout(() => {\r\n const nextFocus = document && document.activeElement;\r\n if (\r\n this._sitePickerMenuButton?.current?.contains(nextFocus) ||\r\n this._sitePickerMenuNode?.current?.contains(nextFocus)\r\n ) {\r\n this._resetSiteOptionsState();\r\n this._sitePickerMenuButton?.current?.focus();\r\n }\r\n }, 50);\r\n break;\r\n }\r\n case KeyCodes.Tab: {\r\n setTimeout(() => {\r\n const nextFocus = document && document.activeElement;\r\n if (\r\n !this._sitePickerMenuButton?.current?.contains(nextFocus) &&\r\n !this._sitePickerMenuNode?.current?.contains(nextFocus)\r\n ) {\r\n this._resetSiteOptionsState();\r\n }\r\n }, 50);\r\n break;\r\n }\r\n default:\r\n return;\r\n }\r\n }\r\n };\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n private readonly _handleOutsideClick = (event: any) => {\r\n if (\r\n (this._sitePickerMenuButton.current?.contains(event.target) && this.state.expandSiteOptions) ||\r\n (this._sitePickerMenuNode.current?.contains(event.target) && this.state.expandSiteOptions)\r\n ) {\r\n return;\r\n }\r\n this._resetSiteOptionsState();\r\n };\r\n // Dyn : item object parameter added\r\n private _handleChange(item: ISiteOptionsData, warningMessage: string, e: React.MouseEvent): void {\r\n e.preventDefault();\r\n if (e.currentTarget.href && e.currentTarget.href.length > 0 && window) {\r\n if (this.props.context.request.cookies.isConsentGiven()) {\r\n const cookieConfig = { maxAge: this._cookieExpirationInSeconds };\r\n this.props.context.request.cookies.set(this._cookieName, e.currentTarget.href, cookieConfig);\r\n }\r\n if (item.countryDependency && item.countryDependency !== '') {\r\n alert(`${warningMessage} ${item.countryDependency}`);\r\n }\r\n window.location.assign(e.currentTarget.href);\r\n }\r\n }\r\n\r\n private _renderSitePickerImage(): React.ReactNode[] | undefined {\r\n const defaultImageSettings: IImageSettings = {\r\n viewports: {\r\n xs: { q: 'w=50&h=25&m=6', w: 0, h: 0 },\r\n sm: { q: 'w=50&h=25&m=6', w: 0, h: 0 },\r\n md: { q: 'w=40&h=20&m=6', w: 0, h: 0 },\r\n lg: { q: 'w=40&h=20&m=6', w: 0, h: 0 },\r\n xl: { q: 'w=40&h=20&m=6', w: 0, h: 0 }\r\n },\r\n lazyload: true\r\n };\r\n const siteOptions = this.props.config.siteOptions && this.props.config.siteOptions;\r\n return (\r\n siteOptions &&\r\n siteOptions.map((item, index) => {\r\n const image = item?.siteImage;\r\n const imageProps = {\r\n gridSettings: this.props.context.request.gridSettings!,\r\n imageSettings: image?.imageSettings?.viewports ? image.imageSettings : defaultImageSettings\r\n };\r\n return (\r\n this._handleChange(item, this.props.config.warningMessage || '', e)} // Dyn : item parameter added with arrow function\r\n role='menuitem'\r\n >\r\n {item?.siteName}\r\n \r\n \r\n );\r\n })\r\n );\r\n }\r\n\r\n private _updateViewport(): void {\r\n this.viewport = this._getViewport();\r\n this.setState({ isMobile: this.isMobile });\r\n }\r\n\r\n private _getViewport(): GridSize {\r\n const { context } = this.props;\r\n if (context.request && context.request.device && context.request.device.Type === 'Mobile') {\r\n return 'xs';\r\n }\r\n\r\n if (typeof window !== undefined && window.innerWidth) {\r\n const gridSettings = context.request.gridSettings;\r\n if (gridSettings) {\r\n if (gridSettings.xs && window.innerWidth <= gridSettings.xs.w) {\r\n return 'xs';\r\n } else if (gridSettings.sm && window.innerWidth <= gridSettings.sm.w) {\r\n return 'sm';\r\n } else if (gridSettings.md && window.innerWidth <= gridSettings.md.w) {\r\n return 'md';\r\n } else if (gridSettings.lg && window.innerWidth <= gridSettings.lg.w) {\r\n return 'lg';\r\n }\r\n return 'xl';\r\n }\r\n }\r\n return 'xs';\r\n }\r\n}\r\n\r\nexport default SitePicker;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { ISitePickerViewProps } from './dyn-site-picker';\r\n\r\nexport default (props: ISitePickerViewProps) => {\r\n return <>{_renderSitePicker(props)};\r\n};\r\n\r\nconst _renderDesktopView = (props: ISitePickerViewProps) => {\r\n const { SitePickerMenu, SitePickerMenuSpan } = props;\r\n return (\r\n <>\r\n \r\n {props.config.heading?.text}\r\n \r\n \r\n {props.siteOptionsState ? _renderSiteOptionsList(props) : null}\r\n \r\n );\r\n};\r\n\r\nconst _renderSiteOptionsList = (props: ISitePickerViewProps): React.ReactNode => {\r\n const { SitePickerMenuList, SitePickerMenuListItem, SitePickerMenuListItemArray } = props;\r\n const options = SitePickerMenuListItemArray!.map((item, index) => {\r\n return (\r\n \r\n {item}\r\n \r\n );\r\n });\r\n return (\r\n \r\n {options}\r\n \r\n );\r\n};\r\n\r\nconst _renderMobileView = (props: ISitePickerViewProps): React.ReactNode => {\r\n const { SitePickerMobileContainer } = props;\r\n return (\r\n \r\n
\r\n {props.SitePickerMenuListItemArray?.map((item, index) => {\r\n return
{item}
;\r\n })}\r\n
\r\n
\r\n );\r\n};\r\n\r\nconst _renderSitePicker = (props: ISitePickerViewProps): React.ReactNode => {\r\n const { isMobileView, SitePicker } = props;\r\n return {isMobileView ? _renderMobileView(props) : _renderDesktopView(props)};\r\n};\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\n\r\nimport { IPunchoutAccessData } from './punchout-access.data';\r\nimport { IPunchoutAccessProps } from './punchout-access.props.autogenerated';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\n//import qs from 'querystring';\r\n\r\n//import emptyActiveCart from './methods/empty-active-cart';\r\n\r\nexport interface IPunchoutAccessViewProps extends IPunchoutAccessProps {\r\n state: IPunchoutAccessState;\r\n}\r\n\r\nexport interface IPunchoutAccessState {\r\n isConnecting: boolean;\r\n hasFailed: boolean;\r\n}\r\n\r\n/**\r\n *\r\n * PunchoutAccess component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass PunchoutAccess extends React.PureComponent> {\r\n // private readonly readQueryStrings = (): string[] => {\r\n // const requestContext = this.props.context.request;\r\n\r\n // const query = requestContext.query;\r\n // var username: string = query?.username || '';\r\n // var password: string = query?.password || '';\r\n // var hookUrl: string = query?.hookUrl || '';\r\n\r\n // return [username, password, hookUrl];\r\n // };\r\n\r\n constructor(props: IPunchoutAccessProps) {\r\n super(props);\r\n this.state = {\r\n isConnecting: true,\r\n hasFailed: false\r\n };\r\n }\r\n\r\n // Get the credentials from the body of the POST request\r\n private readonly readQueryFormData = (): string[] => {\r\n const requestContext = this.props.context.request;\r\n\r\n const formData = requestContext.requestFormData;\r\n var username: string = formData?.USERNAME || '';\r\n var password: string = formData?.PASSWORD || '';\r\n var hookUrl: string = formData?.HOOK_URL || '';\r\n var accountNum: string = this.props.context.request.query?.accountnum ?? formData?.ACCOUNTNUM ?? '';\r\n\r\n window.sessionStorage.setItem('protocol', 'OCI');\r\n window.sessionStorage.setItem('hookUrl', hookUrl);\r\n window.sessionStorage.setItem('accountNum', accountNum);\r\n\r\n return [username, password, hookUrl];\r\n };\r\n\r\n public async componentDidMount(): Promise {\r\n //debugger;\r\n // Reset of the isPunchoutAccess flag used by the punchout-empty-cart module on the punchout home page\r\n window.sessionStorage.removeItem('isPunchoutAccess');\r\n\r\n const [username, password, hookUrl] = this.readQueryFormData();\r\n const homeLink = Msdyn365.getUrlSync('home', this.props.context.actionContext) || '';\r\n const country = this.props.context.request.sitePath?.replace('/po-', ''); // type '/po-fr-eur'\r\n\r\n // Get B2C Token\r\n let B2CToken = '';\r\n const webApiUrl = `${this.props.config.urlAzureFn}${this.props.config.keyAzureFn}`;\r\n //'https://punchoutcommerce.azurewebsites.net/api/punchout/v1/login?code=Cs3uVrX5WnMmrdR0vmnaLi6gDDHVS8gIPizAEWQSoydpkqCQFaLGlQ==';\r\n\r\n const webApiBody = {\r\n Localization: country, //'fr-EUR',\r\n Format: 'OCI',\r\n username: username,\r\n password: password,\r\n hookUrl: hookUrl //,\r\n //buyerCookie: '550bce3e592023b2e7b015307f965133' // nobuyercookie for OCI\r\n };\r\n\r\n try {\r\n // Get the AAD B2C Token\r\n fetch(webApiUrl, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(webApiBody)\r\n })\r\n .then(response => {\r\n response.json().then(json => {\r\n try {\r\n B2CToken = json.token.access_token;\r\n // Get the Commerce session cookie\r\n fetch(homeLink, {\r\n method: 'GET',\r\n mode: 'same-origin',\r\n credentials: 'same-origin',\r\n headers: {\r\n Authorization: `B2CToken ${B2CToken}`\r\n }\r\n })\r\n .then(response => {\r\n //response.text().then(resp => console.log(resp));\r\n\r\n // Set punchout access flag in sessionStorage\r\n window.sessionStorage.setItem('isPunchout', '1');\r\n // Save protocol, hookUrl and buyercookie to sessionStorage, as they are used later when validating the purchase (place-orders)\r\n window.sessionStorage.setItem('hookUrl', webApiBody.hookUrl);\r\n window.sessionStorage.setItem('protocol', webApiBody.Format);\r\n // We set the isPunchoutAccess so that the punchout-empty-cart module can take action on the punchout home page\r\n window.sessionStorage.setItem('isPunchoutAccess', '1');\r\n //window.sessionStorage.setItem('buyerCookie', webApiBody.buyerCookie); // No buyercookie for OCI\r\n\r\n // We empty the cart each time this page is accessed for a new punchout session\r\n //emptyActiveCart(this.props.context.actionContext);\r\n\r\n // Redirect to the Homepage\r\n this.setState({\r\n isConnecting: false,\r\n hasFailed: false\r\n });\r\n window.location.assign(homeLink);\r\n })\r\n .catch(error => {\r\n console.error('There was an error!', error);\r\n this.setState({\r\n isConnecting: false,\r\n hasFailed: true\r\n });\r\n });\r\n } catch (error) {\r\n console.log(error);\r\n this.setState({\r\n isConnecting: false,\r\n hasFailed: true\r\n });\r\n }\r\n });\r\n })\r\n .catch(error => {\r\n console.error('There was an error!', error);\r\n this.setState({\r\n isConnecting: false,\r\n hasFailed: true\r\n });\r\n });\r\n } catch (error) {\r\n console.log(error);\r\n this.setState({\r\n isConnecting: false,\r\n hasFailed: true\r\n });\r\n }\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const punchoutAccessViewProps = {\r\n ...this.props,\r\n state: this.state\r\n };\r\n return this.props.renderView(punchoutAccessViewProps);\r\n }\r\n}\r\n\r\nexport default PunchoutAccess;\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 { IPunchoutAccessViewProps } from './punchout-access';\r\n\r\nexport default (viewProps: IPunchoutAccessViewProps) => {\r\n return (\r\n
\r\n

{viewProps.config.showText}

\r\n {viewProps.state.isConnecting ? (\r\n

\r\n \r\n Connecting\r\n

\r\n ) : (\r\n ''\r\n )}\r\n {viewProps.state.hasFailed ?
Connection failed : please review your credentials
: ''}\r\n
\r\n );\r\n};\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport { Module, Node, Waiting } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport {\r\n ICheckoutViewProps,\r\n ILineItem,\r\n ILineItemDeliveryGroup,\r\n ILineItems,\r\n IOrderSummary,\r\n IPickUpAtStore\r\n} from '@msdyn365-commerce-modules/checkout/src/modules/checkout/./checkout';\r\nimport { IEmailDelivery } from '@msdyn365-commerce-modules/checkout/src/modules/checkout/./components';\r\nimport { IInvoicePaymentSummary } from '@msdyn365-commerce-modules/checkout/src/modules/checkout/./components/get-invoice-payment-summary';\r\n\r\nexport const PickUpAtStoreComponent: React.FC = ({ PickUpAtStore, label, location }) => (\r\n \r\n {label}\r\n {location}\r\n \r\n);\r\n\r\nexport const EmailDeliveryComponent: React.FC = ({ EmailDelivery, label }) => {label};\r\n\r\nexport const LineItemComponent: React.FC = ({ LineItem, item, pickUpAtStore, emailDelivery }) => (\r\n \r\n {item}\r\n {pickUpAtStore && }\r\n {emailDelivery && }\r\n \r\n);\r\n\r\nexport const LineItemGroupComponent: React.FC = ({ LineItemDeliveryGroup, LineItemList, heading, lineItems }) => (\r\n \r\n {heading}\r\n \r\n {lineItems.map(lineItem => (\r\n \r\n ))}\r\n \r\n \r\n);\r\n\r\nexport const LineItemGroupComponentWithMultiplePickUp: React.FC = ({\r\n LineItemDeliveryGroup,\r\n LineItemList,\r\n heading,\r\n lineItems,\r\n lineItemWraper,\r\n lineItemWraperIcon\r\n}) => (\r\n \r\n {lineItemWraperIcon}\r\n {lineItemWraper}\r\n {heading}\r\n \r\n {lineItems.map(lineItem => (\r\n \r\n ))}\r\n \r\n \r\n);\r\n\r\nexport const LineItemComponentWithMultiplePickUp: React.FC = ({ LineItem, item, pickUpAtStore, emailDelivery }) => (\r\n \r\n {item}\r\n {emailDelivery && }\r\n \r\n);\r\n\r\nexport const PickUpAtStoreComponentWithMultiplePickUp: React.FC = ({ PickUpAtStore, label, location }) => (\r\n \r\n {label}\r\n {location}\r\n \r\n);\r\n\r\nexport const LineItemsComponent: React.FC = ({\r\n LineItems,\r\n Header,\r\n heading,\r\n editLink,\r\n itemsForPickup,\r\n itemsForShip,\r\n itemsForEmail,\r\n itemsGroupWithMulitplePickupMode\r\n}) => (\r\n \r\n \r\n {heading}\r\n {editLink}\r\n \r\n {itemsGroupWithMulitplePickupMode === undefined && itemsForPickup && }\r\n {itemsGroupWithMulitplePickupMode === undefined && itemsForEmail && }\r\n {itemsGroupWithMulitplePickupMode === undefined && itemsForShip && }\r\n {itemsGroupWithMulitplePickupMode !== undefined\r\n ? itemsGroupWithMulitplePickupMode.map((item, index) => {\r\n return ;\r\n })\r\n : null}\r\n \r\n);\r\n\r\nconst OrderSummaryComponent: React.FC = ({ heading, lines }) => (\r\n
\r\n {heading}\r\n
\r\n {lines && (\r\n <>\r\n {lines.subtotal}\r\n {lines.shipping}\r\n {lines.otherCharge}\r\n {lines.tax}\r\n {lines.totalDiscounts}\r\n {lines.loyalty}\r\n {lines.giftCard}\r\n {lines.orderTotal}\r\n \r\n )}\r\n
\r\n
\r\n);\r\n\r\nconst PaymentSummaryComponent: React.FC = ({ heading, lines }) => (\r\n
\r\n {heading}\r\n
\r\n {lines && (\r\n <>\r\n {lines.invoices}\r\n {lines.giftCard}\r\n {lines.loyalty}\r\n {lines.orderTotal}\r\n \r\n )}\r\n
\r\n
\r\n);\r\n\r\nconst CheckoutView: React.FC = props => {\r\n const {\r\n isPaymentVerificationRedirection,\r\n shouldEnableSinglePaymentAuthorizationCheckout,\r\n canShow,\r\n checkoutProps,\r\n headerProps,\r\n hasSalesOrder,\r\n hasInvoiceLine,\r\n bodyProps,\r\n mainProps,\r\n mainControlProps,\r\n sideProps,\r\n sideControlFirstProps,\r\n sideControlSecondProps,\r\n termsAndConditionsProps,\r\n orderConfirmation,\r\n loading,\r\n alert,\r\n title,\r\n guidedForm,\r\n orderSummary,\r\n invoicePaymentSummary,\r\n lineItems,\r\n placeOrderButton,\r\n termsAndConditions,\r\n keepShoppingButton\r\n } = props;\r\n\r\n return (\r\n \r\n {!hasSalesOrder && {title}}\r\n {!hasSalesOrder && isPaymentVerificationRedirection && shouldEnableSinglePaymentAuthorizationCheckout && !alert && !loading && (\r\n \r\n )}\r\n {!hasSalesOrder && (\r\n \r\n {loading}\r\n {alert}\r\n {canShow && (\r\n <>\r\n \r\n {guidedForm}\r\n {termsAndConditions}\r\n \r\n {placeOrderButton}\r\n {keepShoppingButton}\r\n \r\n \r\n \r\n
\r\n {keepShoppingButton}\r\n
\r\n {lineItems && }\r\n {!hasInvoiceLine\r\n ? orderSummary && \r\n : invoicePaymentSummary && }\r\n \r\n {termsAndConditions}\r\n {placeOrderButton}\r\n {/* {keepShoppingButton} */}\r\n window.print()}>\r\n Print quotation\r\n \r\n \r\n \r\n {termsAndConditions}\r\n {placeOrderButton}\r\n {/* {keepShoppingButton} */}\r\n \r\n
\r\n \r\n )}\r\n
\r\n )}\r\n {hasSalesOrder && orderConfirmation}\r\n
\r\n );\r\n};\r\n\r\nexport default CheckoutView;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { IReviewModalViewProps } from '@msdyn365-commerce-modules/ratings-reviews';\r\nimport { IReportReviewModalViewProps, IReviewCardViewProps, IReviewsListState, IReviewsListViewProps } from '@msdyn365-commerce-modules/ratings-reviews/src/modules/reviews-list';\r\nimport { IModuleProps, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nconst ReviewsListview: React.FC = props => {\r\n const {\r\n averageRating,\r\n filterByDropdown,\r\n moduleProps,\r\n noReviewsMessage,\r\n noReviewsWithFilterMessage,\r\n pageControls,\r\n refineReviewsProps,\r\n reportReviewModal,\r\n reviewsListProps,\r\n reviewCards,\r\n reviewCount,\r\n reviewModal,\r\n sortByDropdown,\r\n state,\r\n userReview\r\n } = props;\r\n\r\n if (!userReview && reviewCards.length === 0 && !state.isFilterApplied) {\r\n return (\r\n {noReviewsMessage}\r\n );\r\n }\r\n\r\n return (\r\n \r\n {averageRating}\r\n {reviewCount}\r\n \r\n {sortByDropdown}\r\n {filterByDropdown}\r\n \r\n \r\n {userReview && buildReviewCard(userReview)}\r\n {reviewCards.map(review => {\r\n return buildReviewCard(review);\r\n })}\r\n \r\n { reviewCards.length === 0 && state.isFilterApplied && noReviewsWithFilterMessage}\r\n {pageControls}\r\n {createReviewModal(reviewModal, moduleProps)}\r\n {createReportModal(reportReviewModal, state)}\r\n \r\n );\r\n};\r\n\r\nconst buildReviewCard = (props: IReviewCardViewProps) => {\r\n return (\r\n \r\n \r\n {props.rating}\r\n {props.name}\r\n {props.date}\r\n \r\n \r\n \r\n {props.reviewTitle}\r\n {props.reviewText}\r\n \r\n \r\n {props.responseName}\r\n {props.responseDate}\r\n {props.responseText}\r\n \r\n \r\n {props.ratingHelpfulLabel}\r\n {props.like}\r\n {props.dislike}\r\n {props.edit}\r\n {props.report}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst createReviewModal = (props: IReviewModalViewProps, moduleProps: IModuleProps): JSX.Element => {\r\n return (\r\n \r\n {props.modalHeader}\r\n \r\n \r\n \r\n {props.rating}\r\n {props.ratingLabel}\r\n \r\n \r\n {props.titleLabel}\r\n {props.titleInput}\r\n \r\n \r\n {props.textLabel}\r\n {props.textInput}\r\n \r\n {props.privacyPolicyUrl}\r\n {props.error}\r\n \r\n \r\n \r\n {props.submitButton}\r\n {props.cancelButton}\r\n \r\n \r\n );\r\n};\r\n\r\nconst createReportModal = (props: IReportReviewModalViewProps, state: IReviewsListState): JSX.Element => {\r\n return (\r\n \r\n \r\n {state.reported ? props.headerSubmitted : props.header}\r\n \r\n \r\n {state.reported ? props.reportSubmittedMessage : [props.reportMessage, props.radioButtons, props.error]}\r\n \r\n \r\n {state.reported ? props.succesfulButton : [props.submitButton, props.cancelButton]}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ReviewsListview;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getPayloadObject, getTelemetryAttributes, IPayLoad, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface ICookieComplianceAcceptButton {\n acceptCookiesButtonText?: string;\n acceptCookiesButtonAriaLabel?: string;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onClose(): void;\n}\n\nexport const CookieComplianceAcceptButton: React.FC = ({\n acceptCookiesButtonText,\n acceptCookiesButtonAriaLabel,\n telemetryContent,\n onClose\n}) => {\n const payLoad: IPayLoad = getPayloadObject('click', telemetryContent!, 'accept cookies');\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n\n return (\n \n {acceptCookiesButtonText}\n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IActionLinksData } from '../cookie-compliance.props.autogenerated';\n\nexport interface ICookieComplianceLinks {\n links: IActionLinksData[];\n requestContext: Msdyn365.IRequestContext;\n telemetryContent: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\n/**\n *\n * ContentCardLinks component.\n * @extends {React.PureComponent}\n */\nexport class CookieComplianceLinks extends React.PureComponent {\n public render(): JSX.Element {\n const editableLinks = this._mapEditableLinks(this.props.links);\n return (\n \n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n \n );\n }\n\n private readonly _mapEditableLinks = (linkdata: IActionLinksData[]): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n linkdata.forEach((link, index) => {\n // Construct telemetry attribute to render\n const payLoad = getPayloadObject('click', this.props.telemetryContent, '', '');\n const linkText = link.linkText ? link.linkText : '';\n payLoad.contentAction.etext = linkText;\n const attributes = getTelemetryAttributes(this.props.telemetryContent, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes,\n onClick: onTelemetryClick(this.props.telemetryContent, payLoad, linkText)\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n };\n}\n\nexport default CookieComplianceLinks;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as MsDyn365 from '@msdyn365-commerce/core';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IAlertProps, IModuleProps, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { CookieComplianceAcceptButton, CookieComplianceLinks } from './components';\nimport { ICookieComplianceConfig, ICookieComplianceProps } from './cookie-compliance.props.autogenerated';\n\n/**\n * Alert state interface.\n */\nexport interface IAlertState {\n visible: boolean;\n}\n\n/**\n * Cookie compliance view props interface.\n */\nexport interface ICookieComplianceViewProps extends ICookieComplianceProps<{}> {\n CookieComplianceBanner: IModuleProps;\n AlertProps: IAlertProps;\n Content: INodeProps;\n text?: React.ReactNode;\n links?: React.ReactNode;\n acceptButton?: React.ReactNode;\n className: string;\n onDismiss(): void;\n}\n\n/**\n *\n * CookieCompliance component.\n * @extends {React.PureComponent>}\n */\nclass CookieCompliance extends React.PureComponent, IAlertState> {\n private readonly cookieRef: React.RefObject;\n\n private readonly telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n public constructor(props: ICookieComplianceProps) {\n super(props);\n this.state = { visible: false };\n this.cookieRef = React.createRef();\n this._onDismiss = this._onDismiss.bind(this);\n }\n\n public componentDidMount(): void {\n const { context } = this.props;\n\n if (context && context.request && context.request.cookies && !context.request.cookies.isConsentGiven()) {\n this.setState({ visible: true });\n }\n }\n\n public render(): JSX.Element | null {\n const { config, context, resources, telemetry } = this.props;\n const { acceptCookiesButtonText, acceptCookiesAriaLabel } = resources;\n const { visible } = this.state;\n\n const isConsentGiven = context && context.request && context.request.cookies && context.request.cookies.isConsentGiven();\n let moduleConfig: ICookieComplianceConfig;\n\n try {\n moduleConfig = config;\n } catch (error) {\n telemetry.error(`Something went wrong while rendering the alert module ------${error}`);\n return
{error}
;\n }\n\n if (isConsentGiven && !visible) {\n this.props.context.telemetry.error('Cookie Compliance content is empty, module wont render.');\n return null;\n }\n\n if (!MsDyn365.msdyn365Commerce.isBrowser) {\n return <>;\n }\n\n const viewProps = {\n ...this.props,\n onDismiss: this._onDismiss,\n CookieComplianceBanner: {\n moduleProps: this.props,\n className: classnames('ms-cookie-compliance', moduleConfig.className),\n ref: this.cookieRef\n },\n AlertProps: {\n className: 'ms-cookie-compliance__container',\n color: 'white',\n fade: false\n },\n Content: {\n className: 'ms-cookie-compliance__content'\n },\n text: moduleConfig.content && (\n \n ),\n links: ArrayExtensions.hasElements(moduleConfig.actionLinks) && (\n \n ),\n acceptButton: (\n \n )\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Handles Link content change event.\n * @param linkIndex - Index of link in linkarray.\n * @returns Void.\n */\n public handleLinkTextChange = (linkIndex: number) => (event: MsDyn365.ContentEditableEvent): void => {\n if (this.props.config.actionLinks?.[linkIndex]) {\n this.props.config.actionLinks[linkIndex].linkText = event.target.value;\n }\n };\n\n /**\n * Handles content change event.\n * @param event - Event.\n */\n public handleContentChange = (event: MsDyn365.ContentEditableEvent): void => {\n this.props.config.content = event.target.value;\n };\n\n private _onDismiss(): void {\n const { context } = this.props;\n\n if (context && context.request && context.request.cookies) {\n context.request.cookies.setConsentCookie();\n location.reload();\n }\n this.setState({ visible: false });\n }\n}\n\nexport default CookieCompliance;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Alert, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICookieComplianceViewProps } from './cookie-compliance';\n\nconst CookieComplianceView: React.FC = props => {\n const { CookieComplianceBanner, AlertProps, Content, acceptButton, text, links } = props;\n\n return (\n \n \n \n {text}\n {links}\n \n {acceptButton}\n \n \n );\n};\nexport default CookieComplianceView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n IGroup,\n IGroupDelivery,\n IGroups,\n IHelp,\n IOrderDetailsViewProps,\n IOrderInformation,\n IOrderSummary,\n IPaymentMethods,\n ISalesLine\n} from '@msdyn365-commerce-modules/order-management';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport const OrderInfomation: React.FC = ({\n orderInformationProps,\n salesId,\n receiptId,\n createdDate,\n count,\n amount,\n channelReferenceId,\n channelName,\n channelAddress,\n note\n}) => (\n \n {channelName}\n {channelAddress}\n {salesId}\n {receiptId}\n {createdDate}\n {count}\n {amount}\n {channelReferenceId}\n {note}\n \n);\n\nexport const SalesLine: React.FC = ({ salesLineProps, salesLine, buyAgainButton, errors }) => (\n \n {salesLine}\n {buyAgainButton}\n {errors}\n \n);\n\nexport const GroupDelivery: React.FC = ({ deliveryProps, heading, count }) => (\n \n {heading}\n {count}\n \n);\n\nexport const Group: React.FC = ({ groupProps, delivery, address, salesLinesProps, salesLines, isCashAndCarryTransaction }) => (\n \n {delivery && }\n \n {salesLines && (\n \n {salesLines.map(salesLine => (\n \n {salesLine.data.deliveryType === 'ship' && salesLine.data.shipment ? salesLine.trackingInfo : null}\n \n {!isCashAndCarryTransaction && salesLine.salesStatus}\n \n ))}\n \n )}\n {!delivery.showTimeslot && address}\n {delivery.showTimeslot && (\n \n {address}\n {delivery.pickupDateTimeslot}\n \n )}\n \n \n);\n\nexport const Groups: React.FC = ({ groupsProps, groups }) => (\n \n {groups.map((group, index) => (\n \n ))}\n \n);\n\nexport const OrderSummary: React.FC = ({\n orderSummaryProps,\n heading,\n subtotal,\n shipping,\n tax,\n totalAmount,\n earnedPoints\n}) => (\n \n {heading}\n {subtotal}\n {shipping}\n {tax}\n {totalAmount}\n {earnedPoints}\n \n);\n\nexport const Payment: React.FC = ({ paymentMethodsProps, title, methods }) => (\n \n {title}\n {methods}\n \n);\n\nexport const Help: React.FC = ({ helpProps, needHelpLabel, helpLineNumberLabel, contactNumber }) => (\n \n {needHelpLabel}\n {helpLineNumberLabel}\n {contactNumber}\n \n);\n\nconst OrderDetailsView: React.FC = ({\n moduleProps,\n viewModes,\n tableViewActions,\n table,\n placedBy,\n heading,\n alert,\n loading,\n orderInfomation,\n orderSummary,\n payment,\n help,\n groups\n}) => {\n return (\n \n {placedBy}\n {heading}\n {alert}\n {loading}\n {orderInfomation && }\n {tableViewActions}\n {viewModes}\n {table}\n {groups && }\n \n {orderSummary && }\n {payment && }\n \n {help && }\n \n );\n};\n\nexport default OrderDetailsView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Heading, IModuleProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IHeadingData, IIframeConfig, IIframeProps } from './iframe.props.autogenerated';\n\nexport interface IIframeViewProps extends IIframeProps {\n Heading: React.ReactNode;\n IframeContainer: IModuleProps;\n IFrame: React.ReactNode;\n alert?: React.ReactNode;\n cookieConsentAccepted?: boolean;\n}\n\n/**\n *\n * Iframe component.\n * @extends {React.PureComponent}\n */\nclass Iframe extends React.PureComponent> {\n private readonly iframeRef: React.RefObject;\n\n constructor(props: IIframeProps) {\n super(props);\n this.iframeRef = React.createRef();\n }\n\n public render(): JSX.Element | null {\n const { config, resources } = this.props;\n const isConsentGiven =\n this.props.context.request &&\n this.props.context.request.cookies &&\n this.props.context.request.cookies.isConsentGiven &&\n this.props.context.request.cookies.isConsentGiven();\n\n if (!(config && config.target && config.target.destinationUrl)) {\n return null;\n }\n\n let srcURL;\n try {\n srcURL = new URL(config.target.destinationUrl);\n } catch (error) {\n this.props.telemetry.exception(error);\n return null;\n }\n\n if (srcURL && srcURL.protocol && srcURL.protocol.toLocaleLowerCase() !== 'https:') {\n return null;\n }\n const iframeClassName = classnames('ms-iframe', config.className);\n\n let viewProps: IIframeViewProps = {\n ...(this.props as IIframeProps),\n Heading: this._createHeading(config.heading!),\n IframeContainer: {\n moduleProps: this.props,\n className: iframeClassName\n },\n IFrame: this._createIframe()\n };\n\n if (!isConsentGiven) {\n viewProps = {\n ...viewProps,\n alert: this._renderAlert(resources.cookieConsentRequiredMessage)\n };\n } else {\n viewProps = {\n ...viewProps,\n cookieConsentAccepted: true\n };\n }\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n private _createHeading(heading: IHeadingData): React.ReactNode | null {\n if (!heading || !heading.text || heading.text.length === 0) {\n return null;\n }\n\n return ;\n }\n\n private _renderAlert(message: string): React.ReactNode | null {\n return (\n

\n {message}\n

\n );\n }\n\n private _createIframe(): React.ReactNode | null {\n const { config } = this.props;\n const targetURL = config.target.destinationUrl;\n\n return (\n \n );\n }\n}\n\nexport default Iframe;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IIframeViewProps } from './iframe';\n\n/**\n *\n * IFrameView component.\n * @extends {React.PureComponent}\n */\nexport class IFrameView extends React.PureComponent {\n public render(): JSX.Element | null {\n const { Heading, IframeContainer, IFrame, alert, cookieConsentAccepted } = this.props;\n\n return (\n \n {alert}\n {cookieConsentAccepted && cookieConsentAccepted ? (\n <>\n {Heading}\n {IFrame}\n \n ) : null}\n \n );\n }\n}\nexport default IFrameView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { AsyncResult, Customer, ProductSearchResult, SimpleProduct } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, ObjectExtensions, Random } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, IModuleProps, isMobile, VariantType } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport React from 'react';\n\nimport { getCatalogId } from '@msdyn365-commerce/core';\nimport { ProductComparisonItem, ProductComparisonState } from '../product-comparison-state';\nimport { IProductComparisonButtonProps } from './product-comparison-button.props.autogenerated';\n\n/**\n * Represents product comparison view props.\n */\nexport interface IProductComparisonButtonViewProps extends IProductComparisonButtonProps<{}> {\n moduleProps: IModuleProps;\n productComparisonButton?: React.ReactNode;\n productComparisonPreview?: React.ReactNode;\n}\n\n/**\n * Represents the data which is required for the product comparison button to be rendered.\n */\nexport interface IProductComparisonButtonData {\n accountInformation?: AsyncResult;\n}\n\n/**\n * Extended props for the module including info about the product.\n */\nexport interface IProductComparisonButtonFullProps extends IProductComparisonButtonProps {\n product: ProductSearchResult | SimpleProduct;\n catalogId: number;\n}\n\n/**\n * Extended props for the module including info about the product.\n */\nexport interface IProductComparisonButtonState {\n canProductBeAddedToProductComparison: boolean;\n currentProductsCount: number;\n comparisonItemId: string;\n}\n\n/**\n * Represents the component which renders product comparison table.\n */\nexport class ProductComparisonButton extends React.PureComponent {\n private static _productComparisonPreview?: React.ReactNode;\n\n private readonly _className: string;\n\n private readonly _instanceId: string;\n\n private readonly _shouldUsePreview: boolean;\n\n private static _renderProductComparisonPreview(props: IProductComparisonButtonFullProps): React.ReactNode {\n if (!ProductComparisonButton._productComparisonPreview && ArrayExtensions.hasElements(props.slots.productComparisonPreview)) {\n ProductComparisonButton._productComparisonPreview = props.slots.productComparisonPreview[0];\n }\n\n return ProductComparisonButton._productComparisonPreview;\n }\n\n private static _renderProductComparisonButton(\n className: string,\n buttonText: string | undefined,\n title: string,\n onClickHandler?: () => void\n ): React.ReactNode {\n const isDisabled = ObjectExtensions.isNullOrUndefined(onClickHandler);\n let content: React.ReactNode;\n if (buttonText) {\n content = (\n <>\n
\n
{buttonText}
\n \n );\n }\n return (\n \n );\n }\n\n public constructor(props: IProductComparisonButtonFullProps) {\n super(props);\n\n this._className = 'ms-product-comparison-button';\n this._instanceId = `${this._className}-${this.props.id}-${Random.Guid.generateGuid()}`;\n\n this.state = this._getNewState();\n\n this._shouldUsePreview = !ProductComparisonButton._productComparisonPreview;\n ProductComparisonButton._renderProductComparisonPreview(this.props);\n }\n\n public componentDidMount(): void {\n ProductComparisonState.instance(this.props.context.request, this.props.data.accountInformation?.result).listModifiedEvent.subscribe(\n {\n instanceId: this._instanceId,\n\n /**\n * Updates the state in case the state for the particular product was changed.\n */\n handler: () => {\n this.setState(this._getNewState());\n }\n }\n );\n }\n\n public getSnapshotBeforeUpdate(previousProps: Readonly): void {\n if (previousProps.product.RecordId !== this.props.product.RecordId || previousProps.catalogId !== this.props.catalogId) {\n this.setState(this._getNewState());\n }\n }\n\n public componentWillUnmount(): void {\n ProductComparisonState.instance(\n this.props.context.request,\n this.props.data.accountInformation?.result\n ).listModifiedEvent.unsubscribe(this._instanceId);\n }\n\n public render(): React.ReactNode | null {\n const isConsentGiven = this.props.context.request.cookies.isConsentGiven();\n if (!isConsentGiven) {\n return null;\n }\n\n const viewProps: IProductComparisonButtonViewProps = {\n ...this.props,\n moduleProps: {\n moduleProps: this.props,\n className: this._className\n }\n };\n\n if (this._shouldUsePreview) {\n viewProps.productComparisonPreview = ProductComparisonButton._productComparisonPreview;\n }\n\n const buttonClassName = this.props.config.shouldDisplayText ? `${this._className}__button` : `${this._className}__icon`;\n\n if (!this.state.canProductBeAddedToProductComparison) {\n const buttonText = this.props.config.shouldDisplayText ? this.props.resources.removeFromComparisonButtonText : undefined;\n viewProps.productComparisonButton = ProductComparisonButton._renderProductComparisonButton(\n classnames(`${buttonClassName}__removing`, buttonClassName),\n buttonText,\n this.props.resources.removeFromComparisonButtonText,\n this._removeFromProductComparison\n );\n return this.props.renderView(viewProps);\n }\n\n const productsLimit = this._getProductsLimit();\n if (!ObjectExtensions.isNullOrUndefined(productsLimit) && productsLimit <= this.state.currentProductsCount) {\n const buttonText = this.props.config.shouldDisplayText ? this.props.resources.addToComparisonLimitReachedButtonText : undefined;\n viewProps.productComparisonButton = ProductComparisonButton._renderProductComparisonButton(\n buttonClassName,\n buttonText,\n this.props.resources.addToComparisonLimitReachedButtonText\n );\n return this.props.renderView(viewProps);\n }\n\n const buttonText = this.props.config.shouldDisplayText ? this.props.resources.addToComparisonButtonText : undefined;\n viewProps.productComparisonButton = ProductComparisonButton._renderProductComparisonButton(\n buttonClassName,\n buttonText,\n this.props.resources.addToComparisonButtonText,\n this._addToProductComparison\n );\n return this.props.renderView(viewProps);\n }\n\n private _getProductsLimit(): number | undefined | null {\n const viewport = isMobile({ variant: VariantType.Browser, context: this.props.context.request });\n if (viewport === 'xs' || viewport === 'sm') {\n return this.props.context.app.config.productComparisonMobileProductsLimit;\n }\n return this.props.context.app.config.productComparisonDesktopProductsLimit;\n }\n\n /**\n * Adds current product to a product comparison list.\n */\n private readonly _addToProductComparison: () => void = () => {\n const item = new ProductComparisonItem(this.props.product.RecordId, this.props.catalogId);\n ProductComparisonState.instance(this.props.context.request, this.props.data.accountInformation?.result).addItem(item);\n };\n\n /**\n * Removes current product from the product comparison list where it was added earlier.\n */\n private readonly _removeFromProductComparison: () => void = () => {\n ProductComparisonState.instance(this.props.context.request, this.props.data.accountInformation?.result).removeItemById(\n this.state.comparisonItemId\n );\n };\n\n private _getProdutComparisonDataByCatalogId(): ProductComparisonItem[] {\n const items = ProductComparisonState.instance(this.props.context.request, this.props.data.accountInformation?.result).items;\n const catalogId = getCatalogId(this.props.context.request);\n const productByCatalogId = items?.filter(product => product.catalogId === catalogId) ?? [];\n return productByCatalogId;\n }\n\n /**\n * Retrieves the state of the component based on the comparison data.\n * @returns State object for the component.\n */\n private readonly _getNewState: () => IProductComparisonButtonState = () => {\n const comparisonItemId = ProductComparisonItem.getItemId(this.props.product.RecordId, this.props.catalogId);\n const products = this._getProdutComparisonDataByCatalogId();\n return {\n comparisonItemId,\n canProductBeAddedToProductComparison: !ProductComparisonState.instance(\n this.props.context.request,\n this.props.data.accountInformation?.result\n ).hasItemById(comparisonItemId),\n currentProductsCount: products.length\n };\n };\n}\n\nexport default ProductComparisonButton;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IProductComparisonButtonViewProps } from './product-comparison-button';\n\n/**\n * Represents product comparison button view.\n * @param props - View props for product comparison button.\n * @returns Functional component of product comparison button.\n */\nexport const ProductComparisonButtonViewFunctionalComponent: React.FC = props => {\n const { productComparisonButton, productComparisonPreview } = props;\n\n return (\n \n {productComparisonButton}\n {productComparisonPreview}\n \n );\n};\n\nexport default ProductComparisonButtonViewFunctionalComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { ISpacerProps } from './spacer.props.autogenerated';\n\nexport interface ISpacerViewProps extends ISpacerProps<{}> {\n className?: string;\n}\n\n/**\n *\n * SpacerModule component.\n * @extends {React.PureComponent}\n */\nclass Spacer extends React.PureComponent> {\n public render(): JSX.Element | null {\n const { className } = this.props.config;\n const spacerClass = this.props.config.spacerHeight ? `ms-${this.props.config.spacerHeight}` : 'ms-spacer';\n const viewProps = {\n // Context for telemetry and raw data for C1 to do customization\n // Including computed data, state data and methods\n ...this.props,\n className: (className && classnames(spacerClass, className)) || spacerClass\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n}\n\nexport default Spacer;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nimport { ISpacerViewProps } from './spacer';\n\nconst SpacerView: React.FC = props => {\n const child = props.config.divider &&
;\n\n return (\n
\n {child}\n
\n );\n};\n\nexport default SpacerView;\n"],"names":["DynD365Marketing","React","render","this","props","renderView","useScriptD365","position","placement","document","querySelector","primaryDiv","createElement","id","config","primaryDivId","script","src","scriptUrl","secondaryDiv","className","class","setAttribute","dataWebsiteId","dataHostname","appendChild","removeChild","SitePicker","constructor","super","_cookieName","_cookieExpirationInSeconds","_escFunction","event","key","keyCode","state","expandSiteOptions","KeyCodes","Escape","setTimeout","_this$_sitePickerMenu","_this$_sitePickerMenu2","nextFocus","activeElement","_this$_sitePickerMenu3","_sitePickerMenuButton","current","contains","_sitePickerMenuNode","_resetSiteOptionsState","focus","Tab","_this$_sitePickerMenu4","_this$_sitePickerMenu5","_handleOutsideClick","_this$_sitePickerMenu6","_this$_sitePickerMenu7","target","_handleChange","bind","_renderSiteOptions","_updateViewport","viewport","context","request","device","Type","isMobile","componentDidMount","_document","_document2","MsDyn365","isBrowser","addEventListener","body","resizeThrottledEventHandler","window","addThrottledEvent","componentWillUnmount","_document3","_document4","removeEventListener","_this$props$config$he","_this$props$config$he2","viewProps","_objectSpread","moduleProps","classnames","tag","SitePickerMenu","heading","text","onClick","ref","SitePickerMenuSpan","SitePickerMenuList","role","SitePickerMenuListItem","SitePickerMobileContainer","Drawer","toggleButtonText","openGlyph","closeGlyph","glyphPlacement","isMobileView","SitePickerMenuListItemArray","_renderSitePickerImage","renderSiteOptions","resetSiteOptionsState","siteOptionsState","expandSiteOptionsState","setState","item","warningMessage","e","preventDefault","currentTarget","href","length","cookies","isConsentGiven","cookieConfig","maxAge","set","countryDependency","alert","location","assign","defaultImageSettings","viewports","xs","q","w","h","sm","md","lg","xl","lazyload","siteOptions","map","index","_image$imageSettings","_item$siteRedirectUrl","image","siteImage","imageProps","gridSettings","imageSettings","tabIndex","siteRedirectUrl","destinationUrl","siteName","Image","requestContext","altText","loadFailureBehavior","shouldSkipToMainImage","_getViewport","undefined","innerWidth","__decorate","observable","computed","_renderSitePicker","_renderSiteOptionsList","options","Node","Object","onMouseLeave","Module","_props$SitePickerMenu","_renderMobileView","_props$config$heading","_renderDesktopView","PunchoutAccess","readQueryFormData","_ref","_this$props$context$r","_this$props$context$r2","formData","requestFormData","username","USERNAME","password","PASSWORD","hookUrl","HOOK_URL","accountNum","query","accountnum","ACCOUNTNUM","sessionStorage","setItem","isConnecting","hasFailed","_this$props$context$r3","removeItem","homeLink","Msdyn365","actionContext","country","sitePath","replace","B2CToken","webApiUrl","urlAzureFn","keyAzureFn","webApiBody","Localization","Format","fetch","method","headers","JSON","stringify","then","response","json","token","access_token","mode","credentials","Authorization","catch","error","console","log","punchoutAccessViewProps","showText","PickUpAtStoreComponent","PickUpAtStore","label","EmailDeliveryComponent","_ref2","EmailDelivery","LineItemComponent","_ref3","LineItem","pickUpAtStore","emailDelivery","LineItemGroupComponent","_ref4","LineItemDeliveryGroup","LineItemList","lineItems","lineItem","LineId","LineItemGroupComponentWithMultiplePickUp","_ref5","lineItemWraper","lineItemWraperIcon","LineItemComponentWithMultiplePickUp","_ref6","PickUpAtStoreComponentWithMultiplePickUp","_ref7","LineItemsComponent","_ref8","LineItems","Header","editLink","itemsForPickup","itemsForShip","itemsForEmail","itemsGroupWithMulitplePickupMode","OrderSummaryComponent","_ref9","lines","subtotal","shipping","otherCharge","tax","totalDiscounts","loyalty","giftCard","orderTotal","PaymentSummaryComponent","_ref10","invoices","isPaymentVerificationRedirection","shouldEnableSinglePaymentAuthorizationCheckout","canShow","checkoutProps","headerProps","hasSalesOrder","hasInvoiceLine","bodyProps","mainProps","mainControlProps","sideProps","sideControlFirstProps","sideControlSecondProps","termsAndConditionsProps","orderConfirmation","loading","title","guidedForm","orderSummary","invoicePaymentSummary","placeOrderButton","termsAndConditions","keepShoppingButton","Waiting","print","buildReviewCard","cardProps","rating","name","date","cardBodyProps","reviewProps","reviewTitle","reviewText","responseProps","responseName","responseDate","responseText","controlsProps","ratingHelpfulLabel","like","dislike","edit","report","createReviewModal","modal","modalHeader","modalBody","form","inputRow","ratingLabel","titleLabel","titleInput","textLabel","textInput","privacyPolicyUrl","modalFooter","submitButton","cancelButton","createReportModal","reported","headerSubmitted","header","reportSubmittedMessage","reportMessage","radioButtons","succesfulButton","averageRating","filterByDropdown","noReviewsMessage","noReviewsWithFilterMessage","pageControls","refineReviewsProps","reportReviewModal","reviewsListProps","reviewCards","reviewCount","reviewModal","sortByDropdown","userReview","isFilterApplied","review","CookieComplianceAcceptButton","acceptCookiesButtonText","acceptCookiesButtonAriaLabel","telemetryContent","onClose","payLoad","getPayloadObject","attributes","getTelemetryAttributes","type","CookieComplianceLinks","_mapEditableLinks","linkdata","editableLinks","forEach","link","linkText","contentAction","etext","editableLink","ariaLabel","linkUrl","openInNewTab","additionalProperties","onTelemetryClick","push","links","editProps","onTextChange","CookieCompliance","getTelemetryObject","telemetryPageName","friendlyName","telemetry","handleLinkTextChange","linkIndex","_this$props$config$ac","actionLinks","value","handleContentChange","content","visible","cookieRef","_onDismiss","resources","acceptCookiesAriaLabel","moduleConfig","onDismiss","CookieComplianceBanner","AlertProps","color","fade","Content","onEdit","ArrayExtensions","hasElements","acceptButton","setConsentCookie","reload","Alert","OrderInfomation","orderInformationProps","salesId","receiptId","createdDate","count","amount","channelReferenceId","channelName","channelAddress","note","SalesLine","salesLineProps","salesLine","buyAgainButton","errors","GroupDelivery","deliveryProps","Group","groupProps","delivery","address","salesLinesProps","salesLines","isCashAndCarryTransaction","data","deliveryType","shipment","trackingInfo","salesStatus","showTimeslot","pickupProps","pickupDateTimeslot","Groups","groupsProps","groups","group","OrderSummary","orderSummaryProps","totalAmount","earnedPoints","Payment","paymentMethodsProps","methods","Help","helpProps","needHelpLabel","helpLineNumberLabel","contactNumber","viewModes","tableViewActions","table","placedBy","orderInfomation","payment","help","Iframe","iframeRef","srcURL","URL","exception","protocol","toLocaleLowerCase","iframeClassName","Heading","_createHeading","IframeContainer","IFrame","_createIframe","cookieConsentAccepted","_renderAlert","cookieConsentRequiredMessage","message","targetURL","height","iframeAriaLabel","IFrameView","ProductComparisonButton","_addToProductComparison","_this$props$data$acco","ProductComparisonItem","product","RecordId","catalogId","ProductComparisonState","instance","accountInformation","result","addItem","_removeFromProductComparison","_this$props$data$acco2","removeItemById","comparisonItemId","_getNewState","_this$props$data$acco3","getItemId","products","_getProdutComparisonDataByCatalogId","canProductBeAddedToProductComparison","hasItemById","currentProductsCount","_className","_instanceId","Random","Guid","generateGuid","_shouldUsePreview","_productComparisonPreview","_renderProductComparisonPreview","slots","productComparisonPreview","buttonText","onClickHandler","isDisabled","ObjectExtensions","isNullOrUndefined","Button","disabled","_this$props$data$acco4","listModifiedEvent","subscribe","instanceId","handler","getSnapshotBeforeUpdate","previousProps","_this$props$data$acco5","unsubscribe","buttonClassName","shouldDisplayText","removeFromComparisonButtonText","productComparisonButton","_renderProductComparisonButton","productsLimit","_getProductsLimit","addToComparisonLimitReachedButtonText","addToComparisonButtonText","variant","VariantType","Browser","app","productComparisonMobileProductsLimit","productComparisonDesktopProductsLimit","_this$props$data$acco6","_items$filter","items","getCatalogId","filter","ProductComparisonButtonViewFunctionalComponent","Spacer","spacerClass","spacerHeight","child","divider","renderModuleAttributes"],"sourceRoot":""}