(function () { 
 | 
  'use strict'; 
 | 
  
 | 
  function _extends() { 
 | 
    _extends = Object.assign || function (target) { 
 | 
      for (var i = 1; i < arguments.length; i++) { 
 | 
        var source = arguments[i]; 
 | 
  
 | 
        for (var key in source) { 
 | 
          if (Object.prototype.hasOwnProperty.call(source, key)) { 
 | 
            target[key] = source[key]; 
 | 
          } 
 | 
        } 
 | 
      } 
 | 
  
 | 
      return target; 
 | 
    }; 
 | 
  
 | 
    return _extends.apply(this, arguments); 
 | 
  } 
 | 
  
 | 
  /* globals jQuery */ 
 | 
  var $ = jQuery; 
 | 
  $('a').click(function () { 
 | 
    var href = this.href; 
 | 
    var target = window.parent; 
 | 
  
 | 
    var post = function post(message) { 
 | 
      // Todo: Make origin customizable as set by opening window 
 | 
      // Todo: If dropping IE9, avoid stringifying 
 | 
      target.postMessage(JSON.stringify(_extends({ 
 | 
        namespace: 'imagelib' 
 | 
      }, message)), '*'); 
 | 
    }; // Convert Non-SVG images to data URL first 
 | 
    // (this could also have been done server-side by the library) 
 | 
    // Send metadata (also indicates file is about to be sent) 
 | 
  
 | 
  
 | 
    post({ 
 | 
      name: $(this).text(), 
 | 
      id: href 
 | 
    }); 
 | 
  
 | 
    if (!href.includes('.svg')) { 
 | 
      var img = new Image(); 
 | 
  
 | 
      img.onload = function () { 
 | 
        var canvas = document.createElement('canvas'); 
 | 
        canvas.width = this.width; 
 | 
        canvas.height = this.height; // load the raster image into the canvas 
 | 
  
 | 
        canvas.getContext('2d').drawImage(this, 0, 0); // retrieve the data: URL 
 | 
  
 | 
        var data; 
 | 
  
 | 
        try { 
 | 
          data = canvas.toDataURL(); 
 | 
        } catch (err) { 
 | 
          // This fails in Firefox with `file:///` URLs :( 
 | 
          alert('Data URL conversion failed: ' + err); 
 | 
          data = ''; 
 | 
        } 
 | 
  
 | 
        post({ 
 | 
          href: href, 
 | 
          data: data 
 | 
        }); 
 | 
      }; 
 | 
  
 | 
      img.src = href; 
 | 
    } else { 
 | 
      // Do ajax request for image's href value 
 | 
      $.get(href, function (data) { 
 | 
        post({ 
 | 
          href: href, 
 | 
          data: data 
 | 
        }); 
 | 
      }, 'html'); // 'html' is necessary to keep returned data as a string 
 | 
    } 
 | 
  
 | 
    return false; 
 | 
  }); 
 | 
  
 | 
}()); 
 |