@koredev/agentai-web-sdk 3.21.0-rc → 3.22.1-rc
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/aaWindow/aaWindow.d.ts +1 -0
- package/dist/components/common/constants/errorcodes.d.ts +16 -0
- package/dist/components/common/constants/events.cnst.d.ts +5 -2
- package/dist/components/common/constants/projConsts.d.ts +1 -0
- package/dist/components/common/services/rootService.d.ts +7 -6
- package/dist/components/common/templatemanager/tabs/suggestions/searchai-template/searchai-template.d.ts +3 -0
- package/dist/esm/agentai-web-sdk.min.js +1 -1
- package/dist/umd/agentai-web-sdk-umd.min.js +1 -1
- package/package.json +1 -1
- package/dist/components/common/templatemanager/base/aaContainer/splitContainer.d.ts +0 -2
- package/dist/umd/agentai-web-sdk-umd.min.js.map +0 -1
- package/dist/umd/hot/hot-update.js +0 -3622
- package/dist/umd/hot/hot-update.js.map +0 -1
- package/dist/umd/hot/hot-update.json +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hot/hot-update.js","mappings":"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","sources":["webpack://aa-sdk/./src/components/aaWindow/aaWindow.ts","webpack://aa-sdk/./src/components/common/templatemanager/base/aaContainer/aaContainer.tsx","webpack://aa-sdk/./src/components/common/templatemanager/tabs/playbook/playbook.tsx","webpack://aa-sdk/webpack/runtime/getFullHash"],"sourcesContent":["import './_aaWindow.scss';\nimport { EventEmitter } from '../common/utils/EventEmiter';\nimport { getHTML } from '../common/templatemanager/base/domManager'\nimport { AAContainer, AALoder, IndividualLoader, NetworkErrorToast } from '../common/templatemanager/base/aaContainer/aaContainer';\nimport websocketservice from '../common/services/web-socket-service'\nimport { DATA_EVENTS, EVENTS, EVENTS_TO_SDK, INTERNAL_EVENTS, SDK_EVENTS } from '../common/constants/events.cnst';\nimport rootService from '../common/services/rootService';\nimport EventManager from '../common/templatemanager/base/eventManager'\nimport fetchInstance, { updateEndPointUrl } from '../common/utils/interceptor';\nimport { ClassMapConstanst, DARKTHEME_COLORCODES, IdMapConstant, ProjConstants, storageConst } from '../common/constants/projConsts';\nimport localStorageService from '../common/services/localstorage.service';\nimport { chatWindow } from 'kore-web-sdk';\nimport {templateRenderClassService} from '../common/services/template-render-service';\nimport {chunkFileUploadService} from '../common/services/chunkFileUpload.service';\nimport { ErrorHandler } from '../common/templatemanager/tabs/ErrorBoundary/ErrorHandler';\nimport { WelcomeMessage } from '../common/templatemanager/tabs/automation/automation';\nimport { NoTabsScreen } from '../common/templatemanager/tabs/atom/actionButtons';\nimport { ERROR_CODES } from '../common/constants/errorcodes';\nimport { prefsSeed } from './config/prefs';\nimport { aai18nPlugin } from '../../index_plugins/aai18n';\nimport { en } from '../common/i18n/en';\n\nclass AAWindow extends EventEmitter{\n private socketConnection: any;\n private rootService: any;\n private localStorageService : any;\n private chatWindowInstance : any;\n private templateRenderService : any;\n private chunkFileUploadService : any;\n private languagePluginService:any;\n\n private timeoutId: number | undefined;\n\n chatEle : any;\n config: any;\n eventManager: any;\n dskSettings : any;\n pluginConfig:any;\n newSocketApproach : boolean = false;\n languagedata:any\n languages:any\n constructor() {\n super();\n ErrorHandler.initialize(this);\n }\n\n show(config: any) {\n const {conversationId, botId, domainURL, token, channel} = config.connectionDetails;\n if(!conversationId || !botId || !domainURL || !token || !channel){\n this.emit(SDK_EVENTS.ON_ERROR, ERROR_CODES['ERR_MISSING_REQUIRED_FIELDS']);\n return;\n }\n if(domainURL.endsWith('/')){\n config.connectionDetails.domainURL = domainURL.replace(/\\/+$/, \"\");\n }\n if(!config?.connectionDetails?.hasOwnProperty('isSecure')){\n config.connectionDetails.isSecure = true;\n }\n this.languagePluginService = new aai18nPlugin;\n this.languages= this.languagePluginService?.config?.languageStrings;\n this.cleanupEvents();\n if(this.socketConnection?._agentAssistSocket){\n this.socketConnection.disconnect()\n }\n this.emit('DESTROY_WIDGET', {});\n this.config = config;\n this.dskSettings = config.dskSettings;\n this.subscribeToEvents();\n this.initShow(config);\n this.eventManager = new EventManager(this);\n };\n\n\n sendUserMessage(_data: any) {\n if (_data.author?.type?.toLowerCase() === 'user') {\n const sanitizedValue = this.rootService.sanitizeHTML(_data.message);\n _data.message = sanitizedValue;\n if (_data.message) {\n const conversationId = this.rootService.connectionDetails?.conversationId;\n const botId = this.rootService.connectionDetails?.botId;\n\n let data = {\n author: _data.author,\n type: _data.author?.type?.toUpperCase(),\n conversationId,\n value: _data.message,\n botId,\n message : _data.message\n }\n\n this.emit(INTERNAL_EVENTS.USER_TRANSCRIPT_MSG, data);\n this.socketConnection.emitEvents(EVENTS.user_sent_message, data);\n\n if(this.rootService.isAgenticCoPilotEnabled){\n return;\n }\n\n if (this.rootService.proactiveMode && !this.rootService.OverRideMode && !this.rootService.manualAssistOverrideMode) {\n let agent_assist_request: any = {\n author: _data.author,\n botId,\n conversationId,\n experience: this.rootService.connectionDetails?.channel,\n query: _data.message,\n positionId: this.rootService.isAutomationOnGoing ? this.rootService.currentPositionId : null\n };\n\n if (_data?.customData) {\n agent_assist_request['customData'] = JSON.parse(JSON.stringify(_data?.customData));\n }\n if (_data?.secureCustomData) {\n agent_assist_request['secureCustomData'] = _data?.secureCustomData;\n }\n let assistSection = this?.chatEle?.querySelector(`${ClassMapConstanst.ASSIST_SECTION}`) as HTMLElement;\n let parentNode = (assistSection?.childNodes?.length > 0 ? assistSection?.childNodes[assistSection?.childNodes?.length - 1] : assistSection) as HTMLElement;\n if(parentNode){\n this.renderIndividualLoader(parentNode);\n }\n this.socketConnection.emitEvents(EVENTS.agent_assist_request, agent_assist_request);\n }\n }\n } else {\n this.emit(SDK_EVENTS.ON_ERROR, ERROR_CODES['ERR_USER_MISSING_REQ_FIELDS']);\n }\n }\n\n sendAgentMessage(_data: any) {\n if (_data.author?.type?.toLowerCase() === 'agent') {\n const sanitizedValue = this.rootService.sanitizeHTML(_data.message);\n _data.message = sanitizedValue;\n if (_data.message) {\n const conversationId = this.rootService.connectionDetails?.conversationId;\n const botId = this.rootService.connectionDetails?.botId;\n let data: any = {\n author: _data.author,\n type: _data.author?.type?.toUpperCase(),\n conversationId,\n value: _data.message,\n message : _data.message,\n botId\n };\n this.emit(INTERNAL_EVENTS.AGENT_TRANSCRIPT_MSG, data);\n if (_data?.customData) {\n data['customData'] = JSON.parse(JSON.stringify(_data?.customData));\n }\n if (_data?.secureCustomData) {\n data['secureCustomData'] = _data?.secureCustomData;\n }\n this.socketConnection.emitEvents(EVENTS.agent_sent_message, data);\n }\n } else {\n this.emit(SDK_EVENTS.ON_ERROR, ERROR_CODES['ERR_AGENT_MISSING_REQ_FIELDS']);\n }\n }\n\n subscribeToEvents() {\n this.on(DATA_EVENTS.SETTINGS_RESPONSE, this.settingsResponseHandler);\n this.bindEvents();\n }\n\n private settingsResponseHandler = (data: any) => {\n if(this.newSocketApproach){\n this.handleSettingsResponse(data, this.config, this.rootService.connectionDetails.channel);\n }\n };\n\n handleSettingsResponse(res: any, config: any, channel: string) {\n let widgetSettings : any = {};\n if(res && res.agentAssistSettings && res.agentAssistSettings[channel]){\n this.rootService.accountId = res.accountId;\n res.agentAssistSettings = this.addBackWardCompatibility(res.agentAssistSettings);\n widgetSettings = Object.assign(res.agentAssistSettings, res.agentAssistSettings[channel]);\n }else{\n widgetSettings = this.rootService.defaultwidgetSettings;\n }\n // depends on prefs\n this.rootService.interimSummary = config.connectionDetails.interimSummary;\n\n \n this.rootService.aaSettings = JSON.parse(JSON.stringify(widgetSettings));\n const convItem = this.localStorageService.getStorageItem(config?.connectionDetails?.conversationId, {});\n if(convItem && Object.keys(convItem).length === 0){\n let LanguageSelect = this.rootService?.aaSettings?.languageSettings?.language;\n if(LanguageSelect === 'interactiveLang'){\n LanguageSelect = this.config?.connectionDetails?.interactiveLanguage\n }\n this.LanguageObject(LanguageSelect)\n }\n\n this.localStorageService.initializeLocalStorageData(this.rootService.aaSettings)\n\n }\n\n initiateSocketConnection() {\n // if(!this.newSocketApproach){\n // this.updateSettingsProperties();\n // }\n setTimeout(() => {\n let language = this.getLanguageDetails();\n this.socketConnection.socketConnection(this.config, this.rootService.grantResponseObj, language);\n }, 100);\n }\n\n updateSettingsProperties(){\n let chatWindowHtml: any;\n chatWindowHtml = getHTML(AAContainer, {}, this);\n this.emit(SDK_EVENTS.BEFORE_VIEW_INIT, chatWindowHtml, { event: SDK_EVENTS.MAIN_CONTAINER, data : {} });\n this.chatEle = chatWindowHtml;\n this.render(chatWindowHtml);\n this.hideSendAndCopy();\n this.chatWindowInstance.chatEle = this.chatEle;\n }\n\n LanguageObject(lang:string){\n if(lang === 'interactiveLang'){\n lang = this.config?.connectionDetails?.interactiveLanguage\n }\n this.languagedata = this.languages[lang]\n const enLanguage = this.languages['en']\n\n try{\n for(const key of Object.keys(enLanguage)){\n if(key in this.languagedata){\n continue\n }\n else{\n this.languagedata[key] = enLanguage[key as keyof typeof enLanguage]\n }\n }\n }\n catch{\n this.languagedata = en;\n } \n }\n\n initShow(config: any) {\n this.renderLoader();\n this.socketConnection = new websocketservice(this);\n this.chatWindowInstance = new chatWindow();\n this.chatWindowInstance.sendMessage = (messageText: any, options: any, serverMessageObject: any, clientMessageObject: any) => {\n console.log(messageText, options, serverMessageObject, clientMessageObject, \"txt***8\");\n this.emit(INTERNAL_EVENTS.TEMPLATE_CLICK, { messageText, tab: this.rootService.activeTab });\n }\n this.rootService = new rootService(this);\n this.localStorageService = new localStorageService(this);\n this.chunkFileUploadService = new chunkFileUploadService(this);\n this.rootService.connectionDetails = config.connectionDetails;\n this.templateRenderService = new templateRenderClassService(this);\n\n //apply branding based on theme\n let theme = this.localStorageService?.getThemeLocal();\n this.applyBranding(theme === storageConst.DARK ? DARKTHEME_COLORCODES : config.branding?.colors, theme);\n \n\n // this.chatWindowInstance.setBranding(); \n const { botId, conversationId, token, domainURL } = config.connectionDetails;\n const isJWE = token?.split('.')?.length === 5;\n\n if (botId && conversationId && token && domainURL || isJWE) {\n this.JWTSetup(config, isJWE)\n .then((data: any) => {\n this.newSocketApproach = data?.cvs;\n updateEndPointUrl(data?.invokeNewAAService);\n if (data?.cId) {\n config.connectionDetails.conversationId = data.cId;\n this.rootService.connectionDetails.conversationId = data.cId;\n }\n\n if(data?.isAnonymousFlowEnabled){\n this.rootService.isAnonymousFlowEnabled = true;\n }\n\n this.rootService.grantResponseObj = data;\n config['JWT_RESP'] = data;\n\n this.socketConnection.configOptions = config;\n\n let language = this.getLanguageDetails();\n // new socket approach\n if (data?.cvs) {\n this.initiateSocketConnection();\n \n } else {\n const { botId, channel } = config.connectionDetails;\n \n this.getAASettings(botId)\n .then((res: any) => {\n this.handleSettingsResponse(res, config, channel);\n this.initiateSocketConnection();\n this.getAAPrefsSettings(botId).then((res:any)=>{\n this.handlePrefsResponse(res,true);\n }).catch((err:any)=>{\n this.emit(SDK_EVENTS.ON_ERROR, ERROR_CODES['ERR_PREFS_API_FAILURE']);\n })\n\n }).catch((err: any) => {\n this.emit(SDK_EVENTS.ON_ERROR, ERROR_CODES['ERR_SETTINGS_API_FAILURE']);\n })\n }\n\n\n }).catch((err: any) => {\n this.emit(SDK_EVENTS.ON_ERROR, ERROR_CODES['ERR_TOKEN_INVALID']);\n this.handleNetworkError();\n });\n\n this.chatWindowInstance.on('beforeWSSendMessage', (event: any) => {\n console.log('before ws send message: ', event);\n })\n }\n\n if(Object.keys(this.localStorageService.getInternalTransferInfo()).length && !Object.keys(this.rootService.internalTransferData || {}).length){\n this.rootService.internalTransferData = structuredClone(this.localStorageService.getInternalTransferInfo());\n }\n\n let languageSelected = this.getLanguageDetails();\n this.LanguageObject(languageSelected) \n }; \n \n getLanguageDetails(){\n let language = this.localStorageService.getLanguage();\n return language;\n }\n\n addBackWardCompatibility(agentassistSettings : any){\n if(agentassistSettings && (!agentassistSettings.feedback || !Object.keys(agentassistSettings.feedback)?.length)){\n agentassistSettings.feedback = this.rootService.defaultFeedbackSettings;\n }\n return agentassistSettings\n }\n\n\n hideSendAndCopy() {\n this.rootService.hideActionButtons = (this.rootService.connectionDetails.channel === ProjConstants.VOICE) ? true : false;\n\n if (this.rootService?.aaSettings?.isAgentResponseEnabled === false) {\n this.rootService.hideSendButton = true;\n }\n\n if (this.rootService?.aaSettings?.isAgentResponseCopyEnabled === false) {\n this.rootService.hideCopyButton = true;\n }\n\n if (this.rootService.hideSendButton && this.rootService.hideCopyButton) {\n this.rootService.hideActionButtons = true;\n }\n}\n\n\n\n getAASettings(botId: string){\n const { channel } = this.rootService.connectionDetails;\n return fetchInstance('get_aa_settings', {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n }, this, { botId, channel});\n }\n\n getAAPrefsSettings(botId: string){\n const { channel } = this.rootService.connectionDetails;\n const language = this.localStorageService.getLanguage()\n return fetchInstance('aa_prefs_settings',{\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n }, \n }, this,{botId, channel, lang:language, instanceBotId:botId})\n }\n\n \n JWTSetup(options: any, isJWE: boolean) {\n\n const { token, botId } = options.connectionDetails || {};\n\n var payload = {\n \"assertion\": token,\n \"botInfo\": {\n taskBotId: botId,\n chatBot: 'Sample Bot'\n },\n \"token\": {}\n }\n\n // const endPoint = isJWE ? 'jwt_load' : 'jwt_grant';\n const endPoint = this.config?.connectionDetails?.isSecure ? 'jwt_load' : 'jwt_grant';\n\n return fetchInstance(endPoint, {\n method: 'POST',\n body: JSON.stringify(payload),\n }, this);\n }\n\n render(chatWindowHtml: any) {\n this.clearContainer();\n const container = document.getElementsByClassName(this.config.container)[0];\n if(chatWindowHtml){\n container.append(chatWindowHtml);\n }\n };\n\n clearContainer(){\n let elements : any = document.getElementsByClassName(this.config.container);\n // Loop through each element and clear its children\n for (let i = 0; i < elements.length; i++) {\n while (elements[i].firstChild) {\n elements[i].removeChild(elements[i].firstChild);\n }\n }\n }\n\n renderLoader(){\n let loaderHtml = getHTML(AALoder,{}, this);\n this.emit(SDK_EVENTS.BEFORE_VIEW_INIT, loaderHtml, { event: SDK_EVENTS.MAIN_LOADER, data: {} });\n const container = document.getElementsByClassName(this.config.container)[0];\n container.append(loaderHtml);\n }\n\n removeLoader(){\n let loaderHtml = this?.chatEle?.querySelector(`#${IdMapConstant.LOADER_BLOCK_MAIN}`);\n loaderHtml?.remove();\n }\n\n renderIndividualLoader(container: any){\n this.removeIndividualLoader(container);\n let loaderHtml = getHTML(IndividualLoader,{}, this);\n this.emit(SDK_EVENTS.BEFORE_VIEW_INIT, loaderHtml, { event: SDK_EVENTS.INDIVIDUAL_LOADER, data: {} });\n container?.append(loaderHtml);\n setTimeout(() => {\n this.removeIndividualLoader(container);\n }, 5000);\n }\n\n removeIndividualLoader(parentNode : any){\n let loaderHtml = parentNode.querySelector(`#${IdMapConstant.LOADER_BLOCK_INDIVIDUAL}`); \n loaderHtml?.remove();\n }\n\n bindEvents() {\n this.on('ON_SOCKET_CONNECTION', this.handleOnSocketConnectionEvent);\n this.on(DATA_EVENTS.ON_READY, this.handleOnReadyEvent);\n this.on(DATA_EVENTS.PREFS_RESPONSE, this.handlePrefsResponse)\n }\n\n handleOnReadyEvent = (data:any) => {\n if(this.rootService.isOnReadyCalled){\n return;\n }\n\n this.rootService.isOnReadyCalled = true;\n\n if(data?.aa_settings){\n this.settingsResponseHandler(data.aa_settings);\n }\n\n if(data?.aa_prefs){\n this.handlePrefsResponse(data.aa_prefs);\n }\n\n if(data?.internal_transfer_response){\n this.internalTransfer(data.internal_transfer_response);\n }\n\n this.updateSettingsProperties() \n if(this.newSocketApproach){ \n this.commonEmitEvents(this.config); \n } \n \n }\n\n handleOnSocketConnectionEvent = (config: any) => {\n if(!this.newSocketApproach){\n this.commonEmitEvents(config);\n }\n }\n\n handlePrefsResponse=(data:any,isApiCall?:boolean)=>{\n const languageSelected = this.getLanguageDetails()\n const { channel,botId } = this.rootService.connectionDetails;\n let ordArr:any = []\n let loutcstObj:any = {}\n\n if(data?.prefs){\n this.rootService.prefsAccessObj.prefs = data.prefs[channel]?.locale[languageSelected]\n this.rootService.prefsAccessObj.orderTabs = data.prefs[channel]?.locale[languageSelected]?.lout?.ord;\n this.rootService.prefsAccessObj.defaultTab = data.prefs[channel]?.locale[languageSelected]?.lout?.dfTb;\n this.localStorageService.setActiveTab(this.rootService.prefsAccessObj.defaultTab)\n this.rootService.prefsOpacity = data.prefs[channel]?.locale[languageSelected]?.sg?.dT?.lbl?.scVsbty;\n ordArr = data.prefs[channel]?.locale[languageSelected]?.lout?.ord\n }\n else{\n this.rootService.prefsAccessObj.prefs = prefsSeed[languageSelected as keyof typeof prefsSeed]\n this.rootService.prefsAccessObj.orderTabs = prefsSeed[languageSelected as keyof typeof prefsSeed]?.lout?.ord;\n this.rootService.prefsAccessObj.defaultTab = prefsSeed[languageSelected as keyof typeof prefsSeed]?.lout?.dfTb;\n this.localStorageService.setActiveTab(this.rootService.prefsAccessObj.defaultTab)\n this.rootService.prefsOpacity = prefsSeed[languageSelected as keyof typeof prefsSeed]?.sg?.dT?.lbl?.scVsbty || 50;\n } \n\n\n if(data?.prefs && ordArr && ordArr?.length){\n loutcstObj = ordArr.find((item:any)=> item.hasOwnProperty('cst'))\n if(loutcstObj && loutcstObj?.cst && loutcstObj?.cst?.isE){\n this.rootService.customTabPrefsObj.customTabEnabled = loutcstObj.cst?.isE;\n this.rootService.customTabPrefsObj.customTabPrefs = loutcstObj.cst\n this.rootService.customTabPrefsObj.customTabWlD = loutcstObj.cst?.[botId]?.wfD?.isE ? loutcstObj.cst?.[botId]?.wfD?.dgIds : [];\n this.rootService.customTabPrefsObj.customTablbl = loutcstObj.cst?.lbl || '';\n }\n }\n\n if(isApiCall){\n this.updateSettingsProperties();\n }\n \n }\n\n\n cleanupEvents(){\n this.off(DATA_EVENTS.SETTINGS_RESPONSE, this.settingsResponseHandler);\n this.off('ON_SOCKET_CONNECTION', this.handleOnSocketConnectionEvent);\n this.off(DATA_EVENTS.ON_READY, this.handleOnReadyEvent);\n this.off(DATA_EVENTS.PREFS_RESPONSE, this.handlePrefsResponse);\n }\n\n commonEmitEvents(config: any) {\n\n const { botId, conversationId, autoBotId, interactiveLanguage, userName, customData, token, channel } = config?.connectionDetails;\n let sendCustomData = '';\n let sendInteractiveLanguage = '';\n let sendAutoBotId = '';\n\n if (customData && Object.keys(customData)?.length > 0 && config?.connectionDetails?.source !== 'smartassist-color-scheme') {\n sendCustomData = customData\n };\n\n if (interactiveLanguage !== null && typeof interactiveLanguage !== 'undefined' && interactiveLanguage !== \"''\") {\n sendInteractiveLanguage = interactiveLanguage; // Return the default value for null, undefined, or \"''\"\n };\n\n if (autoBotId && autoBotId !== 'undefined') {\n sendAutoBotId = autoBotId;\n };\n\n let welComeMsgReqParam: any = {\n \"waitTime\": 2000,\n \"userName\": userName,\n \"id\": conversationId,\n \"isSendWelcomeMessage\": true,\n \"agentassistInfo\": {},\n \"botId\": botId,\n \"sendMenuRequest\": true,\n \"uId\": \"\",\n \"sId\": \"\",\n \"experience\": channel,\n \"jToken\": token,\n \"conversationId\": conversationId,\n \"autoBotId\": sendAutoBotId,\n \"language\": sendInteractiveLanguage,\n \"allQueryParams\": config?.connectionDetails,\n \"customData\": sendCustomData,\n };\n\n this.welComeMsgReq(welComeMsgReqParam);\n\n let overrideMode = this.rootService.proactiveMode ? false : true;\n this.handleOverrideMode(overrideMode, null);\n\n let menuReqParam = {\n \"botId\": botId,\n \"conversationId\": conversationId,\n \"experience\": channel,\n \"autoBotId\": sendAutoBotId,\n \"language\": sendInteractiveLanguage\n };\n\n this.menuReq(menuReqParam);\n\n if(this.rootService.isAnonymousFlowEnabled && !this.rootService.isAnonymousFlowTriggered && !this.rootService.isInitialInternalTransferTriggered){\n const localstorageData = this.localStorageService.getInternalTransferInfo();\n if(!this.rootService.internalTransfer && !Object.keys(localstorageData?.participant || {})?.length && !this.rootService.isHooksApi){\n this.rootService.isAnonymousFlowTriggered = true;\n this.internalTransfer({\n isAnonymousAgent: true\n });\n }\n }\n\n if(this.rootService.isInitialInternalTransferTriggered){\n const localstorageData = this.localStorageService.getInternalTransferInfo();\n this.rootService.isInitialInternalTransferTriggered = false;\n if(localstorageData){\n this.internalTransfer(localstorageData);\n }\n }\n }\n\n prepareAgentAssistRequestParams(data : any) {\n let agent_assist_request : any = {\n 'conversationId': data.conversationId,\n 'query': data.value,\n 'botId': data.botId,\n 'agentId': '',\n 'experience': data?.channel,\n 'positionId': data.positionId,\n 'intType': 'assist'\n }\n if (data.intentName) {\n agent_assist_request['intentName'] = data.value;\n }\n if (data.entities) {\n agent_assist_request['entities'] = data.entities;\n } else {\n agent_assist_request['entities'] = [];\n }\n if (data.childBotId) {\n agent_assist_request['childBotId'] = data.childBotId;\n }\n if (data.childBotName) { \n agent_assist_request['childBotName'] = data.childBotName;\n }\n if (data?.autoBotId && data?.autoBotId !== 'undefined') {\n agent_assist_request['autoBotId'] = data.autoBotId;\n } else {\n agent_assist_request['autoBotId'] = '';\n }\n if (data.intentName && data.userInput) {\n agent_assist_request['query'] = data.userInput\n }\n if (this.rootService.isAutomationOnGoing) {\n agent_assist_request['positionId'] = this.rootService.currentPositionId;\n }\n if(Array.isArray(data.traits) && data?.traits?.length){\n agent_assist_request['traits'] = data.traits\n }\n\n if(data.taskRefId){\n agent_assist_request['taskRefId'] = data.taskRefId\n }\n\n if(data.dialogId){\n agent_assist_request['dialogId'] = data.dialogId\n }\n\n if(data.isDiscard){\n agent_assist_request['terminateTask'] = data.isDiscard\n }\n\n if(data?.attachments) {\n agent_assist_request['query'] = data?.attachments[0]?.url?.fileUrl || '';\n agent_assist_request['attachments'] = data?.attachments;\n }\n\n if(data?.author) {\n agent_assist_request['firstName'] = data?.author?.firstName || '';\n agent_assist_request['lastName'] = data?.author?.lastName || '';\n agent_assist_request['type'] = data?.author?.type || '';\n }\n\n agent_assist_request = this.addSourceMsgIdToRequestParams(data,agent_assist_request)\n\n return agent_assist_request;\n }\n\n\n prepareAgentAssistAgentRequestParams(data : any) {\n let agent_assist_agent_request_params: any = {\n 'isSearch': data.isSearch,\n 'conversationId': data.conversationId,\n 'query': data.value,\n 'botId': data.botId,\n 'experience': data?.channel,\n 'positionId': data?.positionId,\n 'childBotId': data?.childBotId || '',\n 'childBotName': data?.childBotName || '',\n 'intType': 'myBot'\n }\n if (data.intentName) {\n agent_assist_agent_request_params.intentName = data.intentName;\n }\n // if(data.childBotId) {\n // agent_assist_agent_request_params['childBotId'] = data.childBotId;\n // agent_assist_agent_request_params['childBotName'] = data.childBotName;\n // }\n if (data?.autoBotId && data?.autoBotId !== 'undefined') {\n agent_assist_agent_request_params['autoBotId'] = data.autoBotId;\n } else {\n agent_assist_agent_request_params['autoBotId'] = '';\n }\n if (data.intentName && data.userInput) {\n agent_assist_agent_request_params['query'] = data.userInput\n }\n\n // if (this.isMyBotAutomationOnGoing) {\n // agent_assist_agent_request_params['positionId'] = this.currentPositionIdOfMyBot;\n // }\n\n if(Array.isArray(data.traits) && data?.traits?.length){\n agent_assist_agent_request_params['traits'] = data.traits\n }\n\n if(data.taskRefId){\n agent_assist_agent_request_params['taskRefId'] = data.taskRefId\n }\n\n if(data.dialogId){\n agent_assist_agent_request_params['dialogId'] = data.dialogId\n }\n\n if(data.isDiscard){\n agent_assist_agent_request_params['terminateTask'] = data.isDiscard\n }\n\n if(data?.attachments) {\n agent_assist_agent_request_params['query'] = data?.attachments[0]?.url?.fileUrl || '';\n agent_assist_agent_request_params['attachments'] = data?.attachments;\n }\n\n agent_assist_agent_request_params = this.addSourceMsgIdToRequestParams(data,agent_assist_agent_request_params)\n \n return agent_assist_agent_request_params;\n }\n\n prepareAgentAssistCustomRequestParams(data : any) {\n let agent_assist_agent_request_params: any = {\n 'isSearch': data.isSearch,\n 'conversationId': data.conversationId,\n 'query': data.value,\n 'botId': data.botId,\n 'experience': data?.channel,\n 'positionId': data?.positionId,\n 'childBotId': data?.childBotId || '',\n 'childBotName': data?.childBotName || '',\n 'intType': 'custom',\n 'crId': 'custom'\n \n }\n if (data.intentName) {\n agent_assist_agent_request_params.intentName = data.intentName;\n }\n // if(data.childBotId) {\n // agent_assist_agent_request_params['childBotId'] = data.childBotId;\n // agent_assist_agent_request_params['childBotName'] = data.childBotName;\n // }\n if (data?.autoBotId && data?.autoBotId !== 'undefined') {\n agent_assist_agent_request_params['autoBotId'] = data.autoBotId;\n } else {\n agent_assist_agent_request_params['autoBotId'] = '';\n }\n if (data.intentName && data.userInput) {\n agent_assist_agent_request_params['query'] = data.userInput\n }\n\n if(Array.isArray(data.traits) && data?.traits?.length){\n agent_assist_agent_request_params['traits'] = data.traits\n }\n\n if(data.taskRefId){\n agent_assist_agent_request_params['taskRefId'] = data.taskRefId\n }\n\n if(data.dialogId){\n agent_assist_agent_request_params['dialogId'] = data.dialogId\n }\n\n if(data.isDiscard){\n agent_assist_agent_request_params['terminateTask'] = data.isDiscard\n }\n\n if(data?.attachments) {\n agent_assist_agent_request_params['query'] = data?.attachments[0]?.url?.fileUrl || '';\n agent_assist_agent_request_params['attachments'] = data?.attachments;\n }\n\n if(data?.positionId){\n agent_assist_agent_request_params['positionId'] = data.positionId\n }\n\n agent_assist_agent_request_params = this.addSourceMsgIdToRequestParams(data,agent_assist_agent_request_params)\n \n return agent_assist_agent_request_params;\n }\n\n addSourceMsgIdToRequestParams(data : any,requestParams : any){\n if(data.sourceMsgId){\n if(data.sourceMsgId == 'fromLibrary'){\n requestParams['fromLibrary'] = true\n }else{\n requestParams['sourceMsgId'] = data.sourceMsgId\n }\n }\n return requestParams;\n }\n\n handleOverrideMode = (toggleOverride : any, dialogId : any) => { \n let connectionDetails = this.rootService.connectionDetails;\n let overRideObj: any = {\n \"agentId\": \"\",\n \"botId\": connectionDetails.botId,\n \"conversationId\": connectionDetails.conversationId,\n \"query\": \"\",\n \"enable_override_userinput\": toggleOverride,\n 'experience': this.rootService.connectionDetails?.channel,\n \"positionId\": dialogId\n }\n // this.rootService.proactiveMode = !toggleOverride;\n this.socketConnection.emitEvents(EVENTS.enable_override_userinput, overRideObj);\n this.rootService.OverRideMode = toggleOverride;\n \n }\n\n welComeMsgReq(welComeMsgReqParam: any) {\n this.socketConnection.emitEvents(EVENTS.welcome_message_request, welComeMsgReqParam);\n }\n\n menuReq(menuReqParam: any) {\n this.socketConnection.emitEvents(EVENTS.agent_menu_request, menuReqParam);\n }\n\n\n //events to handle from client\n // selectAAFooterTab(data : any){\n // this.emit('selectTab', data , {});\n // }\n \n openAssistTab(footerTag : any){\n this.emit(EVENTS_TO_SDK.UPDATE_ACTIVE_TAB, {activeTab : 'ast', footerTag});\n }\n\n openTranscriptTab(footerTag : any){\n this.emit(EVENTS_TO_SDK.UPDATE_ACTIVE_TAB, {activeTab : 'trnspt', footerTag});\n }\n\n openSearchTab(footerTag : any){\n this.emit(EVENTS_TO_SDK.UPDATE_ACTIVE_TAB, {activeTab : 'srch', footerTag});\n }\n\n openMybotTab(footerTag : any){\n this.emit(EVENTS_TO_SDK.UPDATE_ACTIVE_TAB, {activeTab : 'mB', footerTag});\n }\n\n openCustomTab(footerTag : any){\n this.emit(EVENTS_TO_SDK.UPDATE_ACTIVE_TAB, {activeTab : 'cst', footerTag});\n }\n\n openPlaybookTab(footerTag : any){\n this.emit(EVENTS_TO_SDK.UPDATE_ACTIVE_TAB, {activeTab : 'playbook', footerTag});\n }\n\n sendChecklistOpenedEvent(checklistParams : any){\n this.emit(EVENTS_TO_SDK.CHECKLIST_OPEN, checklistParams);\n }\n\n sendChecklistResumeEvent(checklistParams : any){\n this.emit(EVENTS_TO_SDK.CHECLIST_RESUME, checklistParams);\n }\n\n sendChecklistStepCloseEvent(checklistParams : any){\n this.emit(EVENTS_TO_SDK.CHECKLIST_STEP_CLOSE, checklistParams);\n }\n\n sendChecklistProceedToCloseEvent(checklistParams : any){\n this.emit(EVENTS_TO_SDK.CHECKLIST_PROCEED_TO_CLOSE, checklistParams);\n }\n\n endOfConversation() {\n this.emit(INTERNAL_EVENTS.END_OF_CONVERSATION);\n }\n\n responseResolutionCommentsFromParent(resolutionComments : any){\n resolutionComments.openOnResponse = true;\n this.setSummaryPopup(resolutionComments);\n }\n\n setSummaryPopup(summaryPopup : any){\n this.emit(INTERNAL_EVENTS.SET_SUMMARY_POPUP, summaryPopup);\n }\n\n internalTransfer(data : any){\n if(!this.rootService.isInitialInternalTransferTriggered && !this.rootService.isOnReadyCalled){\n this.rootService.isInitialInternalTransferTriggered = true;\n }\n this.emit(INTERNAL_EVENTS.INTERNAL_TRANSFER, data);\n }\n\n disableWidget(isActive : boolean){\n this.emit(INTERNAL_EVENTS.DISABLE_WIDGET, isActive);\n }\n\n prepareTabs = (tabsNTitles: any, tabsTitles: any) => {\n let tabsRender:any[] = [];\n tabsNTitles.forEach((tab: any) => {\n const tabObj = Object.entries(tab);\n tabObj.forEach(([key, value]: any) => {\n if(value.isE){\n tabsRender.push({\n type: key,\n title: tabsTitles[key],\n isEnabled: true,\n default: key === this.rootService?.prefsAccessObj?.defaultTab\n })\n }\n })\n })\n\n if(this.rootService?.aaSettings[this.rootService?.connectionDetails?.channel]?.isAgentPlaybookEnabled){\n tabsRender.push({\n type: 'cl',\n title: tabsTitles['cl'],\n isEnabled: true,\n default: false\n })\n }\n\n if(tabsNTitles?.length > 0 && this.rootService?.aaSettings?.feedback?.widget?.isEnabled){\n tabsRender.push({\n type: 'mR',\n title: 'More',\n isEnabled: true,\n default: false\n })\n }\n\n return tabsRender;\n }\n\n applyBranding(colors: any, theme : string){\n if(theme === storageConst.DARK){\n colors = JSON.parse(JSON.stringify(DARKTHEME_COLORCODES));\n colors.primay = this.config?.branding?.colors?.primay;\n }\n const colorObj: any = {\n primay: '--AA-primary-color',\n secondary: '--AA-secondary-color',\n primaryText: '--AA-primary-text',\n secondaryText: '--AA-secondary-text',\n bodyBackground : '--AA-body-background',\n warningColor: '--AA-warning-color',\n };\n if(colorObj){\n for (const key in colorObj) {\n if (Object.prototype.hasOwnProperty.call(colorObj, key)) {\n const element = colorObj[key];\n document.documentElement.style.setProperty(element, colors[key]);\n }\n }\n }\n }\n\n destroy(){\n this.cleanupEvents();\n this.socketConnection.disconnect();\n this.emit('DESTROY_WIDGET', {});\n this.localStorageService.deleteLocalStorageState(this.rootService.connectionDetails.conversationId);\n this.removeEventListenersInDOM();\n }\n\n\n removeEventListenersInDOM(){\n const eventMapper = JSON.parse(JSON.stringify(this.eventManager?.eventMapper));\n const eventListener = this.getEvents();\n eventMapper.forEach((item:any) => {\n this.eventManager?.removeEventListener(item.querySelector, item.event, this.chatEle);\n });\n \n Object.keys(eventListener).forEach((key) => {\n if(key !== 'BEFORE_VIEW_INIT'){\n eventListener[key].forEach((item) => {\n this.off(key, item);\n });\n }\n });\n }\n\n\n \nhandleNetworkError() {\n const toastElement = this.addNetworkErrorToastrTemplate();\n try {\n requestAnimationFrame(() => {\n this.rootService.showNetworkToastr(this);\n if (this.timeoutId !== undefined) {\n clearTimeout(this.timeoutId);\n }\n // this.timeoutId = window.setTimeout(() => {\n // // this.rootService.hideNetworkToastr(this);\n // }, 5000);\n });\n } catch (error) {\n console.error('Error handling network toast:', error);\n }\n}\n\n\nprivate addNetworkErrorToastrTemplate() {\n try {\n const container = document.querySelector(`.${this.config.container}`);\n const toastContainer = container?.querySelector(`.${ClassMapConstanst.NETWORK_ERROR_TOASTR}`);\n if(!toastContainer){\n container?.classList?.add('container-border');\n const networkErrorToastTemplate : HTMLElement = getHTML(NetworkErrorToast, {}, this) as HTMLElement;\n // Add event listener for close button\n this.eventManager?.addEventListener(\n `.${ClassMapConstanst.NETWORK_ERROR_CLOSE_BTN}`,\n 'click',\n () => { \n this.rootService.hideNetworkToastr(this);\n if (this.timeoutId) {\n clearTimeout(this.timeoutId);\n }\n },\n networkErrorToastTemplate\n );\n \n // Emit event before adding to DOM\n this.emit(SDK_EVENTS.BEFORE_VIEW_INIT, networkErrorToastTemplate, {\n event: SDK_EVENTS.NETWORK_ERROR_TOASTR,\n data: {}\n });\n \n // Add to DOM\n if (!container) {\n throw new Error('Container not found');\n }\n \n container.appendChild(networkErrorToastTemplate);\n return networkErrorToastTemplate;\n }\n \n } catch (error) {\n console.error('Error adding network error toast template:', error);\n throw error;\n }\n}\n\npauseTranscript(){\n this.emit(INTERNAL_EVENTS.PAUSE_TRANSCRIPT, 'pause');\n}\n\nresumeTranscript(){\n this.emit(INTERNAL_EVENTS.RESUME_TRANSCRIPT, 'resume');\n}\n\n}\n\nexport default AAWindow;\n","import './aaContainer.scss';\nimport { useEffect, useRef, useState } from 'preact/hooks';\nimport { Fragment, h } from 'preact';\nimport { ClassMapConstanst, IdMapConstant, ProjConstants, serviceTabMap, Tabs, coachingConst, DARKTHEME_COLORCODES, storageConst} from '../../../constants/projConsts';\nimport { AllTabs } from '../../tabs/all-tabs';\nimport { Assist } from '../../tabs/assist/assist';\nimport { AgenticCoPilot } from '../../tabs/agentic-CoPilot/agentic-CoPilot';\nimport { Search } from '../../tabs/search/search';\nimport { Transcript } from '../../tabs/transcript/transcript';\nimport { Playbook } from '../../tabs/playbook/playbook';\nimport { Header } from '../../tabs/header/header';\nimport { DATA_EVENTS, SDK_EVENTS, EVENTS, INTERNAL_EVENTS, EVENTS_TO_SDK } from '../../../constants/events.cnst';\nimport { MyBot } from '../../tabs/mybot/mybot';\nimport { getHTML } from '../domManager';\nimport KoreGenerateuuidPipe from '../../../utils/koregenerateuuid';\nimport { RenderAttachmentImageView, RenderInterruptionPopup, RenderListView, RenderMultipleOptionsPopup, RenderSettingsPopup, RenderTerminatePopup } from '../../tabs/atom/dialogPopups';\nimport { FeebackConst } from '../../../constants/settingsConsts';\nimport { FeedbackWrapperInsideDialog } from '../../tabs/automation/automation';\nimport ErrorBoundary from '../../tabs/ErrorBoundary/ErrorBoundary';\nimport { CustomTab } from '../../tabs/custom-tab/custom';\nimport { sentimentScore } from '../../tabs/sentimentScore/sentimentScore';\nimport { OverallFeedbackSection } from '../../tabs/feedback/feedback';\n\nexport function NetworkErrorToast(props : any){\n const languageData = props?.hostInstance?.languagedata\n return (\n <div className=\"toast-custom-msg-container aa-network-error-toastr aa-hidden\">\n <div className=\"toast-msg-custom\">\n <div className=\"icon_block\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\">\n <path d=\"M7.17843 0.502645C3.59639 0.401083 0.604208 3.23702 0.502645 6.81905C0.401083 10.4011 3.23702 13.3972 6.81905 13.4987C10.4011 13.5964 13.3972 10.7644 13.4987 7.17843C13.5107 6.71937 13.4729 6.27055 13.3916 5.83646C13.3204 5.45632 12.8618 5.33602 12.5804 5.60138C12.445 5.72904 12.389 5.91835 12.4205 6.10172C12.4793 6.44341 12.5078 6.7945 12.4987 7.15499C12.4128 10.1862 9.87764 12.5808 6.84639 12.4987C3.81514 12.4128 1.41671 9.87764 1.49874 6.84639C1.58468 3.81514 4.11983 1.41671 7.15108 1.49874C8.00397 1.5256 8.8049 1.74585 9.51665 2.11731C9.72197 2.22446 9.97509 2.20036 10.1432 2.04103C10.3813 1.81533 10.3481 1.42597 10.0589 1.27097C9.19863 0.809842 8.22268 0.531475 7.17843 0.502645ZM12.3523 2.6921C12.157 2.49686 11.8405 2.49686 11.6452 2.6921L5.99874 8.33858L4.49874 6.84639L4.34964 6.69496C4.15628 6.49859 3.83996 6.49736 3.64509 6.69223C3.45032 6.887 3.45143 7.20312 3.64756 7.39651L3.79874 7.54559L5.64519 9.39796C5.84036 9.59376 6.15738 9.59401 6.35286 9.39853L12.3523 3.39913C12.5475 3.20389 12.5475 2.88734 12.3523 2.6921Z\" fill=\"#135423\" />\n </svg>\n </div>\n <h1 className=\"toast-content-info\">{languageData?.SERVER_CONNECTION_ERROR}</h1>\n <button className=\"close-toast-msg aa-network-error-close-btn\">\n <svg width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\n <path d=\"M15 5.2002L5 15.2002M5 5.2002L15 15.2002\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n </button>\n </div>\n </div>\n )\n}\n\nexport function FeedbackToast(props : any){\n return (\n <div className=\"toast-custom-msg-container aa-feedback-toastr aa-hidden\">\n <div className=\"toast-msg-custom\">\n <div className=\"icon_block\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\">\n <path d=\"M7.17843 0.502645C3.59639 0.401083 0.604208 3.23702 0.502645 6.81905C0.401083 10.4011 3.23702 13.3972 6.81905 13.4987C10.4011 13.5964 13.3972 10.7644 13.4987 7.17843C13.5107 6.71937 13.4729 6.27055 13.3916 5.83646C13.3204 5.45632 12.8618 5.33602 12.5804 5.60138C12.445 5.72904 12.389 5.91835 12.4205 6.10172C12.4793 6.44341 12.5078 6.7945 12.4987 7.15499C12.4128 10.1862 9.87764 12.5808 6.84639 12.4987C3.81514 12.4128 1.41671 9.87764 1.49874 6.84639C1.58468 3.81514 4.11983 1.41671 7.15108 1.49874C8.00397 1.5256 8.8049 1.74585 9.51665 2.11731C9.72197 2.22446 9.97509 2.20036 10.1432 2.04103C10.3813 1.81533 10.3481 1.42597 10.0589 1.27097C9.19863 0.809842 8.22268 0.531475 7.17843 0.502645ZM12.3523 2.6921C12.157 2.49686 11.8405 2.49686 11.6452 2.6921L5.99874 8.33858L4.49874 6.84639L4.34964 6.69496C4.15628 6.49859 3.83996 6.49736 3.64509 6.69223C3.45032 6.887 3.45143 7.20312 3.64756 7.39651L3.79874 7.54559L5.64519 9.39796C5.84036 9.59376 6.15738 9.59401 6.35286 9.39853L12.3523 3.39913C12.5475 3.20389 12.5475 2.88734 12.3523 2.6921Z\" fill=\"#135423\" />\n </svg>\n </div>\n <h1 className=\"toast-content-info\">{props?.hostInstance?.languagedata?.THANKS_FEEDBACK}</h1>\n <button className=\"close-toast-msg aa-feedback-close-btn\">\n <svg width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\n <path d=\"M15 5.2002L5 15.2002M5 5.2002L15 15.2002\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n </button>\n </div>\n </div>\n )\n}\n\nexport function AALoder(props: any) {\n return (\n <div id=\"aa-loader-main\" className=\"loader-progress-main\">\n <div className=\"loading-border\"></div>\n </div>\n );\n}\n\nexport function IndividualLoader(props: any) {\n return (\n <div id=\"aa-loader-individual\" className=\"loader-progress-individual\">\n <div className=\"loading-border\"></div>\n </div>\n );\n}\n\nexport function AAContainer(props: any) {\n\n const hostInstance = props.hostInstance;\n const rootServiceInstance = hostInstance.rootService;\n const localStorageServiceInstance = hostInstance.localStorageService;\n const languageData = props?.hostInstance?.languagedata;\n\n const [assistTabActive, setAssistTabActive] = useState(false);\n const [mybotTabActive, setMybotTabActive] = useState(false);\n const [searchTabActive, setSearchTabActive] = useState(false);\n const [transcriptTabActive, setTranscriptTabActive] = useState(false);\n const [playbookTabActive, setplaybookTabActive] = useState(false);\n const [customTabActive, setCustomTabActive] = useState(false);\n const [selectedTheme, setSelectedTheme] = useState('light');\n const [coachingHints, setCoachingHints] = useState<any[]>([]);\n const [coachingNudges, setCoachingNudges] = useState<any[]>([]);\n const [editedSummaryText, setEditedSummaryText] = useState(\"\");\n const [showWidget, setShowWidget] = useState(rootServiceInstance?.aaSettings?.agentAssistWidgetEnabled);\n\n const timeoutId = useRef<number | undefined>(undefined);\n \n let hints: any = [];\n let nudges: any = [];\n\n let tabsNTitles:any = rootServiceInstance?.prefsAccessObj?.orderTabs || [\n { type: 'srch', title: 'Search', isEnabled : true },\n { type: 'mB', title: 'My Bot', isEnabled : true },\n { type: 'ast', title: 'Assist', isEnabled : true },\n { type: 'trnspt', title: 'Transcript', isEnabled : true },\n { type : 'cl', title : 'PlayBook', isEnabled : true},\n { type : 'cst', title : 'Custom Tab', isEnabled : false},\n { type : 'mR', title : 'More', isEnabled : true},\n { type : 'ast-agentic', title : 'Agentic CoPilot', isEnabled : true}\n ];\n const connectionDetails = props.connectionDetails;\n const sourceDesktop = 'SomeSource';\n const hideUserBotHistory = false;\n const serTabMap : any = serviceTabMap;\n let selectTab : any = rootServiceInstance?.activeTab || 'ast';\n const classConstants : any = ClassMapConstanst;\n const idMapConstants : any = IdMapConstant;\n const [offsetX, setOffsetX] = useState(0);\n const [offsetY, setOffsetY] = useState(0);\n\n // Define a mapping of tab types to their components\n const tabComponents: { [key: string]: any } = {\n 'srch': Search,\n 'mB': MyBot,\n 'trnspt': Transcript,\n 'cl': Playbook,\n 'cst': CustomTab,\n 'ast': Assist,\n 'ast-agentic': AgenticCoPilot\n };\n\n const moreOptions: any = [\n {\n className: 'feedback',\n title: languageData?.FEEDBACK_TITLE,\n icon: <svg width=\"15\" height=\"15\" viewBox=\"0 0 15 15\" fill=\"none\">\n <path d=\"M4.08333 14.0833V6.75M0.75 8.08333V12.75C0.75 13.4864 1.34695 14.0833 2.08333 14.0833H11.0342C12.0213 14.0833 12.8608 13.3631 13.0109 12.3874L13.7289 7.72078C13.9152 6.50926 12.9779 5.41667 11.7521 5.41667H9.41667C9.04848 5.41667 8.75 5.11819 8.75 4.75V2.39389C8.75 1.486 8.014 0.75 7.10611 0.75C6.88956 0.75 6.69332 0.87753 6.60537 1.07542L4.25929 6.35409C4.15229 6.59484 3.91354 6.75 3.65008 6.75H2.08333C1.34695 6.75 0.75 7.34695 0.75 8.08333Z\" stroke=\"#667085\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n \n }\n ]\n\n // Define a mapping of tab types to their active states\n const tabActiveStates: { [key: string]: boolean } = {\n 'srch': searchTabActive,\n 'mB': mybotTabActive,\n 'trnspt': transcriptTabActive,\n 'cl': playbookTabActive,\n 'cst': customTabActive,\n 'ast': assistTabActive\n };\n\n const tabTitles : any = {\n 'srch': 'Search',\n 'mB': 'My Bot',\n 'trnspt': 'Transcript',\n 'cl': 'PlayBook',\n 'cst': rootServiceInstance?.customTabPrefsObj?.customTablbl || 'Custom Tab',\n 'ast': 'Assist',\n 'mR' : 'More'\n }\n\n let chatContainerClass = classConstants.SDK_MAIN_WRAPPER; //left-menu-nav-enable\n\n if(tabsNTitles?.length > 0 && hostInstance?.dskSettings?.tabs?.length === 0){\n tabsNTitles = hostInstance?.prepareTabs(tabsNTitles, tabTitles);\n }\n\n if(hostInstance?.dskSettings?.tabs?.length > 0){\n tabsNTitles = hostInstance?.dskSettings?.tabs;\n }\n\n rootServiceInstance.tabsNTitles = tabsNTitles;\n\n useEffect(() => {\n\n if(!rootServiceInstance.activeTab){\n rootServiceInstance.activeTab = rootServiceInstance?.prefsAccessObj?.defaultTab || (tabsNTitles?.find((item:any) => item?.default))?.type || tabsNTitles[0]?.type;\n }\n\n hostInstance.on(EVENTS_TO_SDK.UPDATE_ACTIVE_TAB, (data : any)=> { \n toggleActiveTab(data.activeTab, data.footerTag);\n });\n\n updateTabActive(rootServiceInstance.activeTab, false); \n\n rootServiceInstance.checkTransferDetailsAndDisableWidget(hostInstance);\n addHeaderTemplate();\n addFooterTemplate();\n addTerminatePopupTemplate();\n addInterruptPopupTemplate();\n addFeedbackToastrTemplate();\n addListViewPopupTemplate();\n addAttachmentViewTemplate(); \n addSettingsTemplate();\n addSentimentPopupTemplate();\n handleSentimentPopupOutSideClick();\n // addGenerateSummaryAction();\n\n hostInstance.on(DATA_EVENTS.AGENT_FEEDBACK_RESPONSE, handleFeedbackResponse);\n\n hostInstance.on('AGENT_COACHING_RESPONSES', handleCoachingEvents);\n\n hostInstance.on('END_OF_CONVERSATION', endOfConversationEvent);\n hostInstance.on('SET_SUMMARY_POPUP', handleSummaryPopup);\n\n hostInstance.on('RESOLUTION_COMMENTS_RESPONSE', handleSummaryResolutionComments);\n hostInstance.on('DESTROY_WIDGET', handleDestroyWidget);\n\n\n hostInstance.on(INTERNAL_EVENTS.PAUSE_TRANSCRIPT, handlePauseResumeTranscript);\n hostInstance.on(INTERNAL_EVENTS.RESUME_TRANSCRIPT, handlePauseResumeTranscript);\n\n hostInstance.on(INTERNAL_EVENTS.GENERATE_INTERIM_SUMMARY, handleGenerateSummary);\n\n return () => {\n destroyContainer();\n }\n },[]);\n\n useEffect(() => {\n if(assistTabActive){\n rootServiceInstance.handleAssistScroll(hostInstance);\n }\n if(transcriptTabActive){\n rootServiceInstance.scrollBottomTranscript(hostInstance);\n }\n }, [assistTabActive, transcriptTabActive]);\n\n const handleDestroyWidget = () => {\n setShowWidget(false);\n destroyContainer();\n }\n\n const destroyContainer = () => {\n clearTimeout(timeoutId.current);\n hostInstance.off(EVENTS_TO_SDK.UPDATE_ACTIVE_TAB);\n hostInstance.off(DATA_EVENTS.AGENT_FEEDBACK_RESPONSE, handleFeedbackResponse);\n hostInstance.off('AGENT_COACHING_RESPONSES', handleCoachingEvents);\n hostInstance.off('END_OF_CONVERSATION', endOfConversationEvent);\n hostInstance.off('SET_SUMMARY_POPUP', handleSummaryPopup);\n hostInstance.off('RESOLUTION_COMMENTS_RESPONSE', handleSummaryResolutionComments);\n hostInstance.off('DESTROY_WIDGET', ()=> setShowWidget(false));\n hostInstance.off(INTERNAL_EVENTS.PAUSE_TRANSCRIPT, handlePauseResumeTranscript);\n hostInstance.off(INTERNAL_EVENTS.RESUME_TRANSCRIPT, handlePauseResumeTranscript);\n }\n\n\n const handleGenerateSummary = (e : any) => { \n if(!rootServiceInstance.generatedSummaries?.length){\n generateSummary({}, true);\n }else{\n hostInstance.setSummaryPopup({ initPopup : false, openToShowPreviousSummary : true});\n }\n }\n\n\n const handleCoachingEvents = (response: any) => handleCocahingResponse(response);\n\n const chooseTheme = () => {\n setSelectedTheme(selectedTheme === 'light' ? 'dark' : 'light');\n };\n\n const endOfConversationEvent = () => {\n generateSummary({}, false);\n }\n\n\n const handleCocahingResponse = (resData: any) => {\n if(rootServiceInstance.aaSettings?.agentAssistWidgetEnabled && rootServiceInstance.aaSettings?.isAgentCoachingEnabled){\n if(resData?.action === 'nudge'){\n handleNudgeData(resData);\n } else if(resData?.action === 'hint') {\n handleHintData(resData);\n }\n }\n }\n\n const handleNudgeData = (NudgeObject: any) =>{\n let uQ = NudgeObject.actionId;\n nudges.unshift(NudgeObject);\n setCoachingNudges(prevNudges => [NudgeObject, ...prevNudges]);\n\n const nudgeBanner : any = getHTML(nudgeHTMLEle, NudgeObject, hostInstance);\n const nudgeEle = hostInstance?.chatEle?.getElementsByClassName(ClassMapConstanst.NUDGE_TEMPLATE)[0];\n setTimeout(() => {\n let inx = nudges.findIndex((item: any)=> item.actionId === uQ);\n if(inx >= 0){\n const nudgeElement = hostInstance?.chatEle?.querySelector(`#${uQ}`);\n if (nudgeElement) {\n nudgeElement.remove();\n coachingHints.splice(inx, 1);\n closeNudge(uQ);\n setCoachingNudges(prevNudges => prevNudges.filter((nudge: any) => nudge.actionId !== uQ));\n } \n }\n }, 7000);\n hostInstance.eventManager?.addEventListener(`.${ClassMapConstanst.NUDGE_CLOSE}`, 'click', () => {\n closeNudge(uQ);\n }, nudgeBanner);\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, nudgeBanner, {event: SDK_EVENTS.NUDGE_TEMPLATE, NudgeObject});\n nudgeEle.append(nudgeBanner);\n }\n\n const nudgeHTMLEle = (props: any) => {\n let {msgData} = props; \n return (\n <div class={`nudges-card ${coachingConst.NUDGE_DATA[msgData?.expression]?.className}`} id={`${msgData?.actionId}`}>\n {coachingConst.NUDGE_DATA[msgData?.expression]?.icon && (\n <div className=\"icon_block\">\n\n { msgData?.expression === 'neutral' && <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path d=\"M2.55371 8.35C2.55371 7.7701 3.02381 7.3 3.60371 7.3C4.18361 7.3 4.65371 7.7701 4.65371 8.35V12.55C4.65371 13.1299 4.18361 13.6 3.60371 13.6C3.02381 13.6 2.55371 13.1299 2.55371 12.55V8.35Z\" fill=\"white\"/>\n <path d=\"M5.35371 8.23334V12.0348C5.35371 12.565 5.65331 13.0498 6.12761 13.287L6.1625 13.3044C6.5513 13.4988 6.98002 13.6 7.4147 13.6H11.206C11.8733 13.6 12.4479 13.129 12.5788 12.4746L13.4188 8.27457C13.5921 7.40826 12.9295 6.6 12.046 6.6H9.55371V3.8C9.55371 3.0268 8.92691 2.4 8.15371 2.4C7.76711 2.4 7.45371 2.7134 7.45371 3.1V3.56667C7.45371 4.1725 7.25721 4.762 6.89371 5.24667L5.91371 6.55334C5.55021 7.038 5.35371 7.6275 5.35371 8.23334Z\" fill=\"white\"/>\n </svg>}\n\n { msgData?.expression === 'alert' && <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6.71312 3.61289C7.27776 2.60908 8.72302 2.60908 9.28766 3.61289L13.4086 10.9389C13.9624 11.9235 13.2509 13.14 12.1213 13.14H3.87949C2.74988 13.14 2.03841 11.9235 2.59222 10.9389L6.71312 3.61289ZM8.7388 10.9246C8.7388 11.3325 8.40817 11.6631 8.00033 11.6631C7.59248 11.6631 7.26185 11.3325 7.26185 10.9246C7.26185 10.5168 7.59248 10.1862 8.00033 10.1862C8.40817 10.1862 8.7388 10.5168 8.7388 10.9246ZM8.00033 5.01685C7.59248 5.01685 7.26185 5.34748 7.26185 5.75533V7.97075C7.26185 8.37859 7.59248 8.70922 8.00033 8.70922C8.40817 8.70922 8.7388 8.37859 8.7388 7.97075V5.75533C8.7388 5.34748 8.40817 5.01685 8.00033 5.01685Z\" fill=\"white\"/>\n </svg>}\n\n { msgData?.expression === 'critical' && <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path d=\"M7.29961 3.1C7.29961 2.7134 7.61301 2.4 7.99961 2.4C8.38621 2.4 8.69961 2.7134 8.69961 3.1V6.95C8.69961 7.1433 8.85631 7.3 9.04961 7.3C9.24291 7.3 9.39961 7.1433 9.39961 6.95V3.8C9.39961 3.4134 9.71301 3.1 10.0996 3.1C10.4862 3.1 10.7996 3.4134 10.7996 3.8V6.95C10.7996 7.1433 10.9563 7.3 11.1496 7.3C11.3429 7.3 11.4996 7.1433 11.4996 6.95V5.2C11.4996 4.8134 11.813 4.5 12.1996 4.5C12.5862 4.5 12.8996 4.8134 12.8996 5.2V8.7C12.8996 11.4062 10.7058 13.6 7.99961 13.6C5.29341 13.6 3.09961 11.4062 3.09961 8.7V7.3C3.09961 6.9134 3.41301 6.6 3.79961 6.6C4.18621 6.6 4.49961 6.9134 4.49961 7.3V9.05C4.49961 9.2433 4.65631 9.4 4.84961 9.4C5.04291 9.4 5.19961 9.2433 5.19961 9.05V3.8C5.19961 3.4134 5.51301 3.1 5.89961 3.1C6.28621 3.1 6.59961 3.4134 6.59961 3.8V6.95C6.59961 7.1433 6.75631 7.3 6.94961 7.3C7.14291 7.3 7.29961 7.1433 7.29961 6.95V3.1Z\" fill=\"white\"/>\n </svg>}\n\n { msgData?.expression === 'positive' && <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\n <path d=\"M5.76708 0.5C5.40707 0.5 5.08084 0.712015 4.93462 1.04099L3.25425 4.82184C3.21348 4.91357 3.19219 4.96087 3.17474 4.99418L3.17319 4.99711L3.16988 4.99734C3.13236 4.99976 3.08048 5 2.9801 5L2.58073 5C2.31715 4.99999 2.08977 4.99998 1.90249 5.01528C1.70481 5.03144 1.50821 5.06709 1.31902 5.16349C1.03677 5.3073 0.807302 5.53677 0.663492 5.81901C0.567095 6.0082 0.531437 6.20481 0.515286 6.40249C0.499985 6.58977 0.499992 6.81714 0.5 7.08071V9.41927C0.499992 9.68284 0.499985 9.91023 0.515286 10.0975C0.531437 10.2952 0.567095 10.4918 0.663492 10.681C0.807302 10.9632 1.03677 11.1927 1.31902 11.3365C1.50821 11.4329 1.70481 11.4686 1.90249 11.4847C2.08977 11.5 2.31715 11.5 2.58072 11.5C2.81228 11.5 3 11.3123 3 11.0807L3 7C3 6.72386 3.22386 6.5 3.5 6.5C3.77614 6.5 4 6.72386 4 7L4 10.7C4 10.98 4 11.12 4.0545 11.227C4.10243 11.3211 4.17892 11.3976 4.27301 11.4455C4.37996 11.5 4.51997 11.5 4.8 11.5H7.9598C8.30918 11.5 8.59925 11.5 8.83792 11.4818C9.08711 11.4629 9.31681 11.4222 9.53857 11.3217C9.88536 11.1646 10.1801 10.9117 10.3881 10.5929C10.5212 10.3889 10.5963 10.1681 10.6529 9.9247C10.7072 9.69158 10.7513 9.40489 10.8044 9.05958L11.0722 7.31883C11.1426 6.86136 11.2003 6.4863 11.2207 6.18021C11.2418 5.86439 11.228 5.56971 11.1203 5.28725C10.9548 4.85354 10.6437 4.49087 10.2402 4.26142C9.9774 4.11199 9.68824 4.05357 9.37289 4.02636C9.06724 3.99999 8.68779 3.99999 8.22491 4H7.8C7.65174 4 7.57061 3.99961 7.51232 3.99485L7.50573 3.99428L7.50515 3.98768C7.50039 3.92939 7.5 3.84826 7.5 3.7V2.23292C7.5 1.27585 6.72415 0.5 5.76708 0.5Z\" fill=\"#039855\"/>\n </svg>}\n </div>\n )}\n <p>{msgData?.message?.title}</p>\n <button className=\"close-nudge aa-close-nudge\" aria-label=\"button\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path d=\"M4 12L12 4M4 4L12 12\" stroke=\"white\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </button>\n </div>\n\n )\n }\n \n const closeNudge = (uQ: any) => {\n let inx = nudges.findIndex((item: any)=> item.actionId === uQ);\n if(inx >= 0){\n const nudgeElement = hostInstance?.chatEle?.querySelector(`#${uQ}`);\n if (nudgeElement) {\n nudgeElement.remove();\n nudges.splice(inx, 1);\n setCoachingNudges(prevNudges => prevNudges.filter((nudge: any) => nudge.actionId !== uQ));\n }\n }\n }\n\n const handleHintData = (hintObject: any) => {\n let uQ = hintObject.actionId;\n hints.unshift(hintObject);\n setCoachingHints(prevHints => [hintObject, ...prevHints]);\n // this.hintScrollBottom(true);\n const HintBanner = getHTML(hintHTMLEle, hintObject, hostInstance);\n const hintEle = hostInstance?.chatEle?.getElementsByClassName(ClassMapConstanst.HINT_TEMPLATE)[0];\n if(hintObject?.message?.postAction !== 'doesnot_auto_close'){\n setTimeout(() => {\n let inx = hints.findIndex((item: any)=> item.actionId === uQ);\n if(inx >= 0){\n const hintElement = hostInstance?.chatEle?.querySelector(`#${uQ}`);\n if (hintElement) {\n hintElement.remove();\n hints.splice(inx, 1);\n setCoachingHints(prevHints => prevHints.filter((hints: any) => hints.actionId !== uQ));\n }\n }\n }, (hintObject.message?.time < 900 ? hintObject.message?.time : 900) * 1000);\n }\n hostInstance.eventManager?.addEventListener(`.${ClassMapConstanst.HINT_CLOSE}`, 'click', () => {\n closeHint(uQ);\n }, HintBanner);\n\n hostInstance.eventManager?.addEventListener(`.${ClassMapConstanst.ACKTEXT_CLOSE}`, 'click', () => {\n hintAckPressed(hintObject)\n closeHint(uQ);\n }, HintBanner);\n\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, HintBanner, {event: SDK_EVENTS.HINT_TEMPLATE, hintObject});\n hintEle.append(HintBanner);\n }\n\n const hintHTMLEle = (props: any) => {\n const {msgData} = props;\n return (\n <div className={`hint-card ${coachingConst?.HINT_DATA[msgData?.expression]?.className}`} style={{ border: coachingConst?.HINT_DATA[msgData?.expression]?.color }} id={`${msgData.actionId}`}>\n <div className=\"top-card-info\">\n {coachingConst?.HINT_DATA[msgData?.expression]?.icon && (\n <div className=\"icon_block\">\n\n { msgData?.expression === 'positive' && <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\n <path d=\"M5.76708 0.5C5.40707 0.5 5.08084 0.712015 4.93462 1.04099L3.25425 4.82184C3.21348 4.91357 3.19219 4.96087 3.17474 4.99418L3.17319 4.99711L3.16988 4.99734C3.13236 4.99976 3.08048 5 2.9801 5L2.58073 5C2.31715 4.99999 2.08977 4.99998 1.90249 5.01528C1.70481 5.03144 1.50821 5.06709 1.31902 5.16349C1.03677 5.3073 0.807302 5.53677 0.663492 5.81901C0.567095 6.0082 0.531437 6.20481 0.515286 6.40249C0.499985 6.58977 0.499992 6.81714 0.5 7.08071V9.41927C0.499992 9.68284 0.499985 9.91023 0.515286 10.0975C0.531437 10.2952 0.567095 10.4918 0.663492 10.681C0.807302 10.9632 1.03677 11.1927 1.31902 11.3365C1.50821 11.4329 1.70481 11.4686 1.90249 11.4847C2.08977 11.5 2.31715 11.5 2.58072 11.5C2.81228 11.5 3 11.3123 3 11.0807L3 7C3 6.72386 3.22386 6.5 3.5 6.5C3.77614 6.5 4 6.72386 4 7L4 10.7C4 10.98 4 11.12 4.0545 11.227C4.10243 11.3211 4.17892 11.3976 4.27301 11.4455C4.37996 11.5 4.51997 11.5 4.8 11.5H7.9598C8.30918 11.5 8.59925 11.5 8.83792 11.4818C9.08711 11.4629 9.31681 11.4222 9.53857 11.3217C9.88536 11.1646 10.1801 10.9117 10.3881 10.5929C10.5212 10.3889 10.5963 10.1681 10.6529 9.9247C10.7072 9.69158 10.7513 9.40489 10.8044 9.05958L11.0722 7.31883C11.1426 6.86136 11.2003 6.4863 11.2207 6.18021C11.2418 5.86439 11.228 5.56971 11.1203 5.28725C10.9548 4.85354 10.6437 4.49087 10.2402 4.26142C9.9774 4.11199 9.68824 4.05357 9.37289 4.02636C9.06724 3.99999 8.68779 3.99999 8.22491 4H7.8C7.65174 4 7.57061 3.99961 7.51232 3.99485L7.50573 3.99428L7.50515 3.98768C7.50039 3.92939 7.5 3.84826 7.5 3.7V2.23292C7.5 1.27585 6.72415 0.5 5.76708 0.5Z\" fill=\"#039855\"/>\n </svg>}\n\n { msgData?.expression === 'neutral' && <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M10.2008 6.00005C10.2008 8.31964 8.32038 10.2 6.00078 10.2C3.68119 10.2 1.80078 8.31964 1.80078 6.00005C1.80078 3.68045 3.68119 1.80005 6.00078 1.80005C8.32038 1.80005 10.2008 3.68045 10.2008 6.00005ZM6.52578 8.10005C6.52578 8.39 6.29073 8.62505 6.00078 8.62505C5.71083 8.62505 5.47578 8.39 5.47578 8.10005C5.47578 7.8101 5.71083 7.57505 6.00078 7.57505C6.29073 7.57505 6.52578 7.8101 6.52578 8.10005ZM6.00078 3.37505C5.71083 3.37505 5.47578 3.6101 5.47578 3.90005V6.00005C5.47578 6.29 5.71083 6.52505 6.00078 6.52505C6.29073 6.52505 6.52578 6.29 6.52578 6.00005V3.90005C6.52578 3.6101 6.29073 3.37505 6.00078 3.37505Z\" fill=\"#667085\"/>\n </svg>}\n\n { msgData?.expression === 'alert' && <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6.40714 0.834185C6.14848 0.719172 5.8532 0.719172 5.59454 0.834185C5.39478 0.923011 5.26501 1.07947 5.17471 1.20696C5.08593 1.3323 4.99087 1.49651 4.88634 1.67711L0.75276 8.81693C0.647804 8.99818 0.552428 9.16289 0.487757 9.30268C0.422033 9.44475 0.35073 9.63572 0.373455 9.85369C0.40286 10.1357 0.550631 10.392 0.779988 10.5588C0.957236 10.6877 1.15823 10.7217 1.31411 10.736C1.46749 10.75 1.65782 10.75 1.86726 10.75H10.1344C10.3438 10.75 10.5342 10.75 10.6876 10.736C10.8434 10.7217 11.0444 10.6877 11.2217 10.5588C11.451 10.392 11.5988 10.1357 11.6282 9.85369C11.651 9.63572 11.5796 9.44475 11.5139 9.30268C11.4493 9.1629 11.3539 8.9982 11.2489 8.81697L7.11533 1.67709C7.0108 1.49651 6.91575 1.3323 6.82697 1.20696C6.73667 1.07947 6.6069 0.923011 6.40714 0.834185ZM6.50085 4.5C6.50085 4.22386 6.277 4 6.00085 4C5.72471 4 5.50085 4.22386 5.50085 4.5V6.5C5.50085 6.77614 5.72471 7 6.00085 7C6.277 7 6.50085 6.77614 6.50085 6.5V4.5ZM6.00085 8C5.72471 8 5.50085 8.22386 5.50085 8.5C5.50085 8.77614 5.72471 9 6.00085 9H6.00585C6.282 9 6.50585 8.77614 6.50585 8.5C6.50585 8.22386 6.282 8 6.00585 8H6.00085Z\" fill=\"#F79009\"/>\n </svg>}\n\n { msgData?.expression === 'critical' && <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\n <path d=\"M3.45 5.72222V7.11111M3.45 5.72222V2.38889C3.45 1.92865 3.83056 1.55556 4.3 1.55556C4.76944 1.55556 5.15 1.92865 5.15 2.38889M3.45 5.72222C3.45 5.26198 3.06944 4.88889 2.6 4.88889C2.13056 4.88889 1.75 5.26198 1.75 5.72222V6.83333C1.75 9.13452 3.65279 11 6 11C8.34721 11 10.25 9.13452 10.25 6.83333V4.05556C10.25 3.59532 9.86944 3.22222 9.4 3.22222C8.93056 3.22222 8.55 3.59532 8.55 4.05556M5.15 2.38889V5.44444M5.15 2.38889V1.83333C5.15 1.3731 5.53056 1 6 1C6.46944 1 6.85 1.3731 6.85 1.83333V2.38889M6.85 2.38889V5.44444M6.85 2.38889C6.85 1.92865 7.23056 1.55556 7.7 1.55556C8.16944 1.55556 8.55 1.92865 8.55 2.38889V4.05556M8.55 4.05556V5.44444\" stroke=\"#F04438\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>}\n \n </div>\n )}\n <h1>{msgData.message.title}</h1>\n <button className=\"close-hint aa-close-hint\" aria-label=\"button\">\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path d=\"M15 5L5 15M5 5L15 15\" stroke=\"#E3E8EF\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </button>\n </div>\n <div className=\"body-hint\">\n <p>{msgData.message.body}</p>\n </div>\n <div className=\"footer-hint\">\n {msgData.adherence?.adType === 'ack' && (\n <button className=\"aa-ackText-close\">\n {msgData.adherence?.ackText}\n </button>\n )}\n </div>\n </div>\n );\n }\n\n const closeHint = (uQ: any) => {\n let inx = hints.findIndex((item: any)=> item.actionId === uQ);\n if(inx >= 0){\n const hintElement = hostInstance?.chatEle?.querySelector(`#${uQ}`);\n if (hintElement) {\n hintElement.remove();\n hints.splice(inx, 1);\n setCoachingHints(prevHints => prevHints.filter((hints: any) => hints.actionId !== uQ));\n }\n }\n }\n \n // const hintScrollBottom = (flag: any) => {\n // if(flag && this.overlayhint){\n // this.overlayhint.nativeElement.scrollTop = 0;\n // }\n // }\n \n const hintAckPressed = (data: any) => {\n data[\"ackPressed\"] = true;\n hostInstance.socketConnection.emitEvents(EVENTS.agent_coaching_ackpress, data);\n }\n\n const handleSentimentPopupOutSideClick = () => {\n window.onclick = function(event : any) { \n if (!event.target.matches('aa-sentiment-popup-wrapper') && !event.target.matches('sentiment-btn')) {\n let sentimentPopup = hostInstance?.chatEle?.querySelector?.(`${classConstants.SENTIMENT_POPUP_WRAPPER}`);\n if(sentimentPopup){\n sentimentPopup.classList.add(classConstants.HIDE_ELEMENT);\n }\n } \n }\n }\n const addSentimentPopupTemplate = () => {\n let sentimentPopupTemplate = getHTML(sentimentScore, {hostInstance}, hostInstance);\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, sentimentPopupTemplate, { event: SDK_EVENTS.SENTIMENT_POPUP_TEMPLATE, data : {} });\n let sentimentChart = hostInstance?.chatEle?.querySelector('.sentiment-chart-drp');\n sentimentChart?.append(sentimentPopupTemplate);\n hostInstance.eventManager?.addEventListener(`#${idMapConstants.SENTIMENT_POPUP_CLOSE_BTN}`, 'click', (e: any) => {\n hostInstance?.chatEle?.querySelector?.(`${classConstants.SENTIMENT_POPUP_WRAPPER}`).classList?.add(classConstants.HIDE_ELEMENT);\n }, sentimentPopupTemplate);\n }\n\n const addHeaderTemplate = () => {\n let headerTemplate : any;\n let theme = hostInstance?.localStorageService?.getThemeLocal(); \n headerTemplate = getHTML(Header, {hostInstance, theme}, hostInstance);\n let headerSection = hostInstance?.chatEle?.querySelector(classConstants.HEADER);\n if(headerSection && headerTemplate){\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, headerTemplate, { event: SDK_EVENTS.HEADER_TEMPLATE, data : {}});\n headerSection.append(headerTemplate);\n\n hostInstance?.eventManager?.addEventListener(`#${idMapConstants.SETTINGS_BTN}`, 'click', (event: any) => {\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, '', { event: SDK_EVENTS.SETTINGS_CLICK_EVENT, data : {} }); \n hostInstance?.chatEle?.querySelector?.(`${classConstants.SETTINGS_POPUP}`).classList?.remove(classConstants.HIDE_ELEMENT);\n }, headerTemplate);\n\n hostInstance?.eventManager?.addEventListener(`#${idMapConstants.DARK_THEME_BTN}`, 'click', (event: any) => {\n toggleTheme(headerTemplate);\n }, headerTemplate);\n\n hostInstance?.eventManager?.addEventListener(`#${idMapConstants.LIGHT_THEME_BTN}`, 'click', (event: any) => {\n toggleTheme(headerTemplate);\n }, headerTemplate);\n }\n }\n\n const toggleTheme = (headerTemplate: any) => {\n let darkThemeBtn = headerTemplate?.querySelector?.(`#${idMapConstants.DARK_THEME_BTN}`);\n let lightThemeBtn = headerTemplate?.querySelector?.(`#${idMapConstants.LIGHT_THEME_BTN}`);\n\n let theme = hostInstance?.localStorageService?.getThemeLocal(); \n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, '', { event: SDK_EVENTS.THEME_CHANGE_EVENT, data: {theme : theme === storageConst.LIGHT ? storageConst.DARK : storageConst.LIGHT} }); \n if(theme === storageConst.LIGHT){\n hostInstance.applyBranding(DARKTHEME_COLORCODES, storageConst.DARK);\n hostInstance.localStorageService.setThemeLocal(storageConst.DARK);\n darkThemeBtn?.classList?.add(classConstants.HIDE_ELEMENT);\n lightThemeBtn?.classList?.remove(classConstants.HIDE_ELEMENT);\n }else{ \n hostInstance.applyBranding(hostInstance?.config?.branding?.colors, storageConst.LIGHT);\n hostInstance.localStorageService.setThemeLocal(storageConst.LIGHT);\n darkThemeBtn?.classList?.remove(classConstants.HIDE_ELEMENT);\n lightThemeBtn?.classList?.add(classConstants.HIDE_ELEMENT);\n }\n }\n\n const addFooterTemplate = () => {\n let allTabs: any;\n let showTranscript = (hostInstance.rootService.connectionDetails.channel === ProjConstants.VOICE) && (hostInstance?.rootService?.aaSettings?.transcripts?.isEnabled);\n allTabs = getHTML(AllTabs,\n {\n tabsNTitles, selectedTab : serTabMap[selectTab], showTranscript, connectionDetails,\n sourceDesktop, hideUserBotHistory, projConstants: Tabs,\n selectedTheme, chooseTheme: chooseTheme, hostInstance,\n rootServiceInstance\n },\n hostInstance);\n\n let footerTag = hostInstance?.chatEle?.querySelector(classConstants.FOOTER);\n\n if (footerTag) {\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, allTabs, { event: SDK_EVENTS.FOOTER_TEMPLATE, data : {tabsNTitles, footerTag}});\n footerTag.append(allTabs);\n tabsNTitles.forEach((tab: any) => {\n if(tab?.type !== Tabs.MORE){\n hostInstance.eventManager?.addEventListener(`${classConstants.FOOTER_BTN}${tab.type}`, 'click', () => {\n hostInstance.chatEle?.querySelector?.(`${classConstants.HINTS_WRAPPER_FIXED}`)?.classList?.remove(classConstants.HIDE_ELEMENT);\n hostInstance.chatEle?.querySelector?.(`${classConstants.NUDGES_WRAPPER_FIXED}`)?.classList?.remove(classConstants.HIDE_ELEMENT);\n toggleActiveTab(tab.type, footerTag);\n }, footerTag);\n }else{\n hostInstance.eventManager?.addEventListener(`${classConstants.FOOTER_BTN}${tab.type}`, 'click', ()=> {\n hostInstance.chatEle?.querySelector?.(`${classConstants.HINTS_WRAPPER_FIXED}`)?.classList?.add(classConstants.HIDE_ELEMENT);\n hostInstance.chatEle?.querySelector?.(`${classConstants.NUDGES_WRAPPER_FIXED}`)?.classList?.add(classConstants.HIDE_ELEMENT);\n rootServiceInstance.moreBtnActive = !rootServiceInstance.moreBtnActive;\n toggleMoreTab(footerTag)\n }, footerTag)\n }\n });\n }\n }\n\n const toggleMoreTab = (footerTag:any) => {\n\n if(!rootServiceInstance.isWidgetFeedbackAPICalled){\n rootServiceInstance.isWidgetFeedbackAPICalled = true;\n const params = {\n botId: hostInstance.rootService.connectionDetails.botId,\n conversationId: hostInstance.rootService.connectionDetails.conversationId\n }\n\n rootServiceInstance.getWidgetFeedbackHistory(params, hostInstance).then((response: any) => {\n if(response && response?.results?.length > 0){\n rootServiceInstance.widgetFeedbackData.positionId = response?.results[0]?.positionId || '';\n rootServiceInstance.widgetFeedbackData.type = response?.results[0]?.feedback === 'like' ? 'positive' : 'negative';\n rootServiceInstance.widgetFeedbackData.selectedSuggestions = response?.results[0]?.feedbackDetails || [];\n rootServiceInstance.widgetFeedbackData.comment = response?.results[0]?.comment || '';\n rootServiceInstance.widgetHistoryType = response?.results[0]?.feedback === 'like' ? 'positive' : 'negative';\n }\n }).catch((error: any) => {\n console.error('error in getting the Widget Feedback History', error);\n });\n }\n\n\n const existingOptionsTemplate = footerTag?.querySelector(`${classConstants.MULTIPLE_OPTIONS_POPUP}`)\n if(rootServiceInstance.moreBtnActive){\n if(existingOptionsTemplate){\n existingOptionsTemplate?.classList?.remove(classConstants.HIDE_ELEMENT)\n }else{\n addMultipleOptionsPopupTemplate(footerTag)\n }\n }else{\n hostInstance.chatEle?.querySelector?.(`${classConstants.HINTS_WRAPPER_FIXED}`)?.classList?.remove(classConstants.HIDE_ELEMENT);\n hostInstance.chatEle?.querySelector?.(`${classConstants.NUDGES_WRAPPER_FIXED}`)?.classList?.remove(classConstants.HIDE_ELEMENT);\n existingOptionsTemplate?.classList?.add(classConstants.HIDE_ELEMENT)\n }\n }\n\n const addMultipleOptionsPopupTemplate = (footerTag:any) => {\n const optionsTemplate = getHTML(RenderMultipleOptionsPopup, {moreOptions}, hostInstance)\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, optionsTemplate , {\n event: SDK_EVENTS.OVERALL_MORE_OPTIONS_TEMPLATE,\n data: {}\n });\n footerTag?.querySelector(`${classConstants.FOOTER_BTN}${Tabs.MORE}`)?.prepend(optionsTemplate)\n\n const optionsTemplateSelected:any = hostInstance?.chatEle?.querySelector(`${classConstants.MULTIPLE_OPTIONS_POPUP}`);\n\n hostInstance?.eventManager?.addEventListener(`${classConstants.OPTION_FEEDBACK}`, 'click', ()=>{\n hostInstance.chatEle?.querySelector?.(`${classConstants.HINTS_WRAPPER_FIXED}`)?.classList?.remove(classConstants.HIDE_ELEMENT);\n hostInstance.chatEle?.querySelector?.(`${classConstants.NUDGES_WRAPPER_FIXED}`)?.classList?.remove(classConstants.HIDE_ELEMENT);\n const feedbackPopupOverlay = hostInstance?.chatEle?.querySelector?.(`${classConstants.FEEDBACK_POPUP_OVERLAY}`);\n if(feedbackPopupOverlay){\n feedbackPopupOverlay?.classList?.remove(classConstants.HIDE_ELEMENT);\n }else{\n addFeedbackPopupTemplate()\n }\n },optionsTemplateSelected)\n }\n\n const addListViewPopupTemplate = () => {\n let listViewTemplate : any = getHTML(RenderListView, {}, hostInstance);\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, listViewTemplate, {\n event: SDK_EVENTS.LIST_VIEW_TEMPLATE,\n data : {}\n });\n hostInstance.chatEle?.append(listViewTemplate);\n\n hostInstance.eventManager?.addEventListener?.(`${classConstants.LIST_VIEW_CLOSE_BTN}`, 'click', (e : any) => {\n rootServiceInstance.closeListView(hostInstance);\n }, listViewTemplate);\n }\n\n const addFeedbackPopupTemplate = () => {\n let feedbackPopupTemplate : any = getHTML(FeedbackPopupHTMLEle, {}, hostInstance);\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, feedbackPopupTemplate, {\n event: SDK_EVENTS.OVERALL_FEEDBACK_POPUP_TEMPLATE,\n data : {}\n });\n\n hostInstance.chatEle?.append(feedbackPopupTemplate);\n\n if(rootServiceInstance.widgetFeedbackData.type){\n const positiveFeedbackBlock = feedbackPopupTemplate?.querySelector(`${classConstants.POSITIVE_FEEDBACK_INFO}`);\n const negativeFeedbackBlock = feedbackPopupTemplate?.querySelector(`${classConstants.NEGATIVE_FEEDBACK_INFO}`);\n if(rootServiceInstance.widgetFeedbackData.type === 'positive'){\n addFeedbackPositiveSuggestion(feedbackPopupTemplate, positiveFeedbackBlock);\n }else{\n addFeedbackNegativeSuggestion(feedbackPopupTemplate, negativeFeedbackBlock);\n }\n }\n\n\n hostInstance.eventManager?.addEventListener?.(`${classConstants.FEEDBACK_POPUP_CLOSE_BTN}`, 'click', (e : any) => {\n hostInstance?.chatEle?.querySelector?.(`${classConstants.FEEDBACK_POPUP_OVERLAY}`).classList?.add(classConstants.HIDE_ELEMENT);\n }, feedbackPopupTemplate); \n\n hostInstance.eventManager?.addEventListener?.(`${classConstants.FEEDBACK_SUBMIT_BTN}`, 'click', (e : any) => {\n if(!hostInstance?.chatEle?.querySelector?.(`${classConstants.FEEDBACK_SUBMIT_BTN}`)?.hasAttribute('disabled')){\n hostInstance?.chatEle?.querySelector?.(`${classConstants.FEEDBACK_SUBMIT_BTN}`)?.setAttribute('disabled', true);\n }\n hostInstance?.chatEle?.querySelector?.(`${classConstants.FEEDBACK_POPUP_OVERLAY}`).classList?.add(classConstants.HIDE_ELEMENT);\n rootServiceInstance.prepareAndMakeWidgetFeedbackRequest(hostInstance);\n\n }, feedbackPopupTemplate);\n\n hostInstance.eventManager?.addEventListener?.(`${classConstants.FEEDBACK_SATISFIED_BTN}`, 'click', (e : any) => {\n\n if(hostInstance?.chatEle?.querySelector?.(`${classConstants.FEEDBACK_SUBMIT_BTN}`)?.hasAttribute('disabled')){\n hostInstance?.chatEle?.querySelector?.(`${classConstants.FEEDBACK_SUBMIT_BTN}`)?.removeAttribute('disabled');\n }\n\n const positiveFeedbackBlock = feedbackPopupTemplate?.querySelector(`${classConstants.POSITIVE_FEEDBACK_INFO}`);\n const negativeFeedbackBlock = feedbackPopupTemplate?.querySelector(`${classConstants.NEGATIVE_FEEDBACK_INFO}`);\n\n toggleOverallFeedbackActiveButton(true);\n\n if(rootServiceInstance.widgetFeedbackData.type === 'negative'){\n rootServiceInstance.widgetFeedbackData.type = 'positive';\n rootServiceInstance.widgetFeedbackData.selectedSuggestions = [];\n rootServiceInstance.widgetFeedbackData.comment = '';\n }\n\n if(negativeFeedbackBlock){\n negativeFeedbackBlock?.classList?.add(classConstants.HIDE_ELEMENT)\n }\n\n addFeedbackPositiveSuggestion(feedbackPopupTemplate, positiveFeedbackBlock)\n\n }, feedbackPopupTemplate);\n\n hostInstance.eventManager?.addEventListener?.(`${classConstants.FEEDBACK_UNSATISFIED_BTN}`, 'click', (e : any) => {\n \n const positiveFeedbackBlock = feedbackPopupTemplate?.querySelector(`${classConstants.POSITIVE_FEEDBACK_INFO}`);\n const negativeFeedbackBlock = feedbackPopupTemplate?.querySelector(`${classConstants.NEGATIVE_FEEDBACK_INFO}`);\n\n toggleOverallFeedbackActiveButton(false);\n\n if(positiveFeedbackBlock){\n positiveFeedbackBlock?.classList?.add(classConstants.HIDE_ELEMENT)\n }\n\n addFeedbackNegativeSuggestion(feedbackPopupTemplate, negativeFeedbackBlock)\n\n }, feedbackPopupTemplate);\n\n }\n\n const addFeedbackPositiveSuggestion = (feedbackPopupTemplate: any, positiveFeedbackBlock: any) => {\n\n if(positiveFeedbackBlock){\n positiveFeedbackBlock?.classList?.remove(classConstants.HIDE_ELEMENT)\n }else{\n addPositiveFeedbackBlock(feedbackPopupTemplate)\n }\n }\n\n const addPositiveFeedbackBlock = (feedbackPopupTemplate: any) => {\n let positiveSuggestionList:any = [];\n\n let isDefaultSuggestionList:boolean = false;\n \n const language = hostInstance?.localStorageService?.getLanguage() || 'en';\n\n if(rootServiceInstance.aaSettings?.feedback?.widget?.positiveKeyWords?.[language]?.length > 0){\n positiveSuggestionList = rootServiceInstance.aaSettings?.feedback?.widget?.positiveKeyWords?.[language]?.filter((item: any) => item?.isEnabled);\n }else{\n isDefaultSuggestionList = true;\n positiveSuggestionList = FeebackConst.DEFAULT_SUGGESTION.positiveDialogs[language as keyof typeof FeebackConst.DEFAULT_SUGGESTION.positiveDialogs];\n }\n \n const showComments = rootServiceInstance.aaSettings?.feedback?.widget?.acceptComment;\n const overallFeedbackSection = getHTML(OverallFeedbackSection, {suggestionList : positiveSuggestionList, isDefaultSuggestionList : isDefaultSuggestionList, showComments : showComments, type: 'positive'}, hostInstance);\n\n if(overallFeedbackSection){\n\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, overallFeedbackSection, {\n event: SDK_EVENTS.OVERALL_WIDGET_FEEDBACK_POSITIVE_TEMPLATE,\n data : {suggestionList : positiveSuggestionList, isDefaultSuggestionList : isDefaultSuggestionList, showComments : showComments, type: 'positive'}\n });\n\n feedbackPopupTemplate?.querySelector?.(`${classConstants.FEEDBACK_POPUP_BODY}`)?.append(overallFeedbackSection);\n rootServiceInstance?.handleWidgetFeedbackClickEvents(overallFeedbackSection, 'positive',hostInstance);\n }\n }\n\n const addFeedbackNegativeSuggestion = (feedbackPopupTemplate: any, negativeFeedbackBlock: any) => {\n\n if(negativeFeedbackBlock){\n if((rootServiceInstance.widgetFeedbackData.selectedSuggestions?.length > 0 || rootServiceInstance.widgetFeedbackData.comment?.length > 0) && rootServiceInstance.widgetFeedbackData.type !== 'negative'){\n hostInstance?.chatEle?.querySelector?.(`${classConstants.FEEDBACK_SUBMIT_BTN}`)?.setAttribute('disabled',true)\n } \n negativeFeedbackBlock?.classList?.remove(classConstants.HIDE_ELEMENT)\n }else{\n addNegativeFeedbackBlock(feedbackPopupTemplate)\n }\n }\n\n const addNegativeFeedbackBlock = (feedbackPopupTemplate: any) => {\n let negativeSuggestionList:any = [];\n\n let isDefaultSuggestionList:boolean = false;\n\n const language = hostInstance?.localStorageService?.getLanguage() || 'en';\n\n if(rootServiceInstance.aaSettings?.feedback?.widget?.negativeKeyWords?.[language]?.length > 0){\n negativeSuggestionList = rootServiceInstance.aaSettings?.feedback?.widget?.negativeKeyWords?.[language]?.filter((item: any) => item?.isEnabled);\n }else{\n isDefaultSuggestionList = true;\n negativeSuggestionList = FeebackConst.DEFAULT_SUGGESTION.dialogs[language as keyof typeof FeebackConst.DEFAULT_SUGGESTION.dialogs];\n }\n\n const showComments = rootServiceInstance.aaSettings?.feedback?.widget?.acceptComment;\n const overallFeedbackSection = getHTML(OverallFeedbackSection, {suggestionList : negativeSuggestionList, isDefaultSuggestionList : isDefaultSuggestionList, showComments : showComments, type: 'negative'}, hostInstance);\n\n if(overallFeedbackSection){\n\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, overallFeedbackSection, {\n event: SDK_EVENTS.OVERALL_WIDGET_FEEDBACK_NEGATIVE_TEMPLATE,\n data : {suggestionList : negativeSuggestionList, isDefaultSuggestionList : isDefaultSuggestionList, showComments : showComments, type: 'negative'}\n });\n\n feedbackPopupTemplate?.querySelector?.(`${classConstants.FEEDBACK_POPUP_BODY}`)?.append(overallFeedbackSection);\n hostInstance?.chatEle?.querySelector?.(`${classConstants.FEEDBACK_SUBMIT_BTN}`)?.setAttribute('disabled',true)\n rootServiceInstance?.handleWidgetFeedbackClickEvents(overallFeedbackSection, 'negative', hostInstance); \n }\n }\n\n const toggleOverallFeedbackActiveButton = (isLike: boolean) => {\n\n let activeElement:HTMLElement;\n let inactiveElement:HTMLElement;\n\n if(isLike){\n activeElement = hostInstance?.chatEle?.querySelector?.(`${classConstants.FEEDBACK_SATISFIED_BTN}`);\n inactiveElement = hostInstance?.chatEle?.querySelector?.(`${classConstants.FEEDBACK_UNSATISFIED_BTN}`);\n\n }else{\n activeElement = hostInstance?.chatEle?.querySelector?.(`${classConstants.FEEDBACK_UNSATISFIED_BTN}`);\n inactiveElement = hostInstance?.chatEle?.querySelector?.(`${classConstants.FEEDBACK_SATISFIED_BTN}`);\n }\n\n activeElement?.classList?.add('active');\n inactiveElement?.classList?.remove('active');\n }\n\n const addTerminatePopupTemplate = () => {\n let terminatePopupTemplate = getHTML(RenderTerminatePopup, {}, hostInstance);\n\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, terminatePopupTemplate, {\n event: SDK_EVENTS.TERMINATE_POPUP_TEMPLATE,\n data : {}\n });\n\n hostInstance.chatEle?.append(terminatePopupTemplate);\n \n hostInstance.eventManager?.addEventListener?.(`${classConstants.TERMINATE_YES_BTN}`, 'click', (e : any) => {\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, '', { event: SDK_EVENTS.TERMINATE_CLICK_EVENT, data: {activeTab : rootServiceInstance.activeTab} });\n hostInstance.emit(INTERNAL_EVENTS.TERMINATE_EVENT, {activeTab : rootServiceInstance.activeTab});\n }, terminatePopupTemplate);\n\n hostInstance.eventManager?.addEventListener?.(`${classConstants.TERMINATE_CANCEL_BTN}`, 'click', (e : any) => {\n hostInstance?.chatEle?.querySelector?.(`${classConstants.TERMIANTE_POPUP}`).classList?.add(classConstants.HIDE_ELEMENT);\n }, terminatePopupTemplate);\n\n hostInstance.eventManager?.addEventListener?.(`${classConstants.TERMINATE_OVERRIDE_BTN}`, 'click', (e : any) => {\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, '', { event: SDK_EVENTS.TERMINATE_CLICK_EVENT, data: {activeTab : rootServiceInstance.activeTab} });\n hostInstance.emit(INTERNAL_EVENTS.TERMINATE_OVERRIDE_EVENT, {activeTab : rootServiceInstance.activeTab});\n }, terminatePopupTemplate);\n\n hostInstance.eventManager?.addEventListener?.(`${classConstants.TERMINATE_CLOSE_BTN}`, 'click', (e : any) => {\n hostInstance?.chatEle?.querySelector?.(`${classConstants.TERMIANTE_POPUP}`).classList?.add(classConstants.HIDE_ELEMENT);\n }, terminatePopupTemplate);\n }\n\n const addInterruptPopupTemplate = () => {\n let interruptPopupTemplate = getHTML(RenderInterruptionPopup, {}, hostInstance);\n\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, interruptPopupTemplate, {\n event: SDK_EVENTS.INTERRUPT_POPUP_TEMPLATE,\n data : {}\n });\n\n hostInstance.chatEle?.append(interruptPopupTemplate);\n \n hostInstance.eventManager?.addEventListener?.(`${classConstants.INTERRUPT_ACCEPT_BTN}`, 'click', (e : any) => {\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, '', { event: SDK_EVENTS.INTERRUPT_CLICK_EVENT, data: {activeTab : rootServiceInstance.activeTab} });\n hostInstance.emit(INTERNAL_EVENTS.INTERRUPT_ACCEPT_EVENT, {activeTab : rootServiceInstance.activeTab});\n }, interruptPopupTemplate);\n\n hostInstance.eventManager?.addEventListener?.(`${classConstants.INTERRUPT_CANCE_BTN}`, 'click', (e : any) => {\n hostInstance?.chatEle?.querySelector?.(`${classConstants.INTERRUPT_POPUP}`).classList?.add(classConstants.HIDE_ELEMENT);\n }, interruptPopupTemplate);\n\n hostInstance.eventManager?.addEventListener?.(`${classConstants.INTERRUPT_RUNLATER_BTN}`, 'click', (e : any) => {\n hostInstance.emit(INTERNAL_EVENTS.INTERRUPT_RUNLATER_EVENT, {activeTab : rootServiceInstance.activeTab});\n }, interruptPopupTemplate);\n\n hostInstance.eventManager?.addEventListener?.(`${classConstants.INTERRUPT_CLOSE_BTN}`, 'click', (e : any) => {\n hostInstance?.chatEle?.querySelector?.(`${classConstants.INTERRUPT_POPUP}`).classList?.add(classConstants.HIDE_ELEMENT);\n }, interruptPopupTemplate);\n }\n\n const addSettingsTemplate = () => {\n let settingsTemplate = getHTML(RenderSettingsPopup, {}, hostInstance);\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, settingsTemplate, { event: SDK_EVENTS.SETTINGS_TEMPLATE, data : {} });\n hostInstance?.chatEle?.append(settingsTemplate);\n\n \n hostInstance.eventManager?.addEventListener?.(`${classConstants.SETTINGS_POPUP_CLOSE_BTN}`, 'click', (e : any) => {\n hostInstance?.chatEle?.querySelector?.(`${classConstants.SETTINGS_POPUP}`).classList?.add(classConstants.HIDE_ELEMENT);\n }, settingsTemplate);\n\n hostInstance.eventManager?.addEventListener?.(`${classConstants.SETTINGS_POPUP_BACK_BTN}`, 'click', (e: any) => {\n toggleSettingsElements('add', 'both');\n }, settingsTemplate);\n \n hostInstance.eventManager?.addEventListener?.(`${classConstants.SETTINGS_HELP_BTN}`, 'click', (e: any) => {\n toggleSettingsElements('remove', 'help');\n }, settingsTemplate);\n \n hostInstance.eventManager?.addEventListener?.(`${classConstants.SETTINGS_HELP_SECTION}`, 'click', (e: any) => {\n toggleSettingsElements('remove', 'help');\n }, settingsTemplate); \n\n hostInstance?.eventManager?.addEventListener(`${classConstants.SETTINGS_LANGUAGE_SECTION}`, 'click', (event: any) => {\n toggleSettingsLanguageElements('remove');\n }, settingsTemplate);\n\n hostInstance?.chatEle?.querySelector(`${classConstants.SETTINGS_LANGUAGE_GROUP}`)?.querySelectorAll(`${classConstants.SETTINGS_LANGUAGE_SELECT}`)?.forEach((element:any )=> {\n element.addEventListener('change', (event: any) => {\n event.stopPropagation();\n const inputElement = event.target as HTMLInputElement; \n if(inputElement){\n disableLanguageSettingsElements(hostInstance?.chatEle?.querySelector(`${classConstants.SETTINGS_LANGUAGE_GROUP}`));\n localStorageServiceInstance.setLanguageInfo(event.target.value)\n hostInstance?.removeEventListenersInDOM();\n hostInstance?.show(hostInstance?.config,hostInstance?.languagePluginService?.config)\n }\n });\n });\n\n hostInstance?.eventManager?.addEventListener(`${classConstants.SETTINGS_AUTO_SCROLL}`, 'click', (event: any) => {\n let inputElement;\n if(event.target.nodeName === 'INPUT'){\n inputElement = event?.target as HTMLInputElement;\n inputElement.checked = !inputElement.checked;\n }else{\n inputElement = event?.currentTarget?.querySelector('input[type=\"checkbox\"]') as HTMLInputElement;\n }\n \n if(inputElement && !inputElement.disabled){\n inputElement.checked = !inputElement.checked;\n rootServiceInstance.autoScrollStatus = inputElement.checked;\n hostInstance.localStorageService.setAutoScroll(inputElement.checked);\n hostInstance?.emit(DATA_EVENTS.AUTO_SCROLL_CHANGE, inputElement.checked);\n }\n \n }, settingsTemplate);\n\n hostInstance?.eventManager?.addEventListener(`#${idMapConstants.PROACTIVE_BTN}`, 'click', (event: any) => {\n let inputElement;\n if(event.target.nodeName === 'INPUT'){\n inputElement = event?.target as HTMLInputElement;\n inputElement.checked = !inputElement.checked;\n }else{\n inputElement = event?.currentTarget?.querySelector('input[type=\"checkbox\"]') as HTMLInputElement;\n }\n if (inputElement && !inputElement.disabled) {\n // Toggle the checked state\n inputElement.checked = !inputElement.checked;\n\n // Trigger any logic that depends on the checked state\n rootServiceInstance.proactiveMode = inputElement.checked;\n hostInstance.localStorageService.setProactiveMode(inputElement.checked);\n hostInstance?.emit(DATA_EVENTS.PRO_ACTIVE_CHANGE, inputElement.checked);\n hostInstance?.handleOverrideMode(!inputElement.checked);\n if (event.isTrusted) {\n hostInstance.socketConnection.dialogEntityExtraction = false;\n }\n }\n }, settingsTemplate);\n \n\n hostInstance?.eventManager?.addEventListener(`${classConstants.SETTINGS_FAQ_LINK}`, 'click', (event: any) => {\n openLink(ProjConstants.FAQ_LINK, ProjConstants.SETTINGS_FAQ);\n }, settingsTemplate); \n\n hostInstance?.eventManager?.addEventListener(`${classConstants.SETTINGS_DOCUMENTATION_LINK}`, 'click', (event: any) => { \n openLink(ProjConstants.DOCUMENTATION_LINK, ProjConstants.SETTINGS_DOCUMENTATION);\n }, settingsTemplate);\n\n hostInstance?.eventManager?.addEventListener(`${classConstants.SETTINGS_KORE_ACADEMY_LINK}`, 'click', (event: any) => {\n openLink(ProjConstants.KOREACADEMY_LINK, ProjConstants.SETTINGS_KOREACADEMY);\n }, settingsTemplate);\n\n }\n\n function openLink(url : string, type : string) {\n let openUrl = rootServiceInstance.settingsData?.showHelp[type]?.resource || url;\n rootServiceInstance.openurlInBrowser(openUrl);\n }\n\n function disableLanguageSettingsElements(element:any){\n hostInstance?.renderIndividualLoader(element);\n const inputElementArr = element.querySelectorAll?.(`input`);\n inputElementArr.forEach((inputElement:any )=> {\n inputElement.disabled = true;\n })\n }\n\n function toggleSettingsElements(action: 'add' | 'remove', type: 'help' | 'both') {\n const method = action === 'add' ? 'add' : 'remove';\n const settingsMethod = action === 'add' ? 'remove' : 'add';\n const settingsQuerySelector =hostInstance?.chatEle?.querySelector?.(`${classConstants.SETTINGS_POPUP}`)\n \n if(type === 'both') {\n settingsQuerySelector?.querySelector?.(`${classConstants.SETTINGS_HELP_GROUP}`)?.classList?.[method](classConstants.HIDE_ELEMENT);\n settingsQuerySelector?.querySelector?.(`${classConstants.SETTINGS_LANGUAGE_GROUP}`)?.classList?.[method](classConstants.HIDE_ELEMENT);\n }else{\n settingsQuerySelector?.querySelector?.(`${classConstants.SETTINGS_HELP_GROUP}`)?.classList?.[method](classConstants.HIDE_ELEMENT); \n }\n settingsQuerySelector?.querySelector?.(`${classConstants.SETTINGS_NEXT_BTN}`)?.classList?.[method](classConstants.HIDE_ELEMENT);\n settingsQuerySelector?.querySelector?.(`${classConstants.SETTINGS_MAIN_SECTION}`)?.classList?.[settingsMethod](classConstants.HIDE_ELEMENT);\n settingsQuerySelector?.querySelector?.(`${classConstants.SETTINGS_POPUP_BACK_BTN}`)?.classList?.[method](classConstants.HIDE_ELEMENT);\n if(action === 'remove') {\n hostInstance.chatEle.querySelector(`${classConstants.SETTINGS_POPUP}`).querySelector(`${classConstants.SETTINGS_NEXT_BTN}`).textContent = ` / ${languageData?.HELP}`;\n }\n }\n\n function toggleSettingsLanguageElements(action: 'add' | 'remove') {\n const settingsQuerySelector =hostInstance?.chatEle?.querySelector?.(`${classConstants.SETTINGS_POPUP}`)\n const method = action === 'add' ? 'add' : 'remove';\n const settingsMethod = action === 'add' ? 'remove' : 'add';\n settingsQuerySelector?.querySelector?.(`${classConstants.SETTINGS_LANGUAGE_GROUP}`)?.classList?.[method](classConstants.HIDE_ELEMENT);\n settingsQuerySelector?.querySelector?.(`${classConstants.SETTINGS_NEXT_BTN}`)?.classList?.[method](classConstants.HIDE_ELEMENT);\n settingsQuerySelector?.querySelector?.(`${classConstants.SETTINGS_MAIN_SECTION}`)?.classList?.[settingsMethod](classConstants.HIDE_ELEMENT);\n settingsQuerySelector?.querySelector?.(`${classConstants.SETTINGS_POPUP_BACK_BTN}`)?.classList?.[method](classConstants.HIDE_ELEMENT);\n if(action === 'remove') {\n hostInstance.chatEle.querySelector(`${classConstants.SETTINGS_POPUP}`).querySelector(`${classConstants.SETTINGS_NEXT_BTN}`).textContent = ` / ${languageData?.LANGUAGE}`;\n }\n }\n\n const addAttachmentViewTemplate = () => {\n let attachmentviewTemplate = getHTML(RenderAttachmentImageView, {}, hostInstance);\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, attachmentviewTemplate, { event: SDK_EVENTS.ATTACHMENT_VIEW, data : {} });\n hostInstance?.chatEle?.append(attachmentviewTemplate);\n\n let attachmentView = hostInstance?.chatEle?.querySelector(`${classConstants.ENTITY_ATTACHMENT_VIEW_MODAL}`);\n\n hostInstance.eventManager?.addEventListener?.(`${classConstants.ENTITY_ATTACHMENT_BACK_BTN}`, 'click', (e : any) => {\n attachmentView?.classList?.add(classConstants.HIDE_ELEMENT);\n }, attachmentviewTemplate);\n hostInstance.eventManager?.addEventListener?.(`${classConstants.ENTITY_ATTACHMENT_CLOSE_BTN}`, 'click', (e : any) => {\n attachmentView?.classList?.add(classConstants.HIDE_ELEMENT);\n }, attachmentviewTemplate);\n }\n\n const addFeedbackToastrTemplate = () => {\n\n let feedbackToastTemplate = getHTML(FeedbackToast, {}, hostInstance);\n\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, feedbackToastTemplate, {\n event: SDK_EVENTS.FEEDBACK_TOAST_TEMPLATE,\n data : {}\n });\n\n hostInstance?.chatEle?.append(feedbackToastTemplate);\n\n hostInstance.eventManager?.addEventListener?.(`${classConstants.FEEDBACK_CLOSE_BTN}`, 'click', (e : any) => {\n hideFeedbackToastr();\n }, feedbackToastTemplate);\n }\n\n const hideFeedbackToastr = () => {\n hostInstance?.chatEle?.querySelector?.(`${classConstants.FEEDBACK_TOASTR}`).classList?.add(classConstants.HIDE_ELEMENT);\n }\n\n const showFeedbackToastr = () => {\n hostInstance?.chatEle?.querySelector?.(`${classConstants.FEEDBACK_TOASTR}`).classList?.remove(classConstants.HIDE_ELEMENT);\n }\n\n const handleFeedbackResponse = (response : any) => {\n if (response && Object.keys(response)?.length > 0) {\n if(response?.feedback === 'like' || (response?.feedback === 'dislike' && (rootServiceInstance?.isUpdateFeedBackDetailsFlag || response?.interactionType === 'widget'))){\n showFeedbackToastr();\n if (timeoutId.current !== undefined) {\n clearTimeout(timeoutId.current); // Clear existing timeout if any\n }\n timeoutId.current = window.setTimeout(() => {\n hideFeedbackToastr();\n }, 5000);\n }\n }\n if(response.type === 'summary'){\n let positionId = response.positionId;\n let feedbackSummaryData = rootServiceInstance.generatedSummaries.find((item : any) => item.positionId === positionId);\n if(feedbackSummaryData){\n feedbackSummaryData.summaryFeedbackData = response;\n }\n }\n }\n\n const toggleActiveTab = (activeTab: any, footerTag: any) => { \n let isEnabled = tabsNTitles.find((tab: any) => tab.type === activeTab)?.isEnabled;\n if(isEnabled){\n updateTabActive(activeTab);\n tabsNTitles.forEach((tab: any) => {\n let footerTabEle = footerTag.querySelector(`${classConstants.FOOTER_BTN}${tab.type}`);\n if (footerTabEle && tab.type === activeTab) {\n footerTabEle?.classList?.add(...[\"selected-tab\", \"sel-bg\"]);\n } else if(footerTabEle) {\n footerTabEle?.classList?.remove(...[\"selected-tab\", \"sel-bg\"]);\n }\n })\n }\n }\n\n const updateTabActive = (tab : string, removeOtherTabs = true)=>{ \n if(tab){\n rootServiceInstance.activeTab = tab;\n selectTab = tab;\n }else{\n rootServiceInstance.activeTab = localStorageServiceInstance.getActiveTab();\n tab = rootServiceInstance.activeTab;\n selectTab = rootServiceInstance.activeTab;\n }\n if(removeOtherTabs){\n setAssistTabActive(false);\n setMybotTabActive(false);\n setSearchTabActive(false);\n setTranscriptTabActive(false);\n setplaybookTabActive(false);\n setCustomTabActive(false);\n }\n switch (tab) {\n case 'ast':\n setAssistTabActive(true);\n break;\n case 'srch':\n setSearchTabActive(true);\n break;\n case 'mB':\n setMybotTabActive(true);\n break;\n case 'trnspt':\n setTranscriptTabActive(true);\n break;\n case 'cl':\n setplaybookTabActive(true);\n break;\n case 'cst':\n setCustomTabActive(true);\n break;\n default:\n setAssistTabActive(true);\n break;\n }\n\n if(tab){\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, '', { event: SDK_EVENTS.TAB_CHANGE_EVENT, data: {activeTab : tab} });\n localStorageServiceInstance.setActiveTab(serviceTabMap[tab]);\n }\n }\n\n\n const handlePauseResumeTranscript = (transcriptionStatus: string) => {\n const payload = {\n conversationId: hostInstance?.rootService.connectionDetails.conversationId,\n botId: hostInstance?.rootService.connectionDetails.botId,\n transcriptionStatus,\n experience: hostInstance?.rootService.connectionDetails.channel \n }\n hostInstance.socketConnection.emitEvents(EVENTS.desktop_activity_request, payload);\n }\n\n\n // intermittent summary changes start\n\n const updateFeedbackForEachPrevSummary = () => {\n setTimeout(() => {\n rootServiceInstance?.generatedSummaries?.map((item: any, index: number) => {\n if(item?.type != 'final'){\n let prevSummaryFeedbackWrapper = hostInstance?.chatEle?.querySelector(`${classConstants.PREV_SUMMARY_FEEDBACK_WRAPPER}${index}`); \n if(prevSummaryFeedbackWrapper){\n removeFeedbackSummary(prevSummaryFeedbackWrapper);\n updateSummaryFeedback(prevSummaryFeedbackWrapper, item?.positionId, item?.summaryId, item?.traceId, item?.exeStartTime);\n }\n }\n })\n });\n \n }\n\n const handleSummaryPopup = (respData : any) => {\n let summaryPopupModal = hostInstance?.chatEle?.querySelector('#aa-conv-summary');\n let summaryWrapper = hostInstance?.chatEle?.querySelector(`#${idMapConstants.SUMMARY_WRAPPER}`);\n let summaryClassList = summaryWrapper?.classList;\n\n // addToPrevioisAndClearSummary(respData);\n\n const isSummaryEnabled = rootServiceInstance.aaSettings?.summarization['localeData'][rootServiceInstance.connectionDetails.interactiveLanguage || 'en']?.isEnabled;\n if (!isSummaryEnabled) {\n localStorageServiceInstance.deleteLocalStorageState(rootServiceInstance.connectionDetails.conversationId);\n return;\n }\n\n const summaryOverlayEle = document.getElementsByClassName(idMapConstants.SUMMARY_OVERLAY_BLOCK)[0];\n\n if (isSummaryEnabled && (respData.initPopup || respData.openOnResponse || respData.openToShowPreviousSummary) && !summaryPopupModal) {\n const summaryObj: any = getHTML(SummaryPopupHTMLEle, respData, hostInstance);\n summaryOverlayEle?.append(summaryObj); \n\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, summaryObj, {\n event: SDK_EVENTS.SUMMARY_POPUP_TEMPLATE,\n data : respData\n });\n\n hostInstance.eventManager?.addEventListener('.aa-delete-summary-text', 'click', () => {\n deleteSummaryText();\n disableOrEnableSummaryCloseButton(true);\n disableOrEnableSummarySubmitButton(true);\n disableOrEnableSummaryCopyButton(true);\n removeOrAddDeleteSummaryButton(true);\n }, summaryObj);\n\n hostInstance.eventManager?.addEventListener('.aa-summit-summary-text', 'click', () => {\n submitSummaryResolution();\n }, summaryObj);\n\n hostInstance.eventManager?.addEventListener('.aa-copy-summary-text', 'click', (event: any) => {\n event.target.textContent = 'Copied';\n setTimeout(() => {\n event.target.textContent = 'Copy';\n }, 3000);\n copySummaryResolution();\n }, summaryObj);\n\n hostInstance.eventManager?.addEventListener(`${classConstants.SUMMARY_REFRESH_BTN}`, 'click', () => {\n regenerateSummary();\n }, summaryObj);\n\n hostInstance.eventManager?.addEventListener(`${classConstants.SUMMARY_CLOSE_BTN}`, 'click', () => {\n submitSummaryResolution();\n }, summaryObj);\n\n hostInstance?.eventManager?.addEventListener('.aa-summary-text-input', 'input', (event: any) => {\n if (event.target.value) {\n removeOrAddDeleteSummaryButton(false);\n disableOrEnableSummarySubmitButton(false);\n disableOrEnableSummaryCopyButton(false);\n disableOrEnableSummaryCloseButton(false);\n } else {\n removeOrAddDeleteSummaryButton(true);\n disableOrEnableSummarySubmitButton(true);\n disableOrEnableSummaryCopyButton(true);\n disableOrEnableSummaryCloseButton(true);\n }\n\n }, summaryOverlayEle);\n\n hostInstance.eventManager?.addEventListener(`${classConstants.SUMMARY_PREVIOUS_BTN}`, 'click', () => {\n let summaryContentCollapse = summaryOverlayEle.querySelector(`${classConstants.SUMMARY_CONTENT_COLLAPSE}`);\n summaryContentCollapse?.classList.toggle('aa-hidden');\n }, summaryObj);\n\n hostInstance.eventManager?.addEventListener(`${classConstants.SUMMARY_MINIMIZE_BTN}`, 'click', () => {\n dragIntermSumm();\n hideSummary();\n }, summaryObj);\n\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, summaryObj, {\n event: SDK_EVENTS.CONVERSATION_SUMMARY_TEMPLATE,\n respData\n });\n\n } else if (!respData.initPopup && respData.openToShowPreviousSummary) { \n showSummary();\n } else if(rootServiceInstance.finalSummaryGenerated && respData.openOnResponse){\n showSummary();\n }\n\n if(rootServiceInstance.finalSummaryGenerated){\n showOrHideSummaryTextArea(true);\n }else if (!respData.positionId && !respData.summaryId){\n showOrHideSummaryTextArea(false);\n }\n\n addSummaryToList(respData);\n updateTextAreaSummary({ ...respData });\n updateGeneratedSummariesCount();\n enableOrDisableButtons(respData, summaryOverlayEle);\n updateFeedbackForEachPrevSummary();\n }\n\n const enableOrDisableButtons = (respData : any, summaryOverlayEle : any) => { \n if(respData.initPopup){\n disableOrEnableSummarySubmitButton(true);\n disableOrEnableSummaryCopyButton(true);\n disableOrEnableSummaryCloseButton(true);\n disableOrEnableSummaryRefreshButton(true);\n removeOrAddDeleteSummaryButton(true);\n addOrRemoveLoaderToSummary(true);\n }else{\n addOrRemoveLoaderToSummary(false);\n disableOrEnableSummaryCloseButton(false);\n let hideRefreshButton = rootServiceInstance.summaryInProgress || rootServiceInstance.maxIntSummaryCount <= rootServiceInstance.currentGenIntSummaryCount ||rootServiceInstance.finalSummaryGenerated \n disableOrEnableSummaryRefreshButton(hideRefreshButton);\n }\n\n let summaryTextArea = summaryOverlayEle?.querySelector('#summaryText');\n \n if(!summaryTextArea?.value || summaryTextArea?.value === 'undefined'){\n disableOrEnableSummarySubmitButton(true);\n disableOrEnableSummaryCopyButton(true);\n }else{\n disableOrEnableSummarySubmitButton(false);\n disableOrEnableSummaryCopyButton(false);\n removeOrAddDeleteSummaryButton(false);\n }\n\n if(rootServiceInstance.finalSummaryGenerated && respData.openToShowPreviousSummary){\n disableOrEnableSummarySubmitButton(true);\n disableOrEnableSummaryCopyButton(true);\n removeOrAddDeleteSummaryButton(true);\n }\n\n }\n\n const disableOrEnableSummarySubmitButton = (disable : boolean) => {\n const summarySubmitButton = hostInstance?.chatEle?.querySelector(`${classConstants.SUMMARY_SUBMIT_BTN}`);\n if(summarySubmitButton){\n if(disable){\n summarySubmitButton.setAttribute('disabled', 'disabled');\n }else{\n summarySubmitButton.removeAttribute('disabled');\n }\n }\n }\n\n const disableOrEnableSummaryCopyButton = (disable : boolean) => {\n const summaryCopyButton = hostInstance?.chatEle?.querySelector(`${classConstants.SUMMARY_COPY_BTN}`);\n if(summaryCopyButton){\n if(disable){\n summaryCopyButton.setAttribute('disabled', 'disabled');\n }else{\n summaryCopyButton.removeAttribute('disabled');\n }\n }\n }\n\n const disableOrEnableSummaryCloseButton = (disable : boolean) => {\n const summaryCloseButton = hostInstance?.chatEle?.querySelector(`${classConstants.SUMMARY_CLOSE_BTN}`);\n if(summaryCloseButton){\n if(disable){\n summaryCloseButton.setAttribute('disabled', 'disabled');\n }else{\n summaryCloseButton.removeAttribute('disabled');\n }\n }\n }\n\n const disableOrEnableSummaryRefreshButton = (disable : boolean) => {\n const summaryRefreshButton = hostInstance?.chatEle?.querySelector(`${classConstants.SUMMARY_REFRESH_BTN}`);\n let disabled = disable || rootServiceInstance.generatedSummaries.length > 1\n if(summaryRefreshButton){\n if(disabled){\n summaryRefreshButton.setAttribute('disabled', 'disabled');\n }else{\n summaryRefreshButton.removeAttribute('disabled');\n }\n }\n }\n\n\n const removeOrAddDeleteSummaryButton = (remove : boolean) => {\n const summaryDeleteButton = hostInstance?.chatEle?.querySelector(`${classConstants.SUMMARY_DELETE_BTN}`); \n if(summaryDeleteButton){\n summaryDeleteButton.classList.toggle('aa-hidden', remove);\n }\n }\n \n\n const updateTextAreaSummary = (respData : any) => {\n let summaryWrapper = hostInstance?.chatEle?.querySelector(`#${idMapConstants.SUMMARY_WRAPPER}`);\n let summaryContentArea = hostInstance?.chatEle?.querySelector?.(`${classConstants.SUMMARY_CONTENT_AREA}`);\n if(rootServiceInstance?.finalSummaryGenerated && !respData?.openToShowPreviousSummary){\n summaryContentArea?.classList?.remove(classConstants.HIDE_ELEMENT);\n }\n let summaryTextArea = hostInstance?.chatEle?.querySelector('#summaryText');\n\n // let finalSummaryText = rootServiceInstance?.generatedSummaries?.find((item : any) => item?.type === 'final')?.summary || respData?.summaryText || '';\n let finalSummaryObj = rootServiceInstance?.generatedSummaries?.find((item : any) => item?.type === 'final') || respData; \n if(summaryTextArea){\n //add attributes to the text area\n summaryTextArea?.setAttribute('data-summaryId', finalSummaryObj?.summaryId || '');\n summaryTextArea?.setAttribute('data-positionId', finalSummaryObj?.positionId || '');\n summaryTextArea?.setAttribute('data-traceId', respData?.traceId || '');\n summaryTextArea?.setAttribute('data-exeStartTime', respData?.exeStartTime || '');\n summaryTextArea.value = finalSummaryObj.editedSummary || finalSummaryObj.summary;\n if(!respData.initPopup && !summaryContentArea?.classList?.contains(classConstants.HIDE_ELEMENT)){\n removeFeedbackSummary(summaryWrapper?.querySelector(`.actions-footer`));\n addFeedbackToSummary();\n updateFeedbackForMainSummary();\n }else{\n removeFeedbackSummary(summaryWrapper?.querySelector(`.actions-footer`));\n }\n }\n }\n\n const hideSummary = () => {\n let summaryWrapper = hostInstance?.chatEle?.querySelector(`#${idMapConstants.SUMMARY_WRAPPER}`);\n summaryWrapper?.classList?.add('aa-hidden');\n }\n\n const handleSummaryResolutionComments = (respData: any) => { \n const summary = respData?.isError ? \n languageData?.SUMMARY_ERROR_TEXT\n : respData.summary[0];\n setEditedSummaryText(summary); \n hostInstance.socketConnection.emitEvents(EVENTS.response_resolution_comments_ack, respData, true);\n hostInstance.setSummaryPopup({...respData, summaryText : summary, openOnResponse : true}); \n }\n\n const updatePreviousSummary = (props: any) => {\n let summaryText = props?.msgData?.summaryText;\n let index = props?.msgData?.summaryIndex;\n return (\n <div className=\"summery-accordion-content\">\n <div className=\"summery-accordion-content-inner-sec\">\n <div className=\"summery-accordion-content-inner-sec-item aa-text-xs\">{summaryText}</div>\n </div>\n <div className={`summery-accordion-content-item-date-time aa-prev-summary-${index}`}>\n\n </div>\n </div>\n )\n }\n\n const FeedbackPopupHTMLEle = (props: any) => {\n const languageData = props?.hostInstance?.languagedata;\n const widgetFeedbackData = props?.hostInstance.rootService.widgetFeedbackData;\n \n return (\n <div className=\"aa-feedback-popup-overlay feedback-popup-overlay a-position-absolute a-flex a-justify-content-center a-align-items-center a-width-100 a-height-100\">\n <div className=\"feedback-popup-container a-radius-8 a-padding-sm a-flex a-flex-column a-gap-8\">\n <div className=\"feedback-popup-header a-flex a-align-items-center a-width-100\">\n <span className=\"feedback-popup-title aa-text-sm semibold w-100 text-truncate\">{languageData?.SUBMIT_OVERALL_FEEDBACK}</span>\n <button className=\"feedback-popup-close-btn aa-feedback-popup-close-btn cursor-pointer\" aria-label=\"Close feedback dialog\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path d=\"M12 4L4 12M4 4L12 12\" stroke=\"#667085\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </button>\n </div>\n <div className=\"feedback-popup-body aa-feedback-popup-body a-width-100 a-flex a-flex-column a-gap-4\">\n <div className=\"feedback-popup-body-content a-padding-sm a-radius-8 a-width-100 a-flex a-flex-column a-gap-4\">\n <p className=\"aa-text-xs medium\">{languageData?.FEEDBACK_QUESTION}</p>\n <div className=\"feedback-satisfaction-options a-flex a-gap-8 a-width-100\">\n <button className={`feedback-option-btn feedback-satisfied-btn aa-feedback-satisfied-btn a-flex a-align-items-center a-justify-content-center a-gap-4 a-radius-6 cursor-pointer aa-text-xs medium a-width-100 ${widgetFeedbackData.type === 'positive' ? 'active' : ''}`}>\n <svg width=\"11\" height=\"11\" viewBox=\"0 0 11 11\" fill=\"none\">\n <path d=\"M3 10.5V5M0.5 6V9.5C0.5 10.0523 0.947715 10.5 1.5 10.5H8.21312C8.95348 10.5 9.5831 9.95983 9.69568 9.22809L10.2341 5.72809C10.3739 4.81945 9.67091 4 8.75158 4H7C6.72386 4 6.5 3.77614 6.5 3.5V1.73292C6.5 1.052 5.948 0.5 5.26708 0.5C5.10467 0.5 4.95749 0.595648 4.89153 0.744061L3.13197 4.70307C3.05172 4.88363 2.87266 5 2.67506 5H1.5C0.947715 5 0.5 5.44772 0.5 6Z\" stroke=\"#079455\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n {languageData?.FEEDBACK_SATISFIED}\n </button>\n <button className={`feedback-option-btn feedback-unsatisfied-btn aa-feedback-unsatisfied-btn a-flex a-align-items-center a-justify-content-center a-gap-4 a-radius-6 cursor-pointer aa-text-xs medium a-width-100 ${widgetFeedbackData.type === 'negative' ? 'active' : ''}`}>\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\n <path d=\"M8.49954 1V6.5M10.9995 4.9V2.6C10.9995 2.03995 10.9995 1.75992 10.8905 1.54601C10.7947 1.35785 10.6417 1.20487 10.4535 1.10899C10.2396 1 9.95959 1 9.39954 1H4.05854C3.3278 1 2.96243 1 2.66733 1.13372C2.40724 1.25157 2.18619 1.44121 2.03016 1.68036C1.85312 1.9517 1.79757 2.31282 1.68645 3.03506L1.42491 4.73506C1.27836 5.68766 1.20508 6.16395 1.34644 6.53456C1.47051 6.85985 1.70386 7.13185 2.0065 7.30393C2.3513 7.5 2.8332 7.5 3.79701 7.5H4.19954C4.47956 7.5 4.61958 7.5 4.72653 7.5545C4.82061 7.60243 4.8971 7.67892 4.94504 7.773C4.99954 7.87996 4.99954 8.01997 4.99954 8.3V9.76708C4.99954 10.448 5.55154 11 6.23246 11C6.39487 11 6.54205 10.9044 6.60801 10.7559L8.28839 6.97509C8.36482 6.80312 8.40303 6.71714 8.46344 6.65409C8.51683 6.59836 8.5824 6.55575 8.65501 6.52959C8.73716 6.5 8.83125 6.5 9.01944 6.5H9.39954C9.95959 6.5 10.2396 6.5 10.4535 6.39101C10.6417 6.29513 10.7947 6.14215 10.8905 5.95399C10.9995 5.74008 10.9995 5.46005 10.9995 4.9Z\" stroke=\"#B42318\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n {languageData?.FEEDBACK_UNSATISFIED}\n </button>\n </div>\n </div>\n </div>\n <div className=\"feedback-popup-footer a-flex a-justify-content-end a-padding-md-top\">\n <button className=\"aa_btn primaryBtn aa-widget-feedback-submit-btn\" disabled>{languageData?.SUBMIT}</button>\n </div>\n </div>\n </div>\n )\n }\n\n const SummaryPopupHTMLEle = (props: any) => {\n \n let {msgData} = props;\n const rootServiceInstance = hostInstance.rootService;\n let initPopup = msgData?.initPopup || false; \n let submitEnabled = rootServiceInstance?.aaSettings?.summarization['localeData'][rootServiceInstance?.connectionDetails?.interactiveLanguage || 'en']?.canSubmit;\n const hideRegenerateButton = () => {\n return !rootServiceInstance.summaryInProgress && rootServiceInstance.currentGenIntSummaryCount < rootServiceInstance.maxIntSummaryCount && !rootServiceInstance.finalSummaryGenerated\n }\n \n return (\n <div className=\"summery-wrapper-container a-padding-xl\" id=\"aa-summary-wrapper-container\">\n <div className=\"summery-popup-data\" id=\"aa-conv-summary\">\n <div className=\"title-block\">\n <svg width=\"19\" height=\"14\" viewBox=\"0 0 19 14\" fill=\"none\" >\n <path d=\"M9.99979 5.81524V8.01866C9.56245 8.60838 8.98161 8.80996 8.40024 8.80996C7.3657 8.80996 6.64453 7.93073 6.64453 6.92499C6.64453 5.90316 7.3657 5.00732 8.40024 5.00732C8.98161 5.00732 9.56245 5.21212 9.99979 5.81524Z\" fill=\"#111827\" />\n <path d=\"M16.4016 0.310059H4.49325C4.21767 0.309988 3.94477 0.36504 3.69014 0.47207C3.43552 0.579099 3.20415 0.73601 3.00926 0.93384C2.81437 1.13167 2.65978 1.36654 2.5543 1.62505C2.44882 1.88355 2.39453 2.16062 2.39453 2.44043V9.25632C3.97002 9.26274 5.2009 10.4831 5.2009 12.0474C5.20345 12.5621 5.06557 13.0674 4.80255 13.5074H16.4016C16.9579 13.507 17.4914 13.2824 17.8848 12.883C18.2782 12.4836 18.4994 11.9419 18.4998 11.3771V2.44257C18.5001 2.1626 18.4461 1.88532 18.3408 1.62657C18.2355 1.36782 18.081 1.13269 17.8861 0.934628C17.6913 0.736565 17.4598 0.579454 17.2051 0.472284C16.9504 0.365115 16.6773 0.309988 16.4016 0.310059ZM12.2015 10.4932H10.234V9.94594C9.71132 10.2921 9.0748 10.4932 8.3113 10.4932C6.44232 10.4932 4.92796 8.91285 4.92796 6.91516C4.92796 4.88858 6.44232 3.32104 8.3113 3.32104C9.07322 3.32104 9.71132 3.5222 10.234 3.86834V3.32104H12.2015V10.4932ZM15.9679 10.4932H14.0004V3.32104H15.9706L15.9679 10.4932Z\" fill=\"#111827\" />\n <path d=\"M2.16101 10.5996C1.30956 10.5996 0.605469 11.2231 0.605469 12.0442C0.605469 12.884 1.30956 13.5075 2.16101 13.5075C3.03295 13.5075 3.73705 12.884 3.73705 12.0442C3.73705 11.2226 3.03295 10.5996 2.16101 10.5996Z\" fill=\"#111827\" />\n </svg>\n <h1>{languageData?.SUMMARY_TEXT}</h1>\n <div className=\"ai-block\">\n <button type=\"button\" className=\"close-summery aa-minimize-summary\">\n <svg width=\"16\" height=\"17\" viewBox=\"0 0 16 17\" fill=\"none\">\n <path d=\"M2 5.83333H2.13333C3.25344 5.83333 3.81349 5.83333 4.24131 5.61535C4.61764 5.4236 4.9236 5.11764 5.11535 4.74131C5.33333 4.31349 5.33333 3.75344 5.33333 2.63333V2.5M2 11.1667H2.13333C3.25344 11.1667 3.81349 11.1667 4.24131 11.3847C4.61764 11.5764 4.9236 11.8824 5.11535 12.2587C5.33333 12.6865 5.33333 13.2466 5.33333 14.3667V14.5M10.6667 2.5V2.63333C10.6667 3.75344 10.6667 4.31349 10.8847 4.74131C11.0764 5.11764 11.3824 5.4236 11.7587 5.61535C12.1865 5.83333 12.7466 5.83333 13.8667 5.83333H14M10.6667 14.5V14.3667C10.6667 13.2466 10.6667 12.6865 10.8847 12.2587C11.0764 11.8824 11.3824 11.5764 11.7587 11.3847C12.1865 11.1667 12.7466 11.1667 13.8667 11.1667H14\" stroke=\"#667085\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n </button>\n <button type=\"button\" className=\"close-summery aa-close-summary-text\">\n <svg width=\"20\" height=\"21\" viewBox=\"0 0 20 21\" fill=\"none\">\n <path d=\"M15 5.2002L5 15.2002M5 5.2002L15 15.2002\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n </button>\n </div>\n </div>\n <div className=\"summary-intent-block-data-accordion a-padding-smm\">\n <div className={`summary-intent-block-data-accordion-item aa-summary-accordion-interim ${rootServiceInstance?.generatedSummaries?.length > 0 ? '' : 'aa-hidden'}`}>\n <button type=\"button\" className=\"acc-summary-btn a-flex a-align-items-center a-gap-4 aa-previous-summary-btn\" aria-expanded=\"false\" aria-controls=\"collapseExample\">\n <div className=\"text-truncate aa-text-xs medium\">{languageData?.PREV_SUMMARIES}</div>\n <span className=\"aa-summary-count\">{rootServiceInstance?.generatedSummaries?.length}</span>\n <div className=\"summery-accordion-icon\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path d=\"M4 6L8 10L12 6\" stroke=\"#344054\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n </div>\n </button>\n <div className=\"acc-summary-content-collapse aa-summary-content-collapse aa-hidden\">\n {rootServiceInstance?.generatedSummaries?.map((item: any, index: number) => (\n item?.type != 'final' && (\n <div className=\"summery-accordion-content\">\n <div className=\"summery-accordion-content-inner-sec\">\n <div className=\"summery-accordion-content-inner-sec-item aa-text-xs\" data-positionId={item.positionId} data-type={item.type}>{item.editedSummary ? item.editedSummary : item.summary}</div>\n </div>\n <div className={`summery-accordion-content-item-date-time aa-summary-content-feedback-wrapper aa-prev-summary-${index}`}>\n\n </div>\n </div>\n ) \n ))}\n </div>\n </div>\n <div className={`summary-intent-block-data-accordion-item new-summary-intent aa-summary-content-area`}>\n <div className=\"acc-summary-content-collapse\">\n <div className=\"text-block-summary aa-summary-text-input-wrapper\">\n <textarea className=\"input-control aa-summary-text-input aa-summary-text-input-new\"\n id=\"summaryText\" placeholder={'Type Summary...'} rows={4} cols={50} value=\"\"></textarea>\n <button className={`recylin-bin-btn aa-delete-summary-text`}>\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path d=\"M13.3333 4.99996V4.33329C13.3333 3.39987 13.3333 2.93316 13.1517 2.57664C12.9919 2.26304 12.7369 2.00807 12.4233 1.84828C12.0668 1.66663 11.6001 1.66663 10.6667 1.66663H9.33333C8.39991 1.66663 7.9332 1.66663 7.57668 1.84828C7.26308 2.00807 7.00811 2.26304 6.84832 2.57664C6.66667 2.93316 6.66667 3.39987 6.66667 4.33329V4.99996M8.33333 9.58329V13.75M11.6667 9.58329V13.75M2.5 4.99996H17.5M15.8333 4.99996V14.3333C15.8333 15.7334 15.8333 16.4335 15.5608 16.9683C15.3212 17.4387 14.9387 17.8211 14.4683 18.0608C13.9335 18.3333 13.2335 18.3333 11.8333 18.3333H8.16667C6.76654 18.3333 6.06647 18.3333 5.53169 18.0608C5.06129 17.8211 4.67883 17.4387 4.43915 16.9683C4.16667 16.4335 4.16667 15.7334 4.16667 14.3333V4.99996\" stroke=\"#D92D20\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <div className=\"actions-footer\">\n <div className=\"footer-btns-left-sec\">\n {submitEnabled && (<button className={`aa_btn primaryBtn aa-summit-summary-text aa-summary-submit-btn`} disabled={initPopup} id=\"summarySubmit\" >{languageData?.SUBMIT}</button>)}\n <button className={`aa_btn aa-solidbtn aa-copy-summary-text aa-summary-copy-btn`} disabled={initPopup} id=\"summaryCopy\" >{languageData?.COPY}</button>\n <button\n className={`aa_btn aa-solidbtn refresh-btn aa-summary-refresh-btn`}\n disabled={!hideRegenerateButton()}\n >\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path d=\"M7.12246 16.4733C9.12174 17.3603 11.503 17.3121 13.5421 16.1348C16.93 14.1788 18.0908 9.84667 16.1348 6.45876L15.9265 6.09792M3.86571 13.5422C1.9097 10.1543 3.07048 5.82219 6.45839 3.86618C8.49754 2.68888 10.8788 2.64071 12.878 3.52768M2.07812 13.6119L4.35483 14.2219L4.96488 11.9452M15.0358 8.05528L15.6459 5.77857L17.9226 6.38861\" stroke=\"#344054\" stroke-width=\"1.33\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n </button>\n </div>\n </div>\n </div>\n </div>\n )\n }\n\n\n const submitSummaryResolution = () => {\n let editedSummaryText = (hostInstance?.chatEle?.querySelector?.(`${classConstants.SUMMARY_EDITED_TEXT}`) as HTMLTextAreaElement);\n const summaryTextValue = editedSummaryText?.value || \"\"; \n const summaryId = editedSummaryText?.getAttribute('data-summaryId') || \"\";\n const positionId = editedSummaryText?.getAttribute('data-positionId') || \"\";\n const traceId = editedSummaryText?.getAttribute('data-traceId') || \"\";\n let connectionDetails = hostInstance.rootService.connectionDetails;\n if(positionId && summaryId){\n let submitSummaryRequestParams = {\n conversationId : connectionDetails?.conversationId,\n botId: connectionDetails?.botId,\n experience : connectionDetails?.experience,\n isExtAD : true,\n language : connectionDetails?.interactiveLanguage,\n positionId : positionId || '',\n summary : [\n {\n 'summary_text' : summaryTextValue || '',\n 'summaryId' : summaryId || ''\n }\n ],\n traceId : traceId\n };\n let generatedSummaryObj = rootServiceInstance.generatedSummaries?.find((item: any) => item.summaryId === summaryId);\n if(generatedSummaryObj){\n generatedSummaryObj.editedSummary = summaryTextValue;\n }\n hostInstance.socketConnection.emitEvents(EVENTS.submit_summary_request, submitSummaryRequestParams)\n }\n closeSummaryPopup(editedSummaryText);\n }\n\n const copySummaryResolution = () => {\n const summaryTextValue = (document.getElementById(\"summaryText\") as HTMLTextAreaElement)?.value || \"\";\n navigator.clipboard.writeText(summaryTextValue).then(() => {\n }).catch(err => {\n });\n }\n\n const closeSummaryPopup = (editedSummaryText : any) => {\n \n let finalSummary = rootServiceInstance?.finalSummaryGenerated\n let summaryType = finalSummary ? 'final' : 'interim';\n // rootServiceInstance.isSummaryMinimized = false;\n const summaryTextValue = (document.getElementById(\"summaryText\") as HTMLTextAreaElement)?.value || \"\";\n if(summaryTextValue && (summaryType == 'final' || finalSummary)){\n hostInstance.emit(INTERNAL_EVENTS.CONVERSATION_SUMMARY_IN_ASSIST, summaryTextValue);\n }\n hideSummary();\n\n if(!rootServiceInstance.finalSummaryGenerated){\n addToPreviouSummary(editedSummaryText,summaryType)\n showOrHideSummaryTextArea(false);\n }else{\n showOrHideSummaryTextArea(true);\n }\n }\n\n const addToPreviouSummary = (editedSummaryText : any, type : string) => {\n let positionId = editedSummaryText.getAttribute('data-positionId');\n if(positionId && type == 'interim' && rootServiceInstance?.generatedSummaries?.length > 0){\n let summaryContentCollapse = hostInstance?.chatEle?.querySelector?.(`${classConstants.SUMMARY_CONTENT_COLLAPSE}`);\n let summaryAccordionInterim = hostInstance?.chatEle?.querySelector?.(`${classConstants.SUMMARY_ACCORDION_INTERIM}`);\n let summaryContentArea = hostInstance?.chatEle?.querySelector?.(`${classConstants.SUMMARY_CONTENT_AREA}`);\n updateGeneratedSummariesCount();\n if(summaryContentCollapse && summaryAccordionInterim){\n let interimSummaries = rootServiceInstance?.generatedSummaries?.filter((summary: any) => summary.type === 'interim');\n let index = interimSummaries?.length - 1; \n summaryAccordionInterim.classList.remove(classConstants.HIDE_ELEMENT);\n let summaryContent = getHTML(updatePreviousSummary, {summaryText : editedSummaryText.value, summaryIndex : index}, hostInstance);\n\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, summaryContent, {\n event: SDK_EVENTS.SUMMARY_PREVIOUS_TEMPLATE,\n data : {summaryText : editedSummaryText.value, summaryIndex : index}\n });\n \n summaryContentCollapse?.append(summaryContent);\n\n }\n if(editedSummaryText){\n editedSummaryText.value = '';\n }\n summaryContentArea?.classList?.remove(classConstants.HIDE_ELEMENT);\n }\n }\n\n const deleteSummaryText = () => {\n setEditedSummaryText(\"\");\n (document.getElementById(\"summaryText\") as HTMLTextAreaElement).value = '';\n }\n\n const handleMinimizedIcon = ()=>{\n const summaryOverlayEle = document.getElementsByClassName(idMapConstants.SUMMARY_OVERLAY_BLOCK)[0];\n const minimizedIcon:any = getHTML(minimizedSummPreHTML,'',hostInstance);\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, minimizedIcon, {\n event: SDK_EVENTS.SUMMARY_PREVIOUS_TEMPLATE,\n data : {}\n });\n summaryOverlayEle.append(minimizedIcon)\n summaryOverlayEle.querySelector(`${classConstants.SUMMARY_ACTION_MINIMIZED}`)?.addEventListener('click',()=>{\n summaryOverlayEle.removeChild(minimizedIcon)\n showSummary();\n })\n return minimizedIcon\n }\n\n const minimizedSummPreHTML = ()=>{\n return (\n <div className=\"generate-summary-action-minimized aa-generate-summary-action-minimized\" >\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" className=\"svg-inner\">\n <path d=\"M8 3C8.27614 3 8.5 2.77614 8.5 2.5C8.5 2.22386 8.27614 2 8 2C7.72386 2 7.5 2.22386 7.5 2.5C7.5 2.77614 7.72386 3 8 3Z\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M8 6.5C8.27614 6.5 8.5 6.27614 8.5 6C8.5 5.72386 8.27614 5.5 8 5.5C7.72386 5.5 7.5 5.72386 7.5 6C7.5 6.27614 7.72386 6.5 8 6.5Z\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M8 10C8.27614 10 8.5 9.77614 8.5 9.5C8.5 9.22386 8.27614 9 8 9C7.72386 9 7.5 9.22386 7.5 9.5C7.5 9.77614 7.72386 10 8 10Z\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M4.5 3C4.77614 3 5 2.77614 5 2.5C5 2.22386 4.77614 2 4.5 2C4.22386 2 4 2.22386 4 2.5C4 2.77614 4.22386 3 4.5 3Z\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M4.5 6.5C4.77614 6.5 5 6.27614 5 6C5 5.72386 4.77614 5.5 4.5 5.5C4.22386 5.5 4 5.72386 4 6C4 6.27614 4.22386 6.5 4.5 6.5Z\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M4.5 10C4.77614 10 5 9.77614 5 9.5C5 9.22386 4.77614 9 4.5 9C4.22386 9 4 9.22386 4 9.5C4 9.77614 4.22386 10 4.5 10Z\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n <svg width=\"19\" height=\"14\" viewBox=\"0 0 19 14\" fill=\"none\" >\n <path d=\"M9.99979 5.81524V8.01866C9.56245 8.60838 8.98161 8.80996 8.40024 8.80996C7.3657 8.80996 6.64453 7.93073 6.64453 6.92499C6.64453 5.90316 7.3657 5.00732 8.40024 5.00732C8.98161 5.00732 9.56245 5.21212 9.99979 5.81524Z\" fill=\"#111827\" />\n <path d=\"M16.4016 0.310059H4.49325C4.21767 0.309988 3.94477 0.36504 3.69014 0.47207C3.43552 0.579099 3.20415 0.73601 3.00926 0.93384C2.81437 1.13167 2.65978 1.36654 2.5543 1.62505C2.44882 1.88355 2.39453 2.16062 2.39453 2.44043V9.25632C3.97002 9.26274 5.2009 10.4831 5.2009 12.0474C5.20345 12.5621 5.06557 13.0674 4.80255 13.5074H16.4016C16.9579 13.507 17.4914 13.2824 17.8848 12.883C18.2782 12.4836 18.4994 11.9419 18.4998 11.3771V2.44257C18.5001 2.1626 18.4461 1.88532 18.3408 1.62657C18.2355 1.36782 18.081 1.13269 17.8861 0.934628C17.6913 0.736565 17.4598 0.579454 17.2051 0.472284C16.9504 0.365115 16.6773 0.309988 16.4016 0.310059ZM12.2015 10.4932H10.234V9.94594C9.71132 10.2921 9.0748 10.4932 8.3113 10.4932C6.44232 10.4932 4.92796 8.91285 4.92796 6.91516C4.92796 4.88858 6.44232 3.32104 8.3113 3.32104C9.07322 3.32104 9.71132 3.5222 10.234 3.86834V3.32104H12.2015V10.4932ZM15.9679 10.4932H14.0004V3.32104H15.9706L15.9679 10.4932Z\" fill=\"#111827\" />\n <path d=\"M2.16101 10.5996C1.30956 10.5996 0.605469 11.2231 0.605469 12.0442C0.605469 12.884 1.30956 13.5075 2.16101 13.5075C3.03295 13.5075 3.73705 12.884 3.73705 12.0442C3.73705 11.2226 3.03295 10.5996 2.16101 10.5996Z\" fill=\"#111827\" />\n </svg>\n {/* <i className=\"krIocnsFont-Aimark\"></i> */}\n <span className=\"status-summary-indicator\"></span>\n </div>\n )\n }\n\n const dragIntermSumm = () => {\n\n const miniIcon = handleMinimizedIcon();\n const summaryAction = miniIcon as HTMLElement;\n const container = hostInstance?.chatEle?.querySelector(\".section-agent-aa-wrapper\"); // Replace with actual container class\n\n if (summaryAction && container) {\n // Set default position using bottom and right within container\n summaryAction.style.position = 'absolute';\n summaryAction.style.bottom = '150px';\n summaryAction.style.right = '20px';\n summaryAction.style.zIndex = '999';\n\n let isDragging = false;\n let offsetX = 0, offsetY = 0;\n\n const stopDragging = () => {\n isDragging = false;\n };\n\n summaryAction.addEventListener('mousedown', (event: MouseEvent) => {\n isDragging = true;\n\n try {\n // Get element and container bounds with safety checks\n if (!summaryAction.isConnected || !container.isConnected) return;\n \n const rect = summaryAction.getBoundingClientRect();\n const containerRect = container.getBoundingClientRect();\n\n // Calculate offset from bottom-right within container\n offsetX = containerRect.right - event.clientX;\n offsetY = containerRect.bottom - event.clientY;\n } catch (error) {\n console.warn('Drag initialization failed:', error);\n isDragging = false;\n return;\n }\n\n event.preventDefault();\n });\n\n document.addEventListener('mousemove', (event: MouseEvent) => {\n if (!isDragging) return;\n\n try {\n // Safety checks before DOM measurements\n if (!summaryAction.isConnected || !container.isConnected) {\n isDragging = false;\n return;\n }\n\n const containerRect = container.getBoundingClientRect();\n const elementRect = summaryAction.getBoundingClientRect();\n\n // Calculate new position relative to container\n let right = containerRect.right - event.clientX - offsetX;\n let bottom = containerRect.bottom - event.clientY - offsetY;\n\n // Ensure it stays within container boundaries\n right = Math.max(0, Math.min(right, containerRect.width - elementRect.width));\n bottom = Math.max(0, Math.min(bottom, containerRect.height - elementRect.height));\n\n // Apply new position\n summaryAction.style.right = `${right}px`;\n summaryAction.style.bottom = `${bottom}px`;\n } catch (error) {\n console.warn('Drag movement failed:', error);\n isDragging = false;\n }\n\n event.preventDefault();\n });\n\n document.addEventListener('mouseup', stopDragging);\n document.addEventListener('mouseleave', stopDragging);\n summaryAction.removeAttribute('draggable');\n }\n }\n\n const showSummary = () => {\n hostInstance?.chatEle?.querySelector?.(`#${idMapConstants.SUMMARY_WRAPPER}`)?.classList?.remove(classConstants.HIDE_ELEMENT);\n }\n\n const showOrHideSummaryTextArea = (show : boolean) => {\n let summaryContentArea = (hostInstance?.chatEle?.querySelector?.(`${classConstants.SUMMARY_CONTENT_AREA}`) as HTMLTextAreaElement);\n let summaryTextArea = hostInstance?.chatEle?.querySelector('#summaryText');\n let actionsFooter = hostInstance?.chatEle?.querySelector?.(`${classConstants.SUMMARY_ACTION_FOOTER}`);\n let formFeedback = actionsFooter?.querySelector?.(`${classConstants.FORM_FEEDBACK}`);\n if(summaryContentArea && !show){\n formFeedback?.classList?.add(classConstants.HIDE_ELEMENT);\n summaryContentArea?.classList?.add(classConstants.HIDE_ELEMENT);\n if(summaryTextArea){\n summaryTextArea.value = '';\n summaryTextArea.textContent = '';\n }\n }else{\n formFeedback?.classList?.remove(classConstants.HIDE_ELEMENT);\n summaryContentArea?.classList?.remove(classConstants.HIDE_ELEMENT);\n }\n }\n\n const removeFeedbackSummary = (actionsFooter : any) => {\n let feedbackWrapper = actionsFooter?.querySelector?.(`${classConstants.FORM_FEEDBACK}`);\n if(feedbackWrapper){\n feedbackWrapper?.remove();\n }\n }\n\n const addFeedbackToSummary = (initiateFeedback : boolean = true) => { \n let summaryWrapper : any = hostInstance?.chatEle?.querySelector(`#${idMapConstants.SUMMARY_WRAPPER}`);\n let summaryTextArea = hostInstance?.chatEle?.querySelector?.(`${classConstants.SUMMARY_EDITED_TEXT}`) as HTMLTextAreaElement;\n const summaryFooter : any = summaryWrapper?.querySelector(`.actions-footer`);\n let feedbackWrapper = summaryFooter?.querySelector?.(`${classConstants.FORM_FEEDBACK}`);\n if(!feedbackWrapper && !summaryTextArea?.classList?.contains(classConstants.HIDE_ELEMENT)){\n let positionId : any = summaryTextArea?.getAttribute('data-positionId');\n let summaryId : any = summaryTextArea?.getAttribute('data-summaryId');\n let traceId : any = summaryTextArea?.getAttribute('data-traceId');\n if(rootServiceInstance.aaSettings?.feedback[FeebackConst.SUMMARY]?.isEnabled){\n let feedbackWrapperTemplate : any = getHTML(FeedbackWrapperInsideDialog, {dialog : {dialogId : positionId, summaryId, traceId}}, hostInstance);\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, feedbackWrapperTemplate, {\n event: SDK_EVENTS.SUMMARY_FEEDBACK_TEMPLATE,\n data : {dialog : {dialogId : positionId, summaryId, traceId}}\n });\n if(initiateFeedback){\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, feedbackWrapperTemplate, {\n event: SDK_EVENTS.FEEDBACK_WRAPER_TEMPLATE,\n data : {dialog : {dialogId : positionId}}\n });\n summaryFooter.append(feedbackWrapperTemplate); \n }\n }\n }\n }\n\n const updateFeedbackForMainSummary = () => {\n let summaryWrapper : any = hostInstance?.chatEle?.querySelector(`#${idMapConstants.SUMMARY_WRAPPER}`);\n let summaryFooter : any = summaryWrapper?.querySelector(`.actions-footer`);\n let feedbackWrapper = summaryFooter?.querySelector?.(`${classConstants.FORM_FEEDBACK}`);\n let summaryTextArea = hostInstance?.chatEle?.querySelector?.(`${classConstants.SUMMARY_EDITED_TEXT}`) as HTMLTextAreaElement;\n if(feedbackWrapper && summaryTextArea){\n let positionId : any = summaryTextArea?.getAttribute('data-positionId');\n let summaryId : any = summaryTextArea?.getAttribute('data-summaryId');\n let traceId : any = summaryTextArea?.getAttribute('data-traceId');\n let feedbackData = rootServiceInstance.generatedSummaries.find((item : any) => item.positionId === positionId)?.summaryFeedbackData || {positionId : positionId, summaryId, traceId}; \n removeExistingFeedback(summaryFooter, positionId); \n rootServiceInstance.handleFeedbackType({dialogId : positionId, feedbackData : rootServiceInstance?.prepareFeedbackForSummary(feedbackData)}, summaryFooter, FeebackConst.SUMMARY, hostInstance);\n } \n }\n\n const removeExistingFeedback = (summaryFooter : any, positionId : any) => {\n const feedbackHelpfulSection = summaryFooter?.querySelector?.(`.form-feedback-div`);\n const feedbackWrapper = summaryFooter?.querySelector?.(`.improve-feedback-block`);\n feedbackHelpfulSection && feedbackHelpfulSection?.remove();\n feedbackWrapper && feedbackWrapper?.remove();\n }\n\n const updateSummaryFeedback = (wrapper : any, positionId : any, summaryId : any, traceId : any, exeStartTime : any) => { \n if(rootServiceInstance.aaSettings?.feedback[FeebackConst.SUMMARY]?.isEnabled){\n let feedbackWrapperTemplate : any = getHTML(FeedbackWrapperInsideDialog, {dialog : {dialogId : positionId, summaryId, traceId, exeStartTime}}, hostInstance);\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, feedbackWrapperTemplate, {\n event: SDK_EVENTS.FEEDBACK_WRAPER_TEMPLATE,\n data : {dialog : {dialogId : positionId}}\n });\n \n wrapper.append(feedbackWrapperTemplate);\n let feedbackData = rootServiceInstance.generatedSummaries.find((item : any) => item.positionId === positionId)?.summaryFeedbackData || {positionId : positionId, summaryId, traceId}; \n rootServiceInstance.handleFeedbackType({dialogId : positionId, feedbackData : rootServiceInstance?.prepareFeedbackForSummary(feedbackData)}, wrapper, FeebackConst.SUMMARY, hostInstance);\n }\n }\n \n const regenerateSummary = () => {\n let editedSummaryText = (hostInstance?.chatEle?.querySelector?.(`${classConstants.SUMMARY_EDITED_TEXT}`) as HTMLTextAreaElement);\n showOrHideSummaryTextArea(true);\n addToPreviouSummary(editedSummaryText, 'interim');\n generateSummary({}, true, true);\n updateGeneratedSummariesCount();\n }\n\n const addOrRemoveLoaderToSummary = (flag : boolean) => {\n let summaryOverlayEle = hostInstance?.chatEle?.querySelector?.(`#${idMapConstants.SUMMARY_WRAPPER}`);\n if(flag && summaryOverlayEle){\n hostInstance.renderIndividualLoader(summaryOverlayEle);\n }else if(!flag && summaryOverlayEle){\n hostInstance.removeIndividualLoader(summaryOverlayEle);\n }\n }\n\n const addSummaryToList = (respData : any) => { \n if(respData?.summaryText){\n let positionId = respData?.positionId;\n let inx = rootServiceInstance.generatedSummaries.findIndex((item : any) => item.positionId === positionId);\n if(inx === -1 && positionId){\n let data : any = {\n summary : [respData.summaryText],\n editedSummary : respData.summaryText,\n positionId : positionId,\n type : respData?.type || 'interim',\n traceId : respData?.traceId,\n summaryId : respData?.summaryId,\n exeStartTime : respData?.exeStartTime\n }\n rootServiceInstance.generatedSummaries.push(JSON.parse(JSON.stringify(data)));\n }\n }\n if(respData?.type === 'final'){\n let summaryContentArea = hostInstance?.chatEle?.querySelector?.(`${classConstants.SUMMARY_CONTENT_AREA}`);\n let editedSummaryText = (hostInstance?.chatEle?.querySelector?.(`${classConstants.SUMMARY_EDITED_TEXT}`) as HTMLTextAreaElement);\n if(!summaryContentArea?.classList?.contains(classConstants.HIDE_ELEMENT) && editedSummaryText){\n addToPreviouSummary(editedSummaryText, 'interim');\n // addFeedbackToSummary(false);\n } \n }\n }\n \n \n const updateGeneratedSummariesCount = () => {\n //generatedSummaries Count update.\n \n let generatedSummariesCount = rootServiceInstance.generatedSummaries?.filter((item : any) => item.type !== 'final')?.length;\n let summaryCountEle = hostInstance.chatEle.querySelector(`${classConstants.SUMMARY_COUNT}`);\n \n if(summaryCountEle){\n summaryCountEle.textContent = generatedSummariesCount;\n }\n }\n\n const generateSummary = (e : any, interim = false, regenerate = false) => {\n let summaryWrapper = hostInstance?.chatEle?.querySelector(`#${idMapConstants.SUMMARY_WRAPPER}`);\n let summaryClassList = summaryWrapper?.classList;\n if((!summaryClassList ||summaryClassList?.contains(classConstants.HIDE_ELEMENT)) && (rootServiceInstance.finalSummaryGenerated || hostInstance.localStorageService.getFinalSummaryGenerated())){\n rootServiceInstance.fetchSummaries(hostInstance);\n return;\n }\n addOrRemoveLoaderToSummary(true);\n let connectionDetails = hostInstance?.rootService?.connectionDetails;\n const conversationId = connectionDetails.conversationId;\n if (hostInstance.localStorageService.getConvObjFromLS()) {\n let request_resolution_comments : any = {\n userId: '',\n conversationId,\n botId: connectionDetails.botId,\n sessionId: KoreGenerateuuidPipe(),\n chatHistory: hostInstance?.rootService?.connectionDetails?.chatHistory,\n participant : rootServiceInstance?.internalTransferData?.participant || {},\n interimSummary: !!rootServiceInstance?.interimSummary,\n };\n request_resolution_comments['type'] = interim ? 'interim' : 'final';\n if(!interim){\n rootServiceInstance.finalSummaryGenerated = true;\n }\n \n if(summaryClassList?.contains(classConstants.HIDE_ELEMENT)){\n hostInstance.setSummaryPopup({initPopup : true});\n }\n request_resolution_comments['model'] = rootServiceInstance.aaSettings?.summarization['localeData'][connectionDetails.interactiveLanguage || 'en']?.model;\n hostInstance.socketConnection.emitEvents(EVENTS.request_resolution_comments, request_resolution_comments);\n if(!interim){\n request_resolution_comments['crId'] = 'custom';\n request_resolution_comments['cTPositionId'] = rootServiceInstance.currentCustomTabAutomationId;\n hostInstance.socketConnection.emitEvents(EVENTS.end_of_conversation, request_resolution_comments);\n }\n disableOrEnableSummaryRefreshButton(false);\n }\n }\n\n return (\n <Fragment>\n {showWidget && (\n <ErrorBoundary hostInstance={hostInstance}>\n <div className={chatContainerClass} aria-label='agent-window-section'>\n <section className=\"section-agent-aa-wrapper\">\n <header className=\"aa-header\"></header>\n <section className=\"body-container-aa\">\n {/* <div className={assistTabActive ? 'animate-compo-slide-up-wrapper' : 'aa-hidden'}>\n <Assist hostInstance={hostInstance} />\n </div>\n <div className={searchTabActive ? 'animate-compo-slide-up-wrapper' : 'aa-hidden'}>\n <Search hostInstance={hostInstance} />\n </div>\n {<div className={transcriptTabActive ? 'animate-compo-slide-up-wrapper' : 'aa-hidden'}>\n <Transcript hostInstance={hostInstance} />\n </div>}\n <div className={mybotTabActive ? 'animate-compo-slide-up-wrapper' : 'aa-hidden'}>\n <MyBot hostInstance={hostInstance} />\n </div>\n {rootServiceInstance?.aaSettings?.isAgentPlaybookEnabled && (<div className={playbookTabActive ? 'animate-compo-slide-up-wrapper' : 'aa-hidden'}>\n <Playbook hostInstance={hostInstance} />\n </div>)} */}\n {tabsNTitles.map((tab: any) => {\n if (!tab.isEnabled) return null;\n if (tab.type === 'cl' && !rootServiceInstance?.aaSettings?.isAgentPlaybookEnabled) return null;\n if (tab.type === 'cst' && !rootServiceInstance?.customTabPrefsObj?.customTabEnabled){ \n return null;\n }\n \n const TabComponent = tabComponents[tab.type];\n const isActive = tabActiveStates[tab.type];\n\n return TabComponent ? (\n <div key={tab.type} className={isActive ? 'animate-compo-slide-up-wrapper' : 'aa-hidden'}>\n <TabComponent hostInstance={hostInstance} />\n </div>\n ) : null;\n })}\n </section>\n <footer className=\"aa-footer\">\n </footer>\n {rootServiceInstance?.aaSettings?.isAgentCoachingEnabled && (<div className=\"nudges-wrapper-fixed aa-nudges-wrapper-fixed\">\n <div className=\"nudges-template-data aa-nudges-template-data\">\n </div>\n </div>)}\n\n {rootServiceInstance?.aaSettings?.isAgentCoachingEnabled && (<div className=\"hints-wrapper-fixed aa-hints-wrapper-fixed\">\n <div className=\"hints-template-data aa-hints-template-data\">\n </div>\n </div>)}\n\n </section>\n {/* AgenticCoPilot renders in parallel and listens to events independently */}\n <div className='p-none visibility-hidden agentic-co-pilot-wrapper'>\n <AgenticCoPilot hostInstance={hostInstance} />\n </div>\n {/* interputions error Code */}\n </div>\n \n </ErrorBoundary>\n )}\n {!showWidget && (\n <div className={chatContainerClass} aria-label='agent-window-section'>\n <section className=\"section-agent-aa-wrapper\">\n <div class=\"widgets-disabled-card-wrapper\">\n <div class=\"widgets-info-disabled-content\">\n <div class=\"icon_block\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path d=\"M8 6.00015V8.66682M8 11.3335H8.00667M7.07688 2.59464L1.59362 12.0657C1.28948 12.591 1.13742 12.8537 1.15989 13.0693C1.1795 13.2573 1.27801 13.4282 1.43091 13.5394C1.60622 13.6668 1.90973 13.6668 2.51674 13.6668H13.4833C14.0903 13.6668 14.3938 13.6668 14.5691 13.5394C14.722 13.4282 14.8205 13.2573 14.8401 13.0693C14.8626 12.8537 14.7105 12.591 14.4064 12.0657L8.92312 2.59463C8.62007 2.07119 8.46855 1.80947 8.27087 1.72157C8.09843 1.64489 7.90157 1.64489 7.72913 1.72157C7.53145 1.80947 7.37992 2.07119 7.07688 2.59464Z\" stroke=\"#F79009\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </div>\n <div class=\"content-info-widget\">\n <h1>{languageData?.WIDGET_DISABLED}</h1>\n <p>{languageData?.AI_SETTINGS_DISABLED}</p>\n </div>\n </div>\n </div>\n </section>\n </div>\n )}\n \n </Fragment>\n );\n}\n","import { Fragment, h } from 'preact';\nimport './playbook.scss';\nimport { useEffect, useState } from 'preact/hooks';\nimport { DATA_EVENTS, EVENTS, EVENTS_TO_SDK, INTERNAL_EVENTS, SDK_EVENTS } from '../../../constants/events.cnst';\nimport fetchInstance from '../../../utils/interceptor';\nimport { getHTML } from '../../base/domManager';\nimport { ClassMapConstanst, IdMapConstant, PlaybookColorMap, ProjConstants } from '../../../constants/projConsts';\nimport { ERROR_CODES } from '../../../constants/errorcodes';\n\nexport function RenderEachStageItem(props: any) {\n return (\n <div>\n {props?.msgData?.stageList?.map((stage: any, stInx: any) => {\n let stageCompleted = (stage?.steps || []).every((item : any) => item.complete);\n const stageDrpClass = ['aa-dropdown-item', `aa-stage-drp-${stInx}`];\n if(stage.name === 'Close') stageDrpClass.push('aa-close-stage-btn');\n if(stage.name === 'Close' && !stageCompleted) stageDrpClass.push('disabled-msg');\n\n return (\n <button aria-disabled=\"true\" className={`${stageDrpClass.join(' ')}`}>\n <p>{stage.name}</p>\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" className={`aa-selected-stage-${stInx} ${stInx !== props.msgData?.selectedStInx ? 'aa-hidden' : ''}`}>\n <path d=\"M15 4.5L6.75 12.75L3 9\" stroke=\"#2970FF\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n </button>\n )\n })\n }\n </div>\n )\n}\n\nexport function RenderEachPrimaryChecklistItem(props: any) {\n const languageData = props?.hostInstance?.languagedata\n return (\n <div>\n {props?.msgData?.allChecklists?.map((cl: any, clInx: any) => {\n return (\n <Fragment>\n {clInx == 0 && <div className=\"heading-text-scripts aa-primary-scripts\">{languageData?.PRIMARY_SCRIPTS}</div>}\n {cl.type === 'primary' && <button aria-disabled=\"true\" className={`aa-dropdown-item aa-primary-cl-${clInx}`}>\n <p>{cl.name}</p>\n <button className={`primaryBtn aa-hidden aa-cl-resume-${clInx}`}>{languageData?.RESUME}</button>\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" className={`aa-cl-check-${clInx} aa-cl-item aa-hidden`}>\n <path d=\"M15 4.5L6.75 12.75L3 9\" stroke=\"#2970FF\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n </button>}\n </Fragment>\n )\n })}\n </div>\n )\n}\n\nexport function RenderEachDynamicChecklistItem(props: any) {\n const languageData = props?.hostInstance?.languagedata\n return (\n <div>\n {props?.msgData?.allChecklists?.map((cl: any, clInx: any) => {\n return (\n <Fragment>\n {clInx == 0 && <div className=\"heading-text-scripts aa-dynamic-scripts\">{languageData?.DYNAMIC_SCRIPTS}</div>}\n {cl.type === 'dynamic' && <button aria-disabled=\"true\" className={`aa-dropdown-item aa-dynamic-cl-${clInx}`}>\n <p>{cl.name}</p>\n <button className={`primaryBtn aa-hidden aa-cl-resume-${clInx}`}>{languageData?.RESUME}</button>\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" className={`aa-cl-check-${clInx} aa-cl-item aa-hidden`}>\n <path d=\"M15 4.5L6.75 12.75L3 9\" stroke=\"#2970FF\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </svg>\n </button>}\n </Fragment>\n )\n })}\n </div>\n )\n}\n\nexport function RenderEachTriggeredChecklist(props: any) {\n return (\n <button aria-disabled=\"true\" className={`aa-dropdown-item aa-trigger-checklist-btn-${props?.msgData?.checklist?._id}`}>\n <p className=\"aa-trigger-checklist-name\">{props?.msgData?.checklist?.name}</p>\n <span className=\"aa-trigger-checklist-stepcount\">{props?.msgData?.checklist?.stages?.length} {props?.hostInstance?.languagedata?.STEP}</span>\n </button>\n )\n}\n\nexport function RenderEmptyPlaybookScreen(props: any) {\n return (\n <div className=\"empty-listing-triggers aa-checklist-empty\">\n <h1 className=\"aa-text-sm medium\">{props?.hostInstance?.languagedata?.NO_ACTIVE_PLAYBOOK}</h1>\n </div>\n )\n}\n\nexport function RenderEmptyPlaybookMsg(props: any) {\n const languageData = props?.hostInstance?.languagedata\n return (\n <div className=\"empty-listing-triggers aa-checklist-empty\">\n <h1 className=\"aa-text-sm medium\">{languageData?.PLAYBOOK_EMPTY_MSG}</h1>\n <p className=\"aa-desc-xs center\">{languageData?.PLAYBOOK_EMPTY_DESC}</p>\n </div>\n )\n}\n\nexport function RenderPlaybookHeader(props: any) {\n const languageData = props?.hostInstance?.languagedata\n return (\n <div className=\"playbook-header-data aa-playbook-header\">\n <div className=\"left-sec-data\">\n <div className=\"aa-dropdown aa-triggerList-drp-wrapper aa-hidden\">\n <button type=\"button\" id=\"playbookDrpTriggerChecklist\" className=\"aa-dropdown-toggle playbook-suggestion aa-trigger-checklist-count-btn\">\n <sub className=\"aa-triggerDynChecklist-bulb-count\"></sub>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\n <path d=\"M13.0496 4.64998C13.0496 4.07008 12.5795 3.59998 11.9996 3.59998C11.4197 3.59998 10.9496 4.07008 10.9496 4.64998V5.69998C10.9496 6.27987 11.4197 6.74998 11.9996 6.74998C12.5795 6.74998 13.0496 6.27987 13.0496 5.69998V4.64998Z\" fill=\"#2B75E4\" />\n <path d=\"M17.9393 7.54515C18.3493 7.1351 18.3493 6.47027 17.9393 6.06022C17.5292 5.65017 16.8644 5.65017 16.4543 6.06022L15.7119 6.80269C15.3018 7.21274 15.3018 7.87756 15.7119 8.28761C16.1219 8.69766 16.7868 8.69766 17.1968 8.28761L17.9393 7.54515Z\" fill=\"#2B75E4\" />\n <path d=\"M20.3996 12C20.3996 12.5799 19.9295 13.05 19.3496 13.05H18.2996C17.7197 13.05 17.2496 12.5799 17.2496 12C17.2496 11.4201 17.7197 10.95 18.2996 10.95H19.3496C19.9295 10.95 20.3996 11.4201 20.3996 12Z\" fill=\"#2B75E4\" />\n <path d=\"M6.80231 8.28763C7.21236 8.69768 7.87718 8.69768 8.28723 8.28763C8.69728 7.87758 8.69728 7.21275 8.28723 6.8027L7.54477 6.06024C7.13472 5.65019 6.4699 5.65019 6.05984 6.06024C5.64979 6.47029 5.64979 7.13512 6.05984 7.54517L6.80231 8.28763Z\" fill=\"#2B75E4\" />\n <path d=\"M6.74961 12C6.74961 12.5799 6.27951 13.05 5.69961 13.05H4.64961C4.06971 13.05 3.59961 12.5799 3.59961 12C3.59961 11.4201 4.06971 10.95 4.64961 10.95H5.69961C6.27951 10.95 6.74961 11.4201 6.74961 12Z\" fill=\"#2B75E4\" />\n <path d=\"M9.89961 18.3V17.25H14.0996V18.3C14.0996 19.4598 13.1594 20.4 11.9996 20.4C10.8398 20.4 9.89961 19.4598 9.89961 18.3Z\" fill=\"#2B75E4\" />\n <path d=\"M14.1005 16.2C14.1159 15.8426 14.3176 15.5214 14.6003 15.2982C15.5744 14.529 16.1996 13.3375 16.1996 12C16.1996 9.68038 14.3192 7.79998 11.9996 7.79998C9.68001 7.79998 7.79961 9.68038 7.79961 12C7.79961 13.3375 8.42483 14.529 9.39896 15.2982C9.68164 15.5214 9.88335 15.8426 9.89867 16.2H14.1005Z\" fill=\"#2B75E4\" />\n </svg>\n </button>\n <div className=\"playbook-dropdown-content aa-dropdown-content aa-trigger-checklist-drp\" aria-labelledby=\"playbookDrpTriggerChecklist\">\n <div className=\"heading-text-scripts\">{languageData?.RECOMENDED_PLAYBOOK}</div>\n\n </div>\n </div>\n <div className=\"dropdowns-text-info\">\n <div className=\"aa-dropdown aa-checklist-drp-wrapper aa-hidden\">\n <button type=\"button\" id=\"playbookDrpListBtn\" className=\"aa-dropdown-toggle\">\n <span className=\"aa-selected-checklist\"></span>\n <svg className=\"arrow-icon aa-selected-checklist-arrow\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M3.52876 5.52858C3.78911 5.26823 4.21122 5.26823 4.47157 5.52858L8.00016 9.05717L11.5288 5.52858C11.7891 5.26823 12.2112 5.26823 12.4716 5.52858C12.7319 5.78892 12.7319 6.21103 12.4716 6.47138L8.47157 10.4714C8.21122 10.7317 7.78911 10.7317 7.52876 10.4714L3.52876 6.47138C3.26841 6.21103 3.26841 5.78892 3.52876 5.52858Z\" fill=\"#667085\" />\n </svg>\n </button>\n <div className=\"playbook-dropdown-content aa-dropdown-content aa-checklist-drp\" aria-labelledby=\"playbookDrpListBtn\">\n\n </div>\n </div>\n <div className=\"bottom-titles-info aa-stage-drp-wrapper-main aa-hidden\">\n <h6>{languageData?.STAGE} : </h6>\n <div className=\"aa-dropdown aa-stage-drp-wrapper\">\n <button type=\"button\" id=\"playbookStageDrpBtn\" className=\"aa-dropdown-toggle\">\n <span className=\"aa-selected-stage\"></span>\n <svg className=\"arrow-icon aa-selected-stage-arrow\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M3.52876 5.52858C3.78911 5.26823 4.21122 5.26823 4.47157 5.52858L8.00016 9.05717L11.5288 5.52858C11.7891 5.26823 12.2112 5.26823 12.4716 5.52858C12.7319 5.78892 12.7319 6.21103 12.4716 6.47138L8.47157 10.4714C8.21122 10.7317 7.78911 10.7317 7.52876 10.4714L3.52876 6.47138C3.26841 6.21103 3.26841 5.78892 3.52876 5.52858Z\" fill=\"#667085\" />\n </svg>\n </button>\n <div className=\"playbook-dropdown-content aa-dropdown-content aa-stage-drp\" aria-labelledby=\"playbookStageDrpBtn\">\n </div>\n </div>\n </div>\n </div>\n </div>\n <div className=\"actions-checklist-header\">\n <button className=\"solid-action step-complete aa-step-complete-count aa-hidden\" aria-label=\"button\"></button>\n <button className=\"solid-action stop-assist aa-proceedtoclose-btn aa-hidden\" aria-label=\"button\" title={`${languageData?.PROCEED_TO_CLOSE}`}>\n <svg width=\"13\" height=\"12\" viewBox=\"0 0 13 12\" fill=\"none\">\n <g clip-path=\"url(#clip0_9531_17675)\">\n <path d=\"M8.24998 4V2.5L9.74998 1L10.25 2L11.25 2.5L9.74998 4H8.24998ZM8.24998 4L6.24999 5.99997M11.25 6C11.25 8.76142 9.01142 11 6.25 11C3.48858 11 1.25 8.76142 1.25 6C1.25 3.23858 3.48858 1 6.25 1M8.75 6C8.75 7.38071 7.63071 8.5 6.25 8.5C4.86929 8.5 3.75 7.38071 3.75 6C3.75 4.61929 4.86929 3.5 6.25 3.5\" stroke=\"#DC2626\" stroke-width=\"0.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </g>\n <defs>\n <clipPath id=\"clip0_9531_17675\">\n <rect width=\"12\" height=\"12\" fill=\"white\" transform=\"translate(0.25)\" />\n </clipPath>\n </defs>\n </svg>\n </button>\n </div>\n </div>\n )\n}\n\nexport function RenderChecklistBody(props: any) {\n\n const rootServiceInstance = props?.msgData?.hostInstance?.rootService;\n\n const [hideActionButtons, setHideActionButtons] = useState(rootServiceInstance.hideActionButtons);\n const [hideSendButton, setHideSendButton] = useState(rootServiceInstance?.hideSendButton);\n const [hideCopyButton, setHideCopyButton] = useState(rootServiceInstance?.hideCopyButton);\n\n useEffect(() => {\n }, [])\n\n return (\n <div className=\"playbook-steps-repeat-data\">\n {props?.msgData?.stages.map((stage: any, stInx: any) => {\n\n let stageCompleted = (stage?.steps || []).every((item : any) => item.complete);\n\n const stageClass = ['close-playbook-data', `aa-playbook-stage-${stInx}`];\n if (stage.name === 'Close') stageClass.push('aa-close-stage');\n if (!stageCompleted) stageClass.push('aa-hidden');\n \n return (\n <Fragment key={stInx}>\n {stInx != 0 && <div className={`${stageClass.join(' ')}`}>\n <span></span>\n <p>{stage.name}</p>\n <span></span>\n </div>}\n\n {stage?.steps?.map((step: any, stepInx: any) => {\n\n const stepClass = ['playbook-step', `aa-playbook-step-${stInx}-${stepInx} `];\n if (stage.name === 'Close') stepClass.push('aa-close-steps');\n if (step?.ongoing) stepClass.push('playbook-step-ongoing');\n if (stage.name === 'Close' && !stageCompleted) stepClass.push('aa-hidden');\n\n return (\n <button key={stepInx} className={`${stepClass.join(' ')}`} id={`${step._id}`}>\n <div className={`heading-step aa-heading-step ${step?.ongoing ? '' : 'disabled-msg'}`}>\n <h1 className={`aa-step-header-name ${step.complete ? 'strike-text' : ''}`}>{step.name}</h1>\n <button className={`check-btn aa-step-complete-${stInx}-${stepInx} ${step?.ongoing ? '' : 'aa-hidden'}`}>\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 7 6\" fill=\"none\">\n <path d=\"M6.34755 0.999929C6.67364 1.32601 6.67365 1.85471 6.34756 2.1808L4.79202 3.73638L3.23648 5.29196C3.07989 5.44856 2.8675 5.53653 2.64604 5.53653C2.42458 5.53653 2.21219 5.44855 2.0556 5.29196L0.50005 3.73636C0.173967 3.41026 0.173975 2.88157 0.500069 2.55549C0.826161 2.2294 1.35485 2.22941 1.68094 2.55551L2.64605 3.52065L5.16668 0.999945C5.49276 0.673852 6.02146 0.673846 6.34755 0.999929Z\" fill=\"#D4D4D4\" />\n </svg>\n </button>\n </div>\n <div className={`step-text-send-block ${step.ongoing ? '' : 'aa-hidden'}`}>\n <div className={`step-actions-send-copy ${!hideActionButtons ? '' : 'aa-hidden'}`}>\n <button className={`solidbtn aa-step-copy-btn ${!hideCopyButton && step?.isSendCopy ? '' : 'aa-hidden'}`}>\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <g clip-path=\"url(#clip0_9531_13889)\">\n <path d=\"M10.6663 10.6667V12.5333C10.6663 13.2801 10.6663 13.6534 10.521 13.9387C10.3932 14.1895 10.1892 14.3935 9.93833 14.5214C9.65311 14.6667 9.27974 14.6667 8.53301 14.6667H3.46634C2.7196 14.6667 2.34624 14.6667 2.06102 14.5214C1.81014 14.3935 1.60616 14.1895 1.47833 13.9387C1.33301 13.6534 1.33301 13.2801 1.33301 12.5333V7.46668C1.33301 6.71994 1.33301 6.34657 1.47833 6.06136C1.60616 5.81047 1.81014 5.6065 2.06102 5.47867C2.34624 5.33334 2.7196 5.33334 3.46634 5.33334H5.33301M7.46634 10.6667H12.533C13.2797 10.6667 13.6531 10.6667 13.9383 10.5214C14.1892 10.3935 14.3932 10.1895 14.521 9.93866C14.6663 9.65345 14.6663 9.28008 14.6663 8.53334V3.46668C14.6663 2.71994 14.6663 2.34657 14.521 2.06136C14.3932 1.81047 14.1892 1.6065 13.9383 1.47867C13.6531 1.33334 13.2797 1.33334 12.533 1.33334H7.46634C6.7196 1.33334 6.34624 1.33334 6.06102 1.47867C5.81014 1.6065 5.60616 1.81047 5.47833 2.06136C5.33301 2.34657 5.33301 2.71994 5.33301 3.46668V8.53334C5.33301 9.28008 5.33301 9.65345 5.47833 9.93866C5.60616 10.1895 5.81014 10.3935 6.06102 10.5214C6.34624 10.6667 6.7196 10.6667 7.46634 10.6667Z\" stroke=\"#101828\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n </g>\n <defs>\n <clipPath id=\"clip0_9531_13889\">\n <rect width=\"16\" height=\"16\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n </button>\n <button className={`solidbtn aa-step-send-btn ${!hideSendButton && step?.isSendCopy ? '' : 'aa-hidden'}`}>{props?.hostInstance?.languagedata?.SEND}</button>\n </div>\n <p>{step.description}</p>\n <div className={`border-bottom-pad ${step?.confirmButtons?.length > 0 ? '' : 'aa-hidden'}`}>\n <div className=\"bottom-data-info\">\n <h1></h1>\n <div className=\"right-info-data\">\n {step?.confirmButtons?.map((btn: any, btnInx: any) => {\n const buttonStyle = {\n backgroundColor: props?.msgData?.colors[btn.color],\n color: btn.color\n };\n return (\n <button className={`_btn primaryBtn aa-step-confirmation-btn-${btnInx}`} style={buttonStyle}>{btn.title}</button>\n )\n })\n }\n </div>\n </div>\n </div>\n </div>\n </button>\n )\n }\n )}\n </Fragment>\n )\n })}\n </div>\n )\n}\n\nexport function Playbook({ hostInstance }: any) {\n\n const [allCheckListsData, setAllCheckListData] = useState<any>({});\n const [triggeredDynCheckLists, setTriggeredDynCheckLists] = useState<any>([]);\n\n\n let primaryCLList: any[] = [];\n let dynamicCLList: any[] = [];\n let currentStageIndex: number = 0;\n\n const rootServiceInstance = hostInstance.rootService;\n const languageData = hostInstance?.languagedata;\n\n // clicking outside hide dropdown content (checklist, stage).\n const handleDropdownClickEvent = () => {\n window.onclick = function(event : any) { \n if (!event.target.matches('aa-stage-drp-wrapper')) {\n rootServiceInstance.hideDropdownTemplate('aa-stage-drp-wrapper', hostInstance);\n } \n if(!event.target.matches('aa-checklist-drp-wrapper')){\n rootServiceInstance.hideDropdownTemplate('aa-checklist-drp-wrapper', hostInstance);\n }\n if(!event.target.matches('aa-triggerList-drp-wrapper')){\n rootServiceInstance.hideDropdownTemplate('aa-triggerList-drp-wrapper', hostInstance);\n }\n }\n }\n\n useEffect(() => { \n let triggerDropdownWrapperEle = hostInstance?.chatEle?.querySelector(`${ClassMapConstanst.TRIGGER_CHECKLIST_DROPDOWN_WRAPPER}`)\n if(triggeredDynCheckLists?.length > 0){\n triggerDropdownWrapperEle?.classList?.remove(ClassMapConstanst.HIDE_ELEMENT);\n }else {\n triggerDropdownWrapperEle?.classList?.add(ClassMapConstanst.HIDE_ELEMENT);\n }\n updateTriggerChecklistCount(triggeredDynCheckLists);\n }, triggeredDynCheckLists)\n\n useEffect(() => {\n\n\n const handleGetChecklistsData = ((flag : boolean) => {\n if(flag){\n getAllChecklists();\n }\n })\n\n const handleChecklistResponse = (checklistResponse: any) => {\n if (checklistResponse && checklistResponse.checklistsIdentified) {\n (checklistResponse.checklistsIdentified || []).forEach((item: any) => {\n let id = (item.checklistId || item.id || item._id);\n setTriggeredDynCheckLists((prevTriggeredDynChecklists: any) => {\n let inx = prevTriggeredDynChecklists.findIndex((cl: any) => cl._id === id);\n if (inx < 0) {\n if (rootServiceInstance.dynClObjs[id]) {\n addTriggerChecklistItem(rootServiceInstance.dynClObjs[id], prevTriggeredDynChecklists?.length);\n let triggeredDynCheckLists = [...prevTriggeredDynChecklists, (JSON.parse(JSON.stringify(rootServiceInstance.dynClObjs[id])))];\n return triggeredDynCheckLists;\n }\n }\n return prevTriggeredDynChecklists;\n })\n })\n }\n }\n\n const handleChecklistStepResponse = (checklistStepResponse: any) => {\n setAllCheckListData((prevCheckListsData: any) => {\n let clObj = checklistStepResponse?.checklistStepsIdentified;\n (clObj || [])\n .forEach((item: any) => {\n let stage : any = {};\n let step = {};\n let clInx = prevCheckListsData.checklists.findIndex((cl: any) => cl._id === item.id);\n let stInx = (prevCheckListsData.checklists[clInx].stages || []).findIndex((s: any) => {\n if (s._id === item.stageId) {\n stage = s;\n return true;\n }\n });\n let stepInx = (prevCheckListsData.checklists[clInx].stages[stInx].steps || []).findIndex((st: any) => {\n if (st._id === item.stepId) {\n step = st;\n return true;\n }\n });\n if(stage.name === 'Close' && !rootServiceInstance.isProceedToClose){\n let proceedToCloseBtn = hostInstance?.chatEle?.querySelector(`${ClassMapConstanst.PROCEEDTOCLOSE_BTN}`);\n handleCloseStage(false, proceedToCloseBtn);\n }\n stepComplete(prevCheckListsData, stage, step, clInx, stInx, stepInx, false, ProjConstants.COACHING_ENGINE);\n })\n return prevCheckListsData;\n })\n }\n\n hostInstance.on(INTERNAL_EVENTS.GET_CHECKLISTS, handleGetChecklistsData);\n hostInstance.on(DATA_EVENTS.CHECKLIST_RESPONSE, handleChecklistResponse);\n hostInstance.on(DATA_EVENTS.CHECKLIST_STEP_RESPONSE, handleChecklistStepResponse);\n\n handleDropdownClickEvent();\n\n subscribeEvents();\n\n handleGetChecklistsData(true);\n\n return () => {\n hostInstance.off(INTERNAL_EVENTS.GET_CHECKLISTS, handleGetChecklistsData);\n hostInstance.off(DATA_EVENTS.CHECKLIST_RESPONSE, handleChecklistResponse);\n hostInstance.off(DATA_EVENTS.CHECKLIST_STEP_RESPONSE, handleChecklistStepResponse);\n };\n }, []);\n\n const subscribeEvents = () => {\n hostInstance.on(EVENTS_TO_SDK.CHECKLIST_OPEN, (data : any) => {\n emitEvents(EVENTS.checklist_opened, data, SDK_EVENTS.PLAYBOOK_OPENED_EVENT);\n });\n\n hostInstance.on(EVENTS_TO_SDK.CHECLIST_RESUME, (data : any) => {\n emitEvents(EVENTS.checklist_resume, data, SDK_EVENTS.PLAYBOOK_RESUME_EVENT);\n });\n\n hostInstance.on(EVENTS_TO_SDK.CHECKLIST_STEP_CLOSE, (data : any) => {\n emitEvents(EVENTS.checklist_step_closed, data, SDK_EVENTS.PLAYBOOK_STEP_CLOSED_EVENT);\n });\n\n hostInstance.on(EVENTS_TO_SDK.CHECKLIST_PROCEED_TO_CLOSE, (data : any) => {\n emitEvents(EVENTS.checklist_proceed_to_closed, data, SDK_EVENTS.PLAYBOOK_PROCEED_TO_CLOSE_EVENT);\n });\n }\n\n const emitEvents = (eventName : string, checklistParams : any, sdkEventName : string) => {\n hostInstance.socketConnection.emitEvents(eventName, checklistParams);\n hostInstance.emit(sdkEventName, checklistParams);\n }\n\n const getChecklistData = () => {\n const { botId } = rootServiceInstance.connectionDetails\n return fetchInstance('get_checklist', {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n }, hostInstance, { botId, cId: rootServiceInstance?.connectionDetails?.conversationId, pId: rootServiceInstance?.internalTransferData?.participant?.identity });\n }\n\n const getAllChecklists = () => {\n getChecklistData()\n .then((data) => {\n\n let channel = rootServiceInstance.connectionDetails.channel;\n data.checklists = data?.checklists?.filter((cL: any) => cL?.channels?.includes(channel));\n\n if (data?.checklists?.length > 0) { \n\n checkAndPrepareCheckListData(data); \n\n dynamicCLList = data.checklists.filter((check: any) => check.type === \"dynamic\");\n primaryCLList = data.checklists.filter((check: any) => check.type === \"primary\");\n\n setAllCheckListData(data);\n\n prepareCheckListHeader(data, primaryCLList, dynamicCLList);\n\n rootServiceInstance.dynClObjs = (dynamicCLList || [])\n .reduce((acc: any, item: any) => {\n acc[item._id] = item;\n return acc;\n }, {});\n\n rootServiceInstance.currCl = data?.currentState?.playbookId;\n rootServiceInstance.currSt = data?.currentState?.stageId;\n\n if(data?.currentState?.playbookId && data?.currentState?.stageId){\n rootServiceInstance.isPlaybookHistory = true;\n renderPlaybookHistory(data?.currentState?.playbookId, data?.currentState?.stageId, data);\n return;\n }\n\n sendOpenCheckListEvent(primaryCLList, dynamicCLList);\n }else{\n let bodyTemplate = hostInstance?.chatEle?.querySelector(`#${IdMapConstant.CHECKLIST_BODY_TEMPLATE}`);\n let emptyPlaybookScreen = getHTML(RenderEmptyPlaybookScreen, { hostInstance: hostInstance }, hostInstance);\n if (bodyTemplate) {\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, emptyPlaybookScreen, { event: SDK_EVENTS.PLAYBOOK_EMPTY_SCREEN, data : {}});\n bodyTemplate.append(emptyPlaybookScreen);\n }\n }\n }\n )\n .catch((err: any) => {\n hostInstance.emit(SDK_EVENTS.ON_ERROR, ERROR_CODES['ERR_CHECKLIST_API_FAILURE']);\n });\n }\n\n const checkAndPrepareCheckListData = (data: any) => {\n data.checklists.forEach((cL:any)=>{\n cL?.stages?.forEach((sL:any)=>{\n sL?.steps?.forEach((step:any)=>{\n if(step?.isAdhered){\n step.complete = true;\n cL.openedChecklist = true;\n sL.stageOpened = true;\n }\n })\n })\n })\n }\n\n // empty msg if primary checklist not present.\n const checkAndHideEmptyMsg = () => {\n let checkListEmptyEle = hostInstance?.chatEle?.querySelector(`${ClassMapConstanst.CHECKLIST_EMPTY}`);\n if (!checkListEmptyEle?.classList?.contains(ClassMapConstanst.HIDE_ELEMENT)) {\n checkListEmptyEle?.classList?.add(ClassMapConstanst.HIDE_ELEMENT);\n }\n }\n\n const renderPlaybookHistory = (currCl: any, currSt: any, data: any) => {\n if(currCl && currSt){\n let channel = rootServiceInstance.connectionDetails.channel;\n let checkList = data.checklists.find((cl: any) => cl._id === currCl);\n const checkListIndex = data.checklists.findIndex((cl: any) => cl._id === currCl);\n currentStageIndex = checkList?.stages?.findIndex((st: any) => st?._id === currSt);\n if (checkList?.channels?.includes(channel) && checkList?.type === 'primary') {\n\n sendOpenCheckListEvent(primaryCLList, dynamicCLList, currentStageIndex, 'primary');\n\n }else if(checkList?.channels?.includes(channel) && checkList?.type === 'dynamic'){\n\n setAllCheckListData((prevCheckListsData: any) => {\n if(checkListIndex >= 0){\n rootServiceInstance.selCLInx = checkListIndex;\n selectDynCl(prevCheckListsData, checkList, checkListIndex); \n }\n return prevCheckListsData;\n });\n\n }\n rootServiceInstance.isPlaybookHistory = false;\n }\n }\n\n // preparing header template of playbook.\n const prepareCheckListHeader = (prevCheckListsData: any, primaryChecklist: any, dynamicChecklist: any) => {\n let checklistHeaderEle: any = getHTML(RenderPlaybookHeader, { hostInstance: hostInstance, checklistData: prevCheckListsData }, hostInstance);\n\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, checklistHeaderEle, { event: SDK_EVENTS.PLAYBOOK_HEADER_TEMPLATE, data : {checklists : prevCheckListsData.checklists}});\n\n hostInstance?.chatEle?.querySelector(`#${IdMapConstant.CHECKLIST_MAIN_TEMPLATE}`).prepend(checklistHeaderEle);\n\n let checklistDropdownWrapperEle = checklistHeaderEle?.querySelector(`${ClassMapConstanst.CHECKLIST_DROPDOWN_WRAPPER}`);\n let stageDropdwonWrapperEle = checklistHeaderEle?.querySelector(`${ClassMapConstanst.STAGE_DRP_WRAPPER}`);\n let triggerDropdownWrapperEle = checklistHeaderEle?.querySelector(`${ClassMapConstanst.TRIGGER_CHECKLIST_DROPDOWN_WRAPPER}`);\n\n if (primaryChecklist?.length > 0) {\n let primaryChecklistDropdownEle: any = getHTML(RenderEachPrimaryChecklistItem, { hostInstance: hostInstance, primaryChecklists: primaryChecklist, allChecklists: prevCheckListsData.checklists }, hostInstance);\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, primaryChecklistDropdownEle, { event: SDK_EVENTS.PLAYBOOK_PRIMARYLIST_TEMPLATE, data : {checklists : prevCheckListsData.checklists, primaryChecklist}});\n checklistHeaderEle?.querySelector(`${ClassMapConstanst.CHECKLIST_DROPDOWN}`).append(primaryChecklistDropdownEle);\n }\n\n if (dynamicChecklist?.length > 0) {\n let dynamicChecklistDropdownEle: any = getHTML(RenderEachDynamicChecklistItem, { hostInstance: hostInstance, dynamicChecklists: dynamicChecklist, allChecklists: prevCheckListsData.checklists }, hostInstance);\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, dynamicChecklistDropdownEle, { event: SDK_EVENTS.PLAYBOOK_DYNAMICLIST_TEMPLATE, data : {checklists : prevCheckListsData.checklists, dynamicChecklist}});\n checklistHeaderEle?.querySelector(`${ClassMapConstanst.CHECKLIST_DROPDOWN}`).append(dynamicChecklistDropdownEle);\n }\n\n if (primaryChecklist?.length || dynamicChecklist?.length) {\n checklistDropdownWrapperEle?.classList?.remove(ClassMapConstanst.HIDE_ELEMENT);\n prevCheckListsData?.checklists.map((cl: any, clInx: number) => {\n let clsName = cl.type === 'primary' ? ClassMapConstanst.PRIMARY_CHECKLIST_BTN : ClassMapConstanst.DYNAMIC_CHECKLIST_BTN;\n hostInstance.eventManager?.addEventListener(`${clsName}${clInx}`, 'click', () => {\n checklistDropdownWrapperEle?.classList?.remove('show');\n handleChecklistClickEvent(prevCheckListsData, cl);\n }, checklistHeaderEle);\n })\n }\n\n hostInstance.eventManager?.addEventListener(ClassMapConstanst.SELECTED_CHECKLIST_ARROW, 'click', () => {\n event?.stopPropagation();\n checklistDropdownWrapperEle?.classList?.toggle('show');\n }, checklistDropdownWrapperEle);\n\n hostInstance.eventManager?.addEventListener(ClassMapConstanst.SELECTED_STAGE_ARROW, 'click', () => {\n event?.stopPropagation();\n stageDropdwonWrapperEle?.classList?.toggle('show');\n }, stageDropdwonWrapperEle);\n\n hostInstance.eventManager?.addEventListener(ClassMapConstanst.TRIGGER_CHECKLIST_COUNT_BTN, 'click', () => {\n event?.stopPropagation();\n triggerDropdownWrapperEle?.classList?.toggle('show');\n }, checklistHeaderEle)\n }\n\n // open primary checklist bydefault if present.\n const sendOpenCheckListEvent = (primaryClList: any, dynamicClist: any, sTIndex: number = 0, checklistType: string = 'primary') => {\n let checkListHeaderEle: any = hostInstance?.chatEle?.querySelector(`${ClassMapConstanst.CHECKLIST_HEADER}`);\n if (primaryClList?.length > 0) {\n\n let channel = rootServiceInstance.connectionDetails.channel;\n\n if (primaryClList[0]?.channels?.includes(channel)) {\n rootServiceInstance.proceedToClose = true;\n if(!sTIndex){\n getCheckListIndex(primaryCLList[0]);\n handleProceedToCloseBtn(checkListHeaderEle, true, true);\n }else{\n getCheckListIndex(primaryClList[0], sTIndex);\n }\n }\n\n } else if (dynamicClist?.length > 0) {\n\n let bodyTemplate = hostInstance?.chatEle?.querySelector(`#${IdMapConstant.CHECKLIST_BODY_TEMPLATE}`);\n let checklistEmptyMsgEle = getHTML(RenderEmptyPlaybookMsg, { hostInstance: hostInstance }, hostInstance);\n if (bodyTemplate) {\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, checklistEmptyMsgEle, { event: SDK_EVENTS.PLAYBOOK_EMPTY_TEMPLATE, data : {primaryClList, dynamicClist}});\n bodyTemplate.append(checklistEmptyMsgEle);\n }\n updateChecklistName(checkListHeaderEle, `${languageData?.PLAYBOOK_EMPTY_MSG}`, -1);\n }\n }\n\n const proceedToCloseButtonClick = (sendEvent = false) => {\n let obj = {\n stageId: '',\n id: ''\n };\n setAllCheckListData((prevCheckListsData: any) => {\n prevCheckListsData.checklists.forEach((item: any, index: number) => {\n if (item.type === 'primary') {\n updateResumeBtnStatus(prevCheckListsData.checklists, index);\n obj['stageId'] = item.stages[1]._id;\n obj['id'] = item._id;\n rootServiceInstance.selCLInx = index;\n rootServiceInstance.selStInx = 1;\n rootServiceInstance.isProceedToClose = true;\n rootServiceInstance.selectNextStep(prevCheckListsData, index, 1, hostInstance);\n let checkListHeaderEle: any = hostInstance?.chatEle?.querySelector(`${ClassMapConstanst.CHECKLIST_HEADER}`);\n updateChecklistName(checkListHeaderEle, item.name, index);\n prepareAndUpdateStageDropdown(checkListHeaderEle, item?.stages, 1);\n updateChecklistBodyTemplate(prevCheckListsData, rootServiceInstance.selCLInx);\n updateStepNumberInfo();\n }\n });\n if(sendEvent){\n let checklistParams: any = rootServiceInstance.prepareChecklistPayload(EVENTS.checklist_proceed_to_closed, prevCheckListsData, obj);\n emitEvents(EVENTS.checklist_proceed_to_closed, checklistParams, SDK_EVENTS.PLAYBOOK_PROCEED_TO_CLOSE_EVENT);\n }\n return prevCheckListsData\n });\n }\n\n const handleProceedToCloseBtn = (checklistHeaderEle: any, show: boolean, clickEvent: boolean, stType: string = '') => {\n let proceedToClostBtn = checklistHeaderEle?.querySelector(`${ClassMapConstanst.PROCEEDTOCLOSE_BTN}`);\n if (show) {\n proceedToClostBtn?.classList.remove(ClassMapConstanst.HIDE_ELEMENT);\n } else {\n proceedToClostBtn?.classList.add(ClassMapConstanst.HIDE_ELEMENT);\n }\n if (clickEvent) {\n hostInstance.eventManager?.addEventListener(ClassMapConstanst.PROCEEDTOCLOSE_BTN, 'click', (e: any) => {\n handleCloseStage(true, proceedToClostBtn);\n }, checklistHeaderEle)\n }\n\n if(stType === 'Close'){\n handleCloseStage(true, proceedToClostBtn);\n }\n }\n\n const handleCloseStage = (flag : boolean, proceedToClostBtn : any) =>{\n proceedToCloseButtonClick(flag);\n proceedToClostBtn.classList.add(ClassMapConstanst.HIDE_ELEMENT);\n hostInstance?.chatEle?.querySelector(ClassMapConstanst.CHECKLIST_CLOSE_STAGE)?.classList?.remove(ClassMapConstanst.HIDE_ELEMENT);\n hostInstance?.chatEle?.querySelectorAll(ClassMapConstanst.CHECKLIST_CLOSE_STEPS)?.forEach((el: any) => el?.classList?.remove(ClassMapConstanst.HIDE_ELEMENT));\n }\n // end of proceed to close btn logic\n\n //checklist related logic (resume and update checklist);\n const getCheckListIndex = (clT: any, sTIndex: number = 0, flag: boolean = false) => {\n setAllCheckListData((prevCheckListsData: any) => {\n let index = prevCheckListsData?.checklists?.findIndex((obj: any) => obj._id == clT._id);\n if (index >= 0) {\n updateCheckList(prevCheckListsData, index, sTIndex, flag);\n\n if(!sTIndex){\n updateChecklistBodyTemplate(prevCheckListsData, index)\n }\n\n if (!prevCheckListsData.checklists[index].openedChecklist && !rootServiceInstance.isPlaybookHistory) {\n prevCheckListsData.checklists[index].openedChecklist = true;\n const stageId = prevCheckListsData?.checklists[index]?.stages[rootServiceInstance.selStInx]?._id || '';\n let checklistParams: any = rootServiceInstance.prepareChecklistPayload(EVENTS.checklist_opened, prevCheckListsData, { \"id\": clT._id }, false, stageId);\n emitEvents(EVENTS.checklist_opened, checklistParams, SDK_EVENTS.PLAYBOOK_OPENED_EVENT);\n }\n updateStepNumberInfo();\n }\n return prevCheckListsData;\n });\n }\n\n const updateCheckList = (prevCheckListsData: any, clInx: number, sTIndex: number = 0, flag: boolean = false) => {\n let checklists = prevCheckListsData.checklists;\n \n let selStInx = checklists[clInx]?.stages?.length ? sTIndex : -1;\n\n rootServiceInstance.selCLInx = clInx;\n rootServiceInstance.selStInx = selStInx;\n\n if (checklists[clInx]?.stages[selStInx]?.steps[0] && !rootServiceInstance?.isPlaybookHistory) {\n checklists[clInx].stages[selStInx].steps[0].ongoing = true;\n rootServiceInstance.selSpInx = 0;\n let stepId = checklists[clInx].stages[selStInx].steps[0]._id;\n rootServiceInstance.scrollView(stepId, hostInstance);\n }\n \n if(rootServiceInstance?.currSt && (rootServiceInstance?.isPlaybookHistory || flag)){\n if(selStInx === 1){\n handleProceedToCloseBtn(hostInstance?.chatEle?.querySelector(`${ClassMapConstanst.CHECKLIST_HEADER}`), false, false, 'Close');\n }\n updateStepNumberInfo();\n rootServiceInstance.selectNextStage(prevCheckListsData, clInx, selStInx, hostInstance);\n rootServiceInstance.checkAllStagesCompleted(prevCheckListsData, checklists[clInx]._id, hostInstance)\n }\n\n\n let checkListHeaderEle: any = hostInstance?.chatEle?.querySelector(`${ClassMapConstanst.CHECKLIST_HEADER}`);\n updateChecklistName(checkListHeaderEle, checklists[clInx].name, clInx);\n prepareAndUpdateStageDropdown(checkListHeaderEle, checklists[clInx]?.stages, selStInx);\n }\n\n const updateChecklistName = (checkListHeaderEle: any, name: string, clInx: number) => {\n let selectedChecklistSpan = checkListHeaderEle?.querySelector(`${ClassMapConstanst.SELECTED_CHECKLIST}`);\n if (selectedChecklistSpan) {\n selectedChecklistSpan.innerText = name;\n }\n checkListHeaderEle?.querySelector(`${ClassMapConstanst.CHECKLIST_ITEM_CHECK}${clInx}`)?.classList?.remove(ClassMapConstanst.HIDE_ELEMENT);\n }\n\n const updateChecklistBodyTemplate = (prevCheckListsData: any, index: number) => {\n let bodyTemplate = hostInstance?.chatEle?.querySelector(`#${IdMapConstant.CHECKLIST_STEP_TEMPLATE}`);\n let checklistBodyEle = getHTML(RenderChecklistBody, { hostInstance: hostInstance, stages: prevCheckListsData.checklists[index]?.stages, colors: PlaybookColorMap }, hostInstance);\n if (bodyTemplate) {\n bodyTemplate.innerHTML = '';\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, checklistBodyEle, { event: SDK_EVENTS.PLAYBOOK_BODY_TEMPLATE, data : {stages: prevCheckListsData.checklists[index]?.stages, colors: PlaybookColorMap}});\n bodyTemplate.append(checklistBodyEle);\n }\n if (checklistBodyEle) {\n handleStepClickEvents(checklistBodyEle, prevCheckListsData, index);\n }\n }\n\n const handleChecklistClickEvent = (prevCheckListsData: any, clT: any) => {\n let index = prevCheckListsData.checklists.findIndex((obj: any) => obj._id == clT._id);\n if (prevCheckListsData.checklists[index]) {\n resumeAndUpdateCheckList(index);\n }\n }\n\n const resumeAndUpdateCheckList = (i: number) => {\n setAllCheckListData((prevCheckListsData: any) => {\n let checklists = prevCheckListsData.checklists;\n\n if(checklists[i]?.openedChecklist && checklists[i]?.name === checklists[rootServiceInstance.selCLInx].name && rootServiceInstance.isPlaybookHistory){\n getCheckListIndex(checklists[i]);\n }\n\n updateResumeBtnStatus(checklists, i);\n if (!checklists[i].openedChecklist) {\n getCheckListIndex(checklists[i])\n } else if (checklists[i].name != checklists[rootServiceInstance.selCLInx].name) {\n\n if(checklists[i]?.type === 'primary'){\n const isCloseStageOpened = checklists[i]?.stages[1]?.stageOpened;\n if(!isCloseStageOpened){\n handleProceedToCloseBtn(hostInstance?.chatEle?.querySelector(`${ClassMapConstanst.CHECKLIST_HEADER}`), true, true)\n }\n getCheckListIndex(checklists[i], isCloseStageOpened ? 1 : 0, true);\n checkListResume(prevCheckListsData, i, isCloseStageOpened ? 1 : 0, isCloseStageOpened);\n rootServiceInstance.selectNextStage(prevCheckListsData, i, isCloseStageOpened ? 1 : 0, hostInstance);\n updateStepNumberInfo();\n checkAndHideEmptyMsg();\n return prevCheckListsData;\n }\n\n rootServiceInstance.selCLInx = i;\n rootServiceInstance.selStInx = 0;\n checkListResume(prevCheckListsData, i, 0);\n rootServiceInstance.selectNextStage(prevCheckListsData, i, 0, hostInstance);\n updateStepNumberInfo();\n }\n checkAndHideEmptyMsg();\n return prevCheckListsData;\n })\n }\n\n const updateResumeBtnStatus = (checklists: any, currentClIndex: number) => {\n let prevCLIndex = rootServiceInstance.selCLInx;\n if (currentClIndex != prevCLIndex && !checklists[prevCLIndex]?.completed && checklists[prevCLIndex]?.openedChecklist) {\n hostInstance?.chatEle?.querySelector(`${ClassMapConstanst.CHECKLIST_EACH_RESUME}${prevCLIndex}`)?.classList.remove(ClassMapConstanst.HIDE_ELEMENT);\n hostInstance?.chatEle?.querySelector(`${ClassMapConstanst.CHECKLIST_ITEM_CHECK}${prevCLIndex}`)?.classList.add(ClassMapConstanst.HIDE_ELEMENT);\n } else if(currentClIndex != prevCLIndex && checklists[prevCLIndex]?.completed){\n hostInstance?.chatEle?.querySelector(`${ClassMapConstanst.CHECKLIST_ITEM_CHECK}${prevCLIndex}`)?.classList.add(ClassMapConstanst.HIDE_ELEMENT);\n }\n let currentResumeBtn = hostInstance?.chatEle?.querySelector(`${ClassMapConstanst.CHECKLIST_EACH_RESUME}${currentClIndex}`);\n if (!currentResumeBtn?.classList?.contains(ClassMapConstanst.HIDE_ELEMENT)) {\n currentResumeBtn?.classList?.add(ClassMapConstanst.HIDE_ELEMENT);\n }\n }\n\n const checkListResume = (prevCheckListsData: any, i: any, stInx: number, flag: boolean = false) => {\n rootServiceInstance.isProceedToClose = flag;\n if(!flag){\n let checkListHeaderEle: any = hostInstance?.chatEle?.querySelector(`${ClassMapConstanst.CHECKLIST_HEADER}`);\n updateChecklistName(checkListHeaderEle, prevCheckListsData.checklists[i].name, i);\n prepareAndUpdateStageDropdown(checkListHeaderEle, prevCheckListsData.checklists[i]?.stages, stInx);\n updateChecklistBodyTemplate(prevCheckListsData, i);\n rootServiceInstance.showProceedToCloseBtn(hostInstance);\n }\n \n let cl = prevCheckListsData.checklists[i];\n const stageId = prevCheckListsData?.checklists[i]?.stages[stInx]?._id || '';\n let checklistParams: any = rootServiceInstance.prepareChecklistPayload(EVENTS.checklist_resume, prevCheckListsData, { \"id\": cl._id }, false, stageId);\n emitEvents(EVENTS.checklist_resume, checklistParams, SDK_EVENTS.PLAYBOOK_RESUME_EVENT);\n }\n // end of checklist logic\n\n\n // stage related logic (stage selection)\n const prepareAndUpdateStageDropdown = (checkListHeaderEle: any, stageList: any, stageInx: number) => {\n let stageName = stageList[stageInx].name;\n let stageDropdownWrapper = checkListHeaderEle?.querySelector(`${ClassMapConstanst.STAGE_DRP_WRAPPER_MAIN}`);\n let selectedStageSpan = checkListHeaderEle?.querySelector(`${ClassMapConstanst.SELECTED_STAGE}`);\n let stageDropdown = checkListHeaderEle?.querySelector(`${ClassMapConstanst.STAGE_DROPDOWN}`);\n stageDropdownWrapper?.classList?.remove(ClassMapConstanst.HIDE_ELEMENT);\n if (selectedStageSpan) { \n selectedStageSpan.innerText = stageName;\n }\n let stageDropdownEle: any = getHTML(RenderEachStageItem, { hostInstance: hostInstance, stageList: stageList, selectedStInx: stageInx, isProceedToClose: rootServiceInstance.isProceedToClose }, hostInstance);\n if (stageDropdownEle) {\n stageDropdown.innerHTML = '';\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, stageDropdownEle, { event: SDK_EVENTS.PLAYBOOK_STAGE_DROPDOWN_TEMPLATE, data : {stageList: stageList, selectedStInx: stageInx, isProceedToClose: rootServiceInstance.isProceedToClose}});\n stageDropdown.append(stageDropdownEle);\n }\n let stageDropdownIcon = checkListHeaderEle?.querySelector(`${ClassMapConstanst.SELECTED_STAGE_ARROW}`);\n if (stageDropdownIcon) {\n stageList?.length <= 1 ? stageDropdownIcon.classList.add(ClassMapConstanst.HIDE_ELEMENT) : stageDropdownIcon.classList.remove(ClassMapConstanst.HIDE_ELEMENT)\n }\n\n if (rootServiceInstance.isProceedToClose) {\n stageDropdownEle?.querySelector(`${ClassMapConstanst.CHECKLIST_CLOSE_STAGE_BTN}`)?.classList?.remove(ClassMapConstanst.CHECKLIST_DISABLE_MSG);\n }\n\n stageList?.map((stage: any, stInx: number) => {\n hostInstance.eventManager?.addEventListener(`${ClassMapConstanst.CHECKLIST_EACH_STAGE_DRP_ITEM}${stInx}`, 'click', () => {\n rootServiceInstance.selStInx = stInx;\n updateStepNumberInfo();\n handleStageDropdownClickEvent(stageDropdownEle, stInx, stageList);\n }, stageDropdownEle);\n });\n\n setAllCheckListData((prevCheckListData : any) => {\n let checklists = prevCheckListData.checklists;\n if (!(checklists[rootServiceInstance.selCLInx]?.type == 'primary' && checklists[rootServiceInstance.selCLInx].stages[rootServiceInstance.selStInx].name == 'Close')) {\n rootServiceInstance.isProceedToClose = false;\n rootServiceInstance.showProceedToCloseBtn(hostInstance);\n handleProceedToCloseBtn(hostInstance?.chatEle?.querySelector(`${ClassMapConstanst.CHECKLIST_HEADER}`), true, true);\n }\n return prevCheckListData\n })\n\n \n \n }\n\n const handleStageDropdownClickEvent = (stageDropdownEle: any, stInx: number, stageList: any) => {\n rootServiceInstance.handleStageCheck(stageDropdownEle, stInx, stageList, hostInstance);\n setAllCheckListData((prevCheckListsData: any) => {\n rootServiceInstance.selectStage(prevCheckListsData, rootServiceInstance.selCLInx, stInx, hostInstance);\n return prevCheckListsData;\n })\n }\n\n // end of stage selection logic.\n\n // step related logic (step selection, step ongoing, step complete etc...)\n const handleStepClickEvents = (currentChecklistEle: any, prevCheckListsData: any, clIndex: number) => {\n prevCheckListsData.checklists[clIndex]?.stages?.map((stage: any, stInx: number) => {\n\n stage?.steps?.map((step: any, stepInx: number) => {\n\n let eachPlaybookStep = currentChecklistEle?.querySelector(`${ClassMapConstanst.CHECKLIST_EACH_STEP}${stInx}-${stepInx}`);\n\n hostInstance.eventManager?.addEventListener(`${ClassMapConstanst.CHECKLIST_EACH_STEP}${stInx}-${stepInx}`, 'click', (e: any) => {\n if (!step.complete) {\n setAllCheckListData((prevCheckListsData: any) => {\n rootServiceInstance.clickStep(prevCheckListsData, stInx, step, stepInx, hostInstance);\n return prevCheckListsData;\n })\n }\n }, currentChecklistEle);\n\n hostInstance.eventManager?.addEventListener(`${ClassMapConstanst.CHECKLIST_STEP_COMPLETE_BTN}${stInx}-${stepInx}`, 'click', (e: any) => {\n e.stopPropagation();\n if (!step.complete) {\n setAllCheckListData((prevCheckListsData: any) => {\n stepComplete(prevCheckListsData, stage, step, clIndex, stInx, stepInx);\n return prevCheckListsData;\n })\n }\n }, currentChecklistEle);\n\n hostInstance.eventManager?.addEventListener(ClassMapConstanst.CHECKLIST_STEP_COPY_BTN, 'click', () => {\n rootServiceInstance.sendAndCopyForPlaybook(ProjConstants.COPY_METHOD, step.description, eachPlaybookStep, hostInstance);\n stepComplete(prevCheckListsData, stage, step, clIndex, stInx, stepInx);\n }, eachPlaybookStep);\n\n hostInstance.eventManager?.addEventListener(ClassMapConstanst.CHECKLIST_STEP_SEND_BTN, 'click', () => {\n rootServiceInstance.sendAndCopyForPlaybook(ProjConstants.SEND_METHOD, step.description, eachPlaybookStep, hostInstance);\n stepComplete(prevCheckListsData, stage, step, clIndex, stInx, stepInx);\n }, eachPlaybookStep);\n\n step.confirmButtons?.map((btn: any, btnInx: number) => {\n hostInstance.eventManager?.addEventListener(`${ClassMapConstanst.CHECKLIST_STEP_CONFIRMATION_BTN}${btnInx}`, 'click', () => { \n stepComplete(prevCheckListsData, stage, step, clIndex, stInx, stepInx);\n rootServiceInstance.confirmationBtnForPlaybook(btn, eachPlaybookStep, hostInstance);\n }, eachPlaybookStep);\n });\n\n })\n })\n }\n\n const updateStepNumberInfo = () => {\n setAllCheckListData((prevCheckListsData : any) =>{\n let totalSteps = prevCheckListsData.checklists[rootServiceInstance.selCLInx]?.stages[rootServiceInstance.selStInx]?.steps?.length;\n let completedSteps = rootServiceInstance.getNumberstepCompInStage(prevCheckListsData);\n let totalStepCountEle = hostInstance?.chatEle?.querySelector(`${ClassMapConstanst.STEP_COMPLETE_COUNT}`);\n if(totalStepCountEle){\n totalStepCountEle.classList.remove(ClassMapConstanst.HIDE_ELEMENT);\n totalStepCountEle.innerText = completedSteps + '/' + totalSteps;\n }\n return prevCheckListsData;\n })\n }\n\n const stepComplete = (prevCheckListsData: any, stage: any, step: any, clIndex: number, stInx: number, stepInx: number, isAdhered: boolean = false, adheredBy: string = 'manual') => {\n let id = prevCheckListsData.checklists[clIndex]._id;\n let stageId = stage._id;\n let stepId = step._id;\n step.ongoing = false;\n step.complete = true;\n\n let checklistParams: any = rootServiceInstance.prepareChecklistPayload(EVENTS.checklist_step_closed, prevCheckListsData,\n {\n id,\n stageId,\n stepId,\n \"adheredBy\": adheredBy // coachingEngine / manual\n },\n true);\n emitEvents(EVENTS.checklist_step_closed, checklistParams, SDK_EVENTS.PLAYBOOK_STEP_CLOSED_EVENT);\n\n setAllCheckListData((prevCheckListsData: any) => {\n updateStepNumberInfo();\n rootServiceInstance.selectNextStage(prevCheckListsData, clIndex, stInx, hostInstance);\n rootServiceInstance.checkAllStagesCompleted(prevCheckListsData, id, hostInstance);\n return prevCheckListsData;\n })\n }\n // end of step logic\n\n //trigger dynamic checklist\n const updateTriggerChecklistCount = (triggeredCheckLists : any) => {\n let checklistCountEle = hostInstance?.chatEle?.querySelector(`${ClassMapConstanst.TRIGGER_CHECKLIST_BULB_COUNT}`);\n if(checklistCountEle){\n checklistCountEle.innerText = triggeredCheckLists?.length;\n }\n }\n\n const addTriggerChecklistItem = (checklist : any, triggerChecklistIndex : number) => { \n let triggerChecklistDropdownContainer = hostInstance?.chatEle?.querySelector(`${ClassMapConstanst.TRIGGET_CHECKLIST_DROPDOWN}`);\n let checklistItem = getHTML(RenderEachTriggeredChecklist, {hostInstance : hostInstance, checklist : checklist}, hostInstance);\n if(checklistItem && triggerChecklistDropdownContainer){\n hostInstance.emit(SDK_EVENTS.BEFORE_VIEW_INIT, checklistItem, { event: SDK_EVENTS.PLAYBOOK_TRIGGERED_LIST_TEMPLATE, data : {checklist}});\n triggerChecklistDropdownContainer.append(checklistItem);\n hostInstance.eventManager?.addEventListener(`${ClassMapConstanst.TRIGGER_CHECKLIST_BTN}${checklist?._id}`, 'click', () => {\n setAllCheckListData((prevCheckListsData : any)=> {\n selectDynCl (prevCheckListsData, checklist, triggerChecklistIndex, true);\n return prevCheckListsData;\n })\n \n }, triggerChecklistDropdownContainer);\n }\n }\n\n const selectDynCl = (prevCheckListsData: any, clT: any, i: number, isTriggered: boolean = false) => {\n setTriggeredDynCheckLists((prevTriggetDynChecklists: any) => {\n if(prevTriggetDynChecklists?.length){\n removeTriggeredChecklistItem(prevTriggetDynChecklists[i], i);\n let triggeredDynCheckLists = prevTriggetDynChecklists.slice(0, i).concat(prevTriggetDynChecklists.slice(i + 1));\n return triggeredDynCheckLists;\n }\n return prevTriggetDynChecklists;\n })\n let index = prevCheckListsData.checklists.findIndex((obj: any) => obj._id == clT._id);\n if (prevCheckListsData.checklists[index]) {\n if(isTriggered){\n prevCheckListsData.isSuggestedCL = isTriggered;\n }\n resumeAndUpdateCheckList(index);\n }\n }\n\n const removeTriggeredChecklistItem = (checklistItem : any, i : number) => {\n let triggerChecklistDropdownContainer = hostInstance?.chatEle?.querySelector(`${ClassMapConstanst.TRIGGET_CHECKLIST_DROPDOWN}`);\n let triggerDropdownWrapperEle = hostInstance?.chatEle?.querySelector(`${ClassMapConstanst.TRIGGER_CHECKLIST_DROPDOWN_WRAPPER}`);\n let checklistEle = triggerChecklistDropdownContainer.querySelector(`${ClassMapConstanst.TRIGGER_CHECKLIST_BTN}${checklistItem._id}`);\n if(checklistEle){\n checklistEle?.remove();\n triggerDropdownWrapperEle?.classList?.toggle('show');\n }\n }\n\n return (\n <div className=\"playbook-wrapper-template\">\n <div className=\"playbook-template-data\" id=\"checkListMainTemplate\">\n <div className=\"playbook-wrapper-body\" id=\"checkListBodyTemplate\">\n <div className=\"playbook-steps-info\" id=\"checklistStepTemplate\">\n\n </div>\n </div>\n </div>\n </div>\n );\n}\n","__webpack_require__.h = () => (\"290a19db34f18f5c2ea4\")"],"names":[],"sourceRoot":""}
|