react-use-intercom
Advanced tools
Comparing version 5.1.4 to 5.2.0
@@ -225,3 +225,3 @@ import * as React from 'react'; | ||
}; | ||
type IntercomMethod = 'boot' | 'shutdown' | 'update' | 'hide' | 'show' | 'showMessages' | 'showNewMessage' | 'startSurvey' | 'onHide' | 'onShow' | 'onUnreadCountChange' | 'onUserEmailSupplied' | 'trackEvent' | 'getVisitorId' | 'startTour' | 'showArticle' | 'showSpace'; | ||
type IntercomMethod = 'boot' | 'shutdown' | 'update' | 'hide' | 'show' | 'showMessages' | 'showNewMessage' | 'startSurvey' | 'onHide' | 'onShow' | 'onUnreadCountChange' | 'onUserEmailSupplied' | 'trackEvent' | 'getVisitorId' | 'startTour' | 'showArticle' | 'showSpace' | 'showNews'; | ||
type RawIntercomProps = RawMessengerAttributes & RawDataAttributes; | ||
@@ -392,2 +392,15 @@ type RawIntercomBootProps = { | ||
showSpace: (spaceName: IntercomSpace) => void; | ||
/** | ||
* | ||
* Opens the messenger with the specified news | ||
* | ||
* @see {@link https://developers.intercom.com/installing-intercom/docs/intercom-javascript#intercomshownews-newsitemid} | ||
* | ||
* @remarks if a news with the given id doesn't exist, Messenger Home is opened instead | ||
* | ||
* @param newsId The id of the news | ||
* | ||
* @example showNews(123) | ||
*/ | ||
showNews: (newsId: number) => void; | ||
}; | ||
@@ -394,0 +407,0 @@ type IntercomProviderProps = { |
@@ -25,7 +25,7 @@ 'use strict'; | ||
var re=Object.defineProperty;var R=Object.getOwnPropertySymbols;var j=Object.prototype.hasOwnProperty,F=Object.prototype.propertyIsEnumerable;var W=(e,t,r)=>t in e?re(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,m=(e,t)=>{for(var r in t||(t={}))j.call(t,r)&&W(e,r,t[r]);if(R)for(var r of R(t))F.call(t,r)&&W(e,r,t[r]);return e};var H=(e,t)=>{var r={};for(var c in e)j.call(e,c)&&t.indexOf(c)<0&&(r[c]=e[c]);if(e!=null&&R)for(var c of R(e))t.indexOf(c)<0&&F.call(e,c)&&(r[c]=e[c]);return r};var p=(e,t)=>{let r="[react-use-intercom]";switch(e){case"info":console.log(`${r} ${t}`);break;case"warn":console.warn(`${r} ${t}`);break;case"error":console.error(`${r} ${t}`);break;default:console.log(`${r} ${t}`);}};var I=typeof window=="undefined",A=e=>(Object.keys(e).forEach(t=>{e[t]&&typeof e[t]=="object"?A(e[t]):e[t]===void 0&&delete e[t];}),e);var ne=(e,...t)=>{if(!I&&window.Intercom)return window.Intercom.apply(null,[e,...t]);p("error",`${e} Intercom instance is not initalized yet`);},s=ne;var ae=o__namespace.createContext(void 0),P=ae;var se=(e,t=0)=>{var r=window,c=r.Intercom;if(typeof c=="function")c("reattach_activator"),c("update",r.intercomSettings);else {var w=document,l=function(){l.c(arguments);};l.q=[],l.c=function(u){l.q.push(u);},r.Intercom=l;var f=function(){setTimeout(function(){var u=w.createElement("script");u.type="text/javascript",u.async=!0,u.src="https://widget.intercom.io/widget/"+e;var d=w.getElementsByTagName("script")[0];d.parentNode.insertBefore(u,d);},t);};document.readyState==="complete"?f():r.attachEvent?r.attachEvent("onload",f):r.addEventListener("load",f,!1);}},J=se;var ce=e=>({custom_launcher_selector:e.customLauncherSelector,alignment:e.alignment,vertical_padding:e.verticalPadding,horizontal_padding:e.horizontalPadding,hide_default_launcher:e.hideDefaultLauncher,session_duration:e.sessionDuration,action_color:e.actionColor,background_color:e.backgroundColor}),Q=e=>m({company_id:e.companyId,name:e.name,created_at:e.createdAt,plan:e.plan,monthly_spend:e.monthlySpend,user_count:e.userCount,size:e.size,website:e.website,industry:e.industry},e.customAttributes),ie=e=>({type:e.type,image_url:e.imageUrl}),me=e=>{var t;return m({email:e.email,user_id:e.userId,created_at:e.createdAt,name:e.name,phone:e.phone,last_request_at:e.lastRequestAt,unsubscribed_from_emails:e.unsubscribedFromEmails,language_override:e.languageOverride,utm_campaign:e.utmCampaign,utm_content:e.utmContent,utm_medium:e.utmMedium,utm_source:e.utmSource,utm_term:e.utmTerm,avatar:e.avatar&&ie(e.avatar),user_hash:e.userHash,company:e.company&&Q(e.company),companies:(t=e.companies)==null?void 0:t.map(Q)},e.customAttributes)},y=e=>A(m(m({},ce(e)),me(e)));var le=de=>{var _=de,{appId:e,autoBoot:t=!1,autoBootProps:r,children:c,onHide:w,onShow:l,onUnreadCountChange:f,onUserEmailSupplied:u,shouldInitialize:d=!I,apiBase:v,initializeDelay:Y}=_,Z=H(_,["appId","autoBoot","autoBootProps","children","onHide","onShow","onUnreadCountChange","onUserEmailSupplied","shouldInitialize","apiBase","initializeDelay"]);let g=o__namespace.useRef(!1),b=o__namespace.useRef(!1),x=Object.keys(Z).filter(n=>!n.startsWith("data-"));x.length>0&&p("warn",["some invalid props were passed to IntercomProvider. ",`Please check following props: ${x.join(", ")}.`].join(""));let C=o__namespace.useCallback(n=>{if(!window.Intercom&&!d){p("warn","Intercom instance is not initialized because `shouldInitialize` is set to `false` in `IntercomProvider`");return}let i=m(m({app_id:e},v&&{api_base:v}),n&&y(n));window.intercomSettings=i,s("boot",i),g.current=!0;},[v,e,d]),[k,h]=o__namespace.useState(!1),ee=o__namespace.useCallback(()=>{h(!1),w&&w();},[w,h]),te=o__namespace.useCallback(()=>{h(!0),l&&l();},[l,h]);!I&&d&&!b.current&&(J(e,Y),s("onHide",ee),s("onShow",te),s("onUserEmailSupplied",u),f&&s("onUnreadCountChange",f),t&&C(r),b.current=!0);let a=o__namespace.useCallback((n,i)=>{if(!window.Intercom&&!d){p("warn","Intercom instance is not initialized because `shouldInitialize` is set to `false` in `IntercomProvider`");return}if(!g.current){p("warn",[`"${n}" was called but Intercom has not booted yet. `,`Please call 'boot' before calling '${n}' or `,"set 'autoBoot' to true in the IntercomProvider."].join(""));return}return i()},[d]),S=o__namespace.useCallback(()=>{g.current&&(s("shutdown"),delete window.intercomSettings,g.current=!1);},[]),D=o__namespace.useCallback(()=>{g.current&&(s("shutdown"),delete window.Intercom,delete window.intercomSettings,g.current=!1);},[]),M=o__namespace.useCallback(()=>{a("update",()=>{let n=Math.floor(new Date().getTime()/1e3);s("update",{last_request_at:n});});},[a]),E=o__namespace.useCallback(n=>{a("update",()=>{if(!n){M();return}let i=y(n);window.intercomSettings=m(m({},window.intercomSettings),i),s("update",i);});},[a,M]),T=o__namespace.useCallback(()=>{a("hide",()=>{s("hide");});},[a]),$=o__namespace.useCallback(()=>{a("show",()=>s("show"));},[a]),V=o__namespace.useCallback(()=>{a("showMessages",()=>{s("showMessages");});},[a]),z=o__namespace.useCallback(n=>{a("showNewMessage",()=>{n?s("showNewMessage",n):s("showNewMessage");});},[a]),L=o__namespace.useCallback(()=>a("getVisitorId",()=>s("getVisitorId")),[a]),N=o__namespace.useCallback(n=>{a("startTour",()=>{s("startTour",n);});},[a]),q=o__namespace.useCallback((n,i)=>{a("trackEvent",()=>{i?s("trackEvent",n,i):s("trackEvent",n);});},[a]),O=o__namespace.useCallback(n=>a("showArticle",()=>{s("showArticle",n);}),[a]),B=o__namespace.useCallback(n=>a("showSpace",()=>{s("showSpace",n);}),[a]),U=o__namespace.useCallback(n=>{a("startSurvey",()=>{s("startSurvey",n);});},[a]),oe=o__namespace.useMemo(()=>({boot:C,shutdown:S,hardShutdown:D,update:E,hide:T,show:$,isOpen:k,showMessages:V,showNewMessage:z,getVisitorId:L,startTour:N,trackEvent:q,showArticle:O,startSurvey:U,showSpace:B}),[C,S,D,E,T,$,k,V,z,L,N,q,O,U,B]);return o__namespace.createElement(P.Provider,{value:oe},c)},X=()=>{let e=o__namespace.useContext(P);if(e===void 0)throw new Error('"useIntercom" must be used within `IntercomProvider`.');return e};var ue=()=>X(); | ||
var ne=Object.defineProperty;var R=Object.getOwnPropertySymbols;var F=Object.prototype.hasOwnProperty,H=Object.prototype.propertyIsEnumerable;var j=(e,t,r)=>t in e?ne(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,m=(e,t)=>{for(var r in t||(t={}))F.call(t,r)&&j(e,r,t[r]);if(R)for(var r of R(t))H.call(t,r)&&j(e,r,t[r]);return e};var K=(e,t)=>{var r={};for(var c in e)F.call(e,c)&&t.indexOf(c)<0&&(r[c]=e[c]);if(e!=null&&R)for(var c of R(e))t.indexOf(c)<0&&H.call(e,c)&&(r[c]=e[c]);return r};var p=(e,t)=>{let r="[react-use-intercom]";switch(e){case"info":console.log(`${r} ${t}`);break;case"warn":console.warn(`${r} ${t}`);break;case"error":console.error(`${r} ${t}`);break;default:console.log(`${r} ${t}`);}};var h=typeof window=="undefined",A=e=>(Object.keys(e).forEach(t=>{e[t]&&typeof e[t]=="object"?A(e[t]):e[t]===void 0&&delete e[t];}),e);var ae=(e,...t)=>{if(!h&&window.Intercom)return window.Intercom.apply(null,[e,...t]);p("error",`${e} Intercom instance is not initalized yet`);},s=ae;var se=o__namespace.createContext(void 0),P=se;var ce=(e,t=0)=>{var r=window,c=r.Intercom;if(typeof c=="function")c("reattach_activator"),c("update",r.intercomSettings);else {var w=document,l=function(){l.c(arguments);};l.q=[],l.c=function(u){l.q.push(u);},r.Intercom=l;var f=function(){setTimeout(function(){var u=w.createElement("script");u.type="text/javascript",u.async=!0,u.src="https://widget.intercom.io/widget/"+e;var d=w.getElementsByTagName("script")[0];d.parentNode.insertBefore(u,d);},t);};document.readyState==="complete"?f():r.attachEvent?r.attachEvent("onload",f):r.addEventListener("load",f,!1);}},Q=ce;var ie=e=>({custom_launcher_selector:e.customLauncherSelector,alignment:e.alignment,vertical_padding:e.verticalPadding,horizontal_padding:e.horizontalPadding,hide_default_launcher:e.hideDefaultLauncher,session_duration:e.sessionDuration,action_color:e.actionColor,background_color:e.backgroundColor}),X=e=>m({company_id:e.companyId,name:e.name,created_at:e.createdAt,plan:e.plan,monthly_spend:e.monthlySpend,user_count:e.userCount,size:e.size,website:e.website,industry:e.industry},e.customAttributes),me=e=>({type:e.type,image_url:e.imageUrl}),le=e=>{var t;return m({email:e.email,user_id:e.userId,created_at:e.createdAt,name:e.name,phone:e.phone,last_request_at:e.lastRequestAt,unsubscribed_from_emails:e.unsubscribedFromEmails,language_override:e.languageOverride,utm_campaign:e.utmCampaign,utm_content:e.utmContent,utm_medium:e.utmMedium,utm_source:e.utmSource,utm_term:e.utmTerm,avatar:e.avatar&&me(e.avatar),user_hash:e.userHash,company:e.company&&X(e.company),companies:(t=e.companies)==null?void 0:t.map(X)},e.customAttributes)},b=e=>A(m(m({},ie(e)),le(e)));var ue=pe=>{var y=pe,{appId:e,autoBoot:t=!1,autoBootProps:r,children:c,onHide:w,onShow:l,onUnreadCountChange:f,onUserEmailSupplied:u,shouldInitialize:d=!h,apiBase:v,initializeDelay:Z}=y,ee=K(y,["appId","autoBoot","autoBootProps","children","onHide","onShow","onUnreadCountChange","onUserEmailSupplied","shouldInitialize","apiBase","initializeDelay"]);let g=o__namespace.useRef(!1),_=o__namespace.useRef(!1),x=Object.keys(ee).filter(n=>!n.startsWith("data-"));x.length>0&&p("warn",["some invalid props were passed to IntercomProvider. ",`Please check following props: ${x.join(", ")}.`].join(""));let C=o__namespace.useCallback(n=>{if(!window.Intercom&&!d){p("warn","Intercom instance is not initialized because `shouldInitialize` is set to `false` in `IntercomProvider`");return}let i=m(m({app_id:e},v&&{api_base:v}),n&&b(n));window.intercomSettings=i,s("boot",i),g.current=!0;},[v,e,d]),[k,I]=o__namespace.useState(!1),te=o__namespace.useCallback(()=>{I(!1),w&&w();},[w,I]),oe=o__namespace.useCallback(()=>{I(!0),l&&l();},[l,I]);!h&&d&&!_.current&&(Q(e,Z),s("onHide",te),s("onShow",oe),s("onUserEmailSupplied",u),f&&s("onUnreadCountChange",f),t&&C(r),_.current=!0);let a=o__namespace.useCallback((n,i)=>{if(!window.Intercom&&!d){p("warn","Intercom instance is not initialized because `shouldInitialize` is set to `false` in `IntercomProvider`");return}if(!g.current){p("warn",[`"${n}" was called but Intercom has not booted yet. `,`Please call 'boot' before calling '${n}' or `,"set 'autoBoot' to true in the IntercomProvider."].join(""));return}return i()},[d]),S=o__namespace.useCallback(()=>{g.current&&(s("shutdown"),delete window.intercomSettings,g.current=!1);},[]),D=o__namespace.useCallback(()=>{g.current&&(s("shutdown"),delete window.Intercom,delete window.intercomSettings,g.current=!1);},[]),M=o__namespace.useCallback(()=>{a("update",()=>{let n=Math.floor(new Date().getTime()/1e3);s("update",{last_request_at:n});});},[a]),E=o__namespace.useCallback(n=>{a("update",()=>{if(!n){M();return}let i=b(n);window.intercomSettings=m(m({},window.intercomSettings),i),s("update",i);});},[a,M]),T=o__namespace.useCallback(()=>{a("hide",()=>{s("hide");});},[a]),$=o__namespace.useCallback(()=>{a("show",()=>s("show"));},[a]),N=o__namespace.useCallback(()=>{a("showMessages",()=>{s("showMessages");});},[a]),V=o__namespace.useCallback(n=>{a("showNewMessage",()=>{n?s("showNewMessage",n):s("showNewMessage");});},[a]),z=o__namespace.useCallback(()=>a("getVisitorId",()=>s("getVisitorId")),[a]),L=o__namespace.useCallback(n=>{a("startTour",()=>{s("startTour",n);});},[a]),q=o__namespace.useCallback((n,i)=>{a("trackEvent",()=>{i?s("trackEvent",n,i):s("trackEvent",n);});},[a]),O=o__namespace.useCallback(n=>a("showArticle",()=>{s("showArticle",n);}),[a]),B=o__namespace.useCallback(n=>a("showSpace",()=>{s("showSpace",n);}),[a]),U=o__namespace.useCallback(n=>{a("startSurvey",()=>{s("startSurvey",n);});},[a]),W=o__namespace.useCallback(n=>a("showNews",()=>{s("showNews",n);}),[a]),re=o__namespace.useMemo(()=>({boot:C,shutdown:S,hardShutdown:D,update:E,hide:T,show:$,isOpen:k,showMessages:N,showNewMessage:V,getVisitorId:z,startTour:L,trackEvent:q,showArticle:O,startSurvey:U,showSpace:B,showNews:W}),[C,S,D,E,T,$,k,N,V,z,L,q,O,U,B,W]);return o__namespace.createElement(P.Provider,{value:re},c)},Y=()=>{let e=o__namespace.useContext(P);if(e===void 0)throw new Error('"useIntercom" must be used within `IntercomProvider`.');return e};var de=()=>Y(); | ||
exports.IntercomProvider = le; | ||
exports.useIntercom = ue; | ||
exports.IntercomProvider = ue; | ||
exports.useIntercom = de; | ||
//# sourceMappingURL=out.js.map | ||
//# sourceMappingURL=index.js.map |
@@ -7,3 +7,3 @@ { | ||
"homepage": "https://github.com/devrnt/react-use-intercom#readme", | ||
"version": "5.1.4", | ||
"version": "5.2.0", | ||
"license": "MIT", | ||
@@ -63,8 +63,7 @@ "main": "dist/index.js", | ||
"@size-limit/preset-small-lib": "^7.0.3", | ||
"@testing-library/react": "^13.4.0", | ||
"@testing-library/react-hooks": "^8.0.1", | ||
"@testing-library/react": "^14.0.0", | ||
"@types/jest": "^27.5.2", | ||
"@types/node": "^18.11.19", | ||
"@types/react": "^18.0.20", | ||
"@types/react-dom": "^18.0.6", | ||
"@types/react": "^18.2.14", | ||
"@types/react-dom": "^18.2.6", | ||
"eslint-plugin-simple-import-sort": "^10.0.0", | ||
@@ -75,3 +74,3 @@ "jest": "^29.4.1", | ||
"react-dom": "^18.2.0", | ||
"react-test-renderer": "^18.0.0", | ||
"react-test-renderer": "^18.2.0", | ||
"size-limit": "^7.0.3", | ||
@@ -78,0 +77,0 @@ "source-map": "0.6.1", |
@@ -228,3 +228,3 @@ <p align="center"><img src="https://raw.githubusercontent.com/devrnt/react-use-intercom/main/assets/logo.png" alt="Logo" height="120px" style="margin-top: 20px;"/></p> | ||
### IntercomProps | ||
All the Intercom default attributes/props are camel cased (`appId` instead of `app_id`) in `react-use-intercom`, see [IntercomProps](src/types.ts) to see what attributes you can pass to `boot` or `update`. Or check the Intercom [docs](https://developers.intercom.com/installing-intercom/docs/javascript-api-attributes-objects) | ||
All the Intercom default attributes/props are camel cased (`appId` instead of `app_id`) in `react-use-intercom`, see [IntercomProps](https://github.com/devrnt/react-use-intercom/blob/main/packages/react-use-intercom/src/types.ts#L257) to see what attributes you can pass to `boot` or `update`. Or check the Intercom [docs](https://developers.intercom.com/installing-intercom/docs/javascript-api-attributes-objects) | ||
to see all the available attributes/props. | ||
@@ -231,0 +231,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
94394
18
528