blacklight-gallery 4.7.0 → 4.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 735864f7774b580439e9147a573b0835791cf2ea6444e04c409ecc8bed6911a1
4
- data.tar.gz: '0670846bebf0ba98635f98467abe3ae2d2668eab1c7c542cc29a1a571a1d9851'
3
+ metadata.gz: dc01471ec3693262af068c82021b54fa1e91d7adb63e4fa70948cedc39cf0c1a
4
+ data.tar.gz: c79c557b419b5ae1b7ca31f68e6f0a6aab0823fc449b5e87281b44dd1f69dbb8
5
5
  SHA512:
6
- metadata.gz: 6b1c5c76536fbfd5e6de38db58c905fa3c10497646f2779119b016776c14b40509baeecad64840493062b86c9534853ba38759a7eea859dd1716354dd70f92dd
7
- data.tar.gz: 265e62fe308cb5aa49e3d51bfa00ff392dc66c93a443faeb7e1d19012f46b3980c697d3402219084ad348833d8dcd9a775a5282123bde9ba251c78760a2a5976
6
+ metadata.gz: 1b6e22ebe2b90f69caad2bc78b0d4e23356635fde1cf007dce4a467354b0e5dd371dd6c0fe2855832b113b71e3d7c29ff0497b39a0e7cb7b6da93416792f5e96
7
+ data.tar.gz: 29b3ba9766c854b36c4056a060b36c17b45ec3c8caecc3fe3f61d461b081b6c530a879c217653ae2ce33ba191a345a33a451b5ab993cfc16a83889d1781dda0e
data/.gitignore CHANGED
@@ -4,6 +4,7 @@
4
4
  .config
5
5
  .yardoc
6
6
  Gemfile.lock
7
+ package-lock.json
7
8
  InstalledFiles
8
9
  _yardoc
9
10
  coverage
@@ -17,4 +18,5 @@ test/version_tmp
17
18
  tmp
18
19
  jetty
19
20
  spec/internal
20
- .internal_test_app
21
+ .internal_test_app
22
+ node_modules
data/README.md CHANGED
@@ -26,8 +26,8 @@ Run the gallery generator for Sprockets:
26
26
  Or for node based bundlers add `blacklight-gallery masonry-layout@v4` as a dependencies and add this to your entrypoint:
27
27
  ```js
28
28
  import 'blacklight-gallery/vendor/assets/javascripts/imagesloaded.pkgd.js'
29
- import 'blacklight-gallery/app/assets/javascripts/blacklight_gallery/slideshow'
30
- import 'blacklight-gallery/app/assets/javascripts/blacklight_gallery/masonry'
29
+ import 'blacklight-gallery/app/javascript/blacklight-gallery/slideshow'
30
+ import 'blacklight-gallery/app/javascript/blacklight-gallery/masonry'
31
31
  ```
32
32
 
33
33
  ## Available Views
