text: ;(function() {
    'use strict';
  
    sigma.utils.pkg('sigma.svg.edges');
  
    /**
     * The default edge renderer. It renders the node as a simple line.
     */
    sigma.svg.edges.def = {
  
      /**
       * SVG Element creation.
       *
       * @param  {object}                   edge       The edge object.
       * @param  {object}                   source     The source node object.
       * @param  {object}                   target     The target node object.
       * @param  {configurable}             settings   The settings function.
       */
      create: function(edge, source, target, settings) {
        var color = edge.color,
            prefix = settings('prefix') || '',
            edgeColor = settings('edgeColor'),
            defaultNodeColor = settings('defaultNodeColor'),
            defaultEdgeColor = settings('defaultEdgeColor');
  
        if (!color)
          switch (edgeColor) {
            case 'source':
              color = source.color || defaultNodeColor;
              break;
            case 'target':
              color = target.color || defaultNodeColor;
              break;
            default:
              color = defaultEdgeColor;
              break;
          }
  
        var line = document.createElementNS(settings('xmlns'), 'line');
  
        // Attributes
        line.setAttributeNS(null, 'data-edge-id', edge.id);
        line.setAttributeNS(null, 'class', settings('classPrefix') + '-edge');
        line.setAttributeNS(null, 'stroke', color);
  
        return line;
      },
  
      /**
       * SVG Element update.
       *
       * @param  {object}                   edge       The edge object.
       * @param  {DOMElement}               line       The line DOM Element.
       * @param  {object}                   source     The source node object.
       * @param  {object}                   target     The target node object.
       * @param  {configurable}             settings   The settings function.
       */
      update: function(edge, line, source, target, settings) {
        var prefix = settings('prefix') || '';
  
        line.setAttributeNS(null, 'stroke-width', edge[prefix + 'size'] || 1);
        line.setAttributeNS(null, 'x1', source[prefix + 'x']);
        line.setAttributeNS(null, 'y1', source[prefix + 'y']);
        line.setAttributeNS(null, 'x2', target[prefix + 'x']);
        line.setAttributeNS(null, 'y2', target[prefix + 'y']);
  
        // Showing
        line.style.display = '';
  
        return this;
      }
    };
  })();
  