{"version":3,"names":["factory","define","amd","jQuery","$","Mosaicflow","container","options","this","trigger","init","dataToOptions","elem","upper","m","l","toUpper","data","key","replace","getImageSizes","image","sizes","height","parseInt","attr","width","utilImage","Image","src","cnt","fn","mosaicflow","args","Array","prototype","slice","call","arguments","each","elm","extend","defaults","itemSelector","columnClass","minItemWidth","minColumns","itemHeightCalculation","threshold","__uid","__uidItemCounter","items","find","columns","columnsHeights","itemsHeights","tempContainer","css","visibility","workOnTemp","autoCalculation","after","that","id","generateUniqueId","refill","window","resize","proxy","numberOfColumns","Math","floor","max","dfbmPhp","cMax","needToRefill","ensureColumns","fillColumns","filter","length","remove","sessionStorage","getItem","addClass","parent","inner","children","apply","map","innerHeight","get","createdCnt","calculatedCnt","workingContainer","neededCnt","columnIdx","column","class","append","lastColumn","eq","hide","diff","splice","columnsCnt","itemsCnt","itemIdx","item","outerHeight","levelBottomEdge","lowestColumn","inArray","min","highestColumn","lastInHighestColumn","last","lastInHighestColumnHeight","lowestHeight","highestHeight","newLowestHeight","add","position","display","appendTo","inlineImages","imageSizes","actualHeight","detach","push","parents","index","not","empty","recomputeHeights","computeHeight","idx"],"sources":["dfbm-masonry.js"],"sourcesContent":["/**\n * Mosaic Flow\n *\n * Pinterest like responsive image grid that doesn’t sucks\n *\n * @requires jQuery\n * @author Artem Sapegin\n * @copyright 2012 Artem Sapegin, http://sapegin.me\n * @license MIT\n *\n * This is a custom version of this plugin, to work nicely with Divi and the Plugin \"Divi - Filterable Blog Module\" by Bruno Bouyajdad from https://indikator-design.com\n *\n */\n\n/*jshint browser:true, jquery:true, white:false, smarttabs:true */\n/*global jQuery:false, define:false*/\n(function(factory) { // Try to register as an anonymous AMD module\n if (typeof define === 'function' && define.amd) {\n define(['jquery'], factory);\n }\n else {\n factory(jQuery);\n }\n}(function($) {\n 'use strict';\n var cnt = 0;\n\n $.fn.mosaicflow = function(options) {\n var args = Array.prototype.slice.call(arguments, 0);\n\n return this.each(function() {\n var elm = $(this);\n var data = elm.data('mosaicflow');\n\n if (!data) {\n options = $.extend({}, $.fn.mosaicflow.defaults, options, dataToOptions(elm));\n data = new Mosaicflow(elm, options);\n elm.data('mosaicflow', data);\n }\n else if (typeof options === 'string') {\n data[options](args[1]);\n }\n });\n };\n\n $.fn.mosaicflow.defaults = {\n itemSelector: '> *',\n columnClass: 'mosaicflow__column',\n minItemWidth: 240,\n minColumns: 2,\n itemHeightCalculation: 'auto',\n threshold: 40\n };\n\n function Mosaicflow(container, options) {\n this.container = container;\n this.options = options;\n\n this.container.trigger('mosaicflow-start');\n this.init();\n this.container.trigger('mosaicflow-ready');\n }\n\n Mosaicflow.prototype = {\n init: function() {\n this.__uid = cnt++;\n this.__uidItemCounter = 0;\n this.items = this.container.find(this.options.itemSelector);\n this.columns = $([]);\n this.columnsHeights = [];\n this.itemsHeights = {};\n this.tempContainer = $('