{"version":3,"sources":["jsdelivr-header.js","/npm/gallery-wall@0.1.0/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,CCNC,SAAS,GACP,aAEC,EAAE,GAAG,YAAc,SAAS,GA2ExB,OA1EA,EAAU,EAAE,OAAO,CAChB,SAAU,SACV,UAAW,WACT,OAAO,EAAE,MAAM,KAAK,OAAO,KAAK,MACnC,EACA,eAAgB,aACf,GAAW,CAAC,GAEf,KAAK,MAAK,WACN,IAAI,EAAK,EAAE,MAEP,EAAY,KAAK,MAAM,EAAG,SAAW,EACrC,EAAY,EACZ,EAAM,GAEV,EAAG,KAAK,EAAQ,UAAU,MAAK,SAAS,GACrC,IAAI,EAAM,EAAE,MAER,EAAI,KAAK,iBACV,EAAI,MAAM,EAAI,KAAK,kBAEnB,EAAI,KAAK,gBAAiB,EAAI,SAGjC,IAAI,EAAW,EAAI,YAAW,GAU9B,GARA,EAAI,IAAI,mBAAoB,OAAO,EAAQ,UAAU,KAAK,GAAK,KAE7C,IAAd,IAED,EAAM,GACN,EAAY,GAGX,GAAY,EAEb,GAAa,EAEb,EAAI,KAAK,OACL,CAEJ,IAAI,EAAO,EAAU,GAAI,EAAgB,EAErC,EAAW,EAAI,GAEhB,EAAQ,EAER,GAAiB,EACjB,EAAQ,KAAK,KAIb,EAAI,KAAK,GAET,EAAQ,EAAW,EACnB,IAAU,GAIb,EAAE,KAAK,GAAK,WACT,IAAI,EAAI,EAAE,MAAM,YAAW,GACvB,EAAS,EAAI,EAAE,MAAM,QAEzB,EAAE,MAAM,MAAM,EAAI,EAAU,GAAK,EAAY,GAAU,EAC1D,IAEA,EAAY,EACZ,EAAM,CACT,CAEA,EAAI,SAAS,EAAQ,eACxB,GACJ,IAEO,IACX,CACJ,CAhFA,CAgFE","file":"/npm/gallery-wall@0.1.0/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/gallery-wall@0.1.0/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","(function($) {\n   \"use strict\";\n\n    $.fn.galleryWall = function(options) {\n        options = $.extend({\n           selector: 'figure',\n           imgSource: function(){\n             return $(this).find('img').attr('src');\n          },\n          processedClass: 'processed'\n        }, options || {});\n\n        this.each(function() {\n            var el = $(this);\n            // jQuery only returns rounded integers\n            var fullWidth = Math.floor(el.width()) - 1;\n            var freeWidth = fullWidth;\n            var row = [];\n\n            el.find(options.selector).each(function(i){\n               var fig = $(this);\n\n               if (fig.data('originalWidth')) {\n                  fig.width(fig.data('originalWidth'));\n               } else {\n                  fig.data('originalWidth', fig.width());\n               }\n\n               var figWidth = fig.outerWidth(true);\n\n               fig.css('background-image', 'url('+options.imgSource.call(fig)+')');\n\n               if (freeWidth === 0) {\n                  // last element fitted perfectly\n                  row = [];\n                  freeWidth = fullWidth;\n               }\n\n               if (figWidth <= freeWidth) {\n                  // enough space\n                  freeWidth -= figWidth;\n\n                  row.push(fig);\n               } else {\n                  // not enough space\n                  var delta, nextRow = [], nextFreeWidth = fullWidth;\n\n                  if (figWidth / 2 > freeWidth) {\n                     // add fig to next row, enlarge all elements in this row\n                     delta = freeWidth;\n\n                     nextFreeWidth -= figWidth;\n                     nextRow.push(fig);\n                  } else {\n                     // resize all elements in this row to make some space for\n                     // the new element\n                     row.push(fig);\n\n                     delta = figWidth - freeWidth;\n                     delta *= -1;\n                  }\n\n                  // resize all elements\n                  $.each(row, function(){\n                     var w = $(this).outerWidth(true);\n                     var margin = w - $(this).width();\n\n                     $(this).width(w - margin + (w / (fullWidth - delta)) * delta);\n                  });\n\n                  freeWidth = nextFreeWidth;\n                  row = nextRow;\n               }\n\n               fig.addClass(options.processedClass);\n            });\n        });\n\n        return this;\n    };\n}(jQuery));\n"]}