{"version":3,"file":"zendesk-lg3lu1k7.js","sources":["packages/vanilla/lib/features/zendesk/src/zendesk-bootstrap.service.ts","packages/vanilla/lib/features/zendesk/src/zendesk.feature.ts"],"sourcesContent":["import { Injectable, inject } from '@angular/core';\n\nimport {\n MenuAction,\n MenuActionsService,\n NativeAppService,\n NativeEventType,\n NavigationService,\n OnFeatureInit,\n ParsedUrl,\n UrlService,\n WINDOW,\n} from '@frontend/vanilla/core';\n\n/**\n * @whatItDoes Bootstraps features needed by the `ZenDesk` chat.\n *\n * @stable\n */\n@Injectable()\nexport class ZendeskBootstrapService implements OnFeatureInit {\n readonly #window = inject(WINDOW);\n\n constructor(\n private navigationService: NavigationService,\n private urlService: UrlService,\n private nativeAppService: NativeAppService,\n private menuActionsService: MenuActionsService,\n ) {}\n\n onFeatureInit() {\n this.menuActionsService.register(MenuAction.OPEN_ZENDESK_CHAT, () => this.openZendesk());\n this.navigationService.locationChange.subscribe((event) => {\n const nextUrl = this.urlService.parse(event.nextUrl);\n this.openChatOnStartup(nextUrl);\n });\n }\n\n private openChatOnStartup(currentUrl: ParsedUrl) {\n const isOpenChatQueryStringPresent = (currentUrl.search.get('chat') || '').toUpperCase() == 'OPEN';\n if (isOpenChatQueryStringPresent) {\n this.nativeAppService.sendToNative({ eventName: NativeEventType.OPEN_CHAT });\n }\n }\n\n private openZendesk() {\n const window = this.#window;\n\n if (window.gvczendesk && window.gvczendesk.livechatclick) {\n window.gvczendesk.livechatclick();\n }\n }\n}\n","import { runOnFeatureInit } from '@frontend/vanilla/core';\n\nimport { ZendeskBootstrapService } from './zendesk-bootstrap.service';\n\nexport function provide() {\n return [runOnFeatureInit(ZendeskBootstrapService)];\n}\n"],"names":["ZendeskBootstrapService","_window","constructor","navigationService","urlService","nativeAppService","menuActionsService","__privateAdd","inject","WINDOW","onFeatureInit","register","MenuAction","OPEN_ZENDESK_CHAT","openZendesk","locationChange","subscribe","event","nextUrl","parse","openChatOnStartup","currentUrl","search","get","toUpperCase","sendToNative","eventName","NativeEventType","OPEN_CHAT","window","__privateGet","gvczendesk","livechatclick","ɵɵinject","NavigationService","UrlService","NativeAppService","MenuActionsService","a","factory","ɵfac","_ZendeskBootstrapService","provide","runOnFeatureInit"],"mappings":"uIAoBA,IAAaA,CAAuB,CAAA,CAAA,IAAA,CApBpC,IAAAC,EAoBM,IAAOD,CAAAA,CAAP,MAAOA,CAAuB,CAGhCE,WAAAA,CACYC,CACAC,CAAAA,CAAAA,CACAC,EACAC,CAAsC,CAAA,CANzCC,CAAA,CAAA,IAAA,CAAAN,CAAUO,CAAAA,CAAAA,CAAOC,CAAM,CAAA,CAAA,CAGpB,KAAAN,iBAAAA,CAAAA,CAAAA,CACA,IAAAC,CAAAA,UAAAA,CAAAA,EACA,IAAAC,CAAAA,gBAAAA,CAAAA,CACA,CAAA,IAAA,CAAAC,mBAAAA,EACT,CAEHI,aAAa,EAAA,CACT,IAAKJ,CAAAA,kBAAAA,CAAmBK,QAASC,CAAAA,EAAAA,CAAWC,kBAAmB,IAAM,IAAA,CAAKC,WAAW,EAAE,CACvF,CAAA,IAAA,CAAKX,iBAAkBY,CAAAA,cAAAA,CAAeC,UAAWC,CAAS,EAAA,CACtD,IAAMC,CAAAA,CAAU,IAAKd,CAAAA,UAAAA,CAAWe,KAAMF,CAAAA,CAAAA,CAAMC,OAAO,CACnD,CAAA,IAAA,CAAKE,iBAAkBF,CAAAA,CAAO,EAClC,CAAC,EACL,CAEQE,iBAAAA,CAAkBC,EAAqB,CACLA,CAAAA,CAAAA,CAAWC,MAAOC,CAAAA,GAAAA,CAAI,MAAM,CAAA,EAAK,EAAIC,EAAAA,WAAAA,IAAiB,MAExF,EAAA,IAAA,CAAKnB,gBAAiBoB,CAAAA,YAAAA,CAAa,CAAEC,SAAAA,CAAWC,EAAgBC,CAAAA,SAAS,CAAE,EAEnF,CAEQd,WAAW,EAAA,CACf,IAAMe,CAAAA,CAAcC,CAAA,CAAA,IAAA,CAAK7B,GAErB4B,CAAOE,CAAAA,UAAAA,EAAcF,CAAOE,CAAAA,UAAAA,CAAWC,eACvCH,CAAOE,CAAAA,UAAAA,CAAWC,aAAa,GAEvC,GA9BS/B,CAAA,CAAA,IAAA,OAAA,CAAA,CAAA,CAAA,SAAA,CAAA,SAAA,CAAA,CAAA,CAAA,OAAA,IAAA,CAAA,EADAD,CAAuBiC,EAAAA,EAAAA,CAAAC,EAAA,CAAA,CAAAD,EAAAE,CAAAA,EAAA,EAAAF,EAAAG,CAAAA,EAAA,CAAAH,CAAAA,EAAAA,CAAAI,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAAC,CAAA,CAAA,CAAA,KAAA,CAAvBtC,EAAuBuC,OAAvBvC,CAAAA,CAAAA,CAAuBwC,SAAA,CAAA,CAA9B,CAAA,IAAOxC,CAAPyC,CAAAA,CAAAA,CAAAA,OAAOzC,CAAuB,CAAA,GAAA,CChB9B,SAAU0C,CAAAA,EAAO,CACnB,OAAO,CAACC,EAAiB3C,CAAAA,CAAuB,CAAC,CACrD"}