Gallery – Photo Gallery – Image Gallery - Version 2.0.5

Version Description

Download this release

Release Info

Developer machothemes
Plugin Icon wp plugin Gallery – Photo Gallery – Image Gallery
Version 2.0.5
Comparing to
See all releases

Code changes from version 2.0.4 to 2.0.5

Modula.php CHANGED
@@ -4,7 +4,7 @@
4
* Plugin URI: https://wp-modula.com/
5
* Description: Modula is the most powerful, user-friendly WordPress gallery plugin. Add galleries, masonry grids and more in a few clicks.
6
* Author: MachoThemes
7
- * Version: 2.0.4
8
* Author URI: https://www.machothemes.com/
9
* License: GPLv3 or later
10
* License URI: http://www.gnu.org/licenses/gpl-3.0.html
@@ -43,7 +43,7 @@
43
*
44
* @since 2.0.2
45
*/
46
- define( 'MODULA_LITE_VERSION', '2.0.3' );
47
define( 'MODULA_PATH', plugin_dir_path( __FILE__ ) );
48
define( 'MODULA_URL', plugin_dir_url( __FILE__ ) );
49
4
* Plugin URI: https://wp-modula.com/
5
* Description: Modula is the most powerful, user-friendly WordPress gallery plugin. Add galleries, masonry grids and more in a few clicks.
6
* Author: MachoThemes
7
+ * Version: 2.0.5
8
* Author URI: https://www.machothemes.com/
9
* License: GPLv3 or later
10
* License URI: http://www.gnu.org/licenses/gpl-3.0.html
43
*
44
* @since 2.0.2
45
*/
46
+ define( 'MODULA_LITE_VERSION', '2.0.5' );
47
define( 'MODULA_PATH', plugin_dir_path( __FILE__ ) );
48
define( 'MODULA_URL', plugin_dir_url( __FILE__ ) );
49
README.txt CHANGED
@@ -1,10 +1,10 @@
1
- === Modula Image Gallery ===
2
Contributors: machothemes, silkalns
3
- Tags: best gallery plugin, image gallery, photo gallery, responsive gallery, wordpress gallery plugin, wordpress portfolio plugin, masonry gallery, fancy gallery, media gallery, mosaic gallery, polaroid gallery, portfolio gallery
4
Requires at least: 4.6
5
- Tested up to: 5.0
6
Requires PHP: 5.6
7
- Stable tag: 2.0.4
8
License: GPLv3 or later
9
License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
@@ -12,11 +12,11 @@ Photo Gallery by Modula - an advanced solution for Photo Gallery users. Create b
12
13
== Description ==
14
15
- **Modula Image Gallery** is a standalone plugin built, maintained & operated by the friendly folks over at [MachoThemes](https://www.machothemes.com/?utm_source=wordpress.org&utm_medium=web&utm_campaign=Modula%20Lite).
16
17
- With Modula, it's easier than ever to build stunning [lightbox galleries](https://wp-modula.com/demo/lightbox-gallery?utm_source=wordpress.org&utm_medium=web&utm_campaign=Modula%20Lite), masonry grids, custom grids and more in no more than a few clicks right from the WordPress dashboard.
18
19
- Modula is the best WordPress gallery plugin for adding custom, unique and responsive galleries to your website. There is a free version of Modula available (Modula Lite) and a premium version (Modula Pro) both of which will allow you to add amazing, fast-loading galleries to your website.
20
21
22
= SEE HOW EASY IT IS TO CREATE A PHOTO GALLERY WITH MODULA =
@@ -128,7 +128,7 @@ Showcase your photography portfolio in a professional and creative way with Modu
128
129
* [Food Gallery](https://wp-modula.com/demo/applications/food?utm_source=wordpress.org&utm_medium=web&utm_campaign=Modula%20Lite)
130
131
- Modula is the perfect image gallery plugin for **food blogs** and **restaurant** websites. Let your delicious meals speak for themselves in your unique and creative galleries created with Modula.
132
133
134
* [Pets Gallery](https://wp-modula.com/demo/applications/pets-animals?utm_source=wordpress.org&utm_medium=web&utm_campaign=Modula%20Lite)
@@ -216,159 +216,4 @@ Free support is included only with a PRO license: [Buy Modula PRO](https://wp-mo
216
217
== Changelog ==
218
219
- = 2.0.4 =
220
- * Fixed defaults ( Causing an issue on modula pro with filters )
221
- * Fixed translations
222
- * Prepared for Modula Speed Up
223
- * Changed the checkboxes' design
224
- * Fixed Facebook share link
225
-
226
- = 2.0.3 =
227
- * All issues from here : https://github.com/MachoThemes/modula-lite/milestone/5?closed=1
228
- * Added a new button ( Save & Close ) in edit image modal ( James Leesley recommendation )
229
- * Renamed "Description" with "Caption" ( James Leesley recommendation )
230
- * Fixed error on resize
231
- * Fixed Shuffle
232
- * Generated .po file
233
-
234
- = 2.0.2 =
235
- * Changed strings
236
- * Fixed open new tab checkbox
237
- * Fixed caption color
238
- * Fixed caption & title size
239
- * Fixed custom grid layout
240
-
241
- = 2.0.1 - 12.17.2018 =
242
- * Major Update
243
- * Build Custom Grids - Take full control of your galleries.
244
- * New Admin Interface - For a more intuitive user interface, we've blended Modula right into WordPress.
245
- * Drag & Drop to Upload Images
246
- * Guidelines to Help You Make the Perfect Gallery
247
- * Preview your Gallery Without the Hassle
248
-
249
- = 1.3.7 =
250
- * fixed dismiss button from beta testing notice.
251
-
252
- = 1.3.6 =
253
- * removed custom js field.
254
-
255
- = 1.3.5 =
256
- * second wp.org review
257
-
258
- = 1.3.4 =
259
- * wp.org review
260
-
261
- = 1.3.3 =
262
- * Added notification for Modula 2.0
263
- * Added Compatibility with AO
264
-
265
- = 1.3.2 =
266
- * Validated HTML markup
267
-
268
- = 1.3.1 =
269
- * Changed lightbox script
270
-
271
- = 1.3.0 =
272
- * Added compatibility with : WPML/Visual Composer/Page Builder by SiteOrigin
273
- * Fixed bugs with captions & titles
274
- * Localized all text strings
275
- * Fixed lightbox bug
276
- * For a more detailed changelog check : https://github.com/MachoThemes/modula-lite/milestone/2?closed=1
277
-
278
- = 1.2.1 =
279
- * Fixed the broken link
280
- * Hid the Edit gallery menu item
281
-
282
- = 1.2 =
283
- * Removed sub-menu entry: Tutorial
284
- * Removed sub-menu entry: Other Galleries
285
- * Removed fixed action button
286
- * Removed Modula Survey by Diego Imbriani
287
- * Re-worked the "Upgrade" page.
288
- * Removed the "languages" folder. We'll be using GlotPress to handle these
289
- * Fixed an issue with WPML plugin
290
-
291
- = 1.1.13 =
292
- * Enhanced lightbox compatibility
293
-
294
- = 1.1.10 =
295
- * Enhancement in backend UI
296
-
297
- = 1.1.9 =
298
- * Minor change in backend UI
299
-
300
- = 1.1.8 =
301
- * Fixed broken css for backends under SSL
302
-
303
- = 1.1.7 =
304
- * Tool to fix broken images after version 1.1.0
305
-
306
- = 1.1.6 =
307
- * Bug fix (impossible to select effect "None")
308
-
309
- = 1.1.5 =
310
- * Fixed issue on admin panel when images are too tall
311
-
312
- = 1.1.4 =
313
- * Changed CSS icon prefix to avoid conflicts
314
-
315
- = 1.1.3 =
316
- * Fixed bug (linked images opening in lightbox)
317
-
318
- = 1.1.2 =
319
- * Fixed social icons bug
320
-
321
- = 1.1.1 =
322
- * Bug fix
323
-
324
- = 1.1.0 =
325
- * New image management
326
- * Import tool for Envira galleries
327
- * Import tool for NextGen galleries
328
-
329
- = 1.0.12 =
330
- * Added link to ShortPixel plugin for image optimization
331
-
332
- = 1.0.11 =
333
- * Minor bug fix: fixed missing preview effect image
334
-
335
- = 1.0.10 =
336
- * Bug fix: now Lightbox opens image at full size
337
-
338
- = 1.0.9 =
339
- * Fixed url to upgrade
340
-
341
- = 1.0.8 =
342
- * Fixed url to upgrade
343
-
344
- = 1.0.7 =
345
- * Changed call to action for the survey
346
-
347
- = 1.0.6 =
348
- * Fixed CSS issue with Lightbox and some themes. New page in admin panel to show other gallery plugins. Enhancements of the UI of admin panel.
349
-
350
- = 1.0.5 =
351
- * Added handy links on plugins page
352
-
353
- = 1.0.4 =
354
- * Updated pot file for translations
355
-
356
- = 1.0.3 =
357
- * Bug fix: now images can be sorted also in the "Add gallery" wizard
358
-
359
- = 1.0.2 =
360
- * Added link to survey to help us making a better plugin
361
-
362
- = 1.0.1 =
363
- * Fixed issue when activating the plugin
364
-
365
- = 1.0.0 =
366
- * This is the launch version. No changes yet.
367
-
368
- == Upgrade Notice ==
369
-
370
- = 1.1.8 =
371
- * This update will fix broken CSS of admin panel under SSL
372
-
373
- = 1.1.7 =
374
- * This update contains a tool to fix broken images.
1
+ === Modula Photo Gallery ===
2
Contributors: machothemes, silkalns
3
+ Tags: best gallery plugin, photo gallery, image gallery, responsive gallery, wordpress gallery plugin, wordpress portfolio plugin, masonry gallery, fancy gallery, media gallery, mosaic gallery, polaroid gallery, portfolio gallery
4
Requires at least: 4.6
5
+ Tested up to: 5.1
6
Requires PHP: 5.6
7
+ Stable tag: 2.0.5
8
License: GPLv3 or later
9
License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
12
13
== Description ==
14
15
+ **Modula Photo Gallery** is a standalone plugin built, maintained & operated by the friendly folks over at [MachoThemes](https://www.machothemes.com/?utm_source=wordpress.org&utm_medium=web&utm_campaign=Modula%20Lite).
16
17
+ With Modula, it's easier than ever to build a stunning [lightbox gallery](https://wp-modula.com/demo/lightbox-gallery?utm_source=wordpress.org&utm_medium=web&utm_campaign=Modula%20Lite), masonry grids, custom grids and more in no more than a few clicks right from the WordPress dashboard.
18
19
+ Modula is the best WordPress photo gallery plugin for adding custom, unique and responsive galleries to your website. There is a free version of Modula available (Modula Lite) and a premium version (Modula Pro) both of which will allow you to add amazing, fast-loading galleries to your website.
20
21
22
= SEE HOW EASY IT IS TO CREATE A PHOTO GALLERY WITH MODULA =
128
129
* [Food Gallery](https://wp-modula.com/demo/applications/food?utm_source=wordpress.org&utm_medium=web&utm_campaign=Modula%20Lite)
130
131
+ Modula is the perfect photo gallery plugin for **food blogs** and **restaurant** websites. Let your delicious meals speak for themselves in your unique and creative galleries created with Modula.
132
133
134
* [Pets Gallery](https://wp-modula.com/demo/applications/pets-animals?utm_source=wordpress.org&utm_medium=web&utm_campaign=Modula%20Lite)
216
217
== Changelog ==
218
219
+ See <a href="https://github.com/MachoThemes/modula-lite/blob/master/changelog.txt" target="_blank">changelog</a>
assets/css/edit.css CHANGED
@@ -4,4 +4,22 @@
4
}
5
.post-type-modula-gallery .wrap .nav-tab-wrapper .page-title-action {
6
top: 7px;
7
}
4
}
5
.post-type-modula-gallery .wrap .nav-tab-wrapper .page-title-action {
6
top: 7px;
7
+ }
8
+ .modula-feedback-notice {
9
+ padding: 22px;
10
+ border: 2px solid #2ebf91;
11
+ }
12
+ .notice p.modula-feedback-title {
13
+ font-size: 26px;
14
+ font-weight: bold;
15
+ display: flex;
16
+ align-items: center;
17
+ margin-top: 0;
18
+ }
19
+ .modula-feedback-title svg {
20
+ width: 35px;
21
+ margin-right: 10px;
22
+ }
23
+ .modula-feedback-title svg path {
24
+ fill: #2ebf91;
25
}
assets/css/modula-cpt.css CHANGED
@@ -20,6 +20,26 @@
20
width: 161px;
21
position: relative;
22
}
23
.modula-settings-container .modula-tabs .modula-tab > i {
24
margin-right: 10px;
25
margin-left: 15px;
@@ -429,7 +449,53 @@ tr label.th-label {
429
box-sizing: border-box;
430
}
431
.modula-upload-actions .buttons {
432
- flex-shrink: 0;
433
}
434
.segrip.ui-resizable-se {
435
width: 20px;
@@ -1023,5 +1089,3 @@ a.modula-tab-link {
1023
1024
.modula-toggle__input[type=checkbox]:checked + .modula-toggle__items .modula-toggle__on {
1025
display: inline-block; }
1026
-
1027
-
20
width: 161px;
21
position: relative;
22
}
23
+ .modula-settings-container .modula-tabs .modula-tab sup {
24
+ margin-left: 5px;
25
+ padding: 2px 5px;
26
+ border-radius: 5px;
27
+ color: #fff;
28
+ font-size: 8px;
29
+ background: #9c9c9c;
30
+ display: inline-block;
31
+ line-height: 1;
32
+ position: relative;
33
+ top: -2px;
34
+ }
35
+ .modula-settings-container .modula-tabs .modula-tab:hover sup,
36
+ .modula-settings-container .modula-tabs .modula-tab.active-tab sup {
37
+ background-color: #57a7c9;
38
+ }
39
+ .modula-settings-container .modula-tabs .modula-tab.modula-responsive:hover sup,
40
+ .modula-settings-container .modula-tabs .modula-tab.modula-responsive.active-tab sup {
41
+ background:#dc3232;
42
+ }
43
.modula-settings-container .modula-tabs .modula-tab > i {
44
margin-right: 10px;
45
margin-left: 15px;
449
box-sizing: border-box;
450
}
451
.modula-upload-actions .buttons {
452
+ flex-shrink: 0;
453
+ width: 275px;
454
+ display: flex;
455
+ }
456
+ .modula-sources-dropdown {
457
+ position: relative;
458
+ border-top: 1px solid rgba( 255,255,255,0 );
459
+ border-right: 1px solid rgba( 255,255,255,0 );
460
+ border-left: 1px solid rgba( 255,255,255,0 );
461
+ }
462
+ .modula-sources-dropdown:hover {
463
+ border-color: #ddd;
464
+ background: #f5f5f5;
465
+ }
466
+ .modula-sources-dropdown > span {
467
+ width: 28px;
468
+ height: 32px;
469
+ text-align: center;
470
+ line-height: 28px;
471
+ cursor: pointer;
472
+ display: inline-block;
473
+ font-size: 25px;
474
+ font-weight: bold;
475
+ }
476
+ .modula-sources-dropdown .modula-sources-dropdown-content {
477
+ position: absolute;
478
+ right: -1px;
479
+ bottom: 0;
480
+ transform: translateY( 100% );
481
+ display: none;
482
+ padding: 15px;
483
+ background-color: #f5f5f5;
484
+ box-shadow: 0 1px 1px rgba(0,0,0,.04);
485
+ box-sizing: border-box;
486
+ border: 1px solid #ddd;
487
+ }
488
+ .modula-sources-dropdown:hover .modula-sources-dropdown-content {
489
+ display: block;
490
+ }
491
+ .modula-sources-dropdown:hover .modula-sources-dropdown-content:before {
492
+ content: "";
493
+ height: 1px;
494
+ width: 28px;
495
+ background-color: #f5f5f5;
496
+ position: absolute;
497
+ top: -1px;
498
+ right: 0;
499
}
500
.segrip.ui-resizable-se {
501
width: 20px;
1089
1090
.modula-toggle__input[type=checkbox]:checked + .modula-toggle__items .modula-toggle__on {
1091
display: inline-block; }
assets/css/modula.css CHANGED
@@ -1,4 +1,3 @@
1
- @charset "UTF-8";
2
.modula .items .item {
3
position: absolute;
4
overflow: hidden;
1
.modula .items .item {
2
position: absolute;
3
overflow: hidden;
assets/js/{jquery.modula.js → jquery-modula.js} RENAMED
@@ -63,16 +63,28 @@ jQuery(document).on( 'vc-full-width-row-single vc-full-width-row', function( eve
63
64
var size,
65
containerWidth = this.$element.width(),
66
- plugin = this;
67
68
if ( this.options.gutter > 0 ) {
69
- size = Math.trunc( ( containerWidth - this.options.gutter * this.options.columns ) / this.options.columns );
70
}else{
71
- size = Math.trunc( containerWidth / this.options.columns );
72
}
73
74
this.$items.not(".jtg-hidden").each(function (i, item) {
75
- var slot = {}, widthColumns, heightColumns;
76
77
widthColumns = $( item ).data( 'width' );
78
heightColumns = $( item ).data( 'height' );
@@ -81,6 +93,29 @@ jQuery(document).on( 'vc-full-width-row-single vc-full-width-row', function( eve
81
widthColumns = 12;
82
}
83
84
slot.width = size * widthColumns + ( plugin.options.gutter * ( widthColumns - 1 ) );
85
slot.height = size * heightColumns + ( plugin.options.gutter * ( heightColumns - 1 ) );
86
@@ -106,7 +141,7 @@ jQuery(document).on( 'vc-full-width-row-single vc-full-width-row', function( eve
106
itemSelector: '.item',
107
gutter: parseInt( plugin.options.gutter ),
108
columnWidth: size,
109
- rowHeight: size,
110
resize: false
111
});
112
this.isPackeryActive = true;
@@ -234,6 +269,7 @@ jQuery(document).on( 'vc-full-width-row-single vc-full-width-row', function( eve
234
235
if ( 'custom-grid' === instance.options.type ) {
236
instance.createCustomGallery();
237
}else{
238
instance.createGrid();
239
}
@@ -324,7 +360,7 @@ jQuery(document).on( 'vc-full-width-row-single vc-full-width-row', function( eve
324
$image.css(cssProps);
325
}
326
327
- Plugin.prototype.loadImage = function (index) {
328
var instance = this;
329
var source = instance.$items.eq(index).find('.pic');
330
var img = new Image();
@@ -379,6 +415,10 @@ jQuery(document).on( 'vc-full-width-row-single vc-full-width-row', function( eve
379
instance.onResize(instance);
380
});
381
382
// Create social links
383
this.setupSocial();
384
63
64
var size,
65
containerWidth = this.$element.width(),
66
+ plugin = this,
67
+ columns = this.options.columns,
68
+ viewport = document.documentElement.clientWidth;
69
+
70
+ if ( this.options.enableResponsive ) {
71
+
72
+ if ( viewport <= 568 ) {
73
+ columns = this.options.mobileColumns;
74
+ }else if ( viewport <= 768 ) {
75
+ columns = this.options.tabletColumns;
76
+ }
77
+
78
+ }
79
80
if ( this.options.gutter > 0 ) {
81
+ size = Math.trunc( ( containerWidth - this.options.gutter * columns ) / columns );
82
}else{
83
+ size = Math.trunc( containerWidth / columns );
84
}
85
86
this.$items.not(".jtg-hidden").each(function (i, item) {
87
+ var slot = {}, widthColumns, heightColumns, auxWidth, auxHeight;
88
89
widthColumns = $( item ).data( 'width' );
90
heightColumns = $( item ).data( 'height' );
93
widthColumns = 12;
94
}
95
96
+ if ( plugin.options.enableResponsive ) {
97
+ auxWidth = widthColumns;
98
+ auxHeight = heightColumns;
99
+
100
+ if ( 1 == columns ) {
101
+
102
+ widthColumns = 1;
103
+ heightColumns = widthColumns * auxHeight / auxWidth;
104
+
105
+ }else{
106
+
107
+ // widthColumns = Math.trunc( columns * auxWidth / 12 );
108
+ widthColumns = Math.round( columns * auxWidth / 12 );
109
+ if ( widthColumns < 1 ) { widthColumns = 1; }
110
+
111
+ heightColumns = Math.round( widthColumns * auxHeight / auxWidth );
112
+ // heightColumns = widthColumns * auxHeight / auxWidth;
113
+ if ( heightColumns < 1 ) { heightColumns = 1; }
114
+
115
+ }
116
+
117
+ }
118
+
119
slot.width = size * widthColumns + ( plugin.options.gutter * ( widthColumns - 1 ) );
120
slot.height = size * heightColumns + ( plugin.options.gutter * ( heightColumns - 1 ) );
121
141
itemSelector: '.item',
142
gutter: parseInt( plugin.options.gutter ),
143
columnWidth: size,
144
+ // rowHeight: size,
145
resize: false
146
});
147
this.isPackeryActive = true;
269
270
if ( 'custom-grid' === instance.options.type ) {
271
instance.createCustomGallery();
272
+ instance.$itemsCnt.packery();
273
}else{
274
instance.createGrid();
275
}
360
$image.css(cssProps);
361
}
362
363
+ Plugin.prototype.loadImage = function(index) {
364
var instance = this;
365
var source = instance.$items.eq(index).find('.pic');
366
var img = new Image();
415
instance.onResize(instance);
416
});
417
418
+ $(window).on( 'scroll', function () {
419
+ instance.onResize(instance);
420
+ });
421
+
422
// Create social links
423
this.setupSocial();
424
assets/js/jquery-modula.min.js ADDED
@@ -0,0 +1 @@
1
+ function tg_getURLParameter(t){return decodeURIComponent((new RegExp("[?|&]"+t+"=([^&;]+?)(&|#|;|$)").exec(location.search)||[,""])[1].replace(/\+/g,"%20"))||null}jQuery(document).on("vc-full-width-row-single vc-full-width-row",function(t,i){0<jQuery("body").find(".modula").length&&jQuery(window).trigger("modula-update")}),function(d,l,c,t){var o="modulaGallery",e={resizer:"/",margin:10,keepArea:!0,type:"creative-gallery",columns:12,gutter:10,enableTwitter:!1,enableFacebook:!1,enableGplus:!1,enablePinterest:!1};function n(t,i){this.element=t,this.$element=d(t),this.$itemsCnt=this.$element.find(".items"),this.$items=this.$itemsCnt.find(".item"),this.options=d.extend({},e,i),this._defaults=e,this._name=o,this.tiles=[],this.$tilesCnt=null,this.completed=!1,this.lastWidth=0,this.resizeTO=0,this.isPackeryActive=!1,this.init()}n.prototype.createCustomGallery=function(){var a,t=this.$element.width(),r=this,l=this.options.columns,i=c.documentElement.clientWidth;this.options.enableResponsive&&(i<=568?l=this.options.mobileColumns:i<=768&&(l=this.options.tabletColumns)),a=0<this.options.gutter?Math.trunc((t-this.options.gutter*l)/l):Math.trunc(t/l),this.$items.not(".jtg-hidden").each(function(t,i){var e,s,o,n,h={};e=d(i).data("width"),s=d(i).data("height"),12<e&&(e=12),r.options.enableResponsive&&(o=e,n=s,1==l?s=(e=1)*n/o:((e=Math.round(l*o/12))<1&&(e=1),(s=Math.round(e*n/o))<1&&(s=1))),h.width=a*e+r.options.gutter*(e-1),h.height=a*s+r.options.gutter*(s-1),d(i).data("size",h).addClass("tiled").addClass(h.width>h.height?"tile-h":"tile-v").data("position"),d(i).css(d(i).data("size")),d(i).find(".figc").css({width:d(i).data("size").width,height:d(i).data("size").height})}),this.isPackeryActive&&this.$itemsCnt.packery("destroy"),this.$itemsCnt.packery({itemSelector:".item",gutter:parseInt(r.options.gutter),columnWidth:a,resize:!1}),this.isPackeryActive=!0},n.prototype.createGrid=function(){var s=this;this.options.width&&this.$itemsCnt.width(this.options.width),this.options.height&&this.$itemsCnt.height(this.options.height),this.$itemsCnt.data("area",this.$itemsCnt.width()*this.$itemsCnt.height()),this.lastWidth=this.$itemsCnt.width();for(var t=0;t<this.$items.not(".jtg-hidden").length;t++)this.tiles.push(s.getSlot());this.tiles.sort(function(t,i){return t.position-i.position}),this.$items.not(".jtg-hidden").each(function(t,i){var e=s.tiles[t];d(i).data("size",e).addClass("tiled").addClass(e.width>e.height?"tile-h":"tile-v").data("position")}),this.$items.each(function(t,i){d(i).css(d(i).data("size")),d(i).find(".figc").css({width:d(i).data("size").width,height:d(i).data("size").height})}),this.completed=!0},n.prototype.getSlot=function(){if(0==this.tiles.length)return e={top:0,left:0,width:this.$itemsCnt.width(),height:this.$itemsCnt.height(),area:this.$itemsCnt.width()*this.$itemsCnt.height(),position:0};for(var t=0,i=0;i<this.tiles.length;i++){(e=this.tiles[i]).area>this.tiles[t].area&&(t=i)}var e={},s=this.tiles[t];if(s.width>s.height){var o=s.width/2*this.options.randomFactor;s.prevWidth=s.width,s.width=Math.floor(s.width/2+o*(Math.random()-.5)),e={top:s.top,left:s.left+s.width+this.options.margin,width:s.prevWidth-s.width-this.options.margin,height:s.height}}else{o=s.height/2*this.options.randomFactor;s.prevHeight=s.height,s.height=Math.floor(s.height/2+o*(Math.random()-.5)),e={left:s.left,top:s.top+s.height+this.options.margin,width:s.width,height:s.prevHeight-s.height-this.options.margin}}return e.area=e.width*e.height,e.position=1e3*e.top+e.left,s.position=1e3*s.top+s.left,this.tiles[t]=s,this.tiles[t].area=s.width*s.height,e},n.prototype.reset=function(){var e=this;e.tiles=[],"custom-grid"===e.options.type?(e.createCustomGallery(),e.$itemsCnt.packery()):e.createGrid(),e.$itemsCnt.find(".pic").each(function(t,i){e.placeImage(t)}),e.lastWidth=e.$itemsCnt.width()},n.prototype.onResize=function(i){i.lastWidth!=i.$itemsCnt.width()&&(clearTimeout(i.resizeTO),i.resizeTO=setTimeout(function(){if(i.options.keepArea){var t=i.$itemsCnt.data("area");i.$itemsCnt.height(t/i.$itemsCnt.width())}i.reset()},100))},n.prototype.placeImage=function(t){var i=this.$items.eq(t),e=i.find(".pic"),s=i.data("size"),o=e.data("size"),n=s.width/s.height,h=o.width/o.height,a=e.data("valign")?e.data("valign"):"middle",r=e.data("halign")?e.data("halign"):"center",l={top:"auto",bottom:"auto",left:"auto",right:"auto",width:"auto",height:"auto",margin:"0",maxWidth:"999em"};if(h<n)switch(l.width=s.width,l.left=0,a){case"top":l.top=0;break;case"middle":l.top=0-(s.width*(1/h)-s.height)/2;break;case"bottom":l.bottom=0}else switch(l.height=s.height,l.top=0,r){case"left":l.left=0;break;case"center":l.left=0-(s.height*h-s.width)/2;break;case"right":l.right=0}e.css(l)},n.prototype.loadImage=function(t){var i=this,e=i.$items.eq(t).find(".pic"),s=new Image;s.onerror=function(){console.log("error loading image ["+t+"] : "+this.src),t+1<i.$items.length&&i.loadImage(t+1)},s.onload=function(){e.data("size",{width:this.width,height:this.height}),i.placeImage(t),i.$items.eq(t).addClass("tg-loaded"),t+1<i.$items.length&&i.loadImage(t+1)};var o=e.data("src");s.src=o,e.attr("src",o)},n.prototype.init=function(){var t=this;d(c).trigger("modula_api_before_init",[t]),this.$itemsCnt.css({position:"relative",zIndex:1}),this.$items.addClass("tile"),this.$items.find(".pic").removeAttr("src"),"custom-grid"===this.options.type?this.createCustomGallery():this.createGrid(),this.loadImage(0),d(l).resize(function(){t.onResize(t)}),d(l).on("modula-update",function(){t.onResize(t)}),d(l).on("scroll",function(){t.onResize(t)}),this.setupSocial(),this.options.onComplete&&this.options.onComplete(),d(c).trigger("modula_api_after_init",[t])},n.prototype.setupSocial=function(){this.options.enableTwitter&&i(this.$items,this),this.options.enableFacebook&&s(this.$items,this),this.options.enableGplus&&a(this.$items,this),this.options.enablePinterest&&h(this.$items,this)};var i=function(t,s){t.find(".modula-icon-twitter").click(function(t){t.preventDefault();var i=d(this).parents(".tile:first").find(".caption"),e=s.options.twitterText||c.title;return!s.options.twitterText&&1==i.length&&0<i.text().length&&(e=d.trim(i.text())),l.open("https://twitter.com/intent/tweet?url="+encodeURI(location.href.split("#")[0])+"&text="+encodeURI(e),"ftgw","location=1,status=1,scrollbars=1,width=600,height=400").moveTo(screen.width/2-300,screen.height/2-200),!1})},s=function(t,o){t.find(".modula-icon-facebook").click(function(t){t.preventDefault();var i=d(this).parents(".tile:first").find(".pic"),e=d(this).parents(".tile:first").find(".caption");o.options.facebookText||c.title;!o.options.facebookText&&1==e.length&&0<e.text().length&&d.trim(e.text());i.attr("src");var s="//www.facebook.com/sharer.php?u="+location.href;return l.open(s,"ftgw","location=1,status=1,scrollbars=1,width=600,height=400").moveTo(screen.width/2-300,screen.height/2-200),!1})},h=function(t,r){t.find(".modula-icon-pinterest").click(function(t){t.preventDefault();var i=d(this).parents(".tile:first").find(".pic"),e=d(this).parents(".tile:first").find(".caption"),s=r.options.facebookText||c.title;!r.options.facebookText&&1==e.length&&0<e.text().length&&(s=d.trim(e.text()));var o,n,h="http://pinterest.com/pin/create/button/?url="+encodeURI(location.href)+"&description="+encodeURI(s);if(1==i.length){var a=i.attr("src");h+="&media="+(o=a,(n=c.createElement("img")).src=o,o=n.src,n.src=null,o)}return l.open(h,"ftgw","location=1,status=1,scrollbars=1,width=600,height=400").moveTo(screen.width/2-300,screen.height/2-200),!1})},a=function(t,i){t.find(".modula-icon-google-plus").click(function(t){t.preventDefault();var i="https://plus.google.com/share?url="+encodeURI(location.href);return l.open(i,"ftgw","location=1,status=1,scrollbars=1,width=600,height=400").moveTo(screen.width/2-300,screen.height/2-200),!1})};d.fn[o]=function(i){var e,s=arguments;return i===t||"object"==typeof i?this.each(function(){d.data(this,"plugin_"+o)||d.data(this,"plugin_"+o,new n(this,i))}):"string"==typeof i&&"_"!==i[0]&&"init"!==i?(this.each(function(){var t=d.data(this,"plugin_"+o);t instanceof n&&"function"==typeof t[i]&&(e=t[i].apply(t,Array.prototype.slice.call(s,1))),"destroy"===i&&d.data(this,"plugin_"+o,null)}),e!==t?e:this):void 0}}(jQuery,window,document),jQuery(document).ready(function(e){var t=e(".modula-gallery");e.each(t,function(){var t=e(this).attr("id"),i=e(this).data("config");e("#"+t).modulaGallery(i)})});
assets/js/lightbox.js CHANGED
@@ -53,6 +53,7 @@
53
showImageNumberLabel: true,
54
wrapAround: false,
55
disableScrolling: false,
56
/*
57
Sanitize Title
58
If the caption data is trusted, for example you are hardcoding it in, then leave this to false.
@@ -91,6 +92,53 @@
91
});
92
};
93
94
// Build html for the lightbox and the overlay.
95
// Attach event handlers to the new DOM elements. click click click
96
Lightbox.prototype.build = function() {
@@ -162,6 +210,27 @@
162
return false;
163
});
164
165
/*
166
Show context menu for image on right-click
167
@@ -388,34 +457,40 @@
388
// Check to see if the browser supports touch events. If so, we take the conservative approach
389
// and assume that mouse hover events are not supported and always show prev/next navigation
390
// arrows in image sets.
391
- var alwaysShowNav = false;
392
try {
393
document.createEvent('TouchEvent');
394
alwaysShowNav = (this.options.alwaysShowNavOnTouchDevices) ? true : false;
395
} catch (e) {}
396
397
- this.$lightbox.find('.lb-nav').show();
398
399
- if (this.album.length > 1) {
400
- if (this.options.wrapAround) {
401
- if (alwaysShowNav) {
402
- this.$lightbox.find('.lb-prev, .lb-next').css('opacity', '1');
403
- }
404
- this.$lightbox.find('.lb-prev, .lb-next').show();
405
- } else {
406
- if (this.currentImageIndex > 0) {
407
- this.$lightbox.find('.lb-prev').show();
408
if (alwaysShowNav) {
409
- this.$lightbox.find('.lb-prev').css('opacity', '1');
410
}
411
- }
412
- if (this.currentImageIndex < this.album.length - 1) {
413
- this.$lightbox.find('.lb-next').show();
414
- if (alwaysShowNav) {
415
- this.$lightbox.find('.lb-next').css('opacity', '1');
416
}
417
}
418
}
419
}
420
};
421
53
showImageNumberLabel: true,
54
wrapAround: false,
55
disableScrolling: false,
56
+ enableSwipeOnTouchDevices: true,
57
/*
58
Sanitize Title
59
If the caption data is trusted, for example you are hardcoding it in, then leave this to false.
92
});
93
};
94
95
+ Lightbox.prototype.swipedetect = function(el, callback){
96
+
97
+ var touchsurface = el,
98
+ swipedir,
99
+ startX,
100
+ startY,
101
+ distX,
102
+ distY,
103
+ threshold = 1, //required min distance traveled to be considered swipe
104
+ restraint = 100, // maximum distance allowed at the same time in perpendicular direction
105
+ allowedTime = 300, // maximum time allowed to travel that distance
106
+ elapsedTime,
107
+ startTime,
108
+ handleswipe = callback || function(swipedir){}
109
+
110
+ touchsurface.addEventListener('touchstart', function(e){
111
+ var touchobj = e.changedTouches[0]
112
+ swipedir = 'none'
113
+ dist = 0
114
+ startX = touchobj.pageX
115
+ startY = touchobj.pageY
116
+ startTime = new Date().getTime() // record time when finger first makes contact with surface
117
+ e.preventDefault()
118
+ }, false)
119
+
120
+ touchsurface.addEventListener('touchmove', function(e){
121
+ e.preventDefault() // prevent scrolling when inside DIV
122
+ }, false)
123
+
124
+ touchsurface.addEventListener('touchend', function(e){
125
+ var touchobj = e.changedTouches[0]
126
+ distX = touchobj.pageX - startX // get horizontal dist traveled by finger while in contact with surface
127
+ distY = touchobj.pageY - startY // get vertical dist traveled by finger while in contact with surface
128
+ elapsedTime = new Date().getTime() - startTime // get time elapsed
129
+ if (elapsedTime <= allowedTime){ // first condition for awipe met
130
+ if (Math.abs(distX) >= threshold && Math.abs(distY) <= restraint){ // 2nd condition for horizontal swipe met
131
+ swipedir = (distX < 0)? 'left' : 'right' // if dist traveled is negative, it indicates left swipe
132
+ }
133
+ else if (Math.abs(distY) >= threshold && Math.abs(distX) <= restraint){ // 2nd condition for vertical swipe met
134
+ swipedir = (distY < 0)? 'up' : 'down' // if dist traveled is negative, it indicates up swipe
135
+ }
136
+ }
137
+ handleswipe(swipedir)
138
+ e.preventDefault()
139
+ }, false)
140
+ };
141
+
142
// Build html for the lightbox and the overlay.
143
// Attach event handlers to the new DOM elements. click click click
144
Lightbox.prototype.build = function() {
210
return false;
211
});
212
213
+ var lightboxContainer = this.$lightbox.find('.lb-container')[0];
214
+ self.swipedetect( lightboxContainer, function( swipedir ){
215
+ // swipedir contains either "none", "left", "right", "top", or "down"
216
+ if ( 'left' == swipedir ) {
217
+
218
+ if (self.currentImageIndex === 0) {
219
+ self.changeImage(self.album.length - 1);
220
+ } else {
221
+ self.changeImage(self.currentImageIndex - 1);
222
+ }
223
+
224
+ }else if ( 'right' == swipedir ) {
225
+ if (self.currentImageIndex === self.album.length - 1) {
226
+ self.changeImage(0);
227
+ } else {
228
+ self.changeImage(self.currentImageIndex + 1);
229
+ }
230
+ }
231
+
232
+ });
233
+
234
/*
235
Show context menu for image on right-click
236
457
// Check to see if the browser supports touch events. If so, we take the conservative approach
458
// and assume that mouse hover events are not supported and always show prev/next navigation
459
// arrows in image sets.
460
+ var alwaysShowNav = false,
461
+ enableSwipe = false;
462
try {
463
document.createEvent('TouchEvent');
464
alwaysShowNav = (this.options.alwaysShowNavOnTouchDevices) ? true : false;
465
+ enableSwipe = (this.options.enableSwipeOnTouchDevices)? true: false;
466
} catch (e) {}
467
468
+ if ( ! enableSwipe ) {
469
+ this.$lightbox.find('.lb-nav').show();
470
471
+ if (this.album.length > 1) {
472
+ if (this.options.wrapAround) {
473
if (alwaysShowNav) {
474
+ this.$lightbox.find('.lb-prev, .lb-next').css('opacity', '1');
475
}
476
+ this.$lightbox.find('.lb-prev, .lb-next').show();
477
+ } else {
478
+ if (this.currentImageIndex > 0) {
479
+ this.$lightbox.find('.lb-prev').show();
480
+ if (alwaysShowNav) {
481
+ this.$lightbox.find('.lb-prev').css('opacity', '1');
482
+ }
483
+ }
484
+ if (this.currentImageIndex < this.album.length - 1) {
485
+ this.$lightbox.find('.lb-next').show();
486
+ if (alwaysShowNav) {
487
+ this.$lightbox.find('.lb-next').css('opacity', '1');
488
+ }
489
}
490
}
491
}
492
+ }else{
493
+ this.$lightbox.find('.lb-nav').hide();
494
}
495
};
496
assets/js/lightbox.min.js CHANGED
@@ -1,15 +1 @@
1
- /*!
2
- * Lightbox v2.10.0
3
- * by Lokesh Dhakar
4
- *
5
- * More info:
6
- * http://lokeshdhakar.com/projects/lightbox2/
7
- *
8
- * Copyright 2007, 2018 Lokesh Dhakar
9
- * Released under the MIT license
10
- * https://github.com/lokesh/lightbox2/blob/master/LICENSE
11
- *
12
- * @preserve
13
- */
14
- !function(a,b){"function"==typeof define&&define.amd?define(["jquery"],b):"object"==typeof exports?module.exports=b(require("jquery")):a.lightbox=b(a.jQuery)}(this,function(a){function b(b){this.album=[],this.currentImageIndex=void 0,this.init(),this.options=a.extend({},this.constructor.defaults),this.option(b)}return b.defaults={albumLabel:"Image %1 of %2",alwaysShowNavOnTouchDevices:!1,fadeDuration:600,fitImagesInViewport:!0,imageFadeDuration:600,positionFromTop:50,resizeDuration:700,showImageNumberLabel:!0,wrapAround:!1,disableScrolling:!1,sanitizeTitle:!1},b.prototype.option=function(b){a.extend(this.options,b)},b.prototype.imageCountLabel=function(a,b){return this.options.albumLabel.replace(/%1/g,a).replace(/%2/g,b)},b.prototype.init=function(){var b=this;a(document).ready(function(){b.enable(),b.build()})},b.prototype.enable=function(){var b=this;a("body").on("click","a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]",function(c){return b.start(a(c.currentTarget)),!1})},b.prototype.build=function(){if(!(a("#lightbox").length>0)){var b=this;a('<div id="lightboxOverlay" class="lightboxOverlay"></div><div id="lightbox" class="lightbox"><div class="lb-outerContainer"><div class="lb-container"><img class="lb-image" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" /><div class="lb-nav"><a class="lb-prev" href="" ></a><a class="lb-next" href="" ></a></div><div class="lb-loader"><a class="lb-cancel"></a></div></div></div><div class="lb-dataContainer"><div class="lb-data"><div class="lb-details"><span class="lb-caption"></span><span class="lb-number"></span></div><div class="lb-closeContainer"><a class="lb-close"></a></div></div></div></div>').appendTo(a("body")),this.$lightbox=a("#lightbox"),this.$overlay=a("#lightboxOverlay"),this.$outerContainer=this.$lightbox.find(".lb-outerContainer"),this.$container=this.$lightbox.find(".lb-container"),this.$image=this.$lightbox.find(".lb-image"),this.$nav=this.$lightbox.find(".lb-nav"),this.containerPadding={top:parseInt(this.$container.css("padding-top"),10),right:parseInt(this.$container.css("padding-right"),10),bottom:parseInt(this.$container.css("padding-bottom"),10),left:parseInt(this.$container.css("padding-left"),10)},this.imageBorderWidth={top:parseInt(this.$image.css("border-top-width"),10),right:parseInt(this.$image.css("border-right-width"),10),bottom:parseInt(this.$image.css("border-bottom-width"),10),left:parseInt(this.$image.css("border-left-width"),10)},this.$overlay.hide().on("click",function(){return b.end(),!1}),this.$lightbox.hide().on("click",function(c){return"lightbox"===a(c.target).attr("id")&&b.end(),!1}),this.$outerContainer.on("click",function(c){return"lightbox"===a(c.target).attr("id")&&b.end(),!1}),this.$lightbox.find(".lb-prev").on("click",function(){return 0===b.currentImageIndex?b.changeImage(b.album.length-1):b.changeImage(b.currentImageIndex-1),!1}),this.$lightbox.find(".lb-next").on("click",function(){return b.currentImageIndex===b.album.length-1?b.changeImage(0):b.changeImage(b.currentImageIndex+1),!1}),this.$nav.on("mousedown",function(a){3===a.which&&(b.$nav.css("pointer-events","none"),b.$lightbox.one("contextmenu",function(){setTimeout(function(){this.$nav.css("pointer-events","auto")}.bind(b),0)}))}),this.$lightbox.find(".lb-loader, .lb-close").on("click",function(){return b.end(),!1})}},b.prototype.start=function(b){function c(a){d.album.push({alt:a.attr("data-alt"),link:a.attr("href"),title:a.attr("data-title")||a.attr("title")})}var d=this,e=a(window);e.on("resize",a.proxy(this.sizeOverlay,this)),a("select, object, embed").css({visibility:"hidden"}),this.sizeOverlay(),this.album=[];var f,g=0,h=b.attr("data-lightbox");if(h){f=a(b.prop("tagName")+'[data-lightbox="'+h+'"]');for(var i=0;i<f.length;i=++i)c(a(f[i])),f[i]===b[0]&&(g=i)}else if("lightbox"===b.attr("rel"))c(b);else{f=a(b.prop("tagName")+'[rel="'+b.attr("rel")+'"]');for(var j=0;j<f.length;j=++j)c(a(f[j])),f[j]===b[0]&&(g=j)}var k=e.scrollTop()+this.options.positionFromTop,l=e.scrollLeft();this.$lightbox.css({top:k+"px",left:l+"px"}).fadeIn(this.options.fadeDuration),this.options.disableScrolling&&a("html").addClass("lb-disable-scrolling"),this.changeImage(g)},b.prototype.changeImage=function(b){var c=this;this.disableKeyboardNav();var d=this.$lightbox.find(".lb-image");this.$overlay.fadeIn(this.options.fadeDuration),a(".lb-loader").fadeIn("slow"),this.$lightbox.find(".lb-image, .lb-nav, .lb-prev, .lb-next, .lb-dataContainer, .lb-numbers, .lb-caption").hide(),this.$outerContainer.addClass("animating");var e=new Image;e.onload=function(){var f,g,h,i,j,k;d.attr({alt:c.album[b].alt,src:c.album[b].link}),a(e),d.width(e.width),d.height(e.height),c.options.fitImagesInViewport&&(k=a(window).width(),j=a(window).height(),i=k-c.containerPadding.left-c.containerPadding.right-c.imageBorderWidth.left-c.imageBorderWidth.right-20,h=j-c.containerPadding.top-c.containerPadding.bottom-c.imageBorderWidth.top-c.imageBorderWidth.bottom-120,c.options.maxWidth&&c.options.maxWidth<i&&(i=c.options.maxWidth),c.options.maxHeight&&c.options.maxHeight<i&&(h=c.options.maxHeight),(e.width>i||e.height>h)&&(e.width/i>e.height/h?(g=i,f=parseInt(e.height/(e.width/g),10),d.width(g),d.height(f)):(f=h,g=parseInt(e.width/(e.height/f),10),d.width(g),d.height(f)))),c.sizeContainer(d.width(),d.height())},e.src=this.album[b].link,this.currentImageIndex=b},b.prototype.sizeOverlay=function(){this.$overlay.width(a(document).width()).height(a(document).height())},b.prototype.sizeContainer=function(a,b){function c(){d.$lightbox.find(".lb-dataContainer").width(g),d.$lightbox.find(".lb-prevLink").height(h),d.$lightbox.find(".lb-nextLink").height(h),d.showImage()}var d=this,e=this.$outerContainer.outerWidth(),f=this.$outerContainer.outerHeight(),g=a+this.containerPadding.left+this.containerPadding.right+this.imageBorderWidth.left+this.imageBorderWidth.right,h=b+this.containerPadding.top+this.containerPadding.bottom+this.imageBorderWidth.top+this.imageBorderWidth.bottom;e!==g||f!==h?this.$outerContainer.animate({width:g,height:h},this.options.resizeDuration,"swing",function(){c()}):c()},b.prototype.showImage=function(){this.$lightbox.find(".lb-loader").stop(!0).hide(),this.$lightbox.find(".lb-image").fadeIn(this.options.imageFadeDuration),this.updateNav(),this.updateDetails(),this.preloadNeighboringImages(),this.enableKeyboardNav()},b.prototype.updateNav=function(){var a=!1;try{document.createEvent("TouchEvent"),a=!!this.options.alwaysShowNavOnTouchDevices}catch(a){}this.$lightbox.find(".lb-nav").show(),this.album.length>1&&(this.options.wrapAround?(a&&this.$lightbox.find(".lb-prev, .lb-next").css("opacity","1"),this.$lightbox.find(".lb-prev, .lb-next").show()):(this.currentImageIndex>0&&(this.$lightbox.find(".lb-prev").show(),a&&this.$lightbox.find(".lb-prev").css("opacity","1")),this.currentImageIndex<this.album.length-1&&(this.$lightbox.find(".lb-next").show(),a&&this.$lightbox.find(".lb-next").css("opacity","1"))))},b.prototype.updateDetails=function(){var b=this;if(void 0!==this.album[this.currentImageIndex].title&&""!==this.album[this.currentImageIndex].title){var c=this.$lightbox.find(".lb-caption");this.options.sanitizeTitle?c.text(this.album[this.currentImageIndex].title):c.html(this.album[this.currentImageIndex].title),c.fadeIn("fast").find("a").on("click",function(b){void 0!==a(this).attr("target")?window.open(a(this).attr("href"),a(this).attr("target")):location.href=a(this).attr("href")})}if(this.album.length>1&&this.options.showImageNumberLabel){var d=this.imageCountLabel(this.currentImageIndex+1,this.album.length);this.$lightbox.find(".lb-number").text(d).fadeIn("fast")}else this.$lightbox.find(".lb-number").hide();this.$outerContainer.removeClass("animating"),this.$lightbox.find(".lb-dataContainer").fadeIn(this.options.resizeDuration,function(){return b.sizeOverlay()})},b.prototype.preloadNeighboringImages=function(){if(this.album.length>this.currentImageIndex+1){(new Image).src=this.album[this.currentImageIndex+1].link}if(this.currentImageIndex>0){(new Image).src=this.album[this.currentImageIndex-1].link}},b.prototype.enableKeyboardNav=function(){a(document).on("keyup.keyboard",a.proxy(this.keyboardAction,this))},b.prototype.disableKeyboardNav=function(){a(document).off(".keyboard")},b.prototype.keyboardAction=function(a){var b=a.keyCode,c=String.fromCharCode(b).toLowerCase();27===b||c.match(/x|o|c/)?this.end():"p"===c||37===b?0!==this.currentImageIndex?this.changeImage(this.currentImageIndex-1):this.options.wrapAround&&this.album.length>1&&this.changeImage(this.album.length-1):"n"!==c&&39!==b||(this.currentImageIndex!==this.album.length-1?this.changeImage(this.currentImageIndex+1):this.options.wrapAround&&this.album.length>1&&this.changeImage(0))},b.prototype.end=function(){this.disableKeyboardNav(),a(window).off("resize",this.sizeOverlay),this.$lightbox.fadeOut(this.options.fadeDuration),this.$overlay.fadeOut(this.options.fadeDuration),a("select, object, embed").css({visibility:"visible"}),this.options.disableScrolling&&a("html").removeClass("lb-disable-scrolling")},new b});
15
- //# sourceMappingURL=lightbox.min.map
1
+ !function(t,i){"function"==typeof define&&define.amd?define(["jquery"],i):"object"==typeof exports?module.exports=i(require("jquery")):t.lightbox=i(t.jQuery)}(this,function(g){function t(t){this.album=[],this.currentImageIndex=void 0,this.init(),this.options=g.extend({},this.constructor.defaults),this.option(t)}return t.defaults={albumLabel:"Image %1 of %2",alwaysShowNavOnTouchDevices:!1,fadeDuration:600,fitImagesInViewport:!0,imageFadeDuration:600,positionFromTop:50,resizeDuration:700,showImageNumberLabel:!0,wrapAround:!1,disableScrolling:!1,enableSwipeOnTouchDevices:!0,sanitizeTitle:!1},t.prototype.option=function(t){g.extend(this.options,t)},t.prototype.imageCountLabel=function(t,i){return this.options.albumLabel.replace(/%1/g,t).replace(/%2/g,i)},t.prototype.init=function(){var t=this;g(document).ready(function(){t.enable(),t.build()})},t.prototype.enable=function(){var i=this;g("body").on("click","a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]",function(t){return i.start(g(t.currentTarget)),!1})},t.prototype.swipedetect=function(t,i){var e,n,a,o,s,r,h=t,l=i||function(t){};h.addEventListener("touchstart",function(t){var i=t.changedTouches[0];e="none",dist=0,n=i.pageX,a=i.pageY,r=(new Date).getTime(),t.preventDefault()},!1),h.addEventListener("touchmove",function(t){t.preventDefault()},!1),h.addEventListener("touchend",function(t){var i=t.changedTouches[0];o=i.pageX-n,s=i.pageY-a,(new Date).getTime()-r<=300&&(1<=Math.abs(o)&&Math.abs(s)<=100?e=o<0?"left":"right":1<=Math.abs(s)&&Math.abs(o)<=100&&(e=s<0?"up":"down")),l(e),t.preventDefault()},!1)},t.prototype.build=function(){if(!(0<g("#lightbox").length)){var i=this;g('<div id="lightboxOverlay" class="lightboxOverlay"></div><div id="lightbox" class="lightbox"><div class="lb-outerContainer"><div class="lb-container"><img class="lb-image" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" /><div class="lb-nav"><a class="lb-prev" href="" ></a><a class="lb-next" href="" ></a></div><div class="lb-loader"><a class="lb-cancel"></a></div></div></div><div class="lb-dataContainer"><div class="lb-data"><div class="lb-details"><span class="lb-caption"></span><span class="lb-number"></span></div><div class="lb-closeContainer"><a class="lb-close"></a></div></div></div></div>').appendTo(g("body")),this.$lightbox=g("#lightbox"),this.$overlay=g("#lightboxOverlay"),this.$outerContainer=this.$lightbox.find(".lb-outerContainer"),this.$container=this.$lightbox.find(".lb-container"),this.$image=this.$lightbox.find(".lb-image"),this.$nav=this.$lightbox.find(".lb-nav"),this.containerPadding={top:parseInt(this.$container.css("padding-top"),10),right:parseInt(this.$container.css("padding-right"),10),bottom:parseInt(this.$container.css("padding-bottom"),10),left:parseInt(this.$container.css("padding-left"),10)},this.imageBorderWidth={top:parseInt(this.$image.css("border-top-width"),10),right:parseInt(this.$image.css("border-right-width"),10),bottom:parseInt(this.$image.css("border-bottom-width"),10),left:parseInt(this.$image.css("border-left-width"),10)},this.$overlay.hide().on("click",function(){return i.end(),!1}),this.$lightbox.hide().on("click",function(t){return"lightbox"===g(t.target).attr("id")&&i.end(),!1}),this.$outerContainer.on("click",function(t){return"lightbox"===g(t.target).attr("id")&&i.end(),!1}),this.$lightbox.find(".lb-prev").on("click",function(){return 0===i.currentImageIndex?i.changeImage(i.album.length-1):i.changeImage(i.currentImageIndex-1),!1}),this.$lightbox.find(".lb-next").on("click",function(){return i.currentImageIndex===i.album.length-1?i.changeImage(0):i.changeImage(i.currentImageIndex+1),!1});var t=this.$lightbox.find(".lb-container")[0];i.swipedetect(t,function(t){"left"==t?0===i.currentImageIndex?i.changeImage(i.album.length-1):i.changeImage(i.currentImageIndex-1):"right"==t&&(i.currentImageIndex===i.album.length-1?i.changeImage(0):i.changeImage(i.currentImageIndex+1))}),this.$nav.on("mousedown",function(t){3===t.which&&(i.$nav.css("pointer-events","none"),i.$lightbox.one("contextmenu",function(){setTimeout(function(){this.$nav.css("pointer-events","auto")}.bind(i),0)}))}),this.$lightbox.find(".lb-loader, .lb-close").on("click",function(){return i.end(),!1})}},t.prototype.start=function(t){var i=this,e=g(window);e.on("resize",g.proxy(this.sizeOverlay,this)),g("select, object, embed").css({visibility:"hidden"}),this.sizeOverlay(),this.album=[];var n=0;function a(t){i.album.push({alt:t.attr("data-alt"),link:t.attr("href"),title:t.attr("data-title")||t.attr("title")})}var o,s=t.attr("data-lightbox");if(s){o=g(t.prop("tagName")+'[data-lightbox="'+s+'"]');for(var r=0;r<o.length;r=++r)a(g(o[r])),o[r]===t[0]&&(n=r)}else if("lightbox"===t.attr("rel"))a(t);else{o=g(t.prop("tagName")+'[rel="'+t.attr("rel")+'"]');for(var h=0;h<o.length;h=++h)a(g(o[h])),o[h]===t[0]&&(n=h)}var l=e.scrollTop()+this.options.positionFromTop,d=e.scrollLeft();this.$lightbox.css({top:l+"px",left:d+"px"}).fadeIn(this.options.fadeDuration),this.options.disableScrolling&&g("html").addClass("lb-disable-scrolling"),this.changeImage(n)},t.prototype.changeImage=function(s){var r=this;this.disableKeyboardNav();var h=this.$lightbox.find(".lb-image");this.$overlay.fadeIn(this.options.fadeDuration),g(".lb-loader").fadeIn("slow"),this.$lightbox.find(".lb-image, .lb-nav, .lb-prev, .lb-next, .lb-dataContainer, .lb-numbers, .lb-caption").hide(),this.$outerContainer.addClass("animating");var l=new Image;l.onload=function(){var t,i,e,n,a,o;h.attr({alt:r.album[s].alt,src:r.album[s].link}),g(l),h.width(l.width),h.height(l.height),r.options.fitImagesInViewport&&(o=g(window).width(),a=g(window).height(),n=o-r.containerPadding.left-r.containerPadding.right-r.imageBorderWidth.left-r.imageBorderWidth.right-20,e=a-r.containerPadding.top-r.containerPadding.bottom-r.imageBorderWidth.top-r.imageBorderWidth.bottom-120,r.options.maxWidth&&r.options.maxWidth<n&&(n=r.options.maxWidth),r.options.maxHeight&&r.options.maxHeight<n&&(e=r.options.maxHeight),(l.width>n||l.height>e)&&(l.width/n>l.height/e?(i=n,t=parseInt(l.height/(l.width/i),10)):(t=e,i=parseInt(l.width/(l.height/t),10)),h.width(i),h.height(t))),r.sizeContainer(h.width(),h.height())},l.src=this.album[s].link,this.currentImageIndex=s},t.prototype.sizeOverlay=function(){this.$overlay.width(g(document).width()).height(g(document).height())},t.prototype.sizeContainer=function(t,i){var e=this,n=this.$outerContainer.outerWidth(),a=this.$outerContainer.outerHeight(),o=t+this.containerPadding.left+this.containerPadding.right+this.imageBorderWidth.left+this.imageBorderWidth.right,s=i+this.containerPadding.top+this.containerPadding.bottom+this.imageBorderWidth.top+this.imageBorderWidth.bottom;function r(){e.$lightbox.find(".lb-dataContainer").width(o),e.$lightbox.find(".lb-prevLink").height(s),e.$lightbox.find(".lb-nextLink").height(s),e.showImage()}n!==o||a!==s?this.$outerContainer.animate({width:o,height:s},this.options.resizeDuration,"swing",function(){r()}):r()},t.prototype.showImage=function(){this.$lightbox.find(".lb-loader").stop(!0).hide(),this.$lightbox.find(".lb-image").fadeIn(this.options.imageFadeDuration),this.updateNav(),this.updateDetails(),this.preloadNeighboringImages(),this.enableKeyboardNav()},t.prototype.updateNav=function(){var t=!1,i=!1;try{document.createEvent("TouchEvent"),t=!!this.options.alwaysShowNavOnTouchDevices,i=!!this.options.enableSwipeOnTouchDevices}catch(t){}i?this.$lightbox.find(".lb-nav").hide():(this.$lightbox.find(".lb-nav").show(),1<this.album.length&&(this.options.wrapAround?(t&&this.$lightbox.find(".lb-prev, .lb-next").css("opacity","1"),this.$lightbox.find(".lb-prev, .lb-next").show()):(0<this.currentImageIndex&&(this.$lightbox.find(".lb-prev").show(),t&&this.$lightbox.find(".lb-prev").css("opacity","1")),this.currentImageIndex<this.album.length-1&&(this.$lightbox.find(".lb-next").show(),t&&this.$lightbox.find(".lb-next").css("opacity","1")))))},t.prototype.updateDetails=function(){var t=this;if(void 0!==this.album[this.currentImageIndex].title&&""!==this.album[this.currentImageIndex].title){var i=this.$lightbox.find(".lb-caption");this.options.sanitizeTitle?i.text(this.album[this.currentImageIndex].title):i.html(this.album[this.currentImageIndex].title),i.fadeIn("fast").find("a").on("click",function(t){void 0!==g(this).attr("target")?window.open(g(this).attr("href"),g(this).attr("target")):location.href=g(this).attr("href")})}if(1<this.album.length&&this.options.showImageNumberLabel){var e=this.imageCountLabel(this.currentImageIndex+1,this.album.length);this.$lightbox.find(".lb-number").text(e).fadeIn("fast")}else this.$lightbox.find(".lb-number").hide();this.$outerContainer.removeClass("animating"),this.$lightbox.find(".lb-dataContainer").fadeIn(this.options.resizeDuration,function(){return t.sizeOverlay()})},t.prototype.preloadNeighboringImages=function(){this.album.length>this.currentImageIndex+1&&((new Image).src=this.album[this.currentImageIndex+1].link);0<this.currentImageIndex&&((new Image).src=this.album[this.currentImageIndex-1].link)},t.prototype.enableKeyboardNav=function(){g(document).on("keyup.keyboard",g.proxy(this.keyboardAction,this))},t.prototype.disableKeyboardNav=function(){g(document).off(".keyboard")},t.prototype.keyboardAction=function(t){var i=t.keyCode,e=String.fromCharCode(i).toLowerCase();27===i||e.match(/x|o|c/)?this.end():"p"===e||37===i?0!==this.currentImageIndex?this.changeImage(this.currentImageIndex-1):this.options.wrapAround&&1<this.album.length&&this.changeImage(this.album.length-1):"n"!==e&&39!==i||(this.currentImageIndex!==this.album.length-1?this.changeImage(this.currentImageIndex+1):this.options.wrapAround&&1<this.album.length&&this.changeImage(0))},t.prototype.end=function(){this.disableKeyboardNav(),g(window).off("resize",this.sizeOverlay),this.$lightbox.fadeOut(this.options.fadeDuration),this.$overlay.fadeOut(this.options.fadeDuration),g("select, object, embed").css({visibility:"visible"}),this.options.disableScrolling&&g("html").removeClass("lb-disable-scrolling")},new t});
assets/js/{packery.pkgd.js → packery.js} RENAMED
File without changes
assets/js/packery.min.js ADDED
@@ -0,0 +1 @@
1
+ !function(e,i){"use strict";"function"==typeof define&&define.amd?define("jquery-bridget/jquery-bridget",["jquery"],function(t){i(e,t)}):"object"==typeof module&&module.exports?module.exports=i(e,require("jquery")):e.jQueryBridget=i(e,e.jQuery)}(window,function(t,e){"use strict";var d=Array.prototype.slice,i=t.console,l=void 0===i?function(){}:function(t){i.error(t)};function n(u,o,c){(c=c||e||t.jQuery)&&(o.prototype.option||(o.prototype.option=function(t){c.isPlainObject(t)&&(this.options=c.extend(!0,this.options,t))}),c.fn[u]=function(t){if("string"!=typeof t)return n=t,this.each(function(t,e){var i=c.data(e,u);i?(i.option(n),i._init()):(i=new o(e,n),c.data(e,u,i))}),this;var e,s,r,a,h,n,i=d.call(arguments,1);return r=i,h="$()."+u+'("'+(s=t)+'")',(e=this).each(function(t,e){var i=c.data(e,u);if(i){var n=i[s];if(n&&"_"!=s.charAt(0)){var o=n.apply(i,r);a=void 0===a?o:a}else l(h+" is not a valid method")}else l(u+" not initialized. Cannot call methods, i.e. "+h)}),void 0!==a?a:e},s(c))}function s(t){!t||t&&t.bridget||(t.bridget=n)}return s(e||t.jQuery),n}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("get-size/get-size",[],function(){return e()}):"object"==typeof module&&module.exports?module.exports=e():t.getSize=e()}(window,function(){"use strict";function y(t){var e=parseFloat(t);return-1==t.indexOf("%")&&!isNaN(e)&&e}var i="undefined"==typeof console?function(){}:function(t){console.error(t)},v=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],_=v.length;function x(t){var e=getComputedStyle(t);return e||i("Style returned "+e+". Are you running this code in a hidden iframe on Firefox? See http://bit.ly/getsizebug1"),e}var b,E=!1;function T(t){if(function(){if(!E){E=!0;var t=document.createElement("div");t.style.width="200px",t.style.padding="1px 2px 3px 4px",t.style.borderStyle="solid",t.style.borderWidth="1px 2px 3px 4px",t.style.boxSizing="border-box";var e=document.body||document.documentElement;e.appendChild(t);var i=x(t);T.isBoxSizeOuter=b=200==y(i.width),e.removeChild(t)}}(),"string"==typeof t&&(t=document.querySelector(t)),t&&"object"==typeof t&&t.nodeType){var e=x(t);if("none"==e.display)return function(){for(var t={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},e=0;e<_;e++)t[v[e]]=0;return t}();var i={};i.width=t.offsetWidth,i.height=t.offsetHeight;for(var n=i.isBorderBox="border-box"==e.boxSizing,o=0;o<_;o++){var s=v[o],r=e[s],a=parseFloat(r);i[s]=isNaN(a)?0:a}var h=i.paddingLeft+i.paddingRight,u=i.paddingTop+i.paddingBottom,c=i.marginLeft+i.marginRight,d=i.marginTop+i.marginBottom,l=i.borderLeftWidth+i.borderRightWidth,f=i.borderTopWidth+i.borderBottomWidth,p=n&&b,g=y(e.width);!1!==g&&(i.width=g+(p?0:h+l));var m=y(e.height);return!1!==m&&(i.height=m+(p?0:u+f)),i.innerWidth=i.width-(h+l),i.innerHeight=i.height-(u+f),i.outerWidth=i.width+c,i.outerHeight=i.height+d,i}}return T}),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()}(this,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||{};return(i[t]=i[t]||{})[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){var n=0,o=i[n];e=e||[];for(var s=this._onceEvents&&this._onceEvents[t];o;){var r=s&&s[o];r&&(this.off(t,o),delete s[o]),o.apply(this,e),o=i[n+=r?0:1]}return this}},t}),function(t,e){"use strict";"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(){"use strict";var i=function(){var t=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]+"MatchesSelector";if(t[n])return n}}();return function(t,e){return t[i](e)}}),function(e,i){"function"==typeof define&&define.amd?define("fizzy-ui-utils/utils",["desandro-matches-selector/matches-selector"],function(t){return i(e,t)}):"object"==typeof module&&module.exports?module.exports=i(e,require("desandro-matches-selector")):e.fizzyUIUtils=i(e,e.matchesSelector)}(window,function(u,s){var c={extend:function(t,e){for(var i in e)t[i]=e[i];return t},modulo:function(t,e){return(t%e+e)%e},makeArray:function(t){var e=[];if(Array.isArray(t))e=t;else if(t&&"number"==typeof t.length)for(var i=0;i<t.length;i++)e.push(t[i]);else e.push(t);return e},removeFrom:function(t,e){var i=t.indexOf(e);-1!=i&&t.splice(i,1)},getParent:function(t,e){for(;t!=document.body;)if(t=t.parentNode,s(t,e))return t},getQueryElement:function(t){return"string"==typeof t?document.querySelector(t):t},handleEvent:function(t){var e="on"+t.type;this[e]&&this[e](t)},filterFindElements:function(t,n){t=c.makeArray(t);var o=[];return t.forEach(function(t){if(t instanceof HTMLElement)if(n){s(t,n)&&o.push(t);for(var e=t.querySelectorAll(n),i=0;i<e.length;i++)o.push(e[i])}else o.push(t)}),o},debounceMethod:function(t,e,n){var o=t.prototype[e],s=e+"Timeout";t.prototype[e]=function(){var t=this[s];t&&clearTimeout(t);var e=arguments,i=this;this[s]=setTimeout(function(){o.apply(i,e),delete i[s]},n||100)}},docReady:function(t){"complete"==document.readyState?t():document.addEventListener("DOMContentLoaded",t)},toDashed:function(t){return t.replace(/(.)([A-Z])/g,function(t,e,i){return e+"-"+i}).toLowerCase()}},d=u.console;return c.htmlInit=function(a,h){c.docReady(function(){var t=c.toDashed(h),o="data-"+t,e=document.querySelectorAll("["+o+"]"),i=document.querySelectorAll(".js-"+t),n=c.makeArray(e).concat(c.makeArray(i)),s=o+"-options",r=u.jQuery;n.forEach(function(e){var t,i=e.getAttribute(o)||e.getAttribute(s);try{t=i&&JSON.parse(i)}catch(t){return void(d&&d.error("Error parsing "+o+" on "+e.className+": "+t))}var n=new a(e,t);r&&r.data(e,h,n)})})},c}),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){"use strict";var i=document.documentElement.style,n="string"==typeof i.transition?"transition":"WebkitTransition",o="string"==typeof i.transform?"transform":"WebkitTransform",s={WebkitTransition:"webkitTransitionEnd",transition:"transitionend"}[n],r={transform:o,transition:n,transitionDuration:n+"Duration",transitionProperty:n+"Property",transitionDelay:n+"Delay"};function a(t,e){t&&(this.element=t,this.layout=e,this.position={x:0,y:0},this._create())}var h=a.prototype=Object.create(t.prototype);h.constructor=a,h._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},h.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},h.getSize=function(){this.size=e(this.element)},h.css=function(t){var e=this.element.style;for(var i in t){e[r[i]||i]=t[i]}},h.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"],s=this.layout.size,r=-1!=n.indexOf("%")?parseFloat(n)/100*s.width:parseInt(n,10),a=-1!=o.indexOf("%")?parseFloat(o)/100*s.height:parseInt(o,10);r=isNaN(r)?0:r,a=isNaN(a)?0:a,r-=e?s.paddingLeft:s.paddingRight,a-=i?s.paddingTop:s.paddingBottom,this.position.x=r,this.position.y=a},h.layoutPosition=function(){var t=this.layout.size,e={},i=this.layout._getOption("originLeft"),n=this.layout._getOption("originTop"),o=i?"paddingLeft":"paddingRight",s=i?"left":"right",r=i?"right":"left",a=this.position.x+t[o];e[s]=this.getXValue(a),e[r]="";var h=n?"paddingTop":"paddingBottom",u=n?"top":"bottom",c=n?"bottom":"top",d=this.position.y+t[h];e[u]=this.getYValue(d),e[c]="",this.css(e),this.emitEvent("layout",[this])},h.getXValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&!e?t/this.layout.size.width*100+"%":t+"px"},h.getYValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&e?t/this.layout.size.height*100+"%":t+"px"},h._transitionTo=function(t,e){this.getPosition();var i=this.position.x,n=this.position.y,o=parseInt(t,10),s=parseInt(e,10),r=o===this.position.x&&s===this.position.y;if(this.setPosition(t,e),!r||this.isTransitioning){var a=t-i,h=e-n,u={};u.transform=this.getTranslate(a,h),this.transition({to:u,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})}else this.layoutPosition()},h.getTranslate=function(t,e){return"translate3d("+(t=this.layout._getOption("originLeft")?t:-t)+"px, "+(e=this.layout._getOption("originTop")?e:-e)+"px, 0)"},h.goTo=function(t,e){this.setPosition(t,e),this.layoutPosition()},h.moveTo=h._transitionTo,h.setPosition=function(t,e){this.position.x=parseInt(t,10),this.position.y=parseInt(e,10)},h._nonTransition=function(t){for(var e in this.css(t.to),t.isCleaning&&this._removeStyles(t.to),t.onTransitionEnd)t.onTransitionEnd[e].call(this)},h.transition=function(t){if(parseFloat(this.layout.options.transitionDuration)){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;null}this.enableTransition(t.to),this.css(t.to),this.isTransitioning=!0}else this._nonTransition(t)};var u="opacity,"+o.replace(/([A-Z])/g,function(t){return"-"+t.toLowerCase()});h.enableTransition=function(){if(!this.isTransitioning){var t=this.layout.options.transitionDuration;t="number"==typeof t?t+"ms":t,this.css({transitionProperty:u,transitionDuration:t,transitionDelay:this.staggerDelay||0}),this.element.addEventListener(s,this,!1)}},h.onwebkitTransitionEnd=function(t){this.ontransitionend(t)},h.onotransitionend=function(t){this.ontransitionend(t)};var c={"-webkit-transform":"transform"};h.ontransitionend=function(t){if(t.target===this.element){var e=this._transn,i=c[t.propertyName]||t.propertyName;if(delete e.ingProperties[i],function(t){for(var e in t)return!1;return!0}(e.ingProperties)&&this.disableTransition(),i in e.clean&&(this.element.style[t.propertyName]="",delete e.clean[i]),i in e.onEnd)e.onEnd[i].call(this),delete e.onEnd[i];this.emitEvent("transitionEnd",[this])}},h.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(s,this,!1),this.isTransitioning=!1},h._removeStyles=function(t){var e={};for(var i in t)e[i]="";this.css(e)};var d={transitionProperty:"",transitionDuration:"",transitionDelay:""};return h.removeTransitionStyles=function(){this.css(d)},h.stagger=function(t){t=isNaN(t)?0:t,this.staggerDelay=t+"ms"},h.removeElem=function(){this.element.parentNode.removeChild(this.element),this.css({display:""}),this.emitEvent("remove",[this])},h.remove=function(){n&&parseFloat(this.layout.options.transitionDuration)?(this.once("transitionEnd",function(){this.removeElem()}),this.hide()):this.removeElem()},h.reveal=function(){delete this.isHidden,this.css({display:""});var t=this.layout.options,e={};e[this.getHideRevealTransitionEndProperty("visibleStyle")]=this.onRevealTransitionEnd,this.transition({from:t.hiddenStyle,to:t.visibleStyle,isCleaning:!0,onTransitionEnd:e})},h.onRevealTransitionEnd=function(){this.isHidden||this.emitEvent("reveal")},h.getHideRevealTransitionEndProperty=function(t){var e=this.layout.options[t];if(e.opacity)return"opacity";for(var i in e)return i},h.hide=function(){this.isHidden=!0,this.css({display:""});var t=this.layout.options,e={};e[this.getHideRevealTransitionEndProperty("hiddenStyle")]=this.onHideTransitionEnd,this.transition({from:t.visibleStyle,to:t.hiddenStyle,isCleaning:!0,onTransitionEnd:e})},h.onHideTransitionEnd=function(){this.isHidden&&(this.css({display:"none"}),this.emitEvent("hide"))},h.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},a}),function(o,s){"use strict";"function"==typeof define&&define.amd?define("outlayer/outlayer",["ev-emitter/ev-emitter","get-size/get-size","fizzy-ui-utils/utils","./item"],function(t,e,i,n){return s(o,t,e,i,n)}):"object"==typeof module&&module.exports?module.exports=s(o,require("ev-emitter"),require("get-size"),require("fizzy-ui-utils"),require("./item")):o.Outlayer=s(o,o.EvEmitter,o.getSize,o.fizzyUIUtils,o.Outlayer.Item)}(window,function(t,e,o,s,n){"use strict";var r=t.console,a=t.jQuery,i=function(){},h=0,u={};function c(t,e){var i=s.getQueryElement(t);if(i){this.element=i,a&&(this.$element=a(this.element)),this.options=s.extend({},this.constructor.defaults),this.option(e);var n=++h;this.element.outlayerGUID=n,(u[n]=this)._create(),this._getOption("initLayout")&&this.layout()}else r&&r.error("Bad element for "+this.constructor.namespace+": "+(i||t))}c.namespace="outlayer",c.Item=n,c.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 d=c.prototype;function l(t){function e(){t.apply(this,arguments)}return(e.prototype=Object.create(t.prototype)).constructor=e}s.extend(d,e.prototype),d.option=function(t){s.extend(this.options,t)},d._getOption=function(t){var e=this.constructor.compatOptions[t];return e&&void 0!==this.options[e]?this.options[e]:this.options[t]},c.compatOptions={initLayout:"isInitLayout",horizontal:"isHorizontal",layoutInstant:"isLayoutInstant",originLeft:"isOriginLeft",originTop:"isOriginTop",resize:"isResizeBound",resizeContainer:"isResizingContainer"},d._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),s.extend(this.element.style,this.options.containerStyle),this._getOption("resize")&&this.bindResize()},d.reloadItems=function(){this.items=this._itemize(this.element.children)},d._itemize=function(t){for(var e=this._filterFindItemElements(t),i=this.constructor.Item,n=[],o=0;o<e.length;o++){var s=new i(e[o],this);n.push(s)}return n},d._filterFindItemElements=function(t){return s.filterFindElements(t,this.options.itemSelector)},d.getItemElements=function(){return this.items.map(function(t){return t.element})},d.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},d._init=d.layout,d._resetLayout=function(){this.getSize()},d.getSize=function(){this.size=o(this.element)},d._getMeasurement=function(t,e){var i,n=this.options[t];this[t]=n?("string"==typeof n?i=this.element.querySelector(n):n instanceof HTMLElement&&(i=n),i?o(i)[e]:n):0},d.layoutItems=function(t,e){t=this._getItemsForLayout(t),this._layoutItems(t,e),this._postLayout()},d._getItemsForLayout=function(t){return t.filter(function(t){return!t.isIgnored})},d._layoutItems=function(t,i){if(this._emitCompleteOnItems("layout",t),t&&t.length){var n=[];t.forEach(function(t){var e=this._getItemLayoutPosition(t);e.item=t,e.isInstant=i||t.isLayoutInstant,n.push(e)},this),this._processLayoutQueue(n)}},d._getItemLayoutPosition=function(){return{x:0,y:0}},d._processLayoutQueue=function(t){this.updateStagger(),t.forEach(function(t,e){this._positionItem(t.item,t.x,t.y,t.isInstant,e)},this)},d.updateStagger=function(){var t=this.options.stagger;if(null!=t)return this.stagger=function(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=f[n]||1;return i*o}(t),this.stagger;this.stagger=0},d._positionItem=function(t,e,i,n,o){n?t.goTo(e,i):(t.stagger(o*this.stagger),t.moveTo(e,i))},d._postLayout=function(){this.resizeContainer()},d.resizeContainer=function(){if(this._getOption("resizeContainer")){var t=this._getContainerSize();t&&(this._setContainerMeasure(t.width,!0),this._setContainerMeasure(t.height,!1))}},d._getContainerSize=i,d._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"}},d._emitCompleteOnItems=function(e,t){var i=this;function n(){i.dispatchEvent(e+"Complete",null,[t])}var o=t.length;if(t&&o){var s=0;t.forEach(function(t){t.once(e,r)})}else n();function r(){++s==o&&n()}},d.dispatchEvent=function(t,e,i){var n=e?[e].concat(i):i;if(this.emitEvent(t,n),a)if(this.$element=this.$element||a(this.element),e){var o=a.Event(e);o.type=t,this.$element.trigger(o,i)}else this.$element.trigger(t,i)},d.ignore=function(t){var e=this.getItem(t);e&&(e.isIgnored=!0)},d.unignore=function(t){var e=this.getItem(t);e&&delete e.isIgnored},d.stamp=function(t){(t=this._find(t))&&(this.stamps=this.stamps.concat(t),t.forEach(this.ignore,this))},d.unstamp=function(t){(t=this._find(t))&&t.forEach(function(t){s.removeFrom(this.stamps,t),this.unignore(t)},this)},d._find=function(t){if(t)return"string"==typeof t&&(t=this.element.querySelectorAll(t)),t=s.makeArray(t)},d._manageStamps=function(){this.stamps&&this.stamps.length&&(this._getBoundingRect(),this.stamps.forEach(this._manageStamp,this))},d._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)}},d._manageStamp=i,d._getElementOffset=function(t){var e=t.getBoundingClientRect(),i=this._boundingRect,n=o(t);return{left:e.left-i.left-n.marginLeft,top:e.top-i.top-n.marginTop,right:i.right-e.right-n.marginRight,bottom:i.bottom-e.bottom-n.marginBottom}},d.handleEvent=s.handleEvent,d.bindResize=function(){t.addEventListener("resize",this),this.isResizeBound=!0},d.unbindResize=function(){t.removeEventListener("resize",this),this.isResizeBound=!1},d.onresize=function(){this.resize()},s.debounceMethod(c,"onresize",100),d.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},d.needsResizeLayout=function(){var t=o(this.element);return this.size&&t&&t.innerWidth!==this.size.innerWidth},d.addItems=function(t){var e=this._itemize(t);return e.length&&(this.items=this.items.concat(e)),e},d.appended=function(t){var e=this.addItems(t);e.length&&(this.layoutItems(e,!0),this.reveal(e))},d.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)}},d.reveal=function(t){if(this._emitCompleteOnItems("reveal",t),t&&t.length){var i=this.updateStagger();t.forEach(function(t,e){t.stagger(e*i),t.reveal()})}},d.hide=function(t){if(this._emitCompleteOnItems("hide",t),t&&t.length){var i=this.updateStagger();t.forEach(function(t,e){t.stagger(e*i),t.hide()})}},d.revealItemElements=function(t){var e=this.getItems(t);this.reveal(e)},d.hideItemElements=function(t){var e=this.getItems(t);this.hide(e)},d.getItem=function(t){for(var e=0;e<this.items.length;e++){var i=this.items[e];if(i.element==t)return i}},d.getItems=function(t){t=s.makeArray(t);var i=[];return t.forEach(function(t){var e=this.getItem(t);e&&i.push(e)},this),i},d.remove=function(t){var e=this.getItems(t);this._emitCompleteOnItems("remove",e),e&&e.length&&e.forEach(function(t){t.remove(),s.removeFrom(this.items,t)},this)},d.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 u[e],delete this.element.outlayerGUID,a&&a.removeData(this.element,this.constructor.namespace)},c.data=function(t){var e=(t=s.getQueryElement(t))&&t.outlayerGUID;return e&&u[e]},c.create=function(t,e){var i=l(c);return i.defaults=s.extend({},c.defaults),s.extend(i.defaults,e),i.compatOptions=s.extend({},c.compatOptions),i.namespace=t,i.data=c.data,i.Item=l(n),s.htmlInit(i,t),a&&a.bridget&&a.bridget(t,i),i};var f={ms:1,s:1e3};return c.Item=n,c}),function(t,e){"function"==typeof define&&define.amd?define("packery/js/rect",e):"object"==typeof module&&module.exports?module.exports=e():(t.Packery=t.Packery||{},t.Packery.Rect=e())}(window,function(){"use strict";function a(t){for(var e in a.defaults)this[e]=a.defaults[e];for(e in t)this[e]=t[e]}a.defaults={x:0,y:0,width:0,height:0};var t=a.prototype;return t.contains=function(t){var e=t.width||0,i=t.height||0;return this.x<=t.x&&this.y<=t.y&&this.x+this.width>=t.x+e&&this.y+this.height>=t.y+i},t.overlaps=function(t){var e=this.x+this.width,i=this.y+this.height,n=t.x+t.width,o=t.y+t.height;return this.x<n&&e>t.x&&this.y<o&&i>t.y},t.getMaximalFreeRects=function(t){if(!this.overlaps(t))return!1;var e,i=[],n=this.x+this.width,o=this.y+this.height,s=t.x+t.width,r=t.y+t.height;return this.y<t.y&&(e=new a({x:this.x,y:this.y,width:this.width,height:t.y-this.y}),i.push(e)),s<n&&(e=new a({x:s,y:this.y,width:n-s,height:this.height}),i.push(e)),r<o&&(e=new a({x:this.x,y:r,width:this.width,height:o-r}),i.push(e)),this.x<t.x&&(e=new a({x:this.x,y:this.y,width:t.x-this.x,height:this.height}),i.push(e)),i},t.canFit=function(t){return this.width>=t.width&&this.height>=t.height},a}),function(t,e){if("function"==typeof define&&define.amd)define("packery/js/packer",["./rect"],e);else if("object"==typeof module&&module.exports)module.exports=e(require("./rect"));else{var i=t.Packery=t.Packery||{};i.Packer=e(i.Rect)}}(window,function(e){"use strict";function t(t,e,i){this.width=t||0,this.height=e||0,this.sortDirection=i||"downwardLeftToRight",this.reset()}var i=t.prototype;i.reset=function(){this.spaces=[];var t=new e({x:0,y:0,width:this.width,height:this.height});this.spaces.push(t),this.sorter=n[this.sortDirection]||n.downwardLeftToRight},i.pack=function(t){for(var e=0;e<this.spaces.length;e++){var i=this.spaces[e];if(i.canFit(t)){this.placeInSpace(t,i);break}}},i.columnPack=function(t){for(var e=0;e<this.spaces.length;e++){var i=this.spaces[e];if(i.x<=t.x&&i.x+i.width>=t.x+t.width&&i.height>=t.height-.01){t.y=i.y,this.placed(t);break}}},i.rowPack=function(t){for(var e=0;e<this.spaces.length;e++){var i=this.spaces[e];if(i.y<=t.y&&i.y+i.height>=t.y+t.height&&i.width>=t.width-.01){t.x=i.x,this.placed(t);break}}},i.placeInSpace=function(t,e){t.x=e.x,t.y=e.y,this.placed(t)},i.placed=function(t){for(var e=[],i=0;i<this.spaces.length;i++){var n=this.spaces[i],o=n.getMaximalFreeRects(t);o?e.push.apply(e,o):e.push(n)}this.spaces=e,this.mergeSortSpaces()},i.mergeSortSpaces=function(){t.mergeRects(this.spaces),this.spaces.sort(this.sorter)},i.addSpace=function(t){this.spaces.push(t),this.mergeSortSpaces()},t.mergeRects=function(t){var e=0,i=t[e];t:for(;i;){for(var n=0,o=t[e+n];o;){if(o==i)n++;else{if(o.contains(i)){t.splice(e,1),i=t[e];continue t}i.contains(o)?t.splice(e+n,1):n++}o=t[e+n]}i=t[++e]}return t};var n={downwardLeftToRight:function(t,e){return t.y-e.y||t.x-e.x},rightwardTopToBottom:function(t,e){return t.x-e.x||t.y-e.y}};return t}),function(t,e){"function"==typeof define&&define.amd?define("packery/js/item",["outlayer/outlayer","./rect"],e):"object"==typeof module&&module.exports?module.exports=e(require("outlayer"),require("./rect")):t.Packery.Item=e(t.Outlayer,t.Packery.Rect)}(window,function(t,e){"use strict";var i="string"==typeof document.documentElement.style.transform?"transform":"WebkitTransform",n=function(){t.Item.apply(this,arguments)},o=n.prototype=Object.create(t.Item.prototype),s=o._create;o._create=function(){s.call(this),this.rect=new e};var r=o.moveTo;return o.moveTo=function(t,e){var i=Math.abs(this.position.x-t),n=Math.abs(this.position.y-e);this.layout.dragItemCount&&!this.isPlacing&&!this.isTransitioning&&i<1&&n<1?this.goTo(t,e):r.apply(this,arguments)},o.enablePlacing=function(){this.removeTransitionStyles(),this.isTransitioning&&i&&(this.element.style[i]="none"),this.isTransitioning=!1,this.getSize(),this.layout._setRectSize(this.element,this.rect),this.isPlacing=!0},o.disablePlacing=function(){this.isPlacing=!1},o.removeElem=function(){this.element.parentNode.removeChild(this.element),this.layout.packer.addSpace(this.rect),this.emitEvent("remove",[this])},o.showDropPlaceholder=function(){var t=this.dropPlaceholder;t||((t=this.dropPlaceholder=document.createElement("div")).className="packery-drop-placeholder",t.style.position="absolute"),t.style.width=this.size.width+"px",t.style.height=this.size.height+"px",this.positionDropPlaceholder(),this.layout.element.appendChild(t)},o.positionDropPlaceholder=function(){this.dropPlaceholder.style[i]="translate("+this.rect.x+"px, "+this.rect.y+"px)"},o.hideDropPlaceholder=function(){var t=this.dropPlaceholder.parentNode;t&&t.removeChild(this.dropPlaceholder)},n}),function(t,e){"function"==typeof define&&define.amd?define(["get-size/get-size","outlayer/outlayer","packery/js/rect","packery/js/packer","packery/js/item"],e):"object"==typeof module&&module.exports?module.exports=e(require("get-size"),require("outlayer"),require("./rect"),require("./packer"),require("./item")):t.Packery=e(t.getSize,t.Outlayer,t.Packery.Rect,t.Packery.Packer,t.Packery.Item)}(window,function(c,t,g,e,i){"use strict";g.prototype.canFit=function(t){return this.width>=t.width-1&&this.height>=t.height-1};var n=t.create("packery");n.Item=i;var o=n.prototype;function s(t,e){return t.position.y-e.position.y||t.position.x-e.position.x}function r(t,e){return t.position.x-e.position.x||t.position.y-e.position.y}o._create=function(){t.prototype._create.call(this),this.packer=new e,this.shiftPacker=new e,this.isEnabled=!0,this.dragItemCount=0;var i=this;this.handleDraggabilly={dragStart:function(){i.itemDragStart(this.element)},dragMove:function(){i.itemDragMove(this.element,this.position.x,this.position.y)},dragEnd:function(){i.itemDragEnd(this.element)}},this.handleUIDraggable={start:function(t,e){e&&i.itemDragStart(t.currentTarget)},drag:function(t,e){e&&i.itemDragMove(t.currentTarget,e.position.left,e.position.top)},stop:function(t,e){e&&i.itemDragEnd(t.currentTarget)}}},o._resetLayout=function(){var t,e,i;this.getSize(),this._getMeasurements(),i=this._getOption("horizontal")?(t=1/0,e=this.size.innerHeight+this.gutter,"rightwardTopToBottom"):(t=this.size.innerWidth+this.gutter,e=1/0,"downwardLeftToRight"),this.packer.width=this.shiftPacker.width=t,this.packer.height=this.shiftPacker.height=e,this.packer.sortDirection=this.shiftPacker.sortDirection=i,this.packer.reset(),this.maxY=0,this.maxX=0},o._getMeasurements=function(){this._getMeasurement("columnWidth","width"),this._getMeasurement("rowHeight","height"),this._getMeasurement("gutter","width")},o._getItemLayoutPosition=function(t){if(this._setRectSize(t.element,t.rect),this.isShifting||0<this.dragItemCount){var e=this._getPackMethod();this.packer[e](t.rect)}else this.packer.pack(t.rect);return this._setMaxXY(t.rect),t.rect},o.shiftLayout=function(){this.isShifting=!0,this.layout(),delete this.isShifting},o._getPackMethod=function(){return this._getOption("horizontal")?"rowPack":"columnPack"},o._setMaxXY=function(t){this.maxX=Math.max(t.x+t.width,this.maxX),this.maxY=Math.max(t.y+t.height,this.maxY)},o._setRectSize=function(t,e){var i=c(t),n=i.outerWidth,o=i.outerHeight;(n||o)&&(n=this._applyGridGutter(n,this.columnWidth),o=this._applyGridGutter(o,this.rowHeight)),e.width=Math.min(n,this.packer.width),e.height=Math.min(o,this.packer.height)},o._applyGridGutter=function(t,e){if(!e)return t+this.gutter;var i=t%(e+=this.gutter);return t=Math[i&&i<1?"round":"ceil"](t/e)*e},o._getContainerSize=function(){return this._getOption("horizontal")?{width:this.maxX-this.gutter}:{height:this.maxY-this.gutter}},o._manageStamp=function(t){var e,i=this.getItem(t);if(i&&i.isPlacing)e=i.rect;else{var n=this._getElementOffset(t);e=new g({x:this._getOption("originLeft")?n.left:n.right,y:this._getOption("originTop")?n.top:n.bottom})}this._setRectSize(t,e),this.packer.placed(e),this._setMaxXY(e)},o.sortItemsByPosition=function(){var t=this._getOption("horizontal")?r:s;this.items.sort(t)},o.fit=function(t,e,i){var n=this.getItem(t);n&&(this.stamp(n.element),n.enablePlacing(),this.updateShiftTargets(n),e=void 0===e?n.rect.x:e,i=void 0===i?n.rect.y:i,this.shift(n,e,i),this._bindFitEvents(n),n.moveTo(n.rect.x,n.rect.y),this.shiftLayout(),this.unstamp(n.element),this.sortItemsByPosition(),n.disablePlacing())},o._bindFitEvents=function(t){var e=this,i=0;function n(){2==++i&&e.dispatchEvent("fitComplete",null,[t])}t.once("layout",n),this.once("layoutComplete",n)},o.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&(this.options.shiftPercentResize?this.resizeShiftPercentLayout():this.layout())},o.needsResizeLayout=function(){var t=c(this.element),e=this._getOption("horizontal")?"innerHeight":"innerWidth";return t[e]!=this.size[e]},o.resizeShiftPercentLayout=function(){var t=this._getItemsForLayout(this.items),e=this._getOption("horizontal"),i=e?"y":"x",n=e?"height":"width",o=e?"rowHeight":"columnWidth",s=e?"innerHeight":"innerWidth",r=this[o];if(r=r&&r+this.gutter){this._getMeasurements();var a=this[o]+this.gutter;t.forEach(function(t){var e=Math.round(t.rect[i]/r);t.rect[i]=e*a})}else{var h=c(this.element)[s]+this.gutter,u=this.packer[n];t.forEach(function(t){t.rect[i]=t.rect[i]/u*h})}this.shiftLayout()},o.itemDragStart=function(t){if(this.isEnabled){this.stamp(t);var e=this.getItem(t);e&&(e.enablePlacing(),e.showDropPlaceholder(),this.dragItemCount++,this.updateShiftTargets(e))}},o.updateShiftTargets=function(t){this.shiftPacker.reset(),this._getBoundingRect();var o=this._getOption("originLeft"),s=this._getOption("originTop");this.stamps.forEach(function(t){var e=this.getItem(t);if(!e||!e.isPlacing){var i=this._getElementOffset(t),n=new g({x:o?i.left:i.right,y:s?i.top:i.bottom});this._setRectSize(t,n),this.shiftPacker.placed(n)}},this);var h,u=this._getOption("horizontal"),e=u?"rowHeight":"columnWidth",c=u?"height":"width";this.shiftTargetKeys=[],this.shiftTargets=[];var d=this[e];if(d=d&&d+this.gutter){var i=Math.ceil(t.rect[c]/d),n=Math.floor((this.shiftPacker[c]+this.gutter)/d);h=(n-i)*d;for(var r=0;r<n;r++){var a=u?0:r*d,l=u?r*d:0;this._addShiftTarget(a,l,h)}}else h=this.shiftPacker[c]+this.gutter-t.rect[c],this._addShiftTarget(0,0,h);var f=this._getItemsForLayout(this.items),p=this._getPackMethod();f.forEach(function(t){var e=t.rect;this._setRectSize(t.element,e),this.shiftPacker[p](e),this._addShiftTarget(e.x,e.y,h);var i=u?e.x+e.width:e.x,n=u?e.y:e.y+e.height;if(this._addShiftTarget(i,n,h),d)for(var o=Math.round(e[c]/d),s=1;s<o;s++){var r=u?i:e.x+d*s,a=u?e.y+d*s:n;this._addShiftTarget(r,a,h)}},this)},o._addShiftTarget=function(t,e,i){var n=this._getOption("horizontal")?e:t;if(!(0!==n&&i<n)){var o=t+","+e;-1!=this.shiftTargetKeys.indexOf(o)||(this.shiftTargetKeys.push(o),this.shiftTargets.push({x:t,y:e}))}},o.shift=function(t,e,i){var r,a=1/0,h={x:e,y:i};this.shiftTargets.forEach(function(t){var e,i,n,o,s=(n=(i=h).x-(e=t).x,o=i.y-e.y,Math.sqrt(n*n+o*o));s<a&&(r=t,a=s)}),t.rect.x=r.x,t.rect.y=r.y};o.itemDragMove=function(t,e,i){var n=this.isEnabled&&this.getItem(t);if(n){e-=this.size.paddingLeft,i-=this.size.paddingTop;var o=this,s=new Date;this._itemDragTime&&s-this._itemDragTime<120?(clearTimeout(this.dragTimeout),this.dragTimeout=setTimeout(r,120)):(r(),this._itemDragTime=s)}function r(){o.shift(n,e,i),n.positionDropPlaceholder(),o.layout()}},o.itemDragEnd=function(t){var e=this.isEnabled&&this.getItem(t);if(e){clearTimeout(this.dragTimeout),e.element.classList.add("is-positioning-post-drag");var i=0,n=this;e.once("layout",o),this.once("layoutComplete",o),e.moveTo(e.rect.x,e.rect.y),this.layout(),this.dragItemCount=Math.max(0,this.dragItemCount-1),this.sortItemsByPosition(),e.disablePlacing(),this.unstamp(e.element)}function o(){2==++i&&(e.element.classList.remove("is-positioning-post-drag"),e.hideDropPlaceholder(),n.dispatchEvent("dragItemPositioned",null,[e]))}},o.bindDraggabillyEvents=function(t){this._bindDraggabillyEvents(t,"on")},o.unbindDraggabillyEvents=function(t){this._bindDraggabillyEvents(t,"off")},o._bindDraggabillyEvents=function(t,e){var i=this.handleDraggabilly;t[e]("dragStart",i.dragStart),t[e]("dragMove",i.dragMove),t[e]("dragEnd",i.dragEnd)},o.bindUIDraggableEvents=function(t){this._bindUIDraggableEvents(t,"on")},o.unbindUIDraggableEvents=function(t){this._bindUIDraggableEvents(t,"off")},o._bindUIDraggableEvents=function(t,e){var i=this.handleUIDraggable;t[e]("dragstart",i.start)[e]("drag",i.drag)[e]("dragstop",i.stop)};var a=o.destroy;return o.destroy=function(){a.apply(this,arguments),this.isEnabled=!1},n.Rect=g,n.Packer=e,n});
assets/js/packery.pkgd.min.js DELETED
@@ -1,13 +0,0 @@
1
- /*!
2
- * Packery PACKAGED v2.1.1
3
- * Gapless, draggable grid layouts
4
- *
5
- * Licensed GPLv3 for open source use
6
- * or Packery Commercial License for commercial use
7
- *
8
- * http://packery.metafizzy.co
9
- * Copyright 2016 Metafizzy
10
- */
11
-
12
- !function(t,e){"use strict";"function"==typeof define&&define.amd?define("jquery-bridget/jquery-bridget",["jquery"],function(i){e(t,i)}):"object"==typeof module&&module.exports?module.exports=e(t,require("jquery")):t.jQueryBridget=e(t,t.jQuery)}(window,function(t,e){"use strict";function i(i,s,a){function h(t,e,n){var o,s="$()."+i+'("'+e+'")';return t.each(function(t,h){var u=a.data(h,i);if(!u)return void r(i+" not initialized. Cannot call methods, i.e. "+s);var c=u[e];if(!c||"_"==e.charAt(0))return void r(s+" is not a valid method");var d=c.apply(u,n);o=void 0===o?d: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 s(n,e),a.data(n,i,o))})}a=a||e||t.jQuery,a&&(s.prototype.option||(s.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,s=t.console,r="undefined"==typeof s?function(){}:function(t){s.error(t)};return n(e||t.jQuery),i}),function(t,e){"use strict";"function"==typeof define&&define.amd?define("get-size/get-size",[],function(){return e()}):"object"==typeof module&&module.exports?module.exports=e():t.getSize=e()}(window,function(){"use strict";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 http://bit.ly/getsizebug1"),e}function o(){if(!c){c=!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.isBoxSizeOuter=r=200==t(o.width),i.removeChild(e)}}function s(e){if(o(),"string"==typeof e&&(e=document.querySelector(e)),e&&"object"==typeof e&&e.nodeType){var s=n(e);if("none"==s.display)return i();var a={};a.width=e.offsetWidth,a.height=e.offsetHeight;for(var c=a.isBorderBox="border-box"==s.boxSizing,d=0;u>d;d++){var f=h[d],l=s[f],p=parseFloat(l);a[f]=isNaN(p)?0:p}var g=a.paddingLeft+a.paddingRight,m=a.paddingTop+a.paddingBottom,y=a.marginLeft+a.marginRight,v=a.marginTop+a.marginBottom,_=a.borderLeftWidth+a.borderRightWidth,x=a.borderTopWidth+a.borderBottomWidth,b=c&&r,E=t(s.width);E!==!1&&(a.width=E+(b?0:g+_));var T=t(s.height);return T!==!1&&(a.height=T+(b?0:m+x)),a.innerWidth=a.width-(g+_),a.innerHeight=a.height-(m+x),a.outerWidth=a.width+y,a.outerHeight=a.height+v,a}}var r,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,c=!1;return s}),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()}(this,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){var n=0,o=i[n];e=e||[];for(var s=this._onceEvents&&this._onceEvents[t];o;){var r=s&&s[o];r&&(this.off(t,o),delete s[o]),o.apply(this,e),n+=r?0:1,o=i[n]}return this}},t}),function(t,e){"use strict";"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(){"use strict";var t=function(){var t=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},i.makeArray=function(t){var e=[];if(Array.isArray(t))e=t;else if(t&&"number"==typeof t.length)for(var i=0;i<t.length;i++)e.push(t[i]);else e.push(t);return e},i.removeFrom=function(t,e){var i=t.indexOf(e);-1!=i&&t.splice(i,1)},i.getParent=function(t,i){for(;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),s=0;s<i.length;s++)o.push(i[s])}}),o},i.debounceMethod=function(t,e,i){var n=t.prototype[e],o=e+"Timeout";t.prototype[e]=function(){var t=this[o];t&&clearTimeout(t);var e=arguments,s=this;this[o]=setTimeout(function(){n.apply(s,e),delete s[o]},i||100)}},i.docReady=function(t){"complete"==document.readyState?t():document.addEventListener("DOMContentLoaded",t)},i.toDashed=function(t){return t.replace(/(.)([A-Z])/g,function(t,e,i){return e+"-"+i}).toLowerCase()};var n=t.console;return i.htmlInit=function(e,o){i.docReady(function(){var s=i.toDashed(o),r="data-"+s,a=document.querySelectorAll("["+r+"]"),h=document.querySelectorAll(".js-"+s),u=i.makeArray(a).concat(i.makeArray(h)),c=r+"-options",d=t.jQuery;u.forEach(function(t){var i,s=t.getAttribute(r)||t.getAttribute(c);try{i=s&&JSON.parse(s)}catch(a){return void(n&&n.error("Error parsing "+r+" on "+t.className+": "+a))}var h=new e(t,i);d&&d.data(t,o,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){"use strict";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 s=document.documentElement.style,r="string"==typeof s.transition?"transition":"WebkitTransition",a="string"==typeof s.transform?"transform":"WebkitTransform",h={WebkitTransition:"webkitTransitionEnd",transition:"transitionend"}[r],u={transform:a,transition:r,transitionDuration:r+"Duration",transitionProperty:r+"Property",transitionDelay:r+"Delay"},c=n.prototype=Object.create(t.prototype);c.constructor=n,c._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},c.handleEvent=function(t){var e="on"+t.type;this[e]&&this[e](t)},c.getSize=function(){this.size=e(this.element)},c.css=function(t){var e=this.element.style;for(var i in t){var n=u[i]||i;e[n]=t[i]}},c.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"],s=this.layout.size,r=-1!=n.indexOf("%")?parseFloat(n)/100*s.width:parseInt(n,10),a=-1!=o.indexOf("%")?parseFloat(o)/100*s.height:parseInt(o,10);r=isNaN(r)?0:r,a=isNaN(a)?0:a,r-=e?s.paddingLeft:s.paddingRight,a-=i?s.paddingTop:s.paddingBottom,this.position.x=r,this.position.y=a},c.layoutPosition=function(){var t=this.layout.size,e={},i=this.layout._getOption("originLeft"),n=this.layout._getOption("originTop"),o=i?"paddingLeft":"paddingRight",s=i?"left":"right",r=i?"right":"left",a=this.position.x+t[o];e[s]=this.getXValue(a),e[r]="";var h=n?"paddingTop":"paddingBottom",u=n?"top":"bottom",c=n?"bottom":"top",d=this.position.y+t[h];e[u]=this.getYValue(d),e[c]="",this.css(e),this.emitEvent("layout",[this])},c.getXValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&!e?t/this.layout.size.width*100+"%":t+"px"},c.getYValue=function(t){var e=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&e?t/this.layout.size.height*100+"%":t+"px"},c._transitionTo=function(t,e){this.getPosition();var i=this.position.x,n=this.position.y,o=parseInt(t,10),s=parseInt(e,10),r=o===this.position.x&&s===this.position.y;if(this.setPosition(t,e),r&&!this.isTransitioning)return void this.layoutPosition();var a=t-i,h=e-n,u={};u.transform=this.getTranslate(a,h),this.transition({to:u,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},c.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)"},c.goTo=function(t,e){this.setPosition(t,e),this.layoutPosition()},c.moveTo=c._transitionTo,c.setPosition=function(t,e){this.position.x=parseInt(t,10),this.position.y=parseInt(e,10)},c._nonTransition=function(t){this.css(t.to),t.isCleaning&&this._removeStyles(t.to);for(var e in t.onTransitionEnd)t.onTransitionEnd[e].call(this)},c.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);var n=this.element.offsetHeight;n=null}this.enableTransition(t.to),this.css(t.to),this.isTransitioning=!0};var d="opacity,"+o(a);c.enableTransition=function(){if(!this.isTransitioning){var t=this.layout.options.transitionDuration;t="number"==typeof t?t+"ms":t,this.css({transitionProperty:d,transitionDuration:t,transitionDelay:this.staggerDelay||0}),this.element.addEventListener(h,this,!1)}},c.onwebkitTransitionEnd=function(t){this.ontransitionend(t)},c.onotransitionend=function(t){this.ontransitionend(t)};var f={"-webkit-transform":"transform"};c.ontransitionend=function(t){if(t.target===this.element){var e=this._transn,n=f[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])}},c.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(h,this,!1),this.isTransitioning=!1},c._removeStyles=function(t){var e={};for(var i in t)e[i]="";this.css(e)};var l={transitionProperty:"",transitionDuration:"",transitionDelay:""};return c.removeTransitionStyles=function(){this.css(l)},c.stagger=function(t){t=isNaN(t)?0:t,this.staggerDelay=t+"ms"},c.removeElem=function(){this.element.parentNode.removeChild(this.element),this.css({display:""}),this.emitEvent("remove",[this])},c.remove=function(){return r&&parseFloat(this.layout.options.transitionDuration)?(this.once("transitionEnd",function(){this.removeElem()}),void this.hide()):void this.removeElem()},c.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})},c.onRevealTransitionEnd=function(){this.isHidden||this.emitEvent("reveal")},c.getHideRevealTransitionEndProperty=function(t){var e=this.layout.options[t];if(e.opacity)return"opacity";for(var i in e)return i},c.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})},c.onHideTransitionEnd=function(){this.isHidden&&(this.css({display:"none"}),this.emitEvent("hide"))},c.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},n}),function(t,e){"use strict";"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,s){return e(t,i,n,o,s)}):"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){"use strict";function s(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=++d;this.element.outlayerGUID=o,f[o]=this,this._create();var s=this._getOption("initLayout");s&&this.layout()}function r(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=p[n]||1;return i*o}var h=t.console,u=t.jQuery,c=function(){},d=0,f={};s.namespace="outlayer",s.Item=o,s.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 l=s.prototype;n.extend(l,e.prototype),l.option=function(t){n.extend(this.options,t)},l._getOption=function(t){var e=this.constructor.compatOptions[t];return e&&void 0!==this.options[e]?this.options[e]:this.options[t]},s.compatOptions={initLayout:"isInitLayout",horizontal:"isHorizontal",layoutInstant:"isLayoutInstant",originLeft:"isOriginLeft",originTop:"isOriginTop",resize:"isResizeBound",resizeContainer:"isResizingContainer"},l._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()},l.reloadItems=function(){this.items=this._itemize(this.element.children)},l._itemize=function(t){for(var e=this._filterFindItemElements(t),i=this.constructor.Item,n=[],o=0;o<e.length;o++){var s=e[o],r=new i(s,this);n.push(r)}return n},l._filterFindItemElements=function(t){return n.filterFindElements(t,this.options.itemSelector)},l.getItemElements=function(){return this.items.map(function(t){return t.element})},l.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},l._init=l.layout,l._resetLayout=function(){this.getSize()},l.getSize=function(){this.size=i(this.element)},l._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},l.layoutItems=function(t,e){t=this._getItemsForLayout(t),this._layoutItems(t,e),this._postLayout()},l._getItemsForLayout=function(t){return t.filter(function(t){return!t.isIgnored})},l._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)}},l._getItemLayoutPosition=function(){return{x:0,y:0}},l._processLayoutQueue=function(t){this.updateStagger(),t.forEach(function(t,e){this._positionItem(t.item,t.x,t.y,t.isInstant,e)},this)},l.updateStagger=function(){var t=this.options.stagger;return null===t||void 0===t?void(this.stagger=0):(this.stagger=a(t),this.stagger)},l._positionItem=function(t,e,i,n,o){n?t.goTo(e,i):(t.stagger(o*this.stagger),t.moveTo(e,i))},l._postLayout=function(){this.resizeContainer()},l.resizeContainer=function(){var t=this._getOption("resizeContainer");if(t){var e=this._getContainerSize();e&&(this._setContainerMeasure(e.width,!0),this._setContainerMeasure(e.height,!1))}},l._getContainerSize=c,l._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"}},l._emitCompleteOnItems=function(t,e){function i(){o.dispatchEvent(t+"Complete",null,[e])}function n(){r++,r==s&&i()}var o=this,s=e.length;if(!e||!s)return void i();var r=0;e.forEach(function(e){e.once(t,n)})},l.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)},l.ignore=function(t){var e=this.getItem(t);e&&(e.isIgnored=!0)},l.unignore=function(t){var e=this.getItem(t);e&&delete e.isIgnored},l.stamp=function(t){t=this._find(t),t&&(this.stamps=this.stamps.concat(t),t.forEach(this.ignore,this))},l.unstamp=function(t){t=this._find(t),t&&t.forEach(function(t){n.removeFrom(this.stamps,t),this.unignore(t)},this)},l._find=function(t){return t?("string"==typeof t&&(t=this.element.querySelectorAll(t)),t=n.makeArray(t)):void 0},l._manageStamps=function(){this.stamps&&this.stamps.length&&(this._getBoundingRect(),this.stamps.forEach(this._manageStamp,this))},l._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)}},l._manageStamp=c,l._getElementOffset=function(t){var e=t.getBoundingClientRect(),n=this._boundingRect,o=i(t),s={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 s},l.handleEvent=n.handleEvent,l.bindResize=function(){t.addEventListener("resize",this),this.isResizeBound=!0},l.unbindResize=function(){t.removeEventListener("resize",this),this.isResizeBound=!1},l.onresize=function(){this.resize()},n.debounceMethod(s,"onresize",100),l.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},l.needsResizeLayout=function(){var t=i(this.element),e=this.size&&t;return e&&t.innerWidth!==this.size.innerWidth},l.addItems=function(t){var e=this._itemize(t);return e.length&&(this.items=this.items.concat(e)),e},l.appended=function(t){var e=this.addItems(t);e.length&&(this.layoutItems(e,!0),this.reveal(e))},l.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)}},l.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()})}},l.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()})}},l.revealItemElements=function(t){var e=this.getItems(t);this.reveal(e)},l.hideItemElements=function(t){var e=this.getItems(t);this.hide(e)},l.getItem=function(t){for(var e=0;e<this.items.length;e++){var i=this.items[e];if(i.element==t)return i}},l.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},l.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)},l.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 f[e],delete this.element.outlayerGUID,u&&u.removeData(this.element,this.constructor.namespace)},s.data=function(t){t=n.getQueryElement(t);var e=t&&t.outlayerGUID;return e&&f[e]},s.create=function(t,e){var i=r(s);return i.defaults=n.extend({},s.defaults),n.extend(i.defaults,e),i.compatOptions=n.extend({},s.compatOptions),i.namespace=t,i.data=s.data,i.Item=r(o),n.htmlInit(i,t),u&&u.bridget&&u.bridget(t,i),i};var p={ms:1,s:1e3};return s.Item=o,s}),function(t,e){"function"==typeof define&&define.amd?define("packery/js/rect",e):"object"==typeof module&&module.exports?module.exports=e():(t.Packery=t.Packery||{},t.Packery.Rect=e())}(window,function(){"use strict";function t(e){for(var i in t.defaults)this[i]=t.defaults[i];for(i in e)this[i]=e[i]}t.defaults={x:0,y:0,width:0,height:0};var e=t.prototype;return e.contains=function(t){var e=t.width||0,i=t.height||0;return this.x<=t.x&&this.y<=t.y&&this.x+this.width>=t.x+e&&this.y+this.height>=t.y+i},e.overlaps=function(t){var e=this.x+this.width,i=this.y+this.height,n=t.x+t.width,o=t.y+t.height;return this.x<n&&e>t.x&&this.y<o&&i>t.y},e.getMaximalFreeRects=function(e){if(!this.overlaps(e))return!1;var i,n=[],o=this.x+this.width,s=this.y+this.height,r=e.x+e.width,a=e.y+e.height;return this.y<e.y&&(i=new t({x:this.x,y:this.y,width:this.width,height:e.y-this.y}),n.push(i)),o>r&&(i=new t({x:r,y:this.y,width:o-r,height:this.height}),n.push(i)),s>a&&(i=new t({x:this.x,y:a,width:this.width,height:s-a}),n.push(i)),this.x<e.x&&(i=new t({x:this.x,y:this.y,width:e.x-this.x,height:this.height}),n.push(i)),n},e.canFit=function(t){return this.width>=t.width&&this.height>=t.height},t}),function(t,e){if("function"==typeof define&&define.amd)define("packery/js/packer",["./rect"],e);else if("object"==typeof module&&module.exports)module.exports=e(require("./rect"));else{var i=t.Packery=t.Packery||{};i.Packer=e(i.Rect)}}(window,function(t){"use strict";function e(t,e,i){this.width=t||0,this.height=e||0,this.sortDirection=i||"downwardLeftToRight",this.reset()}var i=e.prototype;i.reset=function(){this.spaces=[];var e=new t({x:0,y:0,width:this.width,height:this.height});this.spaces.push(e),this.sorter=n[this.sortDirection]||n.downwardLeftToRight},i.pack=function(t){for(var e=0;e<this.spaces.length;e++){var i=this.spaces[e];if(i.canFit(t)){this.placeInSpace(t,i);break}}},i.columnPack=function(t){for(var e=0;e<this.spaces.length;e++){var i=this.spaces[e],n=i.x<=t.x&&i.x+i.width>=t.x+t.width&&i.height>=t.height-.01;if(n){t.y=i.y,this.placed(t);break}}},i.rowPack=function(t){for(var e=0;e<this.spaces.length;e++){var i=this.spaces[e],n=i.y<=t.y&&i.y+i.height>=t.y+t.height&&i.width>=t.width-.01;if(n){t.x=i.x,this.placed(t);break}}},i.placeInSpace=function(t,e){t.x=e.x,t.y=e.y,this.placed(t)},i.placed=function(t){for(var e=[],i=0;i<this.spaces.length;i++){var n=this.spaces[i],o=n.getMaximalFreeRects(t);o?e.push.apply(e,o):e.push(n)}this.spaces=e,this.mergeSortSpaces()},i.mergeSortSpaces=function(){e.mergeRects(this.spaces),this.spaces.sort(this.sorter)},i.addSpace=function(t){this.spaces.push(t),this.mergeSortSpaces()},e.mergeRects=function(t){var e=0,i=t[e];t:for(;i;){for(var n=0,o=t[e+n];o;){if(o==i)n++;else{if(o.contains(i)){t.splice(e,1),i=t[e];continue t}i.contains(o)?t.splice(e+n,1):n++}o=t[e+n]}e++,i=t[e]}return t};var n={downwardLeftToRight:function(t,e){return t.y-e.y||t.x-e.x},rightwardTopToBottom:function(t,e){return t.x-e.x||t.y-e.y}};return e}),function(t,e){"function"==typeof define&&define.amd?define("packery/js/item",["outlayer/outlayer","./rect"],e):"object"==typeof module&&module.exports?module.exports=e(require("outlayer"),require("./rect")):t.Packery.Item=e(t.Outlayer,t.Packery.Rect)}(window,function(t,e){"use strict";var i=document.documentElement.style,n="string"==typeof i.transform?"transform":"WebkitTransform",o=function(){t.Item.apply(this,arguments)},s=o.prototype=Object.create(t.Item.prototype),r=s._create;s._create=function(){r.call(this),this.rect=new e};var a=s.moveTo;return s.moveTo=function(t,e){var i=Math.abs(this.position.x-t),n=Math.abs(this.position.y-e),o=this.layout.dragItemCount&&!this.isPlacing&&!this.isTransitioning&&1>i&&1>n;return o?void this.goTo(t,e):void a.apply(this,arguments)},s.enablePlacing=function(){this.removeTransitionStyles(),this.isTransitioning&&n&&(this.element.style[n]="none"),this.isTransitioning=!1,this.getSize(),this.layout._setRectSize(this.element,this.rect),this.isPlacing=!0},s.disablePlacing=function(){this.isPlacing=!1},s.removeElem=function(){this.element.parentNode.removeChild(this.element),this.layout.packer.addSpace(this.rect),this.emitEvent("remove",[this])},s.showDropPlaceholder=function(){var t=this.dropPlaceholder;t||(t=this.dropPlaceholder=document.createElement("div"),t.className="packery-drop-placeholder",t.style.position="absolute"),t.style.width=this.size.width+"px",t.style.height=this.size.height+"px",this.positionDropPlaceholder(),this.layout.element.appendChild(t)},s.positionDropPlaceholder=function(){this.dropPlaceholder.style[n]="translate("+this.rect.x+"px, "+this.rect.y+"px)"},s.hideDropPlaceholder=function(){var t=this.dropPlaceholder.parentNode;t&&t.removeChild(this.dropPlaceholder)},o}),function(t,e){"function"==typeof define&&define.amd?define(["get-size/get-size","outlayer/outlayer","packery/js/rect","packery/js/packer","packery/js/item"],e):"object"==typeof module&&module.exports?module.exports=e(require("get-size"),require("outlayer"),require("./rect"),require("./packer"),require("./item")):t.Packery=e(t.getSize,t.Outlayer,t.Packery.Rect,t.Packery.Packer,t.Packery.Item)}(window,function(t,e,i,n,o){"use strict";function s(t,e){return t.position.y-e.position.y||t.position.x-e.position.x}function r(t,e){return t.position.x-e.position.x||t.position.y-e.position.y}function a(t,e){var i=e.x-t.x,n=e.y-t.y;return Math.sqrt(i*i+n*n)}i.prototype.canFit=function(t){return this.width>=t.width-1&&this.height>=t.height-1};var h=e.create("packery");h.Item=o;var u=h.prototype;u._create=function(){e.prototype._create.call(this),this.packer=new n,this.shiftPacker=new n,this.isEnabled=!0,this.dragItemCount=0;var t=this;this.handleDraggabilly={dragStart:function(){t.itemDragStart(this.element)},dragMove:function(){t.itemDragMove(this.element,this.position.x,this.position.y)},dragEnd:function(){t.itemDragEnd(this.element)}},this.handleUIDraggable={start:function(e,i){i&&t.itemDragStart(e.currentTarget)},drag:function(e,i){i&&t.itemDragMove(e.currentTarget,i.position.left,i.position.top)},stop:function(e,i){i&&t.itemDragEnd(e.currentTarget)}}},u._resetLayout=function(){this.getSize(),this._getMeasurements();var t,e,i;this._getOption("horizontal")?(t=1/0,e=this.size.innerHeight+this.gutter,i="rightwardTopToBottom"):(t=this.size.innerWidth+this.gutter,e=1/0,i="downwardLeftToRight"),this.packer.width=this.shiftPacker.width=t,this.packer.height=this.shiftPacker.height=e,this.packer.sortDirection=this.shiftPacker.sortDirection=i,this.packer.reset(),this.maxY=0,this.maxX=0},u._getMeasurements=function(){this._getMeasurement("columnWidth","width"),this._getMeasurement("rowHeight","height"),this._getMeasurement("gutter","width")},u._getItemLayoutPosition=function(t){if(this._setRectSize(t.element,t.rect),this.isShifting||this.dragItemCount>0){var e=this._getPackMethod();this.packer[e](t.rect)}else this.packer.pack(t.rect);return this._setMaxXY(t.rect),t.rect},u.shiftLayout=function(){this.isShifting=!0,this.layout(),delete this.isShifting},u._getPackMethod=function(){return this._getOption("horizontal")?"rowPack":"columnPack"},u._setMaxXY=function(t){this.maxX=Math.max(t.x+t.width,this.maxX),this.maxY=Math.max(t.y+t.height,this.maxY)},u._setRectSize=function(e,i){var n=t(e),o=n.outerWidth,s=n.outerHeight;(o||s)&&(o=this._applyGridGutter(o,this.columnWidth),s=this._applyGridGutter(s,this.rowHeight)),i.width=Math.min(o,this.packer.width),i.height=Math.min(s,this.packer.height)},u._applyGridGutter=function(t,e){if(!e)return t+this.gutter;e+=this.gutter;var i=t%e,n=i&&1>i?"round":"ceil";return t=Math[n](t/e)*e},u._getContainerSize=function(){return this._getOption("horizontal")?{width:this.maxX-this.gutter}:{height:this.maxY-this.gutter}},u._manageStamp=function(t){var e,n=this.getItem(t);if(n&&n.isPlacing)e=n.rect;else{var o=this._getElementOffset(t);e=new i({x:this._getOption("originLeft")?o.left:o.right,y:this._getOption("originTop")?o.top:o.bottom})}this._setRectSize(t,e),this.packer.placed(e),this._setMaxXY(e)},u.sortItemsByPosition=function(){var t=this._getOption("horizontal")?r:s;this.items.sort(t)},u.fit=function(t,e,i){var n=this.getItem(t);n&&(this.stamp(n.element),n.enablePlacing(),this.updateShiftTargets(n),e=void 0===e?n.rect.x:e,i=void 0===i?n.rect.y:i,this.shift(n,e,i),this._bindFitEvents(n),n.moveTo(n.rect.x,n.rect.y),this.shiftLayout(),this.unstamp(n.element),this.sortItemsByPosition(),n.disablePlacing())},u._bindFitEvents=function(t){function e(){n++,2==n&&i.dispatchEvent("fitComplete",null,[t])}var i=this,n=0;t.once("layout",e),this.once("layoutComplete",e)},u.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&(this.options.shiftPercentResize?this.resizeShiftPercentLayout():this.layout())},u.needsResizeLayout=function(){var e=t(this.element),i=this._getOption("horizontal")?"innerHeight":"innerWidth";return e[i]!=this.size[i]},u.resizeShiftPercentLayout=function(){var e=this._getItemsForLayout(this.items),i=this._getOption("horizontal"),n=i?"y":"x",o=i?"height":"width",s=i?"rowHeight":"columnWidth",r=i?"innerHeight":"innerWidth",a=this[s];if(a=a&&a+this.gutter){this._getMeasurements();var h=this[s]+this.gutter;e.forEach(function(t){var e=Math.round(t.rect[n]/a);t.rect[n]=e*h})}else{var u=t(this.element)[r]+this.gutter,c=this.packer[o];e.forEach(function(t){t.rect[n]=t.rect[n]/c*u})}this.shiftLayout()},u.itemDragStart=function(t){if(this.isEnabled){this.stamp(t);var e=this.getItem(t);e&&(e.enablePlacing(),e.showDropPlaceholder(),this.dragItemCount++,this.updateShiftTargets(e))}},u.updateShiftTargets=function(t){this.shiftPacker.reset(),this._getBoundingRect();var e=this._getOption("originLeft"),n=this._getOption("originTop");this.stamps.forEach(function(t){var o=this.getItem(t);if(!o||!o.isPlacing){var s=this._getElementOffset(t),r=new i({x:e?s.left:s.right,y:n?s.top:s.bottom});this._setRectSize(t,r),this.shiftPacker.placed(r)}},this);var o=this._getOption("horizontal"),s=o?"rowHeight":"columnWidth",r=o?"height":"width";this.shiftTargetKeys=[],this.shiftTargets=[];var a,h=this[s];if(h=h&&h+this.gutter){var u=Math.ceil(t.rect[r]/h),c=Math.floor((this.shiftPacker[r]+this.gutter)/h);a=(c-u)*h;for(var d=0;c>d;d++){var f=o?0:d*h,l=o?d*h:0;this._addShiftTarget(f,l,a)}}else a=this.shiftPacker[r]+this.gutter-t.rect[r],this._addShiftTarget(0,0,a);var p=this._getItemsForLayout(this.items),g=this._getPackMethod();p.forEach(function(t){var e=t.rect;this._setRectSize(t.element,e),this.shiftPacker[g](e),this._addShiftTarget(e.x,e.y,a);var i=o?e.x+e.width:e.x,n=o?e.y:e.y+e.height;if(this._addShiftTarget(i,n,a),h)for(var s=Math.round(e[r]/h),u=1;s>u;u++){var c=o?i:e.x+h*u,d=o?e.y+h*u:n;this._addShiftTarget(c,d,a)}},this)},u._addShiftTarget=function(t,e,i){var n=this._getOption("horizontal")?e:t;if(!(0!==n&&n>i)){var o=t+","+e,s=-1!=this.shiftTargetKeys.indexOf(o);s||(this.shiftTargetKeys.push(o),this.shiftTargets.push({x:t,y:e}))}},u.shift=function(t,e,i){var n,o=1/0,s={x:e,y:i};this.shiftTargets.forEach(function(t){var e=a(t,s);o>e&&(n=t,o=e)}),t.rect.x=n.x,t.rect.y=n.y};var c=120;u.itemDragMove=function(t,e,i){
13
- function n(){s.shift(o,e,i),o.positionDropPlaceholder(),s.layout()}var o=this.isEnabled&&this.getItem(t);if(o){e-=this.size.paddingLeft,i-=this.size.paddingTop;var s=this,r=new Date;this._itemDragTime&&r-this._itemDragTime<c?(clearTimeout(this.dragTimeout),this.dragTimeout=setTimeout(n,c)):(n(),this._itemDragTime=r)}},u.itemDragEnd=function(t){function e(){n++,2==n&&(i.element.classList.remove("is-positioning-post-drag"),i.hideDropPlaceholder(),o.dispatchEvent("dragItemPositioned",null,[i]))}var i=this.isEnabled&&this.getItem(t);if(i){clearTimeout(this.dragTimeout),i.element.classList.add("is-positioning-post-drag");var n=0,o=this;i.once("layout",e),this.once("layoutComplete",e),i.moveTo(i.rect.x,i.rect.y),this.layout(),this.dragItemCount=Math.max(0,this.dragItemCount-1),this.sortItemsByPosition(),i.disablePlacing(),this.unstamp(i.element)}},u.bindDraggabillyEvents=function(t){this._bindDraggabillyEvents(t,"on")},u.unbindDraggabillyEvents=function(t){this._bindDraggabillyEvents(t,"off")},u._bindDraggabillyEvents=function(t,e){var i=this.handleDraggabilly;t[e]("dragStart",i.dragStart),t[e]("dragMove",i.dragMove),t[e]("dragEnd",i.dragEnd)},u.bindUIDraggableEvents=function(t){this._bindUIDraggableEvents(t,"on")},u.unbindUIDraggableEvents=function(t){this._bindUIDraggableEvents(t,"off")},u._bindUIDraggableEvents=function(t,e){var i=this.handleUIDraggable;t[e]("dragstart",i.start)[e]("drag",i.drag)[e]("dragstop",i.stop)};var d=u.destroy;return u.destroy=function(){d.apply(this,arguments),this.isEnabled=!1},h.Rect=i,h.Packer=n,h});
assets/js/resizesensor.min.js ADDED
@@ -0,0 +1 @@
1
+ "use strict";!function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.ResizeSensor=t()}("undefined"!=typeof window?window:this,function(){if("undefined"==typeof window)return null;var w=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||function(e){return window.setTimeout(e,20)};function n(e,t){var i=Object.prototype.toString.call(e),n="[object Array]"===i||"[object NodeList]"===i||"[object HTMLCollection]"===i||"[object Object]"===i||"undefined"!=typeof jQuery&&e instanceof jQuery||"undefined"!=typeof Elements&&e instanceof Elements,o=0,s=e.length;if(n)for(;o<s;o++)t(e[o]);else t(e)}function g(e){if(!e.getBoundingClientRect)return{width:e.offsetWidth,height:e.offsetHeight};var t=e.getBoundingClientRect();return{width:Math.round(t.width),height:Math.round(t.height)}}var o=function(t,i){function y(){var i,n,o=[];this.add=function(e){o.push(e)},this.call=function(){for(i=0,n=o.length;i<n;i++)o[i].call()},this.remove=function(e){var t=[];for(i=0,n=o.length;i<n;i++)o[i]!==e&&t.push(o[i]);o=t},this.length=function(){return o.length}}n(t,function(e){!function(n,e){if(n)if(n.resizedAttached)n.resizedAttached.add(e);else{n.resizedAttached=new y,n.resizedAttached.add(e),n.resizeSensor=document.createElement("div"),n.resizeSensor.dir="ltr",n.resizeSensor.className="resize-sensor";var t="position: absolute; left: -10px; top: -10px; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;",i="position: absolute; left: 0; top: 0; transition: 0s;";n.resizeSensor.style.cssText=t,n.resizeSensor.innerHTML='<div class="resize-sensor-expand" style="'+t+'"><div style="'+i+'"></div></div><div class="resize-sensor-shrink" style="'+t+'"><div style="'+i+' width: 200%; height: 200%"></div></div>',n.appendChild(n.resizeSensor);var o=window.getComputedStyle(n).getPropertyPriority("position");"absolute"!==o&&"relative"!==o&&"fixed"!==o&&(n.style.position="relative");var s,r,d=n.resizeSensor.childNodes[0],c=d.childNodes[0],l=n.resizeSensor.childNodes[1],a=g(n),h=a.width,f=a.height,u=function(){var e=0===n.offsetWidth&&0===n.offsetHeight;if(e){var t=n.style.display;n.style.display="block"}c.style.width="100000px",c.style.height="100000px",d.scrollLeft=1e5,d.scrollTop=1e5,l.scrollLeft=1e5,l.scrollTop=1e5,e&&(n.style.display=t)};n.resizeSensor.resetSensor=u;var p=function(){r=0,s&&(f=h=void 0,n.resizedAttached&&n.resizedAttached.call())},v=function(){var e=g(n),t=e.width,i=e.height;(s=t!=h||i!=f)&&!r&&(r=w(p)),u()},z=function(e,t,i){e.attachEvent?e.attachEvent("on"+t,i):e.addEventListener(t,i)};z(d,"scroll",v),z(l,"scroll",v),w(u)}}(e,i)}),this.detach=function(e){o.detach(t,e)},this.reset=function(){t.resizeSensor.resetSensor()}};return o.reset=function(e,t){n(e,function(e){e.resizeSensor.resetSensor()})},o.detach=function(e,t){n(e,function(e){e&&(e.resizedAttached&&"function"==typeof t&&(e.resizedAttached.remove(t),e.resizedAttached.length())||e.resizeSensor&&(e.contains(e.resizeSensor)&&e.removeChild(e.resizeSensor),delete e.resizeSensor,delete e.resizedAttached))})},o});
assets/js/wp-modula-conditions.js CHANGED
@@ -5,7 +5,9 @@ var modulaGalleryConditions = Backbone.Model.extend({
5
initialize: function( args ){
6
7
var rows = jQuery('.modula-settings-container tr[data-container]');
8
this.set( 'rows', rows );
9
10
this.initEvents();
11
this.initValues();
@@ -27,15 +29,24 @@ var modulaGalleryConditions = Backbone.Model.extend({
27
},
28
29
changedType: function( settings, value ){
30
- var rows = this.get( 'rows' );
31
32
if ( 'custom-grid' == value ) {
33
34
rows.filter( '[data-container="columns"], [data-container="gutter"]' ).show();
35
rows.filter( '[data-container="width"], [data-container="height"], [data-container="margin"], [data-container="randomFactor"], [data-container="shuffle"]' ).hide();
36
37
}else if ( 'creative-gallery' ) {
38
39
rows.filter( '[data-container="columns"], [data-container="gutter"]' ).hide();
40
rows.filter( '[data-container="width"], [data-container="height"], [data-container="margin"], [data-container="randomFactor"], [data-container="shuffle"]' ).show();
41
5
initialize: function( args ){
6
7
var rows = jQuery('.modula-settings-container tr[data-container]');
8
+ var tabs = jQuery('.modula-tabs .modula-tab');
9
this.set( 'rows', rows );
10
+ this.set( 'tabs', tabs );
11
12
this.initEvents();
13
this.initValues();
29
},
30
31
changedType: function( settings, value ){
32
+ var rows = this.get( 'rows' ),
33
+ tabs = this.get( 'tabs' );
34
+
35
+ console.log( tabs );
36
37
if ( 'custom-grid' == value ) {
38
+
39
+ // Show Responsive tab
40
+ tabs.filter( '[data-tab="modula-responsive"]' ).show();
41
42
rows.filter( '[data-container="columns"], [data-container="gutter"]' ).show();
43
rows.filter( '[data-container="width"], [data-container="height"], [data-container="margin"], [data-container="randomFactor"], [data-container="shuffle"]' ).hide();
44
45
}else if ( 'creative-gallery' ) {
46
47
+ // Hide Responsive tab
48
+ tabs.filter( '[data-tab="modula-responsive"]' ).hide();
49
+
50
rows.filter( '[data-container="columns"], [data-container="gutter"]' ).hide();
51
rows.filter( '[data-container="width"], [data-container="height"], [data-container="margin"], [data-container="randomFactor"], [data-container="shuffle"]' ).show();
52
assets/js/wp-modula-upload.js CHANGED
@@ -19,45 +19,14 @@ wp.Modula = 'undefined' === typeof( wp.Modula ) ? {} : wp.Modula;
19
createToolbar: function() {
20
var LibraryViewSwitcher, Filters, toolbarOptions;
21
22
- toolbarOptions = {
23
- controller: this.controller
24
- };
25
26
- if ( this.controller.isModeActive( 'grid' ) ) {
27
- toolbarOptions.className = 'media-toolbar wp-filter';
28
- }
29
-
30
- /**
31
- * @member {wp.media.view.Toolbar}
32
- */
33
- this.toolbar = new wp.media.view.Toolbar( toolbarOptions );
34
-
35
- this.views.add( this.toolbar );
36
-
37
- this.toolbar.set( 'spinner', new wp.media.view.Spinner({
38
- priority: -60
39
- }) );
40
41
this.toolbar.set( 'modula-error', new modula.upload['errorview']({
42
controller: this.controller,
43
priority: -80
44
}) );
45
46
- if ( this.options.search ) {
47
- // Search is an input, screen reader text needs to be rendered before
48
- this.toolbar.set( 'searchLabel', new wp.media.view.Label({
49
- value: wp.media.view.l10n.searchMediaLabel,
50
- attributes: {
51
- 'for': 'media-search-input'
52
- },
53
- priority: 60
54
- }).render() );
55
- this.toolbar.set( 'search', new wp.media.view.Search({
56
- controller: this.controller,
57
- model: this.collection.props,
58
- priority: 60
59
- }).render() );
60
- }
61
},
62
});
63
@@ -98,6 +67,7 @@ wp.Modula = 'undefined' === typeof( wp.Modula ) ? {} : wp.Modula;
98
99
// Browse our library of attachments.
100
contentRegion.view = new modula.upload['attachmentsbrowser']({
101
controller: this,
102
collection: state.get('library'),
103
selection: state.get('selection'),
@@ -252,8 +222,6 @@ wp.Modula = 'undefined' === typeof( wp.Modula ) ? {} : wp.Modula;
252
limitExceeded = false,
253
modula_files_count = 0;
254
255
- console.log( 'uploadHandler initialized' );
256
-
257
uploader = new wp.Uploader( modulaGalleryObject.uploaderOptions );
258
259
// Uploader events
19
createToolbar: function() {
20
var LibraryViewSwitcher, Filters, toolbarOptions;
21
22
+ wp.media.view.AttachmentsBrowser.prototype.createToolbar.call(this);
23
24
25
this.toolbar.set( 'modula-error', new modula.upload['errorview']({
26
controller: this.controller,
27
priority: -80
28
}) );
29
30
},
31
});
32
67
68
// Browse our library of attachments.
69
contentRegion.view = new modula.upload['attachmentsbrowser']({
70
+ // contentRegion.view = new wp.media.view.AttachmentsBrowser({
71
controller: this,
72
collection: state.get('library'),
73
selection: state.get('selection'),
222
limitExceeded = false,
223
modula_files_count = 0;
224
225
uploader = new wp.Uploader( modulaGalleryObject.uploaderOptions );
226
227
// Uploader events
changelog.txt ADDED
@@ -0,0 +1,163 @@
1
+ = 2.0.5 =
2
+ * Added responsive options for custom grid
3
+ * Compatibility with WP Real Media Library( https://matthias-web.com/wordpress/real-media-library/ )
4
+ * Fixed shuffle on custom grid
5
+ * Added swipe functionality on mobile for lightbox
6
+ * Enhanced Modula Media Library
7
+
8
+ = 2.0.4 =
9
+ * Fixed defaults ( Causing an issue on modula pro with filters )
10
+ * Fixed translations
11
+ * Prepared for Modula Speed Up
12
+ * Changed the checkboxes' design
13
+ * Fixed Facebook share link
14
+
15
+ = 2.0.3 =
16
+ * All issues from here : https://github.com/MachoThemes/modula-lite/milestone/5?closed=1
17
+ * Added a new button ( Save & Close ) in edit image modal ( James Leesley recommendation )
18
+ * Renamed "Description" with "Caption" ( James Leesley recommendation )
19
+ * Fixed error on resize
20
+ * Fixed Shuffle
21
+ * Generated .po file
22
+
23
+ = 2.0.2 =
24
+ * Changed strings
25
+ * Fixed open new tab checkbox
26
+ * Fixed caption color
27
+ * Fixed caption & title size
28
+ * Fixed custom grid layout
29
+
30
+ = 2.0.1 - 12.17.2018 =
31
+ * Major Update
32
+ * Build Custom Grids - Take full control of your galleries.
33
+ * New Admin Interface - For a more intuitive user interface, we've blended Modula right into WordPress.
34
+ * Drag & Drop to Upload Images
35
+ * Guidelines to Help You Make the Perfect Gallery
36
+ * Preview your Gallery Without the Hassle
37
+
38
+ = 1.3.7 =
39
+ * fixed dismiss button from beta testing notice.
40
+
41
+ = 1.3.6 =
42
+ * removed custom js field.
43
+
44
+ = 1.3.5 =
45
+ * second wp.org review
46
+
47
+ = 1.3.4 =
48
+ * wp.org review
49
+
50
+ = 1.3.3 =
51
+ * Added notification for Modula 2.0
52
+ * Added Compatibility with AO
53
+
54
+ = 1.3.2 =
55
+ * Validated HTML markup
56
+
57
+ = 1.3.1 =
58
+ * Changed lightbox script
59
+
60
+ = 1.3.0 =
61
+ * Added compatibility with : WPML/Visual Composer/Page Builder by SiteOrigin
62
+ * Fixed bugs with captions & titles
63
+ * Localized all text strings
64
+ * Fixed lightbox bug
65
+ * For a more detailed changelog check : https://github.com/MachoThemes/modula-lite/milestone/2?closed=1
66
+
67
+ = 1.2.1 =
68
+ * Fixed the broken link
69
+ * Hid the Edit gallery menu item
70
+
71
+ = 1.2 =
72
+ * Removed sub-menu entry: Tutorial
73
+ * Removed sub-menu entry: Other Galleries
74
+ * Removed fixed action button
75
+ * Removed Modula Survey by Diego Imbriani
76
+ * Re-worked the "Upgrade" page.
77
+ * Removed the "languages" folder. We'll be using GlotPress to handle these
78
+ * Fixed an issue with WPML plugin
79
+
80
+ = 1.1.13 =
81
+ * Enhanced lightbox compatibility
82
+
83
+ = 1.1.10 =
84
+ * Enhancement in backend UI
85
+
86
+ = 1.1.9 =
87
+ * Minor change in backend UI
88
+
89
+ = 1.1.8 =
90
+ * Fixed broken css for backends under SSL
91
+
92
+ = 1.1.7 =
93
+ * Tool to fix broken images after version 1.1.0
94
+
95
+ = 1.1.6 =
96
+ * Bug fix (impossible to select effect "None")
97
+
98
+ = 1.1.5 =
99
+ * Fixed issue on admin panel when images are too tall
100
+
101
+ = 1.1.4 =
102
+ * Changed CSS icon prefix to avoid conflicts
103
+
104
+ = 1.1.3 =
105
+ * Fixed bug (linked images opening in lightbox)
106
+
107
+ = 1.1.2 =
108
+ * Fixed social icons bug
109
+
110
+ = 1.1.1 =
111
+ * Bug fix
112
+
113
+ = 1.1.0 =
114
+ * New image management
115
+ * Import tool for Envira galleries
116
+ * Import tool for NextGen galleries
117
+
118
+ = 1.0.12 =
119
+ * Added link to ShortPixel plugin for image optimization
120
+
121
+ = 1.0.11 =
122
+ * Minor bug fix: fixed missing preview effect image
123
+
124
+ = 1.0.10 =
125
+ * Bug fix: now Lightbox opens image at full size
126
+
127
+ = 1.0.9 =
128
+ * Fixed url to upgrade
129
+
130
+ = 1.0.8 =
131
+ * Fixed url to upgrade
132
+
133
+ = 1.0.7 =
134
+ * Changed call to action for the survey
135
+
136
+ = 1.0.6 =
137
+ * Fixed CSS issue with Lightbox and some themes. New page in admin panel to show other gallery plugins. Enhancements of the UI of admin panel.
138
+
139
+ = 1.0.5 =
140
+ * Added handy links on plugins page
141
+
142
+ = 1.0.4 =
143
+ * Updated pot file for translations
144
+
145
+ = 1.0.3 =
146
+ * Bug fix: now images can be sorted also in the "Add gallery" wizard
147
+
148
+ = 1.0.2 =
149
+ * Added link to survey to help us making a better plugin
150
+
151
+ = 1.0.1 =
152
+ * Fixed issue when activating the plugin
153
+
154
+ = 1.0.0 =
155
+ * This is the launch version. No changes yet.
156
+
157
+ == Upgrade Notice ==
158
+
159
+ = 1.1.8 =
160
+ * This update will fix broken CSS of admin panel under SSL
161
+
162
+ = 1.1.7 =
163
+ * This update contains a tool to fix broken images.
includes/admin/class-modula-addons.php CHANGED
@@ -4,9 +4,9 @@ class Modula_Addons {
4
5
private $addons;
6
private $upgrade_url = 'https://wp-modula.com/pricing/?utm_source=modula-lite&utm_medium=video-addon&utm_campaign=upsell';
7
-
8
function __construct() {
9
-
10
$this->addons = $this->check_for_addons();
11
12
}
@@ -23,7 +23,7 @@ class Modula_Addons {
23
array(
24
'image' => '',
25
'name' => esc_html__( 'Modula Speed Up', 'modula-best-grid-gallery' ),
26
- 'description' => esc_html__( 'Optimize your images and served them from Modula CDN', 'modula-best-grid-gallery' ),
27
'slug' => 'modula-speedup',
28
)
29
);
@@ -58,7 +58,7 @@ class Modula_Addons {
58
echo '<img src="' . MODULA_URL . 'assets/images/modula-logo.jpg">';
59
echo '<div class="modula-addon-content">';
60
echo '<h3>' . esc_html__( 'Feature Request', 'modula-best-grid-gallery' ) . '</h3>';
61
- echo '<div class="modula-addon-description">' . esc_html__( 'Don\'t see what you’re looking for? Let us help you build it by making a suggestion!', 'modula-best-grid-gallery' ) . '</div>';
62
echo '</div>';
63
echo '</div>';
64
echo '<div class="modula-addon-actions">';
@@ -69,4 +69,4 @@ class Modula_Addons {
69
70
}
71
72
- }
4
5
private $addons;
6
private $upgrade_url = 'https://wp-modula.com/pricing/?utm_source=modula-lite&utm_medium=video-addon&utm_campaign=upsell';
7
+
8
function __construct() {
9
+
10
$this->addons = $this->check_for_addons();
11
12
}
23
array(
24
'image' => '',
25
'name' => esc_html__( 'Modula Speed Up', 'modula-best-grid-gallery' ),
26
+ 'description' => esc_html__( 'Allow Modula to automatically optimize your images to load as fast as possible by reducing their file sizes, resizing them and serving them from StackPath’s content delivery network.', 'modula-best-grid-gallery' ),
27
'slug' => 'modula-speedup',
28
)
29
);
58
echo '<img src="' . MODULA_URL . 'assets/images/modula-logo.jpg">';
59
echo '<div class="modula-addon-content">';
60
echo '<h3>' . esc_html__( 'Feature Request', 'modula-best-grid-gallery' ) . '</h3>';
61
+ echo '<div class="modula-addon-description">' . esc_html__( 'Cant\'t find what you’re looking for? Let us know by making a suggestion!', 'modula-best-grid-gallery' ) . '</div>';
62
echo '</div>';
63
echo '</div>';
64
echo '<div class="modula-addon-actions">';
69
70
}
71
72
+ }
includes/admin/class-modula-cpt-fields-helper.php CHANGED
@@ -1,13 +1,13 @@
1
<?php
2
3
/**
4
- *
5
*/
6
class Modula_CPT_Fields_Helper {
7
-
8
public static function get_tabs() {
9
10
- $general_description = '<p>' . esc_html__( 'Choose between creative or custom grid (build your own). Pick your favorite lightbox script and be done quickly.', 'modula-best-grid-gallery' ) . '</p>';
11
// $general_description .= self::generate_more_help_links();
12
13
$caption_description = '<p>' . esc_html__( 'The settings below adjust how the image title/description will appear on the front-end.', 'modula-best-grid-gallery' ) . '</p>';
@@ -68,6 +68,7 @@ class Modula_CPT_Fields_Helper {
68
'label' => esc_html__( 'Video', 'modula-best-grid-gallery' ),
69
'title' => esc_html__( 'Video Settings', 'modula-best-grid-gallery' ),
70
"icon" => "dashicons dashicons-video-alt3",
71
'priority' => 60,
72
),
73
'style' => array(
@@ -81,8 +82,17 @@ class Modula_CPT_Fields_Helper {
81
'label' => esc_html__( 'Speed Up', 'modula-best-grid-gallery' ),
82
'title' => esc_html__( 'Optimize your images', 'modula-best-grid-gallery' ),
83
"icon" => "dashicons dashicons-dashboard",
84
'priority' => 80,
85
),
86
'customizations' => array(
87
'label' => esc_html__( 'Customizations', 'modula-best-grid-gallery' ),
88
'title' => esc_html__( 'Customization Settings', 'modula-best-grid-gallery' ),
@@ -171,7 +181,7 @@ class Modula_CPT_Fields_Helper {
171
"description" => esc_html__( 'Choose your preferred lightbox style. Some styles, such as LightGallery, allow for image downloads.', 'modula-best-grid-gallery' ),
172
'default' => 'lightbox2',
173
"values" => array(
174
- esc_html__( 'Link', 'modula-best-grid-gallery' ) => array(
175
"no-link" => esc_html__( 'No link', 'modula-best-grid-gallery' ),
176
"direct" => esc_html__( 'Direct link to image', 'modula-best-grid-gallery' ),
177
"attachment-page" => esc_html__( 'Attachment page', 'modula-best-grid-gallery' )
@@ -363,6 +373,35 @@ class Modula_CPT_Fields_Helper {
363
'priority' => 50,
364
),
365
),
366
'customizations' => array(
367
"style" => array(
368
"name" => esc_html__( 'Custom css', 'modula-best-grid-gallery' ),
@@ -424,4 +463,4 @@ class Modula_CPT_Fields_Helper {
424
) );
425
}
426
427
- }
1
<?php
2
3
/**
4
+ *
5
*/
6
class Modula_CPT_Fields_Helper {
7
+
8
public static function get_tabs() {
9
10
+ $general_description = '<p>' . esc_html__( 'Choose between creative or custom grid (build your own). Pick your favorite lightbox style and easily design your gallery.', 'modula-best-grid-gallery' ) . '</p>';
11
// $general_description .= self::generate_more_help_links();
12
13
$caption_description = '<p>' . esc_html__( 'The settings below adjust how the image title/description will appear on the front-end.', 'modula-best-grid-gallery' ) . '</p>';
68
'label' => esc_html__( 'Video', 'modula-best-grid-gallery' ),
69
'title' => esc_html__( 'Video Settings', 'modula-best-grid-gallery' ),
70
"icon" => "dashicons dashicons-video-alt3",
71
+ 'badge' => esc_html__( 'PRO', 'modula-best-grid-gallery' ),
72
'priority' => 60,
73
),
74
'style' => array(
82
'label' => esc_html__( 'Speed Up', 'modula-best-grid-gallery' ),
83
'title' => esc_html__( 'Optimize your images', 'modula-best-grid-gallery' ),
84
"icon" => "dashicons dashicons-dashboard",
85
+ 'badge' => esc_html__( 'PRO', 'modula-best-grid-gallery' ),
86
'priority' => 80,
87
),
88
+ 'responsive' => array(
89
+ 'label' => esc_html__( 'Responsive', 'modula-best-grid-gallery' ),
90
+ 'title' => esc_html__( 'Responsive Settings', 'modula-best-grid-gallery' ),
91
+ // 'description' => $customizations_description,
92
+ 'badge' => esc_html__( 'Beta', 'modula-best-grid-gallery' ),
93
+ "icon" => "dashicons dashicons-smartphone",
94
+ 'priority' => 90,
95
+ ),
96
'customizations' => array(
97
'label' => esc_html__( 'Customizations', 'modula-best-grid-gallery' ),
98
'title' => esc_html__( 'Customization Settings', 'modula-best-grid-gallery' ),
181
"description" => esc_html__( 'Choose your preferred lightbox style. Some styles, such as LightGallery, allow for image downloads.', 'modula-best-grid-gallery' ),
182
'default' => 'lightbox2',
183
"values" => array(
184
+ esc_html__( 'Link', 'modula-best-grid-gallery' ) => array(
185
"no-link" => esc_html__( 'No link', 'modula-best-grid-gallery' ),
186
"direct" => esc_html__( 'Direct link to image', 'modula-best-grid-gallery' ),
187
"attachment-page" => esc_html__( 'Attachment page', 'modula-best-grid-gallery' )
373
'priority' => 50,
374
),
375
),
376
+ 'responsive' => array(
377
+ 'enable_responsive' => array(
378
+ "name" => esc_html__( 'Custom responsivness', 'modula-best-grid-gallery' ),
379
+ "description" => esc_html__( 'Force the gallery to show a certain number of column on tablet/mobile devices', 'modula-best-grid-gallery' ),
380
+ "type" => "toggle",
381
+ "default" => 0,
382
+ 'priority' => 10,
383
+ ),
384
+ 'tablet_columns' => array(
385
+ "name" => esc_html__( 'Tablet Columns', 'modula-best-grid-gallery' ),
386
+ "type" => "ui-slider",
387
+ "description" => esc_html__( 'Use this slider to adjust the number of columns for gallery on tablets.', 'modula-best-grid-gallery' ),
388
+ "min" => 1,
389
+ "max" => 6,
390
+ "step" => 1,
391
+ "default" => 2,
392
+ 'priority' => 20,
393
+ ),
394
+ 'mobile_columns' => array(
395
+ "name" => esc_html__( 'Mobile Columns', 'modula-best-grid-gallery' ),
396
+ "type" => "ui-slider",
397
+ "description" => esc_html__( 'Use this slider to adjust the number of columns for gallery on mobile devices.', 'modula-best-grid-gallery' ),
398
+ "min" => 1,
399
+ "max" => 6,
400
+ "step" => 1,
401
+ "default" => 1,
402
+ 'priority' => 30,
403
+ ),
404
+ ),
405
'customizations' => array(
406
"style" => array(
407
"name" => esc_html__( 'Custom css', 'modula-best-grid-gallery' ),
463
) );
464
}
465
466
+ }
includes/admin/class-modula-cpt.php CHANGED
@@ -377,6 +377,7 @@ class Modula_CPT {
377
}
378
379
public function add_extensions_tab( $views ) {
380
$this->display_extension_tab();
381
return $views;
382
}
@@ -412,4 +413,19 @@ class Modula_CPT {
412
<br />
413
<?php
414
}
415
}
377
}
378
379
public function add_extensions_tab( $views ) {
380
+ $this->display_feedback_notice();
381
$this->display_extension_tab();
382
return $views;
383
}
413
<br />
414
<?php
415
}
416
+
417
+ public function display_feedback_notice() {
418
+ ?>
419
+
420
+ <div class="notice modula-feedback-notice">
421
+ <p class="modula-feedback-title">
422
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" viewBox="0 0 32 32"><path fill="#f0f5fa" d="M9.3 25.3c-2.4-0.7-4.7-1.4-7.1-2.1 2.4-3.5 4.7-7 7-10.5C9.3 12.9 9.3 24.9 9.3 25.3z"/><path fill="#f0f5fa" d="M9.6 20.1c3.7 2 7.4 3.9 11.1 5.9 -0.1 0.1-5 5-5.2 5.2C13.6 27.5 11.6 23.9 9.6 20.1 9.6 20.2 9.6 20.2 9.6 20.1z"/><path fill="#f0f5fa" d="M22.3 11.9c-3.7-2-7.4-4-11-6 0 0 0 0 0 0 0 0 0 0 0 0 1.7-1.7 3.4-3.3 5.1-5 0 0 0 0 0.1-0.1C18.5 4.5 20.4 8.2 22.3 11.9 22.4 11.9 22.3 11.9 22.3 11.9z"/><path fill="#f0f5fa" d="M4.7 15c-0.6-2.4-1.2-4.7-1.8-7 0.2 0 11.9 0.6 12.7 0.6 0 0 0 0 0 0 0 0 0 0 0 0 -3.6 2.1-7.2 4.2-10.7 6.3C4.8 15 4.8 15 4.7 15z"/><path fill="#f0f5fa" d="M22.9 19.6c-0.2-4.2-0.3-8.3-0.5-12.5 2.4 0.6 4.8 1.2 7.1 1.8C27.4 12.4 25.1 16 22.9 19.6 22.9 19.6 22.9 19.6 22.9 19.6z"/><path fill="#f0f5fa" d="M27.7 16.8c0.6 2.4 1.2 4.7 1.9 7.1 -4.2-0.2-8.5-0.4-12.7-0.5 0 0 0 0 0 0C20.5 21.2 24.1 19 27.7 16.8z"/></svg>
423
+ Modula Image Gallery
424
+ </p>
425
+ <p><?php esc_html_e( 'Do you enjoy using Modula? Please take a minute to suggest a feature or tell us what you think.', 'modula-best-grid-gallery' ); ?></p>
426
+ <a class="button" target="_blank" href="https://docs.google.com/forms/d/e/1FAIpQLSc5eAZbxGROm_WSntX_3JVji2cMfS3LIbCNDKG1yF_VNe3R4g/viewform"><?php esc_html_e( 'Submit Feedback', 'modula-best-grid-gallery' ); ?></a>
427
+ </div>
428
+
429
+ <?php
430
+ }
431
}
includes/admin/class-modula-field-builder.php CHANGED
@@ -103,16 +103,16 @@ class Modula_Field_Builder {
103
echo '</div>';
104
echo '</div>';
105
echo '<div class="buttons">';
106
- echo '<a href="#" id="modula-uploader-browser" class="button">Upload image files</a><a href="#" id="modula-wp-gallery" class="button button-primary">Select from Library</a>';
107
echo '</div>';
108
echo '</div>';
109
echo '<div id="modula-uploader-container" class="modula-uploader-inline">';
110
echo '<div class="modula-error-container"></div>';
111
echo '<div class="modula-uploader-inline-content">';
112
- echo '<h2 class="modula-upload-message"><span class="dashicons dashicons-upload"></span>Drag & Drop files here!</h2>';
113
echo '<div id="modula-grid" style="display:none"></div>';
114
echo '</div>';
115
- echo '<div id="modula-dropzone-container"><div class="modula-uploader-window-content"><h1>Drop files to upload</h1></div></div>';
116
echo '</div>';
117
118
// Helper Guildelines Toggle
@@ -216,10 +216,16 @@ class Modula_Field_Builder {
216
/* Create HMTL for a tab */
217
private function _render_tab( $tab, $first = false ) {
218
$icon = '';
219
if ( isset( $tab['icon'] ) ) {
220
$icon = '<i class="' . esc_attr( $tab['icon'] ) . '"></i>';
221
}
222
- return '<div class="modula-tab' . ( $first ? ' active-tab' : '' ) . '" data-tab="modula-' . esc_attr( $tab['id'] ) . '">' . $icon . wp_kses_post( $tab['label'] ) . '</div>';
223
}
224
225
/* Create HMTL for a row */
103
echo '</div>';
104
echo '</div>';
105
echo '<div class="buttons">';
106
+ echo '<a href="#" id="modula-uploader-browser" class="button">' . esc_html__( 'Upload image files', 'modula-best-grid-gallery' ) . '</a><a href="#" id="modula-wp-gallery" class="button button-primary">' . esc_html__( 'Select from Library', 'modula-best-grid-gallery' ) . '</a>';
107
echo '</div>';
108
echo '</div>';
109
echo '<div id="modula-uploader-container" class="modula-uploader-inline">';
110
echo '<div class="modula-error-container"></div>';
111
echo '<div class="modula-uploader-inline-content">';
112
+ echo '<h2 class="modula-upload-message"><span class="dashicons dashicons-upload"></span>' . esc_html__( 'Drag & Drop files here!', 'modula-best-grid-gallery' ) . '</h2>';
113
echo '<div id="modula-grid" style="display:none"></div>';
114
echo '</div>';
115
+ echo '<div id="modula-dropzone-container"><div class="modula-uploader-window-content"><h1>' . esc_html__( 'Drop files to upload', 'modula-best-grid-gallery' ) . '</h1></div></div>';
116
echo '</div>';
117
118
// Helper Guildelines Toggle
216
/* Create HMTL for a tab */
217
private function _render_tab( $tab, $first = false ) {
218
$icon = '';
219
+ $badge = '';
220
+
221
if ( isset( $tab['icon'] ) ) {
222
$icon = '<i class="' . esc_attr( $tab['icon'] ) . '"></i>';
223
}
224
+
225
+ if ( isset( $tab['badge'] ) ) {
226
+ $badge = '<sup>' . esc_html( $tab['badge'] ) . '</sup>';
227
+ }
228
+ return '<div class="modula-tab' . ( $first ? ' active-tab' : '' ) . ' modula-' . esc_attr( $tab['id'] ) . '" data-tab="modula-' . esc_attr( $tab['id'] ) . '">' . $icon . wp_kses_post( $tab['label'] ) . $badge . '</div>';
229
}
230
231
/* Create HMTL for a row */
includes/class-modula.php CHANGED
@@ -71,7 +71,7 @@ class Modula {
71
72
private function define_admin_hooks() {
73
74
- add_action( 'admin_enqueue_scripts', array( $this, 'admin_scripts' ) );
75
add_action( 'init', array( $this, 'admin_init' ), 20 );
76
add_action( 'wp_ajax_modula-reload-addons', array( $this, 'reload_addons' ), 20 );
77
@@ -167,7 +167,7 @@ class Modula {
167
wp_enqueue_style( 'modula-cpt-style', MODULA_URL . 'assets/css/modula-cpt.css' );
168
169
wp_enqueue_script( 'modula-resize-senzor', MODULA_URL . 'assets/js/resizesensor.js', array( 'jquery' ), '1.0.0', true );
170
- wp_enqueue_script( 'modula-packery', MODULA_URL . 'assets/js/packery.pkgd.js', array( 'jquery', 'jquery-ui-core', 'jquery-ui-widget', 'jquery-ui-droppable', 'jquery-ui-resizable', 'jquery-ui-draggable' ), '2.0.0', true );
171
wp_enqueue_script( 'modula-settings', MODULA_URL . 'assets/js/wp-modula-settings.js', array( 'jquery', 'jquery-ui-slider', 'wp-color-picker', 'jquery-ui-sortable' ), '2.0.0', true );
172
wp_enqueue_script( 'modula-items', MODULA_URL . 'assets/js/wp-modula-items.js', array(), '2.0.0', true );
173
wp_enqueue_script( 'modula-modal', MODULA_URL . 'assets/js/wp-modula-modal.js', array(), '2.0.0', true );
71
72
private function define_admin_hooks() {
73
74
+ add_action( 'admin_enqueue_scripts', array( $this, 'admin_scripts' ), 20 );
75
add_action( 'init', array( $this, 'admin_init' ), 20 );
76
add_action( 'wp_ajax_modula-reload-addons', array( $this, 'reload_addons' ), 20 );
77
167
wp_enqueue_style( 'modula-cpt-style', MODULA_URL . 'assets/css/modula-cpt.css' );
168
169
wp_enqueue_script( 'modula-resize-senzor', MODULA_URL . 'assets/js/resizesensor.js', array( 'jquery' ), '1.0.0', true );
170
+ wp_enqueue_script( 'modula-packery', MODULA_URL . 'assets/js/packery.min.js', array( 'jquery', 'jquery-ui-core', 'jquery-ui-widget', 'jquery-ui-droppable', 'jquery-ui-resizable', 'jquery-ui-draggable' ), '2.0.0', true );
171
wp_enqueue_script( 'modula-settings', MODULA_URL . 'assets/js/wp-modula-settings.js', array( 'jquery', 'jquery-ui-slider', 'wp-color-picker', 'jquery-ui-sortable' ), '2.0.0', true );
172
wp_enqueue_script( 'modula-items', MODULA_URL . 'assets/js/wp-modula-items.js', array(), '2.0.0', true );
173
wp_enqueue_script( 'modula-modal', MODULA_URL . 'assets/js/wp-modula-modal.js', array(), '2.0.0', true );
includes/public/class-modula-shortcode.php CHANGED
@@ -32,11 +32,11 @@ class Modula_Shortcode {
32
33
// Scripts necessary for some galleries
34
wp_register_script( 'lightbox2_script', MODULA_URL . 'assets/js/lightbox.min.js', array( 'jquery' ), null, true );
35
- wp_register_script( 'packery', MODULA_URL . 'assets/js/packery.pkgd.min.js', array( 'jquery' ), null, true );
36
37
38
// @todo: minify all css & js for a better optimization.
39
- wp_register_script( 'modula', MODULA_URL . 'assets/js/jquery.modula.js', array( 'jquery' ), null, true );
40
41
}
42
@@ -83,9 +83,16 @@ class Modula_Shortcode {
83
$default = Modula_CPT_Fields_Helper::get_defaults();
84
$settings = wp_parse_args( $settings, $default );
85
86
/* Get gallery images */
87
- $images = get_post_meta( $atts['id'], 'modula-images', true );
88
- if ( isset( $settings['shuffle'] ) && '1' == $settings['shuffle'] ) {
89
shuffle( $images );
90
}
91
@@ -93,7 +100,7 @@ class Modula_Shortcode {
93
return esc_html__( 'Gallery not found.', 'modula-best-grid-gallery' );
94
}
95
96
- if ( isset( $settings['type'] ) && 'custom-grid' == $settings['type'] ) {
97
wp_enqueue_script( 'packery' );
98
}
99
@@ -144,9 +151,12 @@ class Modula_Shortcode {
144
"enablePinterest" => boolval( $settings['enablePinterest'] ),
145
"enableGplus" => boolval( $settings['enableGplus'] ),
146
"randomFactor" => ( $settings['randomFactor'] / 100 ),
147
- 'type' => isset( $settings['type'] ) ? $settings['type'] : 'creative-gallery',
148
'columns' => 12,
149
'gutter' => isset( $settings['gutter'] ) ? absint($settings['gutter']) : 10,
150
);
151
152
$template_data['js_config'] = apply_filters( 'modula_gallery_settings', $js_config, $settings );
32
33
// Scripts necessary for some galleries
34
wp_register_script( 'lightbox2_script', MODULA_URL . 'assets/js/lightbox.min.js', array( 'jquery' ), null, true );
35
+ wp_register_script( 'packery', MODULA_URL . 'assets/js/packery.min.js', array( 'jquery' ), null, true );
36
37
38
// @todo: minify all css & js for a better optimization.
39
+ wp_register_script( 'modula', MODULA_URL . 'assets/js/jquery-modula.min.js', array( 'jquery' ), null, true );
40
41
}
42
83
$default = Modula_CPT_Fields_Helper::get_defaults();
84
$settings = wp_parse_args( $settings, $default );
85
86
+ $type = 'creative-gallery';
87
+ if ( isset( $settings['type'] ) ) {
88
+ $type = $settings['type'];
89
+ }else{
90
+ $settings['type'] = 'creative-gallery';
91
+ }
92
+
93
/* Get gallery images */
94
+ $images = apply_filters( 'modula_gallery_images', get_post_meta( $atts['id'], 'modula-images', true ), $settings );
95
+ if ( isset( $settings['shuffle'] ) && '1' == $settings['shuffle'] && 'creative-gallery' == $type ) {
96
shuffle( $images );
97
}
98
100
return esc_html__( 'Gallery not found.', 'modula-best-grid-gallery' );
101
}
102
103
+ if ( 'custom-grid' == $type ) {
104
wp_enqueue_script( 'packery' );
105
}
106
151
"enablePinterest" => boolval( $settings['enablePinterest'] ),
152
"enableGplus" => boolval( $settings['enableGplus'] ),
153
"randomFactor" => ( $settings['randomFactor'] / 100 ),
154
+ 'type' => $type,
155
'columns' => 12,
156
'gutter' => isset( $settings['gutter'] ) ? absint($settings['gutter']) : 10,
157
+ 'enableResponsive' => isset( $settings['enable_responsive'] ) ? $settings['enable_responsive'] : 0,
158
+ 'tabletColumns' => isset( $settings['tablet_columns'] ) ? $settings['tablet_columns'] : 2,
159
+ 'mobileColumns' => isset( $settings['mobile_columns'] ) ? $settings['mobile_columns'] : 1,
160
);
161
162
$template_data['js_config'] = apply_filters( 'modula_gallery_settings', $js_config, $settings );
languages/modula-best-grid-gallery.po CHANGED
@@ -1,11 +1,11 @@
1
- # Copyright (C) 2019 Macho Themes
2
- # This file is distributed under the same license as the Modula package.
3
msgid ""
4
msgstr ""
5
- "Project-Id-Version: Modula 2.0.2\n"
6
"Report-Msgid-Bugs-To: "
7
"https://wordpress.org/support/plugin/modula-best-grid-gallery\n"
8
- "POT-Creation-Date: 2019-01-14 20:19:38+00:00\n"
9
"MIME-Version: 1.0\n"
10
"Content-Type: text/plain; charset=utf-8\n"
11
"Content-Transfer-Encoding: 8bit\n"
@@ -35,31 +35,41 @@ msgid ""
35
"like YouTube and Vimeo to your website has never been easier."
36
msgstr ""
37
38
- #: includes/admin/class-modula-addons.php:42
39
msgid "Upgrade to PRO"
40
msgstr ""
41
42
- #: includes/admin/class-modula-addons.php:53
43
msgid "Feature Request"
44
msgstr ""
45
46
- #: includes/admin/class-modula-addons.php:54
47
- msgid ""
48
- "Don't see what you’re looking for? Let us help you build it by making a "
49
- "suggestion!"
50
msgstr ""
51
52
- #: includes/admin/class-modula-addons.php:58
53
msgid "Send Feature Request"
54
msgstr ""
55
56
- #. Plugin Name of the plugin/theme
57
- msgid "Modula"
58
msgstr ""
59
60
#: includes/admin/class-modula-admin.php:33
61
#: includes/admin/class-modula-admin.php:57
62
- #: includes/admin/class-modula-cpt.php:384
63
msgid "Extensions"
64
msgstr ""
65
@@ -98,7 +108,7 @@ msgstr ""
98
#: includes/admin/class-modula-cpt-fields-helper.php:10
99
msgid ""
100
"Choose between creative or custom grid (build your own). Pick your favorite "
101
- "lightbox script and be done quickly."
102
msgstr ""
103
104
#: includes/admin/class-modula-cpt-fields-helper.php:13
@@ -156,7 +166,6 @@ msgid "Social Settings"
156
msgstr ""
157
158
#: includes/admin/class-modula-cpt-fields-helper.php:54
159
- #: includes/admin/tabs/upsell.php:23
160
msgid "Loading effects"
161
msgstr ""
162
@@ -165,7 +174,7 @@ msgid "Loading Effects Settings"
165
msgstr ""
166
167
#: includes/admin/class-modula-cpt-fields-helper.php:61
168
- #: includes/admin/class-modula-cpt-fields-helper.php:310
169
msgid "Hover effect"
170
msgstr ""
171
@@ -181,321 +190,377 @@ msgstr ""
181
msgid "Video Settings"
182
msgstr ""
183
184
- #: includes/admin/class-modula-cpt-fields-helper.php:74
185
- msgid "Style"
186
msgstr ""
187
188
#: includes/admin/class-modula-cpt-fields-helper.php:75
189
msgid "Style Settings"
190
msgstr ""
191
192
- #: includes/admin/class-modula-cpt-fields-helper.php:81
193
msgid "Customizations"
194
msgstr ""
195
196
- #: includes/admin/class-modula-cpt-fields-helper.php:82
197
msgid "Customization Settings"
198
msgstr ""
199
200
- #: includes/admin/class-modula-cpt-fields-helper.php:93
201
msgid "Still stuck ?"
202
msgstr ""
203
204
- #: includes/admin/class-modula-cpt-fields-helper.php:93
205
msgid "Explore our documentation"
206
msgstr ""
207
208
- #: includes/admin/class-modula-cpt-fields-helper.php:93
209
msgid "Contact our support team."
210
msgstr ""
211
212
- #: includes/admin/class-modula-cpt-fields-helper.php:104
213
msgid "Gallery Type"
214
msgstr ""
215
216
- #: includes/admin/class-modula-cpt-fields-helper.php:106
217
msgid "Choose the type of gallery you want to use."
218
msgstr ""
219
220
- #: includes/admin/class-modula-cpt-fields-helper.php:109
221
msgid "Creative Gallery"
222
msgstr ""
223
224
- #: includes/admin/class-modula-cpt-fields-helper.php:110
225
msgid "Custom Grid"
226
msgstr ""
227
228
- #: includes/admin/class-modula-cpt-fields-helper.php:115
229
msgid "Gutter"
230
msgstr ""
231
232
- #: includes/admin/class-modula-cpt-fields-helper.php:117
233
msgid "Use this slider to adjust the spacing of images in your gallery."
234
msgstr ""
235
236
- #: includes/admin/class-modula-cpt-fields-helper.php:125
237
msgid "Width"
238
msgstr ""
239
240
- #: includes/admin/class-modula-cpt-fields-helper.php:127
241
msgid "Width of the gallery. Can be in % or pixels."
242
msgstr ""
243
244
- #: includes/admin/class-modula-cpt-fields-helper.php:132
245
msgid "Height"
246
msgstr ""
247
248
- #: includes/admin/class-modula-cpt-fields-helper.php:134
249
msgid "Set the height of the gallery in pixels."
250
msgstr ""
251
252
- #: includes/admin/class-modula-cpt-fields-helper.php:139
253
- msgid "Image size"
254
msgstr ""
255
256
- #: includes/admin/class-modula-cpt-fields-helper.php:142
257
- msgid "Set the minimum width or height of the images in pixels."
258
msgstr ""
259
260
- #: includes/admin/class-modula-cpt-fields-helper.php:146
261
msgid "Margin"
262
msgstr ""
263
264
- #: includes/admin/class-modula-cpt-fields-helper.php:149
265
msgid "Set the margin between images in pixels."
266
msgstr ""
267
268
- #: includes/admin/class-modula-cpt-fields-helper.php:153
269
msgid "Random factor"
270
msgstr ""
271
272
- #: includes/admin/class-modula-cpt-fields-helper.php:155
273
msgid ""
274
"Toggle this to 0 to tune down the randomising factor on Modula's grid "
275
"algorithm."
276
msgstr ""
277
278
- #: includes/admin/class-modula-cpt-fields-helper.php:163
279
msgid "Lightbox &amp; Links"
280
msgstr ""
281
282
- #: includes/admin/class-modula-cpt-fields-helper.php:165
283
msgid ""
284
"Choose your preferred lightbox style. Some styles, such as LightGallery, "
285
"allow for image downloads."
286
msgstr ""
287
288
- #: includes/admin/class-modula-cpt-fields-helper.php:168
289
msgid "Link"
290
msgstr ""
291
292
- #: includes/admin/class-modula-cpt-fields-helper.php:169
293
msgid "No link"
294
msgstr ""
295
296
- #: includes/admin/class-modula-cpt-fields-helper.php:170
297
msgid "Direct link to image"
298
msgstr ""
299
300
- #: includes/admin/class-modula-cpt-fields-helper.php:171
301
msgid "Attachment page"
302
msgstr ""
303
304
- #: includes/admin/class-modula-cpt-fields-helper.php:173
305
- #: includes/admin/tabs/upsell.php:11
306
msgid "Lightboxes"
307
msgstr ""
308
309
- #: includes/admin/class-modula-cpt-fields-helper.php:174
310
msgid "Lightbox2"
311
msgstr ""
312
313
- #: includes/admin/class-modula-cpt-fields-helper.php:178
314
msgid "Lightboxes with PRO license"
315
msgstr ""
316
317
- #: includes/admin/class-modula-cpt-fields-helper.php:180
318
msgid "Magnific popup"
319
msgstr ""
320
321
- #: includes/admin/class-modula-cpt-fields-helper.php:181
322
msgid "PrettyPhoto"
323
msgstr ""
324
325
- #: includes/admin/class-modula-cpt-fields-helper.php:182
326
msgid "FancyBox"
327
msgstr ""
328
329
- #: includes/admin/class-modula-cpt-fields-helper.php:183
330
msgid "SwipeBox"
331
msgstr ""
332
333
- #: includes/admin/class-modula-cpt-fields-helper.php:184
334
msgid "LightGallery"
335
msgstr ""
336
337
- #: includes/admin/class-modula-cpt-fields-helper.php:190
338
msgid "Shuffle images"
339
msgstr ""
340
341
- #: includes/admin/class-modula-cpt-fields-helper.php:193
342
msgid "Toggle this to ON to have the gallery shuffle on each page load"
343
msgstr ""
344
345
- #: includes/admin/class-modula-cpt-fields-helper.php:199
346
- msgid "Caption color"
347
msgstr ""
348
349
- #: includes/admin/class-modula-cpt-fields-helper.php:201
350
msgid "Set the color of captions."
351
msgstr ""
352
353
- #: includes/admin/class-modula-cpt-fields-helper.php:206
354
- msgid "Default title"
355
msgstr ""
356
357
- #: includes/admin/class-modula-cpt-fields-helper.php:208
358
msgid ""
359
"If you leave the title blank Modula will get the title from WordPress image "
360
"by default."
361
msgstr ""
362
363
- #: includes/admin/class-modula-cpt-fields-helper.php:210
364
- #: includes/admin/class-modula-cpt-fields-helper.php:221
365
msgid "No default"
366
msgstr ""
367
368
- #: includes/admin/class-modula-cpt-fields-helper.php:211
369
- #: includes/admin/class-modula-cpt-fields-helper.php:222
370
msgid "WP Image title"
371
msgstr ""
372
373
- #: includes/admin/class-modula-cpt-fields-helper.php:212
374
- #: includes/admin/class-modula-cpt-fields-helper.php:224
375
msgid "WP Image description"
376
msgstr ""
377
378
- #: includes/admin/class-modula-cpt-fields-helper.php:217
379
- msgid "Default caption"
380
msgstr ""
381
382
- #: includes/admin/class-modula-cpt-fields-helper.php:219
383
msgid ""
384
"If you leave the caption blank Modula will get the title from WordPress "
385
"image by default."
386
msgstr ""
387
388
- #: includes/admin/class-modula-cpt-fields-helper.php:223
389
msgid "WP Image caption"
390
msgstr ""
391
392
- #: includes/admin/class-modula-cpt-fields-helper.php:229
393
msgid "Hide Title"
394
msgstr ""
395
396
- #: includes/admin/class-modula-cpt-fields-helper.php:232
397
- msgid "Hide image titles from the gallery"
398
msgstr ""
399
400
- #: includes/admin/class-modula-cpt-fields-helper.php:236
401
msgid "Hide Caption"
402
msgstr ""
403
404
- #: includes/admin/class-modula-cpt-fields-helper.php:239
405
- msgid "Hide image descriptions from the gallery"
406
msgstr ""
407
408
- #: includes/admin/class-modula-cpt-fields-helper.php:243
409
msgid "Title Font Size"
410
msgstr ""
411
412
- #: includes/admin/class-modula-cpt-fields-helper.php:248
413
- msgid "The title font size in pixel. (set to 0 to use the theme defaults)"
414
msgstr ""
415
416
- #: includes/admin/class-modula-cpt-fields-helper.php:252
417
msgid "Caption Font Size"
418
msgstr ""
419
420
- #: includes/admin/class-modula-cpt-fields-helper.php:257
421
- msgid "The caption font size in pixels (set to 0 to use the theme defaults)"
422
msgstr ""
423
424
- #: includes/admin/class-modula-cpt-fields-helper.php:263
425
- msgid "Add Twitter icon"
426
msgstr ""
427
428
- #: includes/admin/class-modula-cpt-fields-helper.php:270
429
- msgid "Add Facebook icon"
430
msgstr ""
431
432
- #: includes/admin/class-modula-cpt-fields-helper.php:277
433
- msgid "Add Google Plus icon"
434
msgstr ""
435
436
- #: includes/admin/class-modula-cpt-fields-helper.php:284
437
- msgid "Add Pinterest icon"
438
msgstr ""
439
440
- #: includes/admin/class-modula-cpt-fields-helper.php:290
441
msgid "Color of social sharing icons"
442
msgstr ""
443
444
- #: includes/admin/class-modula-cpt-fields-helper.php:299
445
msgid "Scale"
446
msgstr ""
447
448
- #: includes/admin/class-modula-cpt-fields-helper.php:300
449
msgid ""
450
"Choose a value below 100% for a zoom-in effect. Choose a value over 100% "
451
"for a zoom-out effect"
452
msgstr ""
453
454
- #: includes/admin/class-modula-cpt-fields-helper.php:318
455
msgid "Border Size"
456
msgstr ""
457
458
- #: includes/admin/class-modula-cpt-fields-helper.php:320
459
msgid "Set the border size of images in your gallrey."
460
msgstr ""
461
462
- #: includes/admin/class-modula-cpt-fields-helper.php:327
463
msgid "Border Radius"
464
msgstr ""
465
466
- #: includes/admin/class-modula-cpt-fields-helper.php:329
467
msgid "Set the radius of the image borders in this gallery."
468
msgstr ""
469
470
- #: includes/admin/class-modula-cpt-fields-helper.php:336
471
msgid "Border Color"
472
msgstr ""
473
474
- #: includes/admin/class-modula-cpt-fields-helper.php:338
475
msgid "Set the color of your image borders in this gallery."
476
msgstr ""
477
478
- #: includes/admin/class-modula-cpt-fields-helper.php:343
479
msgid "Shadow Size"
480
msgstr ""
481
482
- #: includes/admin/class-modula-cpt-fields-helper.php:345
483
msgid "Set the size of image shadows in this gallery."
484
msgstr ""
485
486
- #: includes/admin/class-modula-cpt-fields-helper.php:352
487
msgid "Shadow Color"
488
msgstr ""
489
490
- #: includes/admin/class-modula-cpt-fields-helper.php:354
491
msgid "Set the color of image shadows in this gallery"
492
msgstr ""
493
494
- #: includes/admin/class-modula-cpt-fields-helper.php:361
495
msgid "Custom css"
496
msgstr ""
497
498
- #: includes/admin/class-modula-cpt-fields-helper.php:364
499
msgid "Just write the code without using the &lt;style&gt;&lt;/style&gt; tags"
500
msgstr ""
501
@@ -509,6 +574,10 @@ msgstr ""
509
msgid "Gallery"
510
msgstr ""
511
512
#: includes/admin/class-modula-cpt.php:25
513
msgid "Item Archives"
514
msgstr ""
@@ -526,7 +595,7 @@ msgid "Add New Item"
526
msgstr ""
527
528
#: includes/admin/class-modula-cpt.php:30
529
- #: includes/admin/class-modula-cpt.php:399
530
msgid "Add New"
531
msgstr ""
532
@@ -608,14 +677,20 @@ msgid ""
608
"galleries, masonry grids and more in a few clicks."
609
msgstr ""
610
611
- #: includes/admin/class-modula-cpt.php:74
612
- msgid "Settings"
613
- msgstr ""
614
-
615
#: includes/admin/class-modula-cpt.php:79
616
msgid "Shortcode"
617
msgstr ""
618
619
#: includes/admin/class-modula-field-builder.php:98
620
msgid ""
621
"<b>Drag and drop</b> files here (max %s per file), or <b>drag images around "
@@ -630,85 +705,104 @@ msgstr ""
630
msgid "of"
631
msgstr ""
632
633
- #: includes/admin/class-modula-field-builder.php:124
634
msgid "Disable Helper Grid"
635
msgstr ""
636
637
- #: includes/admin/class-modula-field-builder.php:167
638
- #: includes/admin/tabs/general.php:11
639
- msgid "Need help? Get in touch."
640
msgstr ""
641
642
- #: includes/admin/class-modula-field-builder.php:305
643
msgid "None"
644
msgstr ""
645
646
- #: includes/admin/class-modula-field-builder.php:306
647
msgid "Pufrobo"
648
msgstr ""
649
650
- #: includes/admin/class-modula-field-builder.php:309
651
msgid "Fluid Up"
652
msgstr ""
653
654
- #: includes/admin/class-modula-field-builder.php:310
655
msgid "Hide"
656
msgstr ""
657
658
- #: includes/admin/class-modula-field-builder.php:311
659
msgid "Quiet"
660
msgstr ""
661
662
- #: includes/admin/class-modula-field-builder.php:312
663
msgid "Catinelle"
664
msgstr ""
665
666
- #: includes/admin/class-modula-field-builder.php:313
667
msgid "Reflex"
668
msgstr ""
669
670
- #: includes/admin/class-modula-field-builder.php:314
671
msgid "Curtain"
672
msgstr ""
673
674
- #: includes/admin/class-modula-field-builder.php:315
675
msgid "Lens"
676
msgstr ""
677
678
- #: includes/admin/class-modula-field-builder.php:316
679
msgid "Appear"
680
msgstr ""
681
682
- #: includes/admin/class-modula-field-builder.php:317
683
msgid "Crafty"
684
msgstr ""
685
686
- #: includes/admin/class-modula-field-builder.php:318
687
msgid "Seemo"
688
msgstr ""
689
690
- #: includes/admin/class-modula-field-builder.php:319
691
msgid "Comodo"
692
msgstr ""
693
694
- #: includes/admin/class-modula-field-builder.php:327
695
msgid "Hover Effects with PRO license"
696
msgstr ""
697
698
- #: includes/admin/class-modula-field-builder.php:336
699
msgid "Select an hover effect"
700
msgstr ""
701
702
- #: includes/admin/class-modula-field-builder.php:351
703
msgid "This effect is compatible with:"
704
msgstr ""
705
706
- #: includes/admin/class-modula-field-builder.php:352
707
#: includes/admin/modula-js-templates.php:53
708
msgid "Title"
709
msgstr ""
710
711
- #: includes/admin/class-modula-field-builder.php:353
712
msgid "Social Icons"
713
msgstr ""
714
@@ -737,50 +831,60 @@ msgid ""
737
"on your server."
738
msgstr ""
739
740
- #: includes/admin/class-modula-upsells.php:24
741
msgid "See LITE vs PRO Differences"
742
msgstr ""
743
744
- #: includes/admin/class-modula-upsells.php:25
745
msgid "Get Modula Pro!"
746
msgstr ""
747
748
- #: includes/admin/class-modula-upsells.php:34
749
msgid "Looking for even more control and even more powerful galleries?"
750
msgstr ""
751
752
- #: includes/admin/class-modula-upsells.php:35
753
msgid ""
754
"Upgrade to Modula Pro today to get access to 5 more lightboxes, extra "
755
"styles and more..."
756
msgstr ""
757
758
- #: includes/admin/class-modula-upsells.php:44
759
msgid "Not enough control?"
760
msgstr ""
761
762
- #: includes/admin/class-modula-upsells.php:45
763
msgid ""
764
"Upgrade to Modula Pro today to unlock the ability to scale an image, and "
765
"add horizontal/vertical slides..."
766
msgstr ""
767
768
- #: includes/admin/class-modula-upsells.php:55
769
msgid "Need a new hover effect?"
770
msgstr ""
771
772
- #: includes/admin/class-modula-upsells.php:56
773
msgid "Upgrade to Modula Pro today to unlock 11 more hover effects..."
774
msgstr ""
775
776
- #: includes/admin/class-modula-upsells.php:66
777
msgid "Trying to add a video to your gallery?"
778
msgstr ""
779
780
- #: includes/admin/class-modula-upsells.php:67
781
msgid "Upgrade to Modula Pro today to add your stunning videos to your gallery..."
782
msgstr ""
783
784
#: includes/admin/modula-js-templates.php:29
785
msgid "Edit previous media item"
786
msgstr ""
@@ -871,116 +975,6 @@ msgstr ""
871
msgid "Saved."
872
msgstr ""
873
874
- #: includes/admin/tabs/addons.php:2
875
- msgid "Modula Addons"
876
- msgstr ""
877
-
878
- #: includes/admin/tabs/addons.php:3
879
- msgid "Reload Addons"
880
- msgstr ""
881
-
882
- #: includes/admin/tabs/addons.php:4
883
- msgid ""
884
- "Addons are used to extend the core functionality of Modula. You can "
885
- "automatically install an addon from this page if available."
886
- msgstr ""
887
-
888
- #: includes/admin/tabs/general.php:3
889
- msgid "Need some inspirations? Take a look at our demos."
890
- msgstr ""
891
-
892
- #: includes/admin/tabs/general.php:4
893
- msgid ""
894
- "We know how awesome and powerful Modula is but don't take our word for it, "
895
- "%stake a look at our demos%s tto see what you can do with our gallery "
896
- "plugin."
897
- msgstr ""
898
-
899
- #: includes/admin/tabs/general.php:7
900
- msgid "Still need help?"
901
- msgstr ""
902
-
903
- #: includes/admin/tabs/general.php:8
904
- msgid ""
905
- "We strive to make our plugins as user-friendly as possible but sometimes "
906
- "you might need to %scheck our documentation%s"
907
- msgstr ""
908
-
909
- #: includes/admin/tabs/general.php:12
910
- msgid ""
911
- "If you have any pre-sales questions, support requests or just want to say "
912
- "hi - please %scontact us now%s"
913
- msgstr ""
914
-
915
- #: includes/admin/tabs/modula.php:3
916
- msgid ""
917
- "Modula is now installed and ready to use! Get ready to build something "
918
- "beautiful. We hope you enjoy it! We want to make sure you have the best "
919
- "experience using our plugin and that is why we gathered here all the "
920
- "necessary information for you. We hope you will enjoy using Modula, as much "
921
- "as we enjoy creating great products."
922
- msgstr ""
923
-
924
- #: includes/admin/tabs/modula.php:4
925
- msgid "Version"
926
- msgstr ""
927
-
928
- #: includes/admin/tabs/upsell.php:12
929
- msgid "Lightgallery, Lightbox2, PrettyPhoto, Magnific Gallery, SwipeBox, FancyBox"
930
- msgstr ""
931
-
932
- #: includes/admin/tabs/upsell.php:17
933
- msgid "Hover Effects"
934
- msgstr ""
935
-
936
- #: includes/admin/tabs/upsell.php:18
937
- msgid "Choose from 12 different hover effects."
938
- msgstr ""
939
-
940
- #: includes/admin/tabs/upsell.php:24
941
- msgid "Build your own effects with these new customizations."
942
- msgstr ""
943
-
944
- #: includes/admin/tabs/upsell.php:29
945
- msgid "Filters"
946
- msgstr ""
947
-
948
- #: includes/admin/tabs/upsell.php:30
949
- msgid "Let visitors filter your gallery items with a single click"
950
- msgstr ""
951
-
952
- #: includes/admin/tabs/upsell.php:35
953
- msgid "Number of images"
954
- msgstr ""
955
-
956
- #: includes/admin/tabs/upsell.php:41
957
- msgid "Video Addon"
958
- msgstr ""
959
-
960
- #: includes/admin/tabs/upsell.php:42
961
- msgid "You asked we implemented, now you can add videos to your gallery."
962
- msgstr ""
963
-
964
- #: includes/admin/tabs/upsell.php:47
965
- msgid "Support"
966
- msgstr ""
967
-
968
- #: includes/admin/tabs/upsell.php:48
969
- msgid "You can access our dedicated support team."
970
- msgstr ""
971
-
972
- #: includes/admin/tabs/upsell.php:60
973
- msgid "Lite"
974
- msgstr ""
975
-
976
- #: includes/admin/tabs/upsell.php:61
977
- msgid "PRO"
978
- msgstr ""
979
-
980
- #: includes/admin/tabs/upsell.php:84
981
- msgid "Get The Pro Version Now!"
982
- msgstr ""
983
-
984
#: includes/class-modula-upgrades.php:14
985
msgid "Modula needs to upgrade the database, click %shere%s to start the upgrade."
986
msgstr ""
@@ -1055,26 +1049,26 @@ msgstr ""
1055
msgid "All Done!"
1056
msgstr ""
1057
1058
- #: includes/class-modula.php:58
1059
msgid ""
1060
"Hey, I noticed you have created %s galleries - that's awesome! Could you "
1061
"please do me a BIG favor and give it a 5-star rating on WordPress? Just to "
1062
"help us spread the word and boost our motivation."
1063
msgstr ""
1064
1065
- #: includes/class-modula.php:59 includes/libraries/class-modula-review.php:23
1066
msgid "Ok, you deserve it"
1067
msgstr ""
1068
1069
- #: includes/class-modula.php:60 includes/libraries/class-modula-review.php:24
1070
msgid "I already did"
1071
msgstr ""
1072
1073
- #: includes/class-modula.php:61 includes/libraries/class-modula-review.php:25
1074
msgid "No, not good enough"
1075
msgstr ""
1076
1077
- #: includes/class-modula.php:130
1078
msgid ""
1079
"You excedeed the limit of 20 photos. You can remove an image or %supgrade "
1080
"to pro%s"
@@ -1102,7 +1096,7 @@ msgid "https://wp-modula.com/"
1102
msgstr ""
1103
1104
#. Author of the plugin/theme
1105
- msgid "Macho Themes"
1106
msgstr ""
1107
1108
#. Author URI of the plugin/theme
1
+ # Copyright (C) 2019 MachoThemes
2
+ # This file is distributed under the GPLv3 or later.
3
msgid ""
4
msgstr ""
5
+ "Project-Id-Version: Modula 2.0.4\n"
6
"Report-Msgid-Bugs-To: "
7
"https://wordpress.org/support/plugin/modula-best-grid-gallery\n"
8
+ "POT-Creation-Date: 2019-02-15 13:09:17+00:00\n"
9
"MIME-Version: 1.0\n"
10
"Content-Type: text/plain; charset=utf-8\n"
11
"Content-Transfer-Encoding: 8bit\n"
35
"like YouTube and Vimeo to your website has never been easier."
36
msgstr ""
37
38
+ #: includes/admin/class-modula-addons.php:25
39
+ msgid "Modula Speed Up"
40
+ msgstr ""
41
+
42
+ #: includes/admin/class-modula-addons.php:26
43
+ msgid ""
44
+ "Allow Modula to automatically optimize your images to load as fast as "
45
+ "possible by reducing their file sizes, resizing them and serving them from "
46
+ "StackPath’s content delivery network."
47
+ msgstr ""
48
+
49
+ #: includes/admin/class-modula-addons.php:49
50
msgid "Upgrade to PRO"
51
msgstr ""
52
53
+ #: includes/admin/class-modula-addons.php:60
54
msgid "Feature Request"
55
msgstr ""
56
57
+ #: includes/admin/class-modula-addons.php:61
58
+ msgid "Cant't find what you’re looking for? Let us know by making a suggestion!"
59
msgstr ""
60
61
+ #: includes/admin/class-modula-addons.php:65
62
msgid "Send Feature Request"
63
msgstr ""
64
65
+ #: includes/admin/class-modula-admin.php:30
66
+ #: includes/admin/class-modula-cpt.php:74
67
+ msgid "Settings"
68
msgstr ""
69
70
#: includes/admin/class-modula-admin.php:33
71
#: includes/admin/class-modula-admin.php:57
72
+ #: includes/admin/class-modula-cpt.php:395
73
msgid "Extensions"
74
msgstr ""
75
108
#: includes/admin/class-modula-cpt-fields-helper.php:10
109
msgid ""
110
"Choose between creative or custom grid (build your own). Pick your favorite "
111
+ "lightbox style and easily design your gallery."
112
msgstr ""
113
114
#: includes/admin/class-modula-cpt-fields-helper.php:13
166
msgstr ""
167
168
#: includes/admin/class-modula-cpt-fields-helper.php:54
169
msgid "Loading effects"
170
msgstr ""
171
174
msgstr ""
175
176
#: includes/admin/class-modula-cpt-fields-helper.php:61
177
+ #: includes/admin/class-modula-cpt-fields-helper.php:326
178
msgid "Hover effect"
179
msgstr ""
180
190
msgid "Video Settings"
191
msgstr ""
192
193
+ #: includes/admin/class-modula-cpt-fields-helper.php:71
194
+ #: includes/admin/class-modula-cpt-fields-helper.php:85
195
+ msgid "PRO"
196
msgstr ""
197
198
#: includes/admin/class-modula-cpt-fields-helper.php:75
199
+ msgid "Style"
200
+ msgstr ""
201
+
202
+ #: includes/admin/class-modula-cpt-fields-helper.php:76
203
msgid "Style Settings"
204
msgstr ""
205
206
+ #: includes/admin/class-modula-cpt-fields-helper.php:82
207
+ msgid "Speed Up"
208
+ msgstr ""
209
+
210
+ #: includes/admin/class-modula-cpt-fields-helper.php:83
211
+ msgid "Optimize your images"
212
+ msgstr ""
213
+
214
+ #: includes/admin/class-modula-cpt-fields-helper.php:89
215
+ msgid "Responsive"
216
+ msgstr ""
217
+
218
+ #: includes/admin/class-modula-cpt-fields-helper.php:90
219
+ msgid "Responsive Settings"
220
+