{"version":3,"file":"ngx-intercom-messenger.mjs","sources":["../../../libs/ngx-intercom-messenger/src/lib/intercom-messenger.service.ts","../../../libs/ngx-intercom-messenger/src/lib/directives/hide.directive.ts","../../../libs/ngx-intercom-messenger/src/lib/directives/show-messages.directive.ts","../../../libs/ngx-intercom-messenger/src/lib/directives/show-new-message.directive.ts","../../../libs/ngx-intercom-messenger/src/lib/directives/show.directive.ts","../../../libs/ngx-intercom-messenger/src/lib/directives/shutdown.directive.ts","../../../libs/ngx-intercom-messenger/src/lib/directives/track-event.directive.ts","../../../libs/ngx-intercom-messenger/src/lib/intercom-messenger.module.ts","../../../libs/ngx-intercom-messenger/ngx-intercom-messenger.ts"],"sourcesContent":["import { Injectable, PLATFORM_ID, inject, InjectionToken } from '@angular/core'\nimport { isPlatformBrowser } from '@angular/common'\nimport {\n  Intercom,\n  getVisitorId,\n  hide,\n  onHide,\n  onShow,\n  onUnreadCountChange,\n  show,\n  showArticle,\n  showMessages,\n  showNewMessage,\n  shutdown,\n  startTour,\n  trackEvent,\n  update,\n} from \"@intercom/messenger-js-sdk\";\nimport type { UserArgs, IntercomSettings } from \"@intercom/messenger-js-sdk/types\";\n\nexport const INTERCOM_MESSENGER_SETTINGS = new InjectionToken<IntercomSettings>('')\n\n/**\n * A provider with every Intercom.JS method\n */\n@Injectable()\nexport class IntercomMessengerService {\n  private platformId = inject(PLATFORM_ID);\n  private settings = inject(INTERCOM_MESSENGER_SETTINGS);\n\n  /**\n   * If you'd like to control when Intercom is loaded, you can use the 'boot' method.\n   * This is useful in situations like a one-page Javascript based application where the user may not be logged in\n   * when the page loads. You call this method with the standard intercomSettings object.\n   */\n  public boot(settings?: IntercomSettings): void {\n    if (!isPlatformBrowser(this.platformId)) {\n      return\n    }\n    const app_id = settings?.app_id ?? this.settings?.app_id\n    if (!app_id) {\n      throw new Error('Please provide Intercom app_id either in module config or in the `boot()` method')\n    }\n    Intercom(settings ?? this.settings);\n  }\n\n  /**\n   * If you have the Respond product (combined with another product like Engage)\n   * you should call the Intercom shutdown method to clear your users’ conversations anytime they log out\n   * of your application. Otherwise, the cookie we use to track who was most recently logged in on a given device\n   * or computer will keep these conversations in the Messenger for one week.\n   * This method will effectively clear out any user data that you have been passing through the JS API.\n   */\n  public shutdown(): void {\n    return shutdown();\n  }\n\n  /**\n   * Calling the update method without any other arguments will trigger the JavaScript to look for new messages\n   * that should be displayed to the current user (the one whose details are in the window.intercomSettings variable)\n   * and show them if they exist.\n   *\n   * Calling the update method with a JSON object of user details will update those fields on the current user\n   * in addition to logging an impression at the current URL and looking for new messages for the user.\n   */\n  public update(data: UserArgs) {\n    return update(data)\n  }\n\n  /**\n   * This will hide the main Messenger panel if it is open. It will not hide the Messenger Launcher.\n   */\n  public hide() {\n    return hide()\n  }\n\n  /**\n   * This will show the Messenger. If there are no conversations it will open with the new message view,\n   * if there are it will open with the message list.\n   *\n   * If a `message` parameter is supplied, it will automatically open a new message window, aliasing showNewMessage().\n   *\n   */\n  public show(message?: string): void {\n    if (message) {\n      return this.showNewMessage(message)\n    }\n    return show()\n  }\n\n  /**\n   * To open the message window with the message list you can call `showMessages()`.\n   */\n  public showMessages(): void {\n    return showMessages()\n  }\n\n  /**\n   * To open the message window with the new message view you can call showNewMessage().\n   *\n   * This function takes an optional parameter that can be used to pre-populate the message composer as shown below.\n   */\n  public showNewMessage(message?: string): void {\n    return showNewMessage(message ?? '')\n  }\n\n  /**\n   * You can submit an event using the trackEvent method.\n   * This will associate the event with the currently logged-in user and send it to Intercom.\n   * The final parameter is a map that can be used to send optional metadata about the event.\n   *\n   * You can also add custom information to events in the form of event metadata.\n   */\n  public trackEvent(eventName: string, metadata?: Record<string, number | string | boolean>): void {\n    return trackEvent(eventName, metadata)\n  }\n\n  /**\n   * A visitor is someone who goes to your site but does not use the messenger.\n   * You can track these visitors via the visitor user_id.\n   * This user_id can be used to retrieve the visitor or lead through the REST API.\n   */\n  public getVisitorId(): string {\n    return getVisitorId() as unknown as string\n  }\n\n  /**\n   * Gives you the ability to hook into the show event. Requires a function argument.\n   */\n  public onShow(handler: () => void): void {\n    return onShow(handler)\n  }\n\n  /**\n   * Gives you the ability to hook into the hide event. Requires a function argument.\n   */\n  public onHide(handler: () => void): void {\n    return onHide(handler)\n  }\n\n  /**\n   * This method allows you to register a function that will be called when the current number of unread messages changes.\n   */\n  public onUnreadCountChange(handler: (unreadCount?: number) => void): void {\n    return onUnreadCountChange(handler)\n  }\n\n  /**\n   * If you would like to trigger a tour based on an action a user or visitor takes in your site or application,\n   * ou can use this API method. You need to call this method with the id of the tour you wish to show. The id of\n   * the tour can be found in the “Use tour everywhere” section of the tour editor.\n   *\n   * Please note that tours shown via this API must be published and the “Use tour everywhere” section must be\n   * turned on. If you're calling this API using an invalid tour id, nothing will happen.\n   */\n  public startTour(tourId: string): void {\n    return startTour(tourId)\n  }\n\n  /**\n   * If you would like to trigger an article in the Messenger, you can use the showArticle method.\n   * The article will be shown within the Messenger, and clicking the Messenger back button will return to the previous context.\n   * If the Messenger is closed when the method is called, it will be opened first and then the article will be shown.\n   */\n  public showArticle(articleId: string): void {\n    return showArticle(articleId)\n  }\n\n}\n","import { Directive, HostListener, Input } from '@angular/core'\n\nimport { IntercomMessengerService } from '../intercom-messenger.service';\n\n\n@Directive({\n  selector: '[intercomHide]'\n})\nexport class IntercomHideDirective {\n  @Input() intercomHide: boolean\n\n  constructor(\n    private intercom: IntercomMessengerService\n  ) {\n  }\n\n  @HostListener('click')\n  public onClick(): void {\n    if (this.intercomHide !== false) {\n      this.intercom.hide()\n    }\n  }\n}\n","import { Directive, HostListener, Input } from '@angular/core'\n\nimport { IntercomMessengerService } from '../intercom-messenger.service';\n\n@Directive({\n  selector: '[intercomShowMessages]'\n})\nexport class IntercomShowMessagesDirective {\n  @Input() intercomShowMessages: boolean\n\n  constructor(private intercom: IntercomMessengerService) {\n  }\n\n  @HostListener('click')\n  public onClick(): void {\n    if (this.intercomShowMessages !== false) {\n      this.intercom.showMessages()\n    }\n  }\n}\n","import { Directive, HostListener, Input } from '@angular/core'\n\nimport { IntercomMessengerService } from '../intercom-messenger.service'\n\n@Directive({\n  selector: '[intercomShowNewMessage]'\n})\nexport class IntercomShowNewMessageDirective {\n  @Input() message: string\n  @Input() intercomShowNewMessage: string\n\n  constructor(private intercom: IntercomMessengerService) {\n  }\n\n  @HostListener('click')\n  onClick() {\n    const msg = this.message ? this.message : this.intercomShowNewMessage\n    if (msg) {\n      this.intercom.showNewMessage(this.message)\n    } else {\n      this.intercom.showNewMessage()\n    }\n  }\n}\n","import { Directive, HostListener, Input } from '@angular/core'\n\nimport { IntercomMessengerService } from '../intercom-messenger.service';\n\n@Directive({\n  selector: '[intercomShow]'\n})\nexport class IntercomShowDirective {\n  @Input() message: string\n  @Input() intercomShow: string\n\n  constructor(private intercom: IntercomMessengerService) {\n  }\n\n  @HostListener('click')\n  public onClick(): void {\n    const msg = this.message ? this.message : this.intercomShow\n    if (msg) {\n      this.intercom.showNewMessage(this.message)\n    } else {\n      this.intercom.show()\n    }\n  }\n}\n","import { Directive, HostListener, Input } from '@angular/core'\n\nimport { IntercomMessengerService } from '../intercom-messenger.service'\n\n@Directive({\n  selector: '[intercomShutdown]'\n})\nexport class IntercomShutdownDirective {\n  @Input() intercomShutdown = false\n\n  constructor(private intercom: IntercomMessengerService) {\n  }\n\n  @HostListener('click')\n  public onClick(): void {\n    if (this.intercomShutdown) {\n      this.intercom.shutdown()\n    }\n  }\n}\n","import { Directive, HostListener, Input } from '@angular/core'\n\nimport { IntercomMessengerService } from '../intercom-messenger.service'\n\n@Directive({\n  selector: '[intercomTrackEvent]'\n})\nexport class IntercomTrackEventDirective {\n  @Input() event: string\n  @Input() intercomTrackEvent: string\n  @Input() metadata: never\n\n  constructor(private intercom: IntercomMessengerService) {\n  }\n\n  @HostListener('click')\n  public onClick(): void {\n    const e = this.event ? this.event : this.intercomTrackEvent\n    if (e && this.metadata) {\n      this.intercom.trackEvent(e, this.metadata)\n    } else if (e && !this.metadata) {\n      this.intercom.trackEvent(e)\n    } else {\n      throw new Error('Error in intercomTrackEvent directive: You must specify an event to track.')\n    }\n  }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core'\nimport { RouterModule } from '@angular/router'\nimport { MinimumBootArgs } from \"@intercom/messenger-js-sdk/types\";\n\n\nimport { IntercomHideDirective } from './directives/hide.directive'\nimport { IntercomShowMessagesDirective } from './directives/show-messages.directive'\nimport { IntercomShowNewMessageDirective } from './directives/show-new-message.directive'\nimport { IntercomShowDirective } from './directives/show.directive'\nimport { IntercomShutdownDirective } from './directives/shutdown.directive'\nimport { IntercomTrackEventDirective } from './directives/track-event.directive'\nimport { IntercomMessengerService, INTERCOM_MESSENGER_SETTINGS } from './intercom-messenger.service'\n\n@NgModule({\n  imports: [\n    RouterModule\n  ],\n  declarations: [\n    IntercomHideDirective,\n    IntercomShowMessagesDirective,\n    IntercomShowNewMessageDirective,\n    IntercomShowDirective,\n    IntercomShutdownDirective,\n    IntercomTrackEventDirective\n  ],\n  exports: [\n    IntercomHideDirective,\n    IntercomShowMessagesDirective,\n    IntercomShowNewMessageDirective,\n    IntercomShowDirective,\n    IntercomShutdownDirective,\n    IntercomTrackEventDirective\n  ]\n})\nexport class IntercomMessengerModule {\n  static forRoot(config: MinimumBootArgs): ModuleWithProviders<IntercomMessengerModule> {\n    return {\n      ngModule: IntercomMessengerModule,\n      providers: [\n        IntercomMessengerService,\n        { provide: INTERCOM_MESSENGER_SETTINGS, useValue: config },\n      ]\n    }\n  }\n\n  static forFeature(): ModuleWithProviders<IntercomMessengerModule> {\n    return {\n      ngModule: IntercomMessengerModule,\n    }\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.IntercomMessengerService"],"mappings":"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"}