New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@fancyapps/fancybox

Package Overview
Dependencies
Maintainers
1
Versions
23
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@fancyapps/fancybox - npm Package Compare versions

Comparing version 3.4.1 to 3.4.2

2

package.json
{
"name": "@fancyapps/fancybox",
"description": "Touch enabled, responsive and fully customizable jQuery lightbox script",
"version": "3.4.1",
"version": "3.4.2",
"homepage": "https://fancyapps.com/fancybox/3/",

@@ -6,0 +6,0 @@ "main": "dist/jquery.fancybox.js",

@@ -188,3 +188,3 @@ // ==========================================================================

self.canTap = true;
self.canTap = !current.$slide.hasClass("fancybox-animated");
self.$target = $target;

@@ -249,4 +249,2 @@ self.$content = $content;

self.$content.css("transition-duration", "");
self.isPanning = true;

@@ -270,4 +268,2 @@ } else {

self.$content.css("transition-duration", "");
self.centerPointStartX = (self.startPoints[0].x + self.startPoints[1].x) * 0.5 - $(window).scrollLeft();

@@ -334,2 +330,3 @@ self.centerPointStartY = (self.startPoints[0].y + self.startPoints[1].y) * 0.5 - $(window).scrollTop();

var self = this,
instance = self.instance,
swiping = self.isSwiping,

@@ -345,5 +342,5 @@ left = self.sliderStartPos.left || 0,

if (self.instance.group.length < 2 && self.opts.vertical) {
if (instance.group.length < 2 && self.opts.vertical) {
self.isSwiping = "y";
} else if (self.instance.isDragging || self.opts.vertical === false || (self.opts.vertical === "auto" && $(window).width() > 800)) {
} else if (instance.isDragging || self.opts.vertical === false || (self.opts.vertical === "auto" && $(window).width() > 800)) {
self.isSwiping = "x";

@@ -356,4 +353,2 @@ } else {

self.canTap = false;
if (self.isSwiping === "y" && $.fancybox.isMobile && self.isScrollable) {

@@ -365,3 +360,3 @@ self.isScrolling = true;

self.instance.isDragging = self.isSwiping;
instance.isDragging = self.isSwiping;

@@ -371,17 +366,30 @@ // Reset points to avoid jumping, because we dropped first swipes to calculate the angle

$.each(self.instance.slides, function(index, slide) {
$.each(instance.slides, function(index, slide) {
var slidePos, stagePos;
$.fancybox.stop(slide.$slide);
slide.$slide.css("transition-duration", "");
slidePos = $.fancybox.getTranslate(slide.$slide);
stagePos = $.fancybox.getTranslate(instance.$refs.stage);
slide.inTransition = false;
slide.$slide
.removeAttr("style")
.removeClass("fancybox-animated")
.removeClass(function(index, className) {
return (className.match(/(^|\s)fancybox-fx-\S+/g) || []).join(" ");
});
if (slide.pos === self.instance.current.pos) {
self.sliderStartPos.left = $.fancybox.getTranslate(slide.$slide).left - $.fancybox.getTranslate(self.instance.$refs.stage).left;
if (slide.pos === instance.current.pos) {
self.sliderStartPos.left = slidePos.left - stagePos.left;
}
$.fancybox.setTranslate(slide.$slide, {
top: slidePos.top - stagePos.top,
left: slidePos.left - stagePos.left
});
});
// Stop slideshow
if (self.instance.SlideShow && self.instance.SlideShow.isActive) {
self.instance.SlideShow.stop();
if (instance.SlideShow && instance.SlideShow.isActive) {
instance.SlideShow.stop();
}

@@ -614,3 +622,2 @@ }

var self = this;
var dMs = Math.max(new Date().getTime() - self.startTime, 1);

@@ -623,2 +630,3 @@ var swiping = self.isSwiping;

self.endPoints = getPointerXY(e);
self.dMs = Math.max(new Date().getTime() - self.startTime, 1);

@@ -648,10 +656,8 @@ self.$container.removeClass("fancybox-is-grabbing");

self.speed = 366;
self.speed = 100;
// Speed in px/ms
self.velocityX = (self.distanceX / dMs) * 0.5;
self.velocityY = (self.distanceY / dMs) * 0.5;
self.velocityX = (self.distanceX / self.dMs) * 0.5;
self.velocityY = (self.distanceY / self.dMs) * 0.5;
self.speedX = Math.max(self.speed * 0.5, Math.min(self.speed * 1.5, (1 / Math.abs(self.velocityX)) * self.speed));
if (panning) {

@@ -671,3 +677,7 @@ self.endPanning();

ret = false,
len = self.instance.group.length;
len = self.instance.group.length,
velocityX = Math.abs(self.velocityX),
distanceX = Math.abs(self.distanceX),
canAdvance = swiping == "x" && len > 1 && ((self.dMs > 130 && distanceX > 10) || distanceX > 50),
speedX = Math.abs((velocityX * self.canvasWidth) / self.canvasWidth) > 0.8 ? 366 : 500;

@@ -689,14 +699,10 @@ self.sliderLastPos = null;

ret = self.instance.close(true, 200);
} else if (swiping == "x" && self.distanceX > 50 && len > 1) {
ret = self.instance.previous(self.speedX);
} else if (swiping == "x" && self.distanceX < -50 && len > 1) {
ret = self.instance.next(self.speedX);
} else if (canAdvance && self.distanceX > 0) {
ret = self.instance.previous(speedX);
} else if (canAdvance && self.distanceX < 0) {
ret = self.instance.next(speedX);
}
if (ret === false && (swiping == "x" || swiping == "y")) {
if (scrolling || len < 2) {
self.instance.centerSlide(self.instance.current, 150);
} else {
self.instance.jumpTo(self.instance.current.index);
}
self.instance.centerSlide(self.instance.current, 150);
}

@@ -710,4 +716,6 @@

Guestures.prototype.endPanning = function() {
var self = this;
var newOffsetX, newOffsetY, newPos;
var self = this,
newOffsetX,
newOffsetY,
newPos;

@@ -718,3 +726,3 @@ if (!self.contentLastPos) {

if (self.opts.momentum === false) {
if (self.opts.momentum === false || self.dMs > 350) {
newOffsetX = self.contentLastPos.left;

@@ -724,4 +732,4 @@ newOffsetY = self.contentLastPos.top;

// Continue movement
newOffsetX = self.contentLastPos.left + self.velocityX * self.speed;
newOffsetY = self.contentLastPos.top + self.velocityY * self.speed;
newOffsetX = self.contentLastPos.left + self.velocityX * 500;
newOffsetY = self.contentLastPos.top + self.velocityY * 500;
}

@@ -728,0 +736,0 @@

@@ -10,28 +10,3 @@ // ==========================================================================

// Formats matching url to final form
var format = function(url, rez, params) {
if (!url) {
return;
}
params = params || "";
if ($.type(params) === "object") {
params = $.param(params, true);
}
$.each(rez, function(key, value) {
url = url.replace("$" + key, value || "");
});
if (params.length) {
url += (url.indexOf("?") > 0 ? "&" : "?") + params;
}
return url;
};
// Object containing properties for each media type
var defaults = {

@@ -64,4 +39,3 @@ youtube: {

show_portrait: 0,
fullscreen: 1,
api: 1
fullscreen: 1
},

@@ -112,2 +86,25 @@ paramPlace: 3,

// Formats matching url to final form
var format = function(url, rez, params) {
if (!url) {
return;
}
params = params || "";
if ($.type(params) === "object") {
params = $.param(params, true);
}
$.each(rez, function(key, value) {
url = url.replace("$" + key, value || "");
});
if (params.length) {
url += (url.indexOf("?") > 0 ? "&" : "?") + params;
}
return url;
};
$(document).on("objectNeedsType.fb", function(e, instance, item) {

@@ -204,2 +201,94 @@ var url = item.src || "",

});
// Load YouTube/Video API on request to detect when video finished playing
var VideoAPILoader = {
youtube: {
src: "https://www.youtube.com/iframe_api",
class: "YT",
loading: false,
loaded: false
},
vimeo: {
src: "https://player.vimeo.com/api/player.js",
class: "Vimeo",
loading: false,
loaded: false
},
load: function(vendor) {
var _this = this,
script;
if (this[vendor].loaded) {
setTimeout(function() {
_this.done(vendor);
});
return;
}
if (this[vendor].loading) {
return;
}
this[vendor].loading = true;
script = document.createElement("script");
script.type = "text/javascript";
script.src = this[vendor].src;
if (vendor === "youtube") {
window.onYouTubeIframeAPIReady = function() {
_this[vendor].loaded = true;
_this.done(vendor);
};
} else {
script.onload = function() {
_this[vendor].loaded = true;
_this.done(vendor);
};
}
document.body.appendChild(script);
},
done: function(vendor) {
var instance, $el, player;
if (vendor === "youtube") {
delete window.onYouTubeIframeAPIReady;
}
instance = $.fancybox.getInstance();
if (instance) {
$el = instance.current.$content.find("iframe");
if (vendor === "youtube" && YT !== undefined && YT) {
player = new YT.Player($el.attr("id"), {
events: {
onStateChange: function(e) {
if (e.data == 0) {
instance.next();
}
}
}
});
} else if (vendor === "vimeo" && Vimeo !== undefined && Vimeo) {
player = new Vimeo.Player($el);
player.on("ended", function() {
instance.next();
});
}
}
}
};
$(document).on({
"afterShow.fb": function(e, instance, current) {
if (instance.group.length > 1 && (current.contentSource === "youtube" || current.contentSource === "vimeo")) {
VideoAPILoader.load(current.contentSource);
}
}
});
})(jQuery);

@@ -23,3 +23,4 @@ // ==========================================================================

autoStart: false,
speed: 3000
speed: 3000,
progress: true
}

@@ -39,10 +40,14 @@ });

init: function() {
var self = this;
var self = this,
instance = self.instance,
opts = instance.group[instance.currIndex].opts.slideShow;
self.$button = self.instance.$refs.toolbar.find("[data-fancybox-play]").on("click", function() {
self.$button = instance.$refs.toolbar.find("[data-fancybox-play]").on("click", function() {
self.toggle();
});
if (self.instance.group.length < 2 || !self.instance.group[self.instance.currIndex].opts.slideShow) {
if (instance.group.length < 2 || !opts) {
self.$button.hide();
} else if (opts.progress) {
self.$progress = $('<div class="fancybox-progress"></div>').appendTo(instance.$refs.inner);
}

@@ -54,24 +59,15 @@ },

instance = self.instance,
current = instance.current,
advance = function() {
if (self.isActive) {
instance.jumpTo((instance.currIndex + 1) % instance.group.length);
}
};
current = instance.current;
// Check if reached last element
if (current && (force === true || current.opts.loop || instance.currIndex < instance.group.length - 1)) {
self.timer = setTimeout(function() {
var $video;
if (self.isActive && current.contentType !== "video") {
if (self.$progress) {
$.fancybox.animate(self.$progress.show(), {scaleX: 1}, current.opts.slideShow.speed);
}
if (self.isActive) {
$video = current.$slide.find("video,audio").filter(":visible:first");
if ($video.length) {
$video.one("ended", advance);
} else {
advance();
}
}
}, current.opts.slideShow.speed);
self.timer = setTimeout(function() {
instance.jumpTo((instance.currIndex + 1) % instance.group.length);
}, current.opts.slideShow.speed);
}
} else {

@@ -90,7 +86,11 @@ self.stop();

self.timer = null;
if (self.$progress) {
self.$progress.removeAttr("style").hide();
}
},
start: function() {
var self = this;
var current = self.instance.current;
var self = this,
current = self.instance.current;

@@ -114,4 +114,4 @@ if (current) {

stop: function() {
var self = this;
var current = self.instance.current;
var self = this,
current = self.instance.current;

@@ -128,2 +128,6 @@ self.clear();

self.instance.trigger("onSlideShowChange", false);
if (self.$progress) {
self.$progress.removeAttr("style").hide();
}
},

@@ -191,4 +195,4 @@

$(document).on("visibilitychange", function() {
var instance = $.fancybox.getInstance();
var SlideShow = instance && instance.SlideShow;
var instance = $.fancybox.getInstance(),
SlideShow = instance && instance.SlideShow;

@@ -195,0 +199,0 @@ if (SlideShow && SlideShow.isActive) {

@@ -114,4 +114,4 @@ // ==========================================================================

i +
'" ' +
(src && src.length ? ' style="background-image:url(' + src + ')" />' : "") +
'"' +
(src && src.length ? ' style="background-image:url(' + src + ')"' : "") +
"></a>"

@@ -118,0 +118,0 @@ );

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc