{"version":3,"sources":["../src/provider.tsx","../src/logger.ts","../src/utils.ts","../src/api.ts","../src/context.ts","../src/initialize.ts","../src/mappers.ts","../src/useIntercom.ts"],"names":["log","level","message","packageName","isSSR","removeUndefined","obj","key","IntercomAPI","method","args","api_default","IntercomContext","Z","context_default","initialize","appId","timeout","cspNonce","w","ic","d","i","l","s","x","initialize_default","mapMessengerAttributesToRawMessengerAttributes","attributes","mapDataAttributesCompanyToRawDataAttributesCompany","__spreadValues","mapDataAttributesAvatarToRawDataAttributesAvatar","mapDataAttributesToRawDataAttributes","_a","mapIntercomPropsToRawIntercomProps","props","IntercomProvider","_b","autoBoot","autoBootProps","children","onHide","onShow","onUnreadCountChange","onUserEmailSupplied","shouldInitialize","apiBase","initializeDelay","rest","__objRest","isBooted","n","isInitialized","isOpen","setIsOpen","invalidPropKeys","boot","metaData","ensureIntercom","functionName","callback","shutdown","hardShutdown","refresh","last_request_at","update","rawProps","hide","show","showMessages","showNewMessage","getVisitorId","startTour","tourId","startChecklist","checklistId","trackEvent","event","showArticle","articleId","showSpace","spaceName","startSurvey","surveyId","showNews","newsId","showTicket","ticketId","showConversation","conversationId","providerValue","useIntercomContext","context","useIntercom"],"mappings":"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","file":"index.cjs","sourcesContent":["import * as React from 'react';\n\nimport IntercomAPI from './api';\nimport IntercomContext from './context';\nimport initialize from './initialize';\nimport * as logger from './logger';\nimport { mapIntercomPropsToRawIntercomProps } from './mappers';\nimport {\n  IntercomContextValues,\n  IntercomProps,\n  IntercomProviderProps,\n  IntercomSpace,\n  RawIntercomBootProps,\n} from './types';\nimport { isSSR } from './utils';\n\nexport const IntercomProvider: React.FC<\n  React.PropsWithChildren<IntercomProviderProps>\n> = ({\n  appId,\n  autoBoot = false,\n  autoBootProps,\n  children,\n  onHide,\n  onShow,\n  onUnreadCountChange,\n  onUserEmailSupplied,\n  shouldInitialize = !isSSR,\n  apiBase,\n  initializeDelay,\n  cspNonce,\n  ...rest\n}) => {\n  const isBooted = React.useRef(false);\n  const isInitialized = React.useRef(false);\n  const [isOpen, setIsOpen] = React.useState(false);\n\n  // Allow data-x attributes, see https://github.com/devrnt/react-use-intercom/issues/478\n  const invalidPropKeys = Object.keys(rest).filter(\n    (key) => !key.startsWith('data-'),\n  );\n\n  if (invalidPropKeys.length > 0) {\n    logger.log(\n      'warn',\n      [\n        'some invalid props were passed to IntercomProvider. ',\n        `Please check following props: ${invalidPropKeys.join(', ')}.`,\n      ].join(''),\n    );\n  }\n\n  const boot = React.useCallback(\n    (props?: IntercomProps) => {\n      if (!window.Intercom && !shouldInitialize) {\n        logger.log(\n          'warn',\n          'Intercom instance is not initialized because `shouldInitialize` is set to `false` in `IntercomProvider`',\n        );\n        return;\n      }\n\n      if (isBooted.current) {\n        return;\n      }\n\n      // Register the listeners\n      // This is done in the booth method because after shutting down\n      // the callbacks should be re-registered on a reboot\n      IntercomAPI('onHide', () => {\n        setIsOpen(false);\n        onHide?.();\n      });\n      IntercomAPI('onShow', () => {\n        setIsOpen(true);\n        onShow?.();\n      });\n      IntercomAPI('onUserEmailSupplied', onUserEmailSupplied);\n\n      if (onUnreadCountChange) {\n        IntercomAPI('onUnreadCountChange', onUnreadCountChange);\n      }\n\n      const metaData: RawIntercomBootProps = {\n        app_id: appId,\n        ...(apiBase && { api_base: apiBase }),\n        ...(props && mapIntercomPropsToRawIntercomProps(props)),\n      };\n\n      window.intercomSettings = metaData;\n      IntercomAPI('boot', metaData);\n      isBooted.current = true;\n    },\n    [\n      apiBase,\n      appId,\n      onHide,\n      onShow,\n      onUnreadCountChange,\n      onUserEmailSupplied,\n      shouldInitialize,\n    ],\n  );\n\n  if (!isSSR && shouldInitialize && !isInitialized.current) {\n    initialize(appId, initializeDelay, cspNonce);\n\n    if (autoBoot) {\n      boot(autoBootProps);\n    }\n\n    isInitialized.current = true;\n  }\n\n  const ensureIntercom = React.useCallback(\n    (functionName: string, callback: (() => void) | (() => string)) => {\n      if (!window.Intercom && !shouldInitialize) {\n        logger.log(\n          'warn',\n          'Intercom instance is not initialized because `shouldInitialize` is set to `false` in `IntercomProvider`',\n        );\n        return;\n      }\n      if (!isBooted.current) {\n        logger.log(\n          'warn',\n          [\n            `\"${functionName}\" was called but Intercom has not booted yet. `,\n            `Please call 'boot' before calling '${functionName}' or `,\n            `set 'autoBoot' to true in the IntercomProvider.`,\n          ].join(''),\n        );\n        return;\n      }\n      return callback();\n    },\n    [shouldInitialize],\n  );\n\n  const shutdown = React.useCallback(() => {\n    if (!isBooted.current) return;\n\n    IntercomAPI('shutdown');\n    delete window.intercomSettings;\n    isBooted.current = false;\n  }, []);\n\n  const hardShutdown = React.useCallback(() => {\n    if (!isBooted.current) return;\n\n    IntercomAPI('shutdown');\n    delete window.Intercom;\n    delete window.intercomSettings;\n    isBooted.current = false;\n  }, []);\n\n  const refresh = React.useCallback(() => {\n    ensureIntercom('update', () => {\n      const last_request_at = Math.floor(new Date().getTime() / 1000);\n      IntercomAPI('update', { last_request_at });\n    });\n  }, [ensureIntercom]);\n\n  const update = React.useCallback(\n    (props?: IntercomProps) => {\n      ensureIntercom('update', () => {\n        if (!props) {\n          refresh();\n          return;\n        }\n        const rawProps = mapIntercomPropsToRawIntercomProps(props);\n        window.intercomSettings = { ...window.intercomSettings, ...rawProps };\n        IntercomAPI('update', rawProps);\n      });\n    },\n    [ensureIntercom, refresh],\n  );\n\n  const hide = React.useCallback(() => {\n    ensureIntercom('hide', () => {\n      IntercomAPI('hide');\n    });\n  }, [ensureIntercom]);\n\n  const show = React.useCallback(() => {\n    ensureIntercom('show', () => IntercomAPI('show'));\n  }, [ensureIntercom]);\n\n  const showMessages = React.useCallback(() => {\n    ensureIntercom('showMessages', () => {\n      IntercomAPI('showMessages');\n    });\n  }, [ensureIntercom]);\n\n  const showNewMessage = React.useCallback(\n    (message?: string) => {\n      ensureIntercom('showNewMessage', () => {\n        if (!message) {\n          IntercomAPI('showNewMessage');\n        } else {\n          IntercomAPI('showNewMessage', message);\n        }\n      });\n    },\n    [ensureIntercom],\n  );\n\n  const getVisitorId = React.useCallback(() => {\n    return ensureIntercom('getVisitorId', () => {\n      return IntercomAPI('getVisitorId');\n    }) as string;\n  }, [ensureIntercom]);\n\n  const startTour = React.useCallback(\n    (tourId: number) => {\n      ensureIntercom('startTour', () => {\n        IntercomAPI('startTour', tourId);\n      });\n    },\n    [ensureIntercom],\n  );\n\n  const startChecklist = React.useCallback(\n    (checklistId: number) => {\n      ensureIntercom('startChecklist', () => {\n        IntercomAPI('startChecklist', checklistId);\n      });\n    },\n    [ensureIntercom],\n  );\n\n  const trackEvent = React.useCallback(\n    (event: string, metaData?: object) => {\n      ensureIntercom('trackEvent', () => {\n        if (metaData) {\n          IntercomAPI('trackEvent', event, metaData);\n        } else {\n          IntercomAPI('trackEvent', event);\n        }\n      });\n    },\n    [ensureIntercom],\n  );\n\n  const showArticle = React.useCallback(\n    (articleId: number) =>\n      ensureIntercom('showArticle', () => {\n        IntercomAPI('showArticle', articleId);\n      }),\n    [ensureIntercom],\n  );\n\n  const showSpace = React.useCallback(\n    (spaceName: IntercomSpace) =>\n      ensureIntercom('showSpace', () => {\n        IntercomAPI('showSpace', spaceName);\n      }),\n    [ensureIntercom],\n  );\n\n  const startSurvey = React.useCallback(\n    (surveyId: number) => {\n      ensureIntercom('startSurvey', () => {\n        IntercomAPI('startSurvey', surveyId);\n      });\n    },\n    [ensureIntercom],\n  );\n\n  const showNews = React.useCallback(\n    (newsId: number) =>\n      ensureIntercom('showNews', () => {\n        IntercomAPI('showNews', newsId);\n      }),\n    [ensureIntercom],\n  );\n\n  const showTicket = React.useCallback(\n    (ticketId: number) =>\n      ensureIntercom('showTicket', () => {\n        IntercomAPI('showTicket', ticketId);\n      }),\n    [ensureIntercom],\n  );\n\n  const showConversation = React.useCallback(\n    (conversationId: number) =>\n      ensureIntercom('showConversation', () => {\n        IntercomAPI('showConversation', conversationId);\n      }),\n    [ensureIntercom],\n  );\n\n  const providerValue = React.useMemo<IntercomContextValues>(() => {\n    return {\n      boot,\n      shutdown,\n      hardShutdown,\n      update,\n      hide,\n      show,\n      isOpen,\n      showMessages,\n      showNewMessage,\n      getVisitorId,\n      startTour,\n      startChecklist,\n      trackEvent,\n      showArticle,\n      startSurvey,\n      showSpace,\n      showNews,\n      showTicket,\n      showConversation,\n    };\n  }, [\n    boot,\n    shutdown,\n    hardShutdown,\n    update,\n    hide,\n    show,\n    isOpen,\n    showMessages,\n    showNewMessage,\n    getVisitorId,\n    startTour,\n    startChecklist,\n    trackEvent,\n    showArticle,\n    startSurvey,\n    showSpace,\n    showNews,\n    showTicket,\n    showConversation,\n  ]);\n\n  return (\n    <IntercomContext.Provider value={providerValue}>\n      {children}\n    </IntercomContext.Provider>\n  );\n};\n\nexport const useIntercomContext = () => {\n  const context = React.useContext(IntercomContext);\n\n  if (context === undefined) {\n    throw new Error('\"useIntercom\" must be used within `IntercomProvider`.');\n  }\n\n  return context as IntercomContextValues;\n};\n","import { LogLevel } from './types';\n\n/**\n * Logs messages in the console with a corresponding urgency\n *\n * @param level the urgency of the message\n * @param message the message to log in the console\n */\nexport const log = (level: LogLevel, message: string) => {\n  const packageName = '[react-use-intercom]';\n\n  switch (level) {\n    case 'info':\n      console.log(`${packageName} ${message}`);\n      break;\n    case 'warn':\n      console.warn(`${packageName} ${message}`);\n      break;\n    case 'error':\n      console.error(`${packageName} ${message}`);\n      break;\n    default:\n      console.log(`${packageName} ${message}`);\n  }\n};\n","export const isSSR = typeof window === 'undefined';\n\n/**\n * Removes object entries where the value equals to `undefined`\n *\n * @param obj\n */\nexport const removeUndefined = (obj: any) => {\n  Object.keys(obj).forEach((key) => {\n    if (obj[key] && typeof obj[key] === 'object') removeUndefined(obj[key]);\n    else if (obj[key] === undefined) delete obj[key];\n  });\n  return obj;\n};\n","import * as logger from './logger';\nimport { IntercomMethod } from './types';\nimport { isSSR } from './utils';\n\n/**\n * Safely exposes `window.Intercom` and passes the arguments to the instance\n *\n * @param method method passed to the `window.Intercom` instance\n * @param args arguments passed to the `window.Intercom` instance\n *\n * @see {@link https://developers.intercom.com/installing-intercom/docs/intercom-javascript}\n */\nconst IntercomAPI = (method: IntercomMethod, ...args: Array<any>) => {\n  if (!isSSR && window.Intercom) {\n    return window.Intercom.apply(null, [method, ...args]);\n  } else {\n    logger.log('error', `${method} Intercom instance is not initalized yet`);\n  }\n};\n\nexport default IntercomAPI;\n","import * as React from 'react';\n\nimport { IntercomContextValues } from './types';\n\nconst IntercomContext = React.createContext<IntercomContextValues | undefined>(\n  undefined,\n);\n\nexport default IntercomContext;\n","/* eslint-disable @typescript-eslint/ban-ts-comment */\n/* eslint-disable prefer-rest-params */\n/* eslint-disable no-var */\n// @ts-nocheck\n/**\n * Snippet to initialize the Intercom instance\n *\n * @param appId - Intercom app id\n * @param [timeout=0] - Amount of milliseconds that the initialization should be delayed, defaults to 0\n * @param [cspNonce=undefined] - Content-Security-Policy nonce to use for the Intercom <script> tag during initializing\n *\n * @see {@link https://developers.intercom.com/installing-intercom/docs/basic-javascript}\n */\nconst initialize = (appId: string, timeout: number = 0, cspNonce?: string) => {\n  var w = window;\n  var ic = w.Intercom;\n  if (typeof ic === 'function') {\n    ic('reattach_activator');\n    ic('update', w.intercomSettings);\n  } else {\n    var d = document;\n    var i = function () {\n      i.c(arguments);\n    };\n    i.q = [];\n    i.c = function (args) {\n      i.q.push(args);\n    };\n    w.Intercom = i;\n    var l = function () {\n      setTimeout(function () {\n        var s = d.createElement('script');\n        s.type = 'text/javascript';\n        s.async = true;\n        if (cspNonce) s.setAttribute('nonce', cspNonce);\n        s.src = 'https://widget.intercom.io/widget/' + appId;\n        var x = d.getElementsByTagName('script')[0];\n        x.parentNode.insertBefore(s, x);\n      }, timeout);\n    };\n    if (document.readyState === 'complete') {\n      l();\n    } else if (w.attachEvent) {\n      w.attachEvent('onload', l);\n    } else {\n      w.addEventListener('load', l, false);\n    }\n  }\n};\n\nexport default initialize;\n","import {\n  DataAttributes,\n  DataAttributesAvatar,\n  DataAttributesCompany,\n  IntercomProps,\n  MessengerAttributes,\n  RawDataAttributes,\n  RawDataAttributesAvatar,\n  RawDataAttributesCompany,\n  RawIntercomProps,\n  RawMessengerAttributes,\n} from './types';\nimport { removeUndefined } from './utils';\n\nexport const mapMessengerAttributesToRawMessengerAttributes = (\n  attributes: MessengerAttributes,\n): RawMessengerAttributes => ({\n  custom_launcher_selector: attributes.customLauncherSelector,\n  alignment: attributes.alignment,\n  vertical_padding: attributes.verticalPadding,\n  horizontal_padding: attributes.horizontalPadding,\n  z_index: attributes.zIndex,\n  hide_default_launcher: attributes.hideDefaultLauncher,\n  session_duration: attributes.sessionDuration,\n  action_color: attributes.actionColor,\n  background_color: attributes.backgroundColor,\n});\n\nconst mapDataAttributesCompanyToRawDataAttributesCompany = (\n  attributes: DataAttributesCompany,\n): RawDataAttributesCompany => ({\n  company_id: attributes.companyId,\n  name: attributes.name,\n  created_at: attributes.createdAt,\n  plan: attributes.plan,\n  monthly_spend: attributes.monthlySpend,\n  user_count: attributes.userCount,\n  size: attributes.size,\n  website: attributes.website,\n  industry: attributes.industry,\n  ...attributes.customAttributes,\n});\n\nconst mapDataAttributesAvatarToRawDataAttributesAvatar = (\n  attributes: DataAttributesAvatar,\n): RawDataAttributesAvatar => ({\n  type: attributes.type,\n  image_url: attributes.imageUrl,\n});\n\nexport const mapDataAttributesToRawDataAttributes = (\n  attributes: DataAttributes,\n): RawDataAttributes => ({\n  email: attributes.email,\n  user_id: attributes.userId,\n  created_at: attributes.createdAt,\n  name: attributes.name,\n  phone: attributes.phone,\n  last_request_at: attributes.lastRequestAt,\n  unsubscribed_from_emails: attributes.unsubscribedFromEmails,\n  language_override: attributes.languageOverride,\n  utm_campaign: attributes.utmCampaign,\n  utm_content: attributes.utmContent,\n  utm_medium: attributes.utmMedium,\n  utm_source: attributes.utmSource,\n  utm_term: attributes.utmTerm,\n  avatar:\n    attributes.avatar &&\n    mapDataAttributesAvatarToRawDataAttributesAvatar(attributes.avatar),\n  user_hash: attributes.userHash,\n  company:\n    attributes.company &&\n    mapDataAttributesCompanyToRawDataAttributesCompany(attributes.company),\n  companies: attributes.companies?.map(\n    mapDataAttributesCompanyToRawDataAttributesCompany,\n  ),\n  intercom_user_jwt: attributes.intercomUserJwt,\n  ...attributes.customAttributes,\n});\n\nexport const mapIntercomPropsToRawIntercomProps = (\n  props: IntercomProps,\n): RawIntercomProps => {\n  return removeUndefined({\n    ...mapMessengerAttributesToRawMessengerAttributes(props),\n    ...mapDataAttributesToRawDataAttributes(props),\n  });\n};\n","import { useIntercomContext } from './provider';\n\nexport const useIntercom = () => {\n  return useIntercomContext();\n};\n"]}