{"version":3,"file":"static/js/14.658d97a1791d758de4d1.chunk.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/modules/pva-chat-connector/pva-chat-connector.tsx?def7","webpack://Msdyn365.Commerce.Online/./src/modules/pva-chat-connector/proactive/triggers/proactive-chat-trigger.ts?734c","webpack://Msdyn365.Commerce.Online/./src/modules/pva-chat-connector/proactive/triggers/cart-amount-trigger.ts?742f","webpack://Msdyn365.Commerce.Online/./src/modules/pva-chat-connector/proactive/triggers/cart-number-of-items-trigger.ts?d5f8","webpack://Msdyn365.Commerce.Online/./src/modules/pva-chat-connector/proactive/triggers/cart-specific-product-trigger.ts?2cd6","webpack://Msdyn365.Commerce.Online/./src/modules/pva-chat-connector/helpers/consts.ts?02a5","webpack://Msdyn365.Commerce.Online/./src/modules/pva-chat-connector/proactive/triggers/date-range-trigger.ts?8bfc","webpack://Msdyn365.Commerce.Online/./src/modules/pva-chat-connector/proactive/triggers/from-specific-page-trigger.ts?fd6f","webpack://Msdyn365.Commerce.Online/./src/modules/pva-chat-connector/proactive/triggers/page-visits-trigger.ts?cce7","webpack://Msdyn365.Commerce.Online/./src/modules/pva-chat-connector/proactive/triggers/specific-CountryRegion-trigger.ts?e87a","webpack://Msdyn365.Commerce.Online/./src/modules/pva-chat-connector/proactive/triggers/specific-page-trigger.ts?6e03","webpack://Msdyn365.Commerce.Online/./src/modules/pva-chat-connector/proactive/triggers/wait-on-time-trigger.ts?d898","webpack://Msdyn365.Commerce.Online/./src/modules/pva-chat-connector/proactive/index.ts?36a2","webpack://Msdyn365.Commerce.Online/./src/modules/pva-chat-connector/helpers/ContextProvider.ts?4518","webpack://Msdyn365.Commerce.Online/./src/modules/pva-chat-connector/helpers/StyleComposers.ts?0192","webpack://Msdyn365.Commerce.Online/./src/modules/pva-chat-connector/helpers/CommerceChatStore.ts?5b45","webpack://Msdyn365.Commerce.Online/./src/modules/pva-chat-connector/components/ChatCore.tsx?a412","webpack://Msdyn365.Commerce.Online/./src/modules/pva-chat-connector/components/Chat.tsx?1581","webpack://Msdyn365.Commerce.Online/./src/modules/pva-chat-connector/pva-chat-connector.view.tsx?3d5c","webpack://Msdyn365.Commerce.Online/./src/services/featureToggleService.ts?d980","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/content-block.view.tsx?0a66","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/loyalty-terms.view.tsx?71d6","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/order-details.view.tsx?d810","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/ratings-histogram.view.tsx?62be","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/sign-up.view.tsx?e5d6","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/definition-extensions/video-player.ext.props.autogenerated.ts?fe23","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/video-player.view.tsx?a1ba","webpack://Msdyn365.Commerce.Online/./src/common/address-autosuggest.ts?f5a2","webpack://Msdyn365.Commerce.Online/./src/common/address-common.ts?cf4b","webpack://Msdyn365.Commerce.Online/./src/common/address-format.data.ts?6cbf","webpack://Msdyn365.Commerce.Online/./src/common/address-format.ts?4f04","webpack://Msdyn365.Commerce.Online/./src/common/address-meta-data.ts?c6e6","webpack://Msdyn365.Commerce.Online/./src/common/address-module.data.ts?697a","webpack://Msdyn365.Commerce.Online/./src/common/components/address-checkbox.tsx?eb1a","webpack://Msdyn365.Commerce.Online/./src/common/components/address-add.tsx?e6a6","webpack://Msdyn365.Commerce.Online/./src/common/components/address-alert.tsx?10d1","webpack://Msdyn365.Commerce.Online/./src/common/components/address-button.tsx?7f7b","webpack://Msdyn365.Commerce.Online/./src/common/components/address-detail-item.tsx?5209","webpack://Msdyn365.Commerce.Online/./src/common/components/address-dropdown.tsx?f24b","webpack://Msdyn365.Commerce.Online/./src/common/components/address-error-message.tsx?89ad","webpack://Msdyn365.Commerce.Online/./src/common/components/address-error-title.tsx?3926","webpack://Msdyn365.Commerce.Online/./src/common/components/address-input.tsx?8073","webpack://Msdyn365.Commerce.Online/./src/common/components/address-label.tsx?6864","webpack://Msdyn365.Commerce.Online/./src/common/components/address-list.tsx?a628","webpack://Msdyn365.Commerce.Online/./src/common/components/address-show.tsx?3f60","webpack://Msdyn365.Commerce.Online/./src/modules/account-management-address/account-management-address.tsx?27e7","webpack://Msdyn365.Commerce.Online/./src/modules/account-management-address/account-management-address.view.tsx?8c9f","webpack://Msdyn365.Commerce.Online/./src/modules/business-account-address/business-account-address.tsx?299e","webpack://Msdyn365.Commerce.Online/./src/modules/business-account-address/business-account-address.view.tsx?5078","webpack://Msdyn365.Commerce.Online/./src/modules/business-sign-up/components/sign-up-button.tsx?e1d9","webpack://Msdyn365.Commerce.Online/./src/modules/business-sign-up/components/sign-up-error.tsx?7f8a","webpack://Msdyn365.Commerce.Online/./src/modules/business-sign-up/components/sign-up-input.tsx?5bbe","webpack://Msdyn365.Commerce.Online/./src/modules/business-sign-up/components/sign-up-label.tsx?4988","webpack://Msdyn365.Commerce.Online/./src/modules/business-sign-up/components/sign-up-radio-button.tsx?f8c1","webpack://Msdyn365.Commerce.Online/./src/modules/business-sign-up/business-sign-up.tsx?13a2","webpack://Msdyn365.Commerce.Online/./src/modules/business-sign-up/business-sign-up.view.tsx?e2f8","webpack://Msdyn365.Commerce.Online/./src/modules/business-partners/components/search-bar.tsx?63c1","webpack://Msdyn365.Commerce.Online/./src/modules/business-partners/components/data-grid.tsx?ddec","webpack://Msdyn365.Commerce.Online/./src/modules/business-partners/components/business-partner-users-table.tsx?c677","webpack://Msdyn365.Commerce.Online/./src/modules/business-partners/components/business-partners-table.tsx?8b1d","webpack://Msdyn365.Commerce.Online/./src/modules/business-partners/business-partners.tsx?57a6","webpack://Msdyn365.Commerce.Online/./src/modules/business-partners/business-partners.view.tsx?b34e","webpack://Msdyn365.Commerce.Online/./src/modules/subscribe/subscribe.tsx?9fea","webpack://Msdyn365.Commerce.Online/./src/modules/subscribe/subscribe.view.tsx?19c8","webpack://Msdyn365.Commerce.Online/./src/modules/tab-item/tab-item.tsx?b1b8","webpack://Msdyn365.Commerce.Online/./src/modules/tab-item/tab-item.view.tsx?ee3b","webpack://Msdyn365.Commerce.Online/./src/modules/tab/tab.tsx?9ac6","webpack://Msdyn365.Commerce.Online/./src/modules/tab/tab.view.tsx?a99d","webpack://Msdyn365.Commerce.Online/./src/modules/tile-list-item/components/links.tsx?c969","webpack://Msdyn365.Commerce.Online/./src/modules/tile-list-item/tile-list-item.tsx?114a","webpack://Msdyn365.Commerce.Online/./src/modules/tile-list-item/tile-list-item.view.tsx?19a8","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/carticon.component.tsx?3c7c","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/content-block.view.tsx?0db4","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/write-review.view.tsx?c67c"],"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\n/* eslint-disable no-duplicate-imports */\r\nimport * as React from 'react';\r\nimport { isOboRequest } from '@msdyn365-commerce/core-internal';\r\nimport { IPvaChatConnectorData } from './pva-chat-connector.data';\r\nimport { IPvaChatConnectorConfig, IPvaChatConnectorProps } from './pva-chat-connector.props.autogenerated';\r\n\r\nexport interface IPvaChatConnectorViewProps extends IPvaChatConnectorProps {\r\n config: IPvaChatConnectorConfig;\r\n}\r\n\r\n/**\r\n * PvaChatConnector component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass PvaChatConnector extends React.PureComponent> {\r\n // Loads CDN version of Botframework-Webchat library\r\n public componentDidMount(): void {\r\n if (isOboRequest(this.props.context.request)) {\r\n return;\r\n }\r\n\r\n const url = this.props.config.botFrameworkCDNURL || this.props.context.app.config.pvaChatConnectorBotFrameworkCDNURL;\r\n const script = document.createElement('script');\r\n script.src = url;\r\n script.async = true;\r\n script.crossOrigin = 'anonymous';\r\n document.body.appendChild(script);\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n if (isOboRequest(this.props.context.request)) {\r\n return null;\r\n }\r\n\r\n return this.props.renderView(this.props);\r\n }\r\n}\r\n\r\nexport default PvaChatConnector;\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 { IProactiveChatTrigger } from '../../interfaces';\r\nimport { IChatContext, TContextProvider } from '@msdyn365-commerce-modules/chat';\r\nimport { IPvaChatConnectorViewProps } from '../../pva-chat-connector';\r\n\r\n/**\r\n * ProactiveChatTrigger class - checks if Proactive Chat should be triggered, starts the chat and sets context\r\n */\r\nabstract class ProactiveChatTrigger implements IProactiveChatTrigger {\r\n public props: IPvaChatConnectorViewProps;\r\n public context: IChatContext;\r\n constructor(props: IPvaChatConnectorViewProps, context: IChatContext) {\r\n this.props = props;\r\n this.context = context;\r\n }\r\n\r\n /**\r\n * Generates Chat Context with included properties related to Proactive Chat\r\n * @returns TContextProvider - Chat Context\r\n */\r\n public abstract getContextProvider(): TContextProvider;\r\n\r\n /**\r\n * Generates chat welcome message to be used if Proactive Chat is triggered\r\n * @returns string - chat welcome message\r\n */\r\n public abstract getMessage(): string;\r\n\r\n /**\r\n * Validate specific trigger conditions if Proactive Chat should be initiated\r\n * @returns boolean (TRUE if Proactive Chat should be triggered)\r\n */\r\n public abstract validate(): Promise;\r\n}\r\n\r\nexport default ProactiveChatTrigger;\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// @ts-ignore\r\n/* eslint-disable no-duplicate-imports */\r\nimport { getCartState, ICartState } from '@msdyn365-commerce/global-state';\r\nimport { IChatContext, TContextProvider } from '@msdyn365-commerce-modules/chat';\r\nimport { IPvaChatConnectorViewProps } from '../../pva-chat-connector';\r\nimport ProactiveChatTrigger from './proactive-chat-trigger';\r\n\r\n/**\r\n * CartAmountTrigger class - proactive chat is triggered if cArt amount is in preset boundaries (config.proactiveOnCartAmountMin, config.proactiveOnCartAmountMax)\r\n */\r\nclass CartAmountTrigger extends ProactiveChatTrigger {\r\n private min?: number;\r\n private max?: number;\r\n private totalInCart: number = 0;\r\n\r\n constructor(props: IPvaChatConnectorViewProps, context: IChatContext) {\r\n super(props, context);\r\n this.min = this.props.config.proactiveOnCartAmountMin;\r\n this.max = this.props.config.proactiveOnCartAmountMax;\r\n this.props.context.telemetry.debug(\r\n `[Chat][${CartAmountTrigger.name}] Cart amount proactive chat initialized with min: '${this.min}'; max: '${this.max}'.`\r\n );\r\n }\r\n\r\n public async validate(): Promise {\r\n const cart = await this._getCart();\r\n if (cart.isEmpty) {\r\n this.props.context.telemetry.debug(`[Chat][${CartAmountTrigger.name}] Cart was empty. Validation returning 'false'.`);\r\n return false;\r\n }\r\n\r\n this.totalInCart = cart.cart.TotalAmount || 0;\r\n let retVal = false;\r\n if (this.min) {\r\n if (this.max) {\r\n retVal = this.min <= this.totalInCart && this.totalInCart <= this.max;\r\n } else {\r\n retVal = this.min <= this.totalInCart;\r\n }\r\n } else {\r\n if (this.max) {\r\n retVal = this.totalInCart <= this.max;\r\n } else {\r\n retVal = false;\r\n }\r\n }\r\n this.props.context.telemetry.debug(\r\n `[Chat][${CartAmountTrigger.name}] Validation result: '${retVal}'; Cart total: '${this.totalInCart}'.`\r\n );\r\n return retVal;\r\n }\r\n\r\n public getContextProvider(): TContextProvider {\r\n return () => {\r\n return {\r\n ...this.context,\r\n eCommerceCustIsProactiveChat: 'True',\r\n eCommerceCustProactiveType: 'Cart Amount',\r\n eCommerceCustProactiveShoppingCartAmount: `${this.totalInCart}`\r\n };\r\n };\r\n }\r\n\r\n public getMessage(): string {\r\n // @TODO: Add message processing if needed\r\n return this.props.config.proactiveOnCartAmountMessage || this.props.config.proactiveDefaultMessage;\r\n }\r\n\r\n private async _getCart(): Promise {\r\n return getCartState(this.props.context.actionContext);\r\n }\r\n}\r\n\r\nexport default CartAmountTrigger;\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// @ts-ignore\r\n/* eslint-disable no-duplicate-imports */\r\nimport { getCartState, ICartState } from '@msdyn365-commerce/global-state';\r\nimport { IChatContext, TContextProvider } from '@msdyn365-commerce-modules/chat';\r\nimport { IPvaChatConnectorViewProps } from '../../pva-chat-connector';\r\nimport ProactiveChatTrigger from './proactive-chat-trigger';\r\n\r\n/**\r\n * CartNumberOfItemsTrigger class - proactive chat is triggered if Cart Number of Items is in preset boundaries (config.proactiveOnCartNoOfItemsMin, config.proactiveOnCartNoOfItemsMax)\r\n */\r\nclass CartNumberOfItemsTrigger extends ProactiveChatTrigger {\r\n private min?: number;\r\n private max?: number;\r\n private numberOfItems: number = 0;\r\n\r\n constructor(props: IPvaChatConnectorViewProps, context: IChatContext) {\r\n super(props, context);\r\n this.min = this.props.config.proactiveOnCartNoOfItemsMin;\r\n this.max = this.props.config.proactiveOnCartNoOfItemsMax;\r\n\r\n this.props.context.telemetry.debug(\r\n `[${CartNumberOfItemsTrigger.name}] Cart number of items proactive chat initialized with min: '${this.min}'; max: '${this.max}'.`\r\n );\r\n }\r\n\r\n public async validate(): Promise {\r\n const cart = await this._getCart();\r\n if (cart.isEmpty) {\r\n this.props.context.telemetry.debug(`[Chat][${CartNumberOfItemsTrigger.name}] Cart was empty. Validation returning 'false'.`);\r\n return false;\r\n }\r\n\r\n this.numberOfItems = cart.cart.TotalItems || 0;\r\n\r\n let retVal = false;\r\n if (this.min) {\r\n if (this.max) {\r\n retVal = this.min <= this.numberOfItems && this.numberOfItems <= this.max;\r\n } else {\r\n retVal = this.min <= this.numberOfItems;\r\n }\r\n } else {\r\n if (this.max) {\r\n retVal = this.numberOfItems <= this.max;\r\n } else {\r\n retVal = false;\r\n }\r\n }\r\n this.props.context.telemetry.debug(\r\n `[${CartNumberOfItemsTrigger.name}] Validation result: '${retVal}'; Number of items in cart: '${this.numberOfItems}'.`\r\n );\r\n return retVal;\r\n }\r\n\r\n public getContextProvider(): TContextProvider {\r\n return () => {\r\n return {\r\n ...this.context,\r\n eCommerceCustIsProactiveChat: 'True',\r\n eCommerceCustProactiveType: 'Cart Number of Items',\r\n eCommerceCustProactiveShoppingCartNumberOfItems: `${this.numberOfItems}`\r\n };\r\n };\r\n }\r\n\r\n public getMessage(): string {\r\n // @TODO: Add message processing if needed\r\n return this.props.config.proactiveOnCartNoOfItemsMessage || this.props.config.proactiveDefaultMessage;\r\n }\r\n\r\n private async _getCart(): Promise {\r\n return getCartState(this.props.context.actionContext);\r\n }\r\n}\r\n\r\nexport default CartNumberOfItemsTrigger;\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// @ts-ignore\r\n/* eslint-disable no-duplicate-imports */\r\nimport { getCartState, ICartState } from '@msdyn365-commerce/global-state';\r\nimport { TContextProvider } from '@msdyn365-commerce-modules/chat';\r\nimport ProactiveChatTrigger from './proactive-chat-trigger';\r\n\r\n/**\r\n * CartSpecificProductTrigger class - proactive chat is triggered if a Product in the Cart is in preset list of products (config.proactiveOnCartSpecificProductList)\r\n */\r\nclass CartSpecificProductTrigger extends ProactiveChatTrigger {\r\n private product: string = '';\r\n\r\n public async validate(): Promise {\r\n let isValid = false;\r\n const cart = await this._getCart();\r\n if (!cart.isEmpty) {\r\n if (cart.cart.CartLines) {\r\n this.props.context.telemetry.debug(\r\n `[${CartSpecificProductTrigger.name}] Number of cart line items was '${cart.cart.CartLines?.length}'`\r\n );\r\n for (let i = 0; i < cart.cart.CartLines?.length; i++) {\r\n if (cart.cart.CartLines[i]) {\r\n if (this.props.config.proactiveOnCartSpecificProductList) {\r\n this.props.context.telemetry.debug(\r\n `[${CartSpecificProductTrigger.name}] Number of cart specific products was configured for proactive chat was '${this.props.config.proactiveOnCartSpecificProductList?.length}'`\r\n );\r\n // Find first item, from user-defined list of products, that matches the cart lines' itemId in the cart.\r\n for (let j = 0; j < (this.props.config.proactiveOnCartSpecificProductList?.length || 0); j++) {\r\n if (\r\n this.props.config.proactiveOnCartSpecificProductList &&\r\n cart.cart.CartLines[i].ItemId &&\r\n this.props.config.proactiveOnCartSpecificProductList[j] === cart.cart.CartLines[i].ItemId\r\n ) {\r\n this.props.context.telemetry.debug(\r\n `[${CartSpecificProductTrigger.name}] Matched cart line item ID '${cart.cart.CartLines[i].ItemId}' against user-defined list of specific products for proactive chat.`\r\n );\r\n isValid = true;\r\n break;\r\n }\r\n }\r\n }\r\n } else {\r\n // Rest of the CartLines are undefined\r\n break;\r\n }\r\n }\r\n } else {\r\n this.props.context.telemetry.debug(`[Chat][${CartSpecificProductTrigger.name}] Cart did not contain any cart lines.`);\r\n }\r\n } else {\r\n this.props.context.telemetry.debug(`[Chat][${CartSpecificProductTrigger.name}] Cart was empty.`);\r\n }\r\n this.props.context.telemetry.debug(`[Chat][${CartSpecificProductTrigger.name}] Validation returning '${isValid}'.`);\r\n return isValid;\r\n }\r\n\r\n public getContextProvider(): TContextProvider {\r\n return () => {\r\n return {\r\n ...this.context,\r\n eCommerceCustIsProactiveChat: 'True',\r\n eCommerceCustProactiveType: 'Cart Specific Product',\r\n eCommerceCustProactiveShoppingCartSpecificProduct: `${this.product}`\r\n };\r\n };\r\n }\r\n\r\n public getMessage(): string {\r\n // @TODO: Add message processing if needed\r\n return this.props.config.proactiveOnCartSpecificProductMessage || this.props.config.proactiveDefaultMessage;\r\n }\r\n\r\n private async _getCart(): Promise {\r\n return getCartState(this.props.context.actionContext);\r\n }\r\n}\r\n\r\nexport default CartSpecificProductTrigger;\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\nexport enum ProactiveChatNames {\r\n DateRange = 'Date Range',\r\n FromSpecificPage = 'From Specific Page',\r\n PageVisits = 'Page Visits',\r\n SpecificLocation = 'Specific Location',\r\n SpecificPage = 'Specific Page',\r\n WaitOnTime = 'Wait On Time'\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 { ProactiveChatNames } from '../../helpers/consts';\r\nimport { IChatContext, TContextProvider } from '@msdyn365-commerce-modules/chat';\r\nimport { IPvaChatConnectorViewProps } from '../../pva-chat-connector';\r\nimport ProactiveChatTrigger from './proactive-chat-trigger';\r\n\r\n/**\r\n * DateRangeTrigger class - proactive chat is triggered if current date is in preset date boundaries (config.proactiveOnDateRangeStart, config.proactiveOnDateRangeEnd)\r\n */\r\nclass DateRangeTrigger extends ProactiveChatTrigger {\r\n private start?: Date;\r\n private end?: Date;\r\n\r\n constructor(props: IPvaChatConnectorViewProps, context: IChatContext) {\r\n super(props, context);\r\n this.start = this._toDate(this.props.config.proactiveOnDateRangeStart);\r\n this.end = this._toDate(this.props.config.proactiveOnDateRangeEnd);\r\n\r\n this.props.context.telemetry.debug(\r\n `[${DateRangeTrigger.name}] Proactive chat initialized with startDate: '${this.start}'; max: '${this.end}'.`\r\n );\r\n }\r\n\r\n public async validate(): Promise {\r\n const now = new Date();\r\n now.setHours(0, 0, 0, 0);\r\n\r\n let retVal = false;\r\n if (this.start) {\r\n if (this.end) {\r\n retVal = this.start.getTime() <= now.getTime() && now.getTime() <= this.end.getTime();\r\n } else {\r\n retVal = this.start.getTime() <= now.getTime();\r\n }\r\n } else if (this.end) {\r\n retVal = now.getTime() <= this.end.getTime();\r\n }\r\n\r\n this.props.context.telemetry.debug(\r\n `[${DateRangeTrigger.name}] Validation result: '${retVal}'; Current date used to compare: '${now}'.`\r\n );\r\n return retVal;\r\n }\r\n\r\n public getContextProvider(): TContextProvider {\r\n return () => {\r\n return {\r\n ...this.context,\r\n eCommerceCustIsProactiveChat: 'True',\r\n eCommerceCustProactiveType: ProactiveChatNames.DateRange,\r\n eCommerceCustProactiveFromDate: this.start ? this.start.toUTCString() : '',\r\n eCommerceCustProactiveToDate: this.end ? this.end.toUTCString() : ''\r\n };\r\n };\r\n }\r\n\r\n public getMessage(): string {\r\n // @TODO: Add message processing if needed\r\n return this.props.config.proactiveOnDateRangeMessage || this.props.config.proactiveDefaultMessage;\r\n }\r\n\r\n /**\r\n * Converts string(us-en) to date\r\n * @param date string (mm/dd/yyyy)\r\n * @returns Date or undefined\r\n */\r\n private _toDate(date?: string): Date | undefined {\r\n if (date) {\r\n const dateParts = date.split('/');\r\n return new Date(+dateParts[2], +dateParts[1] - 1, +dateParts[0]);\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n}\r\n\r\nexport default DateRangeTrigger;\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 { ProactiveChatNames } from '../../helpers/consts';\r\nimport { TContextProvider } from '@msdyn365-commerce-modules/chat';\r\nimport ProactiveChatTrigger from './proactive-chat-trigger';\r\n\r\n/**\r\n * FromSpecificPageTrigger class - proactive chat is triggered if user has come from specific page (the one listed in config.proactiveOnFromSpecificPageList)\r\n */\r\nclass FromSpecificPageTrigger extends ProactiveChatTrigger {\r\n public async validate(): Promise {\r\n let isValid = false;\r\n if (this.props.config.proactiveOnFromSpecificPageList) {\r\n this.props.context.telemetry.debug(\r\n `[${FromSpecificPageTrigger.name}] Number of items in user-defined list of 'From Specific Page' was '${this.props.config.proactiveOnFromSpecificPageList?.length}'.`\r\n );\r\n for (let i = 0; i < (this.props.config.proactiveOnFromSpecificPageList?.length || 0); i++) {\r\n const fromSpecificPageTrimmed: string = this.props.config.proactiveOnFromSpecificPageList[i].trim();\r\n this.props.context.telemetry.debug(\r\n `[Chat][${FromSpecificPageTrigger.name}] Current page URL: '${window.document.referrer}'.`\r\n );\r\n this.props.context.telemetry.debug(\r\n `[${FromSpecificPageTrigger.name}] Current item from user-defined list of 'From Specific Page': '${fromSpecificPageTrimmed}'.`\r\n );\r\n\r\n if (window.document.referrer.indexOf(fromSpecificPageTrimmed) > -1) {\r\n isValid = true;\r\n break;\r\n }\r\n }\r\n } else {\r\n this.props.context.telemetry.debug(\r\n `[Chat][${FromSpecificPageTrigger.name}] User-defined 'From Specific Page' list was undefined.`\r\n );\r\n }\r\n this.props.context.telemetry.debug(`[Chat][${FromSpecificPageTrigger.name}] Validation returning '${isValid}'.`);\r\n return isValid;\r\n }\r\n public getContextProvider(): TContextProvider {\r\n return () => {\r\n return {\r\n ...this.context,\r\n eCommerceCustIsProactiveChat: 'True',\r\n eCommerceCustProactiveType: ProactiveChatNames.FromSpecificPage,\r\n eCommerceCustProactiveCameFromPage: window.document.referrer\r\n };\r\n };\r\n }\r\n public getMessage(): string {\r\n // @TODO: Add message processing if needed\r\n return this.props.config.proactiveOnFromSpecificPageMessage || this.props.config.proactiveDefaultMessage;\r\n }\r\n}\r\n\r\nexport default FromSpecificPageTrigger;\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 { ICookieContext } from '@msdyn365-commerce/core-internal/dist/types/interfaces/context/ICookieContext';\r\nimport { ProactiveChatNames } from '../../helpers/consts';\r\nimport { IChatContext, TContextProvider } from '@msdyn365-commerce-modules/chat';\r\nimport { IPvaChatConnectorViewProps } from '../../pva-chat-connector';\r\nimport ProactiveChatTrigger from './proactive-chat-trigger';\r\n\r\n/**\r\n * PageVisitTrigger class - proactive chat is triggered if user has visited current page for (config.proactiveOnPageVisitNumber) or more times\r\n */\r\nclass PageVisitTrigger extends ProactiveChatTrigger {\r\n public visits: number = 0;\r\n private cookieName: string = 'TimesPageVisited';\r\n private expdate: Date;\r\n private cookies: ICookieContext;\r\n\r\n constructor(props: IPvaChatConnectorViewProps, context: IChatContext) {\r\n super(props, context);\r\n this.cookies = this.props.context.request.cookies;\r\n this.expdate = new Date();\r\n // Set expiry date to 365 days.\r\n this.expdate.setTime(this.expdate.getTime() + 24 * 60 * 60 * 1000 * 365);\r\n this.props.context.telemetry.debug(`[Chat][${PageVisitTrigger.name}] Cookie expiry date set to: '${this.expdate}'.`);\r\n\r\n this.props.context.telemetry.debug(`[Chat][${PageVisitTrigger.name}] Cookie context is given: '${this.cookies.isConsentGiven()}'.`);\r\n if (this.cookies.isConsentGiven()) {\r\n this.cookies.setConsentCookie();\r\n }\r\n\r\n this._updateVisitCounter();\r\n }\r\n\r\n public async validate(): Promise {\r\n let retVal: boolean = false;\r\n\r\n if (this.props.config.proactiveOnPageVisitNumber) {\r\n retVal = this.visits >= this.props.config.proactiveOnPageVisitNumber;\r\n }\r\n\r\n this.props.context.telemetry.debug(`[Chat][${PageVisitTrigger.name}] Validation result: '${retVal}'.`);\r\n return retVal;\r\n }\r\n\r\n public clear(): void {\r\n this.props.context.telemetry.debug(`[Chat][${PageVisitTrigger.name}] Clearing cookie for page visit counter.`);\r\n this.cookies.set(this.cookieName, 0, {\r\n domain: window.location.hostname,\r\n path: window.location.pathname,\r\n expires: this.expdate\r\n });\r\n }\r\n\r\n public getContextProvider(): TContextProvider {\r\n return () => {\r\n return {\r\n ...this.context,\r\n eCommerceCustIsProactiveChat: 'True',\r\n eCommerceCustProactiveType: ProactiveChatNames.PageVisits,\r\n eCommerceCustProactiveNumberOfVisits: `${this.visits}`\r\n };\r\n };\r\n }\r\n\r\n public getMessage(): string {\r\n // @TODO: Add message processing if needed\r\n return this.props.config.proactiveOnPageVisitMessage || this.props.config.proactiveDefaultMessage;\r\n }\r\n\r\n private _updateVisitCounter(): void {\r\n this.visits = this.cookies.get(this.cookieName).value || 0;\r\n this.props.context.telemetry.debug(`[Chat][${PageVisitTrigger.name}] Page visit counter BEFORE update: '${this.visits}.`);\r\n ++this.visits;\r\n this.props.context.telemetry.debug(`[Chat][${PageVisitTrigger.name}] Page visit counter AFTER update: '${this.visits}.`);\r\n\r\n this.cookies.set(this.cookieName, this.visits, {\r\n domain: window.location.hostname,\r\n path: window.location.pathname,\r\n expires: this.expdate\r\n });\r\n }\r\n}\r\n\r\nexport default PageVisitTrigger;\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 { ProactiveChatNames } from '../../helpers/consts';\r\nimport { IExtendedRequest } from '../../interfaces';\r\nimport { IChatContext, TContextProvider } from '@msdyn365-commerce-modules/chat';\r\nimport { IPvaChatConnectorViewProps } from '../../pva-chat-connector';\r\nimport ProactiveChatTrigger from './proactive-chat-trigger';\r\n\r\n/**\r\n * SpecificPageTrigger class - proactive chat is triggered if user geographically uses the website from specific country/regions(config.proactiveOnSpecificCountryRegionCountry)\r\n */\r\nclass SpecificCountryRegionTrigger extends ProactiveChatTrigger {\r\n private customerCountryCode: string;\r\n constructor(props: IPvaChatConnectorViewProps, context: IChatContext) {\r\n super(props, context);\r\n this.customerCountryCode = (this.props.context.request).suggestedMarket || 'n/a';\r\n this.props.context.telemetry.debug(\r\n `[${SpecificCountryRegionTrigger.name}] Customer country code set to: '${this.customerCountryCode}.'`\r\n );\r\n }\r\n\r\n public async validate(): Promise {\r\n const retVal: boolean = this.props.config.proactiveOnSpecificLocation\r\n ? this.props.config.proactiveOnSpecificLocation.toLowerCase().indexOf(this.customerCountryCode.toLowerCase()) > -1\r\n : false;\r\n this.props.context.telemetry.debug(`[Chat][${SpecificCountryRegionTrigger.name}] Validation returning '${retVal}'.`);\r\n return retVal;\r\n }\r\n public getContextProvider(): TContextProvider {\r\n return () => {\r\n return {\r\n ...this.context,\r\n eCommerceCustIsProactiveChat: 'True',\r\n eCommerceCustProactiveCountryCode: this.props.config.proactiveOnSpecificLocation || '',\r\n eCommerceCustProactiveType: ProactiveChatNames.SpecificLocation\r\n };\r\n };\r\n }\r\n public getMessage(): string {\r\n // @TODO: Add message processing if needed\r\n return this.props.config.proactiveOnSpecificCountryRegionMessage || this.props.config.proactiveDefaultMessage;\r\n }\r\n}\r\n\r\nexport default SpecificCountryRegionTrigger;\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 { ProactiveChatNames } from '../../helpers/consts';\r\nimport { TContextProvider } from '@msdyn365-commerce-modules/chat';\r\nimport ProactiveChatTrigger from './proactive-chat-trigger';\r\n\r\n/**\r\n * SpecificPageTrigger class - proactive chat is triggered if current page is listed in config.proactiveOnSpecificPageList\r\n */\r\nclass SpecificPageTrigger extends ProactiveChatTrigger {\r\n public async validate(): Promise {\r\n let isValid = false;\r\n if (this.props.config.proactiveOnSpecificPageList) {\r\n this.props.context.telemetry.debug(\r\n `[${SpecificPageTrigger.name}] Number of items in user-defined list of 'Specific Pages' was '${this.props.config.proactiveOnSpecificPageList?.length}'.`\r\n );\r\n for (let i = 0; i < (this.props.config.proactiveOnSpecificPageList?.length || 0); i++) {\r\n const specificPageTrimmed: string = this.props.config.proactiveOnSpecificPageList[i].trim();\r\n this.props.context.telemetry.debug(`[] Current location URL: ${window.location.href}.`);\r\n this.props.context.telemetry.debug(`[] Current item from user-defined list of 'Specific Page': ${specificPageTrimmed}.`);\r\n if (window.location.href.indexOf(specificPageTrimmed) > -1) {\r\n isValid = true;\r\n break;\r\n }\r\n }\r\n } else {\r\n this.props.context.telemetry.debug(`[Chat][${SpecificPageTrigger.name}] User-defined 'Specific Page' list was undefined.`);\r\n }\r\n this.props.context.telemetry.debug(`[Chat][${SpecificPageTrigger.name}] Validation returning '${isValid}'.`);\r\n return isValid;\r\n }\r\n\r\n public getContextProvider(): TContextProvider {\r\n return () => {\r\n return {\r\n ...this.context,\r\n eCommerceCustIsProactiveChat: 'True',\r\n eCommerceCustProactiveType: ProactiveChatNames.SpecificPage\r\n };\r\n };\r\n }\r\n\r\n public getMessage(): string {\r\n // @TODO: Add message processing if needed\r\n return this.props.config.proactiveOnSpecificPageMessage || this.props.config.proactiveDefaultMessage;\r\n }\r\n}\r\n\r\nexport default SpecificPageTrigger;\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 { ProactiveChatNames } from '../../helpers/consts';\r\nimport { IChatContext, TContextProvider } from '@msdyn365-commerce-modules/chat';\r\nimport { IPvaChatConnectorViewProps } from '../../pva-chat-connector';\r\nimport ProactiveChatTrigger from './proactive-chat-trigger';\r\n\r\n/**\r\n * WaitOnTimeTrigger - proactive chat is triggered if user stays on current page for more than (config.proactiveOnWaitTimeSeconds) seconds\r\n */\r\nclass WaitOnTimeTrigger extends ProactiveChatTrigger {\r\n private waitTimeInMilliseconds: number | undefined;\r\n\r\n constructor(props: IPvaChatConnectorViewProps, context: IChatContext) {\r\n super(props, context);\r\n if (this.props.config.proactiveOnWaitTimeSeconds && !isNaN(this.props.config.proactiveOnWaitTimeSeconds)) {\r\n this.waitTimeInMilliseconds = Number(this.props.config.proactiveOnWaitTimeSeconds) * 1000;\r\n this.props.context.telemetry.debug(\r\n `[Chat][${WaitOnTimeTrigger.name}] Wait time (ms) set to: '${this.waitTimeInMilliseconds}'.`\r\n );\r\n }\r\n }\r\n\r\n public async validate(): Promise {\r\n const retVal: boolean = this.waitTimeInMilliseconds !== undefined;\r\n this.props.context.telemetry.debug(`[Chat][${WaitOnTimeTrigger.name}] Validation returning '${retVal}'.`);\r\n return retVal;\r\n }\r\n\r\n public getContextProvider(): TContextProvider {\r\n const triggerTime = Date.now() + (this.waitTimeInMilliseconds || 0);\r\n return () => {\r\n return triggerTime > Date.now()\r\n ? this.context\r\n : {\r\n ...this.context,\r\n eCommerceCustIsProactiveChat: 'True',\r\n eCommerceCustProactiveType: ProactiveChatNames.WaitOnTime,\r\n eCommerceCustProactiveTimeOnPage: `${this.waitTimeInMilliseconds ? this.waitTimeInMilliseconds : 0}`\r\n };\r\n };\r\n }\r\n\r\n public getMessage(): string {\r\n // @TODO: Add message processing if needed\r\n return this.props.config.proactiveOnWaitTimeMessage || this.props.config.proactiveDefaultMessage;\r\n }\r\n}\r\n\r\nexport default WaitOnTimeTrigger;\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 CartAmountTrigger from './triggers/cart-amount-trigger';\r\nimport CartNumberOfItemsTrigger from './triggers/cart-number-of-items-trigger';\r\nimport CartSpecificProductTrigger from './triggers/cart-specific-product-trigger';\r\nimport DateRangeTrigger from './triggers/date-range-trigger';\r\nimport FromSpecificPageTrigger from './triggers/from-specific-page-trigger';\r\nimport PageVisitTrigger from './triggers/page-visits-trigger';\r\nimport SpecificCountryRegionTrigger from './triggers/specific-CountryRegion-trigger';\r\nimport SpecificPageTrigger from './triggers/specific-page-trigger';\r\nimport WaitOnTimeTrigger from './triggers/wait-on-time-trigger';\r\n\r\ntype ProactiveChat =\r\n | typeof DateRangeTrigger\r\n | typeof SpecificPageTrigger\r\n | typeof FromSpecificPageTrigger\r\n | typeof PageVisitTrigger\r\n | typeof SpecificCountryRegionTrigger\r\n | typeof CartAmountTrigger\r\n | typeof CartNumberOfItemsTrigger\r\n | typeof CartSpecificProductTrigger\r\n | typeof WaitOnTimeTrigger;\r\n\r\n/**\r\n * List of Proactive Chat Validators in order of validation (first proactive chat that pass validation is triggered, the rest are ommited)\r\n */\r\nexport const ProactiveTriggers: ProactiveChat[] = [\r\n DateRangeTrigger,\r\n SpecificPageTrigger,\r\n FromSpecificPageTrigger,\r\n PageVisitTrigger,\r\n SpecificCountryRegionTrigger,\r\n CartAmountTrigger,\r\n CartNumberOfItemsTrigger,\r\n CartSpecificProductTrigger,\r\n WaitOnTimeTrigger\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 { IRequestContextUser } from '@msdyn365-commerce/core-internal/dist/types/interfaces/context/IRequestContext';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { ProactiveTriggers } from '../proactive';\r\nimport ProactiveChatTrigger from '../proactive/triggers/proactive-chat-trigger';\r\nimport { IPvaChatConnectorViewProps } from '../pva-chat-connector';\r\nimport { IProactiveData } from './../interfaces';\r\nimport { IChatContext, TContextProvider } from '@msdyn365-commerce-modules/chat';\r\n\r\n/**\r\n *\r\n * ContextProvider class - generates chat context, and checks for proactive triggers\r\n */\r\nclass ContextProvider {\r\n public data: IProactiveData;\r\n public props: IPvaChatConnectorViewProps;\r\n private user: IRequestContextUser;\r\n private userId: string;\r\n private context: IChatContext;\r\n private provider: TContextProvider | undefined;\r\n\r\n constructor(props: IPvaChatConnectorViewProps) {\r\n this.props = props;\r\n this.user = this.props.context.request.user;\r\n this.userId = `dl_${uuidv4()}`;\r\n this.context = this._getContext();\r\n // Proactive Chat related data\r\n this.data = {\r\n enabled: false,\r\n timeout: this.props.config.proactiveOnWaitTimeSeconds || 0,\r\n message: this.props.config.proactiveDefaultMessage\r\n };\r\n }\r\n\r\n /**\r\n * Executes Proactive Chat validation\r\n * @returns TContextProvider - a function returning IChatContext object\r\n */\r\n public async init(): Promise {\r\n try {\r\n await this._proactiveCheck();\r\n } catch (e) {\r\n // Use ?debug=true to see telemetry\r\n // If previous block fails, chat will still be available (no need to display any errors to user)\r\n this.props.telemetry.exception(e);\r\n }\r\n return this.provider || this._getProvider();\r\n }\r\n\r\n /**\r\n * Returns TContextProvider - a function returning IChatContext object\r\n */\r\n private _getProvider(): TContextProvider {\r\n return () => {\r\n return {\r\n eCommerceOperatingUnitNumber: this.props.context.request.apiSettings.oun,\r\n eCommerceBaseUrl: this.props.context.request.apiSettings.baseUrl,\r\n eCommerceDataAreaId: this.props.context.request.channel?.InventLocationDataAreaId,\r\n UserId: this.userId,\r\n // eCommerceCust...\r\n AccountNumber: this.user.customerAccountNumber ? this.user.customerAccountNumber : 'N/A',\r\n Email: this.user.emailAddress ? this.user.emailAddress : 'N/A',\r\n FirstName: this.user.firstName ? this.user.firstName : this.props.config.anonymousUserName,\r\n LastName: this.user.lastName ? this.user.lastName : 'N/A',\r\n Name: this.user.name ? this.user.name : this.props.config.anonymousUserName,\r\n eCommerceCustPageURL: window.location.href,\r\n eCommerceCustChatType: 'pva',\r\n // Proactive chat\r\n eCommerceCustIsProactiveChat: 'False',\r\n eCommerceCustProactiveType: 'N/A',\r\n // Date Range\r\n eCommerceCustProactiveFromDate: 'N/A',\r\n eCommerceCustProactiveToDate: 'N/A',\r\n // From Specific Page\r\n eCommerceCustProactiveCameFromPage: 'N/A',\r\n // No. Page Visits\r\n eCommerceCustProactiveNumberOfVisits: 'N/A',\r\n // Specific CountryRegion\r\n eCommerceCustProactiveCountryCode: 'N/A',\r\n // Specific Page => eCommerceCustPageURL\r\n // eCommerceCustProactiveSpecificPage: 'N/A',\r\n // Wait On Time\r\n eCommerceCustProactiveTimeOnPage: 'N/A',\r\n // Shopping cart amount\r\n eCommerceCustProactiveShoppingCartAmount: 'N/A',\r\n // Shopping cart number of items\r\n eCommerceCustProactiveShoppingCartNumberOfItems: 'N/A',\r\n // Shopping cart specific product\r\n eCommerceCustProactiveShoppingCartSpecificProduct: 'N/A'\r\n };\r\n };\r\n }\r\n\r\n /**\r\n * Returns default IChatContext object\r\n */\r\n private _getContext(): IChatContext {\r\n return this._getProvider()();\r\n }\r\n\r\n /**\r\n * Validates proactive triggers to check if proactive chat should be initialized\r\n */\r\n private async _proactiveCheck(): Promise {\r\n if (this.props.config.proactiveChatEnabled) {\r\n for (let i = 0; i < ProactiveTriggers.length; i++) {\r\n const proactive = new ProactiveTriggers[i](this.props, this.context);\r\n // Only first detected proactive trigger gets executed\r\n if (await this._isProactive(proactive)) {\r\n this.props.context.telemetry.debug(`First detected proactive trigger to be executed: ${proactive}`);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Validates if proactive chat should be triggered for given ProactiveTrigger\r\n * @param proactive ProactiveChatTrigger\r\n * @returns boolean\r\n */\r\n private async _isProactive(proactive: ProactiveChatTrigger): Promise {\r\n this.data.enabled = await proactive.validate();\r\n if (this.data.enabled) {\r\n this.provider = proactive.getContextProvider();\r\n this.data.message = proactive.getMessage();\r\n }\r\n return this.data.enabled;\r\n }\r\n}\r\n\r\nexport default ContextProvider;\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/**\r\n * Style generating functions\r\n */\r\n/* eslint-disable no-duplicate-imports */\r\nimport { IAvatarStyling, IBubbleStyling, IChatCustomStyle, IChatStyling, IOtherStyling, ISuggestedActionStyling } from '../interfaces';\r\nimport { IPvaChatConnectorConfig } from '../pva-chat-connector.props.autogenerated';\r\n\r\nconst getChatWrapperStyle = (config: IPvaChatConnectorConfig): React.CSSProperties => {\r\n return {\r\n position: config.position || 'inherit',\r\n top: config.top ? config.top : 'inherit',\r\n right: config.right ? config.right : 'inherit',\r\n bottom: config.bottom ? config.bottom : 'inherit',\r\n left: config.left ? config.left : 'inherit',\r\n zIndex: 1000,\r\n display: 'flex',\r\n justifyContent: 'flex-end'\r\n };\r\n};\r\n\r\nconst getMaximizedChatWrapperStyle = (config: IPvaChatConnectorConfig, isMobileDevice: boolean): React.CSSProperties => {\r\n if (isMobileDevice) {\r\n return {\r\n height: '90%',\r\n width: '100%',\r\n bottom: '0.5em',\r\n right: '0',\r\n padding: '5px'\r\n };\r\n }\r\n return {\r\n height: config.chatHeight ? config.chatHeight : '80%',\r\n width: config.chatWidth ? config.chatWidth : 'inherit'\r\n };\r\n};\r\n\r\nconst getChatButtonStyle = (config: IPvaChatConnectorConfig): React.CSSProperties => {\r\n return {\r\n display: 'flex',\r\n alignItems: 'center',\r\n backgroundColor: config.startChatButtonBackgroundColor || 'white',\r\n color: config.startChatButtonTextColor || 'inherit',\r\n borderColor: config.startChatButtonBorderColor || 'inherit',\r\n borderRadius: config.startChatButtonBorderRadius || '0px',\r\n borderStyle: config.startChatButtonBorderStyle || 'solid',\r\n borderWidth: config.startChatButtonBorderWidth ? config.startChatButtonBorderWidth : '0px',\r\n padding: config.storeLogoURL ? '2px 20px 2px 2px' : '10px 20px 10px 20px',\r\n cursor: 'pointer',\r\n outlineStyle: 'none',\r\n alignSelf: 'flex-end',\r\n boxShadow: '0 0 4px rgba(102,102,102,.5)',\r\n WebkitBoxShadow: '0 0 4px rgba(102,102,102,.5)',\r\n MozBoxShadow: '0 0 4px rgba(102,102,102,.5)'\r\n };\r\n};\r\n\r\nconst getButtonStoreLogoStyle = (config: IPvaChatConnectorConfig): React.CSSProperties => {\r\n return {\r\n backgroundColor: config.headerBackgroundColor || 'inherit',\r\n color: config.headerTextColor || 'inherit',\r\n borderRadius: '50%',\r\n padding: '11px',\r\n width: '30px',\r\n height: '30px',\r\n marginRight: '12px',\r\n borderStyle: 'solid',\r\n borderWidth: '1px',\r\n boxSizing: 'content-box'\r\n };\r\n};\r\n\r\nconst getChatStoreLogoStyle = (config: IPvaChatConnectorConfig): React.CSSProperties => {\r\n return {\r\n backgroundColor: config.headerBackgroundColor || 'inherit',\r\n color: config.headerTextColor || 'inherit',\r\n borderRadius: '50%',\r\n padding: '11px',\r\n width: '30px',\r\n height: '30px',\r\n margin: '5px 12px 5px 5px',\r\n alignSelf: 'center',\r\n borderStyle: 'solid',\r\n borderWidth: '1px',\r\n boxSizing: 'content-box'\r\n };\r\n};\r\n\r\nconst getChatMessagesStyle = (config: IPvaChatConnectorConfig, minimized: boolean): React.CSSProperties => {\r\n return {\r\n display: minimized ? 'none' : 'block',\r\n backgroundColor: config.backgroundColor || 'White',\r\n height: '100%',\r\n width: '100%',\r\n boxSizing: 'border-box',\r\n position: 'relative'\r\n };\r\n};\r\n\r\nconst getChatMessageHeader = (config: IPvaChatConnectorConfig): React.CSSProperties => {\r\n config.chatHeaderHeight = config.chatHeaderHeight || '70px';\r\n return {\r\n backgroundColor: config.headerBackgroundColor || 'inherit',\r\n backgroundImage: `url(\"${config.headerBackgroundImageURL}\")` || 'none',\r\n color: config.headerTextColor || 'inherit',\r\n backgroundRepeat: 'no-repeat',\r\n display: 'flex',\r\n alignItems: 'flex-start',\r\n flexDirection: 'row',\r\n width: '100%',\r\n position: 'absolute',\r\n top: config.chatHeaderHeight ? `-${config.chatHeaderHeight}` : '',\r\n height: config.chatHeaderHeight,\r\n borderColor: config.headerBackgroundColor ? config.headerBackgroundColor : 'inherit',\r\n borderStyle: config.chatBorderStyle ? config.chatBorderStyle : 'none',\r\n borderWidth: config.chatBorderWidth ? config.chatBorderWidth : '0px'\r\n };\r\n};\r\n\r\nconst getMinimizeButtonStyle = (config: IPvaChatConnectorConfig): React.CSSProperties => {\r\n config.chatHeaderHeight = config.chatHeaderHeight || '70px';\r\n return {\r\n borderTop: 'none',\r\n borderLeft: 'none',\r\n borderRight: 'none',\r\n borderBottom: `solid 2px ${config.headerTextColor || 'White'}`,\r\n backgroundColor: 'transparent',\r\n padding: '5px 10px 3px 10px',\r\n cursor: 'pointer',\r\n outlineStyle: 'none',\r\n marginTop: '7px',\r\n marginRight: '7px'\r\n };\r\n};\r\n\r\nconst getCloseButtonStyle = (config: IPvaChatConnectorConfig): React.CSSProperties => {\r\n config.chatHeaderHeight = config.chatHeaderHeight || '70px';\r\n return {\r\n border: 'none',\r\n color: config.headerTextColor || 'White',\r\n backgroundColor: 'transparent',\r\n padding: '0px 0px 0px 7px',\r\n cursor: 'pointer',\r\n outlineStyle: 'none',\r\n marginTop: '7px',\r\n marginRight: '7px'\r\n };\r\n};\r\n\r\nconst getChatMessageContent = (config: IPvaChatConnectorConfig): React.CSSProperties => {\r\n config.chatHeaderHeight = config.chatHeaderHeight || '70px';\r\n return {\r\n height: '100%',\r\n width: '100%',\r\n borderColor: config.chatBorderColor ? config.chatBorderColor : 'inherit',\r\n borderStyle: config.chatBorderStyle ? config.chatBorderStyle : 'none',\r\n borderWidth: config.chatBorderWidth ? config.chatBorderWidth : '0px'\r\n };\r\n};\r\n\r\nconst getProactiveWrapperStyle = (config: IPvaChatConnectorConfig): React.CSSProperties => {\r\n return {\r\n flexDirection: 'column',\r\n display: 'flex',\r\n justifyContent: 'flex-end',\r\n backgroundColor: config.backgroundColor || 'White'\r\n };\r\n};\r\n\r\nconst getProactiveMessageHeader = (config: IPvaChatConnectorConfig): React.CSSProperties => {\r\n config.chatHeaderHeight = config.chatHeaderHeight || '70px';\r\n return {\r\n backgroundColor: config.headerBackgroundColor || 'inherit',\r\n backgroundImage: `url(\"${config.headerBackgroundImageURL}\")` || 'none',\r\n color: config.headerTextColor || 'inherit',\r\n backgroundRepeat: 'no-repeat',\r\n display: 'flex',\r\n alignItems: 'flex-start',\r\n flexDirection: 'row',\r\n boxSizing: 'border-box',\r\n width: '100%',\r\n height: config.chatHeaderHeight,\r\n borderColor: config.headerBackgroundColor ? config.headerBackgroundColor : 'inherit',\r\n borderStyle: config.chatBorderStyle ? config.chatBorderStyle : 'none',\r\n borderWidth: config.chatBorderWidth ? config.chatBorderWidth : '0px'\r\n };\r\n};\r\n\r\nconst getProactiveMessageContent = (config: IPvaChatConnectorConfig): React.CSSProperties => {\r\n config.chatHeaderHeight = config.chatHeaderHeight || '70px';\r\n return {\r\n width: '100%',\r\n padding: '10px 20px',\r\n boxSizing: 'border-box',\r\n borderColor: config.chatBorderColor ? config.chatBorderColor : 'inherit',\r\n borderStyle: config.chatBorderStyle ? config.chatBorderStyle : 'none',\r\n borderWidth: config.chatBorderWidth ? config.chatBorderWidth : '0px'\r\n };\r\n};\r\n\r\nconst getProactiveButtonStyle = (config: IPvaChatConnectorConfig): React.CSSProperties => {\r\n config.chatHeaderHeight = config.chatHeaderHeight || '70px';\r\n return {\r\n color: config.headerTextColor || 'inherit',\r\n cursor: 'pointer',\r\n padding: '5px 10px',\r\n outline: 'none',\r\n border: 'none',\r\n backgroundColor: config.headerBackgroundColor || 'inherit',\r\n borderRadius: '25px'\r\n };\r\n};\r\n\r\nconst getRedDotStyle = (config: IPvaChatConnectorConfig): React.CSSProperties => {\r\n return {\r\n background: 'Red',\r\n borderRadius: '50%',\r\n height: '5px',\r\n width: '5px',\r\n position: 'absolute',\r\n right: '10px',\r\n bottom: '33px'\r\n };\r\n};\r\n\r\n/**\r\n * Generates styles for the chat wrapper, and proactive chat parts\r\n * @param config IPvaChatConnectorConfig\r\n * @param minimized boolean\r\n * @returns IChatCustomStyle\r\n */\r\nexport const getChatStyling = (config: IPvaChatConnectorConfig, minimized: boolean, isMobileDevice: boolean): IChatCustomStyle => {\r\n return {\r\n ChatWrapperStyle: getChatWrapperStyle(config),\r\n MaximizedChatWrapperStyle: getMaximizedChatWrapperStyle(config, isMobileDevice),\r\n ChatButtonStyle: getChatButtonStyle(config),\r\n ButtonStoreLogoStyle: getButtonStoreLogoStyle(config),\r\n ChatStoreLogoStyle: getChatStoreLogoStyle(config),\r\n ChatMessagesStyle: getChatMessagesStyle(config, minimized),\r\n ChatMessageHeader: getChatMessageHeader(config),\r\n MinimizeButtonStyle: getMinimizeButtonStyle(config),\r\n CloseButtonStyle: getCloseButtonStyle(config),\r\n ChatMessageContent: getChatMessageContent(config),\r\n ProactiveWrapperStyle: getProactiveWrapperStyle(config),\r\n ProactiveMessageHeader: getProactiveMessageHeader(config),\r\n ProactiveMessageContent: getProactiveMessageContent(config),\r\n ProactiveButtonStyle: getProactiveButtonStyle(config),\r\n RedDotStyle: getRedDotStyle(config)\r\n };\r\n};\r\n\r\nconst fontFormat = (font?: string): string | undefined => {\r\n if (font && font.length > 0) {\r\n const arr = font.split(',');\r\n for (let i = 0; i < arr.length; i++) {\r\n arr[i] = `'${arr[i].trim()}'`;\r\n }\r\n font = arr.join(', ');\r\n } else {\r\n font = \"'Calibri', 'Helvetica Neue', 'Arial', 'sans-serif'\";\r\n }\r\n\r\n return font;\r\n};\r\n\r\nconst getBubbleStyling = (config: IPvaChatConnectorConfig): IBubbleStyling => {\r\n return {\r\n bubbleBackground: config.bubbleBackground || 'White',\r\n bubbleTextColor: config.bubbleTextColor || 'Black',\r\n bubbleBorderColor: config.bubbleBorderColor || '#e6e6e6',\r\n bubbleBorderRadius: config.bubbleBorderRadius || '2',\r\n bubbleBorderStyle: config.bubbleBorderStyle || 'solid',\r\n bubbleBorderWidth: config.bubbleBorderWidth || '1',\r\n bubbleFromUserBackground: config.bubbleFromUserBackground || 'White',\r\n bubbleFromUserTextColor: config.bubbleFromUserTextColor || 'Black',\r\n bubbleFromUserBorderColor: config.bubbleFromUserBorderColor || '#e6e6e6',\r\n bubbleFromUserBorderRadius: config.bubbleFromUserBorderRadius || '2',\r\n bubbleFromUserBorderStyle: config.bubbleFromUserBorderStyle || 'solid',\r\n bubbleFromUserBorderWidth: config.bubbleFromUserBorderWidth || '1'\r\n };\r\n};\r\n\r\n// eslint-disable-next-line complexity\r\nconst getOtherStyling = (config: IPvaChatConnectorConfig): IOtherStyling => {\r\n return {\r\n groupTimestamp: config.groupTimestamp || true,\r\n sendTimeout: config.sendTimeout || '20000',\r\n sendTimeoutForAttachments: config.sendTimeoutForAttachments || '120000',\r\n timestampColor: config.timestampColor || 'undefined',\r\n timestampFormat: config.timestampFormat || 'undefined',\r\n notificationDebounceTimeout: config.notificationDebounceTimeout || '400',\r\n hideToaster: config.hideToaster || true,\r\n toasterHeight: config.toasterHeight || '32',\r\n toasterMaxHeight: config.toasterMaxHeight || '32 * 5',\r\n toasterSingularMaxHeight: config.toasterSingularMaxHeight || '50',\r\n toastFontSize: config.toastFontSize || '87.5%',\r\n toastIconWidth: config.toastIconWidth || '36',\r\n toastSeparatorColor: config.toastSeparatorColor || '#E8EAEC',\r\n toastTextPadding: config.toastTextPadding || '6',\r\n toastErrorBackgroundColor: config.toastErrorBackgroundColor || '#FDE7E9',\r\n toastErrorColor: config.toastErrorColor || '#A80000',\r\n toastInfoBackgroundColor: config.toastInfoBackgroundColor || '#CEF1FF',\r\n toastInfoColor: config.toastInfoColor || '#105E7D',\r\n toastSuccessBackgroundColor: config.toastSuccessBackgroundColor || '#DFF6DD',\r\n toastSuccessColor: config.toastSuccessColor || '#107C10',\r\n toastWarnBackgroundColor: config.toastWarnBackgroundColor || '#FFF4CE',\r\n toastWarnColor: config.toastWarnColor || '#3B3A39',\r\n typingAnimationBackgroundImage: config.typingAnimationBackgroundImage || 'undefined',\r\n typingAnimationDuration: config.typingAnimationDuration || '5000',\r\n typingAnimationHeight: config.typingAnimationHeight || '20',\r\n typingAnimationWidth: config.typingAnimationWidth || '64',\r\n videoHeight: config.videoHeight || '270',\r\n markdownExternalLinkIconImage:\r\n config.markdownExternalLinkIconImage ||\r\n 'url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIzIDMgMTggMTgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTcuMjUwMSA0LjUwMDE3SDEwLjc0OTVDMTEuMTYzNyA0LjUwMDE3IDExLjQ5OTUgNC44MzU5NiAxMS40OTk1IDUuMjUwMTdDMTEuNDk5NSA1LjYyOTg2IDExLjIxNzMgNS45NDM2NiAxMC44NTEzIDUuOTkzMzJMMTAuNzQ5NSA2LjAwMDE3SDcuMjQ5NzRDNi4wNzA3OSA1Ljk5OTYxIDUuMTAzNDkgNi45MDY1NiA1LjAwNzg2IDguMDYxMTJMNS4wMDAyOCA4LjIyMDAzTDUuMDAzMTIgMTYuNzUwN0M1LjAwMzQzIDE3Ljk0MTUgNS45Mjg4NSAxOC45MTYxIDcuMDk5NjYgMTguOTk0OUw3LjI1MzcxIDE5LjAwMDFMMTUuNzUxOCAxOC45ODg0QzE2Ljk0MTUgMTguOTg2OCAxNy45MTQ1IDE4LjA2MiAxNy45OTM1IDE2Ljg5MjNMMTcuOTk4NyAxNi43Mzg0VjEzLjIzMjFDMTcuOTk4NyAxMi44MTc5IDE4LjMzNDUgMTIuNDgyMSAxOC43NDg3IDEyLjQ4MjFDMTkuMTI4NCAxMi40ODIxIDE5LjQ0MjIgMTIuNzY0MyAxOS40OTE4IDEzLjEzMDNMMTkuNDk4NyAxMy4yMzIxVjE2LjczODRDMTkuNDk4NyAxOC43NDA3IDE3LjkyOTMgMjAuMzc2OSAxNS45NTI4IDIwLjQ4MjlMMTUuNzUzOCAyMC40ODg0TDcuMjU4MjcgMjAuNTAwMUw3LjA1NDk1IDIwLjQ5NDlDNS4xNDIzOSAyMC4zOTU0IDMuNjA4OTUgMTguODYyNyAzLjUwODM3IDE2Ljk1MDJMMy41MDMxMiAxNi43NTExTDMuNTAwODkgOC4yNTI3TDMuNTA1MjkgOC4wNTAyQzMuNjA1MzkgNi4xMzc0OSA1LjEzODY3IDQuNjA0NDkgNy4wNTA5NiA0LjUwNTI3TDcuMjUwMSA0LjUwMDE3SDEwLjc0OTVINy4yNTAxWk0xMy43NDgxIDMuMDAxNDZMMjAuMzAxOCAzLjAwMTk3TDIwLjQwMTQgMy4wMTU3NUwyMC41MDIyIDMuMDQzOTNMMjAuNTU5IDMuMDY4MDNDMjAuNjEyMiAzLjA5MTIyIDIwLjY2MzQgMy4xMjE2MyAyMC43MTExIDMuMTU4ODVMMjAuNzgwNCAzLjIyMTU2TDIwLjg2NDEgMy4zMjAxNEwyMC45MTgzIDMuNDEwMjVMMjAuOTU3IDMuNTAwNTdMMjAuOTc2MiAzLjU2NDc2TDIwLjk4OTggMy42Mjg2MkwyMC45OTkyIDMuNzIyODJMMjAuOTk5NyAxMC4yNTU0QzIwLjk5OTcgMTAuNjY5NiAyMC42NjM5IDExLjAwNTQgMjAuMjQ5NyAxMS4wMDU0QzE5Ljg3IDExLjAwNTQgMTkuNTU2MiAxMC43MjMyIDE5LjUwNjUgMTAuMzU3MUwxOS40OTk3IDEwLjI1NTRMMTkuNDk4OSA1LjU2MTQ3TDEyLjI3OTcgMTIuNzg0N0MxMi4wMTM0IDEzLjA1MSAxMS41OTY4IDEzLjA3NTMgMTEuMzAzMSAxMi44NTc1TDExLjIxOSAxMi43ODQ5QzEwLjk1MjcgMTIuNTE4NyAxMC45Mjg0IDEyLjEwMjEgMTEuMTQ2MiAxMS44MDg0TDExLjIxODggMTEuNzI0M0wxOC40MzY5IDQuNTAxNDZIMTMuNzQ4MUMxMy4zNjg0IDQuNTAxNDYgMTMuMDU0NiA0LjIxOTMxIDEzLjAwNSAzLjg1MzI0TDEyLjk5ODEgMy43NTE0NkMxMi45OTgxIDMuMzcxNzcgMTMuMjgwMyAzLjA1Nzk3IDEzLjY0NjQgMy4wMDgzMUwxMy43NDgxIDMuMDAxNDZaIiBmaWxsPSIjMjEyMTIxIiAvPjwvc3ZnPg==)',\r\n markdownRespectCRLF: config.markdownRespectCRLF || 'true',\r\n internalLiveRegionFadeAfter: config.internalLiveRegionFadeAfter || '1000',\r\n accent: config.accent || '#0063B1',\r\n subtle: config.subtle || '#767676'\r\n };\r\n};\r\n\r\nconst getAvatarStyling = (config: IPvaChatConnectorConfig): IAvatarStyling => {\r\n return {\r\n avatarBorderRadius: config.avatarBorderRadius || '50%',\r\n avatarSize: config.avatarSize || '40',\r\n botAvatarBackgroundColor: config.botAvatarBackgroundColor || 'undefined',\r\n botAvatarImage: config.botAvatarImage || '',\r\n botAvatarInitials: config.botAvatarInitials || '',\r\n userAvatarBackgroundColor: config.userAvatarBackgroundColor || 'undefined',\r\n userAvatarImage: config.userAvatarImage || '',\r\n userAvatarInitials: config.userAvatarInitials || '',\r\n showAvatarInGroup: config.showAvatarInGroup || 'status'\r\n };\r\n};\r\n\r\nconst getSuggestedActionStyling = (config: IPvaChatConnectorConfig): ISuggestedActionStyling => {\r\n return {\r\n suggestedActionLayout: config.suggestedActionLayout || 'carousel',\r\n suggestedActionBackground: config.suggestedActionBackground || 'White',\r\n suggestedActionTextColor: config.suggestedActionTextColor || '',\r\n suggestedActionBorderColor: config.suggestedActionBorderColor || '',\r\n suggestedActionBorderRadius: config.suggestedActionBorderRadius || '0',\r\n suggestedActionBorderStyle: config.suggestedActionBorderStyle || 'solid',\r\n suggestedActionBorderWidth: config.suggestedActionBorderWidth || '2',\r\n suggestedActionDisabledBorderStyle: config.suggestedActionDisabledBorderStyle || 'solid',\r\n suggestedActionDisabledBorderWidth: config.suggestedActionDisabledBorderWidth || '2',\r\n suggestedActionDisabledTextColor: config.suggestedActionDisabledTextColor || '',\r\n suggestedActionHeight: config.suggestedActionHeight || '40',\r\n suggestedActionImageHeight: config.suggestedActionImageHeight || '20',\r\n suggestedActionsCarouselFlipperCursor: config.suggestedActionsCarouselFlipperCursor || '',\r\n suggestedActionsCarouselFlipperBoxWidth: config.suggestedActionsCarouselFlipperBoxWidth || '40',\r\n suggestedActionsCarouselFlipperSize: config.suggestedActionsCarouselFlipperSize || '20',\r\n suggestedActionsFlowMaxHeight: config.suggestedActionsFlowMaxHeight || '',\r\n suggestedActionsStackedHeight: config.suggestedActionsStackedHeight || '',\r\n suggestedActionsStackedOverflow: config.suggestedActionsStackedOverflow || '2',\r\n suggestedActionsStackedLayoutButtonMaxHeight: config.suggestedActionsStackedLayoutButtonMaxHeight || '',\r\n suggestedActionsStackedLayoutButtonTextWrap: config.suggestedActionsStackedLayoutButtonTextWrap || false\r\n };\r\n};\r\n\r\n/**\r\n * Generates style options for the Botframework-WebChat widget\r\n * @param config IPvaChatConnectorConfig\r\n * @returns IChatStyling\r\n */\r\nexport const getChatStyleOptions = (config: IPvaChatConnectorConfig): IChatStyling => {\r\n const bubbleStyling = getBubbleStyling(config);\r\n const avatarStyling = getAvatarStyling(config);\r\n const suggestedActionStyling = getSuggestedActionStyling(config);\r\n const otherStyling = getOtherStyling(config);\r\n return {\r\n hideUploadButton: true,\r\n primaryFont: fontFormat(config.primaryFont),\r\n backgroundColor: config.backgroundColor || 'White',\r\n ...bubbleStyling,\r\n ...avatarStyling,\r\n ...suggestedActionStyling,\r\n ...otherStyling\r\n };\r\n};\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport React from 'react';\r\nimport { IAction, IDispatch, INext } from '../interfaces';\r\nimport { TContextProvider } from '@msdyn365-commerce-modules/chat';\r\nimport { IPvaChatConnectorViewProps } from '../pva-chat-connector';\r\n\r\nexport class CommerceChatStore {\r\n private props: IPvaChatConnectorViewProps;\r\n private setNewMessageAction: React.Dispatch>;\r\n private provider?: TContextProvider;\r\n\r\n /**\r\n * Gets conversation token\r\n * @param props IPvaChatConnectorViewProps\r\n */\r\n public static async getDirectLineToken(props: IPvaChatConnectorViewProps): Promise {\r\n if (props.config.powervaDirectlineTokenURL && props.config.botID && props.config.tenantID) {\r\n // use direct line token url, bot id and tenant id from module config to get conversation token\r\n const url = `${props.config.powervaDirectlineTokenURL}?botId=${props.config.botID}&tenantId=${props.config.tenantID}`;\r\n const options = { method: 'GET' };\r\n return fetch(url, options)\r\n .then(r => r.json())\r\n .then(r => {\r\n if (r.token) {\r\n return r.token;\r\n } else {\r\n throw r;\r\n }\r\n });\r\n }\r\n\r\n // use direct line token url, bot id and tenant id from app config to get conversation token\r\n const url = `${props.context.app.config.pvaChatConnectorPowervaDirectlineTokenURL}?botId=${props.context.app.config.pvaChatConnectorBotID}&tenantId=${props.context.app.config.pvaChatConnectorTenantID}`;\r\n const options = {\r\n method: 'GET'\r\n };\r\n return fetch(url, options)\r\n .then(r => r.json())\r\n .then(r => {\r\n if (r.token) {\r\n return r.token;\r\n } else {\r\n throw r;\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Creates a new instance of commerce store for WebChat\r\n * @param props IPvaChatConnectorViewProps\r\n * @param provider TContextProvider\r\n * @param setNewMessage React.Dispatch>\r\n */\r\n constructor(\r\n props: IPvaChatConnectorViewProps,\r\n provider: TContextProvider | undefined,\r\n setNewMessage: React.Dispatch>\r\n ) {\r\n this.props = props;\r\n this.provider = provider;\r\n this.setNewMessageAction = setNewMessage;\r\n }\r\n\r\n /**\r\n * Handles custom chat actions\r\n * @param param0 {\r\n * dispatch: IDispatch;\r\n * next: INext;\r\n * action: IAction;\r\n * }\r\n */\r\n public async actionHandler({ dispatch, next, action }: { dispatch: IDispatch; next: INext; action: IAction }): Promise {\r\n const atype = action.type;\r\n\r\n switch (atype) {\r\n case 'DIRECT_LINE/CONNECT_FULFILLED': {\r\n // sets language\r\n dispatch({\r\n type: 'WEB_CHAT/SEND_EVENT',\r\n payload: {\r\n name: 'webchat/join',\r\n value: { language: window.navigator.language }\r\n }\r\n });\r\n break;\r\n }\r\n case 'DIRECT_LINE/INCOMING_ACTIVITY': {\r\n const activity = action.payload.activity;\r\n if (activity?.from?.role === 'bot') {\r\n // Sets flag for new message (will be use to indicate new messages from bot when chat is minimized)\r\n this.setNewMessageAction(true);\r\n }\r\n break;\r\n }\r\n case 'DIRECT_LINE/POST_ACTIVITY_FULFILLED': {\r\n switch (action.payload.activity.name) {\r\n case 'webchat/join':\r\n {\r\n if (this.provider !== undefined) {\r\n // Sets Chat Context\r\n dispatch({\r\n type: 'WEB_CHAT/SEND_EVENT',\r\n payload: {\r\n name: 'pvaSetContext',\r\n value: this.provider()\r\n }\r\n });\r\n }\r\n }\r\n break;\r\n case 'pvaSetContext':\r\n {\r\n if (this.props.config.triggerQuery) {\r\n // Initialize chat after Chat Context is set\r\n dispatch({\r\n type: 'WEB_CHAT/SEND_MESSAGE_BACK',\r\n payload: {\r\n text: this.props.config.triggerQuery\r\n }\r\n });\r\n }\r\n }\r\n break;\r\n default: {\r\n // default nothing\r\n }\r\n }\r\n break;\r\n }\r\n default: {\r\n // default nothing\r\n }\r\n }\r\n\r\n return next(action);\r\n }\r\n}\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport React, { FunctionComponent, useMemo, useState } from 'react';\r\nimport { getChatStyleOptions } from '../helpers/StyleComposers';\r\nimport { IChatCoreProps, IAction, IDispatch } from '../interfaces';\r\nimport { CommerceChatStore } from '../helpers/CommerceChatStore';\r\nimport { IPvaChatConnectorConfig } from '../pva-chat-connector.props.autogenerated';\r\n\r\n/**\r\n * Just a core Chat component\r\n * @param props\r\n */\r\n\r\nconst TermsAndConditionsLink = ({ href }: { href?: string }) => {\r\n return (\r\n