@@ -0,0 +1,598 @@
1
+ import Blacklight$1 from 'blacklight-frontend';
2
+
3
+ /*!
4
+ * imagesLoaded PACKAGED v5.0.0
5
+ * JavaScript is all like "You images are done yet or what?"
6
+ * MIT License
7
+ */
8
+
9
+ /**
10
+ * EvEmitter v2.1.1
11
+ * Lil' event emitter
12
+ * MIT License
13
+ */
14
+
15
+ ( function( global, factory ) {
16
+ // universal module definition
17
+ if ( typeof module == 'object' && module.exports ) {
18
+ // CommonJS - Browserify, Webpack
19
+ module.exports = factory();
20
+ } else {
21
+ // Browser globals
22
+ global.EvEmitter = factory();
23
+ }
24
+
25
+ }( typeof window != 'undefined' ? window : undefined, function() {
26
+
27
+ function EvEmitter() {}
28
+
29
+ let proto = EvEmitter.prototype;
30
+
31
+ proto.on = function( eventName, listener ) {
32
+ if ( !eventName || !listener ) return this;
33
+
34
+ // set events hash
35
+ let events = this._events = this._events || {};
36
+ // set listeners array
37
+ let listeners = events[ eventName ] = events[ eventName ] || [];
38
+ // only add once
39
+ if ( !listeners.includes( listener ) ) {
40
+ listeners.push( listener );
41
+ }
42
+
43
+ return this;
44
+ };
45
+
46
+ proto.once = function( eventName, listener ) {
47
+ if ( !eventName || !listener ) return this;
48
+
49
+ // add event
50
+ this.on( eventName, listener );
51
+ // set once flag
52
+ // set onceEvents hash
53
+ let onceEvents = this._onceEvents = this._onceEvents || {};
54
+ // set onceListeners object
55
+ let onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || {};
56
+ // set flag
57
+ onceListeners[ listener ] = true;
58
+
59
+ return this;
60
+ };
61
+
62
+ proto.off = function( eventName, listener ) {
63
+ let listeners = this._events && this._events[ eventName ];
64
+ if ( !listeners || !listeners.length ) return this;
65
+
66
+ let index = listeners.indexOf( listener );
67
+ if ( index != -1 ) {
68
+ listeners.splice( index, 1 );
69
+ }
70
+
71
+ return this;
72
+ };
73
+
74
+ proto.emitEvent = function( eventName, args ) {
75
+ let listeners = this._events && this._events[ eventName ];
76
+ if ( !listeners || !listeners.length ) return this;
77
+
78
+ // copy over to avoid interference if .off() in listener
79
+ listeners = listeners.slice( 0 );
80
+ args = args || [];
81
+ // once stuff
82
+ let onceListeners = this._onceEvents && this._onceEvents[ eventName ];
83
+
84
+ for ( let listener of listeners ) {
85
+ let isOnce = onceListeners && onceListeners[ listener ];
86
+ if ( isOnce ) {
87
+ // remove listener
88
+ // remove before trigger to prevent recursion
89
+ this.off( eventName, listener );
90
+ // unset once flag
91
+ delete onceListeners[ listener ];
92
+ }
93
+ // trigger listener
94
+ listener.apply( this, args );
95
+ }
96
+
97
+ return this;
98
+ };
99
+
100
+ proto.allOff = function() {
101
+ delete this._events;
102
+ delete this._onceEvents;
103
+ return this;
104
+ };
105
+
106
+ return EvEmitter;
107
+
108
+ } ) );
109
+ /*!
110
+ * imagesLoaded v5.0.0
111
+ * JavaScript is all like "You images are done yet or what?"
112
+ * MIT License
113
+ */
114
+
115
+ ( function( window, factory ) {
116
+ // universal module definition
117
+ if ( typeof module == 'object' && module.exports ) {
118
+ // CommonJS
119
+ module.exports = factory( window, require('ev-emitter') );
120
+ } else {
121
+ // browser global
122
+ window.imagesLoaded = factory( window, window.EvEmitter );
123
+ }
124
+
125
+ } )( typeof window !== 'undefined' ? window : undefined,
126
+ function factory( window, EvEmitter ) {
127
+
128
+ let $ = window.jQuery;
129
+ let console = window.console;
130
+
131
+ // -------------------------- helpers -------------------------- //
132
+
133
+ // turn element or nodeList into an array
134
+ function makeArray( obj ) {
135
+ // use object if already an array
136
+ if ( Array.isArray( obj ) ) return obj;
137
+
138
+ let isArrayLike = typeof obj == 'object' && typeof obj.length == 'number';
139
+ // convert nodeList to array
140
+ if ( isArrayLike ) return [ ...obj ];
141
+
142
+ // array of single index
143
+ return [ obj ];
144
+ }
145
+
146
+ // -------------------------- imagesLoaded -------------------------- //
147
+
148
+ /**
149
+ * @param {[Array, Element, NodeList, String]} elem
150
+ * @param {[Object, Function]} options - if function, use as callback
151
+ * @param {Function} onAlways - callback function
152
+ * @returns {ImagesLoaded}
153
+ */
154
+ function ImagesLoaded( elem, options, onAlways ) {
155
+ // coerce ImagesLoaded() without new, to be new ImagesLoaded()
156
+ if ( !( this instanceof ImagesLoaded ) ) {
157
+ return new ImagesLoaded( elem, options, onAlways );
158
+ }
159
+ // use elem as selector string
160
+ let queryElem = elem;
161
+ if ( typeof elem == 'string' ) {
162
+ queryElem = document.querySelectorAll( elem );
163
+ }
164
+ // bail if bad element
165
+ if ( !queryElem ) {
166
+ console.error(`Bad element for imagesLoaded ${queryElem || elem}`);
167
+ return;
168
+ }
169
+
170
+ this.elements = makeArray( queryElem );
171
+ this.options = {};
172
+ // shift arguments if no options set
173
+ if ( typeof options == 'function' ) {
174
+ onAlways = options;
175
+ } else {
176
+ Object.assign( this.options, options );
177
+ }
178
+
179
+ if ( onAlways ) this.on( 'always', onAlways );
180
+
181
+ this.getImages();
182
+ // add jQuery Deferred object
183
+ if ( $ ) this.jqDeferred = new $.Deferred();
184
+
185
+ // HACK check async to allow time to bind listeners
186
+ setTimeout( this.check.bind( this ) );
187
+ }
188
+
189
+ ImagesLoaded.prototype = Object.create( EvEmitter.prototype );
190
+
191
+ ImagesLoaded.prototype.getImages = function() {
192
+ this.images = [];
193
+
194
+ // filter & find items if we have an item selector
195
+ this.elements.forEach( this.addElementImages, this );
196
+ };
197
+
198
+ const elementNodeTypes = [ 1, 9, 11 ];
199
+
200
+ /**
201
+ * @param {Node} elem
202
+ */
203
+ ImagesLoaded.prototype.addElementImages = function( elem ) {
204
+ // filter siblings
205
+ if ( elem.nodeName === 'IMG' ) {
206
+ this.addImage( elem );
207
+ }
208
+ // get background image on element
209
+ if ( this.options.background === true ) {
210
+ this.addElementBackgroundImages( elem );
211
+ }
212
+
213
+ // find children
214
+ // no non-element nodes, #143
215
+ let { nodeType } = elem;
216
+ if ( !nodeType || !elementNodeTypes.includes( nodeType ) ) return;
217
+
218
+ let childImgs = elem.querySelectorAll('img');
219
+ // concat childElems to filterFound array
220
+ for ( let img of childImgs ) {
221
+ this.addImage( img );
222
+ }
223
+
224
+ // get child background images
225
+ if ( typeof this.options.background == 'string' ) {
226
+ let children = elem.querySelectorAll( this.options.background );
227
+ for ( let child of children ) {
228
+ this.addElementBackgroundImages( child );
229
+ }
230
+ }
231
+ };
232
+
233
+ const reURL = /url\((['"])?(.*?)\1\)/gi;
234
+
235
+ ImagesLoaded.prototype.addElementBackgroundImages = function( elem ) {
236
+ let style = getComputedStyle( elem );
237
+ // Firefox returns null if in a hidden iframe https://bugzil.la/548397
238
+ if ( !style ) return;
239
+
240
+ // get url inside url("...")
241
+ let matches = reURL.exec( style.backgroundImage );
242
+ while ( matches !== null ) {
243
+ let url = matches && matches[2];
244
+ if ( url ) {
245
+ this.addBackground( url, elem );
246
+ }
247
+ matches = reURL.exec( style.backgroundImage );
248
+ }
249
+ };
250
+
251
+ /**
252
+ * @param {Image} img
253
+ */
254
+ ImagesLoaded.prototype.addImage = function( img ) {
255
+ let loadingImage = new LoadingImage( img );
256
+ this.images.push( loadingImage );
257
+ };
258
+
259
+ ImagesLoaded.prototype.addBackground = function( url, elem ) {
260
+ let background = new Background( url, elem );
261
+ this.images.push( background );
262
+ };
263
+
264
+ ImagesLoaded.prototype.check = function() {
265
+ this.progressedCount = 0;
266
+ this.hasAnyBroken = false;
267
+ // complete if no images
268
+ if ( !this.images.length ) {
269
+ this.complete();
270
+ return;
271
+ }
272
+
273
+ /* eslint-disable-next-line func-style */
274
+ let onProgress = ( image, elem, message ) => {
275
+ // HACK - Chrome triggers event before object properties have changed. #83
276
+ setTimeout( () => {
277
+ this.progress( image, elem, message );
278
+ } );
279
+ };
280
+
281
+ this.images.forEach( function( loadingImage ) {
282
+ loadingImage.once( 'progress', onProgress );
283
+ loadingImage.check();
284
+ } );
285
+ };
286
+
287
+ ImagesLoaded.prototype.progress = function( image, elem, message ) {
288
+ this.progressedCount++;
289
+ this.hasAnyBroken = this.hasAnyBroken || !image.isLoaded;
290
+ // progress event
291
+ this.emitEvent( 'progress', [ this, image, elem ] );
292
+ if ( this.jqDeferred && this.jqDeferred.notify ) {
293
+ this.jqDeferred.notify( this, image );
294
+ }
295
+ // check if completed
296
+ if ( this.progressedCount === this.images.length ) {
297
+ this.complete();
298
+ }
299
+
300
+ if ( this.options.debug && console ) {
301
+ console.log( `progress: ${message}`, image, elem );
302
+ }
303
+ };
304
+
305
+ ImagesLoaded.prototype.complete = function() {
306
+ let eventName = this.hasAnyBroken ? 'fail' : 'done';
307
+ this.isComplete = true;
308
+ this.emitEvent( eventName, [ this ] );
309
+ this.emitEvent( 'always', [ this ] );
310
+ if ( this.jqDeferred ) {
311
+ let jqMethod = this.hasAnyBroken ? 'reject' : 'resolve';
312
+ this.jqDeferred[ jqMethod ]( this );
313
+ }
314
+ };
315
+
316
+ // -------------------------- -------------------------- //
317
+
318
+ function LoadingImage( img ) {
319
+ this.img = img;
320
+ }
321
+
322
+ LoadingImage.prototype = Object.create( EvEmitter.prototype );
323
+
324
+ LoadingImage.prototype.check = function() {
325
+ // If complete is true and browser supports natural sizes,
326
+ // try to check for image status manually.
327
+ let isComplete = this.getIsImageComplete();
328
+ if ( isComplete ) {
329
+ // report based on naturalWidth
330
+ this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' );
331
+ return;
332
+ }
333
+
334
+ // If none of the checks above matched, simulate loading on detached element.
335
+ this.proxyImage = new Image();
336
+ // add crossOrigin attribute. #204
337
+ if ( this.img.crossOrigin ) {
338
+ this.proxyImage.crossOrigin = this.img.crossOrigin;
339
+ }
340
+ this.proxyImage.addEventListener( 'load', this );
341
+ this.proxyImage.addEventListener( 'error', this );
342
+ // bind to image as well for Firefox. #191
343
+ this.img.addEventListener( 'load', this );
344
+ this.img.addEventListener( 'error', this );
345
+ this.proxyImage.src = this.img.currentSrc || this.img.src;
346
+ };
347
+
348
+ LoadingImage.prototype.getIsImageComplete = function() {
349
+ // check for non-zero, non-undefined naturalWidth
350
+ // fixes Safari+InfiniteScroll+Masonry bug infinite-scroll#671
351
+ return this.img.complete && this.img.naturalWidth;
352
+ };
353
+
354
+ LoadingImage.prototype.confirm = function( isLoaded, message ) {
355
+ this.isLoaded = isLoaded;
356
+ let { parentNode } = this.img;
357
+ // emit progress with parent <picture> or self <img>
358
+ let elem = parentNode.nodeName === 'PICTURE' ? parentNode : this.img;
359
+ this.emitEvent( 'progress', [ this, elem, message ] );
360
+ };
361
+
362
+ // ----- events ----- //
363
+
364
+ // trigger specified handler for event type
365
+ LoadingImage.prototype.handleEvent = function( event ) {
366
+ let method = 'on' + event.type;
367
+ if ( this[ method ] ) {
368
+ this[ method ]( event );
369
+ }
370
+ };
371
+
372
+ LoadingImage.prototype.onload = function() {
373
+ this.confirm( true, 'onload' );
374
+ this.unbindEvents();
375
+ };
376
+
377
+ LoadingImage.prototype.onerror = function() {
378
+ this.confirm( false, 'onerror' );
379
+ this.unbindEvents();
380
+ };
381
+
382
+ LoadingImage.prototype.unbindEvents = function() {
383
+ this.proxyImage.removeEventListener( 'load', this );
384
+ this.proxyImage.removeEventListener( 'error', this );
385
+ this.img.removeEventListener( 'load', this );
386
+ this.img.removeEventListener( 'error', this );
387
+ };
388
+
389
+ // -------------------------- Background -------------------------- //
390
+
391
+ function Background( url, element ) {
392
+ this.url = url;
393
+ this.element = element;
394
+ this.img = new Image();
395
+ }
396
+
397
+ // inherit LoadingImage prototype
398
+ Background.prototype = Object.create( LoadingImage.prototype );
399
+
400
+ Background.prototype.check = function() {
401
+ this.img.addEventListener( 'load', this );
402
+ this.img.addEventListener( 'error', this );
403
+ this.img.src = this.url;
404
+ // check if image is already complete
405
+ let isComplete = this.getIsImageComplete();
406
+ if ( isComplete ) {
407
+ this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' );
408
+ this.unbindEvents();
409
+ }
410
+ };
411
+
412
+ Background.prototype.unbindEvents = function() {
413
+ this.img.removeEventListener( 'load', this );
414
+ this.img.removeEventListener( 'error', this );
415
+ };
416
+
417
+ Background.prototype.confirm = function( isLoaded, message ) {
418
+ this.isLoaded = isLoaded;
419
+ this.emitEvent( 'progress', [ this, this.element, message ] );
420
+ };
421
+
422
+ // -------------------------- jQuery -------------------------- //
423
+
424
+ ImagesLoaded.makeJQueryPlugin = function( jQuery ) {
425
+ jQuery = jQuery || window.jQuery;
426
+ if ( !jQuery ) return;
427
+
428
+ // set local variable
429
+ $ = jQuery;
430
+ // $().imagesLoaded()
431
+ $.fn.imagesLoaded = function( options, onAlways ) {
432
+ let instance = new ImagesLoaded( this, options, onAlways );
433
+ return instance.jqDeferred.promise( $( this ) );
434
+ };
435
+ };
436
+ // try making plugin
437
+ ImagesLoaded.makeJQueryPlugin();
438
+
439
+ // -------------------------- -------------------------- //
440
+
441
+ return ImagesLoaded;
442
+
443
+ } );
444
+
445
+ /*!
446
+ * Masonry PACKAGED v4.2.2
447
+ * Cascading grid layout library
448
+ * https://masonry.desandro.com
449
+ * MIT License
450
+ * by David DeSandro
451
+ */
452
+
453
+ !function(t,e){"function"==typeof define&&define.amd?define("jquery-bridget/jquery-bridget",["jquery"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("jquery")):t.jQueryBridget=e(t,t.jQuery);}(window,function(t,e){function i(i,r,a){function h(t,e,n){var o,r="$()."+i+'("'+e+'")';return t.each(function(t,h){var u=a.data(h,i);if(!u)return void s(i+" not initialized. Cannot call methods, i.e. "+r);var d=u[e];if(!d||"_"==e.charAt(0))return void s(r+" is not a valid method");var l=d.apply(u,n);o=void 0===o?l:o;}),void 0!==o?o:t}function u(t,e){t.each(function(t,n){var o=a.data(n,i);o?(o.option(e),o._init()):(o=new r(n,e),a.data(n,i,o));});}a=a||e||t.jQuery,a&&(r.prototype.option||(r.prototype.option=function(t){a.isPlainObject(t)&&(this.options=a.extend(!0,this.options,t));}),a.fn[i]=function(t){if("string"==typeof t){var e=o.call(arguments,1);return h(this,t,e)}return u(this,t),this},n(a));}function n(t){!t||t&&t.bridget||(t.bridget=i);}var o=Array.prototype.slice,r=t.console,s="undefined"==typeof r?function(){}:function(t){r.error(t);};return n(e||t.jQuery),i}),function(t,e){"function"==typeof define&&define.amd?define("ev-emitter/ev-emitter",e):"object"==typeof module&&module.exports?module.exports=e():t.EvEmitter=e();}("undefined"!=typeof window?window:undefined,function(){function t(){}var e=t.prototype;return e.on=function(t,e){if(t&&e){var i=this._events=this._events||{},n=i[t]=i[t]||[];return -1==n.indexOf(e)&&n.push(e),this}},e.once=function(t,e){if(t&&e){this.on(t,e);var i=this._onceEvents=this._onceEvents||{},n=i[t]=i[t]||{};return n[e]=!0,this}},e.off=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){var n=i.indexOf(e);return -1!=n&&i.splice(n,1),this}},e.emitEvent=function(t,e){var i=this._events&&this._events[t];if(i&&i.length){i=i.slice(0),e=e||[];for(var n=this._onceEvents&&this._onceEvents[t],o=0;o<i.length;o++){var r=i[o],s=n&&n[r];s&&(this.off(t,r),delete n[r]),r.apply(this,e);}return this}},e.allOff=function(){delete this._events,delete this._onceEvents;},t}),function(t,e){"function"==typeof define&&define.amd?define("get-size/get-size",e):"object"==typeof module&&module.exports?module.exports=e():t.getSize=e();}(window,function(){function t(t){var e=parseFloat(t),i=-1==t.indexOf("%")&&!isNaN(e);return i&&e}function e(){}function i(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0;u>e;e++){var i=h[e];t[i]=0;}return t}function n(t){var e=getComputedStyle(t);return e||a("Style returned "+e+". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1"),e}function o(){if(!d){d=!0;var e=document.createElement("div");e.style.width="200px",e.style.padding="1px 2px 3px 4px",e.style.borderStyle="solid",e.style.borderWidth="1px 2px 3px 4px",e.style.boxSizing="border-box";var i=document.body||document.documentElement;i.appendChild(e);var o=n(e);s=200==Math.round(t(o.width)),r.isBoxSizeOuter=s,i.removeChild(e);}}function r(e){if(o(),"string"==typeof e&&(e=document.querySelector(e)),e&&"object"==typeof e&&e.nodeType){var r=n(e);if("none"==r.display)return i();var a={};a.width=e.offsetWidth,a.height=e.offsetHeight;for(var d=a.isBorderBox="border-box"==r.boxSizing,l=0;u>l;l++){var c=h[l],f=r[c],m=parseFloat(f);a[c]=isNaN(m)?0:m;}var p=a.paddingLeft+a.paddingRight,g=a.paddingTop+a.paddingBottom,y=a.marginLeft+a.marginRight,v=a.marginTop+a.marginBottom,_=a.borderLeftWidth+a.borderRightWidth,z=a.borderTopWidth+a.borderBottomWidth,E=d&&s,b=t(r.width);b!==!1&&(a.width=b+(E?0:p+_));var x=t(r.height);return x!==!1&&(a.height=x+(E?0:g+z)),a.innerWidth=a.width-(p+_),a.innerHeight=a.height-(g+z),a.outerWidth=a.width+y,a.outerHeight=a.height+v,a}}var s,a="undefined"==typeof console?e:function(t){console.error(t);},h=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],u=h.length,d=!1;return r}),function(t,e){"function"==typeof define&&define.amd?define("desandro-matches-selector/matches-selector",e):"object"==typeof module&&module.exports?module.exports=e():t.matchesSelector=e();}(window,function(){var t=function(){var t=window.Element.prototype;if(t.matches)return "matches";if(t.matchesSelector)return "matchesSelector";for(var e=["webkit","moz","ms","o"],i=0;i<e.length;i++){var n=e[i],o=n+"MatchesSelector";if(t[o])return o}}();return function(e,i){return e[t](i)}}),function(t,e){"function"==typeof define&&define.amd?define("fizzy-ui-utils/utils",["desandro-matches-selector/matches-selector"],function(i){return e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("desandro-matches-selector")):t.fizzyUIUtils=e(t,t.matchesSelector);}(window,function(t,e){var i={};i.extend=function(t,e){for(var i in e)t[i]=e[i];return t},i.modulo=function(t,e){return (t%e+e)%e};var n=Array.prototype.slice;i.makeArray=function(t){if(Array.isArray(t))return t;if(null===t||void 0===t)return [];var e="object"==typeof t&&"number"==typeof t.length;return e?n.call(t):[t]},i.removeFrom=function(t,e){var i=t.indexOf(e);-1!=i&&t.splice(i,1);},i.getParent=function(t,i){for(;t.parentNode&&t!=document.body;)if(t=t.parentNode,e(t,i))return t},i.getQueryElement=function(t){return "string"==typeof t?document.querySelector(t):t},i.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t);},i.filterFindElements=function(t,n){t=i.makeArray(t);var o=[];return t.forEach(function(t){if(t instanceof HTMLElement){if(!n)return void o.push(t);e(t,n)&&o.push(t);for(var i=t.querySelectorAll(n),r=0;r<i.length;r++)o.push(i[r]);}}),o},i.debounceMethod=function(t,e,i){i=i||100;var n=t.prototype[e],o=e+"Timeout";t.prototype[e]=function(){var t=this[o];clearTimeout(t);var e=arguments,r=this;this[o]=setTimeout(function(){n.apply(r,e),delete r[o];},i);};},i.docReady=function(t){var e=document.readyState;"complete"==e||"interactive"==e?setTimeout(t):document.addEventListener("DOMContentLoaded",t);},i.toDashed=function(t){return t.replace(/(.)([A-Z])/g,function(t,e,i){return e+"-"+i}).toLowerCase()};var o=t.console;return i.htmlInit=function(e,n){i.docReady(function(){var r=i.toDashed(n),s="data-"+r,a=document.querySelectorAll("["+s+"]"),h=document.querySelectorAll(".js-"+r),u=i.makeArray(a).concat(i.makeArray(h)),d=s+"-options",l=t.jQuery;u.forEach(function(t){var i,r=t.getAttribute(s)||t.getAttribute(d);try{i=r&&JSON.parse(r);}catch(a){return void(o&&o.error("Error parsing "+s+" on "+t.className+": "+a))}var h=new e(t,i);l&&l.data(t,n,h);});});},i}),function(t,e){"function"==typeof define&&define.amd?define("outlayer/item",["ev-emitter/ev-emitter","get-size/get-size"],e):"object"==typeof module&&module.exports?module.exports=e(require("ev-emitter"),require("get-size")):(t.Outlayer={},t.Outlayer.Item=e(t.EvEmitter,t.getSize));}(window,function(t,e){function i(t){for(var e in t)return !1;return e=null,!0}function n(t,e){t&&(this.element=t,this.layout=e,this.position={x:0,y:0},this._create());}function o(t){return t.replace(/([A-Z])/g,function(t){return "-"+t.toLowerCase()})}var r=document.documentElement.style,s="string"==typeof r.transition?"transition":"WebkitTransition",a="string"==typeof r.transform?"transform":"WebkitTransform",h={WebkitTransition:"webkitTransitionEnd",transition:"transitionend"}[s],u={transform:a,transition:s,transitionDuration:s+"Duration",transitionProperty:s+"Property",transitionDelay:s+"Delay"},d=n.prototype=Object.create(t.prototype);d.constructor=n,d._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"});},d.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t);},d.getSize=function(){this.size=e(this.element);},d.css=function(t){var e=this.element.style;for(var i in t){var n=u[i]||i;e[n]=t[i];}},d.getPosition=function(){var t=getComputedStyle(this.element),e=this.layout._getOption("originLeft"),i=this.layout._getOption("originTop"),n=t[e?"left":"right"],o=t[i?"top":"bottom"],r=parseFloat(n),s=parseFloat(o),a=this.layout.size;-1!=n.indexOf("%")&&(r=r/100*a.width),-1!=o.indexOf("%")&&(s=s/100*a.height),r=isNaN(r)?0:r,s=isNaN(s)?0:s,r-=e?a.paddingLeft:a.paddingRight,s-=i?a.paddingTop:a.paddingBottom,this.position.x=r,this.position.y=s;},d.layoutPosition=function(){var t=this.layout.size,e={},i=this.layout._getOption("originLeft"),n=this.layout._getOption("originTop"),o=i?"paddingLeft":"paddingRight",r=i?"left":"right",s=i?"right":"left",a=this.position.x+t[o];e[r]=this.getXValue(a),e[s]="";var h=n?"paddingTop":"paddingBottom",u=n?"top":"bottom",d=n?"bottom":"top",l=this.position.y+t[h];e[u]=this.getYValue(l),e[d]="",this.css(e),this.emitEvent("layout",[this]);},d.getXValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&!e?t/this.layout.size.width*100+"%":t+"px"},d.getYValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&e?t/this.layout.size.height*100+"%":t+"px"},d._transitionTo=function(t,e){this.getPosition();var i=this.position.x,n=this.position.y,o=t==this.position.x&&e==this.position.y;if(this.setPosition(t,e),o&&!this.isTransitioning)return void this.layoutPosition();var r=t-i,s=e-n,a={};a.transform=this.getTranslate(r,s),this.transition({to:a,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0});},d.getTranslate=function(t,e){var i=this.layout._getOption("originLeft"),n=this.layout._getOption("originTop");return t=i?t:-t,e=n?e:-e,"translate3d("+t+"px, "+e+"px, 0)"},d.goTo=function(t,e){this.setPosition(t,e),this.layoutPosition();},d.moveTo=d._transitionTo,d.setPosition=function(t,e){this.position.x=parseFloat(t),this.position.y=parseFloat(e);},d._nonTransition=function(t){this.css(t.to),t.isCleaning&&this._removeStyles(t.to);for(var e in t.onTransitionEnd)t.onTransitionEnd[e].call(this);},d.transition=function(t){if(!parseFloat(this.layout.options.transitionDuration))return void this._nonTransition(t);var e=this._transn;for(var i in t.onTransitionEnd)e.onEnd[i]=t.onTransitionEnd[i];for(i in t.to)e.ingProperties[i]=!0,t.isCleaning&&(e.clean[i]=!0);if(t.from){this.css(t.from);this.element.offsetHeight;}this.enableTransition(t.to),this.css(t.to),this.isTransitioning=!0;};var l="opacity,"+o(a);d.enableTransition=function(){if(!this.isTransitioning){var t=this.layout.options.transitionDuration;t="number"==typeof t?t+"ms":t,this.css({transitionProperty:l,transitionDuration:t,transitionDelay:this.staggerDelay||0}),this.element.addEventListener(h,this,!1);}},d.onwebkitTransitionEnd=function(t){this.ontransitionend(t);},d.onotransitionend=function(t){this.ontransitionend(t);};var c={"-webkit-transform":"transform"};d.ontransitionend=function(t){if(t.target===this.element){var e=this._transn,n=c[t.propertyName]||t.propertyName;if(delete e.ingProperties[n],i(e.ingProperties)&&this.disableTransition(),n in e.clean&&(this.element.style[t.propertyName]="",delete e.clean[n]),n in e.onEnd){var o=e.onEnd[n];o.call(this),delete e.onEnd[n];}this.emitEvent("transitionEnd",[this]);}},d.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(h,this,!1),this.isTransitioning=!1;},d._removeStyles=function(t){var e={};for(var i in t)e[i]="";this.css(e);};var f={transitionProperty:"",transitionDuration:"",transitionDelay:""};return d.removeTransitionStyles=function(){this.css(f);},d.stagger=function(t){t=isNaN(t)?0:t,this.staggerDelay=t+"ms";},d.removeElem=function(){this.element.parentNode.removeChild(this.element),this.css({display:""}),this.emitEvent("remove",[this]);},d.remove=function(){return s&&parseFloat(this.layout.options.transitionDuration)?(this.once("transitionEnd",function(){this.removeElem();}),void this.hide()):void this.removeElem()},d.reveal=function(){delete this.isHidden,this.css({display:""});var t=this.layout.options,e={},i=this.getHideRevealTransitionEndProperty("visibleStyle");e[i]=this.onRevealTransitionEnd,this.transition({from:t.hiddenStyle,to:t.visibleStyle,isCleaning:!0,onTransitionEnd:e});},d.onRevealTransitionEnd=function(){this.isHidden||this.emitEvent("reveal");},d.getHideRevealTransitionEndProperty=function(t){var e=this.layout.options[t];if(e.opacity)return "opacity";for(var i in e)return i},d.hide=function(){this.isHidden=!0,this.css({display:""});var t=this.layout.options,e={},i=this.getHideRevealTransitionEndProperty("hiddenStyle");e[i]=this.onHideTransitionEnd,this.transition({from:t.visibleStyle,to:t.hiddenStyle,isCleaning:!0,onTransitionEnd:e});},d.onHideTransitionEnd=function(){this.isHidden&&(this.css({display:"none"}),this.emitEvent("hide"));},d.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""});},n}),function(t,e){"function"==typeof define&&define.amd?define("outlayer/outlayer",["ev-emitter/ev-emitter","get-size/get-size","fizzy-ui-utils/utils","./item"],function(i,n,o,r){return e(t,i,n,o,r)}):"object"==typeof module&&module.exports?module.exports=e(t,require("ev-emitter"),require("get-size"),require("fizzy-ui-utils"),require("./item")):t.Outlayer=e(t,t.EvEmitter,t.getSize,t.fizzyUIUtils,t.Outlayer.Item);}(window,function(t,e,i,n,o){function r(t,e){var i=n.getQueryElement(t);if(!i)return void(h&&h.error("Bad element for "+this.constructor.namespace+": "+(i||t)));this.element=i,u&&(this.$element=u(this.element)),this.options=n.extend({},this.constructor.defaults),this.option(e);var o=++l;this.element.outlayerGUID=o,c[o]=this,this._create();var r=this._getOption("initLayout");r&&this.layout();}function s(t){function e(){t.apply(this,arguments);}return e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e}function a(t){if("number"==typeof t)return t;var e=t.match(/(^\d*\.?\d*)(\w*)/),i=e&&e[1],n=e&&e[2];if(!i.length)return 0;i=parseFloat(i);var o=m[n]||1;return i*o}var h=t.console,u=t.jQuery,d=function(){},l=0,c={};r.namespace="outlayer",r.Item=o,r.defaults={containerStyle:{position:"relative"},initLayout:!0,originLeft:!0,originTop:!0,resize:!0,resizeContainer:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}};var f=r.prototype;n.extend(f,e.prototype),f.option=function(t){n.extend(this.options,t);},f._getOption=function(t){var e=this.constructor.compatOptions[t];return e&&void 0!==this.options[e]?this.options[e]:this.options[t]},r.compatOptions={initLayout:"isInitLayout",horizontal:"isHorizontal",layoutInstant:"isLayoutInstant",originLeft:"isOriginLeft",originTop:"isOriginTop",resize:"isResizeBound",resizeContainer:"isResizingContainer"},f._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),n.extend(this.element.style,this.options.containerStyle);var t=this._getOption("resize");t&&this.bindResize();},f.reloadItems=function(){this.items=this._itemize(this.element.children);},f._itemize=function(t){for(var e=this._filterFindItemElements(t),i=this.constructor.Item,n=[],o=0;o<e.length;o++){var r=e[o],s=new i(r,this);n.push(s);}return n},f._filterFindItemElements=function(t){return n.filterFindElements(t,this.options.itemSelector)},f.getItemElements=function(){return this.items.map(function(t){return t.element})},f.layout=function(){this._resetLayout(),this._manageStamps();var t=this._getOption("layoutInstant"),e=void 0!==t?t:!this._isLayoutInited;this.layoutItems(this.items,e),this._isLayoutInited=!0;},f._init=f.layout,f._resetLayout=function(){this.getSize();},f.getSize=function(){this.size=i(this.element);},f._getMeasurement=function(t,e){var n,o=this.options[t];o?("string"==typeof o?n=this.element.querySelector(o):o instanceof HTMLElement&&(n=o),this[t]=n?i(n)[e]:o):this[t]=0;},f.layoutItems=function(t,e){t=this._getItemsForLayout(t),this._layoutItems(t,e),this._postLayout();},f._getItemsForLayout=function(t){return t.filter(function(t){return !t.isIgnored})},f._layoutItems=function(t,e){if(this._emitCompleteOnItems("layout",t),t&&t.length){var i=[];t.forEach(function(t){var n=this._getItemLayoutPosition(t);n.item=t,n.isInstant=e||t.isLayoutInstant,i.push(n);},this),this._processLayoutQueue(i);}},f._getItemLayoutPosition=function(){return {x:0,y:0}},f._processLayoutQueue=function(t){this.updateStagger(),t.forEach(function(t,e){this._positionItem(t.item,t.x,t.y,t.isInstant,e);},this);},f.updateStagger=function(){var t=this.options.stagger;return null===t||void 0===t?void(this.stagger=0):(this.stagger=a(t),this.stagger)},f._positionItem=function(t,e,i,n,o){n?t.goTo(e,i):(t.stagger(o*this.stagger),t.moveTo(e,i));},f._postLayout=function(){this.resizeContainer();},f.resizeContainer=function(){var t=this._getOption("resizeContainer");if(t){var e=this._getContainerSize();e&&(this._setContainerMeasure(e.width,!0),this._setContainerMeasure(e.height,!1));}},f._getContainerSize=d,f._setContainerMeasure=function(t,e){if(void 0!==t){var i=this.size;i.isBorderBox&&(t+=e?i.paddingLeft+i.paddingRight+i.borderLeftWidth+i.borderRightWidth:i.paddingBottom+i.paddingTop+i.borderTopWidth+i.borderBottomWidth),t=Math.max(t,0),this.element.style[e?"width":"height"]=t+"px";}},f._emitCompleteOnItems=function(t,e){function i(){o.dispatchEvent(t+"Complete",null,[e]);}function n(){s++,s==r&&i();}var o=this,r=e.length;if(!e||!r)return void i();var s=0;e.forEach(function(e){e.once(t,n);});},f.dispatchEvent=function(t,e,i){var n=e?[e].concat(i):i;if(this.emitEvent(t,n),u)if(this.$element=this.$element||u(this.element),e){var o=u.Event(e);o.type=t,this.$element.trigger(o,i);}else this.$element.trigger(t,i);},f.ignore=function(t){var e=this.getItem(t);e&&(e.isIgnored=!0);},f.unignore=function(t){var e=this.getItem(t);e&&delete e.isIgnored;},f.stamp=function(t){t=this._find(t),t&&(this.stamps=this.stamps.concat(t),t.forEach(this.ignore,this));},f.unstamp=function(t){t=this._find(t),t&&t.forEach(function(t){n.removeFrom(this.stamps,t),this.unignore(t);},this);},f._find=function(t){return t?("string"==typeof t&&(t=this.element.querySelectorAll(t)),t=n.makeArray(t)):void 0},f._manageStamps=function(){this.stamps&&this.stamps.length&&(this._getBoundingRect(),this.stamps.forEach(this._manageStamp,this));},f._getBoundingRect=function(){var t=this.element.getBoundingClientRect(),e=this.size;this._boundingRect={left:t.left+e.paddingLeft+e.borderLeftWidth,top:t.top+e.paddingTop+e.borderTopWidth,right:t.right-(e.paddingRight+e.borderRightWidth),bottom:t.bottom-(e.paddingBottom+e.borderBottomWidth)};},f._manageStamp=d,f._getElementOffset=function(t){var e=t.getBoundingClientRect(),n=this._boundingRect,o=i(t),r={left:e.left-n.left-o.marginLeft,top:e.top-n.top-o.marginTop,right:n.right-e.right-o.marginRight,bottom:n.bottom-e.bottom-o.marginBottom};return r},f.handleEvent=n.handleEvent,f.bindResize=function(){t.addEventListener("resize",this),this.isResizeBound=!0;},f.unbindResize=function(){t.removeEventListener("resize",this),this.isResizeBound=!1;},f.onresize=function(){this.resize();},n.debounceMethod(r,"onresize",100),f.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout();},f.needsResizeLayout=function(){var t=i(this.element),e=this.size&&t;return e&&t.innerWidth!==this.size.innerWidth},f.addItems=function(t){var e=this._itemize(t);return e.length&&(this.items=this.items.concat(e)),e},f.appended=function(t){var e=this.addItems(t);e.length&&(this.layoutItems(e,!0),this.reveal(e));},f.prepended=function(t){var e=this._itemize(t);if(e.length){var i=this.items.slice(0);this.items=e.concat(i),this._resetLayout(),this._manageStamps(),this.layoutItems(e,!0),this.reveal(e),this.layoutItems(i);}},f.reveal=function(t){if(this._emitCompleteOnItems("reveal",t),t&&t.length){var e=this.updateStagger();t.forEach(function(t,i){t.stagger(i*e),t.reveal();});}},f.hide=function(t){if(this._emitCompleteOnItems("hide",t),t&&t.length){var e=this.updateStagger();t.forEach(function(t,i){t.stagger(i*e),t.hide();});}},f.revealItemElements=function(t){var e=this.getItems(t);this.reveal(e);},f.hideItemElements=function(t){var e=this.getItems(t);this.hide(e);},f.getItem=function(t){for(var e=0;e<this.items.length;e++){var i=this.items[e];if(i.element==t)return i}},f.getItems=function(t){t=n.makeArray(t);var e=[];return t.forEach(function(t){var i=this.getItem(t);i&&e.push(i);},this),e},f.remove=function(t){var e=this.getItems(t);this._emitCompleteOnItems("remove",e),e&&e.length&&e.forEach(function(t){t.remove(),n.removeFrom(this.items,t);},this);},f.destroy=function(){var t=this.element.style;t.height="",t.position="",t.width="",this.items.forEach(function(t){t.destroy();}),this.unbindResize();var e=this.element.outlayerGUID;delete c[e],delete this.element.outlayerGUID,u&&u.removeData(this.element,this.constructor.namespace);},r.data=function(t){t=n.getQueryElement(t);var e=t&&t.outlayerGUID;return e&&c[e]},r.create=function(t,e){var i=s(r);return i.defaults=n.extend({},r.defaults),n.extend(i.defaults,e),i.compatOptions=n.extend({},r.compatOptions),i.namespace=t,i.data=r.data,i.Item=s(o),n.htmlInit(i,t),u&&u.bridget&&u.bridget(t,i),i};var m={ms:1,s:1e3};return r.Item=o,r}),function(t,e){"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size"],e):"object"==typeof module&&module.exports?module.exports=e(require("outlayer"),require("get-size")):t.Masonry=e(t.Outlayer,t.getSize);}(window,function(t,e){var i=t.create("masonry");i.compatOptions.fitWidth="isFitWidth";var n=i.prototype;return n._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns(),this.colYs=[];for(var t=0;t<this.cols;t++)this.colYs.push(0);this.maxY=0,this.horizontalColIndex=0;},n.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var t=this.items[0],i=t&&t.element;this.columnWidth=i&&e(i).outerWidth||this.containerWidth;}var n=this.columnWidth+=this.gutter,o=this.containerWidth+this.gutter,r=o/n,s=n-o%n,a=s&&1>s?"round":"floor";r=Math[a](r),this.cols=Math.max(r,1);},n.getContainerWidth=function(){var t=this._getOption("fitWidth"),i=t?this.element.parentNode:this.element,n=e(i);this.containerWidth=n&&n.innerWidth;},n._getItemLayoutPosition=function(t){t.getSize();var e=t.size.outerWidth%this.columnWidth,i=e&&1>e?"round":"ceil",n=Math[i](t.size.outerWidth/this.columnWidth);n=Math.min(n,this.cols);for(var o=this.options.horizontalOrder?"_getHorizontalColPosition":"_getTopColPosition",r=this[o](n,t),s={x:this.columnWidth*r.col,y:r.y},a=r.y+t.size.outerHeight,h=n+r.col,u=r.col;h>u;u++)this.colYs[u]=a;return s},n._getTopColPosition=function(t){var e=this._getTopColGroup(t),i=Math.min.apply(Math,e);return {col:e.indexOf(i),y:i}},n._getTopColGroup=function(t){if(2>t)return this.colYs;for(var e=[],i=this.cols+1-t,n=0;i>n;n++)e[n]=this._getColGroupY(n,t);return e},n._getColGroupY=function(t,e){if(2>e)return this.colYs[t];var i=this.colYs.slice(t,t+e);return Math.max.apply(Math,i)},n._getHorizontalColPosition=function(t,e){var i=this.horizontalColIndex%this.cols,n=t>1&&i+t>this.cols;i=n?0:i;var o=e.size.outerWidth&&e.size.outerHeight;return this.horizontalColIndex=o?i+t:this.horizontalColIndex,{col:i,y:this._getColGroupY(i,t)}},n._manageStamp=function(t){var i=e(t),n=this._getElementOffset(t),o=this._getOption("originLeft"),r=o?n.left:n.right,s=r+i.outerWidth,a=Math.floor(r/this.columnWidth);a=Math.max(0,a);var h=Math.floor(s/this.columnWidth);h-=s%this.columnWidth?0:1,h=Math.min(this.cols-1,h);for(var u=this._getOption("originTop"),d=(u?n.top:n.bottom)+i.outerHeight,l=a;h>=l;l++)this.colYs[l]=Math.max(d,this.colYs[l]);},n._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var t={height:this.maxY};return this._getOption("fitWidth")&&(t.width=this._getContainerFitWidth()),t},n._getContainerFitWidth=function(){for(var t=0,e=this.cols;--e&&0===this.colYs[e];)t++;return (this.cols-t)*this.columnWidth-this.gutter},n.needsResizeLayout=function(){var t=this.containerWidth;return this.getContainerWidth(),t!=this.containerWidth},i});
454
+
455
+ (function($){
456
+ var Slideshow = function (element, options) {
457
+ this.$element = $(element);
458
+ this.options = options;
459
+ this.paused = false;
460
+ this.activeIndex = 0;
461
+
462
+ this.init = function() {
463
+ this.$items = this.$element.find('.item');
464
+ };
465
+
466
+ this.attachEvents();
467
+ this.init();
468
+ };
469
+
470
+
471
+ Slideshow.prototype = {
472
+
473
+ slide: function(item) {
474
+ var $item = $(item),
475
+ $frame = $item.find('.frame');
476
+
477
+ this.$items.hide();
478
+ $item.show();
479
+
480
+ Math.round($item.height() - $frame.height())/2;
481
+ this.activeIndex = this.$items.index(item);
482
+
483
+ if (this.options.autoPlay && !this.paused) this.play();
484
+
485
+ return this;
486
+ },
487
+
488
+ play: function() {
489
+ this.paused = false;
490
+
491
+ if (this.interval) clearInterval(this.interval);
492
+ this.interval = setInterval($.proxy(this.next, this), this.options.interval);
493
+ },
494
+
495
+ pause: function() {
496
+ this.paused = true;
497
+ this.interval = clearInterval(this.interval);
498
+
499
+ return this;
500
+ },
501
+
502
+ startAt: function(pos) {
503
+ this.to(pos);
504
+ },
505
+
506
+ next: function() {
507
+ return this.to('next');
508
+ },
509
+
510
+ to: function(pos) {
511
+ if (pos === 'next') pos = this.activeIndex + 1;
512
+ if (pos === 'prev') pos = this.activeIndex - 1;
513
+
514
+ return this.slide(this.$items[this.getValidIndex(pos)]);
515
+ },
516
+
517
+ getValidIndex: function(index) {
518
+ if (typeof index === 'undefined' || index > (this.$items.length - 1)) index = 0;
519
+ if (index < 0) index = this.$items.length - 1;
520
+
521
+ return index;
522
+ },
523
+
524
+ attachEvents: function() {
525
+ this.$element.find('.frame img');
526
+ var _this = this;
527
+
528
+ $(document).on('click', '[data-behavior="pause-slideshow"]', function(e) {
529
+ e.preventDefault();
530
+
531
+ _this.pause();
532
+ });
533
+
534
+ $(document).on('click', '[data-behavior="start-slideshow"]', function(e) {
535
+ e.preventDefault();
536
+
537
+ _this.play();
538
+ });
539
+
540
+ $(document).on('click', '[data-slide], [data-bs-slide], [data-slide-to], [data-bs-slide-to]', function(e) {
541
+ e.preventDefault();
542
+
543
+ pos = parseInt($(this).attr('data-slide-to') || $(this).attr('data-bs-slide-to'), 10) ||
544
+ $(this).attr('data-slide') ||
545
+ $(this).attr('data-bs-slide');
546
+
547
+ if (pos === 'next' || pos === 'prev') _this.pause();
548
+ _this.to(pos);
549
+ });
550
+
551
+ // pause slideshow on modal close
552
+ $('#slideshow-modal').on('hidden.bs.modal', function() {
553
+ _this.pause();
554
+ });
555
+ }
556
+ };
557
+
558
+
559
+ Slideshow.DEFAULTS = {
560
+ autoPlay: false,
561
+ interval: 5000 // in milliseconds
562
+ };
563
+
564
+
565
+ $.fn.slideshow = function(option) {
566
+ return this.each(function() {
567
+ var $this = $(this);
568
+ var data = $this.data('slideshow');
569
+ var options = $.extend({}, Slideshow.DEFAULTS, $this.data(), typeof option == 'object' && option);
570
+
571
+ if (!data) $this.data('slideshow', (data = new Slideshow(this, options)));
572
+ })
573
+ };
574
+
575
+ })(jQuery);
576
+
577
+
578
+ Blacklight.onLoad(function() {
579
+ $('.documents-slideshow').slideshow();
580
+ });
581
+
582
+ (function($){
583
+ $.fn.BlacklightMasonry = function() {
584
+ var container = this;
585
+ if(container.length > 0) {
586
+ container.imagesLoaded().progress(function(){
587
+ container.masonry($.fn.BlacklightMasonry.options);
588
+ });
589
+ }
590
+ };
591
+
592
+ $.fn.BlacklightMasonry.options = { gutter: 8 };
593
+ })(jQuery);
594
+
595
+ Blacklight$1.onLoad(function() {
596
+ $('.documents-masonry').BlacklightMasonry();
597
+ });
598
+ //# sourceMappingURL=blacklight-gallery.esm.js.map