{"version":3,"sources":["jquery.fitvids.js"],"names":["$","fn","fitVids","options","settings","customSelector","ignore","document","getElementById","head","getElementsByTagName","div","createElement","innerHTML","appendChild","childNodes","extend","this","each","selectors","push","ignoreList","$allVideos","find","join","not","$this","parents","length","tagName","toLowerCase","parent","css","isNaN","attr","aspectRatio","parseInt","height","width","videoName","_count","wrap","removeAttr","window","jQuery","Zepto"],"mappings":"CAYC,SAAWA,GAEV,aAEAA,EAAEC,GAAGC,QAAU,SAAUC,GACvB,IAAIC,EAAW,CACbC,eAAgB,KAChBC,OAAQ,MAGV,IAAIC,SAASC,eAAe,kBAAmB,CAE7C,IAAIC,EAAOF,SAASE,MAAQF,SAASG,qBAAqB,QAAQ,GAE9DC,EAAMJ,SAASK,cAAc,OACjCD,EAAIE,UAAY,oUAChBJ,EAAKK,YAAYH,EAAII,WAAW,IAOlC,OAJKZ,GACHH,EAAEgB,OAAQZ,EAAUD,GAGfc,KAAKC,KAAK,WACf,IAAIC,EAAY,CACd,kCACA,6BACA,sCACA,oDACA,SACA,SAGEf,EAASC,gBACXc,EAAUC,KAAKhB,EAASC,gBAG1B,IAAIgB,EAAa,iBAEdjB,EAASE,SACVe,EAAaA,EAAa,KAAOjB,EAASE,QAG5C,IAAIgB,EAAatB,EAAEiB,MAAMM,KAAKJ,EAAUK,KAAK,OAE7CF,GADAA,EAAaA,EAAWG,IAAI,kBACJA,IAAIJ,IAEjBH,KAAK,WACd,IAAIQ,EAAQ1B,EAAEiB,MACd,KAAsC,EAAnCS,EAAMC,QAAQN,GAAYO,QAGM,UAA/BX,KAAKY,QAAQC,eAA6BJ,EAAMK,OAAO,UAAUH,QAAUF,EAAMK,OAAO,8BAA8BH,QAA1H,CACMF,EAAMM,IAAI,WAAcN,EAAMM,IAAI,WAAcC,MAAMP,EAAMQ,KAAK,aAAcD,MAAMP,EAAMQ,KAAK,YAEpGR,EAAMQ,KAAK,SAAU,GACrBR,EAAMQ,KAAK,QAAS,KAEtB,IAEIC,GAF0C,WAA/BlB,KAAKY,QAAQC,eAA+BJ,EAAMQ,KAAK,YAAcD,MAAMG,SAASV,EAAMQ,KAAK,UAAW,KAAUE,SAASV,EAAMQ,KAAK,UAAW,IAAMR,EAAMW,WACjKJ,MAAMG,SAASV,EAAMQ,KAAK,SAAU,KAA2CR,EAAMY,QAA1CF,SAASV,EAAMQ,KAAK,SAAU,KAEtF,IAAIR,EAAMQ,KAAK,QAAQ,CACrB,IAAIK,EAAY,SAAWvC,EAAEC,GAAGC,QAAQsC,OACxCd,EAAMQ,KAAK,OAAQK,GACnBvC,EAAEC,GAAGC,QAAQsC,SAEfd,EAAMe,KAAK,gGAAgGV,OAAO,8BAA8BC,IAAI,cAA8B,IAAdG,EAAmB,KACvLT,EAAMgB,WAAW,UAAUA,WAAW,eAM5C1C,EAAEC,GAAGC,QAAQsC,OAAS,EAzEvB,CA4EGG,OAAOC,QAAUD,OAAOE","file":"jquery.fitvids.js","sourcesContent":["/*jshint browser:true */\n/*!\n* FitVids 1.3\n*\n*\n* Copyright 2017, Chris Coyier + Dave Rupert + Ghost Foundation\n* This is an unofficial release, ported by John O'Nolan\n* Credit to Thierry Koblentz - http://www.alistapart.com/articles/creating-intrinsic-ratios-for-video/\n* Released under the MIT license\n*\n*/\n\n;(function( $ ){\n\n  'use strict';\n\n  $.fn.fitVids = function( options ) {\n    var settings = {\n      customSelector: null,\n      ignore: null\n    };\n\n    if(!document.getElementById('fit-vids-style')) {\n      // appendStyles: https://github.com/toddmotto/fluidvids/blob/master/dist/fluidvids.js\n      var head = document.head || document.getElementsByTagName('head')[0];\n      var css = '.fluid-width-video-container{flex-grow: 1;width:100%;}.fluid-width-video-wrapper{width:100%;position:relative;padding:0;}.fluid-width-video-wrapper iframe,.fluid-width-video-wrapper object,.fluid-width-video-wrapper embed {position:absolute;top:0;left:0;width:100%;height:100%;}';\n      var div = document.createElement(\"div\");\n      div.innerHTML = '<p>x</p><style id=\"fit-vids-style\">' + css + '</style>';\n      head.appendChild(div.childNodes[1]);\n    }\n\n    if ( options ) {\n      $.extend( settings, options );\n    }\n\n    return this.each(function(){\n      var selectors = [\n        'iframe[src*=\"player.vimeo.com\"]',\n        'iframe[src*=\"youtube.com\"]',\n        'iframe[src*=\"youtube-nocookie.com\"]',\n        'iframe[src*=\"kickstarter.com\"][src*=\"video.html\"]',\n        'object',\n        'embed'\n      ];\n\n      if (settings.customSelector) {\n        selectors.push(settings.customSelector);\n      }\n\n      var ignoreList = '.fitvidsignore';\n\n      if(settings.ignore) {\n        ignoreList = ignoreList + ', ' + settings.ignore;\n      }\n\n      var $allVideos = $(this).find(selectors.join(','));\n      $allVideos = $allVideos.not('object object'); // SwfObj conflict patch\n      $allVideos = $allVideos.not(ignoreList); // Disable FitVids on this video.\n\n      $allVideos.each(function(){\n        var $this = $(this);\n        if($this.parents(ignoreList).length > 0) {\n          return; // Disable FitVids on this video.\n        }\n        if (this.tagName.toLowerCase() === 'embed' && $this.parent('object').length || $this.parent('.fluid-width-video-wrapper').length) { return; }\n        if ((!$this.css('height') && !$this.css('width')) && (isNaN($this.attr('height')) || isNaN($this.attr('width'))))\n        {\n          $this.attr('height', 9);\n          $this.attr('width', 16);\n        }\n        var height = ( this.tagName.toLowerCase() === 'object' || ($this.attr('height') && !isNaN(parseInt($this.attr('height'), 10))) ) ? parseInt($this.attr('height'), 10) : $this.height(),\n            width = !isNaN(parseInt($this.attr('width'), 10)) ? parseInt($this.attr('width'), 10) : $this.width(),\n            aspectRatio = height / width;\n        if(!$this.attr('name')){\n          var videoName = 'fitvid' + $.fn.fitVids._count;\n          $this.attr('name', videoName);\n          $.fn.fitVids._count++;\n        }\n        $this.wrap('<div class=\"fluid-width-video-container\"><div class=\"fluid-width-video-wrapper\"></div></div>').parent('.fluid-width-video-wrapper').css('padding-top', (aspectRatio * 100)+'%');\n        $this.removeAttr('height').removeAttr('width');\n      });\n    });\n  };\n\n  // Internal counter for unique video names.\n  $.fn.fitVids._count = 0;\n\n// Works with either jQuery or Zepto\n})( window.jQuery || window.Zepto );\n"]}