\r\n By using this bot, you agree to these \r\n \r\n terms and conditions\r\n \r\n

\r\n );\r\n};\r\n\r\nconst CustomWebChat = ({ config }: { config: IPvaChatConnectorConfig }) => {\r\n const { Components } = window.WebChat;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst ChatCore: FunctionComponent = (props: IChatCoreProps) => {\r\n const { Components } = window.WebChat;\r\n\r\n const [userId, setUserId] = useState('');\r\n useMemo(() => {\r\n if (props.provider) {\r\n const ctx = props.provider();\r\n if (ctx.UserId) {\r\n setUserId(typeof ctx.UserId === 'string' ? ctx.UserId : ctx.UserId.value.toString());\r\n }\r\n }\r\n }, [props.provider]);\r\n\r\n const directLine = useMemo(() => {\r\n return window.WebChat.createDirectLine({ token: props.directLineToken });\r\n }, [props.directLineToken]);\r\n\r\n const commerceChatStore = useMemo(() => {\r\n if (directLine && props.provider) {\r\n return new CommerceChatStore(props.config, props.provider, props.setNewMessage);\r\n }\r\n return undefined;\r\n }, [props.provider, directLine]);\r\n\r\n const store = useMemo(() => {\r\n return window.WebChat.createStore(\r\n {},\r\n ({ dispatch }: { dispatch: IDispatch }) => (next: (action: IAction) => IDispatch) => (action: IAction) => {\r\n commerceChatStore?.actionHandler({ dispatch, next, action });\r\n }\r\n );\r\n }, [commerceChatStore]);\r\n const styleOptions = getChatStyleOptions(props.config.config);\r\n\r\n return props.directLineToken !== '' ? (\r\n \r\n \r\n \r\n ) : (\r\n

Please wait while we are connecting.

\r\n );\r\n};\r\n\r\nexport default ChatCore;\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 React, { FunctionComponent, useEffect, useState } from 'react';\r\nimport { isMobile, VariantType } from '@msdyn365-commerce-modules/utilities';\r\nimport ContextProvider from '../helpers/ContextProvider';\r\nimport { getChatStyling } from '../helpers/StyleComposers';\r\nimport { TContextProvider } from '@msdyn365-commerce-modules/chat';\r\nimport { IPvaChatConnectorViewProps } from '../pva-chat-connector';\r\nimport { CommerceChatStore } from '../helpers';\r\nimport ChatCore from './ChatCore';\r\n\r\nconst INVALID_TOKEN = 'INVALID_TOKEN';\r\nconst CLOSE_IMG_DATA =\r\n 'M443.6,387.1L312.4,255.4l131.5-130c5.4-5.4,5.4-14.2,0-19.6l-37.4-37.6c-2.6-2.6-6.1-4-9.8-4c-3.7,0-7.2,1.5-9.8,4 L256,197.8L124.9,68.3c-2.6-2.6-6.1-4-9.8-4c-3.7,0-7.2,1.5-9.8,4L68,105.9c-5.4,5.4-5.4,14.2,0,19.6l131.5,130L68.4,387.1 c-2.6,2.6-4.1,6.1-4.1,9.8c0,3.7,1.4,7.2,4.1,9.8l37.4,37.6c2.7,2.7,6.2,4.1,9.8,4.1c3.5,0,7.1-1.3,9.8-4.1L256,313.1l130.7,131.1 c2.7,2.7,6.2,4.1,9.8,4.1c3.5,0,7.1-1.3,9.8-4.1l37.4-37.6c2.6-2.6,4.1-6.1,4.1-9.8C447.7,393.2,446.2,389.7,443.6,387.1z';\r\n\r\n/**\r\n * Outer chat component, displays chat button, and proactive chat, and handles custom actions\r\n * @param props IPvaChatConnectorViewProps\r\n */\r\nconst Chat: FunctionComponent = (props: IPvaChatConnectorViewProps) => {\r\n const [loaded, setLoaded] = useState(false); // loaded & minimized are needed as ChatWidget should not be removed from DOM (it resets chat)\r\n const [minimized, setMinimized] = useState(true);\r\n const [newMessage, setNewMessage] = useState(false); // TODO: use this to indicate new message in minimized chat\r\n const [token, setToken] = useState(''); // holds conversation token for WebChat\r\n const [isProactive, setIsProactive] = useState(false); // if proactive chat is triggered\r\n const [proactiveMessage, setProactiveMessage] = useState(props.config.proactiveDefaultMessage);\r\n const [closed, setClosed] = useState(false);\r\n const [provider, setProvider] = useState();\r\n const isMobileDevice =\r\n isMobile({ variant: VariantType.Browser, context: props.context.request }) === 'xs' ||\r\n isMobile({ variant: VariantType.Viewport, context: props.context.request }) === 'xs';\r\n const chatStyle = getChatStyling(props.config, minimized, isMobileDevice); // generates chat style objects based on configuration\r\n const handleMaximizeButtonClick = () => {\r\n setLoaded(true);\r\n setMinimized(false);\r\n setNewMessage(false);\r\n };\r\n const handleMinimizeButtonClick = () => {\r\n setMinimized(true);\r\n setNewMessage(false);\r\n };\r\n const handleCloseButtonClick = () => {\r\n setClosed(true);\r\n setLoaded(false);\r\n setMinimized(true);\r\n setNewMessage(false);\r\n setIsProactive(false);\r\n };\r\n useEffect(() => {\r\n if (loaded) {\r\n CommerceChatStore.getDirectLineToken(props)\r\n .then(directLineToken => {\r\n setToken(directLineToken);\r\n })\r\n .catch(e => {\r\n setToken(INVALID_TOKEN);\r\n props.telemetry.exception(e);\r\n });\r\n }\r\n }, [loaded]);\r\n useEffect(() => {\r\n (async () => {\r\n const contextProvider = new ContextProvider(props); // Generates context (provider) and checks for proactive chat triggers\r\n const prov = await contextProvider.init();\r\n if (contextProvider.data.enabled) {\r\n props.context.telemetry.debug(`[Chat] Proactive chat was enabled: '${contextProvider.data.enabled}'.`);\r\n // if proactive chat is triggered\r\n const timeout = contextProvider.data.timeout * 1000; // timeout is there only for WaitOnTime trigger\r\n setTimeout(() => {\r\n if (!loaded) {\r\n props.context.telemetry.debug(`[Chat] Proactive chat was loaded: ${loaded}.`);\r\n setProactiveMessage(contextProvider.data.message);\r\n setIsProactive(true);\r\n }\r\n }, timeout);\r\n }\r\n setProvider(() => prov);\r\n })().catch(e => props.telemetry.exception(e));\r\n }, []);\r\n useEffect(() => {\r\n if (closed) {\r\n setClosed(false);\r\n }\r\n }, [token, provider]);\r\n const isValidToken = (): boolean => {\r\n return `${token}` !== INVALID_TOKEN;\r\n };\r\n return (\r\n \r\n {minimized && (!isProactive || (isProactive && loaded)) && (\r\n \r\n )}\r\n {minimized && isProactive && !loaded && (\r\n
\r\n
\r\n {props.config.storeLogoURL && (\r\n logo\r\n )}\r\n
\r\n
\r\n
\r\n

{proactiveMessage}

\r\n \r\n
\r\n
\r\n )}\r\n {loaded && isValidToken() && (\r\n
\r\n
\r\n {props.config.storeLogoURL && (\r\n logo\r\n )}\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n {!isValidToken() &&
{props.config.unableToLoadChatMessage}
}\r\n
\r\n );\r\n};\r\n\r\nexport default Chat;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport * as React from 'react';\r\nimport Chat from './components/Chat';\r\nimport { IPvaChatConnectorViewProps } from './pva-chat-connector';\r\n\r\nexport default (props: IPvaChatConnectorViewProps) => {\r\n // Only for CDN loading check, won't be needed with npm package of Botframework-WebChat\r\n const [loaded, setLoaded] = React.useState(false);\r\n\r\n // Just to verify that CDN Chat Widget js lib is loaded\r\n // Remove this block if moving to npm package of Botframework-WebChat\r\n const interval = setInterval(() => {\r\n const t = typeof window;\r\n if (t !== 'undefined' && window.WebChat) {\r\n setLoaded(true);\r\n clearInterval(interval);\r\n }\r\n }, 100);\r\n\r\n return
{loaded && }
;\r\n};\r\n","import { ICookieContext } from '@msdyn365-commerce/core-internal/dist/types';\r\nconst FEATURE_COOKIE_KEY = 'features';\r\n\r\nexport const getFeatureToggleService = (cookieContext: ICookieContext, serverFeatures: string[]) => {\r\n const getFeaturesCookie = (cookieContext: ICookieContext) => cookieContext.get(FEATURE_COOKIE_KEY);\r\n\r\n const getEnabledFeatures = (): string[] => {\r\n const featuresCookie = getFeaturesCookie(cookieContext).value;\r\n const clientFeatures = featuresCookie ? featuresCookie.split(',').map(feature => feature.trim()) : [];\r\n return clientFeatures.concat(serverFeatures);\r\n };\r\n\r\n const isFeatureEnabled = (featureName: string): boolean => getEnabledFeatures().includes(featureName);\r\n return {\r\n getEnabledFeatures,\r\n isFeatureEnabled\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 { IContentBlockViewProps } from '@msdyn365-commerce-modules/content-block/src/modules/content-block/./content-block';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { Image, /*IImageSettings, IImageProps*/ } from \"@msdyn365-commerce/core\";\r\nimport { getFeatureToggleService } from '../../../services/featureToggleService';\r\nimport { IContentBlockConfig } from '../definition-extensions/content-block.ext.props.autogenerated';\r\n\r\n\r\nconst DEFAULT_IMAGE_MODE = 2\r\n\r\ntype IContentBlockFullConfig = IContentBlockConfig & {\r\n // eslint-disable-next-line @typescript-eslint/naming-convention -- This field comes from SDK.\r\n msdyn365__moduleLayout?: string;\r\n}\r\n\r\nconst ContentBlockView: React.FC = props => {\r\n const { contentBlockContainer, imageContainer, detailsContainer, title, text, links, image : imageProp } = props;\r\n const { image } = props.config;\r\n //@ts-ignore\r\n const imageProps = {\r\n gridSettings: props.context.request.gridSettings ?? {},\r\n imageSettings: {\r\n ...image?.imageSettings,\r\n mode: image?.imageSettings?.mode || DEFAULT_IMAGE_MODE\r\n }\r\n };\r\n //@ts-ignore\r\n const htmlImage = imageProp && {imageProp.props.altText};\r\n //@ts-ignore\r\n const msdynImage = ;\r\n const { isFeatureEnabled } = getFeatureToggleService(props.context.request.cookies, props.context.app.config.features);\r\n\r\n const contentBlockImage = isFeatureEnabled('msdyn-image') ? msdynImage : htmlImage;\r\n\r\n const entireLink = contentBlockContainer.className.includes('linkplacement__entirebanner');\r\n // @ts-ignore\r\n const link = links && 'props' in links ? links.props.links[0].linkUrl.destinationUrl : '';\r\n return (\r\n \r\n {entireLink ? (\r\n \r\n {contentBlockImage}\r\n \r\n {title}\r\n {text}\r\n \r\n \r\n ) : (\r\n <>\r\n {image && {contentBlockImage}}\r\n \r\n {title}\r\n {text}\r\n {links}\r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default ContentBlockView;\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 { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { ILoyaltyTermsViewProps } from '@msdyn365-commerce-modules/account-management/src/modules/loyalty-terms/./loyalty-terms';\r\nimport { ILoyaltyTermsProps } from '../definition-extensions/loyalty-terms.ext.props.autogenerated';\r\n\r\n\r\nconst LoyaltyTermsView: React.FC> = props => {\r\n\r\n // The user does NOT have a customer number yet, they still have a tmp_guid\r\n let tmp_account = false;\r\n if (props.context.request.user.customerAccountNumber?.length === 36) {\r\n tmp_account = true;\r\n }\r\n\r\n const auth = props.context.request.user.isAuthenticated;\r\n\r\n // const hostname = props?.context?.request?.url?.requestUrl?.hostname || ''; // Protip: this does NOT keep the /de or whatever, so make sure to fix it if used in the future\r\n\r\n const { LoyaltyTerms, modalToggle, modal, loading } = props;\r\n\r\n if (tmp_account && auth) {\r\n return (\r\n
\r\n {props.resources.joinedLoyaltyThankYouHeader && (

{props.resources.joinedLoyaltyThankYouHeader}

)}\r\n {props.resources.joinedLoyaltyParagraphContent && (

{props.resources.joinedLoyaltyParagraphContent}

)}\r\n {/* {props.resources.loyaltyBalanceCheckURL && props.resources.joinedLoyaltyBalanceCheckLinkText && ({props.resources.joinedLoyaltyBalanceCheckLinkText})} */}\r\n
\r\n );\r\n // User is NOT temp but IS auth --> old/synced user\r\n } else if (!loading && modal && !tmp_account && auth) {\r\n if (props.config.layout === 'wideLayout') {\r\n return (\r\n \r\n {props.config.showImages && props.config.marketingImage ? (\r\n
\r\n
\r\n {props.config.marketingImage.altText}\r\n
\r\n
\r\n {props.config.marketingText &&

{props.config.marketingText}

}\r\n {modalToggle}\r\n
\r\n
\r\n {props.config.marketingImage.altText}\r\n
\r\n
\r\n ) : (\r\n
\r\n {props.config.marketingText &&

{props.config.marketingText}

}\r\n {modalToggle}\r\n
\r\n )}\r\n \r\n {modal.heading}\r\n \r\n {modal.terms}\r\n \r\n {modal.checkbox}\r\n {modal.agreeText}\r\n \r\n \r\n \r\n {modal.submitButton}\r\n {modal.cancelButton}\r\n \r\n \r\n
\r\n );\r\n } else {\r\n return (\r\n \r\n
\r\n {props.config.showImages && props.config.marketingImage && {props.config.marketingImage.altText}}\r\n {props.config.marketingText &&

{props.config.marketingText}

}\r\n {modalToggle}\r\n
\r\n \r\n {modal.heading}\r\n \r\n {modal.terms}\r\n \r\n {modal.checkbox}\r\n {modal.agreeText}\r\n \r\n \r\n \r\n {modal.submitButton}\r\n {modal.cancelButton}\r\n \r\n \r\n
\r\n );\r\n }\r\n } else {\r\n return null;\r\n }\r\n};\r\n\r\nexport default LoyaltyTermsView;\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 {\r\n IGroup,\r\n IGroupDelivery,\r\n IGroups,\r\n IHelp,\r\n IOrderDetailsViewProps,\r\n IOrderInformation,\r\n IOrderSummary,\r\n IPaymentMethods,\r\n ISalesLine\r\n} from '@msdyn365-commerce-modules/order-management';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport { SalesOrder } from '@msdyn365-commerce/retail-proxy';\r\nimport * as React from 'react';\r\nimport { IOrderDetailsProps, IOrderDetailsResources } from '../definition-extensions/order-details.ext.props.autogenerated';\r\n\r\nexport const OrderInfomation: React.FC = ({\r\n orderInformationProps,\r\n salesId,\r\n receiptId,\r\n createdDate,\r\n count,\r\n amount,\r\n channelReferenceId,\r\n channelName,\r\n channelAddress,\r\n salesOrder,\r\n resources\r\n}) => {\r\n // @ts-ignore\r\n const customTrackingUrl = salesOrder?.ExtensionProperties?.filter((tracking: { Key: string }) => tracking.Key === 'tranckingURL_CAP')[0]?.Value.StringValue;\r\n // @ts-ignore\r\n const customTrackingCarrier = salesOrder?.ExtensionProperties?.filter((tracking: { Key: string }) => tracking.Key === 'tranckingCarrier_CAP')[0]?.Value.StringValue;\r\n\r\n return (\r\n \r\n \r\n {channelName}\r\n {channelAddress}\r\n {salesId}\r\n {receiptId}\r\n {createdDate}\r\n {count}\r\n {amount}\r\n {channelReferenceId}\r\n \r\n {customTrackingUrl && \r\n
{resources.shippingInformation}
\r\n
\r\n

{resources.shippedWith} {customTrackingCarrier}

\r\n \r\n
\r\n
}\r\n
\r\n )\r\n};\r\n\r\nexport const SalesLine: React.FC = ({ salesLineProps, salesLine, buyAgainButton }) => (\r\n \r\n {salesLine}\r\n {buyAgainButton}\r\n \r\n);\r\n\r\nexport const GroupDelivery: React.FC = ({ deliveryProps, heading, count, trackingInfo, shippedStatusCheck }) => (\r\n \r\n {heading}\r\n {count}\r\n {/* shippedStatusCheck === 'shipped' ? null : trackingInfo */}\r\n \r\n);\r\n\r\nexport const Group: React.FC = ({ groupProps, delivery, address, salesLinesProps, salesLines }) => (\r\n \r\n {delivery && }\r\n \r\n {salesLines && (\r\n \r\n {salesLines.map(salesLine => (\r\n \r\n {salesLine.data.deliveryType === 'ship' && salesLine.data.shipment ? salesLine.trackingInfo : null}\r\n \r\n {salesLine.salesStatus}\r\n \r\n ))}\r\n \r\n )}\r\n {!delivery.showTimeslot && address}\r\n {delivery.showTimeslot && (\r\n \r\n {address}\r\n {delivery.pickupDateTimeslot}\r\n \r\n )}\r\n \r\n \r\n);\r\n\r\nexport const Groups: React.FC = ({ groupsProps, groups }) => (\r\n \r\n {groups.map((group, index) => (\r\n \r\n ))}\r\n \r\n);\r\n\r\nconst _renderCustomTaxLine = (taxAmount: number): JSX.Element | null => {\r\n //const { estimatedTaxLabel, yetToBeCalculatedText} = props.resources;\r\n\r\n return (\r\n
\r\n

\r\n Tax\r\n \r\n {taxAmount}\r\n \r\n

\r\n
\r\n )\r\n}\r\n\r\nexport const OrderSummary: React.FC = ({\r\n orderSummaryProps,\r\n heading,\r\n subtotal,\r\n shipping,\r\n tax,\r\n totalAmount,\r\n earnedPoints,\r\n ...other\r\n}) => {\r\n // @ts-ignore\r\n const locale = other.locale;\r\n // @ts-ignore\r\n const taxAmount = other.taxAmount;\r\n \r\n return (\r\n \r\n {heading}\r\n {subtotal}\r\n {shipping}\r\n {locale.toLowerCase() == 'en-gb' && taxAmount > 0 ? _renderCustomTaxLine(taxAmount) : tax}\r\n {totalAmount}\r\n {earnedPoints}\r\n \r\n );\r\n};\r\n\r\nexport const Payment: React.FC = ({ paymentMethodsProps, title, methods }) => (\r\n \r\n {title}\r\n {methods}\r\n \r\n);\r\n\r\nexport const Help: React.FC = ({ helpProps, needHelpLabel, helpLineNumberLabel, contactNumber }) => (\r\n \r\n {needHelpLabel}\r\n {helpLineNumberLabel}\r\n {contactNumber}\r\n \r\n);\r\n\r\nconst OrderDetailsView: React.FC> = ({\r\n salesOrder,\r\n moduleProps,\r\n heading,\r\n alert,\r\n loading,\r\n orderInfomation,\r\n orderSummary,\r\n payment,\r\n help,\r\n groups,\r\n resources\r\n}) => {\r\n // prettier-ignore\r\n // @ts-ignore\r\n const customTrackingNumber = salesOrder?.ExtensionProperties?.filter((tracking: { Key: string }) => tracking.Key === 'trackingId_CAP')[0]?.Value.StringValue;\r\n // prettier-ignore\r\n // @ts-ignore\r\n const customTrackingStatus = salesOrder?.ExtensionProperties?.filter((tracking: { Key: string }) => tracking.Key === 'trakingStatus_CAP')[0]?.Value.StringValue;\r\n const locale = moduleProps.moduleProps.context.request.locale;\r\n // @ts-ignore\r\n const salesOrderData = moduleProps?.moduleProps?.data?.orderHydration?.result?.salesOrder;\r\n const taxAmount = salesOrderData?.TaxAmount;\r\n const extraOrdersSummaryEu = {\r\n locale: locale,\r\n taxAmount: taxAmount\r\n };\r\n\r\n return (\r\n \r\n {heading}\r\n {alert}\r\n {loading}\r\n {orderInfomation && }\r\n {groups && }\r\n \r\n {orderSummary && }\r\n {payment && }\r\n \r\n {help && }\r\n \r\n );\r\n};\r\n\r\nexport default OrderDetailsView;\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 { IHistogramItemViewProps, IRatingsHistogramViewProps } from '@msdyn365-commerce-modules/ratings-reviews';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nconst RatingsHistogramView: React.FC = props => {\r\n const { /* heading, */ histogramItems, histogramProps, moduleProps } = props;\r\n // @ts-ignore\r\n const title = props.resources.ratingReviewsText ?? '';\r\n return (\r\n \r\n

{title}

\r\n {_averageRating(props)}\r\n \r\n {histogramItems.map((item, index) => {\r\n return histogramItem(item, 5 - index);\r\n })}\r\n \r\n
\r\n );\r\n};\r\n\r\nconst getStar = (star: number, value: number): string => {\r\n if (star - value <= 0) return '__star';\r\n else if (star - value > 0 && star - value < 1) return '__half-star';\r\n else return '__empty-star';\r\n};\r\n\r\nconst _renderStars = (value: number, className?: string) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nconst _averageRating = (props: IRatingsHistogramViewProps) => {\r\n // @ts-ignore\r\n const avRating = props?.averageRating?.props?.avgRating ?? 0;\r\n // @ts-ignore\r\n const totalReviews = props?.averageNumber?.props?.summary?.reviewsCount ?? 0;\r\n const ratingsLabel = props?.resources?.ratingReviewsText ?? '';\r\n return (\r\n
\r\n
\r\n {props.context.cultureFormatter.formatNumber(avRating)}\r\n /5\r\n
\r\n
\r\n {`${totalReviews} ${ratingsLabel}`}\r\n {_renderStars(avRating, 'heading')}\r\n
\r\n
\r\n );\r\n};\r\n\r\nconst histogramItem = (props: IHistogramItemViewProps, starsNumber: number) => {\r\n return (\r\n \r\n {/* {props.starLabel} */}\r\n {_renderStars(starsNumber, 'histogram')}\r\n {props.bar}\r\n {/* {props.percentage} */}\r\n \r\n );\r\n};\r\n\r\nexport default RatingsHistogramView;\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 {\r\n ISignUpEmailVerification,\r\n ISignUpItem,\r\n ISignUpLoading,\r\n ISignUpLocalAccount,\r\n ISignUpViewProps\r\n} from '@msdyn365-commerce-modules/account-management/src/modules/sign-up/sign-up';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\n\r\nconst SignUpItem: 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 SignUpEmailVerification: React.FC = ({ email, buttonWrapper, buttons, successMessage, errorMessage }) => {\r\n return (\r\n <>\r\n \r\n {successMessage &&\r\n successMessage.map((message: React.ReactNode) => {\r\n return <>{message};\r\n })}\r\n {errorMessage &&\r\n errorMessage.map((message: React.ReactNode) => {\r\n return <>{message};\r\n })}\r\n \r\n {buttons &&\r\n buttons.map((button: React.ReactNode) => {\r\n return <>{button};\r\n })}\r\n \r\n \r\n );\r\n};\r\n\r\nconst LocalAccount: React.FC = (\r\n { localAccount, items, emailVerification, buttons, errorMessage, disclaimer },\r\n props\r\n) => {\r\n const europe = ['/fr', '/de'];\r\n const locale = props?.context?.request?.locale;\r\n const uiLocales = props?.context?.request?.query.ui_locales;\r\n const regionCRM = europe.includes(uiLocales) ? uiLocales : props.config.RegionCRM;\r\n\r\n const [birthDate, setBirthDate] = React.useState('');\r\n const [formatDateState, setFormatDateState] = React.useState(true);\r\n const pattern = /^((1[6789]|[2-9][0-9])[0-9]{2}\\/(0[13578]|1[02])\\/(0[1-9]|[12][0-9]|3[01]))$|^((1[6789]|[2-9][0-9])[0-9]{2}\\/(0[469]|11)\\/(0[1-9]|[12][0-9]|30))$|^((16|[248][048]|[3579][26])00)|(1[6789]|[2-9][0-9])(0[48]|[13579][26]|[2468][048])\\/02\\/(0[1-9]|1[0-9]|2[0-9])$|^(1[6789]|[2-9][0-9])[0-9]{2}\\/02\\/(0[1-9]|1[0-9]|2[0-8])$/gm;\r\n const patternUS = /^((0[13578]|1[02])\\/(0[1-9]|[12][0-9]|3[01]))$|^((0[469]|11)\\/(0[1-9]|[12][0-9]|30))$|^02\\/(0[1-9]|1[0-9]|2[0-9])$/gm;\r\n\r\n const checkDate = (event: React.KeyboardEvent) => {\r\n const value = event.currentTarget.value;\r\n const today = new Date();\r\n if (value !== '' && (!value.match(locale !== 'en-US' ? pattern : patternUS) || today < new Date(value))) {\r\n setFormatDateState(false);\r\n } else {\r\n setFormatDateState(true);\r\n }\r\n if (locale === 'en-US') {\r\n setBirthDate(`1900/${value}`);\r\n }\r\n };\r\n if (typeof window !== 'undefined') {\r\n const signUpButton: HTMLElement = document.getElementById('continue') as HTMLElement;\r\n console.log(document.getElementById('continue'));\r\n if (signUpButton !== undefined) {\r\n signUpButton.onclick = e => {\r\n if (!formatDateState) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n };\r\n }\r\n }\r\n\r\n return (\r\n \r\n {items &&\r\n items.map((item: ISignUpItem) => {\r\n if (item.key === 'email' && emailVerification.isRequired) {\r\n return (\r\n \r\n \r\n
\r\n \r\n {formatDateState === false ? (\r\n

{props.resources.birthdayErrorText}

\r\n ) : (\r\n ''\r\n )}\r\n {locale !== 'en-US' ? (\r\n checkDate(e)}\r\n onPaste={e => e.preventDefault()}\r\n />\r\n ) : (\r\n <>\r\n checkDate(e)}\r\n onPaste={e => e.preventDefault()}\r\n />\r\n \r\n \r\n )}\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n {props.config.renderThirdPartyPrivacy && (\r\n
\r\n \r\n
\r\n )}\r\n \r\n
\r\n );\r\n }\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 {buttons &&\r\n buttons.map((button: React.ReactNode, index: number) => {\r\n return {button};\r\n })}\r\n {disclaimer}\r\n
\r\n );\r\n};\r\n\r\nconst SignUpLoading: 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 SignUpView: React.FC = props => {\r\n const { signUp, viewState, loading, defaultAADConainer, aadConainer, heading, signUpLocalAccount } = props;\r\n\r\n return (\r\n \r\n {viewState.isShowLoading && }\r\n {viewState.isShowLoading && }\r\n \r\n {heading}\r\n {LocalAccount(signUpLocalAccount, props)}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default SignUpView;\r\n","/**\r\n * Copyright (c) Microsoft Corporation\r\n * All rights reserved. See License.txt in the project root for license information.\r\n * IVideoPlayer contentModule Interface Properties\r\n * THIS FILE IS AUTO-GENERATED - MANUAL MODIFICATIONS WILL BE LOST\r\n */\r\n\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\n\r\nexport const enum layout {\r\n column = 'column',\r\n row = 'row'\r\n}\r\n\r\nexport const enum mobileVideoQuality {\r\n hdx = 'hdx',\r\n hq = 'hq',\r\n sd = 'sd',\r\n lo = 'lo'\r\n}\r\n\r\nexport interface IVideoPlayerConfig extends Msdyn365.IModuleConfig {\r\n video: Msdyn365.IVideoData;\r\n heading?: IHeadingData;\r\n paragraph?: Msdyn365.RichText;\r\n links?: ILinksData[];\r\n additionalContent?: IAdditionalContentData;\r\n autoplay?: boolean;\r\n mute?: boolean;\r\n loop?: boolean;\r\n autoCaptions?: string;\r\n playPauseTrigger?: boolean;\r\n controls?: boolean;\r\n playFullScreen?: boolean;\r\n hidePosterFrame?: boolean;\r\n maskLevel?: number;\r\n thumbnailFullWidth?: boolean;\r\n lazyLoad?: boolean;\r\n clientRender?: boolean;\r\n layout: layout;\r\n cta?: ICtaData;\r\n mobileVideoQuality?: mobileVideoQuality;\r\n shouldDisableAutoPlayOnMobile?: boolean;\r\n}\r\n\r\nexport interface IVideoPlayerResources {\r\n playLabel: string;\r\n pauseLabel: string;\r\n pausedLabel: string;\r\n playingLabel: string;\r\n unMuteLabel: string;\r\n muteLabel: string;\r\n fullScreenLabel: string;\r\n exitFullScreenLabel: string;\r\n seekBarLabel: string;\r\n videoTimeDurationLabel: string;\r\n closedCaptionLabel: string;\r\n optionButtonLabel: string;\r\n sliderThumbLabel: string;\r\n volumeThumbLabel: string;\r\n}\r\n\r\nexport const enum HeadingTag {\r\n h1 = 'h1',\r\n h2 = 'h2',\r\n h3 = 'h3',\r\n h4 = 'h4',\r\n h5 = 'h5',\r\n h6 = 'h6'\r\n}\r\n\r\nexport interface IHeadingData {\r\n text: string;\r\n tag?: HeadingTag;\r\n}\r\n\r\nexport interface ILinksData {\r\n linkText?: string;\r\n linkUrl: Msdyn365.ILinkData;\r\n ariaLabel?: string;\r\n openInNewTab?: boolean;\r\n}\r\n\r\nexport interface IAdditionalContentData {\r\n heading?: string;\r\n subtext?: string;\r\n links?: ILinksData[];\r\n}\r\n\r\nexport interface ICtaData {\r\n label?: string;\r\n link?: string;\r\n}\r\n\r\nexport interface ILinksData {\r\n linkText?: string;\r\n linkUrl: Msdyn365.ILinkData;\r\n ariaLabel?: string;\r\n openInNewTab?: boolean;\r\n}\r\n\r\nexport interface IVideoPlayerProps extends Msdyn365.IModule {\r\n resources: IVideoPlayerResources;\r\n config: IVideoPlayerConfig;\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\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\n\r\nimport { IVideoPlayerViewProps } from '@msdyn365-commerce-modules/video-player/src/modules/video-player/./video-player';\r\nimport { IVideoPlayerProps, layout } from '../definition-extensions/video-player.ext.props.autogenerated';\r\nimport { getFeatureToggleService } from '../../../services/featureToggleService';\r\n\r\n/**\r\n * Render Additional Content.\r\n * @param additionalContent - Additional content view props.\r\n * @returns JSX Element.\r\n */\r\n\r\nconst VideoPlayerView: React.FC> = props => {\r\n const { isFeatureEnabled } = getFeatureToggleService(props.context.request.cookies, props.context.app.config.features);\r\n const isAccessibleVideoPlayerEnabled = isFeatureEnabled('accessible-video')\r\n\r\n const getPlayer = (video_src ?: string) => isAccessibleVideoPlayerEnabled ? props.player : \r\n
\n );\n};\n\nexport default SignUpError;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { InputType } from '../business-sign-up';\n\nexport interface IBusinessSignUpInputProps {\n id?: string;\n type: InputType;\n value?: string;\n pattern?: string;\n className: string;\n maxLength?: string;\n isRequired: boolean;\n fieldReference?: React.RefObject;\n onChange?(event: React.ChangeEvent): void;\n}\n\nexport interface IBusinessSignUpInput {\n key: string;\n AddressItem: INodeProps;\n label: React.ReactNode;\n alert: React.ReactNode;\n input: React.ReactNode;\n}\n\nconst GetMaxLength = (maxLength?: string): number | undefined => {\n if (maxLength) {\n const parsedMaxLength = Number.parseInt(maxLength, 10);\n if (!isNaN(parsedMaxLength)) {\n return parsedMaxLength;\n }\n }\n\n return undefined;\n};\n\nexport const SignUpInput: React.FC = ({\n id,\n type,\n value,\n pattern,\n className,\n maxLength,\n isRequired,\n onChange,\n fieldReference\n}) => {\n if (type === InputType.TextArea) {\n return (\n \n );\n }\n\n return (\n \n );\n};\n\nexport default SignUpInput;\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\nexport interface IBusinessSignUpLabelProps {\n id: string;\n forId: string;\n className: string;\n text: string;\n}\n\nexport const SignUpLabel: React.FC = ({ id, forId, className, text }) => (\n \n);\n\nexport default SignUpLabel;\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\nexport interface IBusinessSignUpRadioButtonProps {\n id: string;\n isRequired: boolean;\n options: IBusinessSignUpRadioButtonOptionProps[];\n}\n\nexport interface IBusinessSignUpRadioButtonOptionProps {\n id: string;\n name: string;\n value: string;\n label: string;\n className: string;\n onChange(event: React.ChangeEvent): void;\n}\n\nexport const BusinessSignUpRadioButtonOption: React.FC = props => {\n const { id, name, value, label, className, onChange } = props;\n return (\n
\n \n \n
\n );\n};\n\nexport default BusinessSignUpRadioButtonOption;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ContentEditableEvent, getUrlSync, RichTextComponent, Text } from '@msdyn365-commerce/core';\nimport { Address, BusinessPartnerProspect } from '@msdyn365-commerce/retail-proxy';\nimport { createProspectAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/BusinessPartnersDataActions.g';\nimport { EmailRegex } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IBusinessSignUpConfig, IBusinessSignUpProps } from './business-sign-up.props.autogenerated';\nimport { SignUpButton, SignUpError, SignUpInput, SignUpLabel } from './components';\nimport { IBusinessSignUpRadioButtonOptionProps, BusinessSignUpRadioButtonOption } from './components/sign-up-radio-button';\n\nexport interface IBusinessSignUpExtendedProps extends IBusinessSignUpProps {\n formItems?: IFormItem[];\n}\n\nexport interface IBusinessSignUpItem {\n wrapper: INodeProps;\n isAddressInput?: boolean;\n id: string;\n label: React.ReactNode;\n errorMessage: React.ReactNode;\n input?: React.ReactNode;\n}\n\nexport interface IBusinessState {\n isReady: boolean;\n formItems: IFormItem[];\n addressHasErrors: boolean;\n showAddressErrors: boolean;\n hasSubmitErrors: boolean;\n}\n\nexport interface IBusinessSignUpLocalAccount {\n FormWrapper: INodeProps;\n items: IBusinessSignUpItem[];\n buttons: React.ReactNode[];\n errorMessage: React.ReactNode[];\n disclaimer: React.ReactNode;\n}\n\nexport interface IBusinessSignUpViewProps {\n className: string;\n businessSignUp: IModuleProps;\n ContainerWrapper: INodeProps;\n heading: React.ReactNode;\n businessSignUpForm: IBusinessSignUpLocalAccount;\n formItems: IFormItem[];\n}\n\nexport interface IFormItem {\n id: string;\n type: InputType;\n label: string;\n value: string;\n maxChars?: string;\n isRequired: boolean;\n pattern?: string;\n address?: Address;\n customClass?: string;\n fieldReference?: React.RefObject;\n radioButtonOptions?: IBusinessSignUpRadioButtonOptionProps[];\n radioButtonGroupClass?: string;\n}\n\nexport enum InputType {\n // eslint-disable-next-line @typescript-eslint/no-shadow -- Text enum doesn't override the imported Text\n Text = 'text',\n Address = 'address',\n Email = 'email',\n TextArea = 'textarea',\n RadioButton = 'radiobutton'\n}\n\nexport enum InputID {\n FirstName = 'FirstName',\n LastName = 'LastName',\n Email = 'CompanyEmail',\n CompanyName = 'CompanyName',\n Address = 'CompanyAddress',\n JobTitle = 'JobTitle',\n Size = 'CompanySize',\n Department = 'Department',\n Comment = 'Comment',\n ProspectType = 'ProspectType'\n}\n\nexport const renderInputSection = (\n inputs: IFormItem[],\n className: string,\n needToReset: boolean,\n onInputChange: (event: React.ChangeEvent) => void,\n showErrors: boolean,\n addressForm?: React.ReactNode,\n updateAddress?: (errors: boolean, currAddress?: Address) => void\n): IBusinessSignUpItem[] => {\n return inputs.map((element, index) => {\n const {\n id,\n type,\n label,\n maxChars,\n isRequired,\n pattern,\n customClass,\n value,\n fieldReference,\n radioButtonOptions,\n radioButtonGroupClass\n } = element;\n\n const baseSignUpItem: IBusinessSignUpItem = {\n wrapper: {\n className: classnames(className, `${className}-${id}`, customClass)\n },\n id,\n label: ,\n errorMessage: \n };\n\n if (type === InputType.Address) {\n if (addressForm) {\n baseSignUpItem.isAddressInput = true;\n baseSignUpItem.input = (\n <>\n {React.cloneElement(addressForm as React.ReactElement, {\n updateForm: updateAddress,\n hasError: showErrors,\n isRequired: isRequired === undefined ? false : isRequired,\n resetAddress: needToReset\n })}\n \n );\n } else {\n // If the address slot is not filled, remove this input from the form\n inputs.splice(index, 1);\n }\n } else if (type === InputType.RadioButton) {\n baseSignUpItem.input = (\n
\n {radioButtonOptions &&\n radioButtonOptions.map((element, index) => {\n return ;\n })}\n
\n );\n } else {\n baseSignUpItem.input = (\n \n );\n }\n\n return baseSignUpItem;\n });\n};\n\n/**\n *\n * Business Request Form Modules\n * Form that a business can use to submit a request to become a partner with Microsoft.\n * @extends {React.Component>}\n */\nclass BusinessSignUp extends React.Component {\n private readonly moduleClassName: string = 'ms-business-sign-up';\n private readonly prospectRadioButtonName: string = 'business-sign-up-radio-button';\n\n // Used as default data\n // eslint-disable-next-line @typescript-eslint/member-ordering\n public BusinessSignUpDefaultInputs: IFormItem[] = [\n {\n id: InputID.ProspectType,\n type: InputType.RadioButton,\n label: this.props.resources.prospectTypeLabel,\n value: '',\n isRequired: true,\n customClass: 'width-100',\n radioButtonGroupClass: 'radio-option-container',\n radioButtonOptions: [\n {\n id: `${InputID.ProspectType}-buyer`,\n name: this.prospectRadioButtonName,\n value: '1', // Buyer\n label: this.props.resources.prospectTypeBuyerLabel,\n className: `${this.moduleClassName}__form-item-radio-button-option`,\n onChange: this._onInputChange.bind(this)\n },\n {\n id: `${InputID.ProspectType}-seller`,\n name: this.prospectRadioButtonName,\n value: '2', // Seller\n className: `${this.moduleClassName}__form-item-radio-button-option`,\n label: this.props.resources.prospectTypeSellerLabel,\n onChange: this._onInputChange.bind(this)\n }\n ]\n },\n {\n id: InputID.FirstName,\n type: InputType.Text,\n label: this.props.resources.firstNameLabel,\n value: '',\n isRequired: true,\n customClass: 'width-25'\n },\n {\n id: InputID.LastName,\n type: InputType.Text,\n label: this.props.resources.lastNameLabel,\n value: '',\n isRequired: true,\n customClass: 'width-25'\n },\n {\n id: InputID.Email,\n type: InputType.Email,\n label: this.props.resources.emailAddressLabel,\n value: '',\n isRequired: true,\n pattern: EmailRegex.defaultRegex.source,\n customClass: 'width-50'\n },\n {\n id: InputID.CompanyName,\n type: InputType.Text,\n label: this.props.resources.companyLabel,\n value: '',\n isRequired: true,\n customClass: 'width-50'\n },\n {\n id: InputID.Department,\n type: InputType.Text,\n label: this.props.resources.departmentLabel,\n value: '',\n isRequired: false,\n customClass: 'width-50'\n },\n {\n id: InputID.JobTitle,\n type: InputType.Text,\n label: this.props.resources.jobTitleLabel,\n value: '',\n isRequired: false,\n customClass: 'width-50'\n },\n {\n id: InputID.Size,\n type: InputType.Text,\n label: this.props.resources.companySizeLabel,\n value: '',\n isRequired: false,\n customClass: 'width-50'\n },\n {\n id: InputID.Address,\n type: InputType.Address,\n label: this.props.resources.companyAddressLabel,\n value: '',\n isRequired: false,\n customClass: 'width-100'\n },\n {\n id: InputID.Comment,\n type: InputType.TextArea,\n label: this.props.resources.commentLabel,\n value: '',\n isRequired: false,\n customClass: 'width-100'\n }\n ];\n\n private readonly formChildReference: React.RefObject = React.createRef();\n\n private needsToReset: boolean = false;\n\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: IBusinessSignUpExtendedProps) {\n super(props);\n\n this.state = {\n isReady: false,\n formItems: this.props.formItems || this._addedReference(),\n addressHasErrors: false,\n showAddressErrors: false,\n hasSubmitErrors: false\n };\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public componentDidMount(): void {\n this.formChildReference.current?.focus();\n }\n\n public shouldComponentUpdate(nextProps: IBusinessSignUpExtendedProps, nextState: IBusinessState): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n const { config } = this.props;\n const { formItems } = this.state;\n const { className, heading } = config;\n\n const viewProps = {\n ...this.props,\n businessSignUp: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, className)\n },\n ContainerWrapper: {\n className: `${this.moduleClassName}__container`\n },\n heading: (\n \n ),\n businessSignUpForm: this._renderForm(),\n formItems\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Handle the heading change event.\n * @param event - Content Editable Event.\n */\n public handleHeadingChange = (event: ContentEditableEvent): void => {\n this.props.config.heading.text = event.target.value;\n };\n\n private _renderForm(): IBusinessSignUpLocalAccount {\n const { config, resources, slots } = this.props;\n const { showAddressErrors, hasSubmitErrors, isReady, formItems } = this.state;\n const {\n signUpButtonArialabel,\n signUpButtonText,\n cancelButtonArialabel,\n cancelButtonText,\n errorMessage,\n partialAddressErrorMessage\n } = resources;\n const addressForm = (slots && slots.addressSlot && slots.addressSlot.length > 0 && slots.addressSlot[0]) || undefined;\n\n const form = {\n FormWrapper: {\n className: `${this.moduleClassName}__form `\n },\n items: renderInputSection(\n formItems,\n `${this.moduleClassName}__form-item`,\n this.needsToReset,\n this._onInputChange.bind(this),\n showAddressErrors,\n addressForm,\n this._onAddressChange\n ),\n buttons: [\n ,\n \n ],\n errorMessage: [\n hasSubmitErrors && ,\n showAddressErrors && (\n \n )\n ],\n disclaimer: config.disclaimer && (\n \n )\n };\n\n if (this.needsToReset) {\n this.needsToReset = false;\n }\n\n return form;\n }\n\n private _onInputChange(event: React.ChangeEvent): void {\n const newForm = this.state.formItems;\n newForm.forEach(item => {\n if (item.type === InputType.RadioButton && event.target.name === this.prospectRadioButtonName) {\n item.value = event.target.value;\n } else if (item.id === event.target.id) {\n item.value = event.target.value;\n }\n });\n\n // Check if form is ready, update state object with latest values, values have changed so reset hasSubmitErrros\n this.setState({\n isReady: this._isFormReady(),\n formItems: newForm,\n hasSubmitErrors: false\n });\n }\n\n private _addedReference(): IFormItem[] {\n const newFormFields = this.BusinessSignUpDefaultInputs;\n newFormFields[0].fieldReference = this.formChildReference;\n return newFormFields;\n }\n\n private readonly _onAddressChange = (errors: boolean, currentAddress?: Address): void => {\n // Find address item\n const newForm = this.state.formItems;\n const addressItem = newForm.find(item => {\n return item.type === InputType.Address;\n });\n\n // If found --> set to currentAddress\n if (addressItem) {\n addressItem.address = currentAddress;\n\n // Update state with new values and set errors to false if address is not required field\n this.setState(\n {\n formItems: newForm,\n addressHasErrors: errors,\n showAddressErrors: false\n },\n () => {\n this.setState({ isReady: this._isFormReady() });\n }\n );\n }\n };\n\n private readonly _isFormReady = (): boolean => {\n const { formItems } = this.state;\n\n for (const currentInput of formItems) {\n // Will return FALSE if:\n // - input field is required\n // IF is address AND addressHasErrors === true\n // ELSE value is undefined OR empty\n // OR\n // - pattern provided and value does not match pattern\n\n if (currentInput.isRequired) {\n if (currentInput.type === InputType.Address) {\n if (this.state.addressHasErrors) {\n return false;\n }\n } else if (currentInput.value === undefined || currentInput.value === '') {\n return false;\n }\n }\n if (currentInput.pattern !== undefined && currentInput.value.match(currentInput.pattern) === null) {\n return false;\n }\n }\n\n return true;\n };\n\n private readonly _onSubmit = (event: React.MouseEvent) => {\n if (this.state.addressHasErrors) {\n this.setState({\n showAddressErrors: true\n });\n\n event.preventDefault();\n return;\n }\n\n const { config, context } = this.props;\n\n // Check for matching id and if not empty\n const firstName = this._getItem(InputID.FirstName);\n const lastName = this._getItem(InputID.LastName);\n const companyName = this._getItem(InputID.CompanyName);\n const companyEmail = this._getItem(InputID.Email);\n const companyAddress = this._getItem(InputID.Address, true);\n const jobTitle = this._getItem(InputID.JobTitle);\n const department = this._getItem(InputID.Department);\n const companySize = this._getItem(InputID.Size);\n const comments = this._getItem(InputID.Comment);\n const prospectType = this._getItem(InputID.ProspectType);\n\n // API gets email as part of the address object, but I do not use the email input from the address component, thus we need to copy it over\n if (companyEmail && companyEmail.value && companyAddress && companyAddress.address) {\n companyAddress.address.Email = companyEmail.value;\n }\n\n const newPartner: BusinessPartnerProspect = {\n FirstName: firstName && firstName.value,\n LastName: lastName && lastName.value,\n CompanyName: companyName && companyName.value,\n Address: companyAddress && companyAddress.address && companyAddress.address,\n JobTitle: jobTitle && jobTitle.value,\n Department: department && department.value,\n CompanySize: (companySize && Number.parseInt(companySize.value, 10)) || 0,\n Comments: comments && comments.value,\n ProspectTypeValue: (prospectType && Number.parseInt(prospectType.value, 10)) || 0\n };\n\n this.setState({\n isReady: false\n });\n\n // Create business partner request\n createProspectAsync({ callerContext: context.actionContext }, newPartner)\n .then(() => {\n const successPageURL =\n (config.confirmationLink && config.confirmationLink.linkUrl && config.confirmationLink.linkUrl.destinationUrl) ||\n getUrlSync('home', this.props.context.actionContext) ||\n '';\n window.location.href = successPageURL;\n })\n .catch(() => {\n this.setState({\n hasSubmitErrors: true\n });\n });\n };\n\n private readonly _onCancel = () => {\n // Reset values of the form\n const cleanForm = this.state.formItems;\n cleanForm.forEach(input => {\n input.value = '';\n });\n\n // Set reset flag so address input will get reset on next renderInputSection() call\n this.needsToReset = true;\n\n this.setState({\n isReady: false,\n formItems: cleanForm,\n addressHasErrors: true,\n showAddressErrors: false,\n hasSubmitErrors: false\n });\n };\n\n private readonly _getItem = (id: string, isAddress: boolean = false) => {\n if (isAddress) {\n return this.state.formItems.find(item => {\n return item.id === id && item.address;\n });\n }\n return this.state.formItems.find(item => {\n return item.id === id && item.value !== '';\n });\n };\n}\n\nexport default BusinessSignUp;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IBusinessSignUpItem, IBusinessSignUpViewProps } from './business-sign-up';\n\nconst BusinessSignUpItem: React.FC = ({ wrapper, label, errorMessage, input, isAddressInput }) => {\n // Hide label and error message if rendering address section\n return (\n \n {!isAddressInput && label}\n {!isAddressInput && errorMessage}\n {input}\n \n );\n};\n\nconst BusinesSignUpView: React.FC = props => {\n const { businessSignUp, ContainerWrapper, heading, businessSignUpForm } = props;\n\n const { FormWrapper, buttons, items, errorMessage, disclaimer } = businessSignUpForm;\n\n return (\n \n \n {heading}\n \n {items &&\n items.map((item: IBusinessSignUpItem) => {\n return ;\n })}\n {errorMessage &&\n errorMessage.map((error: React.ReactNode, index: number) => {\n return {error};\n })}\n {buttons &&\n buttons.map((button: React.ReactNode, index: number) => {\n return {button};\n })}\n {disclaimer}\n \n \n \n );\n};\n\nexport default BusinesSignUpView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport React from 'react';\nimport { KeyCodes } from '@msdyn365-commerce-modules/utilities';\n\nexport interface ISearchBarProps {\n className: string;\n searchPlaceholderLabel: string;\n onSearch(searchText: string): void;\n}\n\nexport interface ISearchBarState {\n searchText: string;\n}\n\nexport class SearchBar extends React.Component {\n constructor(props: ISearchBarProps) {\n super(props);\n this.state = {\n searchText: ''\n };\n }\n\n public render(): JSX.Element {\n const { className, searchPlaceholderLabel } = this.props;\n return (\n
\n \n
\n );\n }\n\n private readonly onSearchTextChange = (ev: React.ChangeEvent): void => {\n this.setState({\n searchText: ev.target.value\n });\n };\n\n private readonly onSearch = (): void => {\n this.props.onSearch(this.state.searchText);\n };\n\n private readonly handleKeyUp = (event: React.KeyboardEvent): void => {\n if (event.keyCode === KeyCodes.Enter) {\n this.onSearch();\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 { IComponentProps } from '@msdyn365-commerce/core';\nimport { CommerceException } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Alert, Button } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { moduleClassName } from '../business-partners';\nimport { IBusinessPartnersResources } from '../business-partners.props.autogenerated';\nimport { SearchBar } from './search-bar';\n\n/**\n * Props of DataGrid component.\n */\nexport interface IDataGridProps extends IComponentProps {\n className: string;\n pageSize?: number;\n searchPlaceholderLabel: string;\n defaultSorting?: ISortingInfo;\n resources: IBusinessPartnersResources;\n columns: IDataGridColumn[];\n loadData(): Promise;\n}\n\n/**\n * State of DataGrid component.\n */\nexport interface IDataGridState {\n data: Tdata[];\n paging: IPagingInfo;\n filter: IFilterInfo;\n sorting?: ISortingInfo;\n isLoading: boolean;\n errorMessage: string;\n}\n\nexport interface IPagingInfo {\n index: number;\n}\n\nexport interface IFilterInfo {\n searchText: string;\n}\n\nexport interface ISortingInfo {\n fieldName: string;\n ascending: boolean;\n}\n\n/**\n * Column definition of DataGrid component.\n */\nexport interface IDataGridColumn {\n /**\n * A unique key for identifying the column.\n */\n reactKey: string;\n\n /**\n * Name to render on the column header.\n */\n name: string;\n\n /**\n * Class name added to table cell.\n */\n className?: string;\n\n /**\n * The field to pull the text value from for the column.Can be unset if a custom `onRender` method is provided.\n */\n fieldName?: string;\n\n /**\n * Whether the user can search this column by text.\n */\n isSearchable?: boolean;\n\n /**\n * Custom renderer for cell content, instead of the default text rendering.\n */\n onRender?(item: Tdata): JSX.Element;\n\n /**\n * Event when the table cell is clicked.\n */\n onClick?(item: Tdata): void;\n}\n\nconst defaultPageSize = 10;\n\n/**\n * DataGrid component encapsulates common table functionalities.\n */\nexport class DataGrid extends React.Component, IDataGridState> {\n constructor(props: IDataGridProps) {\n super(props);\n this.state = {\n data: [],\n sorting: props.defaultSorting,\n paging: { index: 0 },\n filter: { searchText: '' },\n isLoading: true,\n errorMessage: ''\n };\n }\n\n public componentDidMount(): void {\n this.loadDataInternal();\n }\n\n public shouldComponentUpdate(nextProps: Readonly>, nextState: Readonly>): boolean {\n return (\n this.props.id !== nextProps.id ||\n this.props.columns !== nextProps.columns ||\n this.state.data !== nextState.data ||\n this.state.paging !== nextState.paging ||\n this.state.filter !== nextState.filter ||\n this.state.isLoading !== nextState.isLoading ||\n this.state.errorMessage !== nextState.errorMessage\n );\n }\n\n public render(): JSX.Element | null {\n const data = this.getDataToDisplay();\n const hasMore = this.hasMore();\n if (this.state.errorMessage) {\n return {this.state.errorMessage};\n }\n if (this.state.isLoading) {\n return {this.props.resources.loadingLabel};\n }\n if (!ArrayExtensions.hasElements(data)) {\n return (\n <>\n \n

{this.props.resources.noDataMessage}

\n \n );\n }\n return (\n <>\n \n \n {this.renderGridHeader()}\n {data.map((item, index) => this.renderGridRow(item, index))}\n
\n {hasMore && (\n
\n \n
\n )}\n \n );\n }\n\n /**\n * Renders the TH header in the table.\n * @returns - Header react node.\n */\n private readonly renderGridHeader = () => {\n const className = `${this.props.className}__header`;\n const rowClassName = `${className}__row`;\n return (\n \n \n {this.props.columns.map(column => (\n \n {column.name}\n \n ))}\n \n \n );\n };\n\n /**\n * Renders table row.\n * @param item - Data item for this row.\n * @param index - Index of the row.\n * @returns - Row react node.\n */\n private readonly renderGridRow = (item: Tdata, index: number) => {\n const rowClassName = `${this.props.className}__row`;\n return (\n \n {this.props.columns.map(column => {\n let cell: JSX.Element = <>;\n if (column.onRender) {\n cell = column.onRender(item);\n } else if (column.fieldName) {\n cell = {((item as unknown) as { [key: string]: string })[column.fieldName]};\n }\n return (\n column.onClick?.(item)}>\n {cell}\n \n );\n })}\n \n );\n };\n\n /**\n * Load data for the table.\n * @returns Promise.\n */\n private readonly loadDataInternal = async () => {\n if (!this.props.context.actionContext.requestContext.user.isAuthenticated) {\n this.setState({\n isLoading: false\n });\n return;\n }\n try {\n const result = await this.props.loadData();\n this.setState({\n isLoading: false,\n data: result\n });\n } catch (e) {\n this.setState({\n isLoading: false,\n errorMessage: (e as { data: CommerceException })?.data?.LocalizedMessage || this.props.resources.genericErrorMessage\n });\n }\n };\n\n private readonly onSearch = (searchText: string): void => {\n this.setState({\n paging: { index: 0 },\n filter: { searchText }\n });\n };\n\n private readonly loadMore = (): void => {\n this.setState({\n paging: { index: this.state.paging.index + 1 }\n });\n };\n\n private readonly sortData = (): Tdata[] => {\n const sorting = this.state.sorting;\n if (!sorting) {\n return this.state.data;\n }\n const { fieldName, ascending } = sorting;\n return this.state.data.sort((item1: Tdata, item2: Tdata) => {\n let value1 = ((item1 as unknown) as { [key: string]: string })[fieldName];\n let value2 = ((item2 as unknown) as { [key: string]: string })[fieldName];\n if (typeof value1 === 'string' && typeof value2 === 'string') {\n value1 = value1.toLowerCase();\n value2 = value2.toLowerCase();\n }\n const compareResult = value1 > value2 ? 1 : value1 < value2 ? -1 : 0;\n return ascending ? compareResult : compareResult * -1;\n });\n };\n\n private readonly filterData = (): Tdata[] => {\n const column = this.props.columns.find(c => c.isSearchable);\n const searchText = this.state.filter.searchText;\n return this.sortData().filter(item => {\n if (!column?.fieldName || !searchText) {\n return true;\n }\n const columnValue = ((item as unknown) as { [key: string]: string })[column.fieldName];\n return columnValue && columnValue.toLowerCase().indexOf(searchText.trim().toLowerCase()) >= 0;\n });\n };\n\n private readonly getDataToDisplay = (): Tdata[] => {\n const itemsCount = (this.props.pageSize || defaultPageSize) * (this.state.paging.index + 1);\n const filteredItems = this.filterData();\n return filteredItems.slice(0, itemsCount);\n };\n\n private readonly hasMore = (): boolean => {\n const itemsCount = (this.props.pageSize || defaultPageSize) * (this.state.paging.index + 1);\n const filteredItems = this.filterData();\n return filteredItems.length > itemsCount;\n };\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IComponentProps } from '@msdyn365-commerce/core';\nimport { ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport React, { ReactNode } from 'react';\nimport { isMobile, Node, VariantType } from '@msdyn365-commerce-modules/utilities';\n\nimport { BusinessPartner, BusinessPartnerUser, BusinessPartnersDataActions } from '@msdyn365-commerce/retail-proxy';\nimport { IBusinessPartnersResources } from '../business-partners.props.autogenerated';\nimport { DataGrid, IDataGridColumn } from './data-grid';\n\n/**\n * View model of business partner user, used to display.\n */\nexport interface IBusinessPartnerUserViewModel extends BusinessPartnerUser {\n name: string;\n spendingLimit: ReactNode;\n}\n\n/**\n * Props of BusinessPartnerUsersTable.\n */\nexport interface IBusinessPartnerUsersTableProps extends IComponentProps {\n className: string;\n pageSize?: number;\n businessPartner: BusinessPartner;\n resources: IBusinessPartnersResources;\n onSelect(businessPartnerUser: BusinessPartnerUser): void;\n}\n\n/**\n * BusinessPartnerUsersTable component.\n */\nexport class BusinessPartnerUsersTable extends React.Component {\n public shouldComponentUpdate(nextProps: Readonly): boolean {\n return this.props.id !== nextProps.id;\n }\n\n public render(): JSX.Element {\n return (\n \n );\n }\n\n /**\n * Get column definition of the table.\n * @returns - Columns.\n */\n private readonly getColumns = (): IDataGridColumn[] => {\n const isMobileDevice = isMobile({ variant: VariantType.Viewport, context: this.props.context.request }) === 'xs';\n\n return [\n {\n reactKey: 'name',\n name: this.props.resources.businessUserTableNameHeadingText,\n isSearchable: true,\n fieldName: 'name',\n onClick: this.props.onSelect,\n onRender: (data: IBusinessPartnerUserViewModel) => {data.name}\n },\n {\n reactKey: 'email',\n name: this.props.resources.businessUserTableEmailHeadingText,\n fieldName: 'Email',\n onClick: this.props.onSelect\n },\n {\n reactKey: 'spendingLimit',\n name: this.props.resources.businessUserTableSpendingLimitHeadingText,\n className: `${this.props.className}__row__column-with-number`,\n fieldName: 'spendingLimit',\n onClick: !isMobileDevice ? this.props.onSelect : undefined\n }\n ];\n };\n\n /**\n * Call retail proxy to get business partner users.\n * @returns - Business partner users view model.\n */\n private readonly getBusinessPartnerUsers = async (): Promise => {\n const businessPartners = await BusinessPartnersDataActions.getUsersAsync(\n {\n callerContext: this.props.context.actionContext,\n bypassCache: 'get',\n queryResultSettings: {}\n },\n this.props.businessPartner.BusinessPartnerId\n );\n return businessPartners\n .filter(user => user.StatusValue === 1)\n .map(user => {\n return {\n ...user,\n name: `${user.FirstName} ${user.LastName}`,\n spendingLimit: (\n \n {!ObjectExtensions.isNullOrUndefined(user.SpendingLimit)\n ? this.props.context.cultureFormatter.formatCurrency(user.SpendingLimit.toString())\n : ''}\n {!ObjectExtensions.isNullOrUndefined(user.SpendingLimit) && user.SpendingLimit === 0 ? (\n \n