Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.isSSR = isSSR;
exports.getScriptContents = getScriptContents;
exports.installScript = installScript;
exports.uninstallScript = uninstallScript;
exports.getScriptId = void 0;

function isSSR() {
  return typeof window === 'undefined';
}

function isLoaded() {
  return typeof window.Intercom !== 'undefined';
}

function getScriptContents(intercomAppId) {
  return "\nwindow.intercomSettings = {app_id: \"".concat(intercomAppId, "\"};\n(function(){var w=window;var ic=w.Intercom;if(typeof ic===\"function\"){ic('reattach_activator');ic('update',w.intercomSettings);}else{var d=document;var i=function(){i.c(arguments);};i.q=[];i.c=function(args){i.q.push(args);};w.Intercom=i;var l=function(){var s=d.createElement('script');s.type='text/javascript';s.async=true;s.src='https://widget.intercom.io/widget/' + w.intercomSettings.app_id;var x=d.getElementsByTagName('script')[0];x.parentNode.insertBefore(s,x);};if(w.attachEvent){w.attachEvent('onload',l);}else{w.addEventListener('load',l,false);}}})();\n");
}

var getScriptId = function getScriptId(intercomAppId) {
  return "doodle-intercom-".concat(intercomAppId);
};

exports.getScriptId = getScriptId;

function installScript(intercomAppId) {
  if (isSSR()) {
    return;
  }

  if (!intercomAppId) {
    console.warn('Cannot install Intercom script, app ID is missing.');
    return;
  } // Check if Intercom is already loaded/present (via GTM for example)


  if (!isLoaded()) {
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.innerHTML = getScriptContents(intercomAppId);
    script.id = getScriptId(intercomAppId);
    document.body.appendChild(script);
  }
}

function uninstallScript(intercomAppId) {
  if (isSSR()) {
    return;
  }

  if (!intercomAppId) {
    console.warn('Cannot uninstall Intercom script, app ID is missing.');
    return;
  } // Don't need to do anything if intercom is not loaded/present


  if (!isLoaded()) {
    return;
  } // Find the Intercom script and remove it from DOM if present


  var script = document.getElementById(getScriptId(intercomAppId));

  if (script) {
    script.parentNode.removeChild(script);
  } // Also clean up the Intercom API


  window.Intercom = undefined;
}