{"version":3,"file":"static/js/12.5824b701da3b7a633eab.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/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/fabrikam/views/search-result-container.view.tsx?89df","webpack://Msdyn365.Commerce.Online/./src/modules/footer-category/footer-category.tsx?e0bd","webpack://Msdyn365.Commerce.Online/./src/modules/footer-category/footer-category.view.tsx?fdce","webpack://Msdyn365.Commerce.Online/./src/modules/order-history-with-search-and-filters/components/order-history-with-search-and-filters-view-mode-selector.component.tsx?6452","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/components/promocode.component.tsx?c06b"],"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\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