UNPKG

react-use-intercom

Version:

React Intercom integration without the hassle, driven by hooks.

1 lines 29.2 kB
{"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":"0YAAA,IAAA,EAAA,CAAA,MAAA,CAAA,cAAA,CAAA,IAAA,CAAA,CAAA,MAAA,CAAA,qBAAA,CAAA,IAAA,CAAA,CAAA,MAAA,CAAA,SAAA,CAAA,cAAA,CAAA,CAAA,CAAA,MAAA,CAAA,SAAA,CAAA,oBAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,IAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAA,CAAA,IAAA,CAAA,YAAA,CAAA,IAAA,CAAA,QAAA,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,IAAA,IAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,IAAA,IAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,IAAA,CAAA,CAAA,EAAA,CAAA,IAAA,IAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,EAAA,IAAA,EAAA,CAAA,CAAA,IAAA,IAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CCQO,IAAMA,CAAAA,CAAM,CAACC,CAAiBC,CAAAA,CAAAA,GAAoB,CACvD,IAAMC,CAAc,CAAA,sBAAA,CAEpB,OAAQF,CAAAA,EACN,KAAK,MAAA,CACH,OAAQ,CAAA,GAAA,CAAI,CAAGE,EAAAA,CAAW,CAAID,CAAAA,EAAAA,CAAO,EAAE,CACvC,CAAA,MACF,KAAK,MAAA,CACH,OAAQ,CAAA,IAAA,CAAK,CAAGC,EAAAA,CAAW,IAAID,CAAO,CAAA,CAAE,CACxC,CAAA,MACF,KAAK,OAAA,CACH,OAAQ,CAAA,KAAA,CAAM,GAAGC,CAAW,CAAA,CAAA,EAAID,CAAO,CAAA,CAAE,CACzC,CAAA,MACF,QACE,OAAA,CAAQ,IAAI,CAAGC,EAAAA,CAAW,CAAID,CAAAA,EAAAA,CAAO,CAAE,CAAA,EAC3C,CACF,CAAA,CCxBO,IAAME,CAAQ,CAAA,OAAO,MAAW,EAAA,WAAA,CAO1BC,CAAmBC,CAAAA,CAAAA,GAC9B,MAAO,CAAA,IAAA,CAAKA,CAAG,CAAE,CAAA,OAAA,CAASC,CAAQ,EAAA,CAC5BD,CAAIC,CAAAA,CAAG,CAAK,EAAA,OAAOD,EAAIC,CAAG,CAAA,EAAM,QAAUF,CAAAA,CAAAA,CAAgBC,CAAIC,CAAAA,CAAG,CAAC,CAAA,CAC7DD,EAAIC,CAAG,CAAA,GAAM,MAAW,EAAA,OAAOD,CAAIC,CAAAA,CAAG,EACjD,CAAC,EACMD,CCAT,CAAA,CAAA,IAAME,EAAc,CAAA,CAACC,CAA2BC,CAAAA,GAAAA,CAAAA,GAAqB,CACnE,GAAI,CAACN,CAAS,EAAA,MAAA,CAAO,QACnB,CAAA,OAAO,MAAO,CAAA,QAAA,CAAS,KAAM,CAAA,IAAA,CAAM,CAACK,CAAQ,CAAA,GAAGC,CAAI,CAAC,CAE7CV,CAAAA,CAAAA,CAAI,OAAS,CAAA,CAAA,EAAGS,CAAM,CAA0C,wCAAA,CAAA,EAE3E,CAEOE,CAAAA,CAAAA,CAAQH,ECpBf,CAIA,IAAMI,EAAwB,CAAAC,YAAA,CAAA,aAAA,CAC5B,MACF,CAAA,CAEOC,CAAQF,CAAAA,EAAAA,CCKf,IAAMG,EAAAA,CAAa,CAACC,CAAeC,CAAAA,CAAAA,CAAkB,CAAGC,CAAAA,CAAAA,GAAsB,CAC5E,IAAIC,CAAI,CAAA,MAAA,CACJC,EAAKD,CAAE,CAAA,QAAA,CACX,GAAI,OAAOC,CAAO,EAAA,UAAA,CAChBA,CAAG,CAAA,oBAAoB,EACvBA,CAAG,CAAA,QAAA,CAAUD,CAAE,CAAA,gBAAgB,CAC1B,CAAA,KAAA,CACL,IAAIE,CAAAA,CAAI,SACJC,CAAI,CAAA,UAAY,CAClBA,CAAAA,CAAE,CAAE,CAAA,SAAS,EACf,CAAA,CACAA,EAAE,CAAI,CAAA,EACNA,CAAAA,CAAAA,CAAE,CAAI,CAAA,SAAUZ,CAAM,CAAA,CACpBY,EAAE,CAAE,CAAA,IAAA,CAAKZ,CAAI,EACf,CACAS,CAAAA,CAAAA,CAAE,QAAWG,CAAAA,CAAAA,CACb,IAAIC,CAAI,CAAA,UAAY,CAClB,UAAA,CAAW,UAAY,CACrB,IAAIC,CAAAA,CAAIH,EAAE,aAAc,CAAA,QAAQ,CAChCG,CAAAA,CAAAA,CAAE,IAAO,CAAA,iBAAA,CACTA,CAAE,CAAA,KAAA,CAAQ,KACNN,CAAUM,EAAAA,CAAAA,CAAE,YAAa,CAAA,OAAA,CAASN,CAAQ,CAAA,CAC9CM,CAAE,CAAA,GAAA,CAAM,qCAAuCR,CAC/C,CAAA,IAAIS,CAAIJ,CAAAA,CAAAA,CAAE,oBAAqB,CAAA,QAAQ,CAAE,CAAA,CAAC,EAC1CI,CAAE,CAAA,UAAA,CAAW,YAAaD,CAAAA,CAAAA,CAAGC,CAAC,EAChC,CAAGR,CAAAA,CAAO,EACZ,CACI,CAAA,QAAA,CAAS,UAAe,GAAA,UAAA,CAC1BM,CAAE,EAAA,CACOJ,CAAE,CAAA,WAAA,CACXA,EAAE,WAAY,CAAA,QAAA,CAAUI,CAAC,CAAA,CAEzBJ,CAAE,CAAA,gBAAA,CAAiB,MAAQI,CAAAA,CAAAA,CAAG,KAAK,EAEvC,CACF,CAEOG,CAAAA,CAAAA,CAAQX,ECpCR,CAAA,IAAMY,EACXC,CAAAA,CAAAA,GAC4B,CAC5B,wBAA0BA,CAAAA,CAAAA,CAAW,sBACrC,CAAA,SAAA,CAAWA,CAAW,CAAA,SAAA,CACtB,gBAAkBA,CAAAA,CAAAA,CAAW,gBAC7B,kBAAoBA,CAAAA,CAAAA,CAAW,iBAC/B,CAAA,OAAA,CAASA,EAAW,MACpB,CAAA,qBAAA,CAAuBA,CAAW,CAAA,mBAAA,CAClC,iBAAkBA,CAAW,CAAA,eAAA,CAC7B,YAAcA,CAAAA,CAAAA,CAAW,WACzB,CAAA,gBAAA,CAAkBA,CAAW,CAAA,eAC/B,GAEMC,EACJD,CAAAA,CAAAA,EAC8BE,CAAA,CAAA,CAC9B,UAAYF,CAAAA,CAAAA,CAAW,SACvB,CAAA,IAAA,CAAMA,EAAW,IACjB,CAAA,UAAA,CAAYA,CAAW,CAAA,SAAA,CACvB,IAAMA,CAAAA,CAAAA,CAAW,IACjB,CAAA,aAAA,CAAeA,EAAW,YAC1B,CAAA,UAAA,CAAYA,CAAW,CAAA,SAAA,CACvB,IAAMA,CAAAA,CAAAA,CAAW,IACjB,CAAA,OAAA,CAASA,EAAW,OACpB,CAAA,QAAA,CAAUA,CAAW,CAAA,QAAA,CAAA,CAClBA,CAAW,CAAA,gBAAA,CAAA,CAGVG,EACJH,CAAAA,CAAAA,GAC6B,CAC7B,IAAMA,CAAAA,CAAAA,CAAW,IACjB,CAAA,SAAA,CAAWA,CAAW,CAAA,QACxB,CAEaI,CAAAA,CAAAA,EAAAA,CACXJ,GACmB,CApDrB,IAAAK,CAoDyB,CAAA,OAAAH,CAAA,CAAA,CACvB,KAAOF,CAAAA,CAAAA,CAAW,MAClB,OAASA,CAAAA,CAAAA,CAAW,MACpB,CAAA,UAAA,CAAYA,CAAW,CAAA,SAAA,CACvB,IAAMA,CAAAA,CAAAA,CAAW,KACjB,KAAOA,CAAAA,CAAAA,CAAW,KAClB,CAAA,eAAA,CAAiBA,CAAW,CAAA,aAAA,CAC5B,wBAA0BA,CAAAA,CAAAA,CAAW,uBACrC,iBAAmBA,CAAAA,CAAAA,CAAW,gBAC9B,CAAA,YAAA,CAAcA,CAAW,CAAA,WAAA,CACzB,WAAaA,CAAAA,CAAAA,CAAW,WACxB,UAAYA,CAAAA,CAAAA,CAAW,SACvB,CAAA,UAAA,CAAYA,CAAW,CAAA,SAAA,CACvB,QAAUA,CAAAA,CAAAA,CAAW,QACrB,MACEA,CAAAA,CAAAA,CAAW,MACXG,EAAAA,EAAAA,CAAiDH,CAAW,CAAA,MAAM,CACpE,CAAA,SAAA,CAAWA,EAAW,QACtB,CAAA,OAAA,CACEA,CAAW,CAAA,OAAA,EACXC,EAAmDD,CAAAA,CAAAA,CAAW,OAAO,CAAA,CACvE,WAAWK,CAAAL,CAAAA,CAAAA,CAAW,SAAX,GAAA,IAAA,CAAA,MAAA,CAAAK,CAAsB,CAAA,GAAA,CAC/BJ,EAEF,CAAA,CAAA,iBAAA,CAAmBD,EAAW,eAC3BA,CAAAA,CAAAA,CAAAA,CAAW,gBAGHM,CAAAA,CAAAA,CAAAA,CAAAA,CACXC,CAEO9B,EAAAA,CAAAA,CAAgByB,CAAA,CAAA,CAAA,CAAA,EAAA,CAClBH,GAA+CQ,CAAK,CAAA,CAAA,CACpDH,EAAqCG,CAAAA,CAAK,CAC9C,CAAA,CAAA,CNtEUC,IAAAA,EAAAA,CAERH,IAcC,CAdD,IAAAI,CAAAJ,CAAAA,EAAAA,CACH,CAAAjB,KAAAA,CAAAA,CAAAA,CACA,QAAAsB,CAAAA,CAAAA,CAAW,MACX,aAAAC,CAAAA,CAAAA,CACA,QAAAC,CAAAA,CAAAA,CACA,MAAAC,CAAAA,CAAAA,CACA,MAAAC,CAAAA,CAAAA,CACA,oBAAAC,CACA,CAAA,mBAAA,CAAAC,CACA,CAAA,gBAAA,CAAAC,CAAmB,CAAA,CAACzC,CACpB,CAAA,OAAA,CAAA0C,EACA,eAAAC,CAAAA,EAAAA,CACA,QAAA7B,CAAAA,EA9BF,CAkBKmB,CAAAA,CAAAA,CAaAW,EAAAC,CAAAA,CAAAA,CAbAZ,EAaA,CAZH,OAAA,CACA,UACA,CAAA,eAAA,CACA,UACA,CAAA,QAAA,CACA,QACA,CAAA,qBAAA,CACA,sBACA,kBACA,CAAA,SAAA,CACA,iBACA,CAAA,UAAA,CAAA,CAAA,CAGA,IAAMa,CAAAA,CAAiBC,YAAO,CAAA,MAAA,CAAA,KAAK,EAC7BC,CAAsB,CAAAD,YAAA,CAAA,MAAA,CAAO,KAAK,CAAA,CAClC,CAACE,CAAAA,CAAQC,CAAS,CAAA,CAAUH,sBAAS,KAAK,CAAA,CAG1CI,CAAkB,CAAA,MAAA,CAAO,IAAKP,CAAAA,EAAI,CAAE,CAAA,MAAA,CACvCzC,GAAQ,CAACA,CAAAA,CAAI,UAAW,CAAA,OAAO,CAClC,CAAA,CAEIgD,CAAgB,CAAA,MAAA,CAAS,GACpBvD,CACL,CAAA,MAAA,CACA,CACE,sDAAA,CACA,CAAiCuD,8BAAAA,EAAAA,CAAAA,CAAgB,IAAK,CAAA,IAAI,CAAC,CAC7D,CAAA,CAAA,CAAA,CAAE,IAAK,CAAA,EAAE,CACX,CAAA,CAGF,IAAMC,CAAAA,CAAaL,yBAChBhB,CAA0B,EAAA,CACzB,GAAI,CAAC,MAAO,CAAA,QAAA,EAAY,CAACU,CAAAA,CAAkB,CAClC7C,CACL,CAAA,MAAA,CACA,yGACF,CAAA,CACA,MACF,CAEA,GAAIkD,CAAAA,CAAS,QACX,OAMFvC,CAAAA,CAAY,QAAU,CAAA,IAAM,CAC1B2C,CAAAA,CAAU,KAAK,CAAA,CACfb,GAAA,IAAAA,EAAAA,CAAAA,GACF,CAAC,CAAA,CACD9B,CAAY,CAAA,QAAA,CAAU,IAAM,CAC1B2C,EAAU,IAAI,CAAA,CACdZ,CAAA,EAAA,IAAA,EAAAA,IACF,CAAC,CAAA,CACD/B,CAAY,CAAA,qBAAA,CAAuBiC,CAAmB,CAElDD,CAAAA,CAAAA,EACFhC,CAAY,CAAA,qBAAA,CAAuBgC,CAAmB,CAAA,CAGxD,IAAMc,CAAAA,CAAiC3B,IAAA,CACrC,MAAA,CAAQd,CACJ8B,CAAAA,CAAAA,CAAAA,EAAW,CAAE,QAAA,CAAUA,CAAQ,CAAA,CAAA,CAC/BX,GAASD,CAAmCC,CAAAA,CAAK,CAGvD,CAAA,CAAA,MAAA,CAAO,gBAAmBsB,CAAAA,CAAAA,CAC1B9C,CAAY,CAAA,MAAA,CAAQ8C,CAAQ,CAC5BP,CAAAA,CAAAA,CAAS,OAAU,CAAA,KACrB,CACA,CAAA,CACEJ,CACA9B,CAAAA,CAAAA,CACAyB,EACAC,CACAC,CAAAA,CAAAA,CACAC,CACAC,CAAAA,CACF,CACF,CAAA,CAEI,CAACzC,CAAAA,EAASyC,GAAoB,CAACO,CAAAA,CAAc,OAC/C1B,GAAAA,CAAAA,CAAWV,CAAO+B,CAAAA,EAAAA,CAAiB7B,EAAQ,CAAA,CAEvCoB,GACFkB,CAAKjB,CAAAA,CAAa,CAGpBa,CAAAA,CAAAA,CAAc,OAAU,CAAA,IAAA,CAAA,CAG1B,IAAMM,CAAAA,CAAuBP,yBAC3B,CAACQ,CAAAA,CAAsBC,CAA4C,GAAA,CACjE,GAAI,CAAC,MAAO,CAAA,QAAA,EAAY,CAACf,CAAkB,CAAA,CAClC7C,CACL,CAAA,MAAA,CACA,yGACF,CAAA,CACA,MACF,CACA,GAAI,CAACkD,CAAAA,CAAS,OAAS,CAAA,CACdlD,CACL,CAAA,MAAA,CACA,CACE,CAAA,CAAA,EAAI2D,CAAY,CAChB,8CAAA,CAAA,CAAA,CAAA,mCAAA,EAAsCA,CAAY,CAAA,KAAA,CAAA,CAClD,iDACF,CAAA,CAAE,IAAK,CAAA,EAAE,CACX,CACA,CAAA,MACF,CACA,OAAOC,CAAS,EAClB,CACA,CAAA,CAACf,CAAgB,CACnB,CAAA,CAEMgB,CAAiB,CAAAV,YAAA,CAAA,WAAA,CAAY,IAAM,CAClCD,CAAS,CAAA,OAAA,GAEdvC,EAAY,UAAU,CAAA,CACtB,OAAO,MAAA,CAAO,gBACduC,CAAAA,CAAAA,CAAS,OAAU,CAAA,KAAA,EACrB,EAAG,EAAE,CAECY,CAAAA,CAAAA,CAAqBX,YAAY,CAAA,WAAA,CAAA,IAAM,CACtCD,CAAAA,CAAS,UAEdvC,CAAY,CAAA,UAAU,CACtB,CAAA,OAAO,MAAO,CAAA,QAAA,CACd,OAAO,MAAA,CAAO,iBACduC,CAAS,CAAA,OAAA,CAAU,KACrB,EAAA,CAAA,CAAG,EAAE,CAECa,CAAAA,CAAAA,CAAgBZ,yBAAY,IAAM,CACtCO,CAAe,CAAA,QAAA,CAAU,IAAM,CAC7B,IAAMM,CAAAA,CAAkB,KAAK,KAAM,CAAA,IAAI,IAAK,EAAA,CAAE,OAAQ,EAAA,CAAI,GAAI,CAAA,CAC9DrD,EAAY,QAAU,CAAA,CAAE,eAAAqD,CAAAA,CAAgB,CAAC,EAC3C,CAAC,EACH,EAAG,CAACN,CAAc,CAAC,CAAA,CAEbO,CAAe,CAAAd,YAAA,CAAA,WAAA,CAClBhB,CAA0B,EAAA,CACzBuB,EAAe,QAAU,CAAA,IAAM,CAC7B,GAAI,CAACvB,CAAAA,CAAO,CACV4B,CAAAA,GACA,MACF,CACA,IAAMG,CAAAA,CAAWhC,CAAmCC,CAAAA,CAAK,CACzD,CAAA,MAAA,CAAO,iBAAmBL,CAAA,CAAA,CAAA,CAAA,EAAA,CAAK,MAAO,CAAA,gBAAA,CAAA,CAAqBoC,CAC3DvD,CAAAA,CAAAA,CAAAA,CAAY,QAAUuD,CAAAA,CAAQ,EAChC,CAAC,EACH,CACA,CAAA,CAACR,CAAgBK,CAAAA,CAAO,CAC1B,CAAA,CAEMI,EAAahB,YAAY,CAAA,WAAA,CAAA,IAAM,CACnCO,CAAAA,CAAe,MAAQ,CAAA,IAAM,CAC3B/C,CAAAA,CAAY,MAAM,EACpB,CAAC,EACH,CAAA,CAAG,CAAC+C,CAAc,CAAC,CAAA,CAEbU,EAAajB,YAAY,CAAA,WAAA,CAAA,IAAM,CACnCO,CAAAA,CAAe,MAAQ,CAAA,IAAM/C,CAAY,CAAA,MAAM,CAAC,EAClD,CAAA,CAAG,CAAC+C,CAAc,CAAC,CAAA,CAEbW,CAAqB,CAAAlB,YAAA,CAAA,WAAA,CAAY,IAAM,CAC3CO,CAAAA,CAAe,cAAgB,CAAA,IAAM,CACnC/C,CAAAA,CAAY,cAAc,EAC5B,CAAC,EACH,CAAA,CAAG,CAAC+C,CAAc,CAAC,CAAA,CAEbY,CAAuB,CAAAnB,YAAA,CAAA,WAAA,CAC1BjD,GAAqB,CACpBwD,CAAAA,CAAe,gBAAkB,CAAA,IAAM,CAChCxD,CAGHS,CAAAA,CAAAA,CAAY,gBAAkBT,CAAAA,CAAO,EAFrCS,CAAY,CAAA,gBAAgB,EAIhC,CAAC,EACH,CAAA,CACA,CAAC+C,CAAc,CACjB,CAEMa,CAAAA,CAAAA,CAAqBpB,YAAY,CAAA,WAAA,CAAA,IAC9BO,CAAe,CAAA,cAAA,CAAgB,IAC7B/C,CAAAA,CAAY,cAAc,CAClC,CAAA,CACA,CAAC+C,CAAc,CAAC,CAAA,CAEbc,CAAkB,CAAArB,YAAA,CAAA,WAAA,CACrBsB,GAAmB,CAClBf,CAAAA,CAAe,WAAa,CAAA,IAAM,CAChC/C,CAAAA,CAAY,WAAa8D,CAAAA,CAAM,EACjC,CAAC,EACH,CACA,CAAA,CAACf,CAAc,CACjB,CAEMgB,CAAAA,CAAAA,CAAuBvB,yBAC1BwB,CAAwB,EAAA,CACvBjB,CAAe,CAAA,gBAAA,CAAkB,IAAM,CACrC/C,CAAY,CAAA,gBAAA,CAAkBgE,CAAW,EAC3C,CAAC,EACH,CAAA,CACA,CAACjB,CAAc,CACjB,CAAA,CAEMkB,EAAmBzB,YACvB,CAAA,WAAA,CAAA,CAAC0B,CAAepB,CAAAA,CAAAA,GAAsB,CACpCC,CAAAA,CAAe,YAAc,CAAA,IAAM,CAC7BD,CACF9C,CAAAA,CAAAA,CAAY,YAAckE,CAAAA,CAAAA,CAAOpB,CAAQ,CAAA,CAEzC9C,CAAY,CAAA,YAAA,CAAckE,CAAK,EAEnC,CAAC,EACH,CAAA,CACA,CAACnB,CAAc,CACjB,CAAA,CAEMoB,EAAoB3B,YACvB4B,CAAAA,WAAAA,CAAAA,CAAAA,EACCrB,CAAe,CAAA,aAAA,CAAe,IAAM,CAClC/C,CAAY,CAAA,aAAA,CAAeoE,CAAS,EACtC,CAAC,CACH,CAAA,CAACrB,CAAc,CACjB,CAEMsB,CAAAA,CAAAA,CAAkB7B,yBACrB8B,CACCvB,EAAAA,CAAAA,CAAe,WAAa,CAAA,IAAM,CAChC/C,CAAAA,CAAY,WAAasE,CAAAA,CAAS,EACpC,CAAC,CAAA,CACH,CAACvB,CAAc,CACjB,CAAA,CAEMwB,CAAoB,CAAA/B,YAAA,CAAA,WAAA,CACvBgC,GAAqB,CACpBzB,CAAAA,CAAe,aAAe,CAAA,IAAM,CAClC/C,CAAAA,CAAY,aAAewE,CAAAA,CAAQ,EACrC,CAAC,EACH,CACA,CAAA,CAACzB,CAAc,CACjB,CAAA,CAEM0B,CAAiB,CAAAjC,YAAA,CAAA,WAAA,CACpBkC,GACC3B,CAAe,CAAA,UAAA,CAAY,IAAM,CAC/B/C,CAAY,CAAA,UAAA,CAAY0E,CAAM,EAChC,CAAC,CACH,CAAA,CAAC3B,CAAc,CACjB,CAEM4B,CAAAA,CAAAA,CAAmBnC,YACtBoC,CAAAA,WAAAA,CAAAA,CAAAA,EACC7B,EAAe,YAAc,CAAA,IAAM,CACjC/C,CAAAA,CAAY,YAAc4E,CAAAA,CAAQ,EACpC,CAAC,EACH,CAAC7B,CAAc,CACjB,CAAA,CAEM8B,CAAyB,CAAArC,YAAA,CAAA,WAAA,CAC5BsC,CACC/B,EAAAA,CAAAA,CAAe,mBAAoB,IAAM,CACvC/C,CAAY,CAAA,kBAAA,CAAoB8E,CAAc,EAChD,CAAC,CAAA,CACH,CAAC/B,CAAc,CACjB,CAEMgC,CAAAA,EAAAA,CAAsBvC,YAA+B,CAAA,OAAA,CAAA,KAClD,CACL,IAAA,CAAAK,EACA,QAAAK,CAAAA,CAAAA,CACA,YAAAC,CAAAA,CAAAA,CACA,MAAAG,CAAAA,CAAAA,CACA,IAAAE,CAAAA,CAAAA,CACA,KAAAC,CACA,CAAA,MAAA,CAAAf,CACA,CAAA,YAAA,CAAAgB,CACA,CAAA,cAAA,CAAAC,CACA,CAAA,YAAA,CAAAC,EACA,SAAAC,CAAAA,CAAAA,CACA,cAAAE,CAAAA,CAAAA,CACA,UAAAE,CAAAA,CAAAA,CACA,WAAAE,CAAAA,CAAAA,CACA,YAAAI,CACA,CAAA,SAAA,CAAAF,CACA,CAAA,QAAA,CAAAI,CACA,CAAA,UAAA,CAAAE,CACA,CAAA,gBAAA,CAAAE,CACF,CACC,CAAA,CAAA,CACDhC,CACAK,CAAAA,CAAAA,CACAC,CACAG,CAAAA,CAAAA,CACAE,CACAC,CAAAA,CAAAA,CACAf,EACAgB,CACAC,CAAAA,CAAAA,CACAC,CACAC,CAAAA,CAAAA,CACAE,CACAE,CAAAA,CAAAA,CACAE,CACAI,CAAAA,CAAAA,CACAF,EACAI,CACAE,CAAAA,CAAAA,CACAE,CACF,CAAC,CAED,CAAA,OACErC,YAACrC,CAAAA,aAAAA,CAAAA,CAAAA,CAAgB,SAAhB,CAAyB,KAAA,CAAO4E,EAC9BlD,CAAAA,CAAAA,CACH,CAEJ,CAAA,CAEamD,EAAqB,CAAA,IAAM,CACtC,IAAMC,CAAAA,CAAgBzC,YAAWrC,CAAAA,UAAAA,CAAAA,CAAe,CAEhD,CAAA,GAAI8E,CAAY,GAAA,MAAA,CACd,MAAM,IAAI,KAAA,CAAM,uDAAuD,CAAA,CAGzE,OAAOA,CACT,EO9VaC,IAAAA,EAAAA,CAAc,IAClBF,EAAmB","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"]}