diff --git a/view/theme/frio/frameworks/justifiedGallery/jquery.justifiedGallery.min.js b/view/theme/frio/frameworks/justifiedGallery/jquery.justifiedGallery.min.js
index f9a8fe2e38..b920bc6650 100644
--- a/view/theme/frio/frameworks/justifiedGallery/jquery.justifiedGallery.min.js
+++ b/view/theme/frio/frameworks/justifiedGallery/jquery.justifiedGallery.min.js
@@ -1,7 +1,7 @@
/*!
* justifiedGallery - v3.8.1
* http://miromannino.github.io/Justified-Gallery/
- * Copyright (c) 2020 Miro Mannino, Hypolite Petovan, Random Penguin
+ * Copyright (c) 2025 Miro Mannino, Hypolite Petovan, Random Penguin
* Licensed under the MIT license.
*/
(function(factory){if(typeof define==="function"&&define.amd){define(["jquery"],factory)}else if(typeof module==="object"&&module.exports){module.exports=function(root,jQuery){if(jQuery===undefined){if(typeof window!=="undefined"){jQuery=require("jquery")}else{jQuery=require("jquery")(root)}}factory(jQuery);return jQuery}}else{factory(jQuery)}})(function($){var JustifiedGallery=function($gallery,settings){this.settings=settings;this.checkSettings();this.imgAnalyzerTimeout=null;this.entries=null;this.buildingRow={entriesBuff:[],width:0,height:0,aspectRatio:0};this.lastFetchedEntry=null;this.lastAnalyzedIndex=-1;this.yield={every:2,flushed:0};this.border=settings.border>=0?settings.border:settings.margins;this.maxRowHeight=this.retrieveMaxRowHeight();this.suffixRanges=this.retrieveSuffixRanges();this.offY=this.border;this.rows=0;this.spinner={phase:0,timeSlot:150,$el:$('
'),intervalId:null};this.scrollBarOn=false;this.checkWidthIntervalId=null;this.galleryWidth=$gallery.width();this.$gallery=$gallery};JustifiedGallery.prototype.getSuffix=function(width,height){var longestSide,i;longestSide=width>height?width:height;for(i=0;i .jg-caption");return $caption.length===0?null:$caption};JustifiedGallery.prototype.displayEntry=function($entry,x,y,imgWidth,imgHeight,rowHeight){$entry.width(imgWidth);$entry.height(rowHeight);$entry.css("top",y);$entry.css("left",x);var $image=this.imgFromEntry($entry);if($image!==null){$image.css("width",imgWidth);$image.css("height",imgHeight);$image.css("margin-left",-imgWidth/2);$image.css("margin-top",-imgHeight/2);var imageSrc=$image.data("jg.src");if(imageSrc){imageSrc=this.newSrc(imageSrc,imgWidth,imgHeight,$image[0]);$image.one("error",function(){});var loadNewImage=function(){$image.attr("src",imageSrc)};if($entry.data("jg.loaded")==="skipped"&&imageSrc){this.onImageEvent(imageSrc,function(){this.showImg($entry,loadNewImage);$entry.data("jg.loaded",true)}.bind(this))}else{this.showImg($entry,loadNewImage)}}}else{this.showImg($entry)}this.displayEntryCaption($entry)};JustifiedGallery.prototype.displayEntryCaption=function($entry){var $image=this.imgFromEntry($entry);if($image!==null&&this.settings.captions){var $imgCaption=this.captionFromEntry($entry);if($imgCaption===null){var caption=$image.attr("alt");if(!this.isValidCaption(caption))caption=$entry.attr("title");if(this.isValidCaption(caption)){$imgCaption=$('');$entry.append($imgCaption);$entry.data("jg.createdCaption",true)}}if($imgCaption!==null){if(!this.settings.cssAnimation)$imgCaption.stop().fadeTo(0,this.settings.captionSettings.nonVisibleOpacity);this.addCaptionEventsHandlers($entry)}}else{this.removeCaptionEventsHandlers($entry)}};JustifiedGallery.prototype.isValidCaption=function(caption){return typeof caption!=="undefined"&&caption.length>0};JustifiedGallery.prototype.onEntryMouseEnterForCaption=function(eventObject){var $caption=this.captionFromEntry($(eventObject.currentTarget));if(this.settings.cssAnimation){$caption.addClass("jg-caption-visible").removeClass("jg-caption-hidden")}else{$caption.stop().fadeTo(this.settings.captionSettings.animationDuration,this.settings.captionSettings.visibleOpacity)}};JustifiedGallery.prototype.onEntryMouseLeaveForCaption=function(eventObject){var $caption=this.captionFromEntry($(eventObject.currentTarget));if(this.settings.cssAnimation){$caption.removeClass("jg-caption-visible").removeClass("jg-caption-hidden")}else{$caption.stop().fadeTo(this.settings.captionSettings.animationDuration,this.settings.captionSettings.nonVisibleOpacity)}};JustifiedGallery.prototype.addCaptionEventsHandlers=function($entry){var captionMouseEvents=$entry.data("jg.captionMouseEvents");if(typeof captionMouseEvents==="undefined"){captionMouseEvents={mouseenter:$.proxy(this.onEntryMouseEnterForCaption,this),mouseleave:$.proxy(this.onEntryMouseLeaveForCaption,this)};$entry.on("mouseenter",undefined,undefined,captionMouseEvents.mouseenter);$entry.on("mouseleave",undefined,undefined,captionMouseEvents.mouseleave);$entry.data("jg.captionMouseEvents",captionMouseEvents)}};JustifiedGallery.prototype.removeCaptionEventsHandlers=function($entry){var captionMouseEvents=$entry.data("jg.captionMouseEvents");if(typeof captionMouseEvents!=="undefined"){$entry.off("mouseenter",undefined,captionMouseEvents.mouseenter);$entry.off("mouseleave",undefined,captionMouseEvents.mouseleave);$entry.removeData("jg.captionMouseEvents")}};JustifiedGallery.prototype.clearBuildingRow=function(){this.buildingRow.entriesBuff=[];this.buildingRow.aspectRatio=0;this.buildingRow.width=0};JustifiedGallery.prototype.prepareBuildingRow=function(isLastRow,hiddenRow){var i,$entry,imgAspectRatio,newImgW,newImgH,justify=true;var minHeight=0;var availableWidth=this.galleryWidth-2*this.border-(this.buildingRow.entriesBuff.length-1)*this.settings.margins;var rowHeight=availableWidth/this.buildingRow.aspectRatio;var defaultRowHeight=this.settings.rowHeight;var justifiable=this.buildingRow.width/availableWidth>this.settings.justifyThreshold;if(hiddenRow||isLastRow&&this.settings.lastRow==="hide"&&!justifiable){for(i=0;i img, > a > img").fadeTo(0,0)}}return-1}if(isLastRow&&!justifiable&&this.settings.lastRow!=="justify"&&this.settings.lastRow!=="hide"){justify=false;if(this.rows>0){defaultRowHeight=(this.offY-this.border-this.settings.margins*this.rows)/this.rows;justify=defaultRowHeight*this.buildingRow.aspectRatio/availableWidth>this.settings.justifyThreshold}}for(i=0;inewImgH)minHeight=newImgH}this.buildingRow.height=minHeight;return justify};JustifiedGallery.prototype.flushRow=function(isLastRow,hiddenRow){var settings=this.settings;var $entry,buildingRowRes,offX=this.border,i;buildingRowRes=this.prepareBuildingRow(isLastRow,hiddenRow);if(hiddenRow||isLastRow&&settings.lastRow==="hide"&&buildingRowRes===-1){this.clearBuildingRow();return}if(this.maxRowHeight){if(this.maxRowHeightthis.settings.refreshSensitivity){this.galleryWidth=galleryWidth;this.rewind();this.rememberGalleryHeight();this.startImgAnalyzer(true)}},this),this.settings.refreshTime)};JustifiedGallery.prototype.isSpinnerActive=function(){return this.spinner.intervalId!==null};JustifiedGallery.prototype.getSpinnerHeight=function(){return this.spinner.$el.innerHeight()};JustifiedGallery.prototype.stopLoadingSpinnerAnimation=function(){clearInterval(this.spinner.intervalId);this.spinner.intervalId=null;this.setGalleryTempHeight(this.$gallery.height()-this.getSpinnerHeight());this.spinner.$el.detach()};JustifiedGallery.prototype.startLoadingSpinnerAnimation=function(){var spinnerContext=this.spinner;var $spinnerPoints=spinnerContext.$el.find("span");clearInterval(spinnerContext.intervalId);this.$gallery.append(spinnerContext.$el);this.setGalleryTempHeight(this.offY+this.buildingRow.height+this.getSpinnerHeight());spinnerContext.intervalId=setInterval(function(){if(spinnerContext.phase<$spinnerPoints.length){$spinnerPoints.eq(spinnerContext.phase).fadeTo(spinnerContext.timeSlot,1)}else{$spinnerPoints.eq(spinnerContext.phase-$spinnerPoints.length).fadeTo(spinnerContext.timeSlot,0)}spinnerContext.phase=(spinnerContext.phase+1)%($spinnerPoints.length*2)},spinnerContext.timeSlot)};JustifiedGallery.prototype.rewind=function(){this.lastFetchedEntry=null;this.lastAnalyzedIndex=-1;this.offY=this.border;this.rows=0;this.clearBuildingRow()};JustifiedGallery.prototype.getSelectorWithoutSpinner=function(){return this.settings.selector+", div:not(.jg-spinner)"};JustifiedGallery.prototype.getAllEntries=function(){var selector=this.getSelectorWithoutSpinner();return this.$gallery.children(selector).toArray()};JustifiedGallery.prototype.updateEntries=function(norewind){var newEntries;if(norewind&&this.lastFetchedEntry!=null){var selector=this.getSelectorWithoutSpinner();newEntries=$(this.lastFetchedEntry).nextAll(selector).toArray()}else{this.entries=[];newEntries=this.getAllEntries()}if(newEntries.length>0){if($.isFunction(this.settings.sort)){newEntries=this.sortArray(newEntries)}else if(this.settings.randomize){newEntries=this.shuffleArray(newEntries)}this.lastFetchedEntry=newEntries[newEntries.length-1];if(this.settings.filter){newEntries=this.filterArray(newEntries)}else{this.resetFilters(newEntries)}}this.entries=this.entries.concat(newEntries);return true};JustifiedGallery.prototype.insertToGallery=function(entries){var that=this;$.each(entries,function(){$(this).appendTo(that.$gallery)})};JustifiedGallery.prototype.shuffleArray=function(a){var i,j,temp;for(i=a.length-1;i>0;i--){j=Math.floor(Math.random()*(i+1));temp=a[i];a[i]=a[j];a[j]=temp}this.insertToGallery(a);return a};JustifiedGallery.prototype.sortArray=function(a){a.sort(this.settings.sort);this.insertToGallery(a);return a};JustifiedGallery.prototype.resetFilters=function(a){for(var i=0;i0&&this.rows===this.settings.maxRowsCount);if(++this.yield.flushed>=this.yield.every){this.startImgAnalyzer(isForResize);return}}}else if($entry.data("jg.loaded")!=="error"){return}}if(this.buildingRow.entriesBuff.length>0){this.flushRow(true,this.settings.maxRowsCount>0&&this.rows===this.settings.maxRowsCount)}if(this.isSpinnerActive()){this.stopLoadingSpinnerAnimation()}this.stopImgAnalyzerStarter();this.setGalleryFinalHeight(this.galleryHeightToSet);this.settings.triggerEvent.call(this,isForResize?"jg.resize":"jg.complete")};JustifiedGallery.prototype.stopImgAnalyzerStarter=function(){this.yield.flushed=0;if(this.imgAnalyzerTimeout!==null){clearTimeout(this.imgAnalyzerTimeout);this.imgAnalyzerTimeout=null}};JustifiedGallery.prototype.startImgAnalyzer=function(isForResize){var that=this;this.stopImgAnalyzerStarter();this.imgAnalyzerTimeout=setTimeout(function(){that.analyzeImages(isForResize)},.001)};JustifiedGallery.prototype.onImageEvent=function(imageSrc,onLoad,onError){if(!onLoad&&!onError)return;var memImage=new Image;var $memImage=$(memImage);if(onLoad){$memImage.one("load",function(){$memImage.off("load error");onLoad(memImage)})}if(onError){$memImage.one("error",function(){$memImage.off("load error");onError(memImage)})}memImage.src=imageSrc};JustifiedGallery.prototype.init=function(){var imagesToLoad=false,skippedImages=false,that=this;$.each(this.entries,function(index,entry){var $entry=$(entry);var $image=that.imgFromEntry($entry);$entry.addClass("jg-entry");if($entry.data("jg.loaded")!==true&&$entry.data("jg.loaded")!=="skipped"){if(that.settings.rel!==null)$entry.attr("rel",that.settings.rel);if(that.settings.target!==null)$entry.attr("target",that.settings.target);if($image!==null){var imageSrc=that.extractImgSrcFromImage($image);if(that.settings.waitThumbnailsLoad===false||!imageSrc){var width=parseFloat($image.attr("width"));var height=parseFloat($image.attr("height"));if($image.prop("tagName")==="svg"){width=parseFloat($image[0].getBBox().width);height=parseFloat($image[0].getBBox().height)}if(!isNaN(width)&&!isNaN(height)){$entry.data("jg.width",width);$entry.data("jg.height",height);$entry.data("jg.loaded","skipped");skippedImages=true;that.startImgAnalyzer(false);return true}}$entry.data("jg.loaded",false);imagesToLoad=true;if(!that.isSpinnerActive())that.startLoadingSpinnerAnimation();that.onImageEvent(imageSrc,function(loadImg){$entry.data("jg.width",loadImg.width);$entry.data("jg.height",loadImg.height);$entry.data("jg.loaded",true);that.startImgAnalyzer(false)},function(){$entry.data("jg.loaded","error");that.startImgAnalyzer(false)})}else{$entry.data("jg.loaded",true);$entry.data("jg.width",$entry.width()|parseFloat($entry.css("width"))|1);$entry.data("jg.height",$entry.height()|parseFloat($entry.css("height"))|1)}}});if(!imagesToLoad&&!skippedImages)this.startImgAnalyzer(false);this.checkWidth()};JustifiedGallery.prototype.checkOrConvertNumber=function(settingContainer,settingName){if($.type(settingContainer[settingName])==="string"){settingContainer[settingName]=parseFloat(settingContainer[settingName])}if($.type(settingContainer[settingName])==="number"){if(isNaN(settingContainer[settingName]))throw"invalid number for "+settingName}else{throw settingName+" must be a number"}};JustifiedGallery.prototype.checkSizeRangesSuffixes=function(){if($.type(this.settings.sizeRangeSuffixes)!=="object"){throw"sizeRangeSuffixes must be defined and must be an object"}var suffixRanges=[];for(var rangeIdx in this.settings.sizeRangeSuffixes){if(this.settings.sizeRangeSuffixes.hasOwnProperty(rangeIdx))suffixRanges.push(rangeIdx)}var newSizeRngSuffixes={0:""};for(var i=0;i1){throw"justifyThreshold must be in the interval [0,1]"}if($.type(this.settings.cssAnimation)!=="boolean"){throw"cssAnimation must be a boolean"}if($.type(this.settings.captions)!=="boolean")throw"captions must be a boolean";this.checkOrConvertNumber(this.settings.captionSettings,"animationDuration");this.checkOrConvertNumber(this.settings.captionSettings,"visibleOpacity");if(this.settings.captionSettings.visibleOpacity<0||this.settings.captionSettings.visibleOpacity>1){throw"captionSettings.visibleOpacity must be in the interval [0, 1]"}this.checkOrConvertNumber(this.settings.captionSettings,"nonVisibleOpacity");if(this.settings.captionSettings.nonVisibleOpacity<0||this.settings.captionSettings.nonVisibleOpacity>1){throw"captionSettings.nonVisibleOpacity must be in the interval [0, 1]"}this.checkOrConvertNumber(this.settings,"imagesAnimationDuration");this.checkOrConvertNumber(this.settings,"refreshTime");this.checkOrConvertNumber(this.settings,"refreshSensitivity");if($.type(this.settings.randomize)!=="boolean")throw"randomize must be a boolean";if($.type(this.settings.selector)!=="string")throw"selector must be a string";if(this.settings.sort!==false&&!$.isFunction(this.settings.sort)){throw"sort must be false or a comparison function"}if(this.settings.filter!==false&&!$.isFunction(this.settings.filter)&&$.type(this.settings.filter)!=="string"){throw"filter must be false, a string or a filter function"}};JustifiedGallery.prototype.retrieveSuffixRanges=function(){var suffixRanges=[];for(var rangeIdx in this.settings.sizeRangeSuffixes){if(this.settings.sizeRangeSuffixes.hasOwnProperty(rangeIdx))suffixRanges.push(parseInt(rangeIdx,10))}suffixRanges.sort(function(a,b){return a>b?1:a=0?this.settings.border:this.settings.margins;this.maxRowHeight=this.retrieveMaxRowHeight();this.suffixRanges=this.retrieveSuffixRanges()};JustifiedGallery.prototype.defaults={sizeRangeSuffixes:{},thumbnailPath:undefined,rowHeight:120,maxRowHeight:false,maxRowsCount:0,margins:1,border:-1,lastRow:"nojustify",justifyThreshold:.9,waitThumbnailsLoad:true,captions:true,cssAnimation:true,imagesAnimationDuration:500,captionSettings:{animationDuration:500,visibleOpacity:.7,nonVisibleOpacity:0},rel:null,target:null,extension:/\.[^.\\/]+$/,refreshTime:200,refreshSensitivity:0,randomize:false,rtl:false,sort:false,filter:false,selector:"a",imgSelector:"> img, > a > img, > svg, > a > svg",triggerEvent:function(event){this.$gallery.trigger(event)}};$.fn.justifiedGallery=function(arg){return this.each(function(index,gallery){var $gallery=$(gallery);$gallery.addClass("justified-gallery");var controller=$gallery.data("jg.controller");if(typeof controller==="undefined"){if(typeof arg!=="undefined"&&arg!==null&&$.type(arg)!=="object"){if(arg==="destroy")return;throw"The argument must be an object"}controller=new JustifiedGallery($gallery,$.extend({},JustifiedGallery.prototype.defaults,arg));$gallery.data("jg.controller",controller)}else if(arg==="norewind"){}else if(arg==="destroy"){controller.destroy();return}else{controller.updateSettings(arg);controller.rewind()}if(!controller.updateEntries(arg==="norewind"))return;controller.init()})}});