react-use-facebook-pixel
Version:
Type-safe wrapper for integrating Facebook Pixel
9 lines (8 loc) • 2.32 kB
JavaScript
;var l=Object.defineProperty;var h=(i,t,o)=>t in i?l(i,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):i[t]=o;var n=(i,t,o)=>h(i,typeof t!="symbol"?t+"":t,o);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=()=>{(function(i,t,o,r,e,s,d){i.fbq||(e=i.fbq=function(){e.callMethod?e.callMethod.apply(e,arguments):e.queue.push(arguments)},i._fbq||(i._fbq=e),e.push=e,e.loaded=!0,e.version="2.0",e.queue=[],s=t.createElement(o),s.async=!0,s.src=r,d=t.getElementsByTagName(o)[0],d.parentNode.insertBefore(s,d))})(window,document,"script","https://connect.facebook.net/en_US/fbevents.js")};var c=(i=>(i.AddPaymentInfo="AddPaymentInfo",i.AddToCart="AddToCart",i.AddToWishlist="AddToWishlist",i.CompleteRegistration="CompleteRegistration",i.Contact="Contact",i.CustomizeProduct="CustomizeProduct",i.Donate="Donate",i.FindLocation="FindLocation",i.InitiateCheckout="InitiateCheckout",i.Lead="Lead",i.Purchase="Purchase",i.Schedule="Schedule",i.Search="Search",i.StartTrial="StartTrial",i.SubmitApplication="SubmitApplication",i.Subscribe="Subscribe",i.ViewContent="ViewContent",i.PageView="PageView",i))(c||{});class a{constructor({pixelID:t,debug:o=!0,pageViewOnInit:r=!0,autoConfig:e=!0}){n(this,"autoConfig");n(this,"pixelID");n(this,"debug");n(this,"consolePrefix","[react-use-facebook-pixel]");n(this,"initialized",!1);n(this,"pageViewOnInit");n(this,"externalId");u(),this.pixelID=t,this.debug=o,this.pageViewOnInit=r,this.autoConfig=e}init(t){this.initialized||(this.initialized=!0,window.fbq("set","autoConfig",this.autoConfig,this.pixelID),window.fbq("init",this.pixelID,t),t.external_id&&(this.externalId=t.external_id),this.pageViewOnInit&&this.trackEvent("PageView"),this.debug&&console.log(this.consolePrefix,new Date().toLocaleTimeString(),"Facebook Pixel initialized"))}getExternalId(){return this.externalId}trackEvent(t,o,r){if(!this.initialized&&this.debug){console.error(this.consolePrefix,new Date().toLocaleTimeString(),`
Error`,`
You tried to track event before initialization`);return}window.fbq("track",t,o,r),this.debug&&console.log(this.consolePrefix,new Date().toLocaleTimeString(),`
Event tracked.`,`
Event name: `,t,`
Event data: `,o,`
Event additiona data`,r)}}exports.FacebookPixel=a;exports.TrackableEventNameEnum=c;
//# sourceMappingURL=index.cjs.js.map