PageSourceSearch

https://expenseincms.netlify.app/assets/js/hs.fancybox.js

js expenseincms.netlify.app collected 2026-10-03 10:43:52 UTC 5,106 bytes, 150 lines download raw bytes

1/*
2* Fancybox wrapper
3* @version: 2.0.0 (Mon, 25 Nov 2019)
4* @requires: jQuery v3.0 or later, fancybox v3.5.7
5* @author: HtmlStream
6* @event-namespace: .HSCore.components.HSFancyBox
7* @license: Htmlstream Libraries (https://htmlstream.com/licenses)
8* Copyright 2020 Htmlstream
9*/
10
11;(function ($) {
12	'use strict';
13
14	$.HSCore.components.HSFancyBox = {
15		defaults: {
16			parentEl: 'html',
17			baseClass: 'fancybox-theme',
18			slideClass: 'fancybox-slide',
19			speed: 2000,
20			animationEffect: 'fade',
21			slideSpeedCoefficient: 1,
22			infobar: false,
23			slideShow: {
24				autoStart: false,
25				speed: 2000
26			},
27			transitionEffect: 'slide',
28			baseTpl: '<div class="fancybox-container" role="dialog" tabindex="-1">' +
29				'<div class="fancybox-bg"></div>' +
30				'  <div class="fancybox-inner">' +
31				'    <div class="fancybox-infobar">' +
32				'      <span data-fancybox-index></span>&nbsp;/&nbsp;<span data-fancybox-count></span>' +
33				'    </div>' +
34				'    <div class="fancybox-toolbar">{{buttons}}</div>' +
35				'    <div class="fancybox-navigation">{{arrows}}</div>' +
36				'    <div class="fancybox-slider-wrap">' +
37				'      <div class="fancybox-stage"></div>' +
38				'    </div>' +
39				'    <div class="fancybox-caption-wrap">' +
40				'      <div class="fancybox-caption">' +
41				'        <div class="fancybox-caption__body"></div>' +
42				'      </div>' +
43				'    </div>' +
44				'  </div>' +
45				'</div>'
46		},
47
48		init: function (el, options) {
49			if (!el.length) return;
50
51			var context = this,
52				$el = $(el),
53				defaults = Object.assign({}, context.defaults),
54				dataSettings = $el.attr('data-hs-fancybox-options') ? JSON.parse($el.attr('data-hs-fancybox-options')) : {},
55				settings = {
56					beforeShow: function (instance) {
57						var $fancyOverlay = $(instance.$refs.bg[0]),
58							$fancySlide = $(instance.current.$slide),
59							dataSettings = instance.current.opts.$orig[0].dataset.hsFancyboxOptions ? JSON.parse(instance.current.opts.$orig[0].dataset.hsFancyboxOptions) : {},
60							transitionEffectCustom = dataSettings.transitionEffectCustom ? dataSettings.transitionEffectCustom : false,
61							overlayBG = dataSettings.overlayBg,
62							overlayBlurBG = dataSettings.overlayBlurBg;
63
64						if (transitionEffectCustom) {
65							$fancySlide.css('visibility', 'hidden');
66						}
67
68						if (overlayBG) {
69							$fancyOverlay.css({
70								backgroundColor: overlayBG
71							});
72						}
73
74						if (overlayBlurBG) {
75							$('body').addClass('blur-30');
76						}
77					},
78					afterShow: function (instance) {
79						var $fancySlide = $(instance.current.$slide),
80							$fancyPrevSlide = $(instance.group[instance.prevPos].$slide) ? $(instance.group[instance.prevPos].$slide) : null,
81							dataSettings = instance.current.opts.$orig[0].dataset.hsFancyboxOptions ? JSON.parse(instance.current.opts.$orig[0].dataset.hsFancyboxOptions) : {},
82							transitionEffectCustom = dataSettings.transitionEffectCustom ? dataSettings.transitionEffectCustom : false;
83
84						if (transitionEffectCustom) {
85							$fancySlide.css('visibility', 'visible');
86
87							if (!$fancySlide.hasClass('animated')) {
88								$fancySlide.addClass('animated');
89							}
90
91							if ($fancyPrevSlide && !$fancyPrevSlide.hasClass('animated')) {
92								$fancyPrevSlide.addClass('animated');
93							}
94
95							if (!$('body').hasClass('fancybox-opened')) {
96								$fancySlide.addClass(transitionEffectCustom.onShow);
97
98								$fancySlide.on('animationend webkitAnimationEnd oAnimationEnd MSAnimationEnd', function (e) {
99									$fancySlide.removeClass(transitionEffectCustom.onShow);
100
101									$('body').addClass('fancybox-opened');
102								});
103							} else {
104								$fancySlide.addClass(transitionEffectCustom.onShow);
105
106								$fancySlide.on('animationend webkitAnimationEnd oAnimationEnd MSAnimationEnd', function (e) {
107									$fancySlide.removeClass(transitionEffectCustom.onShow);
108								});
109
110								if($fancyPrevSlide) {
111									$fancyPrevSlide.addClass(transitionEffectCustom.onHide);
112
113									$fancyPrevSlide.on('animationend webkitAnimationEnd oAnimationEnd MSAnimationEnd', function (e) {
114										$fancyPrevSlide.removeClass(transitionEffectCustom.onHide);
115									});
116								}
117							}
118						}
119					},
120					beforeClose: function (instance) {
121						var $fancySlide = $(instance.current.$slide),
122							dataSettings = instance.current.opts.$orig[0].dataset.hsFancyboxOptions ? JSON.parse(instance.current.opts.$orig[0].dataset.hsFancyboxOptions) : {},
123							transitionEffectCustom = dataSettings.transitionEffectCustom ? dataSettings.transitionEffectCustom : false,
124							overlayBlurBG = dataSettings.overlayBlurBg;
125
126						if (transitionEffectCustom) {
127							$fancySlide.removeClass(transitionEffectCustom.onShow).addClass(transitionEffectCustom.onHide);
128
129							$('body').removeClass('fancybox-opened');
130						}
131
132						if (overlayBlurBG) {
133							$('body').removeClass('blur-30');
134						}
135					}
136				};
137			settings = $.extend(true, defaults, settings, dataSettings, options);
138
139			/* Start : Init */
140
141			var newFancybox = el.fancybox(settings);
142
143			/* End : Init */
144
145			return newFancybox;
146		}
147
148	};
149
150})(jQuery);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.