{"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.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  ...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"]}